Jste zde

MAX 3100 - SPI - UART

Maxim nabízí řešení pokud na procesoru s SPI rozhraním potřebujete RS 232 a není kde jej

vzít.

Během aplikace jednočipových mikrokontrolerů narážejí konstruktéři často na nedostatek RS232 portů. V některých aplikacích lze použít procesory s dvěma integrovanými rozhraními RS232, nebo toto rozhraní emulovat softwarově, ale ani jedno mnohdy není ideální řešení. 
Tohoto problému si všimli ve firmě MAXIM a nabídli zajímavý obvod, která můž tyto problémy řešit. Jedná se o port rozhraní RS232 řízený po sběrnici SPI/Microwire.

Jedná se o poměrně jednoduchý integrovaný obvod v pouzdře DIP 14  nebo QSOP 16 (smd). K mikroprocesoru se připojuje pomocí pěti vodičů. 

  • clock (z procesoru)
  • data_in (z procesoru)
  • data_out (z obvodu MAX 3100)
  • chip_select (z procesoru) 
  • interrupt (z obvodu MAX 3100). 

Přitom všechny vodiče kromě chip_selectu a interruptu (záleží na zapojení) mohou být na jedné sběrnici - sdílené s ostatními zařízeními, (např. AD,DA převodníky, paměti, obvody reálného času...). 
Pokud nevyžadujeme maximální rychlost čtení z obvodu, není nutné interrupt použít. K obvodu je nutno ještě připojit krystal podle požadované rychlosti. (f=1,8432  MHz, nebo 3,6864 MHz). Jedná se o běžně dostupné hodnoty.

Obecné zapojení obvodu MAX3100

Sériové rozhraní obvodu je provedeno v úrovních TTL logiky = 5V.  Pro použití v plnohodnotné lince RS232/V24 je nutné signály konvertovat na správné napěťové úrovně. Toho lze nejsnáze dosáhnout použitím obvodu MAX232, případně jinou variantou převedení napěťových úrovní z TTL na RS232.

S krystalem 3,6864 MHz obvod dosahuje maximální rychlosti 230,4 kBaud, s krystalem 1,8432 MHz dosahuje maximálně 115,200 kBaud. Nastavení nižších rychlostí se provádí softwarově, je možné dosáhnout většiny běžně používaných rychlostí. Minimální rychlost je 300 Baud.

Obvod MAX 3100 v sobě obsahuje i paměť FIFO 8 byte pro příjem a dalších 8 byte pro vysílání. Ani při vysokých rychlostech nemusí obsluha obvodu po SPI příliš zatěžovat procesor ani sběrnici. Použití vyrovnávacích bufferů je možné softwarově zakázat.

Funkční schéma obvodu

Pro efektivní řízení přenosu, hlavně na vyšších rychlostech, je dobré použít interrupty. 

Možné zdroje přerušení 

  • příjem, 
  • vysílání dokončeno(možno odeslat další byte), 
  • RA/FE (receiver activity/framing error - RA pro detekci aktivity v sleep mode, FA - chyba přenosu) 
  • parita=1 (pro detekci adresy v 9ti bitových sítích) . 

Každé z těchto přerušení je možné nezávisle na ostatních povolit/zakázat. 
Rozsah napájecích napětí obvodu MAX 3100 je 2,7 V až 5,5 V, napájení z baterií by tedy neměl být problém. 
Spotřeba obvodu je nízká (max. 1mA, typ 0,27 mA při 5V a f=1,8432 MHz), ale přesto obvod obsahuje režim snížené spotřeby. Do tohoto režimu je možné obvod uvést softwarově (dojde k odeslání celé výstupní FIFO a pak teprve usne) nebo pomocí vstupu SHDN (usne okamžitě). V úsporném režimu je spotřeba zanedbatelná (max.10 uA). 
V úsporném režimu je také zastaven oscilátor, ale SPI rozhranní zůstává aktivní a do jisté míry i vstup sériové linky. V případě příchodu znaku je aktivován interrupt RA/FE, celá aplikace se tedy může vzbudit na základě aktivity sériové linky. Avšak několik prvních znaků bude samozřejmě poškozeno, podle dokumentace trvá start oscilátoru asi 25 ms.

Z hlediska procesoru je komunikace s obvodem banální. Nevyžaduje přesné časování, ani náročné jištění přenosu (CRC, check-sum), spočívá pouze v "postupném přecvakání bitů po sobě do správných drátů". Ukázkový (a snad dostatečný) příklad v assembleru je v dokumentaci k obvodu. Příklady jsou řešeny pro mikroprocesory řady 51 a PIC.

způsob komunikace SPI (povel zapsat konfiguraci)





Obvod je zároveň navržen i pro podporu IrDA. Tomuto rozhraní je dokonce vyhrazen samostatný režim. Obvod byl navržen pro přímé buzení IR vysílačů, maximální proud je 25mA

V některých aplikacích si přejeme využít i linky DTR/CTS. Je to možné, obvod obsahuje patřičný vstup a výstup, nejsou vsak řízeny přímo obvodem, ale po SPI sběrnici se o ně stará mikroprocesor.

   

Datasheet MAX 3100
Datasheet  MAX232
Další informace můžete získat na adrese  www.maxim-ic.com.

Obvod v ČR a SR dodává SPEZIAL ELECTRONIC.

Ota Herm
Hodnocení článku: