新闻中心

EEPW首页>汽车电子>设计应用> 基于GPS 和GPRS 的多功能汽车记录仪的设计

基于GPS 和GPRS 的多功能汽车记录仪的设计

作者: 时间:2010-11-23 来源:网络 收藏

  2.6 语音模块

  系统在超速行驶、疲劳驾驶时,相应的高亮度LED 闪烁,同时启动语音报警功能,发出“超速,请减速”的警告语音,而且记录仪能播放监控平台发送的短信的内容即TTS(从文本到语音)。该记录仪采用语音天下的第二代语音合成器OSYNO 6288。它兼容GB2312、GBK、BIG5 和Unicode 等4 种内码格式文本的合成,可以在9 600,19 200、38 400 b/s 等波特率下正常工作,增加多种控制命令。比如合成、停止合成、暂停合成、继续合成、改变波特率等,可以自动识别词组,多音字。语音通过PWM(脉宽调制)输出至喇叭。为与监控软件、数据库和模块兼容, 采用通用性更好的Unicode码,通信参数:波特率为4 800 b/s,数据位为8 bit,停止位为1 bit,无奇偶校验,OSYNO 6288 内置有功放,软件调节音量至11 级,外接8 Ω/0.5 W 喇叭,播放声音洪亮、清晰,即使在较为嘈杂的环境下也可以清楚听到播放内容。

  2.7 数据存储器

行驶记录仪是在行驶过程中对各种状态进行记录的电子装置,各种状态数据存储是汽车行驶记录仪的重要部分。此前大多设计均采用Flash 和铁电存储器并用的方式。但是对于实时操作系统Linux 只要采用一片Flash就可以满足需要。目前Linux 操作系统可以很好支持NandFlash,AT91sam9260 支持Nand Flash 启动, 并且与之相应的yaffs2 文件系统已经成熟,保证了数据的准确性。由于本系统需要保存大量数据:定位信息、疑点记录、行驶记录、断电记录、疲劳驾驶记录、油位等,所以采用K9F1G08U0B 型128 M×2 K 页NandFlash 存储器。

  2.8 油位传感器

  本系统加装精确的油位传感器,对油位实时记录,并通过传输至监控平台,车辆运营企业可以实时掌握车辆的油位情况,彻底杜绝司机偷油卖油,拉私活的情况发生。

  车辆电环境复杂干扰多,因此采用电流型传感器。本系统采用CR-606 型电容式油位传感器, 当油进入容器引起传感器壳体和感应电极之间的变化, 适用于任何不导电的液体, 油位精度高, 油位液在采集小于1 mm, 测量误差小于0.1%,标准输出4~20 mA 的线性电流信号,经过150 Ω 精密电阻转换至0.6~3 V 电压信号,通过AT91sam9260 的A/D 转换模块转换为数字量并保存。

  2.9 实时时钟

  主处理器AT91sam9260 虽内置时钟,但是当处理器断电后,该实时时钟所有寄存器的内容将全部丢失。为此,系统需要外部实时时钟。PCF8563 符合这一要求,PCF8563 具有掉电检测器,当供电电压低于某个值时,秒寄存器中的某标志位将置1,指明此时实时时钟可能会产生不准确的时钟/日历信息,从而避免了记录仪对错误时间的记录。此外,PCF8563可以工作在1~5.5 V 的宽电压范围内,具有体积小、外围电路简单、运行稳定性、精度高、功耗低等优点,Linux 内核对其支持稳定可靠,满足本系统的要求。

  2.10 通信接口

  根据GB/T19056-2003,标准记录仪应至少配置2 种标准接口:USB 标准接口、标准RS-232 型9 针接口。通过RS-232串行口直接进行数据传输比较容易实现, 可靠性高。

  AT91sam9260 的串行口经电平转换器MAX232 转换为EIA/TIA-232-E 电平,从而提供标准的RS-232 接口。AT91sam9260 支持USB 主从模式,也可直接外接USB 接口。

  3 汽车记录仪软件设计

  汽车记录仪是无人控制的, 在汽车开始运行时自动启动,本系统采用Linux 操作系统,运行过程为:汽车上电记录仪启动,开始引导Bootstrap、Uboot,通过Bootloader 调用Linux内核,加载yaffs2 文件系统,自动启动应用程序。

  3.1 主程序

  应用程序采用C 语言编写,主程序负责整个系统的初始化,硬件设备通过信号(软中断)与主程序交互数据,完成相应的操作,主程序流程如图4 所示。

  3.2数据发送

  本系统设计记录的数据包括行驶记录, 上电至掉电之间,每3 s 保存一次时间、速度、状态、定位信息和角度;疑点记录,保存每次停车前20 s 内,每0.2 s 的速度和状态信息;断电记录,保存系统断电时的时间;疲劳驾驶记录,保存司机连续驾车超过4 h 的起始时间。所有的记录数据要求保存2 个月,因此保存数据量大,相应需要传输的数据量也大。

  在GPRS 传输数据之前对数据进行压缩并且在系统出现新记录时进行传输。在编译busybox 时选择gzip 功能,通过gzip 对数据压缩, 一般压缩比可达9 ∶ 1。由于GPRS 透明传输要求每次传输数据最大不超过1 KB, 因此将需传输的数据分割为每包1 000 字节的数据, 并为每包数据标识ID 号。服务器接收端根据接收到的数据包ID 重新组合数据, 通过解压缩软件解压得到记录仪的记录数据。

  3.3 断电记录的实现

  在大型车队及运输公司, 司机为免受记录仪的约束,往往在运营过程中对记录仪非法断电, 使记录仪不能正常工作,以此躲避监控。因此本系统专门设计断电记录,对司机非法断电的行为进行监督。系统启动时将当前时钟与上次停机时时钟进行对比,Linux 从死机至重启的时间应在5 min 以内,若对比时间超过5 min,说明记录仪长时间断电,将上次停机时间作为断电记录保存,并发送至服务器。

  3.4 时间和速度校准

  ARM 接收的RMC 信息。若GPS 时间与当前系统时间相差达到30 s, 则以GPS 时间为准并校准系统时间和硬件时钟。当前速度与GPS 速度比较,若GPS 速度连续30 s 大于0,而速度采集电路接收始终为0,则判断速度传感器故障,并使用GPS 速度作为系统当前速度, 并向监控中心报警。



评论


相关推荐

技术专区

关闭