基于ARM及CAN总线的汽车行驶记录仪的开发

发布者:beta13最新更新时间:2013-05-31 来源: 21IC关键字:ARM  CAN总线  汽车行驶记录仪 手机看文章 扫描二维码
随时随地手机看文章
引言

汽车行驶记录仪是传统汽车仪表系统的技术革新产品,涉及许多技术领域。

其核心概念及主要研究内容包括:仪表信息数字化、车内总线通讯与全车信息共享、整车统一调度以及基于全车信息的故障诊断等几个方面。相信今后汽车将会越来越多地采用各种用途的电子化仪表,功能强大的电子仪表将成为发展趋势。

汽车行驶记录仪的系统结构

如图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,指明此后实时时钟可能会产生不准确的时钟/日历信息,从而避免了记录仪对错误时间的记录。 [page]

打印输出电路

微型打印机M-1926有串口和并口两种接口,系统采用其串口功能,与LPC2292的DART1接口连接,实现对微机的控制输出。

汽车行驶记录仪的软件设计

本系统软件部分的设计都是在ADS开发环境下进行的,并通过JTAG仿真器进行软件调试。ADS(ARM Developer Suite)集成开发环境是ARM公司推出的ARM核处理器集成开发工具。JTAG(Joint Test Action Group)是一种通过ARM芯片的JTAG边界扫描口进行调试的仿真设备,它比在线实时仿真器要廉价简单,是现在较为流行的一种仿真器。本系统采用的EasyJTAG是广州周立功单片机发展有限公司开发的LPC2000系列ARM7微控制器的JTAG仿真器。

本系统软件部分的程序流程图如图2所示。软件部分主要包括以下几个模块:

A/D采样模块

LPC2292内置有8个模数转换器ADC,其控制器只有2个,即ADCR、ADDR。本系统使用3个ADC分别采集、转换3路模拟信号。首先将ADC设置为向量IRQ中断,为其中断通道分配一个优先级,并设置中断服务程序地址向量,此后将ADCR的START位置1来启动ADC转换。每当ADC完成一次转换,ADDR寄存器(A/D Data Register)的DONE位置1,从而引起中断,转入中断处理程序,在该处理程序中从ADDR寄存器的6-15位读取转换结果,再将二进制数转换成十进制数予以保存并显示。

FLASH数据存储模块

为了调用方便,系统软件部分对FLASH操作做了函数封装,主要有如下两个函数接口:

1、页写操作:将一字节数据写入FLASH的某个特定地址。当命令下发完之后延时一段微秒级的时间,然后把被写数据所在页整页读出,将被写数据所在地址的数据值替换为被写数据,其余地址的数据值不变,然后整页写入FLASH,完成页写操作。

2、整片擦除操作:对FLASH存储阵列中的内容进行整片擦除。通过给FLASH下发特定地址的特定六个字 节的命令字来完成FLASH整片擦除操作,数据下发完毕后需要等 待50mS,或等待内部toggle/plling操作完成。

RS232串口通信模块

本系统利用两个UART,一个用于提供主机与上位机软件的通信接口,另一个用于提供微型打印机与主机的连接接口。主机和上位机软件的RS232串口通信协议如下:通信波特率为15200, 8位数据位,1位停止位,无奇偶校验。

软件为RS232串口通信提供的函数接口有:

1、串口发送一个字节数据:将要发送的数据装载到串口发送寄存器中,等待串口状态字变1,则表示数据发送完毕。

2、串口初始化:根据串口通信协议对波特率、奇偶校验、数据位和停止位进行设置。

LCD液晶显示模块

主要包括的函数模块如下:

1、LCD“忙”检查:对LCD操作很重要的部分就是进行时序模拟,而时序模拟最重要的是LCD“忙”检查。程序代码如下:
uint32 rb;I02DIR&=LCD_DO_D7; //P2口连接的D0到D7口设为输入方式,然后读取状态命令

IO1CLR=LCD_RS;
IO1SET=LCD_RW;
if(rb!=0)
{IO1SET=LCD_E;
rb=(I02PIN&0x80000000);
IO1CLR=LCD_E;
}; //忙等待
IO2DIR=LCD_DO_D7;//将LCD数据位重新设为输出方式

2、向LCD下发命令:若LCD“不忙”,在LCD的管脚E的下降沿锁存命令字节完成命令的发送。
3、LCD初始化:对LCD内部“忙”操作状态进行检查,设置显示的起始行,然后开显示。
4、LCD液晶写一组汉字:函数写汉字的时候实际上是将汉字字模写入LCD。
5 、LCD液晶画图:LCD画图和写字其实很类似,将相应的字模写入规定的LCD屏幕的位置即可。LCD液晶画图用于报警信号的显示。

CAN-BUS通信模块

CAN通信与一般的串口通信类似,在数据通信前要对CAN总线进行初始化操作,包括CAN控制器的选择、数据寄存器的设置以及通信波特率的设置等。初始化完成后,则需要设置双方的通信协议,建立彼此的连接。只有在同一协议下工作的双方才能正确进行数据的交换。软件提供的CAN-BUS通信函数接口包括初始化CAN、CAN总线发送数据以及CAN总线接收数据等。

结束语

该汽车行驶记录仪结合了计算机技术、嵌入式技术以及现场总线技术等多项先进技术,具有高实时性、抗干扰能力强、可靠性高、数据精度高以及系统扩展方便等特点,可以在车辆实时警告与稽核、公安交警部门的事故处理等方面发挥一定的作用。(end)
关键字:ARM  CAN总线  汽车行驶记录仪 引用地址:基于ARM及CAN总线的汽车行驶记录仪的开发

上一篇:基于ARM7的微弱信号采集系统设计与实现
下一篇:智能家居无线网络通讯协议设计方案

推荐阅读最新更新时间:2024-03-16 13:25

传Lumia 950原型机流出:可以运行Windows 10
   虽然微软已经放弃了Lumia这一品牌,不过现在有更多的有关未上市Lumia品牌手机的信息流出。就在最近,一款未上市的Lumia 950手机原型机流出。这款手机也支持了Surface Pen,不过最终种种原因没有上市。 传Lumia 950原型机流出:可以运行Windows 10(图片来自于推特)   从流出的原型机图片来看,这款Lumia 950型号为RX-130,可以成功运行Windows 10 ARM 64。这款原型机是在2015年的Build开发者大会上微软用于展示移动愿景的设备。不过,这款原型机还是阉割了许多的功能。   事实上,许多Lumia手机都可以运行Windows 10 ARM。上个月的时候,一位民间的大神G
[手机便携]
基于ARM9的嵌入式LINUX地震数据采集系统设计
  0 引言   随着数字技术的飞速发展,数字化仪器已成为观测技术领域的主流仪器,因而数据采集技术也成为观测技术领域中一个十分重要的技术环节。众所周知,地震预报是一个的世界性难题,作为地震预报的基础,地震及地震前兆观测数据的地位可想而知,获得真实、可靠的观测数据取决于地震观测仪(包括传感器和采集器两部分)。伴随着计算机的迅速发展,以嵌入式为平台的数据采集系统就应运而生了,它具有可靠性高,体积小,易扩展、功能强,开发周期短、成本低。本论文是基于东方地球物理公司地震采集系统设计项目,采用ARM9的嵌入式系统,因此对其研究具有非常重要的现实意义。   1 总体设计方案   作为一个通用的工业数据采集系统的硬件平台,其基本目的是获取
[单片机]
基于<font color='red'>ARM</font>9的嵌入式LINUX地震数据采集系统设计
ARM裸机串口UART
串口UART原理 异步通信:传输单位是一个字符,两个字符之间时间间隔不固定,时间固定为同步。 通信协议:通信双方共同制定的规则,有数据格式:奇偶校验位、停止位.....,通信流程上的规格. UART(universal asynchronous receivertransmitter):通用异步收发器,用来串行传输数据,发送时,CPU将数据并行写入UART,UART按照一定格式在一位的数据线上串行发送,接受时,从一位数据线接受串行的数据。 S3c2440有三个独立的uart接口,并且每个uart包括64字节的接受和发送fifo。 串口基本工作原理:分为发送和接收部分,发送部分:1接口用来接收数据,数据由CPU通过
[单片机]
<font color='red'>ARM</font>裸机串口UART
一文读懂CAN总线/LIN总线/FlexRay/以太网
20世纪80年代后, MCU和MPU开始在汽车中被广泛使用,汽车电子化进程开始逐年加快。近几年,智能化和网联化在汽车行业兴起,汽车电子化程度更上一层楼。据统计,当前汽车的创新70%来源于汽车电子产品,电子产品成本占整车比例已经从上世纪70年代的4%,成长到现在的30%左右。未来仍将进一步提升,预期到2030年,该比例将可达到50%。在电子零部件越来越多,信息传输量越来越大的需求促动下,汽车网络化势头已经不可挡。因此,传统的电气网络已无法适应现代汽车电子系统的发展,新型 汽车总线 技术应运而生。   图|汽车总线   目前汽车上普遍采用的汽车总线有局部互联协议 LIN 和控制器局域网 CAN ,正在发展中的汽车总线技术还有高速容
[嵌入式]
孙正义:机器人将具备先进智能,跑鞋内建ARM芯片
日经亚洲评论报导,现年 59 岁的软银社长孙正义 21 日在股东年会上表示,他将在未来 10 年内从公司内部寻找继任人选。孙正义表示,斥资 320 亿美元收购 ARM 是他这辈子最为关键的一桩交易。他说,未来不管是跑鞋、眼镜甚至牛奶纸箱都将内建ARM芯片。 孙正义指出,2016 年投资的卫星网路服务新创公司 OneWeb 将提供物联网所需的基础服务。提到日前自 Alphabet 收购的 Boston Dynamics,孙正义说机器人在内建先进智能芯片后将会有明显的突破与进展。针对物联网可能遭到骇客攻击,软银也已经通过投资人工智能(AI)防毒公司 Cybereason 做好布局。包括软银在内的 SUNRISE(Softbank、
[半导体设计/制造]
安谋科技稳步焕新,多领域协同发力
2022年5月6日,安谋科技(中国)有限公司(以下简称“安谋科技”)迎来新任管理层。新任联席CEO刘仁辰和陈恂在员工线上大会宣布,将全面接手公司运营。这标志着,安谋科技一场以“换帅”为主线且历时两年之久的管理权纷争终于尘埃落定。 安谋科技在发布于其官方微信号的公开信中表示:在新领导层的带领下,将一如既往地作为一家独立运营的公司,支持中国半导体产业的发展,在保持安谋科技业务模式不变(包括但不限于继续开展Arm IP业务和大力发展自有知识产权IP)的基础上,进一步发展与客户的良性关系,深化与各合作伙伴的健康合作,持续加大投入丰富Arm中国合作伙伴生态系统。 安谋科技近期持续露出新动态,不仅官方渠道恢复发声,公司合作动态更是高频
[半导体设计/制造]
安谋科技稳步焕新,多领域协同发力
关于arm时钟频率的设置及编程
OSC是用无源晶振,EXT是用有源晶振或外部时钟2440的12M是Oscillator 是有源的呀! 2440的12M是Oscillator Crystal 无源晶体 Oscillator 有源晶体(里面有有源器件) 无源晶振内只有一片按一定轴向切割的石英晶体薄片,供接入运放(或微处理器的XTAL端)以形成振荡.有源晶振内带运放,工作在最佳状态,电源后,可直接输出一定频率的等幅正弦波,一般至少有4引脚,体积稍大. 准备先不跑系统,把S3C2440和周边硬件熟悉一下再说。 对于任何一个单片机,要使用它首先就要弄明白他的时钟系统,MCU的时钟就像人的心脏
[单片机]
基于ARM-Linux和CDMA的远程视频监控系统
0 引言 CDMA(码分多址)无线网络具有覆盖面广,高效、低成本的特点,CDMA网络的数据传输速率可达200kb/s,这里开发的嵌入式远程视频监控系统就是充分利用CDMA无线网络技术和嵌入式系统的特点而搭建的数据传输系统,特别适合边远偏僻或不具备常规网络传输条件的地方使用,例如车载视频监控系统、交通路口(车牌实时监视)及城市路灯的监控等。 1 嵌入式Linux系统 嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应对功能、可靠性、成本、体积、功耗要求严格的专用计算机系统,目前嵌入式系统已经无处不在,从汽车、家用微波炉、PDA(个人数字助理)、电视机、到工控生产现场、通信、仪器、仪表、汽车、船舶、航空、航天、军事装备
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved