基于μC/OS的汽车行驶记录仪软件平台设计
数据(存放360 h内汽车和司机的行驶状况)。 由于汽车的实时数据更新频繁,要求有较高的可靠性,在该课题中选用NOR型 FLASH存储器SST39VF1601作为数据存储器。该存储器是一个1M16的CMOS多功能FLASH MPF器件。SST39LF/VF160 具有高性能的字编程功能,字编程时间为 14us。该芯片有10,000个周期的耐用性和大于100年的数据保持时间,可广泛用于设计制造和测试等应用中。它的使用可显著增强系统的性能和可靠性,降低功耗。 2.5 实时时钟模块 汽车行驶记录仪需要对状态发生时对应的时间信息作相应的记录,以便后来的分析使用,所以需要详细的时间信息。LPC2292有内置的实时时钟RTC模块,但该模块不支持微控制器的断电模式,故需要对汽车行驶记录仪设计外部实时时钟模块。由于行驶记录仪对时间的实时性要求较高,并在系统断电时钟仍要运行,故选择具备掉电检测功能并且提供附加电池供电的时钟芯片DS1302。 DS1302是DALLAS公司推出的涓流充电时钟芯片,内含一个实时时钟/日历和31字节的静态RAM,可通过串行接口与微控制器进行通信,同步串行通信时仅需要3个口线。其实时时钟/日历电路可提供秒、分、时、日、期、月、年的信息,每个月的天数和闰年的天数可自动调整。该芯片工作时功耗低并支持备用电源供电。 2.6 键盘操作模块 由于LPC2292的GPIO口的引脚位置不连续,故该模块采用了ZLG7290来驱动44行列式小键盘。其中ZLG7290是I2C串行接口器件,能提供键盘中断信号,可以方便地与处理器相连。在44行列式小键盘上设置车速显示按键、里程显示按键、模拟量显示按键、USB数据传输按键、串口数据传输按键、驾驶员信息输入按键、时间的调整按键、打印输出按键。 2.7 显示模块 该系统中显示模块采用YLF240128点阵式液晶显示模块,被光源颜色为黄绿色,STN液晶屏。它的内嵌控制器为TOSHIBA公司的T6963C,外部显示存储器为32KB。该显示模块用于显示汽车行驶记录仪的显示瞬时车速、每分钟最高车速、每10 分钟内最高车速、时间、日期、总里程数、冷却水温度、节气门的位置等行驶数据信息。 2.8 通信接口模块 该课题中所设计的通信接口有USB标准接口和标准RS232CD串行接口以及 CAN总线接口。其中USB标准接口和标准RS232CD串行接口可以实现由PC机向汽车行驶记录仪主机的数据下传功能和由记录仪主机向PC机的数据上载功能。这样能方便驾驶员的身份识别以及发生交通事故时获取汽车的行驶数据,从而有利于对交通事故的分析。USB标准接口采用PDIUSBD12器件,该器件完全符合USB1.1的规范。RS232CD串行接口部分采用SP3232进行RS232的电平转换,SP3232是3V电源的RS232转换芯片。 随着总线技术的发展,汽车上很多电子控制系统都带有CAN接口。为了方便汽车行驶记录仪与汽车上的带有CAN接口的电子控制系统之间进行通信,故给该系统增加了CAN接口。由于LPC2292带有两路CAN通道,故在CAN总线接口电路的设计时只需考虑信号的隔离和CAN总线收发器的设计。LPC2292的CAN控制器的引出端TD1、P0.25RD1分别经过高速光耦TLP113隔离后与CAN总线收发器PCA82C250的TXD、RXD相连。该CAN总线接口可与汽车上的其它CAN节点进行数据的通信。 3系统的软件设计 本课题中汽车行驶记录仪软件部分所要实现的功能是对汽车的行驶状态数据的定时采集、存储、与PC机进行串口和USB通信、与汽车的其它CAN节点间的通信、LCD显示、键盘输入、打印输出等功能。该系统的主程序流程图如图2所示。 图2 系统的主程序流程图 汽车行驶记录仪有两种工作状态。汽车运行时,记录当前驾驶员的驾驶信息,如速度、里程、驾车连续时间、超速记录、停车时间等,并在汽车超速时提供蜂鸣器报警。汽车停止时,经过键盘扫描程序选择采用USB或RS232这两种通信模式和PC机进行数据交换,数据既可以上载也可以下传。 嵌入式操作系统是设计完成复杂功能的硬件和软件,并使其结合在一起的计算机系统。嵌入式系统可提高系统的可靠性,提高产品的开发效率并能缩短开发周期。目前常用的操作系统有Linux,Windows CE,VxWorks,OSE,Nucleus,eCos,UC/OS-Ⅱ等。UC/OS-Ⅱ是一个源码公开、可移植、可固化、可裁减及占先式的实时多任务操作系统。UC/OS-Ⅱ通过联邦航空局商用航空器认证,自1992年问世以来,以被应用到数以百计的产品中。由于UC/OS-Ⅱ的上述优点,在本课题中采用UC/OS-Ⅱ操作系统。 汽车行驶记录仪的软件编写过程中采用模块化程序设计的方法,建立不同的任务,对任务进行优先级的分配,并在任务之间采用信号量和消息邮箱这两种通信机制。UC/OS-II的文件系统结构包括核心代
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)
