Algoritmi pentru codarea canalului de semnalizare radio

Principiul funcționării sistemelor de control al accesului cu un canal radio

Semnalele canalului radio prin care se transmit date între alarmă și tastatură sunt distribuite în toate direcțiile și, prin urmare, schimbul de informații, este posibil să "ascultați". În oraș sunt multe alte alarme care nu trebuie să reacționeze la telecomanda altcuiva. Pentru a proteja canalul de schimb de interferențe accidentale sau intenționate, semnalul de schimb între tastatura și unitatea de alarmă este codificat.

Datele de pe canalul radio sunt transmise sub formă de secvențe - pachete. Fiecare pachet de semnale poate fi reprezentat ca o comandă (de exemplu, "Armă și încuietori de blocare" sau "Dezactivează și deschide încuietori").

Primele alarme cu un canal radio au avut un cod static - fiecare echipă avea propriul pachet de comandă. Formatul pachetului a fost selectat de utilizator sau de instalator utilizând comutatoarele din telecomandă sau prin etanșarea jumperilor. Variante ale codului nu au fost prea multe și cu fob-ul dvs. cheie ați putea deschide mașina altcuiva dacă codurile codurilor au fost identice.

O astfel de codificare nu a asigurat o protecție adecvată, a fost suficient să se scrie comanda "să se dezarmeze" și apoi să se joace, iar mașina este dezarmată ca de la un breloc nativ. Apoi, primii codatori au apărut pentru interceptarea, decodificarea și repetarea codului pentru a scoate mașina de la protecție în scopul furtului.

Tipuri de jetoane cu cod static și utilizate în panouri de control al alarmelor

  • [6010] HT-6010, HT6014, SH-312E - cod de 3 stări
  • [H600] Codurile de stare HT-600, HT-680, HT6187, HT6270, TT-13, PC-10T
  • [5026] AX5026, CT5026 - 3 coduri de stare
  • [5326] AX5326, AX5326S - 3 coduri de stare
  • [2262] PT-2262, M3E, CT5062 - 3 coduri de stare
  • [8092] TT8092 - 3 coduri de stare
  • [4134] MC41342, MC145026, SC41342 - cod de 3 stări

Pe exemplul de chips-uri HT6010, HT6012, HT6014, luați în considerare principiul de codificare 3 12 (cod de 3-stări) și schimbul între consola și alarma.
Compoziția include 3 codificatoare cip de familie (HT6010, HT6012, HT6014) și trei cipuri decodor (HT6030, HT6032, HT6034).

Algoritmi pentru codarea canalului de semnalizare radio

Scurte specificații și compatibilitatea microcircuitelor din această familie 3 12 vezi tabelul

Algoritmi pentru codarea canalului de semnalizare radio

Algoritmi pentru codarea canalului de semnalizare radio

Odată cu cererea crescândă de sisteme de securitate a vehiculelor și cu comandarea frecvenței canalului radio la 433,92 Mhz, producătorii de semnalizare au trecut la un nou tip de codificare, atunci a apărut conceptul de cod dinamic. Această opțiune înseamnă că de fiecare dată când apăsați butonul, tastatura trimite un cod de comandă unic, probabilitatea că este foarte mică. Acum, mesajul scris în memoria recuperatorului ar putea fi pur și simplu aruncat, deoarece unitatea de alarmă a lucrat deja cu ea și a aruncat pachetele corecte din listă. În cazul în care codurile nu sunt mari în numărul de biți în echipă, a fost încă posibil să se utilizeze metoda de selectare a codului cu un scaner, dar aceste cazuri au fost rare, și nu a durat mult timp, a existat o metodă de codificare revoluționară numită KEELOQ.

MICROCHIP a dezvoltat o nouă gamă de microcircuite compacte pentru encodere și decodoare bazate pe algoritmul Keeloq cu cod dinamic (hopping). Costurile scăzute și un grad ridicat de protecție, precum și dimensiunile miniatură au revoluționat industria de semnalizare auto. O mulțime de sisteme utilizează acum codificatoare gata făcute, cum ar fi HCS200, HCS300, HCS301, HCS320, în consolele de semnalizare.

Algoritmi pentru codarea canalului de semnalizare radio

Algoritmul Keeloq

Algoritmul se bazează pe codul "bouncing" pseudo-aleator, astfel încât nimeni, cu excepția receptorului propriu, să poată prezice care cod trebuie să fie transmis data viitoare. Codul "sărituri" este generat de codificator conform algoritmului licențiat, bazat pe codul "cheie de criptare" pe 64 de biți, pe numărul de serie pe 28 de biți și pe contorul de sincronizare pe 16 biți.

Să examinăm mai îndeaproape implementarea algoritmului Keeloq bazat pe codificatoarele familiei MICROCHIP HCS.

Înainte de a folosi microcipul în panourile de alarmă, acesta trebuie programat de către producătorul de alarme în procesul de producție. Toate informațiile programate sunt stocate în EEPROM încorporat (memorie nevolatilă), și aceasta:

  • Valoarea pe 16 biți a cuvântului de configurare (determină modul de funcționare a codorului);
  • Numărul de serie pe 28 de biți, care trebuie să fie unic pentru fiecare codificator;
  • 64-bit cheie de criptare unică, care este generată în timpul fabricării (cheia de criptare este generată printr-o lege neliniară a numărului de serie 28-bit și tastele de producție pe 64 de biți);
  • 16-biți valoarea de sincronizare

Toate cheile de criptare programate și combinațiile de coduri EEPROM sunt protejate împotriva citirii, care protejează eficient împotriva tentativelor de accesare a cheilor și de gestionare a valorilor de sincronizare. EEPROM poate fi reprogramat după ștergere.

Cheia producătorului este o cheie unică pe 64 de biți,
care se utilizează atunci când se generează o cheie unică de criptare pentru fiecare codificator.
Codul producătorului este partea principală a protecției complete a sistemului.

Când apăsați orice buton de pe telecomandă, encoder-ul citește butonul și modifică contorul de sincronizare. Apoi, valoarea contorului de sincronizare este combinată cu cheia de criptare din algoritmul de criptare, iar rezultatul este o informație criptată pe 32 de biți. Aceste date se modifică de fiecare dată când butonul este apăsat, astfel încât această parte a combinației de coduri se numește un cod dinamic. Receptoare și emițătoare Keeloq operează într-un cod de serie prin trimiterea lungimea bit de 66 (Figura 5), ​​constând dintr-un codat „sărituri“ porțiune de 32 de biți, numărul de serie pe 28 de biți, 4 biți de utilizator (starea de butoane), indicator baterie scăzută 1 bit și 1 bit fix (bit repetat).

In Keeloq airbag este împărțit de către componenta condițional TE (durata de ceas de bază) și constă dintr-un preambul (Tp), Hedera (Th), date (Thop + Tfix) și pauze (Tg) (Figura 6) în diferite lanțuri cheie cu diferite niveluri de încărcare bateriile, durata TE poate fi diferită și, prin specificație, este de la 260 μs la 660 μs, dar în cadrul unui pachet durata TE este relativ stabilă.

Transmiterea pachetului Keeloq de către codificatorul HCS. aerul începe cu un preambul și constă în 23 TE care se alternează înaltă și joasă. Preambulul este necesar pentru a "roti" receptorul și pentru a configura TE pentru decodor. Apoi vine Khed 10-TE low. În spatele Hederem există transfer de date. Datele se compun din 66 biți de informație, fiecare bit are o perioadă de 3-TE durată (Fig.7)

Algoritmi pentru codarea canalului de semnalizare radio

În figura 7 se observă că unitatea logică constă dintr-un nivel TE ridicat și două TE de nivel scăzut, un zero logic constă în două TE la nivel înalt și un nivel scăzut TE. Trebuie remarcat faptul că datele sunt difuzate de la LSB la MSB (Fig.5). După transmisia de date, o pauză de 39 TE merge lung și dacă butonul este ținut după Pause, va urma o altă preambulă.

O schemă tipică pentru conectarea encoderului HCS2XX-HCS3XX este prezentată în Figura 8, de fapt este o diagramă a unui panou de alarmă cu patru butoane.

Algoritmi pentru codarea canalului de semnalizare radio

Decodoare microchip cu tehnologie Keeloq

Decodoarele Keeloq sunt concepute pentru a înșele comenzile care provin de la codificator prin intermediul canalului de comunicare. După verificarea numărului de serie și a "codului de ridicare" recepționat în secvența de cod, decodorul activează ieșirile corespunzătoare intrărilor de butoane din codor pe baza codului funcției. Ieșirile vor fi păstrate în starea activă atâta timp cât este apăsat butonul de pe encoder. Tabelul prezintă caracteristici scurte ale codificatoarelor HCS500, HCS512, HCS515 și codificatoarelor cu care lucrează.

Pentru a executa comenzi cu un decodor, trebuie să specificați numărul serial de 28/32-biți și cheia secretă pe 64 de biți a encoderului și una dintre condiții este sincronizarea cu encoder-ul. Decodoarele Keeloq utilizează un sistem cheie independent: pentru fiecare consola (transmițător) din decodor, stocați-i numărul de serie, cheia secretă și sincronizarea curentă.