SAE J1850由美国汽车工程协会(SAE)作为B类协议定义,其定义指定为:通过节点间传输数据(如参数数据)来消除冗余传感器和其他系统元件的系统。在这种形式中一个多路系统的节点一般已经作为一个独立模块存在于一辆常见的有线汽车中【WIEGAND 1998】。
B类网络本来用于模块间通信,其支持的数据传输速率大约为100kbit/s。这样的数据速率对于实时安全关键程序是不够的。但B类网络对于非实时机电一体化控制过程和通信却是理想的。
SAE J1850协议基于总线级拓扑。这种拓扑结构中总线是一种无主的点对点(peer-to-peer,P2P)协议。比如在CAN总线中,当消息被广播时,无论什么消息都会以帧的形式发送至所有的节点,而不管预定目的地。该协议支持两种模式:一种是支持双线的41.6kbit/s脉宽调制模式;另一种是支持单线配置的10.4kbit/s可变脉宽模式。数据可经时分多路复用或频分多路复用在总线传送。在时分多路复用中,消息在同一总线上在不同时隙传送;而在频分多路复用中,同一时间传送两个或多个消息【SHRINATH AND EMADI 2004】。
改变总线上每次转换维持的时间量便在总线上传输数据。例如,按照VPW J1850协议的定义,1比特位是一根由64μs的高电平(活动的)状态或128μs的低电平(无源的)状态驱动的总线。或者,0比特位被定义为一根由128μs的高电平(活动的)状态或64μs的低电平(无源的)状态驱动的总线。高电平一般是DC 4.25~20V的任意电压。而低电平是从搭铁到DC3.5V的任意电压【SHRI-NATH AND EMADI 2004】。
使用真空管(如晶体管)可得到不同电平间的转换。即使在总线处于空闲状态时,它也处于低电平或地电位。当某个节点想要传输时,它使用真空管(如晶体管)推动总线至一个高电平状态,从而覆盖了想要把总线推至一个低电平状态的任何节点。首先是哪些节点希望传输,其次总线被划分为某个固定时间量。如果它们检测到总线是空闲的,便开始传输。如果它们检测到总线忙,则在尝试开始传输之前等待某个时间量。
假设某个节点传输一个被动标志(passive symbol)。如果没有质疑,它便继续并传输消息。需要指出的是,传输期间会检查每个比特位以确保没有任何优先级更高的节点正在等待传输。这被称为逐位仲裁。这个过程持续执行直到仅剩一个比特位。但是,在传输前,如果有某个节点在传输一个主动标志(active symbol),那么传输被动标志节点便失去了对总线的控制并开始作为一个接收器工作。
被动标志节点于是就“失去仲裁”(lost arbitration)。这样就可以理解所用的仲裁方案为什么被称为载波侦听多路访问/冲突解决(carrier sense multiple access/collision resolution,CSMA/CR)了。它被称为多路访问,是因为多个节点获得公平访问总线是可能的。消息的开始位表示消息的优先级。协议中实现的一个循环冗余校验码(CRC)用来纠错【OLIVER 2003】。(www.xing528.com)
一旦发送节点完成传送,失去仲裁的节点将再次尝试访问总线并且整个仲裁过程再次重复。比其他节点在消息开头中有更多主动标志的节点,总是比其他的消息更早获得总线访问。然而,必须强调的是,由于总线访问的本质,不可能指定某些节点可发送或接收的时间,这不同于之前出现的TTCAN【SHRINATH AND EMADI 2004】。
整个SAE J1850在一块硅片上实现,比如,Delco Electronics为通用汽车公司开发的数据链路控制器【LUPINI ET AL. 1991】。该单片机有一个11字节传输先进先出(first-in-first-out,FIFO)缓存和一个20字节接收FIFO缓存,以及一个8位并行数据接口。该单片机也内置了一个收发器。该收发器提供一个DC 7V波形用于总线传输。波形被整形以减少射频干扰(RFI)发射。逻辑段包括:主机接口、错误检测、校正码以及各种逻辑执行功能,如过滤、定时和标志定义。
图1-30所示为DLC单片机的功能和结构框图【SHRINATH AND EMADI 2004】。
图1-30 DLC单片机的功能和结构框图【SHRINATH AND EMADI 2004】
SAE J1850的优势在于它是一个开放的架构。在它的实现和开发中没有任何严格的限制,由此它给了汽车设计者在开发应用中的足够自由。SAE J1850主要用于诊断和数据记录功能。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。