基于LPC2104型CPU的汽车行使记录仪
相结合的方式进行数据存储和记忆,即用Flash固态存储采集的汽车状态数据,用EPROM动态存储Flash最新存储的扇区号和存储地址。闪速存储器选用美信公司生产的MX29F800BTC型,EPROM选用Microchip公司的24C32型,同时利用LPC2104内嵌的I2C总线接口与 24C32进行通信。 本系统工作时,首先由LPC2104主控CPU从24C32中读取Flash最近存储的扇区号和存储地址,然后以此地址为参照,以这个地址的一个地址值为 Flash的起点地址,以这个地址的下一个地址值为Flash的起点地址,按顺序进行存储。Flash需要存储的数据有16路开关量信息、8路模拟量信息有及时钟信息。本系统利用二字节(共16位)存储16路开关量信息,利用8个字节的存储空间存储8路模拟量信息。为了节省存储空间,系统并非每次存储采集数据时都存储时间标志。由于数据采集以固定的秒间隔来进行,因此,系统只是在刚开始运行时和每个扇区的起始位置采集并存储时钟信号作为时间标记,而后面数据的采集时间则以这些时间标记为参照。
系统存储的软件流程如图4所示。在本系统重装上电运行时,需要记录开始采集的时间信息。由于系统电源是由汽车电源提供的,所以开始采集的时间也就是汽车启动的时间,以此作为汽车开始行驶的时间标记。在程序运行中,由主程序设定一个汽车启动标志,在第一次写数据之前汽车启动标志有效,然后首先判断当前存储地址是否有某个扇区的首地址,如果是,则根据写扇区的要求在第七个字节开始处存储当前的时钟信号,否则,在当前存储地址处开始用10个字节存储当前的时钟信号,记录汽车开始运行的起始时间,然后清除汽车启动标志。扇区开始地址处记录的时间信息是否是汽车开始运行的起始时间,可根据前一个扇区记录的时间信息进行判断。若前后两个扇区记录的数据是连续的,则后一个扇区头记录的时间信息不是表示汽车开始运行的起始时间,否则情况相反。 4 串口通信模块设计 计算机可以通过串口随时读取行驶记录仪存储的数据。行驶记录仪与计算机之间的串口通信遵循RS232协议。串行通信时,LPC2104依次将Flash中存储的数据读出并经UART0串口发出,然后经过MAX232电平转换器送给计算机,再由计算机通过串口接收该数据。 图5 5 结束语 汽车行驶记录仪利用微机通过串口接收汽车行驶的数据,并对数据进行分析处理;利用Visual C++ 6.0作为开发工具,编写微机数据分析处理程序,模拟显示汽车运行时的状态;利用图形显示各分量的波形,如前向灯开关情况、左右方向灯开关情况、开门信息、刹车信号、水温变化情况(范围为0℃100℃)等。将该行驶记录仪安装在汽车上进行测试,结果也较理想,能够满足设计要求。其测试结果如图5所示。
- LPC2104的Boot与Remap详解(10-15)
- ARM学习中LPC2104的Boot与Remap详解(08-30)
- 采用LPC2104的智能灯光控制器原理及设计(08-24)
- 14位A/DMAX194在ARM单片机系统中的设计(12-23)
- Nut/OS和μC/OS—II的实时调度算法比较 (04-07)
- 基于AT89C51+DSP的双CPU伺服运动控制器的研究(05-26)