Skip to main content
Témakör:

Külső eszközök a mikrovezérlők be- és kimeneteinek bővítésére

Megjelent: 2019. április 25.

digi key lidA tervezők gyakorta szembesülnek a mikrovezérlők két be- és kimenetekkel kapcsolatos problémájával. Az első, amikor az eszközbe legjobban illő mikrovezérlő nem rendelkezik a kellő számú be- és kimenettel. A második akkor jelentkezik, amikor a már elindított terméksornál további be- és kimenetekre lenne szükség.

 

 

Az első esetben a fejlesztőknek gyakran drágább, jobb képességű mikrovezérlőt kell beszerezniük. A második esetben az új mikrovezérlőre váltást és a hozzá való szoftver átemelését a költségek és az időtényező korlátozzák.
Egy lehetséges megoldás mindkét problémára a külső be- és kimenetbővítő eszközök használata, amelyek gyakran a mikrovezérlő SPI-illesztőfelületéhez vagy I2C-sínjére kapcsolódnak. Ezekkel elkerülhető, hogy túlzott követelményt állítsunk a mikrovezérlő lábszámát, esetleg a teljesítményt és a helyigényt illetően. Ugyanakkor ez a megoldás időtállóvá teszi a termék kialakítását a funkcióváltozással, a célpiac bővülésével, a vásárlók funkcióigényeivel és a túl gyenge mikrovezérlő választásával (ilyen is előfordul) szemben.

 

01digi key

1. ábra  Az STM32L011D4P7 egy ARM® Cortex®-M7 processzor, amely tizenegy be- és kimeneti láb használatára van korlátozva (A kép forrása: STMicroelectronics)


Ez a cikk a mikrovezérlők be- és kimeneteivel kapcsolatos jellegzetes követelményeket tárgyalja, és bemutat néhány használható külső bővítőeszközt. Ezt követően bemutatja, hogyan lehet használni ezeket a lapkán kívüli erőforrásokat, amelyek további általános célú bemeneteket és kimeneteket, tárhelyet és impulzusszélesség-modulációt (PWM), sőt még felügyeletidőzítő (watchdog timer) funkciót is kínálnak.

 

A bővítőfelület kiválasztása

A mikrovezérlőknek több különböző, lapkán elhelyezett perifériaillesztő felületük is van, amelyek segítségével kommunikálni tudnak a külső eszközökkel. A mikrovezérlőtől függően ezek az illesztőfelületek lehetnek többek között:

  • Soros perifériaillesztő felület (SPI)

  • Integrált áramkörök közötti (I2C) sín

  • Egyetemes soros sín (USB)

  • Egyetemes aszinkron adó-vevő (UART)

  • Controller area network (vezérlők helyi hálózata, CAN)

  • Wi-Fi

 

02digi key

2. ábra  Az NXP cég PCA8574 jelű eszköze egy 8 bites, I2C sínt használó, látszólag kétirányú be- és kimenetbővítő. Mindössze egy I2C regisztert tartalmaz a lábain megjelenő be- és kimeneti funkciók olvasására és írására, ami nagyon egyszerű és jól használható eszközzé teszi (A kép forrása: NXP Semiconductors)

 

A külső bővítőeszközökkel való kommunikációra legalkalmasabb illesztőfelület az I2C és az SPI.
Az I2C egy kétvezetékes sín, amely hagyományosan 100 kilobit/s (kb/s) vagy 400 kb/s átviteli sebességgel működik, bár léteznek gyorsabb, 1 Mb/s és annál nagyobb sebességet támogató eszközök is. Az egyik vezeték egy kitüntetett órajelláb, míg a másik a mester- és a szolgaegység (master és slave) közötti kétirányú kommunikációra szolgál. A mikrovezérlő jellemzően a mester, míg a külső eszközök a szolgák szerepét töltik be. A szolgák egy 7 vagy 10 bites címsémával címezhetők.
Az SPI egy háromvezetékes sínű illesztőfelület, amely 1 Mb/s és 12 Mb/s közötti átviteli sebességen működik. Az SPI sínnek van egy kitüntetett mester kimeneti vonala, egy szolga kimeneti vonala és egy órajelvonala. A mikrovezérlő mestereszközként egy „szolgakiválasztó” vonalon át kommunikál a szolgaeszközökkel. A mikrovezérlőhöz kapcsolt minden szolgaeszköznek egy kitüntetett kimeneti lábra van szüksége ahhoz, hogy ki lehessen választani kommunikációra. Könnyű elképzelni, hogy ha egy fejlesztőnek sok külső eszközhöz kell csatlakoznia, hamar kifogyhat a szolgaeszközök kiválasztására szolgáló be- és kimeneti vonalakból.
Ha például egy fejlesztő az STMicroelectronics cég STM32L011D4P7 jelű eszközét használja, tizenegy be- és kimeneti vonal áll a rendelkezésére (1. ábra). Három be- és kimeneti vonal szükséges csak az SPI adatai és órajele számára, így marad nyolc, amelyeken át a szolgaeszközökkel kommunikálhat, és a rendszer által megkövetelt minden egyéb funkciót végrehajthat. Ez sok eszköz esetében tökéletesen elegendő, de néhány esetben a tervezőnek bővítenie kell a be- és kimenetek számát.
Általában véve az ökölszabály meglehetősen egyszerű: az I2C sín használata, kiegészítve az alábbi képességekkel:

  • be- és kimenetek

  • impulzusszélesség-moduláció (PWM)

  • EEPROM

  • felügyeletidőzítő

Az SPI sín használható olyan képességekkel való bővítésre, mint az SD-kártyákhoz való nagy sebességű memória-hozzáférés.

 

03digi key

3. ábra  A Schurter cég RGB-nyomógombja egy piros, egy zöld és egy kék LED-et tartalmaz a nyomógombon belül, ami színsémák alkalmazását teszi lehetővé a fejlesztők számára. Az ilyen jellegű eszközök esetében tökéletes megoldás valamilyen PWM-bővítő IC használata (A kép forrása: Schurter)

 

Az általános célú be- és kimenetek bővítése

Jó néhány olyan integrált áramkör létezik, amely lehetővé teszi a be- és kimenetek I2C illesztőfelületen át történő bővítését. Néhány érdekesebb ezek közül:

  • A Texas Instruments cég TCA9534PWR jelű eszköze

  • Az NXP Semiconductors cég PCA8574 jelű eszköze

  • A Semtech Corporation cég SX1520I087TRT jelű eszköze

A PCA8574 kimondottan érdekes, mert mindössze egy regisztert tartalmaz a be- és kimenetek közös kezelésére. Az egy regiszter rendkívüli mértékben leegyszerűsíti az eszköz beállításához, valamint a lábak olvasásához és írásához szükséges szoftvermennyiséget (2. ábra). A mikrovezérlő az I2C sínen át kommunikál a PCA8574 eszközzel, és attól függően címezi meg az eszközt, hogy hogyan vannak kiosztva az A0 – A2 lábak. Ez nagy rugalmasságot kínál a tervezésben, így a fejlesztő választhatja ki a PCA8574 szolgacímét, és több ilyen eszközt is elhelyezhet egy készüléken belül.
Alapértelmezés szerint a P0 – P7 láb bemenetként van beállítva bekapcsoláskor. Az egyetlen belső regiszter olvasása adja meg, hogy mi az eszköz egyes lábainak állapota, be- vagy kimenetként van-e az adott láb beállítva. A PCA8574 lehetővé teszi, hogy az egyes lábak egyszerre be- és kimenetként is funkcionáljanak, így a regiszterbe írás állítja be a megfelelő bit kimeneti értékét is.
A kimenetmeghajtót egy gyenge belső ellenállás húzza fel, amelyet a bemeneti érték könnyedén felülbírálhat. Bármely bemeneti állapot megváltozása esetén az INT láb alacsony értékre vált, jelezve a mikrovezérlőnek, hogy az egyik bemenet állapota megváltozott. A mikrovezérlő ezután indíthat egy I2C-hívást, hogy kiolvassa az új értéket.

 

04digi key

4. ábra  A Maxim cég MAX7315 jelű impulzusszélesség-moduláció szabályozójának nyolc kimeneti portja van, amelyeknek van LED-fényerőszabályozó funkciójuk is. Az eszköz regiszterkiosztása egyszerű, és módot ad a fejlett impulzusszélesség-modulációs (PWM) funkciók egyszerű elérésére (A kép forrása: Maxim Integrated)

 

Az impulzusszélesség-moduláció (PWM) bővítése

Nagyon hasznos bővítőeszköz az impulzusszélesség-moduláció-bővítő (PWM-bővítő). Ez az eszköz kifejezetten hasznos LED-ek vezérlése esetén. Amikor a mikrovezérlő nem csinál semmit, alvó állapotba lehet állítani, és ilyenkor a PWM-bővítő felel a LED megfelelő állapotba állításáért.
A PWM-bővítő használatára gyakran látható tökéletes példa az olyan RGB-nyomógombáramkörökben, amelyek az E-Switch cég PV6F240SSG jelű RGB-nyomógombját vagy a Schurter Electronic Components cég 3-101-399 jelű SPST RGB-nyomógombját használják (3. ábra).
A Schurter cég RGB-nyomógombja egy piros, egy zöld és egy kék LED-et tartalmaz egy SPST (egysarkú egy áramkörös) nyomógombon belül, ami színsémák alkalmazását teszi lehetővé a fejlesztők számára. Az ilyen jellegű alkalmazások tökéletesek PWM-bővítő integrált áramkörökhöz.
Az I2C sínnel való használatra alkalmas PWM-bővítő IC a Maxim Integrated cég MAX7315 jelű eszköze. A MAX7315 nyolc PWM (impulzusszélesség-modulációs) porttal van ellátva, és van LED-fényerő-szabályozó funkciója is. Ez könnyedén kielégíti az RGB-kapcsoló vezérléséhez szükséges három csatornát, lehetővé téve, hogy egy eszköz több kapcsolót és néhány önálló LED-et is vezéreljen. Van még egy kilencedik port is, amely használható átmenetérzékelési megszakításként vagy általános célú kimenetként.
A MAX7315 eszköz I2C illesztőfelülete egy kissé bonyolultabb, mint az NXP cég PCA8574 jelű eszközéé, mivel egynél több regisztert tartalmaz. A fejlesztőknek ebből következően meg kell címezniük a szolgaeszközt, meg kell adniuk az írásban és az olvasásban érdekelt memóriacímet, majd végre kell hajtaniuk az írást vagy olvasást. A MAX7315 memória-hozzárendeléseit a 4. ábra mutatja.
A MAX7315 regiszterkiosztása egyszerű, és módot ad a fejlett impulzusszélesség-modulációs (PWM) funkciók egyszerű elérésére.

A bővítők ötvözése felügyeletidőzítővel (WDT), EEPROM-mal és impulzusszélesség-modulációval (PWM)

Amint látható, az I2C sínt használó be- és kimenetbővítők rendkívül hatékonyak önálló eszközként használva. Azaz csak olyan különleges funkciókat tartalmaznak, mint a be- és kimenetek vagy az impulzusszélesség-moduláció. Az olyan bővítők, mint a Cypress Semiconductor cég CY8C9520A jelű többportos be- és kimenetbővítője több perifériabővítést tartalmaznak egy integrált áramköri tokban. A CY8C9520A háromféle változatban kapható: 20 bites, 40 bites és 60 bites bővítőként. Ezek a lábak beállíthatók bemenetként, kimenetként vagy impulzusszélesség-modulátorként (5. ábra).
A be- és kimenetbővítés mellett a CY8C9520 tartalmaz egy EEPROM-ot is, amely használható az eszköz olyan lényeges adatainak tárolására, mint a gyári szám, valamint a fontos beállítási paraméterek.
Ha jobban megnézzük az 5. ábrát, láthatjuk a GPort 2 porton a WD6 lábat. Ez egy felügyeletidőzítő kimeneti láb, amelyet a mikrovezérlő újraindítására lehet használni, ha az nem kommunikál a CY8C9529 felügyeletidőzítőjével. A felügyeletidőzítő paraméterei teljes mértékben beállíthatók, ami használható arra, hogy még stabilabb legyen az alkalmazáskód.

 

05digi key

5. ábra  A Cypress Semiconductor cég CY8C9520 jelű terméke 20 bites, 40 bites vagy 60 bites be- és kimenetbővítő EEPROM-mal. A bővítőlábak beállíthatók bemenetként, kimenetként vagy impulzusszélesség-modulátorként (A kép forrása: Cypress Semiconductor)

 

Tanácsok és trükkök a mikrovezérlők képességeinek bővítéséhez

Sok olyan technikai megoldás létezik, amelyek segítségével bővíthetők a mikrovezérlők képességei. Alább néhány olyan tanács és trükk olvasható, amelyek segítséget nyújthatnak:

  • Használjon I2C sínt a külső eszközök illesztőfelületeként. Ennek az illesztőfelületnek csak két lábra van szüksége, és több szolgaeszköz kiszolgálására képes.

  • Mielőtt betervezné az alkatrészt valamilyen hardvereszközbe, vásároljon valamilyen fejlesztői kártyát, vagy forrassza az IC-t egy bővítőkártyára, és ellenőrizze, hogy megfelel-e a rendszer minden igényének.

  • Használjon I2C sínt használó eszközöket a bővítőeszköz illesztésére, és tanulja meg, hogyan működik. Ez jelentős mértékben felgyorsítja a szoftverfejlesztést.

  • A szoftverfejlesztés során figyelje sínelemző segítségével a külső eszközzel való kommunikációt, hogy minimálisra csökkentse a hibakeresés idejét.

  • Amikor csak lehetséges, válasszon olyan eszközt, amelyben van külső felügyeletidőzítő. Ez olyan eszköz lehet, amely még stabilabbá teheti a létrehozott rendszert.

  • Ha a beállítási adatokon túli adatokat az IC-n kívüli memóriába menti, használjon nagy sebességű illesztőfelületet, amilyen például az SPI.

  • Ügyeljen arra, hogy a mikrovezérlő I2C-vezérlője kezelni tudja, ha egy eszköz negatív visszaigazolást (NAK) ad vissza, vagy ha a sín működési hibát produkál. Ezeknek a vezérlőknek az esetében nem szokatlan, hogy figyelmen kívül hagyják a hibákat, és végtelen hurokba kerülnek, ha nem várt választ kapnak.

Következtetés

Amikor a tervezés arra a pontra ér, hogy a mikrovezérlőnek nincs több be- vagy kimenete, a fejlesztőknek nem kell kukába dobniuk a tervet, és a nulláról újrakezdeniük. Ehelyett használhatnak külső perifériaintegrált áramköröket, amelyek lehetővé teszik, hogy további képességekkel ruházzák fel a tervezett rendszert.

 

Szerző: Rich Miron – Digi-Key Electronics

 

 

Digi-Key Electronics
Angol/német nyelvű kapcsolat
Hermann W. Reiter
Director, Global Strategic Business Development
Digi-Key Electronics Germany
Tel.: +49 151 6286 5934
E-mail: Ez az e-mail-cím a szpemrobotok elleni védelem alatt áll. Megtekintéséhez engedélyeznie kell a JavaScript használatát.

www.digikey.hu

 

Még több Digi-Key Electronics