Cum să lucrați cu el - stadopedia

Evident, atunci când lucrați la un autobuz cu o "instalație I", nu puteți pune un nivel ridicat ridicat în această anvelopă. În caz contrar, în cazul în care oricare dintre blocuri dă un nivel scăzut de putere, atunci unul dintre ele va arde ca urmare a scurtcircuitului.







· Transmițătorul este un element care trimite date către magistrala.

· Receptorul este un element care primește date de la magistrala.

· Master - elementul care inițializează transmisia, generează semnale de sincronizare și completează transmisia.

· Sistem multi-master cu mai mult de un master.

· Arbitrajul este o procedură care asigură că, dacă mai mult de un maestru încearcă simultan să controleze magistrala, numai unul dintre ele va primi controlul complet al magistralei și va asigura transferul de date fără erori.

· Sincronizare - sincronizarea transferului de date între elemente.

Transmisia / recepția semnalelor se face prin apăsarea liniei la 0. Unitatea este setată de la sine, datorită rezistențelor de tracțiune. Ele trebuie să fie întotdeauna instalate. Standard! Rezistentele la 10k sunt optime. Cu cât rezistența este mai mare, cu atât linia este mai restabilită la unitate (există o reîncărcare a capacității parazite dintre fire) și fronturile impulsurilor cad mai violent, ceea ce înseamnă că rata de transmisie scade. Iată de ce viteza de transmisie I 2 C este mult mai mică decât cea a SPI. De obicei, IIC funcționează fie la 10 kbit / s - în modul lent, fie la 100 kbit / s în modul rapid. Dar, în realitate, puteți schimba fără probleme viteza până la zero.
În nici un caz nu puteți comuta pinul microcontrolerului la OUT și trageți piciorul la +5. Puteți să prindeți ușor o eroare și să ardeți fie un controler, fie un dispozitiv în autobuz. Cine știe dacă există presiune asupra liniei.

Toate transmisiile de date constau în parcela Start. biți și parcelele de oprire. Ordinea modificării nivelului pe pneuri specifică tipul parcelei.

Cum să lucrați cu el - stadopedia






Cum să lucrați cu el - stadopedia

După pornire, transmisia unui bit de date merge în sensul acelor de ceasornic. Adică, atunci când linia SCL de la master sau slave zero stabilește bitul SDA (apăsați - dacă este 0 sau nu apăsați - dacă 1 linie SDA) atunci SCL este eliberat și master / slave citește bitul. Astfel, protocolul nostru este complet independent de intervalele de timp. numai de la biți de ceas. Prin urmare, magistrala I 2 C este foarte ușor de depanat - dacă este ceva greșit, atunci este suficient să încetinească viteza la un octet pe minut și calm, de voltmetre normale, pentru a vedea ce se întâmplă. Adevărul este că nu se rotește cu un fier I 2 C. nu există viteze atât de scăzute. Dar ceea ce ne împiedică să conectăm microcontrolerul de la un generator de ceasuri foarte lent și să depanăm totul în pași? ;)

Să repetăm ​​pentru claritate:

  • Începutul transmisiei este determinat de secvența Start - eșecul SDA la un nivel ridicat de SCL
  • La transmiterea informațiilor de la Master la Slave, comandantul generează cicluri către SCL și scoate biții la SDA. Ceea ce sclavul citește când SCL devine 1.
  • Atunci când transmite informații de la Slave către Maestru, comandantul generează măsuri pe SCL și se uită la ceea ce face sclavul cu linia SDA - citește datele. Și sclavul, atunci când SCL merge la 0, stabilește bitul SDA pe care comandantul îl citește când ridică SCL înapoi.
  • Secvența STOP se termină. Atunci când un nivel ridicat pe SCL, linia SDA trece de la scăzut la înalt.

Adică schimbarea pe magistrala de date în momentul recepționării datelor poate fi doar la un nivel scăzut al SCL. Când SCL este deasupra, este citit. Dacă la noi SDA variază de la SCL înalt. atunci aceasta este comanda de serviciu START sau STOP.

Cum să lucrați cu el - stadopedia

Dacă sclavul nu are frâna (EEPROM, de exemplu, are o viteză mică de scriere), atunci poate forța linia SCL în pământ și împiedică comandantul să genereze noi curse. Stăpânul trebuie să înțeleagă acest lucru și să lase sclavul să mestece octetul. Deci, nu puteți genera în mod stupid cicluri, atunci când eliberați SCL, trebuie să țineți cont de faptul că linia a crescut. Dacă nu te ridici, atunci trebuie să te oprești și să aștepți până ce Slave îl eliberează. Apoi continuați din același loc.

Cum să lucrați cu el - stadopedia







Articole similare

Trimiteți-le prietenilor: