基于CAN总线的全方位移动平台网络化控制软件.docx
- 文档编号:29095880
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:26
- 大小:467.80KB
基于CAN总线的全方位移动平台网络化控制软件.docx
《基于CAN总线的全方位移动平台网络化控制软件.docx》由会员分享,可在线阅读,更多相关《基于CAN总线的全方位移动平台网络化控制软件.docx(26页珍藏版)》请在冰豆网上搜索。
基于CAN总线的全方位移动平台网络化控制软件
1系统概述
近几年科技的日新月异,尤其体现在计算机技术方面,体积超小,功能超强大。
安全稳定能力的跨越提升,越来越依靠现场总线技术解决现实问题,传统复杂的现场连线慢慢地离开了人们的应用视野。
取而代之的是现场总线。
因为它的特点是结构简单造价低,所以用户乐于使用同时它为广大用户提供了优质安全的用户体验。
现实操作现场有着各式各样的干扰,比如温度过高,湿度过大,粉尘过多,电磁辐射过大。
随时会有不可抗拒的干扰,这就要求网络在运行时保持可靠性。
可靠性包括了在自身运行时容许自己的错误,当有外界干扰时对其的抵抗。
不仅对自身有要求,对信号的编码是否足够合理,信号传输时传输方式是否快捷。
都有明确要求。
能够在共用一样的应用层协议和赋予数据的全方位移动平台网络,能够让它成为一个“open式环境”,它有很超强的自由性。
由不同厂商生产的元器件都可以自由加入或离开,任何硬件和软件的环境几乎不需要做更改适应,这全部融合当今全方位移动平台应用实用的目标。
所以全方位移动平台电子控制采用网络化设计可以以低的投入换取理想的实际效果。
全方位移动平台行业认为,将来的车电子控制一定以网络技术为终极目标。
八十年代控制研发的控制器局域网协议是由世界最著名的全方位移动平台零部件设产商之一的德国BOSCH公司制定出来的,因为其主流性并成为了国际标准世界范围内被各国全方位移动平台制造商普遍认同。
早在80年代很多有名的全方位移动平台生产公司就投资于全方位移动平台网络化控制的研发和实用。
目前,网络标准已经被制定出很多,如ISO的J1805、SAE的VAN。
由于在现代全方位移动平台电子化进程中现场总线很重要,需要我们自主研制现场总线协议应用在全方位移动平台产品,进一步实现产业化,虽然面临的挑战具但积极意义对于迎接我国全方位移动平台工业加入世贸组织增加信心。
以缩国外全方位移动平台技术为参考,努力提高自身的竞争力,这是势在必行的发展方向。
全方位移动平台网络化控制综述与发展
在不增加硬件设备的同时,还能保证各个功能的控制。
并且像节能减排,节约制造成本的方向发展。
越来越多的向模块化,智能化,小型化为发展研究努力,进而引入了现场总线。
随着全方位移动平台行业的发展,现场总线车载网络技术也越来越成熟。
它已成为全方位移动平台产业的一个技术关口。
2全方位移动平台网络化控制综述与发展
在全方位移动平台网络应用的前期阶段中早期的全方位移动平台网络中,各个厂商都用自己的标准,大家都想在这个领域称雄称霸军阀割据,导致没有一个大家都认同的标准出现。
这给用户带来了很大的麻烦。
每个用户都要自己定义繁琐的通信协议用来串行通信的发送和接收器。
没有统一的标准。
全方位移动平台网路急需建立相互之间的联系。
因为整个行业的发展需要大家联合,协助建立一个被大家接收的协议。
2.1全方位移动平台网络化控制的发展历史
全方位移动平台网络化控制的研究与应用的初期辉煌在1990,当时各个有实力重视研发的全方位移动平台生产商就花费很大的投资在研究中。
其中应用作为全方位移动平台动力系统和车身电子系统最主要的应用网络,现场总线已经被欧洲全方位移动平台制造商广泛接受,同时它也正在为美国和远东的各全方位移动平台制造商所接受,用来构建全方位移动平台网络。
虽然以往美国全方位移动平台制造商广泛使用J1850来构建车身网络,但目前DaimlerChrVsler、Ford和GeneralMotors(GM)等全方位移动平台制造商已经投入到现场总线总线的开发之中,而J1850也正被现场总线所逐步取代。
在远东,Toyota已经在其全方位移动平台十采用现场总线总线连网,而其他的日本和韩国全方位移动平台制造商也正在积极跟进。
2.2现场总线总线的基本特点
全方位移动平台上使用的高速网络系统的总线标准,特别是广泛使用的iso11898国际标准。
该屏蔽或非屏蔽双绞线总线接口可以再极其严峻的环境中安全可靠正常的工作。
在iso11898标准建议,即使在双绞线电路两根线短路或地面,还要求全方位移动平台能够正常安全的工作。
现场总线的数据传送方式位串行数据通信,通信速率在正常工作情况下1
Mb/s为其最大。
由位速率决定系统内现场总线其中任意两节点间的能正常传输的距离。
在大部分实时控制现场1Mb/s传输速率是远远足够的。
因为实际操作中传输距离小于四十米。
现场总线总线以,实时监视、检查报文格式、填充循环冗余校验位,还有和高效检测错误的功能。
可以达到误码概率小于4.7e-11的高精度。
实现永久性故障的自动识别和干扰的短暂能力是运用了故障界定技术。
关闭模式的现场总线是由于受到连续干扰。
更重要的是接入现场总线网络时,脱离硬件或软件的与节点应用层修改。
现场总线有如下基本特点:
2.2.1总线访问采用基于优先权的多主方式
通过标识符(ID)标识的信息内容,遍历网络全部过程中,没有重复或相同的被标示的符号。
报文传输过程中,每当接收一条信息后,就是通过标示符来判断这些信息是否与自己有关。
如果有关的信息,它会被处理,否则忽略。
这就是所谓的主模式。
它的主要特点是下在理论上不受限制的网络号(其实是在限制电力负荷)中的一个节点,在传输相同的数据信息是可以被不同的节点采纳。
ID数值越小,其优先权反而越高。
优先权是由标识符决定的。
节点每当总线空闲时,信息将被重新自动传输。
那个节点获得最高优先权,总线使用权将被这个节点获得。
为保障这个节点传输,除了这个节点其他节点将被迫停止传输。
2.2.2非破坏性的基于线路竞争的仲裁机制
总线上任一个潜在的冲突根据无破坏性机制进行总线仲裁。
固定格式的帧是现场总线上主要的的信息传送方式,此帧在长度都为固定值。
如果大于一个节点同时开始传输帧,并且总线的状态是空闲,由此引起的总线访问冲突是利用基于线路竞争的仲裁对标识符进行判别来解决的。
仲裁机制可以保证既不会丢失信息,也不会浪费时间。
优先权最高的帧的传输器将获得访问总线的权利。
2.2.3利用接收滤波对帧实现了多点传送
所有节点都不用设置地址信息。
帧接收滤波处理方法是接收器对信息的拒收或接受的处理方。
信息被接收是否和接收器有联系用这个处理方法可以识别出来,所以接收器没何必要辨别出准是信息的传输器,反过来也是如此。
2.2.4支持远程数据请求
通过传输一个远程帧,请求另一节点传输的数据帧可以满足数据需要,数据帧标识符指定相应的远程帧标识符为。
2.2.5数据一致性存在在全部过程里
数据在全部过程里具相同特性。
同时可以通过任意节点接收,也可以任何节点接收,可以实现在现场总线网络。
因此,系统与数据相同特性功能,这个功能是使用处理故障方法与组播理论获得。
2.2.6.仲裁失败、或传输期间被故障损坏了的帧能自动重发
任何正在传输节点数据和任何正在正常(或错误激活状态下)接收数据的节点都能对出现了错误的帧作出标记,并进行出错通报。
这些帧会立即被放弃,此后,遵循系统所采取的恢复计时机制,它们将被适时重发。
从检测出错误开始、到可以着手传输下一个帧为止的这段时间称为恢复时间,此后如果再未出错的话,恢复时间占17~23个位时间(在总线遭受严重干扰的场合,最多占29个位时间)。
所有接收器都会校验所接收帧的一致性,然后对具有一致性的帧做出应答、对不具有一致性的帧做出标记。
仲裁失败或在传输过程中被错误干扰了的帧将会在下次总线空闲期间被自动重发。
要被重发的帧处理起来与别的帧完全一样。
这意味着,为了获得对总线进行访问的权利,它还是要参与仲裁过程。
2.3全方位移动平台网拓扑络结构
2.3.1总线拓扑
总线型结构,是由一根总线连通个个节点。
以广播方式发送信息,当节点A发送信息,其余BCD节点均能接受信息。
缺点如果总线发生故障,其他节点均瘫痪。
如图3-1。
图2-1总线型拓扑
2.3.2星型拓扑
每个节点都有其自己的沟通渠道,更容易添加新的节点,作为网络的拓扑结构,总线型访问方式不被需要,所以使用的拓扑型结构通信规定可以被简明;传输介质运用光纤材质,网络实施更简洁。
但它的缺点是:
较长的连接线,整个网络都依靠中枢。
如图3-2。
图2-2星型线型拓扑
2.3.3环型拓扑
所有的节点相互连接使整个网络形成一个闭环。
数据从一个节点发出沿着网络单向传输。
因为它的特殊结构,造就了它需要一个适应自身的协议。
来进行信息的接收环形令牌解决了这个问题。
那个节点拿到了令牌,它就具有了发送信息的优先权如图3-3。
图2-3环型线型拓扑
2.4我国全方位移动平台网络及基于CAN总线的全方位移动平台网络化控制软件的发展状况
全方位移动平台行业将来的发展的必然走向是网络技术,重点是在网络通信协议的规则,可是关键的全方位移动平台总线应用产品的核心技术都被国外企业掌握,我国短期缺少成熟的全方位移动平台总线协议和相关产品。
中国的本土全方位移动平台品牌也加强与大中专院校合作,努力培养相关的全方位移动平台网络人才,建立了许多实验室,同时举办各类比赛。
争取在相关领域取得突破。
目前处于前期发展的全方位移动平台网络水平,相比应用早期的布线技术控制车灯功能,直接导致全方位移动平台线路复杂成本过高,安全性极大程度的影响全方位移动平台质量。
全方位移动平台行业也面临着各式各样的贸易壁垒,要想在未来国际化的市场份额中分的一份蛋糕,掌握全方位移动平台电子技术未来发展的方向。
加大研究和开发投资,早期拥有中国特色的自主知识产权的全方位移动平台网络化控制及应用系统刻不容缓。
2.5位数值表示
在总线上若既有显性又有隐形时,最后显示显性。
3基于CAN总线的全方位移动平台网络化控制硬件设计
在研究了现场总线总线协议的通信协议的基础上,首先进行电路图设计,再用仿真软件模拟电路图,待仿真合格后,进行硬件焊接。
3.1车灯总成控制系统的功能描述
两个节点通过总线现场总线总线收发器连接到现场总线总线上。
车灯控制中断开关设,当操作控制开关时,中央节点将相应的控制指令和数据传输到现场总线,全方位移动平台灯控制网络总体框图如图3-1。
图3-1车灯控制网络总体框图
3.2MCU的选择
基于CAN总线的全方位移动平台网络化控制软件微控制器(MCU)采用ATMEL公司的89C51单片机,一般每片单片机可重复烧录100多次。
采用超强密度的生产的器件。
由于单个芯片中采用很多方式8位CPU和快速存储方式,ATMEL生产的89C51是一种高性价比控制器,89C51单片机拥有较多应用控制系统是一种方便控制且物美价廉的办法。
89C51的各个引脚的功能如下表3-2所示。
表3-289C51单片机各引脚及功能说明
序号
引脚名称
引脚序号
功能说明
1
P0口
32-39
8位并行双向I/O口,访问外部存储器时,可作为低8位地址线/数据总线复用
2
P1口
1-8
通用I/O口,8位准双向,编程和校验时作为低8位地址线,P1.1和P1.0另有第二功能
3
P2口
21-28
通用8位准双向I/O口,访问外部存储器时,可作为高8位地址线
4
P3口
10-17
8位准双向I/O口,提供部分第二功能
5
RST
9
复位信号输入端,高电平有效
6
EA/Vpp
31
访问芯片内部和外部程序存储器的选择信号/编程电压
7
PSEN
29
外部程序存储器选通信号,低电平有效
8
ALE/PROG
30
低8位地址锁存信号/编程脉冲输入
在89C51的所有I/O口中,P3口集中了其中很多的第二功能,介绍了P3.0-P3.7
各个管脚的第二功能,如下表3-3。
表3-3单片机P3口的第二功能
引脚
第二功能
说明
P3.0
RXD
串行数据接收
P3.1
TXD
串行数据传输
P3.2
外部中断0请求
P3.3
外部中断1请求
P3.4
T0
定时器0外部事件计数输入
P3.5
T1
定时器1外部事件计数输入
P3.6
外部RAM写选通
单片机最小系统,单片机管脚连接图如图3-4所示。
图3-4
由R1/C3组成,在复位在上电瞬间,RC电路充电,由于电容上电压不能突变,所以RST引脚出现高电平。
RST引脚出现的高电平会随着对电容C的充电过程而逐渐回落,为了保证RST引脚出现的高电平持续两个机器周期以上的时间,参照教材,C取10u,R取8.2K。
3.3现场总线通讯控制器
本设计中现场总线控制器采用PHILIPS公司的SJA1000芯片,现场总线控制器(基础现场总线)的衍生产品,并且附加了另一类工作方式——增强型现场总线,主要满足现场总线2.0B协议。
该协议添加了一些便于操作的新功能。
SJA1000的基本特征如下表3-1:
表3-1
SJA1000工作模块主要是由设计系统的控制核心本文中使用单片机,SJA1000芯片内部有接收模块。
当有数据传输,发送到缓冲区,经过现场总线协议。
将其转换成报文形式,现场总线接收。
现场总线在发送给核心模块,经过验收滤波,并且屏蔽掉噪声,发送回单片机。
接受发如图3-5。
图3-5
现场总线控制器SJA1000芯片有24个管脚它有自己晶振AD0到AD7与单片机的数据相连。
通过这数据通道传输数据,进行数据的读写操作如图3-6。
图3-6现场总线控制器SJA1000电路原理图
现场总线控制器SJA1000芯片采用片外12MHz晶振,片选/CS端与单片机的P2.7引脚直接相连,当CS接到低电平时,MCU可对SJA1000进行写操作。
3.4现场总线总线收发器
ISO11898standard兼容的减少无线电频率干扰(RFI);热保护;总线和电源PCA82C250各引脚的功能如下表3-5所示:
表3-5PCA82C250芯片各引脚的功能介绍
引脚
名称
引脚功能
1
TXD
欲传输数据的输入端
2
GND
电源地端
3
Vcc
电源端
4
RXD
接收数据的输出端
5
Vref
参考电压的输出端
6
现场总线L
低电平现场总线总线输入/输出端
7
现场总线H
高电平现场总线总线输入/输出端
8
Rs
总线脉冲斜率控制电阻连接端
PCA82C250引脚8是一种特殊的帧是用来选择PCA82C2500工作模式。
有三种不同的操作模式:
高电平,斜率控制和备用。
本设计采用slope-control模式,连接的电路如图3-7。
接收端(接收机输出数据)将被转移到低。
控制器应通过驱动器引脚8为正常工作条件来满足这一条件。
在待机模式是缓慢的,所以一个数据包丢失。
图3-7现场总线通讯模块原理图
4现场总线总线的报文
随着现场总线技术的广泛使用,人们研制出了现场总线通信协议的标准化要求。
因此,1990年Bosch研制出现场总线2.0并上交给国际化标准机构。
现场总线2.0给出了制定的现场总线格式报文,然而2.0B给出了扩展和标准的两种报文格式。
从而使控制器局域网的标准化、规范化得到了推广。
因为要使其使用在规定的场合,所以需要网络结构简易化、费用适宜、而且要求数据传输速度高、拥有实时性的控制特点。
国际标准ISO的模型明显过于繁琐,使得处理数据过于消耗时间,在全方位移动平台的实际使用时不适宜,因而将现场总线协议压缩至3层的网络构造。
图4-1现场总线协议2.0A和2.0B分层结构
为了使设计具有高速和快速的特性,在现场总线2.OA协议中,网络被割分为物理层、对象层和传输层三个层次。
传输层及对象层具有ISO协议的数据链路层拥有的功能和特点,依照ISO参考模型中划分的层次,这两层应该割分在数据链路层内。
现场总线协议2.0B严格按照ISO/OSI参考模型进行操作,如下图4-1所示,现场总线分为物理层和数据链路层两层。
当中的链路层又被割分为两大块。
LLC的主要作用为:
替远程的数据请求提供数据传输和服务;确认LLC是不是真的接收到了数据;恢复管理和过载报警等等。
现场总线协议的核心是MAC子层,主要功能包括制定传输规则,如帧结构控制、故障界定和错误检测等部分。
其和2.0A的传输层相同,不能被灵活修改MAC子层。
其中信号实际上是怎样被传输的,包含位编码、位定时及位同步等功能都是有物理层所定义的。
同2.0A相同,2.OB的物理层中也没有定义接收器/驱动器的特点。
4.1现场总线总线报文的数据帧
图4-2数据帧结构
4.1.1帧起始域(SOF域)
代表帧的开始这一位置显性运用在各种需要传送的帧,与总线控制器合作,实现报文的传输。
4,1.2仲裁域
RTR位和信息标识符构成,仲裁域要执行面向位的冲突仲裁,当有多个现场总线控制器同时传输数据时。
如图4-3。
图4-3
标准帧的标识符由11位构成,可以给出信息的优先顺序,它的传输顺序为ID.0至ID.10(LSB)。
标识符并没规定某一个指定的节点接收所发信息,这是因为现场总线网络节点具有广播通讯方式和点对点接受的特点。
现场总线总线上的接收节点能够请求线上的另一个节点传输消息,在查找目标址的节点即刻传输要请求内容时,就使用同一个标识符,这时主线上避免了发生冲突,这的前提是为低位的数RTR位。
4.1.3控制域
控制域包含有六位,有4位存放数据码,可以设定数据的长度值是0-8。
以及两个可以保留的位(RO、R1)。
4.1.4数据域
传输的缓冲区中的内容应该依照长度代码所规定的长度进行传输。
至于接收的数据,方法相同。
4.1.5循环冗余校验域(CRC域)
循环冗余校验域是由CRC边界符和CRC域构成。
相除的余数应该是发至总线的CRC序列。
当传输的时侯,最先传输/接收CRC序列的最高有效位。
4.1.6应答域(ACK域)
传输方面传输两位隐性位和位组成应答域由,当接收到无错CRC相应的节点会在传输方节点对应的回应间隙上,在应答区域里第二隐性位是应答界定符。
4.2现场总线错误帧
4.2.1错误标志
传输辨识有误的标记,并且等待辨识有误的标记开端的具有6个相同属性不间断位。
当这6个相同属性不间断位被检测到的时侯,就完成了辨识有误的标记。
如图4-4。
图4-4
4.2.2错误型定界符
错误型定界符由隐性位8个组成,其与过载型界定拥有相似的样式。
在传输了不正确标志之后,总线被每一个现场总线节点密切监视,在检查出隐性位是由一个显性位跳变而来。
在这个时刻所有的现场总线节点执行了有错误标志的传输,并8个隐性位判定符开始传输。
每当数据帧还是远程帧的传输产生错误,就重发,遇到连续的出现错误帧错误时,相对应节点会被认定为错误节点。
5系统的软件设计
系统的软件设计是本文的核心内容,主要包括单片机的初始化,SJA1000的初始化,接收数据,发送数据和报文的传输。
CAN车灯设计实际控制的是两个LED灯,原理体现在运用现场总线控制网络自己发送自己接收发的原理实现。
:
1.对全方位移动平台网络控制功能和现场总线总线进行分析;
2.使用单个现场总线总线硬件电路板实现其自收发功能,即现场总线节点自收发报文;
3.传输的数据为INT0按键计数值,传输数值,接收的数值为基数灯一亮,为偶数灯二亮。
5.1现场总线控制初始化程序
SJA1000的初始设置化程序设计主要是处理SJA1000寄存器输入相应的处理信息,从而确定SJA1000工作的方式.
图5-1SJA1000的初始化程序设计的流程图
始设置化程序如下:
一硬件复位,二上电复位,三软件复位就是在程序运行过程给SJA1000传输一个复位式请求信号.在复位期SJA1000需要初始化设置的寄存器有:
SJA1000控制型寄存器CR或模式型寄存器MOD、中断使能型寄存器IER、总线定时型的寄存器BTR,屏蔽寄型存器AMR、时钟分频寄型存器CDR、接受代码型寄存器ACR、输出控制型寄存器OCR(确定TX0、TX1引脚的驱动方式)等.由于这些寄存器只能在SJAl000复位期时候进行写访问,必须保证系统是在复位状态.SJA1000的初始化程序设计的流程图如图5-1。
开始初始化单片机。
打开现场总线,使其处于工作状态。
打开外部中断0,然后打开总中断。
再调用SJA1000的初始化,主要设置存储接收代型码寄存器的数值还有存储接收屏蔽型代码寄存器的数值。
设定完成后,进入复位模式。
While(!
(NN&0x01))
//首先要求现场总线的发送器顺利复位才能实现初始化,设置MODR数值为9,
{//只有在复位模式,才能进入下一步工作
//发生多次写入数据的原因是由于未进入复位模式
MODR=0x09;//只有MODR的数值为9时,单片机才有相应的访问权限对不是内部相应的寄存器进行与写相反的操作
NN=MODR;//单片机允许对非内部寄存器进行相应的写的相关指令,看似进行读与写的访问地址读具有同一片地址,可是写的数据也许与读的数据结果却有所差异。
}
5.2报文的处理程序设计
节点的报文传输采用中断控制。
该流程图还包括了由于传输方缓冲区未能释放而没能传输的报文调度,在这种情况下现场总线控制器可发挥中止传输的功能。
可以实现89C51现场总线控制器的此种特性,可以用来传输一个重要的报文,该报文将会首先于存入传输缓冲区但没有正确传输的报文。
因为个别问题使一个传输报文依旧处于排队等待接受服务的情况下,这时的传输缓冲区会被锁定。
图5-2中央处理器程序设计
voidINT0_Counter(void)interrupt0using1
{
//INT0按键为计数按键
//每按一次按键,产生一个中断
EA=0;
//关闭中断
Txd_data++;
//计数器加1,存储计数结果,并为待传输的数据
TXD_flag=1;
//要传输数据标志位,即重新传输数据,以更新
EA=1;
//重新开启中断
}
显示值函数接从报文中的数据读取出来,送还给单片机的P2^1与P2^2两个LED灯,一个按键控制两个灯的效果。
voidled(ucharnumber)
{
if(number>=100)
//当计数值等于100时
number=0;
//数值要清0
ucharnum=number%2;
//数值余2后的结果付给num
led1=num;
led2=num;
//同一个值要么是0要么是1,付给车灯只有一个灯亮
}
图4-2报文发送流程图
首先对SJA1000初始化,在此处读写采用外部寄存器寻址方式设定SJA1000寄存器,所以可片选不用设置。
在死循环里首先调用接收处理程序,如果按键按下,调用接收报文程序。
待CAN总线接收到报文。
调用发送处理程序,调用发送报文子函数。
将报文里的数读出。
并付给控制灯。
5.3软件可靠性设计
合理的软件设计可以减少硬件设备的复杂,缩短开发的周期,便于维护,并能提高全方位移动平台产品的安全性与可靠性。
虽然硬件采用了抗干装置,可是复杂的干扰信号产生还是会产生影响,而且具有未知性,给保证系统的抗干扰增加了难度。
所以,往往在硬件抗干设备上,还要采取补充抗干扰技术的软件,为硬件措施的增加效果。
汇编语言的缺点是可读性差,所以可读性成了汇编语言编写的主要缺点,调试困难。
在实际应用中,只要求软件占用较小的内存储不可行,因为随着MCU的控制的设备越来越自动化,导致存代码量急剧增加。
可以提高程序的可靠性需要算法支持和不断的调试和测试,因而可以方便的找出错误并采用有效的算法。
5.3.1测试方案
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 CAN 总线 全方位 移动 平台 网络化 控制 软件