首页 SAE J1939协议在汽车仪表中的应用

SAE J1939协议在汽车仪表中的应用

举报
开通vip

SAE J1939协议在汽车仪表中的应用SAE J1939协议在汽车仪表中的应用 SAE J1939协议在汽车仪表中的应用 2006(12)总208轻型汽车技术技术纵横7 SAEJ1939协议在汽车仪表中的应用 王建戴方全 (北京航空航天大学汽车工程系) 摘要 本文利用汽车CAN总线技术及SAEJ1939协议,开发出一套可与其他运行该协议的 设备通讯的总线式数字汽车仪表.文章介绍了CAN总线及SAEJ1939协议,深入研究了 1939协议的报文帧格式及应用层协议,给出了仪表系统的总体结构,并介绍了该套仪表 基于嵌入式实时操作系统c/os...

SAE J1939协议在汽车仪表中的应用
SAE J1939协议在汽车仪表中的应用 SAE J1939协议在汽车仪表中的应用 2006(12)总208轻型汽车技术技术纵横7 SAEJ1939协议在汽车仪表中的应用 王建戴方全 (北京航空航天大学汽车 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 系) 摘要 本文利用汽车CAN总线技术及SAEJ1939协议,开发出一套可与其他运行该协议的 设备通讯的总线式数字汽车仪表.文章介绍了CAN总线及SAEJ1939协议,深入研究了 1939协议的报文帧 格式 pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载 及应用层协议,给出了仪表系统的总体结构,并介绍了该套仪表 基于嵌入式实时操作系统c/os-II的软件设计,总结了采用c/os-II的优点. 关键词:CAN总线SAEJ1939汽车仪表C/OS—II 控制器局域网CAN(Con~oHerAreaNetwork) 作为一种可靠性极高,价格低廉,技术成熟的现场总 线在国内外得到了广泛的应用.在汽车行业CAN总 线以其优异的性能成为汽车局域网的发展趋势【l】. SAEJ1939协议是美国汽车工程师协会SAE (Socie~ofAutomotiveEnginee0发布的以CAN总线 为基础,以CAN2.0B作为网络核心协议的车辆网络 串行通信和控制协议田.它是目前在国内汽车行业中 应用最广泛的CAN总线应用层协议,可以达到 250Kbi的通讯速率. 对于现代汽车而言,汽车仪表是汽车信息的中 心,集中,直观,迅速地反映了汽车在行驶过程中的各 种动态指标,如行驶速度,里程,电系状况,制动,压 力,发动机转速,冷却液温度,油量,及各种危险报警. 汽车仪表已成为体现汽车高精尖技术的主要部分. 本文所述的总线式汽车仪表一方面具有传统仪 表的数据采集功能,另一方面利用CAN总 线技术,使该仪表成为车身网络的一部分, 集中处理来自其他电控单元的数据,且其 ,可以与汽车上其 通讯符合SAEJ1939协议 他按照此协议工作的电控单元进行通讯. 1汽车仪表总体设计' 汽车仪表上需要显示的信号包括:车 速,转速,水温,油量以及各种开关量报警 信号(机油压力报警,燃油报警,水位报警,ABS故 障,水温报警,左右转向指示等).在本系统中,水温 及转速信号将依照SAEJ1939协议从CAN总线 (发动机电控单元节点)获取,车速信号通过对车 速传感器脉冲信号频率的测量得到,其余开关量及 模拟量信号则从相应的传感器和开关采集得到.如 ,图1,转速传感器发出的脉冲信号经过滤波整形电 路及光电隔离后输入到单片机的外部中断引脚, MCU通过脉冲进行定时计数计算出当前车速;油量 传感器的信号首先经过分压,然后通过A/D转换由 模拟信号转换为数字信号输入到单片机;其他开关 量经过光电隔离后直接输入到MCU. .车速,发动机转速,冷却水温度,燃油油量采用 步进电机(VID29—02)驱动指针指示,里程信息采 用里程表专用段式LCD模块LCM1010显示,各开 关和报警信号则采用LED指示灯. 图1汽车仪表总体结构 8技术纵横轻型汽车技术2006(12)总208 2CAN总线及SAEJI939协议 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 2.1CAN总线及SAEJ1939协议介绍 CAN(ControllerAreaNetwork)总线是德国Bosch 公司在80年代初为解决数据可靠交换而开发的一 种串行数据通信总线[31,它强调了实时性,又具有极 高的可靠性和独特的设计,在现代汽车中已经成为 必备装置.为进一步减少车身线束,方便故障诊断, 满足主要电控单元和系统间大量数据信息实时交换 的需要,使汽车各方面性能趋于最佳状态,基于 CAN总线的C类网络被应用于车内数据通讯.CAN 总线有效地将发动机电控系统,驱动防滑系统,自动 巡航系统等连接成为一个综合控制系统,使整车性 能得以大幅提高.? 根据ISO定义的OSI模型,CAN2.0B规范定义 了物理层和数据链路层规范,这为不同的CAN总线 用户制定符合自身需要的应用层协议提供了很大的 便利,如果需要建立更加完善的系统,还需要在 域 位 CAN2.0B的基础上选择合适的应用层协议. SAEJ1939是以CAN为基础涉及了应用层的 上层协议,是目前最有实用参考价值的车用网络协 议.它对汽车内部ECU的地址配置,命名,通讯方式 以及报文发送优先级等都作了明确的规定,并对汽 车内部各个具体的ECU通讯内容作了详细说明. SAEJ1939协议更大程度地发挥了CAN优异的性 能. 2.2SAEJ1939报文帧格式 J1939的信息是以PDU(ProtocolDataUnit协议 数据单元)的形式进行传输的,PDU的封装在应用 层中完成.PDU提供了组织信息的框架,这一点对 于每一个要发送的CAN数据帧来说是至关重要的. 如图2,j1939PDU共由七个域组成,包括:优先权 (P),保留位(R),数据页(DP),PDU格式(PF), PDU细节(PS,可为目的地址, 参数 转速和进给参数表a氧化沟运行参数高温蒸汽处理医疗废物pid参数自整定算法口腔医院集中消毒供应 组扩展或私 有),源地址(SA)及数据域(DataField).由这些 域被封装为一个CAN数据帧发送到网络上其他节 J1939PDU llllIIIllIlllllll}lllllll.....1lRo PPPFPSSADataField r 3''888O?64 图2J1939PDU结构 点.每个CAN数据帧只能包含一个PDU.值得注意 的是,对于某些参数组,必须使用两个以上的CAN 数据帧发送. CAN数据帧中的某些域并未在PDU中定义, 这是因为这些域已经在CAN2.0规范中明确定义, 并且对于数据链路层以上的OSI层,这些域是不可 见的.这些域包括:SOF(帧起始),SRR(替代远程 请求),IDE(识别符扩展),RTR(远程请求),部分 控制域,CRC(校验域),ACK(应答域)及EOF(帧 结束)等.对于这些域,]1939协议完全遵从CAN规 范中的定义. 2.3SAEJ1939应用层协议 ' J1939应用层协议详细描述了用于J1939网络 的每个参数,包括其数据长度,数据类型,分辨率,范 围及参考标签,并为每个参数分配了一个编号 (SPN).由于J1939协议是以协议数据单元(PDU) 的形式进行传输,而一个PDU包含8个字节数据, 因此,需要对这些参数进行组合.在J1939应用层协 议中还详细定义了参数组,包括每组参数的更新 ,PDU细节,默 率,有效数据长度,数据页,PDU格式 认优先权及参数组的内容,并为每个参数组分配一 个参数组编号(PGN).为最大程度地减小数据的重 叠【5】,协议按照以下原则对参数进行分组:?按照 ECU所属子系统分组(ECU用于测量和发送数 据);?按照参数组中的参数更新率分组(减小不 必要的数据重叠);?按照功能分组(机油,冷却 -液,燃油等等).. 2.4汽车仪表关键数据的计算 发动机转速是汽车仪表所要显示的重要参数, 来自发动机电控单元.在J1939应用层协议中定义 了参数spnlg0为发动机转速,并规定其所属的参数 组号为pgn61~.,pgn61~4.参数组为发动机电控单 2006(12)总208轻型汽车技术技术纵横9 元#l,发动机转速占据次参数组的第4,5字节.按 照定义,该组参数的更新率与实际发动机转速相关, 即发动机转速越高则更新应越快. 若收到来自发动机控制单元的数据为0cF004 00XXXXXX4F55XXXXXX(XX表示任意数 据),其中前四个字节为29位标识符,后8个字节 为数据域,数据域中第4,5字节表示发动机转速,根 据这两个字节的数值及spnl90中的定义即可算得 发动机转速: 发动机转速=原始数X分辨率+偏移量= 20309X0.125+0=2538.625rpm. 同理可以计算出其他汽车仪表所需数据.根据 计算出的数值,仪表ECU即可驱动显示部件准确地 显示当前的车辆状态. 3系统软件设计 3.1操作系统简介 C/OS—II是由JeanJ.Labrosse开发的一个免 费的,开放源代码的嵌入式实时操作系统.自从 1992年发布以来获得了广泛的应用,目前已经被移 植到4o多种不同结构的CPU上.C/OS—II是一 个完全抢占式的内核,不支持轮转调度法. I.LC/OS—II提供了许多系统服务,如邮箱机制,队列 机制,信号量机制,固定大小的内存分区以及时间相 关的函数等等[41. 3.2任务结构及分析 主程序在完成各种初始化操作(串行口初始 化,存储器测试,SJA1000初始化,信号量和消息队 列的建立等等)后依次创建各任务,然后通过调用 OSStart0函数启动操作系统.在C/OS—II中,各任 务被赋予不同的优先级,拥有各自的任务堆栈,不同 任务之间通过消息队列和信号量互相通信和共享数 据.任务都采用无限循环结构,各任务通过延时或等 待信号量和消息队列来放弃CPU使用权,这样在时 钟节拍到来时将产生中断级任务切换,系统转而运 行处于就绪态的高优先级任务,当延时时间到或者 信号量和消息到来时,任务将再次运行. .3.3程序流程 图3所示为CAN'总线接收与处理任务和步进 电机驱动任务的执行过程,初始化完成后,主程序发 起CAN总线接收和处理任务及步进电机驱动任务, 两个任务先后进入等待信号量和等待消息队列的状 态.CAN总线中断产生后,中断服务程序释放信号 量,使CAN总线任务进入就绪状态,在其获得CPU 使用权后,对总线数据进行处理并将数据发送到消 息队列,从而使得步进电机驱动任务进入就绪状 态,电机任务通过任务调度获得CPU使用权后,根据消息队列中的数据计算电机所需步数并驱动电 机旋转. 图3典型的uC/OS-II任务流程 3.4采用RTOS的优点 使用RTOS与不使用操作系统相比的一个显着 特点是提高了CPU的利用率,以本系统中的步进电 机驱动为例: i=0;i<steps;i++) { SHORIDELAY Output(O—MOT,FC,1); SHORTDELAY Output(O_MOT,FC,0); delayms(1);' } 为防止步进电机失步,其每转动一步,必须进 行1毫秒左右的延时,因此,如果车速迅速上升或 下降,导致显示车速的步进电机需要转动100步以 上,则完成这一段的电机驱动需要超过100毫秒的 时间.且这一段时间内CPU无法再执行其他任务, 而根据J1939协议,发动机转速等数据的发送间隔 为50毫秒,因此在这lO0毫秒的时间内,仪表可能 已经错过两次发动机转速数据,这(下转第13页) 2006(12)总208轻型汽车技术技术纵横l3 亘 l…一焉.一 卧…t=====:t1' e盛 .图8客户端程序后面板 6结束语 虚拟仪器技术与网络技术的结合,及其在汽车 测控领域中的应用,是对传统测控方式的一场挑战 和变革.应用LabVIEW作为虚拟仪器软件开发平 台,为开发高性能的计算机测控系统提供了极大的 便利.测控方式的网络化,是未来测控技术发展的必 然趋势,通过建立分布式网络测控系统,能够充分利 用现有资源和网络带来的种种好处,实现各种资源 最有效合理的配置.应用分布网络测控,可以进行多 点测量,多点分析处理.这样既可以充分发挥服务 器控制测试仪器的接口能力,又能发挥客户机数据 处理能力,而且便于系统的扩展,采用不同的传感 器和条理电路就可很方便地对所要测控的量进行 改变的扩充. 参考文献 1NationalInstruments,DataSocketTechinical Overview【M】,Texas:NationalInstruments,1998 2杨乐平,李海涛,赵勇等.LabVIEW高级程 序设计【M】,北京;清华大学出版社,2003. 3杨乐平,李海涛,杨磊等.LabVIEW程序设 计与应用『M】,北京;电子工业出版社,2005.1 4HeatherEdwards.BuildingaIlInteractiveWeb PagewithDauSocket【Z】.NationallnstrumentsCorpo— ration,1999. 5马海瑞,周爱军.基于DataSocket技术的 LabvIEW远程测控.现代仪器,2006-7 (上接第9页) 将大大降低仪表显示的精确性. 如果采用RTOS,使总线收发数据的优先级高 于步进电机驱动,这样在每次电机驱动延时的时候 将发生任务切换,电机驱动任务被挂起,转而执行总 线收发任务,总线收发完成后再继续电机驱动任务, 这样便保证了总线数据的完整,提高了CPU的利用 率. 4结论 本文深人研究了汽车CAN总线通讯技术及 SAEJ1939协议,并在此基础上实现了一套功能完 备,成本较低的总线式数字汽车仪表系统,该套仪表 在实验室工作稳定,性能优秀,目前该系统正在进行 装车试验.目前国内整车厂商尚未普遍应用CAN总 线技术,随着对CAN总线协议研究的进一步展开, 以及我国自己的总线 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 的制定,CAN总线技术在 国内势必将迎来一个快速发展的新阶段. 参考文献 1刘永木等.SA~J1939标准下的汽车CAN 通讯报文/帧格式?】.长春工业大学,2003.3 2高云华.SAEJ1939协议在汽车电器通信系 统中的应用?】.河海大学常州分校,2005,9 3李永强,宋希庚,薛冬新.CAN局域网及 J1939协议在货车和客车上的运用【J】.汽车工程, 2003,25(4):377—340. 4SAEj1939/21:DataLinkLayer[C].Societyof AutomotiveEngineers,2000,page10 5SAEj1939:RecommendedPracticeforaSe—— rialControlandCommunicationVehicleNetwork 【q.SocietyofAutomotiveEngineers,2000,page16
本文档为【SAE J1939协议在汽车仪表中的应用】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_003124
暂无简介~
格式:doc
大小:23KB
软件:Word
页数:9
分类:
上传时间:2018-03-08
浏览量:48