多功能嵌入式车辆行驶监控终端设计

发布者:EtherealBeauty最新更新时间:2012-02-14 来源: 单片机与嵌入式系统应用关键字:嵌入式系统  车辆监控  TM8251  TJA1020 手机看文章 扫描二维码
随时随地手机看文章

1 终端功能

    控终端除了具有传统的记录仪所拥有的事故分析功能外,还能在汽车驾驶员超速行驶时发出超速报警声,以提醒驾驶员减速行驶,并详细记录车辆每次的开车时间、行驶里程、行驶时间、最高车速,以及每次最高车速的持续时间,方便交通管理部门根据所记录的有关数据对车辆进行有效的管理;同时,该设备可实现多种信息处理,显示汽车状况,进行自我诊断,对车速、发动机转速、水温、油压、刹车气压、轮胎压力和蓄电池电压等一系列参数进行有效监控;通过控制发光二极管、液晶显示、蜂鸣器等报警手段,为司乘人员提供直接的汽车状况信息并发出各种超限情况的报警等,可有效防范和化解车辆事故的发生。另外,终端具有GPRS和GPS模块,可将各种监测数据实时传至公司管理中心,方便了公司车辆的统一调度和行车监测,利于提高公司管理水平。

2 终端功能模块设计

    选用带有ARM7TDMI-S内核的LPC2292微控制器,可实现对车速、转速信号、开关量信号以及水温、刹车气压、轮胎压力等模拟量信号的采集、处理以及数据的实时存储和显示,通过串口、USB接口可以实现与PC机之间的数据通信,通过 CAN和LIN总线接口可实现与汽车上的CAN或LIN节点间的数据通信。该系统的外围接口模块有电源模块、车速等脉冲信号采集模块、水温等模拟信号采集模块、键盘接口模块、存储器模块、GPS定位模块、GPRS通信模块、LCD显示模块、胎压监测以及通信接口模块,系统的组成框图如图1所示。限于篇幅,本文仅就若干特色功能模块设计作详细分析。

2.1 车速、转速信号采集电路设计

    现有运输车辆一般都装有霍尔式集成传感器,车速转换成的电压信号直接送至车速表,信号采集比较方便,具体处理方法是直接从车速表的接线端子取得车速信号。具体接线方式根据车速表信号输出电路来确定。信号出车速表端子后送至光耦4N35高速隔离开关,再送至集成运放LM358D前置差分电路,进一步去除干扰并有效放大,由LM358D输出端(7脚)送至9013进行次级放大,至此车速信号已是占空比为50%的方波信号,并已剔除杂波,可直接送至微控制器定时捕获端口进行计数,具体电路如图2所示。经反复实验优化,本电路抗干扰能力很强,实车测试时无论低速状态或超过110 km/h车速时,均可稳定准确地检测到速度信号。同理,发动机转速信号亦可采取类似方法进行处理(在此不再赘述)。[page]

2.3 CAN总线接口功能设计

    CAN正常工作需要具备CAN控制器以及CAN总线驱动器。前者实现网络层次结构中数据链路层和物理层的功能,后者则提供CAN控制器与物理总线之间的接口以及对CAN总线的差动发送和接收功能。LPC2292微控制器包含两个CAN控制器,单个总线上的数据传输速率高达1 Mbps,具有32位寄存器和RAM访问功能,带有全局滤波器和验收滤波器。本系统采用CTM8251D双路带隔离CAN收发器,至少可连接110个节点,通过扩展CAN总线接口,使得串行通信方式的选择更加多样化。当车内仪表也具有CAN总线接口的时候,它们可以直接利用此接口与记录仪通信。CAN总线接口电路如图4所示。

    CAN通信与一般的串口通信类似,在数据通信前先要对CAN总线进行初始化操作,包括CAN控制器的选择、数据寄存器的设置、通信波特率的设置等。初始化完成后,需要设置双方的通信协议,建立彼此的连接。只有在同一协议下工作的双方才能正确进行数据的交换。本系统设置的CAN通信协议为:无过滤条件、 bypass模式、波特率可以预先设置。

    本系统提供的CAN-BUS通信函数接口如下:

    ①初始化CAN:int CAN_Init(int cannum,uint32volatile baudset)。
    函数入口参数:cannum为CAN控制器的选择标志符,为1选择CAN0控制器,为2选择CAN1控制器;baudset为波特率,可以预先设置。
    函数出口参数:初始化成功返回0,失败则返回1。
    函数功能:对CAN控制器进行初始化。

[page]

    ②CAN总线发送数据:int CAN_SendData(int can-num,uint32 volatile frameinfo,uint32 volatile senddatal,uint32 volatile senddata2,uint32 volatile canmode)。
    函数入口参数:cannum同上;frameinfo为帧信息,用于设置帧信息寄存器;senddata1和senddata2分别为要发送的数据,用于设置数据寄存器A和B;canmode用于设置CAN工作模式。
    函数出口参数:数据发送成功返回0,失败则返回1。
    函数功能:CAN总线进行数据发送。
    ③CAN总线接收数据:int CAN_RcvData(int can-num。uint32 volatile *pdatal,uint32 volatile *pdata2)。函数入口参数:cannum同上;pdata1和pdata2为接收数据指针。
    函数功能:CAN总线接收数据,并从数据寄存器CANRDA和CANRDB中将数据读进对应的指针中。

2.4 LIN总线接口电路设计

    LIN是低成本网络中的汽车通信协议标准,可以提高通信质量、降低成本,将是在汽车中使用汽车分级网络的重要因素。LIN总线是一种简单的单总线系统,其软件协议栈比较简单。一个LIN网络由一个主机节点和一个以上的从机节点组成,所有的节点都包括有从机服务程序,用来发送和接收数据,仅有一个节点包含有主机服务程序。主机程序主要用于发送同步间隔、同步场和ID场(或命令),以控制和协调各个节点的有序通信。

    LPC2292微控制器集成有实现LIN总线节点的必要硬件,包括UART、捕获输入和足够的定时器,特别是其捕获输入功能,为LIN的帧头识别、帧同步 &波特率测量提供了极大的便利。LIN总线接口电路如图5所示,主要由LIN物理层接口芯片TJA1020构成,与LPC2292串口2相连,其主要完成MCU通信信号与LIN物理总线信号之间的相互转换,为MCU提供一个与LIN物理总线的接口。

2.5 红外通用接口模块

    出于用户统一采集数据需求考虑,本系统设计了通用的红外接口。它能够支持红外遥控和数据通信,支持IrDA协议,能够方便地与各种符合协议标准的设备进行通信。该模块由HSDL7001编解码芯片和HSDL3600红外收发芯片组成。 HSDL7001与MCU串口相连,原理框图如图6所示。

    HSDL7001可驱动IrDA兼容的收发器,最高传输速率达11 502 kbps,其内部有1个SIR编码器和1个SIR解码器,支持内部(外接3.684 MHz晶振)和外部16XCLK输入两种模式。当使用内部时钟时,波特率可通过A0、A1和A2进行调整。

3 终端软件设计

    嵌入式μClinux具有结构小巧、实时性强、稳定性高、可定制性强的特点。在网络通信方面,嵌入式操作系统支持TCP/IP及其他协议并提供通信协议动态挂接技术,以及操作系统内部的进程通信应用接口技术。本设计采用稳定的2.4版本的内核,并对它进行合理的裁减和加载,作为操作平台。μClinux己对本系统采用的主控器有了很好的支持,但在编译本系统的内核前,需要修改 uclinux/linux-2.4.x/arch/armnommu/config.in文件中关于外部存储空间的定义,以满足本系统关于外部 Flash、CH375B和LCD液晶屏等器件的存储空间的划分。

3.1 进程管理

    μClinux的进程调度沿用了Linux的传统,系统每隔一定时间挂起进程,同时系统产生快速和周期性的时钟计时中断,并通过调度函数(定时器处理函数)决定进程何时拥有相应的时间片,然后进行相关进程切换,这通过父进程调用:fork函数生成子进程来实现。

    本系统中,为每个任务建立数据处理子进程,包括:车速、转速等信号采集处理任务、串口定时通信任务、USB数据传输任务、GPRS数据传输任务、LCD数据显示更新任务等。子进程采用由μClinux内核中的cron组件触发任务机制。系统中的crontab文件记录了终端的定时数据处理任务信息(可由系统前台设定任务执行周期),时间一到即可被cron触发其相应的子进程。由于采用多进程处理,终端可方便地实现多种信号的实时采集以及数据的及时处理、存储和上送。

3.2 设备驱动程序编写

    设备驱动程序是内核与硬件之间的唯一接口,也是内核代码的一部分。当硬件设备要与内核进行交互时,就会产生一个中断信号,通过驱动程序预定义的入口点进入内核,入口点将此信号保存在栈中并保存被中断任务的寄存器的值。内核提取保存在栈中的中断信号,再由内核调用相应的中断处理程序。应用程序可以像操作普通文件一样对硬件设备进行操作。

    本系统用到LPC22292的4路A/D采样接口对水温、刹车气压以及发动机电压状态等参数进行采集。下面以A/D采样驱动程序为例进行分析:

[page]

    ①应用程序只有通过对设备文件的open、close、read/write、ioctl等进行操作才能访问硬件设备,Linux的扩展文件操作结构 file_operations实现了标准的文件操作到硬件设备操作的映射,每个设备驱动程序都要实现这个接口所定义的部分或全部函数。A/D驱动程序的扩展文件操作结构如下:


    ②在设备驱动程序中使用中断,是提高系统数据处理速率的有效手段。有两项工作要做:

    第一,在初始化函数中的register_chrdev()调用之后,使用request_irq()函数安装中断处理程序。request_irq()函数声明如下:


    其中的参数irq是驱动程序使用的设备中断号;handler是中断服务函数指针;flags是一个与中断管理有关的各种选项的字节掩码;device在/proc/interrupts中用于显示中断的拥有者;dev_id这个指针用于共享的中断信号线,返回0成功,非0失败。

    A/D驱动程序安装如下一个中断处理程序:

      
    第二,实现这个中断服务程序,参数必须与request_irq()登记时要求的一致,且不能有返回值。

    ③A/D初始化

  

结 语

    基于ARM核的LPC2292为控制核心的嵌入式车辆行驶监控终端,在现有行车记录仪基础上增加了若干新功能。它具有以下特点:

    ①以μClinux系统为数据处理平台,通过多任务进程调度机制大大提高了系统处理海量数据的能力,实时性得到很大提高,对于车速、发动机转速、刹车气压等监测频率要求高的参数可以精确监测,增强了车辆行驶安全性。
    ②先进的通信功能。CAN、LIN总线接口使得终端可以与具备通用总线接口的车辆融为一体,作为车辆的内置诊断装置,可全方位获取车辆参数。USB接口使得监控数据可以方便地保存至系统后台,利于数据分析。
    ③完善的数据上传与车辆定位跟踪功能。管理者不仅可以实时了解车辆的位置现状,而且可以实时监控车辆的运行状态,通过司机与管理者的双重监控,可以有效保证车辆的安全运行,这对于从事高危运输行业的车辆具有重要意义。

    总之,将高性能的ARM微控制器与嵌入式操作系统运用于车辆行驶监控终端中,既能大大提高车辆数据采集与分析的效率和准确性,又可实现对车辆多种性能参数的实时监控,是今后车辆远程实时监控技术的发展趋势。

关键字:嵌入式系统  车辆监控  TM8251  TJA1020 引用地址:多功能嵌入式车辆行驶监控终端设计

上一篇:汽车LED照明系统的挑战和解决方案
下一篇:汽车导航系统的功耗问题研究

推荐阅读最新更新时间:2024-05-02 21:54

嵌入式系统实时性的问题
引 言 随着后PC时代以及网络、通信技术时代的到来,大量的计算机专业人员进入了嵌入式应用领域;然而,有大量的嵌入式系统应用是以单片机的形式,应用在传统的电子技术领域中。因此,以计算机领域人员为主体的,远离对象系统的嵌入式系统的计算机工程应用模式,和以电子技术领域人员为主体,与对象系统紧耦合的电子技术应用模式产生了概念上的碰撞。许多电子技术应用模式熟视无睹、习以为常的概念,在计算机工程应用领域中作为一个新概念提出时,常常使电子技术应用领域中的人员感到莫明其妙。以前的“嵌入式系统”概念是其一,而今“嵌入式系统的实时性”又是一例。 1 什么是电子系统的实时性 任何一个电子系统都可看成是一个激励-响应系统。每个特定的电子系统都有
[嵌入式]
ARM7嵌入式系统在车辆调度中的应用范畴
一、车辆调度系统的整体设计: 整个系统包括四个部分(1)通信主站;(2)车载从站;(3)通信链路。(4)系统监控部分。下面对各个部分的功能做一个简单的介绍。 (1)通信主站:完成信息的转发,它是连接系统监控部分和车载从站的纽带,它将从系统监控部分来的信息转发给车载从站。并且接收车载从站的信息,并将信息上传给系统监控部分。 (2)车载从站:被监控的对象,接收监控调度命令,并可以返回自己的状态信息。状态信息的取得是依靠在车载从站中的GPS接收机来完成车辆位置和速度信息等的采集工作。 (3)通信链路:完成通信主站和车载从站的信息传递及通信主站和系统监控部分的信息交互。其中前者在本次设计中是以GSM手机模块做为通信的工具,
[单片机]
Eurotech嵌入式系统在公共交通和运输中的应用
   公共交通和运输   Eurotech的嵌入式系统解决方案可以很好的满足公路、铁路、航空和其它公共交通OEM 制造商的各种苛刻要求。作为以结构设计和系统集成见长的嵌入式PC结构专家,我们具有全面的技术和实践经验,可使成本最优化,确保产品的高可靠性并缩短客户产品的上市时间。      Eurotech将丰富的系统集成和电子/机械设计方面的经验应用到了商业产品的设计中,包括标准的PC/104, PC/104-Plus和PCI-104主板和外围板卡,及机箱, 以确保我们的客户最终达到成功。我们的目标是与我们的公共交通、运输行业的客户以及软件集成商一起努力,提供全套的长期的解决方案,并提供持续的产品及技术支持。      典型的系统
[嵌入式]
ARM7嵌入式系统在车辆调度中的应用
一、车辆调度系统的整体设计: 整个系统包括四个部分(1)通信主站;(2)车载从站;(3)通信链路。(4)系统监控部分。下面对各个部分的功能做一个简单的介绍。 (1)通信主站:完成信息的转发,它是连接系统监控部分和车载从站的纽带,它将从系统监控部分来的信息转发给车载从站。并且接收车载从站的信息,并将信息上传给系统监控部分。 (2)车载从站:被监控的对象,接收监控调度命令,并可以返回自己的状态信息。状态信息的取得是依靠在车载从站中的GPS接收机来完成车辆位置和速度信息等的采集工作。 (3)通信链路:完成通信主站和车载从站的信息传递及通信主站和系统监控部分的信息交互。其中前者在本次设计中是以GSM手机模块做为通信的工具,而后者是
[单片机]
ARM7<font color='red'>嵌入式系统</font>在车辆调度中的应用
基于嵌入式系统的手机编程开发平台
引 言 随着移动通信技术的飞速发展,手机已经从单一的电话通信设备转变为信息网络终端,因此,近年来手机编程已经成为一项重要的技术。手机是一个高新技术的集合体,包含了移动终端、嵌入式系统、数字信号处理以及通信协议设置等多项技术。手机编程开发平台是集合了通信技术、嵌入式技术、电子技术、软件工程、操作系统等理论的软硬件的教学与研究开发平台。在这个开发平台上开发相应的程序,可以掌握嵌入式系统设计的流程与方法;可以根据使用者的需求,设计并实现手机的基本功能和扩展功能。 1 手机编程开发平台总体结构 作为专业技术课程,手机编程技术的教学内容包括系统设置、操作系统使用以及应用软件开发,因此,手机编程平台必须支持各项教学内容。另外,作为教学仪
[单片机]
为什么不是嵌入式系统
一、前言 前几天和一个在某研究所的发小聊天,他说:现在的航空、航天和导弹等武器装备中,控制系统几乎都是用单片机,而不是嵌入式系统。 乍一听,和我们的直觉有矛盾啊:那么高大上的设备,其中的控制逻辑一定很复杂,不用嵌入式系统怎么来完成那么复杂的功能控制啊?然后仔细了解了一下,才明白答案是:安全+可控。 这篇文章我们就来聊一下关于单片机与嵌入式、操作系统与 RTOS 之间的那些事!通过这篇文章,让你操作系统的实时性有一个系统、全面的理解! 二、关于单片机与嵌入式系统之间界定 说实话,关于它俩的区分,没有人可以给出一个标准的、正确的答案。每个人理解的单片机与嵌入式系统,都是略有差别的。 抛开硬件,从应用程序开发的角度来看,
[单片机]
为什么不是<font color='red'>嵌入式系统</font>?
嵌入式JavaPOS系统测试的设计与实现
   0 引 言   随着嵌入式计算机应用技术的发展,嵌入式技术已经广泛应用到现代生活的方方面面。在零售系统方面,零售收款机是嵌入式应用的一个重要领域。目前,市场上的收款机大体上可分为三类:第一类是基于PC和DOS/Windows体系的,这类产品目前占市场绝大多数,属于高端产品,价格太高,适合大的商场和销售系统;第二类是基于单片机(51系列居多)的,基本上没有操作系统的支持,功能也较弱,主要用于餐饮娱乐,占据中低档市场;第三类是正在快速发展的基于嵌入式芯片和嵌入式操作系统的,价格较低,功能较强,适用于中高档市场,这类产品将是未来市场的主体。以上三类收款机的开发平台形形色色,基本上是每一款就是一种开发平台,没有统一的规范、开发和
[嵌入式]
手机自动售货机的嵌入式系统设计
引 言   移动增值业务产品的核心特点是移动性、即时性和个人性。移动增值服务是在通信技术、计算机技术和互联网技术不断发展融合的基础上,在人们以信息为基础的各种应用需求快速增长的激励下,在社会信息化水平日益提高的前提下,迅速发展的一种全新的服务方式。由于移动通信自身所具有的可移动性、无时空限制性、专属性、安全性和时尚性的特点,加上基于这些特点之上的短信息、游戏、支付、定位、办公等丰富多彩的应用服务,使得我国的移动增值业务在短短数年里从无到有,迅速发展为欣欣向荣的产业。本系统采用的是以ATmegal28单片机为核心的自动售货机,通过BENQ的13SM/GPRS M22模块与服务器通信来实现以手机支付形式的移动增值服务系统。在实际设计
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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