
公安部、交通部、国家安全生产监督管理局于2001年底联合发布《关于加强公路客运交通安全管理的通告》,通告要求:长途客、货运车辆应当逐步安装、使用符合国家有关标准的行车记录仪。本文介绍的汽车行驶记录仪是江苏航泰电子科技有限公司设计开发的产品,是陕西重型汽车有限公司所选用汽车行驶记录仪品种之一。
一、汽车行驶记录仪简述
汽车行驶记录仪(vehicle traveling datarecorder)俗称“汽车黑匣子”, 是对车辆行驶速度、时间、里程以及有关车辆行驶的其他状态信息进行记录、存储并可通过接口实现数据输出的数字式电子记录装置。它将微机应用的先进性、实用性与车辆运行状态统一起来,为分析、判断汽车行驶状态和处理交通事故提供了可靠的科学依据。江苏航泰电子科技有限公司生产的汽车行驶记录仪是陕西重型汽车有限公司引进众多品种之一,该记录仪采用P89C668单片机为核心处理器,大容量E2PROM存储器作为存储载体,利用外部精确定时中断的方式实现定时的数据采集与存储,利用串口中断的方式或者USB方式实现与微机的数据通讯,把汽车行驶记录仪发送的数据以二进制文件的形式发送并存储到计算机硬盘上,通过专用计算机软件以图形的形式模拟再现汽车的历史行驶状态。
二、行驶记录仪的系统组成
系统的总体框图见图1。P89C668单片机为核心处理器,完成信息采集、信息动态存储及数据处理,并通过串口实现与微机通讯。由于汽车行驶中各种状态信息具有时间特征,因此数据在存储时必须按时间坐标排序,同时采用E2PROM固态存储和FRAM动态存储相结合的方式进行数据存储和记忆。
三、信息采集模块的工作原理
记录仪记录汽车运行的两类状态信息:来自速度传感器的脉冲信号和包括制动信号在内的开关量信号。
左右转向灯、前照灯、开门信号、制动灯信号等10 路开关信号量通过光电耦合器隔离,由74HC244输出给单片机处理。为了使行驶记录仪能够实时记录汽车行驶状态信息,系统选用时钟芯片RX8025提供时间信号。RX8025能够自动存取并更新当前的时间, 单片机可通过读RX8025的内部时标寄存器得到当前的时间和日历,也可通过选择二进制码或BCD码初始化芯片的10个时标寄存器。
车速传感器有电磁感应式、磁性形式、光电式、霍尔式。不论哪一种传感器都以脉冲的形式向外输出转速信号。目前大部分汽车常采用霍尔式传感器,这种传感器所产生的电压非常小,但是单片机只能识别0~5V方波信号,所以此电压信号输入到行驶记录仪后必须经过放大和整形电路将其的输出脉冲信号转换,如图2所示。其原理是霍尔式传感器输出脉冲信号Ui,经过放大器A将霍尔微小电压放大, 再经过施密特触发器和晶体管T将波形转换为0~5V的方波信号, 从而为单片机所识别。
系统采用频率法对车速进行测量,即累计单位时间内的脉冲个数,从而计算出该时刻的车速。通过对RX8025的32768Hz频率输出端的计数,从而获得测速采样时间0.125s,通过设定一个计数存储器Count来记录脉冲个数,当累计到4096个脉冲信号时,CPU响应中断并对计数存储器Count清零,存储器重新计数, 依次循环。然后由程序按下面的公式计算车速。每125ms速度的计算公式为
式中:vs——每125ms的行驶速度;Ps——该125ms内的脉冲数;T——车辆特征系数。
四、信息存储及处理模块
记录仪中的数据应该包括二个部分,一部分为汽车实时数据(存放汽车发生事故前后的数据),另一部分为汽车历史数据(存放汽车和驾驶员的行驶状况)。汽车实时数据主要是用于分析事故发生的原因和事故的责任,汽车历史数据作为事故分析的参考依据和对汽车及驾驶员的运行状况考核,历史数据是以当前汽车实时数据为依据。存储历史数据的存储器系统选用ATMEL公司的E2PROM(AT24C1024)。由于实时数据比历史数据保存频率高(国标要求最大0.2s采集一次数据,以20s为一个存储单位,实时数据需要存储10次20s的数据),系统选用RAMTRON公司的FRAM(FM1808)。
一次实时数据包括时间、速度、8个开关量,共计10个信号量,在FM1808内设置1地址指针,每次停车前都将当前时刻前20 s实时速度数据保存,地址指针自动加1,计满10次此指针清零循环计数。历史数据包括时间、速度,处理时在FM1808内设定1 h数据缓冲区,如果记录数据超时,即将此缓冲区数据保存进AT24C1024。如果此时车辆断电,再次上电时已经跨小时,在上电时刻立即将小时数据保存,并将缓冲区清空,在E2PROM中计满360 h后数据指针清零循环计数。
五、串口通讯模块
计算机可以通过串口随时读取行驶记录仪存储的数据。行驶记录仪与计算机之间的串口通讯遵循RS- 232串行通讯协议。串行通讯时,单片机依次将FRAM中存储的实时数据和E2PROM中存储的历史数据读出并经串口发出, 经过MAX232电平转换器发送给计算机。
六、汽车行驶记录仪在重型汽车上的应用
陕西重型汽车集团有限公司生产的斯太尔和F2000德龙汽车,均可根据用户需要加装行驶记录仪,文章中介绍的行驶记录仪为公司引进品种之一,其外形结构如图3所示,该记录仪安装简单、性能可靠。主要指标:①主电源的标称电压为24V,范围为18~32V,具有36V过压、28±0.2V抗反接能力。②记录仪断电后,能自动进入保护状态,断电前存储数据15天不丢失。③记录仪能连续记录24 h数据,记录时间误差在±5s内。④记录仪以0.2s时间间隔持续记录并存储停车前20s实时时间对应的车辆行驶速度值及车辆制动状态信号,记录次数为10次。⑤记录仪记录的速度单位为km/h,测量范围为0~180km/h,测量分辨率等于或优于1km/h。⑥记录仪能记录、存储8路不同类型开关量360h的数据。⑦记录仪能持续记录车辆的累计行驶里程,单位为km,行驶里程的范围为0~999999.9 km,分辨率优于0.1km。⑧记录仪的数据分析软件能以曲线图和表格的形式显示实时时间对应的车辆行驶速度、开关量状态等数据,并可打印输出图形、表格等。
PLC一般不是单条指令周期计算的,他叫做扫描周期,也就是从第一个I/O扫描到最后一个一般来说小型的在10~20MS之间,目前一些高速的可以达到3MS的扫描周期,但他的单条指令执行是远高于51单片机的。51的话要看他的类型,现在一些新的高速单片机又称单指令周期每条可以达1NS,普通的51的话一般要看多少的晶镇频率比如12MHZ的主频的话一个指令是1US(单指令周期的指令)另外他们也没有什么可比性,因为8051是8位MCU而PLC用的一般都是32位的。2、一般PLC对外部脉冲采集都有固定的IN口,一般是X0,X1两个,是高速记数口。要是高级的话有独立的记数模块,直接采集数据。没有什么可比性。
3、一般P***开头的是菲利普的MCU这个因为型号太多建议你看下这个网站:http://www.qlmcu.com/wz_tw/readnews.asp?newsid=397
你的问题4是用单片机写吗?另外我不知道FM1808是串性存储还是并行的,并行的话一般直接用MOVC寻址就可以。
如果直接是外部RAM的话.不用那么麻烦..直接用指令访问就行了.
char xdata *aa
aa=0x100
aa = 0xAA
这样就可以忘外部ram0x100地址里面写东西了
如果你不是总线形式的话.
那就只有通过你上边的那种.时许形式.读写了.
不过看你接的那种 要两次P0口的,,估计是总线形式的.
就是不知道你的P0口有没有用锁存器.否则.是玩不成任务的.
补充:
比人问得.
上面我写错了.
应该是
aa = 0x100
*aa = 0xAA//这里多了一个*,,表示往地址里面写数据.
当然如果你要读0x100的数据
那就
char da
da = *aa去回来就行了.
这种句子.翻译成汇编就是movx dptr , @a这种的句子
因为51访问外部ram用的就是movx 指令,,非前256字节
只能通过dptr访问
用movx指令.单片机会自动产生.你上面写的 *** 作P0上次的动作,
所以如果要这样访问,必须P0有锁存器,,否则不可能完成任务
这种方式.一般用在 51单片机.用总线形式扩展.外部ram的
/////
这是人家的问题,看看是不是和你的一样
http://zhidao.baidu.com/question/85352979.html
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)