随着汽车拥有量的增加,发生交通事故的概率也随之增加,发生事故后用传统的方法进行分析、判断、维修有一定的困难。这样,就给人们提出了一个问题,怎样及时、准备地分析故障的存在,客观地分析事故的责任。由此联系到飞机上装的“黑匣子”,一旦飞机失事,“黑匣子”里的资料是判断失事原因的重要依据。因为它的造价高、技术复杂,在普通汽车上使用有一定的难。本文介绍一种价格低,功能较齐全且能扩展的汽车行驶记录仪。 本记录仪采用带ARM7内核的LPC2104型CPU作为主控机,大容量闪速存储器作为存储载体,带有精确的时钟电路,利用高精度A/D转换器采集汽车传感器转换的模拟量,并直接记录汽车信号灯等的各种开关量。同时利用串口实现与微机的数据通信,把汽车行驶记录低度的信息以二进制文件的形式存储到硬盘上。
1 系统的硬件设计
系统的总体框架如图1所示。带ARM7内核的LPC2104型CPU是汽车行驶记录仪的核心,整个系统由信息采集模块、信息处理及存储模块和串口通信模块组成。 LPC2104是Philips公司生产的一款支持实时仿真和跟踪的ARM7TDMI-S CPU,内部集成有与片内存储器控制器接口的ARM7局部总线、与中断控制器接口的AMBA高性能总线(AHB)和连接片内外设功能的VLSI外设总线(VPB,ARM,AMBA总线的兼容超大规模集成电路),并嵌入了128KB高速Flash存储器。LPC2104将ARM7TDMI-S配置为小端(Iittle-endian)字节顺序,具有封装小、功耗低、多个32位定时器、多种总线接口及多达9个外部中断等优点,非常适合作为汽车行驶记录仪的主控CPU。同时,LPC2104还具有128位宽度的存储器接口和独特的加速结构,从而使得32位代码能够在最大时钟频率下运行。 2 信息采集模块设计 汽车行驶记录仪要求实时记录车辆行驶的各种状态信息,因此本系统将信息采集模块分为开关量数据采集模块、模拟量数据采集模块、时钟数据采集模块。
2.1 开关量数据采集模块
该模块利用74LS165型并行输入8位移位寄存器扩展16位并行输入口,其硬件电路如图2所示。其中利用LPC2104的3根I/O口线扩展为16位的输入口线,图中由2片74LS165串接扩展16位的输入线,CLK为时钟脉冲输入端,D0-D7为并行输入端,前级的数据输出端QH与后级的信号输入端 SIN相连,S/L为低电平时,允许并行置入数据,S/L为高电平时允许串行移位。这样左右方向灯、前车灯、开门信号、刹车灯信号等16路开关量经过光电耦合器隔离后并行输入到2片74LS165中,再经74LS165转换后,串行输出给LPC2104进行处理。 2.2 模拟量数据采集模块 在进行模拟数据采集时,水温、水位等8路传感器采集的信号先经过模拟信号调理环节,将其整定在A/D转换器参考电压Vref决定的满量程输入电压信号以内,然后经过A/D转换器进行A/D转换。该模块采用美国德州仪器公司推出的TLC0838型8路8位逐次逼近型模、数转换器,采样频率为100kHz,与外部通信采用SPI总线接口。LPC2104通过其内嵌的SPI总线接口与TLC0838进行通信,其硬件电路如图3所示。其中SCK为SPI主机输入或从机输入的时钟,MOSI为SPI主机到从机的数据传输,MISO为SPI从机到主机的数据传输,SSEL为SPI从机选择。
汽车速度的测量是通过计数速度传感器产生的脉冲信号实现的。
本系统利用AT89C2051型单片机来计数速度脉冲信号。该单片机可设定一个守量器来计数速度脉冲信号,并将其转换成汽车的实际量程。同时根据行程和时间可计算汽车的速度,并通过串口UART0将数据传送给LPC2104。 2.3 时钟数据采集模块 为了记录行车的时间,使行驶记录仪能够实时记录汽车状态,采用专门的时钟模块提供时间信号,本系统选用DS12887时钟电路。DS12887是跨越 2000年的时钟电路,采用4位数表示年度的日历系统。电路的晶体振荡器、振荡电路、充电电路和可充电锂电池等一起封装在芯片的止方,组成一个加厚的集成电路模块。DS12887能够自动存取并更新当前的时间,LPC2104可通过读DS12887的内部时标寄存器得到当前的时间和日历,也可通过选择二进 进码或BCD码初始化电路的10个时标寄存器。 3 信息处理及存储模块设计 由于Flash的存储结构适宜是固态存储,EPROM的存储结构适宜于动态存储,因此,本系统根据实际需要,有用Flash固态存储和EPROM动态存储相结合的方式进行数据存储和记忆,即用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所示。
上一篇:采用LPC2132控制步进电机实现康复机器人系统的设计
下一篇:如何将安全LPC804 MCU芯片配置编程呢?仅可通过ISP模式么?
推荐阅读最新更新时间:2024-11-11 22:48
推荐帖子
- TMS320F28335系统设计 设计中应注意以下事项
- 设计中应注意以下事项:(1)时钟电路采用内部晶体振荡器,在电路配置时应尽量靠近TMS320F28335放置,引线要短且粗,电容要稳定,容值准确,应远离发热元件。(2)电源模块输出端使用保护电容,其值不能小于10μF,且不能使用贴片电容或高频陶瓷电容,否则工作不稳定。(3)TMS320F28335中一些不用的引脚,应将其通过上拉电阻接电源或按下拉电阻使其接地。TMS320F28335系统设计设计中应注意以下事项
- 灞波儿奔 微控制器 MCU
- TI DSP 28335编程实例
- 首先说明:开发环境Manjarolinux,内核5.0,滚动升级版本,随时都是最新,CCS也是最新的CCv8复制代码1#includeDSP2833x_Device.h//这是一个很重要的头文件,决定CPU类型,数据类型、asm宏指令,包含的所有的外设,外设的头文件和其他硬件的抽象头文件2#includeDSP2833x_Examples.h//该头文件是常用实现函数的文件包含36//中断服务函数声明7__interruptvoidwa
- Aguilera DSP 与 ARM 处理器
- 讨论一下哪个好做
- file:///C:/Users/Administrator/AppData/Roaming/Tencent/Users/1936741121/QQ/WinTemp/RichOle/X(Z6E1讨论一下哪个好做暴露路径了,然后,就没有然后了一脸懵逼{:1_101:}上传图片如下图所示,建议适当增加文字描述做开关电源或者是电子秤可能会相对简单点
- 菜鸟菜鸟菜 电子竞赛
- 推荐一个理论与实践结合的好网站
- 推荐一个不错的网站:矿石收音机论坛http://www.crystalradio.cn/bbs/论坛里有许多板块,有许多引人入胜的好文章 推荐一个理论与实践结合的好网站谢谢楼主啊谢谢楼主,这个真的很不错啊大家高兴就好。我所以推荐这个网站的原因是大家由于教育体制的原因,实践的机会很少。有关技术性的文章我觉的这里很不错,电子工程方面的又软件工程方面的,随时欢迎你的加入!非常感谢LZ我会努力努力的谢谢您提供的信息。回复5楼sunhope的帖子看看去,多谢楼主介
- quanzx 嵌入式系统
- #eeworld漫画力作#TI MCU漫画,电子小强&TI MCU 第一次接触 !
- 一次你就会爱上她!--Stellaris更多详情:https://www.eeworld.com.cn/comic/comic_view.php?imgid=05#eeworld漫画力作#TIMCU漫画,电子小强&TIMCU第一次接触!阅O(∩_∩)O~有创意的广告
- EEWORLD社区 微控制器 MCU
- 13.5MHz RFID系统的设计
- 13.5MHzRFID系统的设计英文资料很有实用价值13.5MHzRFID系统的设计
- JasonYoo RF/无线
设计资源 培训 开发板 精华推荐
- Dynamixel 电源通信模块
- TWR-56F8200,基于MC9S08JM60 MCU的塔式开发板
- DC2025A-B,用于 LTC2668-12、16 通道、12 位、±10V VOUT SoftSpan DAC 的演示板,具有 10ppm/摄氏度最大参考
- KW41Z-PA-RD,适用于 KW21Z 平台的功率放大器参考设计
- 【待焊接】DHT11的方案验证板
- LT8616EFE 3.3V、0.79V、1MHz 2 级降压转换器的典型应用电路
- LT3091EFE 500mA LED 驱动器的典型应用,具有接地 LED 接线片(散热器)
- 最小系统原理图
- type-c扩展接口(稚晖君小电视专用)
- 带 3X9 LED 的 PAM2841 1.5A 开关电流、40V 精密 WLED 驱动器的典型应用