基于CAN总线的汽车行驶记录仪的开发
时间:02-27
来源:互联网
点击:
引言
汽车行驶记录仪是传统汽车仪表系统的技术革新产品,涉及许多技术领域。
其核心概念及主要研究内容包括:仪表信息数字化、车内总线通讯与全车信息共享、整车统一调度以及基于全车信息的故障诊断等几个方面。相信今后汽车将会越来越多地采用各种用途的电子化仪表,功能强大的电子仪表将成为发展趋势。
汽车行驶记录仪的系统结构
如图1所示,本系统由主机和上位机管理分析软件两部分组成。其中主机部分包括:信号输入、数据保存和处理、数据显示、数据通信、复位电路和掉电保护电路等。上位机软件实现数据统计、查询、分析等功能。整个系统作为汽车CAN网络的一个节点,可以实现与其他CAN节点之间的通讯及数据传输等。
汽车行驶记录仪的硬件设计
主处理器的选择
目前汽车行驶仪表系统的微处理器一般采用8位MCS51单片机,此类单片机应用广泛,价格相对较低,发展也较成熟,是记录仪低端方案的首选。低端方案虽然能够实现系统的基本功能,却不能保证系统对实时性、大量数据的处理能力和扩展接口等各方面的要求,故考虑采用高端方案——32位RISC嵌入式处理器ARM。根据系统具体要求,选用Philips公司的LPC2292作为系统的主处理器。LPC2292基于ARM7TDMI内核、总线开放、144脚封装、2个定时器、2路CAN、2路SPI接口、包含76个GPIO口、8路10位ADC以及多达9个外部中断,是一款性价比较高的ARM芯片。
数据存储方案的确定
本系统采用FRAM作为记录仪存储器,FRAM是美国Ramtron公司的产品,被称为铁电存储器,其核心技术是铁电晶体材料。这一特殊材料使得铁电存贮产品同时拥有SRAM和非易失性存储产品的特性:擦写次数至少可达到1000亿次,超过1000亿次后还可作为SRAM使用。但是,目前市场上出现的FRAM芯片容量都不够大,所以考虑再使用一块大容量FLASH作为数据存储器,而将FRAM作为数据转存的中介。超过一定时间或者发生掉电时,则立即将FRAM中的数据转存入FLASH中,这样就能满足存储器大容量且能够多次擦写的要求,而且避免了因掉电发生的数据丢失现象。本系统采用两块256kbit FRAM (FM24C256)和一块512kbit FLASH(W29C040)。
信号采集方案的确定
本系统的输入信号较多,大致可分成三类:模拟信号、数字信号以及开关量信号。不同种类的信号采用不同的采集方式。
模拟信号采集方案
模拟信号包括:水温、油量和油压,共3路输入信号。一般对模拟信号的采集和处理是采用A/D转换器进行的,由于处理器LPC2292内置了4路10位精度的A/D转换器,故无需扩展外围电路即可满足模拟信号的采集需求。
数字信号采集处理方案
数字信号包括车速和发动机转速信号,这两路信号通过各自相应的传感器转换成车速脉冲和发动机转速脉冲输出,由此可以利用LPC2292定时器的脉冲捕捉功能进行采集。通过记录脉冲的输出间隔,从而可以计算出里程、车速等实时数据,用以保存和报警输出,无需外扩电路。
开关量信号采集方案
开关量信号包括:前门、后门、大灯、左灯、右灯、倒车灯、远光灯、近光灯、点火、刹车、鸣号、雨刷以及中控锁,共13路信号。每路信号的状态发生变化时,均需要能被及时检测到。LPC2292内部没有采集开关量信号的部件,故需要外扩电路,本系统选用开关检测芯片MC33993来实现此功能。MC33993除了具有22个开关输入引脚之外,还有一个中断引脚。当任一开关量输入信号状态发生变化时,可以通过中断的方式通知主处理器,从而减轻了处理器频繁查询的负担。芯片的接口方式为4脚SPI,能够大大减少处理器需要提供的引脚数量。
数据显示方案的确定
LCD(Liquid Crystal Display)为液晶显示器,它使用两片薄膜,利用通电与未通电时中间的液态晶体改变排列方向来造成透光与不透光效果,从而产生图形。LCD液晶器具有图像不失真、无闪烁、无辐射等优点,所以LCD是本系统显示面板的首选,所选型号为信利公司的MSC-G12864。
实时时钟方案的确定
主处理器LPC2292具有内置实时时钟,但是当处理器断电后该实时时钟所有寄存器的内容将全部丢失,因此系统需要使用外部实时时钟。 Philips公司的PCF8563是符合这一要求的实时时钟芯片,它具备掉电检测器。当供电电压低于某个值时,秒寄存器中的某标志位将置1,指明此后实时时钟可能会产生不准确的时钟/日历信息,从而避免了记录仪对错误时间的记录。
打印输出电路
微型打印机M-1926有串口和并口两种接口,系统采用其串口功能,与LPC2292的DART1接口连接,实现对微机的控制输出。
汽车行驶记录仪的软件设计
本系统软件部分的设计都是在ADS开发环境下进行的,并通过JTAG仿真器进行软件调试。ADS(ARM Developer Suite)集成开发环境是ARM公司推出的ARM核处理器集成开发工具。JTAG(Joint Test Action Group)是一种通过ARM芯片的JTAG边界扫描口进行调试的仿真设备,它比在线实时仿真器要廉价简单,是现在较为流行的一种仿真器。本系统采用的EasyJTAG是广州周立功单片机发展有限公司开发的LPC2000系列ARM7微控制器的JTAG仿真器。
汽车行驶记录仪是传统汽车仪表系统的技术革新产品,涉及许多技术领域。
其核心概念及主要研究内容包括:仪表信息数字化、车内总线通讯与全车信息共享、整车统一调度以及基于全车信息的故障诊断等几个方面。相信今后汽车将会越来越多地采用各种用途的电子化仪表,功能强大的电子仪表将成为发展趋势。
汽车行驶记录仪的系统结构
如图1所示,本系统由主机和上位机管理分析软件两部分组成。其中主机部分包括:信号输入、数据保存和处理、数据显示、数据通信、复位电路和掉电保护电路等。上位机软件实现数据统计、查询、分析等功能。整个系统作为汽车CAN网络的一个节点,可以实现与其他CAN节点之间的通讯及数据传输等。
汽车行驶记录仪的硬件设计
主处理器的选择
目前汽车行驶仪表系统的微处理器一般采用8位MCS51单片机,此类单片机应用广泛,价格相对较低,发展也较成熟,是记录仪低端方案的首选。低端方案虽然能够实现系统的基本功能,却不能保证系统对实时性、大量数据的处理能力和扩展接口等各方面的要求,故考虑采用高端方案——32位RISC嵌入式处理器ARM。根据系统具体要求,选用Philips公司的LPC2292作为系统的主处理器。LPC2292基于ARM7TDMI内核、总线开放、144脚封装、2个定时器、2路CAN、2路SPI接口、包含76个GPIO口、8路10位ADC以及多达9个外部中断,是一款性价比较高的ARM芯片。
数据存储方案的确定
本系统采用FRAM作为记录仪存储器,FRAM是美国Ramtron公司的产品,被称为铁电存储器,其核心技术是铁电晶体材料。这一特殊材料使得铁电存贮产品同时拥有SRAM和非易失性存储产品的特性:擦写次数至少可达到1000亿次,超过1000亿次后还可作为SRAM使用。但是,目前市场上出现的FRAM芯片容量都不够大,所以考虑再使用一块大容量FLASH作为数据存储器,而将FRAM作为数据转存的中介。超过一定时间或者发生掉电时,则立即将FRAM中的数据转存入FLASH中,这样就能满足存储器大容量且能够多次擦写的要求,而且避免了因掉电发生的数据丢失现象。本系统采用两块256kbit FRAM (FM24C256)和一块512kbit FLASH(W29C040)。
信号采集方案的确定
本系统的输入信号较多,大致可分成三类:模拟信号、数字信号以及开关量信号。不同种类的信号采用不同的采集方式。
模拟信号采集方案
模拟信号包括:水温、油量和油压,共3路输入信号。一般对模拟信号的采集和处理是采用A/D转换器进行的,由于处理器LPC2292内置了4路10位精度的A/D转换器,故无需扩展外围电路即可满足模拟信号的采集需求。
数字信号采集处理方案
数字信号包括车速和发动机转速信号,这两路信号通过各自相应的传感器转换成车速脉冲和发动机转速脉冲输出,由此可以利用LPC2292定时器的脉冲捕捉功能进行采集。通过记录脉冲的输出间隔,从而可以计算出里程、车速等实时数据,用以保存和报警输出,无需外扩电路。
开关量信号采集方案
开关量信号包括:前门、后门、大灯、左灯、右灯、倒车灯、远光灯、近光灯、点火、刹车、鸣号、雨刷以及中控锁,共13路信号。每路信号的状态发生变化时,均需要能被及时检测到。LPC2292内部没有采集开关量信号的部件,故需要外扩电路,本系统选用开关检测芯片MC33993来实现此功能。MC33993除了具有22个开关输入引脚之外,还有一个中断引脚。当任一开关量输入信号状态发生变化时,可以通过中断的方式通知主处理器,从而减轻了处理器频繁查询的负担。芯片的接口方式为4脚SPI,能够大大减少处理器需要提供的引脚数量。
数据显示方案的确定
LCD(Liquid Crystal Display)为液晶显示器,它使用两片薄膜,利用通电与未通电时中间的液态晶体改变排列方向来造成透光与不透光效果,从而产生图形。LCD液晶器具有图像不失真、无闪烁、无辐射等优点,所以LCD是本系统显示面板的首选,所选型号为信利公司的MSC-G12864。
实时时钟方案的确定
主处理器LPC2292具有内置实时时钟,但是当处理器断电后该实时时钟所有寄存器的内容将全部丢失,因此系统需要使用外部实时时钟。 Philips公司的PCF8563是符合这一要求的实时时钟芯片,它具备掉电检测器。当供电电压低于某个值时,秒寄存器中的某标志位将置1,指明此后实时时钟可能会产生不准确的时钟/日历信息,从而避免了记录仪对错误时间的记录。
打印输出电路
微型打印机M-1926有串口和并口两种接口,系统采用其串口功能,与LPC2292的DART1接口连接,实现对微机的控制输出。
汽车行驶记录仪的软件设计
本系统软件部分的设计都是在ADS开发环境下进行的,并通过JTAG仿真器进行软件调试。ADS(ARM Developer Suite)集成开发环境是ARM公司推出的ARM核处理器集成开发工具。JTAG(Joint Test Action Group)是一种通过ARM芯片的JTAG边界扫描口进行调试的仿真设备,它比在线实时仿真器要廉价简单,是现在较为流行的一种仿真器。本系统采用的EasyJTAG是广州周立功单片机发展有限公司开发的LPC2000系列ARM7微控制器的JTAG仿真器。
- 对TTCAN的分析(05-26)
- 嵌入式Win CE中CAN总线控制器的驱动设计与实现(05-01)
- μC/OS-II的多任务信息流与CAN总线驱动(07-11)
- 采用CAN总线实现DSP芯片程序的受控加载(11-08)
- 基于DSP的电动汽车CAN总线通讯技术设计(10-08)
- 基于DSP的CANopen通讯协议的实现(01-18)