Sériová rozhraní u mikrokontrolerů – informatika

 

   Otázka: Struktura PC a popis interních hardware komponentů

   Předmět: Informatika

   Přidal(a): Werty

 

Sériová rozhraní se používají pro komunikaci jednotlivých integrovaných obvodů. Důvod použití je zjednodušení připojení jednotlivých částí, zmenšení pouzdra a spojové desky, kde nemusíme části propojovat jednotlivými vodiči.

 

RS232 (USART)

  • Umožňuje komunikaci pouze mezi dvěma zařízeními
  • Využívá dvě napěťové úrovně
  • Maximální délka vodiče je 900 m
    Maximální rychlost je 19200 Bd (Baud rate)
  • Nevyužívá žádný řídící obvod, ani adresaci, ani arbitraci
  • Sběrnice je tvořena 3 vodiči: RXD, TXD, GND
    RXD a TXD jsou spojeny na zem, možnost vzniku rozdílu potenciálů
  • za běžných podmínek pracuje sběrnice ve fullduplex režimu
  • Synchronní přenos: TXD nebo RXD je použit jako synchronizační vodič (musí být určeno, kdo vysílá impulzy), v tomto případě není fullduplex
  • Asynchronní přenos: Nutnost použití START, STOP a PARITNÍCH bitů

 

Úroveň  |  Vysílač | Přijímač

Log. 0  |+5V až +15V |+3V až +25V

Log. 1  |  -5V až -15V  |  -3V až -25V

 

RS422

  • Umožňuje komunikace až 10 zařízení (1 vysílač a 10 přijímačů)
  • Využívá diferenciální vedení (dva vodiče pro vysílač i přijímač), logická úroveň se zjišťuje z rozdílu potenciálů na koncích vodičů (zapojení je odolné vůči rušení)
  • Maximální délka vodiče je 1200 m při rychlosti 100 kb/s
    Maximální rychlost je 10 Mb/s na délku vodiče 15 m
  • Rozhraní pracuje v režimu single-master (master je propojen se všemi slavy), master rozhoduje s kým bude komunikovat (vždy probíhá přes master, ne slave->slave)
  • Master řeší adresaci (generuje adresu), i arbitraci (určí slave, který může komunikovat)
  • Komunikace je zahájena START bitem, poté následuje FRAME (8 bitů – data) a poté STOP bit, pokud dojde k chybě je celý FRAME poslán znovu

 

RS485

  • Umožňuje komunikaci až 32 zařízení
  • Stejně jako RS422 využívá diferenciální vedení
  • Rychlosti a vzdálenosti jsou také stejné jako u RS422
  • Dvouvodičové zapojení – pracuje v režimu half duplex
    Využíva asynchronního přenosu – START a STOP bity
  • Čtyřvodičové zapojení – pracuje ve full duplex režimu
  • Rozhraní pracuje v režimu multi-master (každé zařízení může fungovat jako master), slave může komunikaci začít, je-li na sběrnici ticho

 

SPI

  • Možnost zapojení dvou a více obvodů, komunikace je prováděna na krátké vzdálenosti
  • Jeden obvod je master, ostatní jsou slave
  • Master provádí adresaci pomocí vstupů Slave Select na Slave zařízení, Master vždy může komunikovat pouze s jedním Slavem
  • Použítí 4 vodičů: SCK (hodinový signál), MISO (master in, slave out), MOSI (master out, slave in), SS (slave select)
  • Hodinový signál (SCK) má maximální frekvenci 2 MHz
  • Konfigurační bity: CPOL (určuje klidovou úroveň SCK), CPHA (určuje, zda je hodnota čtena při přechodu SCK z klidové do aktivní úrovně nebo naopak)
  • Přenos probíhá přes posuvné registry, které jsou obsaženy v Masteru i Slavu, jejich pouvání je pak řízeno SCK

 

Microwire

  • Strukturou zapojení je velmi podobné SPI
  • 4 vodiče: DI + DO (datové vodiče), SK (hodinový signál), CS (pro výběr jednotlivých obvodů)
  • Maximální frekvence SK je 1 MHz
  • Přenos je half duplexní
  • Je kompatibilní s rozhraním SPI

 

I2C

  • Rozhraní typu multimaster , přenos v half duplex režimu
  • Možnost připojení až 128 (při 7b adresaci) nebo až 1024 (při 10b adresaci) zařízení
  • Frekvence hodinového signálu je 100 KHz (v základní verzi) až 1 MHz (ve vylepšených verzích)
  • Fyzická vrstva:
    • 2 vodiče: SDA (datový), SCL (hodinový signál) – v klidovém stavu v log. 1
    • Hodnotu SDA lze měnit pouze, pokud je SCL v úrovni log. 0 (neplatí v případě posílání START a STOP bitů)
    • Synchronizace probíhá pomocí vnitřního časovače každého zařízení,
  • Linková vrstva:
    • Každý rámec předchází START bit, po něm následuje 7b nebo 10b adresa Slave zařízení a určení typu komunikace (Read/Write)
    • Poté Slave posílá potvrzovací bit ACK, a následuje přenos dat, který je opět potvrzen ACK bitem, komunikace je ukončena STOP bitem
    • Každé zařízení může samo zahájit přenos, je-li sběrnice v klidovém stavu
    • Během vysílání se neustále porovnávají vysílané bity s bity na SDA, pokud se neshodují, je indikována kolize
    • Adresace je řešena posláním určité adresy Masterem a následné porovnání jednotlivými Slavy, pokud nastane shoda, musí Slave odpovědět ACK bitem

 

1Wire (Singlewire)

  • Rozhraní typu single-master, přenos v half duplex režimu
  • Rychlost: 15.4 kb/s ve standartním režimu, nebo 125 kb/s v overdrive režimu
  • Všechna zařízení jsou zapojeny na společnou zem a paralelně na datový vodič
  • Adresace je řešena pomocí unikátní 64b adresy, kterou má každé zařízení ROM paměti (adresa se skládá z 8b označujících typ zařízení, 48b sériového čísla a 8b CRC kódu)
  • Adresy jednotlivých zařízení lze zjistit pomocí tzv. algoritmu prohledávání binárního stromu
  • Sběrnice je v klidu v log. 1, díky pull-up odporu
  • Komunikace je zahájena reset pulsem (datový vodič nastaven na log. 0 po dobu 480µs), poté indikuje zařízení náběžnou hranu a nastaví vodič na log. 0 na 240µs
  • Poté jsou data vysílána v timeslotech, který trvá 60 – 120µs, a během kterého je vyslán jeden bit, mezi jednotlivými timesloty je 1µs mezera
  • Celkem jsou čtyři typy timeslotů a určují: zápis log. 0 a log. 1, čtení log. 0 a log. 1
  • Zařízení mohou být napájeny přes datový vodič, pokud neprobíhá komunikace (log. 1) je nabíjen integrovaný kondenzátor v obvodu (pomocí něj je pak zařízení napájeno během komunikace)

 

CAN

  • Rozhraní typu multimaster
  • Fyzická vrstva:
    • 2 vodiče: CAN_H a CAN_L
    • Dvě logické hodnoty: recesivní a dominantní úroveň
      Recesivní úroveň nastane pouze, pokud jsou všechna zařízení ve stavu R
      Dominantní úroveň nastane, pokud je alespoň jedno zařízení ve stavu D
    • Synchronizace je částečně zaručena vložením bitu opačné hodnoty po pěti bitech stejné hodnoty (bit je poté z přijatých dat odstraněn)
    • Maximální rychlost je až 1 Mb/s do délky 40 m
    • Maximální délka je až 1 km s rychlostí do 50 kb/s
  • Linková vrstva:
    • Rámec může mít 11b identifikátor (CAN 2.0A), nebo 29b identifikátor (CAN 2.0B)
    • Každý rámec je tvořen 7 poli

 

SOF (START BIT) – Arbitrační pole-  Řídící pole-  Datové pole-  Zabezpečovací pole – Potvrzovací pole (2b) – EOF (zakončovací pole – 7b)

Dominantní úroveň –  ID rámce-  Info o délce – Až 8B – 15b CRC kód – Vysílají se R – Potvrzují se D – Recesivní úroveň

 

  • Arbitrace je řešena pomocí recesivní a dominantní úrovně, pokud je na sběrnici D, nikdo nesmí vysílat
  • Rámec je poslán všem zařízením, a jednotlivá zařízení určí pomocí ID, zda rámec použijí
  • Používá se například v automobilech

 

Sériový port 16F87X

  • Je určen pro komunikaci s dalšími perifériimi jako například A/D převodníky, posuvné registry, EEPROM paměti, ovladači displayů
  • Využívá rozhraní USART, může pracovat v 8b nebo 9b režimu
  • Vysílač – základní součastí je TSR (transmit shift register), který získává data z TXREG regsitru, který je připojen na datovou sběrnici mikrokontroleru

 

Samotné vysílání je zahájeno nastavením bitu TXEN na log.1, podle signálu CLK jsou poté na výstupu TSR registru jednotlivé bity, které jsou následně poslány na výstupní pin vysílače (RC6/TX/CK pin) – komunikace začíná START a končí STOP bitem

  • Přijímač – Po detekci start bitu na pinu RC7/RX/DT, se data bit po bitu přesunou do registru RSR (receive shift register). Po přesunutí posledního bitu se zkontroluje stop bit a data se pošlou registru RCREG (pokud je prázdný).
    Registr RCREG (jehož součástí je i buffer) funguje jako FIFO. Díky tomu lze číst data bez rizika přepsání novými daty. Z RCREG registru jsou data poslána na datovou sběrnici mikrokontroleru
💾 Stáhnout materiál   ✖ Nahlásit chybu
error: Stahujte 15 000 materiálů v naší online akademii 🎓.