基于CAN总线的半挂车安全预警系统设计

发布者:水墨人生最新更新时间:2012-03-06 来源: 微计算机信息 关键字:CAN总线  半挂车  安全预警系统 手机看文章 扫描二维码
随时随地手机看文章

1 引言

半挂车指“其设计和技术特性需汽车牵引,才能正常使用的一种无动力的道路车辆,用于载运人员和货物”(GB/T3730.1-2001标准)。 半挂车的种类很多,包括厢式半挂车、罐式半挂车、平板半挂车、集装箱半挂车、车辆运输半挂车等等。随着我国公路物流运输业的发展,半挂车以其运输效率高、运载量大、燃油经济性好、运输成本低等优势使用越来越广泛。随之而来的是半挂车的安全问题。据2006年公安交通部门统计,全国半挂车的数量约占整个机动车保有量的5%左右,重大交通事故中,涉及到半挂车等大型货运机动车辆的事故占到约47%,造成的人员死亡率占总数的约30%。半挂车的安全隐患主要来自两个方面:一是超载现象。超载现象不仅对高速公路等交通设施造成破坏,而且使得汽车轮胎处在极大的负荷下,易引发爆胎事故;货车超载也使得货物更容易变得不平衡,导致车辆发生侧翻倾覆的事故。二是轮胎安全,缺乏轮胎压力温度监测系统;因此建立半挂车的安全预警系统非常必要。

2 总体设计

半挂车车身长度一般在 6—14 米,车身长,电磁干扰大,汽车电子单元多而复杂,采用传统的四轮轿车独立的TPMS 方案信号传输易受干扰屏蔽,而且与其它汽车电子单元无法进行信息交换,系统的可靠性和扩展性不好。因此设计采用基于CAN 总线的方式,将各轮胎气压、温度监测装置和其它诸如ABS、发动机、仪表盘的汽车电子单元都作为一个个CAN 总线上的结点, 由一个中心预警模块统一监测控制,可提高系统可靠性和监测效率,节省各模块重复开发费用。如图1 所示。

3 系统硬件设计
3.1 CAN 总线的特点

CAN 全称为Controller Area Network,即控制器局域网,是国际上应用最广泛的现场总线之一。

CAN与其它总线结构相比有较优越的特点[1]:(1)CAN总线为多主站总线,各结点均可在任意时刻主动向网络上的其他结点发送信息,不分主从,通信灵活;(2)CAN总线上每帧有效字节数最多为8个,传输时间短,受干扰概率低,并有CRC及其他校验措施,具有极好的检错效果,数据出错率极低。(3)CAN总线只有两根导线,系统扩充时,不需要应用层以及任何结点软件和硬件的任何改变,可直接将新结点挂在总线上即可,因此走线少,系统扩充容易,改型灵活;网络构建成本低,总线利用率极高;(4)数据传输距离可满足5-15米的汽车系统,数据传输速率高达1Mbit/s,也可满足长达10km工业应用。

3.2 CAN 总线地址分配

如何来区分总线上的各个结点呢?在 CAN 总线上发送的每一条报文都具有唯一的一个11 位(标准帧)或29 位(扩展帧)数字的ID,可采用静态分配地址的方法,将ID 的前3—4 位定义为结点地址,其余各位自行定义,写入各结点发送的帧消息中。中央结点接收到一个CAN 数据帧后通过检查前3—4 为确定数据是从哪个结点发出的,从而做出响应的处理。CAN 总线状态取决于二进制数“0”而不是“1”,所以ID 号越小,则该报文拥有越高的优先权。一般后轮轮胎的负荷大于前轮,因经常靠右行驶,右侧的轮胎负荷可能大于左侧[2],因此在轮胎结点地址分配时,可以将负荷较大的轮胎分配为小地址,优先发送该结点数据。

3.3 中央预警模块

中央控制模块的硬件设计如图 2 所示,分五个部分:一是处理器的选取和使用。处理器要求选取性能高,体积小,价格比较低,功耗小,安装方便,安全可靠的产品。目前嵌入式系统中比较常用的32 位基于ARM7 框架的S3C44B0X 处理器比较符合要求。二是存储部件的扩展,主要用于程序烧制和运行。三是要有输入输出部件,使用触摸屏作为输入设备,LCD和音频播放器作为输出设备,实现胎压和温度门限值的输入和实际监测数据输出预警。四是CAN 接口电路设计,如果选取的处理器自带CAN 接口电路当然更好,如果选取的处理器本身不带CAN 接口功能,可通过外接CAN 控制器的方式实现数据收发(图2 采用S3C44B0X 处理器SPI 同步串行接口与MCP2510 控制器、TJA1050 收发器相连实现CAN 接口功能)。五是要有模块调试电路,主要是串行口和JTAG 接口的设计。
[page]

4 系统软件设计
4.1 操作系统引导

本系统软件设计采用目前比较流行的嵌入式实时多任务开放式操作系统μC-OS/II 。该操作系统要在S3C44B0X处理器上运行必须先对其进行移植[3],然后由Bootloader中由BOOT()、Loadfile()两个函数来完成操作系统的引导和控制权的转移。系统将LCD、音频、CAN接口控制器等全部硬件驱动程序,图形API,控件函数,以及系统的基本任务生成专门的库(在STD2.5的开发环境下生成的库为ucos_lib.alf),使基于库的应用程序开发变的异常简单,不用考虑底层的细节。应用程序开发后与专门库、头文件以及μC/OS-II操作系统会绑定在一起编译,生成唯一执行文件system.bin,存放在16M FLASH中,在系统启动时由BootLoader依靠文件系统从FLASH 中读到SDRAM 中,然后移植到该代码上,完成操作系统的引导任务。

4.2设置TPMS的胎压与温度报警门限

汽车轮胎的压力与温度是密切相关的,当轮胎气压低于标准值时,变形增大,受力发生变化,若胎压长期低于正常气压的80%,在高速行驶时,轮胎会因急剧升温而脱层,甚至导致爆胎[4]。当轮胎气压高于标准值时,因轮胎与地面接触的面积减少,单位压力增高,使轮胎胎面的中部磨损增加。通过室内试验证明:气压提高25%,轮胎寿命将会降低15~20%;气压降低25%,寿命大约降低30%。此外,汽车轮胎温度越高,轮胎的强度越低,变形越大(一般不能超过80℃,当温度达到95℃时,轮胎的情况非常危险),每升高1℃,轮胎磨损就增加2%,行驶速度每增加一倍,轮胎行驶里程将降低50%[5]。因此,最好不要超温、超速行使。由于不同载重、不同型号的半挂车轮胎标准胎压、温度不同,系统设置为可由触摸屏面板自行输入参考标准胎压和温度值。实际胎压值在标准胎压值的-10到+10%之间波动认为正常;在-25%到-10%之间或+25%到+10%之间波动视为一般性异常,发出二级预警信号,提示司机做出相应处理;低于25%或高于25%视为严重异常,发出一级预警信息。在不考虑外部温度、路面等因素影响,默认轮胎最大温度值为80 oC,超过80 oC视为一般异常,发出二级预警,超过100oC视为严重异常,发出一级预警信号。系统中通过触摸屏参数选取任务TouchOption_Task()可获得用户指定轮胎标准压力和最大温度,存放于变量Press和Temp中。

4.3 胎压显示、声音预警

为保证系统的实时性,采取中断方式接收CAN 总线数据,由Main_Task()任务完成。对于接收到的压力、温度采样数据,首先调用CANData_deal()函数根据ID 码区分各个轮胎的数据,由Display_Task()任务执行在LCD 上以直方图的形式显示轮胎压力信息;其次切换到任务Sound_Task()将数据与用户设置的压力(温度)标准值进行比较,若上下偏离标准值在25%(20%温度标准值)范围内,采取一级报警策略,连续播放急促的警报声,提请司机立即停车;再次将数据与标准压力(温度)值进行比较,若偏离标准值10%,发出二级报警信息,断断续续的滴答声,提请司机注意轮胎压力不够或过大,影响轮胎使用寿命和经济运行,需要对轮胎进行检修。各任务间的信息传递和任务唤醒采用邮箱机制。

void Mian_Task(Void *id) //接收处理CAN 总线数据任务
{……// MCP2510 初始化,准备以中断方式接收数据
for(;;)
{rxmsg=(char)*=OSMboxPend(ISRTaskMbox,0,&err);//接收邮箱消息
if(*rxmsg=’0’
{rINTMSK&-(~BIT_TIME0);禁止外部中断,但不禁止节拍中断
rINTMSK|=BIT_EINT4567;
canRead(n, &id, data, &length, &rxRTR, &isExt);
CANData_deal(id,data);
rINTMSK&=~(BIT_EINT4567);//开启中断
······}}}
void CANData_deal(id,data) //CANData_deal()对数据进行处理
{······//定义相关信息
if ydata[1]> Pressure*110%* || data[1]< Pressure*90% ||data[2]> Temperature
{ isrtxmsg=‘2’;//向邮箱发送二级声音预警信息
OSMboxPost(soundMbox,(void*)&isrtxmsg)
}else
{if ydata[1]>ya*125* || data[1] Temperature*120%
{ isrtxmsg=‘1’;// 向邮箱发送一级声音预警信息
OSMboxPost(soundMbox,(void*)&isrtxmsg)}}
canid=id&0x700//对id 第8—10 位进行判断
switch(canid)
{ case 0: //结点1 数据处理和显示
ya1=data[1]
······
case 0x100: //结点2 数据处理和显示
ya2=data[1];
······}}
void Display_Task(Void *id) //预警信息显示任务
{······
TextOut(pdc,20,20,ch1,true,2)//输出提示文字:“轮胎压力信息显示”
LineTo(pdc, 0, ya*110%/2+200);//压力最高预警线
LineTo(pdc, 0, ya*90%/2+200);// 压力最低预警线
DrawRectfram(pdc,40,200+ya1/2,90,200);//轮胎1 对应的直方图
······
DrawRectfram(pdc,235,200+ya4/2,285,200);//轮胎n 对应的直方图
······}

关键字:CAN总线  半挂车  安全预警系统 引用地址:基于CAN总线的半挂车安全预警系统设计

上一篇:CAN/GPRS无线车载网关的设计与实现
下一篇:用于机动车路考系统的车载通讯系统研究

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

基于CAN总线分布式安全检测系统设计
1、引 言 随着自动控制技术、现场总线技术的不断深化发展,网络化、集成化已成为现代控制系统的重要发展方向。CAN总线(Controller Area Network)是德国Bosch公司从80年代初为解决现代汽车中众多的控制于测试仪器之间的数据交换而开发的一种串行数据通信协议。本文介绍利用红外传感器无接触检测,结合单片机技术、CAN总线技术,将现场存在的传感器、电子控制单元、执行机构连接起来组成分布式控制网络,实现了分布式安全保护检测控制。有效地保证了工作人员人身安全和生产的正常进行。该系统可用于危险场所、区域安全防护,机械加工、纺织、食品加工等安全保护以及家庭等防盗报警,有较广泛的应用前景。 2、系统组成及原理 由
[单片机]
基于<font color='red'>CAN总线</font>分布式<font color='red'>安全</font>检测系统设计
STM8 CAN总线的IdMask模式的讲解
前言 在CAN协议里,报文的标识符不代表节点的地址,而是跟报文的内容相关的。因此,发送者以广播的形式把报文发送给所有的接收者。节点在接收报文时根据标识符的值决定软件是否需要该报文;如果需要,就拷贝到RAM里;如果不需要,报文就被丢弃且无需软件的干预。为满足这一需求,BeCAN为应用程序提供了个可配置的、位宽可变的6个(0-5)过滤器组,用于只接收那些软件需要的报文。硬件过滤的做法节省了CPU开销,否则就必须由软件进行过滤,从而占用一定的CPU资源。 一、IdMask模式 首先,需要明白IdMask的作用: 举个例子吧,过滤器长度为32位,模式为屏蔽模式,假如我要发送的标示符为0x1314;那过滤器设置如下 1、过滤器完全无
[单片机]
STM8 <font color='red'>CAN总线</font>的IdMask模式的讲解
入门知识分享之CAN总线
  一、CAN总线的概述   CAN,全称为“Controller Area Network”,即控制器局域网,是国际上应用最广泛的现场总线之一。最初,CAN被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。比如:发动机管理系统、变速箱控制器、仪表装备、电子主干系统中,均嵌入CAN控制装置。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。一个由CAN 总线构成的单一网络中,理论上可以挂接无数个节点。实际应用中,节点数目受网络硬件的电气特性所限制。为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,
[嵌入式]
基于μPD780822单片机及其CAN总线模块实现车灯节点的设计
1、引言 CAN(Controller Area Network)是德国Bosch公司最先提出的,是目前汽车控制器局域网中最流行、最常用的总线。它的主要特点是:CAN总线为多主站总线,各节点均可在任意时刻主动向网络上的其他节点发送信息,不分主从,通信灵活;CAN总线采用独特的非破坏性总线仲裁技术,优先级高的节点先传送数据,能满足实时性要求;CAN总线具有点对点、一点对多点及全局广播传送数据的功能;CAN总线上每帧有效字节数最多为8个,并有CRC及其他校验措施,数据出错率极低,某个节点出现严重错误,可自动脱离总线,总线上的其他操作不受影响;CAN总线只有2条导线,系统扩充时可直接将新节点挂在总线上,因此走线少,系统容易扩充,改型灵活
[嵌入式]
基于μPD780822单片机及其<font color='red'>CAN总线</font>模块实现车灯节点的设计
一种基于FPGA的CAN总线通信接口的设计
  CAN总线是现场总线的一种,因为其成本低、容错能力强、支持分布式控制、通信速率高等优点在汽车、工业控制、航天等领域得到广泛应用。但是计算机没有CAN总线接口,为了进行CAN总线的调试,必须具有专用的适配卡才能实现与计算机的通信。目前常用的CAN转换器是基于单片机设计的,一般只适用于单路CAN总线的数据转换,可扩展性差。   在小卫星相机下位机系统中使用了多种总线,如CAN总线与卫星管理计算机的通信;RS422(或RS485)总线与成像单元等下行单元的通信。在进行相机下位机系统地面调试时,可能需要多种总线转换器。采用FPGA将不同总线协议转换成USB2.0、RS232等可与计算机直接交换数据的协议,可增强设计的灵活性,降低设计
[嵌入式]
一种基于FPGA的<font color='red'>CAN总线</font>通信接口的设计
基于CAN总线的一体化步进电机驱动器的设计与实现
0 引言 当前,步进电机已经在工业应用,如自动剥线机、工业机器人、雕刻机、植毛机工作台等涉及到精确定位的场合,得到广泛的应用。常用的步进电机控制系统由驱动模块和控制器模块组成。驱动模块实现功率放大,控制器模块用于产生电机转动的控制信号,上述控制方法将会大量占用控制核心的资源,影响控制系统的实时性及灵活性。本文设计的步进电机驱动器,将控制电路和驱动模电路集成在同一个模块上,减少系统中主控核心的负担,提高系统的实时性、可靠性,可以使系统设计变得更加灵活、方便。 1 CAN中继器硬件的设计 1.1 系统的硬件结构 本文设计的基于CAN总线的一体化两相步进电机驱动器系统框图如图1所示,包括CAN收发器L9616、MCU STM32F103
[单片机]
基于<font color='red'>CAN总线</font>的一体化步进电机驱动器的设计与实现
基于89C51单片机和CAN总线的供热温度控制器的设计研究
建设部要求城镇新建公共建筑和居民建筑,凡使用集中供热设施的,均需设计、安装具有分户计量及室温调控功能的供暖系统。节能型供热温度控制器是利用自动控制技术,将节能措施与热计量功能融为一体,从以人为本的角度提出的一种新型节能理念和方法,使集中供暖用户既可通过控制器设定、调整并与配套设备共同完成对室内温度的自动控制和远程控制,又可随时了解室内温度、热消耗量,达到节约能源的目的。 1 系统总体结构及方案设计 一个完整的大型公建节能型供热温度控制器由两部分组成:温度测控系统和通信模块系统。系统总体结构如图1所示。系统温度测控的硬件包括:单片机、温度传感器、信号放大器、A/D转换器及D/A转换器、稳压器、显示驱动芯片和数码管等。系统通信模块
[电源管理]
如何用万用表测量CAN总线
系统概览 此说明用于检查总线连接上的 CAN 高速和 CAN 低速信号电平是否正确。 检测提示 ● 电压检测 (示波器):电压检测的前提条件是,蓄电池已连接并且点火开关已接通。 ● 电阻测量:在电阻测量时,在测量前必须把待测部件断电。为此应断开车辆蓄电池的接线。等待约3 分钟,直到系统中的所有电容器放完电。 CAN总线 CAN (控制器区域网络) 总线系统是一种线形总线系统并具有以下特征: ● 信号双向传播。 ● 所有总线用户都接收同一个信息。每个总线用户决定,它是否利用该信息。 ● 通过简单并联即可添加附加的总线用户。 ● 此总线系统构成一个多主控单元系统。每个总线用户可以是主控单元也可以是副控制单元,根据其作为发射器还是接
[测试测量]
小广播
热门活动
换一批
更多
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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