De ce IrDA nu este potrivit pentru a primi comenzi IR control de la distanță

Ei bine, de fapt, puteți utiliza desigur IrDA pentru a primi comenzi de la telecomenzile infraroșu convenționale, dar cu limitări foarte mari. Nu funcționează cu toate consolele. Stabilitatea de recunoaștere a comenzii este foarte scăzută. Dacă utilizați IrDA încorporat în placa de bază, este necesar să se arunce un conducător auto în cazul în care extern, este necesar pentru a elimina driver-ul sau periodic peretykat receptor la un alt port COM. USB IrDA, în general, nu poate fi utilizat, deoarece acesta nu poate fi accesat direct ca un port serial (a nu se confunda cu un port COM virtual).







Și acum mai mult

Prin date IrDA este transmis ca portul COM cu câteva diferențe. Prezența unui puls - este un 0 logic, lungimea este de 3/16 Impulsul timp bit. Modul utilizate în mod obișnuit 8 biți, fără paritate, și 1 bit de stop. Primul impuls este privit ca un starter, apoi în funcție de rata selectată (în mod tipic 115.200) prezența sau absența unui puls la un moment dat determină valoarea următorului bit (0 sau 1). Byte este considerat a trecut cu succes dacă sunt primite în mod corect bit de stop, de exemplu, în cazul în care, la momentul potrivit nu va fi nici puls. În semnalul de imagine prezentat în transmisia de date prin portul COM (UART) și prin IrDA.

Accesati IrDA ca un port COM obișnuit numai dacă dispozitivul este conectat la un port COM sau conector IrDA pe placa de bază. În al doilea caz, este necesar să se pronunțe cu mâinile sale fișiere INF, astfel încât Windows nu cred că acest lucru este portul IR. Utilizați de exemplu dispozitivul IrDA USB pentru a lucra cu Moodle nu funcționează.

USB-l IRDA
USB-l IRDA

La metodele de codificare comenzilor de control la distanță pentru a IR raze (infraroșu) pot fi vizualizate aici. Cel mai important - fiecare impuls de date este trimis de la Moodle, de fapt - este fundalul în infraroșu dat durată la o frecvență de 30 până la 56 la kHz.







Să presupunem că, cu un pic de oprire este bine, atunci totul va fi la fel de narisunke (A). model IR apărut prin 86.8 microsecunde (la o rată de 115200) a început primul octet generat eveniment RX CHAR EVENIMENT. În așteptare pentru sfârșitul primirea pachetului, se calculează numărul de octeți și numărul de biți mai mici unități în ultimul octet, astfel, să învețe durata impulsului (T2) până la 9 microsecunde. În așteptare pentru următoarea RX CHAR eveniment și măsoară timpul între T1 învețe. Scăzând T2 de la T1 cunosc lungimea pauzei. S-ar părea că există suficiente informații pentru a decoda comanda (durata pulsului cunoscut și pauze între ele), dar.

În cazul în care nu este acceptată timpul bit de oprire de citire în IR de fundal va scădea pulsul octet. A se vedea. Figura (B). Astfel, în cazul recepției incorecte a unuia sau mai multor octeți RX CHAR EVENT poate avea loc la punctul (1), (2) sau (3). Mai mult RX CHAR EVENIMENT poate să apară de mai multe ori în timpul unui singur impuls de date cu exemplu Distantsionka la punctele (1) și (3). Cel mai probabil, fără erori de recepție octet sfârșitul suprapunere cu puls de date Distantsionka (la bit de stop nu va primi nici un puls).

Toate acestea se referă la cazul când se utilizează un plugin DCD sau IR210 (principiul de funcționare este similar cu WinLIRC) cu Moodle pentru analiză echipa. UIR plugin nu are nici o idee despre codificări diferite console de tocit analizează secvența de octeți. Probabilitatea ca una și aceeași comandă de la distanță IrDA va da aceleași octeți sunt foarte mici. Rezultatul, de exemplu, poate varia distanța dintre telecomandă și receptor IrDA. Pe de altă parte, aceleași octeți pot fi obținute pentru consola comenzi diferite.

Concluzie: fundal IR frecvență specifică (adică, la un anumit model de Distantsionka) o IrDA întindere poate fi utilizat pentru recepționarea comenzilor de control de modulație de impulsuri distanței și la un nivel relativ scurte impulsuri, în concordanță cu intervalul de timp dintre RX CHAR EVENT (priza DCD ). IrDA nu poate fi utilizat pentru a primi comenzi de la IR distantsionok cu un alt tip de modulare, precum și în cazul în care echipa este prezent lung primul impuls informație care apare destul de des.

Generarea infraroșu comenzi de control de la distanță prin IrDA.

Aici situația este puțin mai bună. Dacă știți formatul exact al comenzii pentru acest Moodle, puteți crea mai multe pachete și le trimite prin IrDA după un timp specificat. Astfel, este necesar să se utilizeze o viteză de transmisie de 38400 (cel mai apropiat de frecvența distantsionok majorității). Ai foarte aproape de semnalul original, dar nu va fi perfect. La fiecare nouă impulsuri va eșua (bit de stop). În continuare ciclul de funcționare va fi de aproximativ 19% (ar trebui să fie de 50%). Aparatul de recepție poate primi bitul de stop ca o scurtă pauză între impulsurile și informațiile decoda corect comanda.

Am adunat pentru a recompensa 0 0