Adaptateur IBus – DB9


Pour faire un petit projet avec des capteurs de E46 et E39 j’ai besoin de faire une analyse de ce qui se passe sur le IBus pour pouvoir faire ce que j’ai a faire.

IBus

L’IBus est un peu comme le CAN des voiture actuel. il permet a tous les calculateur reliés dessus de lire et d’envoyer des données. Le tout communique sur un seul fil.

Les signaux sont en 12V, les données communiquées sont plus ou moins des données séries donc il est pas compliqué de faire la conversion vers un port DB9 série.

Schéma

Liste des composants

  • R1: 56k
  • R2: 10k
  • R3: 4.7k
  • R4: 22k
  • R5: 10k
  • R6: 690
  • D1: 1N4148 (diode silicone standard)
  • Q1: 2N2222
  • Q2: 2N2222
  • LED 5mm

Circuit

Gerber:

Photos:

Boitier

Stl:

Photos:

Logiciel

Pour le logiciel on va utiliser Navcoder. C’est un logiciel qui coute 25€ et qui permet de decoder les trames qui passent sur le IBus mais aussi d’envoyer des données.

Premiere lecture

15:58:03.270: ! NavCoder v2.9.183.Beta [FR] [i/k-bus] logging started
15:58:03.270: ! Running on Windows 7 Ultimate Edition, 32-bit (Service Pack 1) [fr-FR]
15:58:03.270: ! [Debug Mode]
15:58:03.270: ! [Procotol = Auto]
15:58:03.270: ! Script: Setting Scripting state to Off
15:58:03.504: ! showBatteryVoltage: Nave not alive, exiting…
15:58:03.828: ! Setting COM port parameters for COM1
15:58:03.859: ! COM1 opened
15:58:03.984: ! Update check started
15:58:03.984: ! Error: No Internet connection
15:58:03.984: ! Update cancelled
15:58:10.489: ! Script: Setting Scripting state to Off
15:58:10.489: ! Script: Loaded file: A Respond RLS.nsf
15:58:10.489: ! Script: Lines loaded: 3
15:58:10.489: ! Script: Setting Scripting state to On
15:58:15.263: D0 04 BF 02 01 68
15:58:15.263: ! LCM –> GLO : Device status ready, after Reset
15:58:15.481: E8 03 80 10 7B
15:58:15.481: ! RLS –> IKE : Ignition status request
15:58:15.497: ! Script: Executing OnComEvent
15:58:15.497: ! Script: Executing Line 2 Keyword 2: Send(“80 04 BF 11 03 29”)
15:58:15.512: 80 04 BF 11 03 29
15:58:15.512: ! IKE –> GLO : Ignition status, Pos1_Acc Pos2_On
15:58:15.543: D0 07 BF 5B 00 00 00 00 33
15:58:15.543: ! LCM –> GLO : Lamp status, All_Off All_OK
15:58:15.684: E8 05 00 58 00 00 B5
15:58:15.684: ! RLS –> GM : Headlight wipe interval, Data=”00 00″
15:58:15.731: E8 05 00 58 FF 7F 35
15:58:15.731: ! RLS –> GM : Headlight wipe interval, Data=”FF 7F”
15:58:15.777: E8 03 00 75 9E
15:58:15.777: ! RLS –> GM : Wiper status request
15:58:15.793: ! Script: Executing OnComEvent
15:58:15.793: ! Script: Executing Line 1 Keyword 2: Send(“00 04 E8 77 05 9E”)
15:58:15.809: 00 04 E8 77 05 9E
15:58:15.809: ! GM –> RLS : Wiper status, Data=”05″
15:58:15.855: D0 07 BF 5C FF 3F 00 00 F4
15:58:15.855: ! LCM –> GLO : Light dimmer, Data=”FF 3F 00 00″
15:58:16.386: E8 04 BF 02 01 50
15:58:16.386: ! RLS –> GLO : Device status ready, after Reset
15:58:16.386: ! Script: Executing OnComEvent
15:58:16.386: ! Script: Executing Line 3 Keyword 2: Send(“80 04 BF 11 07 2D”)
15:58:16.417: 80 04 BF 11 07 2D
15:58:16.417: ! IKE –> GLO : Ignition status, Pos1_Acc Pos2_On Pos3_Start
15:58:18.507: D0 07 BF 5C FF 3F FF 00 0B
15:58:18.507: ! LCM –> GLO : Light dimmer, Data=”FF 3F FF 00″
15:58:28.055: D0 03 80 1D 4E
15:58:28.055: ! LCM –> IKE : Temperature request
15:58:28.055: D0 07 BF 5B 01 00 00 00 32
15:58:28.055: ! LCM –> GLO : Lamp status, Park All_OK
15:58:28.070: D0 07 BF 5C A8 2A FF 00 49
15:58:28.070: ! LCM –> GLO : Light dimmer, Data=”A8 2A FF 00″
15:58:28.367: D0 07 BF 5B 01 00 00 00 32
15:58:28.367: ! LCM –> GLO : Lamp status, Park All_OK
15:58:30.849: D0 07 BF 5B 03 00 00 00 30
15:58:30.849: ! LCM –> GLO : Lamp status, Park Low_Beam All_OK
15:58:31.161: D0 07 BF 5B 03 00 00 00 30
15:58:31.161: ! LCM –> GLO : Lamp status, Park Low_Beam All_OK
15:58:34.031: D0 07 BF 5B 01 00 00 00 32
15:58:34.031: ! LCM –> GLO : Lamp status, Park All_OK
15:58:34.343: D0 07 BF 5B 01 00 00 00 32
15:58:34.343: ! LCM –> GLO : Lamp status, Park All_OK
15:58:38.321: D0 07 BF 5B 00 00 00 00 33
15:58:38.321: ! LCM –> GLO : Lamp status, All_Off All_OK
15:58:38.368: D0 07 BF 5C FF 3F FF 00 0B
15:58:38.368: ! LCM –> GLO : Light dimmer, Data=”FF 3F FF 00″
15:58:38.633: D0 07 BF 5B 00 00 00 00 33
15:58:38.633: ! LCM –> GLO : Lamp status, All_Off All_OK
15:58:40.739: D0 07 BF 5B 03 00 00 00 30
15:58:40.739: ! LCM –> GLO : Lamp status, Park Low_Beam All_OK
15:58:40.739: D0 07 BF 5C A8 2A FF 00 49
15:58:40.739: ! LCM –> GLO : Light dimmer, Data=”A8 2A FF 00″
15:58:41.035: D0 07 BF 5B 03 00 00 00 30
15:58:41.035: ! LCM –> GLO : Lamp status, Park Low_Beam All_OK
15:58:54.264: E8 06 00 58 FF 7F 00 36
15:58:54.264: ! RLS –> GM : Headlight wipe interval, Data=”FF 7F 00″
15:58:54.280: E8 05 D0 59 10 00 74
15:58:54.280: ! RLS –> LCM : Light control status, Control: Turn_lights_off Sensor_OK Level_Signal_invalid Reason:Data=”10 00″
15:58:54.311: D0 07 BF 5B 00 00 00 00 33
15:58:54.311: ! LCM –> GLO : Lamp status, All_Off All_OK
15:58:54.327: D0 07 BF 5C FF 3F FF 00 0B
15:58:54.327: ! LCM –> GLO : Light dimmer, Data=”FF 3F FF 00″
15:58:54.342: E8 05 D0 59 30 00 54
15:58:54.342: ! RLS –> LCM : Light control status, Control: Turn_lights_off Sensor_OK Level_Signal_invalid Reason:Data=”30 00″
15:58:54.373: E8 05 D0 59 31 02 57
15:58:54.373: ! RLS –> LCM : Light control status, Control: Turn_lights_off Sensor_OK Level_Signal_invalid Reason: DarknessData=”31 02″
15:58:54.389: D0 07 BF 5B 03 00 00 00 30
15:58:54.389: ! LCM –> GLO : Lamp status, Park Low_Beam All_OK
15:58:54.420: D0 07 BF 5C A8 2A FF 00 49
15:58:54.420: ! LCM –> GLO : Light dimmer, Data=”A8 2A FF 00″
15:58:54.701: D0 07 BF 5B 03 00 00 00 30
15:58:54.701: ! LCM –> GLO : Lamp status, Park Low_Beam All_OK
15:58:54.857: E8 03 00 75 9E
15:58:54.857: ! RLS –> GM : Wiper status request