《基于单片机的超速报警器的设计毕业论文.doc》由会员分享,可在线阅读,更多相关《基于单片机的超速报警器的设计毕业论文.doc(50页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、本科毕业设计题目:基于单片机的超速报警器的设计 学 院:信息科学与工程学院专 业:自动化学 号:201004134143学生姓名: 指导教师: 日 期:二一四年六月 摘 要随着汽车工业和高速公路建设的发展,每年由各种交通事故造成的人员伤亡数目惊人,造成了巨大的经济损失。据统计,造成各种交通事故的主要原因是车辆的超载和超速行驶,而后者随机性很大,纠章困难,并且由于中国公路条件复杂,不同等级的公路允许的最高速度不同,现有的限速装置难以适应这种情况。针对这种情形,开发具有智能超速报警功能的车载系统具有重要意义。本文从驾驶员自身安全角度出发,设计了一种可设定阈值的汽车超速报警系统。该系统采用16位单片
2、机MC9S12XS128为控制核心,可通过按键在液晶屏上设定报警阈值和显示汽车实际速度,利用8位A/D转换芯片和霍尔传感器采集车轮转速,通过IIC总线实现与单片机的双向通信,具有灯光闪烁报警和语音提示报警这两种预警机制,对可能的突发事件做到防患于未然。根据目的和要求,本次设计利用万用板搭建了各个模块的硬件电路,并且通过编写代码实现了系统的具体功能,该系统能够长时间稳定的运行,达到了设计要求。该系统结构简单,可靠性高,操作方便,可广泛应用于摩托车、汽车等各种机动车辆,为人们的安全出行提供有力保障。关键词: 单片机; 液晶屏; IIC总线; 语音; 超速报警AbstractWith the dev
3、elopment of auto industry and highway construction, each year the number of casualties caused by all kinds of traffic accidents is amazing, caused a great economic loss. According to statistics, the main causes of traffic accidents is the vehicle overloading and speeding, the latter is very random c
4、orrecting formidably, and because of Chinese road condition is complex, the allowed highest speed of different grade highways are different, the current limiting device is difficult to adapt to the situation. Aiming at this situation, to develop the vehicle system with an intelligent speed alarm fun
5、ction is of great significance. From drivers own security perspective, this paper designs a car speeding alarm system which can set the alarm threshold. The system adopts the 16-bit single chip computer MC9S12XS128 as the control core, by which can set alarm threshold through the button on the LCD p
6、anel and show the actual motor speed, using 8-bit A/D converter chip and holzer sensor to collect the wheel speed ,through the IIC bus to implement the two-way communication with single-chip microcomputer, with lights flashing alarm and voice alarm the two early warning mechanism, for possible emerg
7、encies do nip in the bud.According to the purpose and requirements, the design uses universal board to set up hardware circuit of each module, and by writing code to realize the function of the system, the system can run stably for a long time ,which has reached the design requirements.The system ha
8、s the advantages of simple structure, high reliability, convenient operation, and can be widely applied to motorcycles, cars and other motor vehicles providing a strong guarantee for peoples safely traveling.Key words: single-chip microcomputer; LCD panel; IIC bus; voice; over-speed alarm目 录1 绪论- 1
9、-1.1 概述- 1 -1.2 各章主要内容简介- 1 -2 系统总体方案设计- 2 -2.1 系统设计需求分析- 2 -2.2 主控芯片的选择- 2 -2.3 超速报警器的工作原理- 3 -2.3.1 车轮转速检测原理- 3 -2.3.2 按键输入与液晶显示原理- 4 -2.3.3 语音报警原理- 5 -2.4 系统整体框架- 5 -2.4.1 系统运行流程简介- 5 -2.4.2 系统整体结构框图- 6 -3 系统硬件设计与实现- 7 -3.1 整体电路设计框图- 7 -3.2 电源模块的设计- 7 -3.3 MC9S12XS128单片机最小系统设计- 8 -3.3.1 电源部分- 9 -
10、3.3.2 时钟部分- 10 -3.3.3 复位电路与BDM接口- 10 -3.4 速度检测模块- 10 -3.4.1 霍尔传感器- 10 -3.4.2 A/D转换器PCF8591T- 11 -3.5 人机交互模块- 13 -3.5.1 按键部分- 13 -3.5.2 OLED显示部分- 13 -3.6 语音报警模块- 14 -4 系统软件设计- 17 -4.1 系统程序框架图- 17 -4.2 初始化程序设计- 18 -4.2.1 系统时钟模块- 18 -4.2.2 TIM定时模块- 20 -4.3 人机交互设计- 21 -4.4 IIC总线读取A/D转换值- 22 -4.5 语音芯片的驱动
11、- 22 -5 系统开发平台与辅助调试工具- 24 -5.1 系统硬件开发平台- 24 -5.2 系统软件开发平台及调试工具- 25 -6 总结- 27 -参考文献- 28 -致谢- 29 -附录A- 30 -IV1 绪论1.1 概述 汽车超速行驶是造成机动车道路交通事故的主要原因,据国家权威部门统计,2006年度我国因汽车超速造成12000多人死亡,同时所造成的伤残人数更为惊人,在给国家、企业和个人造成巨大经济损失的同时,留给事故受害者亲人的痛苦和遗憾,更是无法用金钱来衡量的。 尽管汽车上都安装了速度表盘,司机可以通过速度表盘知道当前汽车的速度,但是汽车的驾驶有时候是一个长时间、高强度的工作
12、,很长时间的连续驾驶可能会使司机因疲惫而麻痹超速问题。为了能够及时的在汽车超速时提示和警告司机,从而保证行车的安全,避免因超速问题带来的道路交通事故,给汽车设计和安装上超速报警器是大有裨益的。 汽车超速报警器是在汽车行驶过程中,通过速度传感器测出当前车速,当超过驾驶者设计的最高时速时,发出报警信号,提醒司机减速行驶。本设计中,将汽车超速报警器与单片机联系在一起,器件操作简单,成本更低廉,更能被广大消费者所接受。该系统可以有效预防和杜绝汽车超速行驶,避免或减少道路交通事故的发生,培养驾驶员遵章守法驾驶的良好习惯,减少车辆管理压力,把人、车和安全三者有机的结合起来,对落实“两部一局”的通告要求,保
13、障道路交通安全有重要意义。1.2 各章主要内容简介 第一章 绪论:简要介绍了汽车超速行驶的背景以及超速报警器设计的重要意义。 第二章 系统总体方案设计:概要叙述了超速报警器的设计原理,将控制系统分解为具体的模块,分别分析在各个模块中所设计的原理知识以及采取的大致方案。 第三章 系统硬件设计与实现:概述了超速报警器系统的硬件电路组成,并具体分析各模块电路的设计思路与原理,以及在实际调试中所遇到的问题和采取的解决方案。 第四章 系统软件设计:概述了超速报警器系统的控制思想,各模块功能的具体实现。 第五章 开发与调试:介绍了所用到的硬件和软件开发环境,以及在调试过程中所采用的各种辅助手段等。 最后总
14、结所设计的超速报警器系统的实用性和性能指标,并指出其中的不足和值得改进的地方。2 系统总体方案设计2.1 系统设计需求分析根据设计要求,为了实现车速报警的基本控制功能,系统的硬件电路应由单片机控制部分、数据采集部分、人机界面部分以及光控、声控报警部分组成。考虑到系统的运行场所是在汽车上,而汽车又时刻处于高速的动态运动过程中,需适应各种恶劣多变的环境,因此在单片机的选型上要注重其数据的快速处理性能、稳定性和芯片成本。数据采集部分由车速传感器,信号的前级处理和A/D转换芯片组成。为了能够直观的显示汽车的当前运行速度和调节汽车超速报警器的报警阈值,需要设计人机交互界面,由按键输入和液晶显示部分组成。
15、最后一个重要的组成部分则是报警电路,根据设计要求,当超限20%时,可由语音报警来实现,及时的提醒司机减速行驶,语音报警电路由扬声器、SD卡及语音解码芯片组成1。单片机就像一个大脑,数据采集部分如同人的眼睛,报警部分好似人的嘴巴,一个灵活的头脑时刻盯着驾驶员的一举一动,当出现危险的驾驶行为式,及时的纠正驾驶员的错误,超速报警器永远陪伴在驾驶员左右,一起安全出行。2.2 主控芯片的选择目前世界上的单片机或则微控制器的种类繁多,单片机供应商也有很多,例如Freescale、ATMEL、NXP、ST、Microchip、Infineon、TI、NEC等,其中,Freescale(飞思卡尔)公司的8位、
16、16位、32位单片机性能稳定、品种齐全,针对不同的应用领域可以选择不同性能、型号的单片机。MC9S12XS系列单片机是其高性能单片机MC9S12XE系列单片机的经济性、高效性产品的补充,带有一套为汽车车身和乘客舒适度应用而优化设计的改进芯片上外围设备、存储器等模块,可应用于汽车座椅控制模块、空调控制模块、各种车身控制模块等的设计应用。MC9S12XS128是S12X家族中的一个成员。该器件包括大量的片上存储器和外部I/O。MC9S12XS128是一个16位器件,由16位中央处理单元(CPU12X)、128KB程序Flash(P-Flash)、8KB RAM、8KB数据Flash(D-Flash
17、)组成片内存储器。同时还包括2个异步串行通信接口(SCI)、一个串行外设接口(SPI)、一个8通道输入捕捉/输出比较(IC/OC)定时器模块(TIM)、16通道12位A/D转换器(ADC)和一个8通道脉冲宽度调制模块(PWM)。MC9S12XS128具有91个独立的数字I/O口,其中某些数字I/O口具有中断和唤醒功能。另外还具有一个CAN 2.0 A/B标准兼容模块(WSCAN)2。传统的51系列单片机,价格低廉,性能稳定,深受广大电子设计爱好者所喜欢。但与飞思卡尔的16位单片机相比,体积过大,资源不足,运算速度也较慢,不适于实际的应用之中,因此,本次设计选择的主控芯片是飞思卡尔的16位单片机
18、MC9S12XS128。2.3 超速报警器的工作原理2.3.1 车轮转速检测原理 方案一(磁钢+霍尔传感器)当有一块通有电流的金属或半导体薄片垂直地放在磁场中时,薄片的两端就会产生电位差,这种现象称为霍尔效应。两端具有的电位差值称为霍尔电势U,其表达式为:U=K*I*B/d,其中K为霍尔系数,I为薄片中通过的电流,B为外加磁场(洛伦兹力)的磁感应强度。由此可见,霍尔效应的灵敏度高低与外加磁场的磁感应强度成正比的关系。因此,可以采用霍尔传感器和磁钢,利用二者在磁场中相互作用的原理来检测汽车轮胎的转速,检测模型如图2.1所示。图2.1 检测模型磁场由磁钢提供,所以霍尔传感器和磁钢需要配对使用。在非
19、磁材料的圆盘(汽车轮胎)边上粘贴一块磁钢,霍尔传感器固定在圆盘边缘附近,由于霍尔传感器的检测距离有限,因此霍尔传感器应尽量贴近磁钢使检测灵敏可靠。圆盘每转动一圈,霍尔传感器便输出一个脉冲。通过单片机测量产生脉冲的频率就可以近似得出圆盘的转速3。方案二(光电编码器)增量式编码器的工作原理如图2.2所示。它由主码盘、鉴向盘、光学系统和光电变换器组成。在图形的主码盘(光电盘)周边上刻有节距相等的辐射状窄缝,形成均匀分布的透明区和不透明区。鉴向盘与主码盘平行,并刻有a、b两组透明检测窄缝,它们彼此错开14节距,以使A、B两个光电变换器的输出信号在相位上相差90。工作时,鉴向盘静止不动,主码盘与转轴一起
20、转动,光源发出的光投射到主码盘与鉴向盘上。当主码盘上的不透明区正好与鉴向盘上的透明窄缝对齐时,光线被全部遮住,光电变换器输出电压为最小;当主码盘上的透明区正好与鉴向盘上的透明窄缝对齐时,光线全部通过,光电变换器输出电压为最大。主码盘每转过一个刻线周期,光电变换器将输出一个近似的正弦波电压,且光电变换器A、B的输出电压相位差为900,光电编码器结构如图2.2所示。图2.2 光电编码器光电编码器的光源最常用的是自身有聚光效果的发尤光一二傲极。管目。当宣光尤电电码僻盘盈随睫上工作作:轴舢一一起越转将动硎时Hq,光尤线玟透过光电码盘和光栏板狭缝,形成忽明忽暗的光信号。光敏元件把此光信号转换成电脉冲信号
21、,通过信号处理电路后,向数控系统输出脉冲信号,也可由数码管直接显示位移量4。其输出波形如图2.3所示。图2.3 码盘输出波形根据设计要求,需要信号的前级处理具有A/D转换功能,考虑到霍尔传感器的输出电压为模拟信号而单片机从光电码盘处直接获取的为数字信号,因此本次设计采用了方案一。2.3.2 按键输入与液晶显示原理采用轻触微动开关,通过设计逻辑电路使其在无干预和有干预状态下具有0、1两种逻辑电平。利用单片机的不断查询方式,判断有无按键按下。由于机械按键在按动过程中不可避免的出现机械抖动,当判断出有键按下时,利用一个1020ms的软件延时消除机械抖动,从而让单片机可靠地判断出按键的当前状态。显示部
22、分采用龙丘公司生产的12864 OLED显示屏。OLED(Organic Light Emitting Display,有机电致发光显示,又称“有机EL显示”)是指有机半导体材料和发光材料在电场驱动下通过载流子注入和复合导致发光的现象。其原理是用ITO透明电极和金属电极分别作为器件的阳极和阴极,在一定电压驱动下,电子和空穴分别从阴极和阳极注入到电子和空穴传输层,电子和空穴分别经过电子和空穴传输层迁移到发光层,并在发光层中相遇,形成激子并使发光分子激发,后者经过辐射弛豫而发出可见光。辐射光可从ITO一侧观察到,金属电极膜同时也起了反射层的作用,根据这种发光原理而制成显示器被称为有机发光显示器,也
23、叫OLED显示器。所用模块的尺寸约29.5mm*29.5mm,具有128*64的较高分辨率。每个像素点可以写入逻辑电平1来点亮,通过字模处理软件对每个汉字生成16*16、每个西文生成8*16的点阵数据,由单片机控制刷新和显示。2.3.3 语音报警原理语音报警模块由扬声器、SD卡及音频解码芯片构成。扬声器中的线圈通电时,在线圈附近会产生磁场,磁场与扬声器前端的磁铁相互作用,使得线圈以一定的频率振动从而发出声音来。语音报警的过程需要扬声器不断的发出声音来,因此需要对播报内容进行一个事先的存储,即将其存放在SD卡中。要实现音频文件的输出,若单独由单片机来解码MP3文件是很困难的,因为从处理速度和资源
24、各个方面都很难满足要求,因此需要采用专门的MP3/ADPCM解码芯片,通过单片机驱动的方式将SD卡中的AD4格式的音频文件解码后由扬声器自动的播放出来,从而实现语音报警5。模块结构如图2.4所示。图2.4 语音报警模块 2.4 系统整体框架2.4.1 系统运行流程简介车载超速报警器系统在上电复位后开始正常的工作,首先对相关I/O口、OLED屏、定时器模块进行初始化设置,然后对需要显示的汉字字模数据进行坐标变换(方便正常显示)并用一个二维数组存储下来。接着允许中断,打开定时器。采用2.5ms的控制周期,在一个控制周期内不断的从A/D转换器上读取当前的电压值,按一定的算法将其转化为汽车轮胎的实际转
25、速,并判断是否超限,若超限,超限是20%。当超限20%时,驱动语音模块的音频解码芯片,播放语音提示“超速危险,请减速行驶。”同时,在主函数的循环中,不断的扫描按键和刷新OLED屏来实时的显示当前的车速。当确认有按键按下时,OLED屏上的显示内容自动切换到人工设置报警阈值的界面,完成相应三个阈值的设置。通过连续不断的周期性控制,从而达到我们宏观上看到的控制效果。2.4.2 系统整体结构框图根据本次毕业设计的需求分析以及对各个模块选型的最终确定,系统整体结构框架如图2.5所示。图2.5 整体结构框架3 系统硬件设计与实现3.1 整体电路设计框图根据系统整体结构框图,利用万用板搭建硬件电路,系统整体
26、的电路设计实物如图3.1所示。 图3.1 整体电路设计实物图3.2 电源模块的设计作为整个汽车超速报警器系统的能量供给站,电源模块发挥的作用就如同人的心脏一样,持续不断地给其四肢和大脑供应着能量。系统架设在汽车上面,随时提醒司机要安全行驶,关乎着驾驶员的生命安全,可谓意义重大、不容有失。因此,电源模块的设计显得尤为重要,需具备较强的抗干扰能力和稳定性以满足系统长时间、持续性的工作要求。根据系统各个模块的供电要求,所设计的主板电源如图3.2所示。 图3.2 主板电源 考虑到系统实际的功耗很低(1W)以及ASM1117芯片的负载能力,设计用到了ASM1117 5.0V与ASM1117 3.3V共两
27、片稳压芯片。其中稳压输出为5.0V的ASM1117芯片用于单片机最小系统、按键输入、OLED显示及AD转换芯片的供电需求。而由于语音报警模块的音频解码芯片的供电电压为3.3V,所以在设计中将5V电压再次经过降压得到3.3V的稳定输出电压。通过示波器的观测,稳压电路的输出电压纹波很小,电压稳定,完全能够满足本次设计要求6。3.3 MC9S12XS128单片机最小系统设计“麻雀虽小,五脏俱全”,要想使其有优异的表现,也同样要保证它具有一个健全的系统,作为整个超速报警器系统的核心控制单元,MCU的稳定性决定了整个系统能否稳定、持续的工作。在设计之前,对系统做了详细的需求分析,从主控芯片到电源部分,到
28、传感器部分,到驱动部分,再到外设接口,对器件选择和设计原理都做了详细研究,我们在设计中,尽可能的考虑到了其抗干扰能力和稳定性,又根据实际使用情况不断尝试修改完善,最终确定了整个系统的硬件电路方案。所设计的最小系统的硬件电路原理图如图3.3所示。定性,图3.3 最小系统该模块可以分为以下三个小部分:3.3.1 电源部分S12单片机片内CPU使用1.8V电压,闪存操作使用2.8V电压,为了提高抗干扰能力,片外I/O口可使用5V电压,较低的片内电压使CPU运算速度快、功耗低;较高的硬件电路设计I/O电平有利于抵抗外界干扰,故S12单片机特别适合于那些工作环境恶劣的控制系统。由于S12单片机内部集成了
29、电压调整器模块,电压调整器模块产生单片机内部需要的其他电压,因此,S12单片机的供电电压范围较大(+3.3V+5.0V)。电压调整为3组输出,2组1.8V和1组2.8V,供单片机内部不同模块使用。1组1.8V供CPU内核使用;另一组1.8V供时钟电路的锁相环使用,由于锁相环电路的高频噪声高,故和CPU分开供电;2.8V的一组是为闪存供电的。两组外部电源端VDDX1和VDDX2为不同的I/O模块供电。分多个电源、地引脚给片内不同模块供电,可减小模块间的相互干扰。在硬件电路设计中,在尽量靠近几个电源端引脚的位置增加了去耦电容,以降低电源噪声。这些电源端、地端最终还是连接在一起的,即外部提供的+5V
30、电源。为了稳定不同模块的不同电压,需要外接一些电容,这些电容可以分为两类,电容值较大的作为存储电容,主要作用是消除单片机在突发运行时产生的尖峰电压;另一类容值较小的电容作为去耦电容,主要用于抑制单片机在高速运行时产生的高频噪声。3.3.2 时钟部分对于S12X系列单片机,虽然单片机内部集成有RC震荡电路产生的时钟,但RC时钟的频率不够稳定,会随温度变化,频率在1-5.5MHZ之间,主要用来在检测到主时钟电路故障时起作用,靠自有时钟单片机就能正常运行,这种运行模式被称为自时钟模式。为了实现CPU的高速运行,单片机需要一个更高的时钟频率,这个更高的时钟频率是由单片机片内的压控振荡器(VCO)产生的
31、,VCO可以有很高的频率,但仍需要稳定频率的电路。为了给单片机提供一个可设定频率并且稳定的工作时钟,单片机需要外接一个石英或陶瓷振子,产生一个频率稳定的时钟信号,再通过片内的锁相环电路(PLL)将时钟频率锁定7。在设计中使用了16MHZ的石英晶振,并在其两侧分别串联了一个22PF的去耦电容。3.3.3 复位电路与BDM接口复位电路与BDM接口的电路原理图如图3.4所示。图3.4 复位电路与BDM接口在上电时,若电源电压未达到预期值,RESET端保持低电平;当电源电压达到预期值后,RESET端输出高电平,单片机就会自动复位运行。手动复位时,按下上图中的手动复位按钮RESET端保持低电平;松开手动
32、复位按钮后,RESET端变成高电平,也能达到复位的目的。BDM接口为下载程序和在线仿真调试的接口,由六个引脚组成,在制作时需要注意的是不要将其两侧画反。3.4 速度检测模块3.4.1 霍尔传感器霍尔器件是一种磁传感器,是半导体材料制成的一种薄片,它是一种磁敏感器件,当它处于磁场中时,会产生电动势。在垂直磁场平面方向上施加外磁场、在平行于平面方向上施加外电场,则使电子在磁场中运动,结果在器件的两个侧面之间产生霍尔电势,霍尔电势的大小和外磁场以及电流大小成正比。利用它们可以检测磁场及其变化,可在各种与磁场有关的场合中使用。霍尔器件正是以霍尔效应为其工作基础,霍尔效应的检测原理如图3.5所示。图3.
33、5 霍尔效应原理霍尔器件具有很多优点,它们的结构牢固,体积小,重量轻,寿命长,安装方便,功耗小,频率高(可达1MHZ),耐振动,不怕灰尘、油污、水汽及盐雾等的污染获腐蚀。霍尔线性器件的精度高、线性度好;霍尔开关器件无触点、无磨损、输出波形清晰、无抖动、无回跳、位置重复精度高(可达um级)。取用了各种补偿和保护措施的霍尔器件的工作温度范围宽,可达-55+1508。几经斟酌考虑,选用了44E开关型霍尔集成元件。其硬件电路如图3.6所示。图3.6 测速电路3.4.2 A/D转换器PCF8591TPCF8591是一个单片集成、单独供电、低功耗、8-bit CMOS数据获取器件。PCF8591具有4个模
34、拟输入、一个模拟输出和一个串行IIC总线接口。PCF8591的三个地址引脚A0,A1和A2可用于硬件地址编程,允许在同个IIC总线上接入8个PCF8591器件,而无需额外的硬件。在PCF8591器件上输入输出的地址、控制和数据信号都是通过双线双向IIC总线以串行的方式进行传输9。芯片内部结构如图3.7所示。图3.7 芯片内部结构图PCF8591T芯片从霍尔传感器处采集模拟电压信号,并通过IIC总线实现与单片机间的双向通信,其电路原理如图3.8所示。图3.8 PCF8591T电路原理图其中,AIN0AIN3为模拟信号输入端。A0A2与GND相连并接地,从而确定了芯片的硬件地址。VDD、VSS为芯
35、片的电源端,接5V。SDA、SCL分别作为IIC总线的数据端和时钟端,与单片机的两个具有输入/输出功能的I/O引脚相连,实现数据的串行传输功能。3.5 人机交互模块3.5.1 按键部分根据设计要求,为了能够在液晶显示器上直观的显示车速的具体数字同时还可以通过人工输入的方式设置三个报警阈值,硬件电路上采用了6个轻触微动开关。一个作为翻页键,一个作为换行键,剩余四个用于设置报警阈值,实现+1,-1,+10,-10的功能。按键部分的电路原理如图3.9所示。图3.9 按键输入电路其中Ka1,Ka2,Ka3,Ka4,Ka5,Ka6分别接单片机的PH3,PH2,PH1,PH0,PE3,PE2引脚。当有按键
36、按下时,引脚上电压为高电平状态,当无按键按下时,这六个I/O口均处于低电平状态。3.5.2 OLED显示部分在液晶显示上采用了由北京龙丘公司生产的OLED液晶显示屏。因为具备轻薄、省电等特性,因此从2003年开始,这种显示设备在MP3播放器上得到了广泛应用,而对于同属于数码类产品的DC与手机,此前只是在一些会展上展示过采用OLED屏幕的工程样品。自2007年后,其寿命得到很大提高,具备了许多LCD不可比拟的优势。其OLED屏如图3.10所示。图3.10 龙丘OLED屏该OLED模块有7个引脚,用于与单片机间的通信。PCB板的七个引脚从左到右依次为GND(接地)、VCC(接+5V电源)、D0(C
37、LK时钟)、D1(MISO数据)、RES(复位)、DC(数据/命令)、CS(片选,已接地,不用接)。OLED屏与单片机间的接口电路原理图如图3.11所示。图3.11 OLED接口电路其中,DIN、CLKK、CE、DC端分别接单片机的PS5、PS4、PS7、PS6引脚10。3.6 语音报警模块根据设计要求,当超限小于20%时,采用语音报警。由于语音报警需要预先存储一段音频报警文件,为了尽可能的不占用单片机有限并且宝贵的内存资源,设计中用到了具有128Mb存储容量的SD卡,存储支持播放的4Bit ADPCM格式文件。通过音频解码芯片读取文件,音频解码芯片和SD卡的工作电压为3.3V,不插SD卡时的
38、静态电流为16uA,支持单片机控制和按键控制,可以调用任意段落的语音进行播放11。TF卡语音模块可应用在汽车电子(防盗报警器、倒车雷达、GPS导航仪、电子狗等)、智能家居系统、家庭防盗报警系统、理疗器人声提示、音乐播放、家电(电磁炉、电饭煲、微波炉)、娱乐设备、学习模型(早教机、儿童有声读物)、智能交通设备(收费站、停车场)、通信设备(电话)、工业控制领域(电梯、工业设备)、玩具等。该语音模块的实物如图3.13所示。图3.13 语音模块实物图关于各个引脚的功能描述,如表3.1所示。封装引脚引脚标号功能描述1/PREVIOUS上一曲,可按键触发2NC空3CLK时钟脉冲端4DATA数据命令输入端5
39、BUSY播放忙信号输出端6/P/S播放/停止7NEXT下一曲8VCC电源正极(3.3V)9GND电源负极10/RESET复位端11SPK+音频输出(+)12SPK-音频输出(-)13NC空14AUDIO内置反馈DAC表3.1 功能描述 根据设计要求以及所采取的设计方案,该模块的硬件电路原理如图3.14所示。图3.14 语音模块电路原理图其中,模块的CLK、DATA端分别与单片机的PA6、PA7引脚连接,当做IIC总线的时钟端和数据段,实现单片机与模块的IIC通信,将采集到的数字量数据经过串行传输传递给单片机。4 系统软件设计软件作为整个汽车超速报警器系统的灵魂,其编写将直接关系到系统能否正常工
40、作。各模块功能的实现不仅需要硬件电路的支撑,还需要软件编写的合理可行。在设计的2.5ms控制周期下,对系统信号处理及硬件电路驱动在时间上做一个合理分配,保证各模块的功能既能顺利实现又不相互干扰。本章将主要从单片机模块初始化、人机交互、IIC总线、语音模块驱动等几个方面来详细的论述。4.1 系统程序框架图为了保证超速报警器的稳定运行要求,我们需要使整个系统的控制具有良好的实时性和周期性,除了既要能实现功能的完整性,还要使其在安排的时间里做完所有的事情而又不影响其他事件的执行。因此,设计时采用了定时器的中断功能。在程序执行时,从主函数开始,首先完成对系统底层的初始化设置,然后开启定时器中断,进入到
41、主函数的for循环中。此后,程序会一直处于for循环中执行,除非中断触发,程序才会转入到中断函数中去执行,但在中断函数执行完毕后,程序会返回到刚才中断前的for循环中的断点处继续执行下去。接下来,我们需要对各模块功能的实现做一个时间上的安排。从前一段的论述中可知,for循环中执行的内容会经常性的被打断,而中断函数则会被定时执行,并且最多可有2.5ms的执行时间。因此,对于那些不太重要或者要求不太高的辅助函数,可以将之放在for循环中去执行,这样可以节省系统更多更为宝贵的时间去执行更为重要的事情。因此,在设计及编写上将按键读取、OLED显示放在了for循环中,而将IIC总线的驱动、读取A/D转换
42、值及灯光报警的实现放在了中断函数中。由于语音模块的驱动时间较长(300400ms),很明显,中断函数是执行不完的,也没这个必要,通过若干个周期的中断函数延时(设置变量计数),即可在for循环中实现,并且也不会影响到按键的读取及OLED屏的正常显示。这样,就能在时间上对各模块功能的实现做到很好的分配。整个程序执行过程由于没有外部中断的干预,从宏观上来看,其实现是按时间顺序无限执行的。即首先完成系统的初始化设置,再通过人机交互界面利用按键对报警阈值做好相应的设置,系统即开始正式执行主控程序部分,采集汽车车轮转速,并实时的在液晶显示屏上显示出当前的车速,监控车速,当有超速行为时,相应的采用灯光闪烁报
43、警或者语音提示报警12。系统控制的总体结构图如图4.1所示。图4.1 系统总体结构图下面将分块逐步介绍各个软件模块。4.2 初始化程序设计4.2.1 系统时钟模块 MC9S12XS128的时钟和复位发生器(Clocks and Reset Generator,CRG)模块提供了锁相环(PLL)功能,单片机使用PLL功能能够获得更高的总线频率,这对于需要提高单片机运行速度的场合是十分必要的。单片机的内部锁相环(IPLL)具有以下基本特征:时钟参考分频器;时钟后分频器;可配置的内部滤波器(无外部引脚);减少抖动和降低辐射的可选频率调制模块;退出或进入锁定条件可产生中断请求。CRG时钟合成寄存器(S
44、YNR),如表4.1所示。表4.1 S12XECRG合成寄存器Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0 读/写VCO1VCO0SYNR5SYNR4SYNR3SYNR2SYNR1SYNR0复位值00000000读:任何时刻;写:除CLKSEL寄存器中的PLLSEL=1的任何时刻。VCO1,VCO0:这两位用于确定压控振荡器VCO的增益以获得频率最佳稳定性并锁定。为了IPLL正常工作,必须根据表4.1中的实际VCO频率来配置这两位值,如表4.2所示。表4.2 VCO时钟频率选择VCOCLK频率范围/MHZVCOFRQ1:0VCOCLK频率范围/MHZVCOFRQ1:032f
45、vco4800保留1048fvco800180fvco12011CRG时钟参考分频寄存器(REFDV),如表4.3所示。表4.3 CRG时钟参考分配寄存器Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0读/写REFF1REFF0REFD5REFD4REFD3REFD2REFD1REFD0复位值00000000读:任何时刻;写:除CLKSEL寄存器中的PLLSEL=1的任何时刻。REFFRQ1,REFFRQ0:这两位用于配置PLL内部滤波器以获得频率最佳稳定性并锁定。为了IPLL正常工作,必须根据表4.3中的实际REF时钟频率设置这两个值,如表4.4所示。表4.4 参考时钟频率选择REFCLK频率范围/MHZREFFRQ1:0REFCLK频率范围/MHZREFFRQ1:01fref2006fref121021211PLL时钟频率以及由PLL产生的MCU总线时钟频率由下列公式计算得来: