由于公司最近来个丰田欧洲的项目。回看之前接触到的几个丰田项目,发现AVC-LAN是丰田车厂特有的总线接口。所以现在在这里总结一下调试后的经验分享。
首先第一个问题。 什么是AVC-LAN? 在传统的音频系统中,组件间的信息需要是通过并行通信,控制信号和数据信号是通过单独导线传输的。自1998年以后丰田实现串行通信系统减少音频和其他组件之间的电线数量,同时保持或增加功能。这种音频总线Toyota汽车公司将它定义为AVC-LAN,由多显示器,导航ECU,收音机和播放器,立体声分量放大器和网关ECU视听系统组成。
日本丰田汽车公司将其汽车网络系统称为多路传输系统,主要有CAN、BEAN和AVC-LAN等几种网络结构。 CAN(Controller Area Network, 控制器局域网)是指符合ISO标准的串行数据网络。 BEAN(Body Electronic Area Network, 车身电子局域网)是丰田汽车公司资金开发的双向通信网络。 AVC-LAN(Audio Visual Communication-Local Area Network,音响视听局域网)是丰田汽车公司开发的,主要用于音频和视频设备中的通信网络。
该系统本身可以视为是IEBus标准的子集,该标准是NEC电子为汽车应用开发的。 它比BEAN总线快一点,每个命令有更多数据,但仍然比CAN慢很多,因为不需要实时速度。
如前所述,AVC-LAN是IEBus的派生产品。 AVC-LAN以17.8 kbps的速度运行,每个命令中包含0-32字节的数据,使其与IEBus模式2兼容。AVC-LAN(IEBus模式2)上的数据通过屏蔽双绞线传输。 总线电压范围为-0.5V至6.0V。 电压差用于表示逻辑1或零。 电压等于或小于20mV的电压差表示逻辑1,等于或大于120mV的电压差表示逻辑0。总线端接120欧姆电阻,总线上的各个设备(ECU)受180欧姆串联保护电阻保护。
AVC-LAN 通信协议:
传输信号格式如下:
IEBus上的每个命令都遵循特定的格式,包括标头,主地址字段,从地址字段,控制字段,数据长度字段和数据字段。 通信可以是从一个设备到另一设备,也可以是广播到总线上的所有设备。 总线上的每个设备都有一个唯一的标识符(地址),该标识符说明设备的类型。 每个地址只能存在一个设备,因此除非存在能够识别的辅助标识符,否则可能不会存在多个相同类型的设备。
标头由起始位和广播位组成。 起始位具有一个超长的高电平信号,表示通信的开始,并且始终被视为1。紧随其后的是广播位。 该位是1表示直接通信到另一个设备,或0表示广播到所有设备的消息。主地址字段由12个位(1个奇偶校验位)和1个奇偶校验位组成,用于告知正在发送消息的设备。 这里甚至所有其他奇偶校验都使用偶校验。 因此,当主地址位中的1的数目为奇数时,奇偶校验位应设置为1。这将使每个字段(包括奇偶校验位)中的1的数目始终为偶数。 如果不是这种情况,则发生传输错误,并且接收从设备不应该确认传输。
从地址字段也是12位,带有奇偶校验位。 随后的附加位(值为0)为从设备提供时间,以使从设备进一步增加双绞线上的电压差,并指示其确认已收到对它的有效消息。 12位地址的值来自丰田汽车常见的设备类型标识符的共享列表。对于一般广播,从站地址设置为FFF(十六进制)。 一些更常见和已知的地址号是(以十六进制表示):
四个控制位,一个奇偶校验位和一个确认(ACK)位组成控制字段。 控制字段值本身根据接收设备而有所不同。
数据长度字段告诉您需要多少个数据字段。 这些值取决于控制字段和从站地址,因此关于它们的知识也非常有限。 数据长度有8位,后跟一个奇偶校验和确认位。 0h1到0hF的值定义1到15个尾随数据字段,0h0表示16个尾随数据字段。 数据字段还包括8位具有奇偶校验位和确认位。 数据字段用于包含描述更复杂的组件命令的信息。
在实际调试过程中主设备给从设备节点发送数据内容如下:
//IE-Bus Msg Format Content
//Transmission side
/
// Master Address | Slave Address | Control field | length field | Data field
// 0100 0101 0f 06 aabbccddeeff
-
Prep 7uS
-
Sync 20uS
-
Data 13uS
下图教你如何辨别发的实际数据,其实实际测量和AVC-LAN通信协议一样在从地址,控制域,消息长度域,数据域都会有ACK相应。通过在slave node发送端和接收端量信号能帮助你分析总线上的问题。