一:主机上电
①IERCV: 1 388 190 F (Len=05) 00 01 11 10 CB
②IERCV: 1 440 190 F (Len=07) 00 01 11 10 29 74 A4
③IERCV: 1 1D4 190 F (Len=08) 00 01 11 10 32 3F 5D E0
④IERCV: 1 1C4 190 F (Len=05) 00 01 11 10 3E
⑤IERCV: 1 1D8 190 F (Len=08) 00 01 11 10 32 3F 5D 5E 雷克萨斯IS250
⑥IERCV: 1 1C6 190 F (Len=08) 00 01 11 10 E0 E4 E5 E7 雷克萨斯IS250
一汽丰田 地址1-4是雷克萨斯RX270的数据。5-6是雷克萨斯IS250的数据。
第①条是USB/AUX控制器发给主机的.
注意:第三个字节(0x10)后的数据,在IeBus系统里,每个设备可能包含几个器件或者可以说几个器件共用一个设备地址。例如主机可以包含RADIO器件,CD器件,CDC器件等,这些器件都有它自己的ID,第3个字节后的数据就是这个设备可能会包含或者用到器件的ID.点对点通信中这个ID是不可缺少的。主机收到这些数据后 ,会将设备地址和器件ID联系起来;
第②条是功放发给主机的,它有3个器件ID,我猜测可能是不同的功放有不同的ID;
第③条是RX270屏发出的信息,第⑤条是IS250面板发出的信息(包括按键和屏);
第④和⑥都是空调控制器发出的信息。
所有设备表明身份和ID后,主机会发送另一个全局广播:IERCV: 0 190 FFF F (Len=03) 11 01 01。收到这条ID后,所有的从设备要向主机说明有哪些器件和自己有关联,主机会将包含该器件的从设备地址发给从设备。
例一:
①IERCV: 0 190 FFF F (Len=03) 11 01 01
②IERCV: 1 1C6 190 F (Len=07) 00 01 11 12 5D 00 58
③IERCV: 1 190 1C6 F (Len=08) 00 11 01 02 1D 80 19 01
第②条里从设备1C6向主机声明有2个器件和自己有关系,需要知道它们的地址。主机在第③条里给出了包含这2个器件的从设备的地址。第③条信息从第4个字节开始就是包含相应器件的从地址了。1D 80表示包含第0个ID器件的从设备地址是1D8; 19 01表示包含第1个ID器件的从设备地址是190。第②条信息5D和58之间的00是如何产生和处理的还不知道,现在的理解就是那是一个无效的ID。
例二:
①IERCV: 1 1D8 190 F (Len=14) 00 01 11 12 3F 23 28 29 43 60 62 63 64 65 6C 6D 6E 6F 74 A2
②IERCV: 1 190 1D8 F (Len=12) 00 11 01 02 1D 80 19 01 44 03 19 05 19 07 19 0D 44 0E
③IERCV: 1 1D8 190 F (Len=0C) 00 01 11 12 C0 3F C1 C4 C5 CB 44 E0
④IERCV: 1 190 1D8 F (Len=0A) 00 11 01 02 1D 81 38 85 1C 67
0x1D8是面板的地址,包含了按键,显示屏和LED灯,所以和它关联的设备很多。
从第②条中可知,第①条中询问的第0个ID(3F)对应的地址是0x1D8,第1个ID(23)-0x190,第3个ID(29)-0x440,第5个ID(60)-0x190,第7个ID(63)-0x190,第D个ID(6F)-0x190,第E个ID(74)-0x440
从第④条中可知,第1个ID(3F)-0x1D8,第5个ID(CB)-0x388,第7个ID(0xE0)- 0x1C6。
二:从设备上电
从设备上电后如果没有收到主机发出的IERCV: 0 190 FFF F (Len=03) 11 01 00消息就要主动广播自己的存在,例如:
①IERCV: 0 1D8 1FF F (Len=07) 01 11 13 32 3F 5D 5E
②IERCV: 0 1D4 1FF F (Len=07) 01 11 13 32 3F 5D E0
可以和收到主机11 01 00消息应答主机的消息对比看。
③IERCV: 1 1D8 190 F (Len=08) 00 01 11 10 32 3F 5D 5E
④IERCV: 1 1D4 190 F (Len=08) 00 01 11 10 32 3F 5D E0
①,②是设备没有收到11 01 00信息后发送的广播。主机如果收到从设备的主动连接消息,会应答从设备。应答消息是:IERCV: 1 190 1D4 F (Len=04) 00 11 01 03。接下来主机会发送全局广播IERCV: 0 190 FFF F (Len=03) 11 01 01,让所有从设备重新说明包含的器件ID和请求与它关联的ID的地址。
至此,主机和从设备的连接建立完毕,接下来就是器件之间的对话了
普通的消息发送,不需要相应的器件回应,例如:
IERCV: 1 1D4 1C4 F (Len=0C) 00 5D 3E E8 00 00 00 00 00 00 00 00,这条消息里的第一个字节表示发送消息的器件ID(0x5D),第二个字节表示接收消息的器件ID(0x3E),后面就是消息内容了。
询问,需要相应的器件应答,例如:
①IERCV: 1 1D8 190 F (Len=04) 00 25 63 E0
②IERCV: 1 190 1D8 F (Len=0A) 00 63 25 F0 06 10 90 03 01 03
③IERCV: 1 1D8 1C6 F (Len=04) 00 25 E0 E6
④IERCV: 1 1C6 1D8 F (Len=06) 00 E0 25 F6 17 17
①③是1D8询问,②④是询问器件的应答。注意①③的第一个字节并不是发送消息的器件的ID。
第3个字节0xEx(0xE0,0xE6)代表询问的内容,被询问设备应答时,第3字节为0xFx(0xF0,0xF6)。如果我们模拟某些IeBus设备和主机通讯,那么主机的这类询问必须要应答,否则连接不成功。
主机每一分钟会发送一个连接信息
IERCV: 0 190 FFF F (Len=04) 11 01 20 89
所有从设备必须应答,否则主机会断开连接
IERCV: 1 388 190 F (Len=06) 00 01 11 30 89 FF
IERCV: 1 1D4 190 F (Len=06) 00 01 11 30 89 00
IERCV: 1 440 190 F (Len=06) 00 01 11 30 89 FF
IERCV: 1 1C4 190 F (Len=06) 00 01 11 30 89 FF
主机发送的信息的最后一个字节内容(0x89)每次加1(1分钟),从设备应答时相应字节的值要和这个值一样。
发布评论