微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 基于CAN总线的行车记录仪设计

基于CAN总线的行车记录仪设计

时间:02-07 来源:电子发烧友网 点击:

块必须精心设计才能满足需求。

  电源模块电路简图如图2所示,其中U1是由电池提供的6V备份电源,U2(主电源)是车载12V电源,该电源模块被分成2路,经7805稳压后的+5v 电压单独给液晶供电,经4275转换后的VCC给整个单片机及辅助电路供电。系统正常工作时,D1处于截止状态,备份电池不起作用,一旦失去主电源供给,则D1迅速导通,备份电源自动启动为系统供电。

  

  图2 电源模块

  电源模块此种设计方案有2个原因,如下所示:

  (1) 备用电池的采用。记录仪存储采集数据,即将采集数据按顺序写进为记录文件所分配的簇中,当采集结束时实验员断开存储开关或者因掉电而采集被迫终止,单片机都需要做关闭记录文件这一重要处理。关闭文件就是将文件实际长度和采集数据记录总数写进文件相关头中。假如不正确关闭文件,或者因为掉电来不及关闭文件,Windows将无法找到文件的末尾,PC机软件也因找不到采集数据的末尾而无法打开文件,此时,所做的采集工作将因此失败。为了防止因掉电而无法关闭文件,本系统采用了备用电池。

  (2)单片机和液晶单独供电。主电源正常工作时,整个系统的电源由主电源供给,一旦主电源掉电,备用电池只给单片机供电,供单片机完成关闭文件处理,而液晶因掉电而不工作。因液晶的功耗较大而备份电池电力有限,此种分开2路的供电方式不但能提供关闭文件的电源需要,而且还节约了电池电力。

  当然,备份电池不可能长时间使用,只能用于系统紧急关闭文件处理,为此设计了电源检测信号,一旦检测出主电源掉电,既启用蜂鸣器和发光二极管来提醒用户电源供电不正常,需工作人员检查记录仪电源接头。

  2.5 CI-I375接口电路模块

  本系统中的USB 接口芯片选用的南京沁恒电子公司的CH375,该芯片支持主机方式和设备方式.它具有8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机的系统总线上。还内置了处理Mass—Storage海量存储设备的专用通讯协议的固件,外部单片机可以直接以扇区为基本单位读写u盘。

  读选通信号RD#、写选通信号WR#、片选信号CS#均是输入信号且低电平有效,CS#是中断请求输出信号,也是低电平有效。而A0信号用来区分命令和数据,当A0=1时可以写命令,当A0=0时可以读写数据,8位双向数据总线与单片机的PA端口(PA0-PA7)相连,并口传输。其硬件上支持自动检测 USB设备连接功能,在主机方式下正常连接时,其ACT#脚输出低电平,因此使ACT# I脚外接上拉电阻并串联一发光二极管,可用来标示USB设备是否正常连接。

  在布PCB时,尽量使7805芯片布在板子边缘且散热比较好的地方,并且远离液晶屏幕。因为在实际过程中,经过测试,7805芯片产生大量的热量,如果长时间使用并且靠近液晶屏幕,将会影响液晶的显示效果。另外,尽量使电源模块的发光二极管靠近电源接口,USB模块的发光二极管靠近USB模块,并且以颜色区分开,方便用户观察。

  3 系统软件设计

  在软件设计方面采用模块化设计思想和中断调用方案,系统上电后首先进行初始化,对 CAN总线上的信息采用中断方式接收,由XGATE处理中断程序,系统每接收一帧信息,便产生一次中断来触发微处理器进入中断,在中断服务程序中读取该帧数据并暂存在缓存里。此缓存是XGATE和CPU共享的,由于通过CH375读写u盘的数据单位是一个扇区,所以本系统将缓存设置为一个扇区 (512Byte),当缓存满时,由主程序将数据转存到U盘中。

  系统软件部分主要功能模块包括:主程序模块,初始化模块,中断处理模块。

  3.1 主程序设计

  主程序流程图如图3所示。

  由流程图3可看出,在整个程序运行期间,采用查询的方式来检测电源是否掉电。由于车内CAN 信号发包频率均为几十毫秒,如果液晶屏实时显示数据的话,屏幕刷新太快,不易于观察,因此本系统设置当缓存接收满时,刷新一次屏幕数据,这样的刷新频率足以满足用户的需要,无论存储开关是否闭和,液晶屏均提供显示服务。记录过程中突然掉电或者用户断开存储开关,都将导致当前所记录文件的关闭,即修改文件指针和文件长度等与文件系统相关的处理。

  

  图3 主程序流程

  3.2 初始化模块

  (1)CAN模块的初始化

对 CAN控制器的初始化设计是重点,必须对写入的每个寄存器进行仔细全面的考虑,如果初始化没成功,系统将无法正常工作。本记录仪实质上是作为整个CAN 网络的一个增加节点参与通信,网络内的所有CAN节点必须同步。要进行CAN模块的初始化,首先必须进入初始化模式,通过设置IN— ITRQ(CANCTLO)位发起请求

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top