Givar-ID
XID eller Transducer ID™ är ett enhetskommunikationsbusssystem designat av Airmar Technology Corp., USA för att göra det möjligt för ett ekolod att identifiera typen av ultraljudsgivare som är ansluten. Detta gör att ekolodet kan justera för givarens specifika egenskaper såsom frekvens, märkeffekt, strålmönster.
Kommunikation sker över en enda tråd i ett styrenhetsmönster med ekolodet som styrenhet och givaren som enhet. Även om det är elektriskt likt 1-Wire , har dess protokoll ingen möjlighet att räkna upp flera enheter.
Systemet är implementerat av Garmin och Raymarine i några av deras ekolod.
Protokoll
Bussen är designad för att fungera med 5V som logisk 1, 0V som logisk 0 med något skydd mot oavsiktlig anslutning till en båts 12V DC-system. Slaven kan drivas från bussen.
Lågnivåsignalering
Signalering görs med fyra typer av bitprimitiver:
- "läs" lite primitivt
- "skriv 1" bit primitiv
- "skriv 0" bit primitiv
- "återställ" lite primitivt
Tidsbegränsningar
Symbol | Parameter | Min. | Typ. | Max. | Enheter |
---|---|---|---|---|---|
t CYC | Cykeltid | 100 | - | - | µS |
t RDL | Läs klocka låg tid | 8 | 10 | 12 | µS |
t PRE | ID-buss förladdningstid | 2 | - | - | µS |
t HI-Z | Läs Bit High Impedance Time | - | - | 40 | µS |
t DR | Dags för data redo | 20 | - | 26 | µS |
t DH | Datahållningstid | 9 | - | 11 | µS |
t W1L | Skriv "1" Low Time | 17 | 19 | 21 | µS |
t W0L | Skriv "0" Low Time | 28 | 30 | 32 | µS |
t ÅTERSTÄLL | Återställ tid låg | 43 | - | - | µS |
t ÅTERSTÄLL | Återställ Time High | 200 | - | - | µS |
"återställ" lite primitivt
"reset" avbryter alla kommandon och instruerar givaren att gå in i sitt initiala tillstånd.
"läs" lite primitivt
Givarens styrenhet är ansluten till signalledningen via ett dubbelriktat IO-stift med ett svagt pull-up-motstånd. Styrenhetens IO-stift är i högimpedansläge. Efter att ha mottagit "läs"-bitens primitiva, blir den en utgång för att driva bussen lågt efter behov.
"skriv 1" bit primitiv
"skriv 0" bit primitiv
Kommandon
Ekolodet kan ge fyra olika kommandon. Bitordning är LSB först.
Kommando Mnemonic | Opcode | Adress | Data Lässtorlek |
---|---|---|---|
ÅTERSTÄLLA | - | - | - |
READ_VERSION | 0xCC | - | variabel |
READ_BYTE | 0x33 | 8-bitars adress | 8 bitar |
READ_BLOCK | 0x99 | - | variabel |
KOLLA STATUSEN | - | - | 1 bit |
RESET kommando
RESET utfärdas som lite primitivt enligt beskrivningen ovan.
READ_VERSION kommando
READ_VERSION utfärdas som Opcode 0xCC skriven till slaven.
Efteråt läses en sekvens av byte med den första byten som anger bytelängden för tillgänglig data.
READ_VERSION bör vara det första kommandot efter en RESET.
READ_BYTE kommando
READ_BYTE utfärdas som Opcode 0x33 och en 8-bitars adress skrivs till slaven.
Giltiga adresser är 0..126 inklusive.
Efteråt klockas resultatbyten in.
READ_BLOCK kommando
READ_BLOCK utfärdas som Opcode 0x33.
Efteråt läses en sekvens av byte med den första byten som anger bytelängden för tillgänglig data. De två sista byten är en 16-bitars kontrollsumma (big endian) som använder CRC-16-IBM- algoritmen.
CHECK_STATUS kommando
CHECK_STATUS är identisk med "läs"-bitens primitiva kommando.
Om givarens processor inte kan svara kommer bussen att förbli hög under avläsningen.
Om givarens processor väntar på ett kommando, svarar den på "läs" bitens primitiva kommando genom att dra bussen till låg.
- "Kopplingsscheman för givare" . 2019-06-28. Arkiverad från originalet 2019-06-18.
- "Kopplingsscheman för CHIRP-givare" . 2019-06-28. Arkiverad från originalet 2018-08-27.