热熔胶复合机 首页 > 产品展示 > 热熔胶复合机

基于LPC2104的汽车行使记录仪

发布时间:2024-03-06 22:43:20   来源:大鱼游戏    阅读:1 次

  随着汽车拥有量的增加,发生交通事故的概率也随之增加,发生意外事故后用传统的办法来进行分析、判断、维修有一定的困难。这样,就给人们提出了一个问题,怎样及时、准备地分析故障的存在,客观地分析事故的责任。由此联系到飞机上装的“黑匣子”,一旦飞机失事,“黑匣子”里的资料是判断失事原因的重要依据。因为它的造价高、技术复杂,在普通汽车上使用有一定的难。本文介绍一种价格低,功能较齐全且能扩展的汽车行驶记录仪。 本记录仪采用带ARM7内核的LPC2104型CPU作为主控机,大容量闪速存储器作为存储载体,带有精确的时钟电路,利用高精度A/D转换器采集汽车传感器转换的模拟量,并直接记录汽车信号灯等的各种开关量。同时利用串口实现与微机的数据通信,把汽车行驶记录低度的信息以二进制文件的形式存储到硬盘上。

  系统的总体框架如图1所示。带ARM7内核的LPC2104型CPU是汽车行驶记录仪的核心,整个系统由信息采集模块、信息处理及存储模块和串口通信模块组成。 LPC2104是Philips公司生产的一款支持实时仿线TDMI-S CPU,内部集成有与片内存储器控制器接口的ARM7局部总线、与中断控制器接口的AMBA高性能总线(AHB)和连接片内外设功能的VLSI外设总线(VPB,ARM,AMBA总线的兼容超大规模集成电路),并嵌入了128KB高速Flash存储器。LPC2104将ARM7TDMI-S配置为小端(Iittle-endian)字节顺序,具有封装小、功耗低、多个32位定时器、多种总线个外部中断等优点,非常适合作为汽车行驶记录仪的主控CPU。同时,LPC2104还具有128位宽度的存储器接口和独特的加速结构,从而使得32位代码能够在最大时钟频率下运行。 2 信息采集模块设计 汽车行驶记录仪要求实时记录车辆行驶的各种状态信息,因此本系统将信息采集模块分为开关量数据采集模块、模拟量数据采集模块、时钟数据采集模块。

  该模块利用74LS165型并行输入8位移位寄存器扩展16位并行输入口,其硬件电路如图2所示。其中利用LPC2104的3根I/O口线位的输入线,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总线通过其内嵌的SPI总线进行通信,其硬件电路如图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总线进行通信。 本系统工作时,首先由LPC2104主控CPU从24C32中读取Flash最近存储的扇区号和存储地址,然后以此地址为参照,以这个地址的一个地址值为 Flash的起点地址,以这个地址的下一个地址值为Flash的起点地址,按顺序进行存储。Flash需要存储的数据有16路开关量信息、8路模拟量信息有及时钟信息。本系统利用二字节(共16位)存储16路开关量信息,利用8个字节的存储空间存储8路模拟量信息。为了节省存储空间,系统并非每次存储采集数据时都存储时间标志。由于数据采集以固定的秒间隔来进行,因此,系统只是在刚开始运行时和每个扇区的起始位置采集并存储时钟信号作为时间标记,而后面数据的采集时间则以这些时间标记为参照。

  在本系统重装上电运行时,需要记录开始采集的时间信息。由于系统电源是由汽车电源提供的,所以开始采集的时间也就是汽车启动的时间,以此作为汽车开始行驶的时间标记。在程序运行中,由主程序设定一个汽车启动标志,在第一次写数据之前汽车启动标志有效,然后首先判断当前存储地址是否有某个扇区的首地址,如果是,则根据写扇区的要求在第七个字节开始处存储当前的时钟信号,否则,在当前存储地址处开始用10个字节存储当前的时钟信号,记录汽车开始运行的起始时间,然后清除汽车启动标志。扇区开始地址处记录的时间信息是否是汽车开始运行的起始时间,可根据前一个扇区记录的时间信息进行判断。若前后两个扇区记录的数据是连续的,则后一个扇区头记录的时间信息不是表示汽车开始运行的起始时间,否则情况相反。 4 串口通信模块设计 计算机可以通过串口随时读取行驶记录仪存储的数据。行驶记录仪与计算机之间的串口通信遵循RS232协议。串行通信时,LPC2104依次将Flash中存储的数据读出并经UART0串口发出,然后经过MAX232电平转换器送给计算机,再由计算机通过串口接收该数据。 图5 5

  汽车行驶记录仪利用微机通过串口接收汽车行驶的数据,并对数据做多元化的分析处理;利用VisualC++6.0作为开发工具,编写微机数据分析处理程序,模拟显示汽车运行时的状态;利用图形显示各分量的波形,如前向灯开关情况、左右方向灯开关情况、开门信息、刹车信号、水温变化情况(范围为0℃“100℃)等。将该行驶记录仪安装在汽车上进行测试,结果也较理想,能够满足设计要求。其测试结果如图5所示。

  下一篇:如何将安全LPC804 MCU芯片配置编程呢?仅可通过ISP模式么?

  各位大神这个是IAR调试有哪些用途呢?怎么使用呀求详细解答和指导步骤感谢啦IAR软件编程调试问题有大神在吗额。。。。。。好抽象的问题,和大部分软件一样啊,软件仿真,在线调试,各种变量,寄存器观察。。。。。软件自带参考手册,你那详细步骤都可以出本书了DEBUG,程序不是写好就能用的,通过debug,你能够最终靠单步运行查看每个变量和寄存器或内存的状态,从而判断程序哪里有错误。顺便,多看看C语言基础,再去写单片机程序会有很大帮助。自己先去网上搜搜,什么入门,什么速成,资源多得

  在正常使用的485通讯实用电路时,怎样监测t通讯状况?怎样监测t通讯状况?简洁的办法是整个RS485指示灯,快慢闪几下定义,故障还是通讯正常网口232那个灯就是精髓啊先说说通讯状况到底指什么? 先说说通讯状况到底指什么?两机之间程序运行是否正常?先前有一次通讯有问题,当时不知从何下手。 网口232那个灯就是精髓啊!谢谢!上次就是观察此灯,找到并解决故障的。但好像没有更理性、更技术性的办法,所以才提出怎样监测t通讯状况?这个问题。

  本帖最后由DavidZH于2014-7-1000:12编辑 一、安装环境:VM10+Ubuntu10.0二、需要安装工具:Samba服务器;tftp服务器Samba服务器的安装:1、安装samba服务器软件: sudoapt-getinstallsamba复制代码 2、创建共享文件夹和修改权限: mkdir/home/rootme chmod777/home/rootme复制代码 3、配置smb

  我的产品有AC/DC转换器与控制线路板组成.单独测试转换器跟控制线路板的绝缘测试是合格的.但是组装到一起的时候就不行,还有个特别的现象,举下例:两台转换器跟控制线路板测试是不合格的,但是相互颠倒下有可能就能够最终靠绝缘测试,对于这样的现象我好郁闷关于绝缘测试的问题先检查每块板是不是符合安全规则。不要以为每块板都测试合格,就没问题了。再检查组装时的绝缘,是不是太近的地方。绝缘垫、插座之类的东西是不是可靠?你有测试仪器就好办。耐心检查吧。回复:关于绝缘测试的问题有可以是

  103VBT6竟然没CRC模块功能,IAREWARM442A仿线也没CRC寄存器!恶搞了!偶从网上找了4个CRC-16和一个CRC-32程序!竟然算出来的都各不相同!MD!shorttest={1,2,3,4,5,6,7,8,9};//CRC-CCITTlongtest1={1,2,3,4,5,6,7,8,9};//CRC32CRC-CCITT:0X3B0A0XB20E0X2378CRC32:0X40EFAB9ECRC32算出

  任务要求:主控板建立TCPIP或UDP服务器,局域网PC使用TCPIP或UDP客户端进行连接并发送数据,主控板接收到数据后,送液晶屏显示(没有则通过串口打印显示);通过抓包软件抓取交互报文,展示并分析。(TCP和UDP二选一,或者全都操作)参考官方代码建立了tcp服务器,代码如下TCPServerexample.date:2023-11-23fromusocketimportsocketfrommachineimportPin,S

  【电路】北京切诺基牌BJ2021轻型越野车汽车在不同气温时空调系统各部分的正常压力值电路图

  有奖征文:邀一线汽车VCU/MCU开发工程师,分享开发经验、难题、成长之路等

  MPS电机研究院 让电机更听话的秘密! 第一站:电机应用知识大考!第三期考题上线,跟帖赢好礼~

  【下载】LAT1396 STM32CubeIDE实用技巧之STM32H7双核调试的配置

  【下载】LAT1392 LTDC RGB接口 LCD的TouchGFX工程的移植步骤

  【直播】3月27日,STSAFE-A110安全芯片及ST4SIM eSIM芯片助力安全通信

  【线日,基于Buildroot制作STM32MP13启动镜像-深圳/厦门/西安/郑州/苏州

  【新品】STM32H5-Arm® Cortex®-M33 内核,主频高达250MHz,提升性能与信息安全性

  【新品】STM32MP13X-支持Linux、RTOS和Bare Metal应用,新一代通用工业级MPU

  【新品】Arm® Cortex®-M33处理器内核,运行频率160 MHz,基于Armv8-M架构并带有TrustZone®

  【下载】AN5129_适合2.4GHz无线信号的低成本PCB天线 基于 BlueNRG-LP ARM Cortex-M0+

  在前一篇文章中我们已经学习到能够最终靠直接访问存储地址来读写外设寄存器,下面复习下将 GPIO A3 设为输出模式的代码:* (volatile ui ...

  SysTick中断属于核内外设中断器,中断号为-1。想要使用SysTick中断,只需在SysTick查询定时上进行稍微的修改。需要添加开启中断,直接用中 ...

  本次操作的SRAM的型号是IS62WV51216,是高速,8M位静态SRAM。它采用ISSI(Intergrated Silicon Solution, Inc)公司的高性能CMOS技术, ...

  1总线的由来很多人对总线和地址映射的概念都是一头雾水,但是我们如果知道为何需要总线和地址映射,他们是在什么背景下被衍化出来的,自然 ...

  很多应用场合对于功耗的要求很严格,比如长期无人照看的数据采集仪器,可穿戴设备等。其实很多MCU都有相应的低功耗模式,以此来降低设备运 ...

  IDC:2021年半导体市场将增长17.3%,2023年或出现产能过剩

  IMDT推出配备最新RENESAS RZ/V2H SOC的新型SOM和SBC

  电感知识大考:遇到这样一些问题怎么办?|“MPS电感探索季:发现小且不凡的秘密!”第一站

  雷柏、京造的无线充电鼠标垫,等你拆开看——EEWorld邀你来玩拆解(第三期)

  AVR单片机ARM单片机嵌入式系统汽车电子消费电子数据处理视频教程电子百科其他技术STM32MSP430单片机资源下载单片机习题与教程词云: