Skip to main content

PIC16 mikrokontrollerek FPGA funkcióval

Megjelent: 2024. augusztus 02.

PIC16 mikrokontrollerek bevezető kép logovalÚj Microchip rendszercsalád konfigurálható logikai blokkokkal

A Microchip által kínált új PIC16F131xx mikrokontroller-család tökéletes válasz az elektronikai berendezések folyamatos fejlődésére és az egyre fokozódó miniatürizálásra. Funkcionalitásuk megkönnyíti a gazdaságos energiagazdálkodást és a kiszámítható válaszidővel rendelkező vezérlők tervezését.

 

A modern beágyazott rendszerek tervezői számára az egyik legfontosabb követelmény az időben előre jelezhető áramköri viselkedés biztosítása. A gyakorlatban ez a vezérelt folyamatok változásaira való válaszidő korlátozására, azaz az érzékelők, a kommunikációs portok vagy a felhasználói felület bemeneti adataira való azonnali reagálásra vonatkozik. Ez biztosítható a rendszer számítási teljesítményének növelésével is, ami valójában azonban szuboptimális módszer, mivel nagy mennyiségű energiapazarlást eredményez. Az alapvető folyamatok programalapú működésének elkerülése érdekében a Microchip mikrokontrollerek magfüggetlen perifériákat (CIP) használnak. A konfigurálható logikai blokk (CLB) a gyártó által kínált új 8-bites mikrokontroller-családba, azaz a PIC16F131xx rendszerekbe integrált új megoldás.

 

Microchip notka bevezető kép

 

A cikk a következőket tárgyalja:

  • PIC16F131xx termékcsalád – alapvető paraméterek és specifikációk
  • Magfüggetlen perifériák
  • FPGA funkcionalitás egy tokozásba ágyazva egy mikrokontrollerrel
  • Külső logikai komponensek helyettesítése CLB-vel
  • Saját fejlesztésű CLB Synthesizer szoftver
  • Tanulás és prototípusok készítése a Curiosity Nano készlettel
  • PIC16F13145 mikrokontrollerek összekapcsolása a Mikroe Click moduljaival

 

Paraméterek és perifériák

A cikk a CIP és a CLB megoldásokat tekinti át, valamint azt, hogy milyen módon teszik lehetővé a rendszer számítási teljesítményének megtartását az alkalmazások kezeléséhez, miközben egyszerűbb feladatokat látnak el (gombok és bizonyos kijelzők működtetése, konverterekből kapott értékek újraszámítása). Először azonban nézzük meg közelebbről a PIC16F131xx mikrokontroller specifikációit és felépítését.
Ezek a rendszerek a klasszikus 8-bites Harvard architektúrán alapulnak. Furatszerelt (THT) és felületszerelt (SMD) tokokban kaphatók. A DIP, DFN, SSOP, TSSOP, SOIC és VQFN tokozások 6, 12 vagy 18 bemeneti/kimeneti érintkezővel állnak rendelkezésre. Az elfogadható tápfeszültségek széles tartománya, azaz 1,8 V-tól 5,5 V DC-ig szintén jelentős előny. Órajelzésük 32 MHz-es frekvenciájú jellel történik, és az utasításvégrehajtás minimális ideje 125 ns. A rendszerek 256 bit és 1024 bit közötti SRAM operatív memóriát és legfeljebb 14 kB programmemóriát (FLASH) tartalmaznak.
A tervezők számára a hardveres perifériák széles választéka áll rendelkezésre, mint például PWM jelgenerátorok, 8- és 16-bites számlálók/időzítők, EUSART soros buszvezérlő, MSSP (Host Synchronous Serial Port) modul, amely képes I2C vagy SPI interfész üzemmódban működni, konfigurálható komparátorok csökkentett válaszidővel (50 ns), egy 8-bites digitális-analóg (DAC) átalakító és egy 10-bites analóg-digitális átalakító számítást lehetővé tevő modullal (ADCC), azaz a kapott értékek hardveralapú feldolgozásával. Emellett figyelembe kell venni az itt bemutatott rendszerekben szereplő CIP-eket is.

 

Magfüggetlen perifériák

A Microchip már egy ideje beépíti termékeibe a CIP-eket (Core Independent Peripherals, azaz magfüggetlen perifériák), mind a PIC®, mind az AVR® termékcsaládokba. Ezek megkönnyítik bizonyos feladatok (pl. érzékelőkkel való kommunikáció) elvégzését a háttérben, a CPU feldolgozási teljesítményének felhasználása nélkül, amely ennek köszönhetően teljes egészében a fő programfuttatásra áll rendelkezésre, ami csökkentett energiafogyasztást és magának a programnak az egyszerűsítését eredményezi. Dedikált perifériák használhatók adatátvitelre (I2C, CAN, USB), időszámításra (időzítők), PWM jelgenerálásra vagy analóg jelek kezelésére (ADC, OP-AMP, DAC).

 

CLB periféria

A PIC16F131xx vezérlőkben bevezetett legfontosabb újítás abban áll, hogy szerkezetüket független, konfigurálható logikai elemekkel látják el (működési elvükből következik, hogy ezt a rendszert CIP-perifériaként kezelik). Ezt a technológiát CLB (Configurable Logic Block) néven írják le. Funkcionális biztonságot és azonnali reakcióidőt biztosít. A CLB technológia az FPGA rendszerekben használt struktúrákon alapul, azaz a lehető legrövidebb bemeneti jelfeldolgozási időt biztosító kialakításokon. A CLB olyan alapvető logikai kapukat használ, amelyeket a tervező szabadon konfigurálhat egy adott alkalmazás céljaira. Ezenkívül megkönnyíti a céleszköz miniatürizálását a külső alkatrészek kizárásával és a nyomtatott áramköri lap méretének csökkentésével. A CLB-tech­no­lógia egyik legfontosabb előnye a feladatvégzési idő pontos meghatározása. Ez abból a tényből adódik, hogy bár ezek a feladatok viszonylag összetett eljárásokat tartalmaznak, végrehajtásuk mindig hardveres alapon történik.

 

Elérhető logikaikapu-típusok

A PIC16F131xx mikrokontrollerek CLB-struktúrája diszkrét komponenseket tartalmaz, amelyek 32 azonos cellát alkotnak, amelyek mindegyike egy-egy logikai alapelem (BLE). Mindegyiküket a CLBCLK jel vezető élével ütemezik. A tényleges igényektől függően egy cella egyetlen, a programozási szakaszban meghatározott logikai rendszert szimulál. Ez lehet:

  • AND kapu (max. 4 bemenet);
  • NAND kapu (2 bemenet);
  • OR kapu (max. 4 bemenet);
  • NOR kapu (2 bemenet);
  • XOR kapu (max. 4 bemenet);
  • XNOR kapu (2 bemenet);
  • NOT vagy puffer (1 bement és kimenet);
  • D vagy JK flip-flop;
  • konfigurálható LUT (Lookup Table) – akár 4 bemenet.

Mindemellett széles körű bemeneti és kimeneti jelválasztékot kap. A kondicionáló értékek származhatnak egy 32-bites, programszinten elérhető regiszterből, vagy képviselhetik a mikrokontroller I/O vonalakon lévő állapotot, vagy származhatnak a PWM generátorból, időzítőből/számlálóból vagy akár az SPI soros busz pufferéből. Ugyanez igaz a konfigurált kapuvezetékekre is, amelyek a programozási szakaszban csatlakoztathatók a rendszer átalakítójához, időzítőjéhez vagy fizikai kimeneti vonalakhoz (pinekhez). Mind a négy cellacsoport opcionálisan generálhat egy megszakítást, amelyet a program kezel. Figyelembe kell venni azt is, hogy a BLE cellák háromállapotú kimenetekkel rendelkeznek.

 

1 ábra Elérhető CLB szerkezetű cellák beállításai

1. ábra Elérhető CLB-szerkezetű cellák beállításai


Összefoglalva: a tervező egy teljesen konfigurálható struktúrát kap, amely hasonló az FPGA-hoz, és egy 8-bites mikrokontrollerben valósul meg. A belső memória 102 bájtja a beállítások tárolására szolgál. Végül pedig ott van még az egység beállításának kérdése.

 

Beállítás és programozás

Az FPGA-rendszerek beállítása gyakran olyan tevékenységnek tekinthető, amely speciális, mélyreható szakértelmet igényel.
A PIC16F131xx termékek kezelésére szolgáló eszközöket azonban úgy fejlesztették ki, hogy használatuk meglehetősen egyszerű legyen. Éppen ezért még a kezdő fejlesztők is képesek gyorsan elsajátítani az alapokat, és elérni a kívánt eredményt.
Először is, a CLB beállítása a grafikus interfészen alapuló CLB Synthesizer szoftver segítségével történik. Használata egyenértékű a blokkdiagram készítésével, ami eléggé áttekinthetővé teszi a programot, még akkor is, ha nem ismeri ennek a környezetnek az összes funkcióját.
A szoftver a Microchip saját fejlesztésű IDE-jéhez, vagyis az MPLAB® X-hez Plug-in-ként van beépítve. Az eszköz hagyományos böngészőben is használható, mivel webalapú alkalmazásként érhető el. A CLB Synthesizer egy set-up fájlt hoz létre, amely később importálható egy VERILOG nyelven írt tervbe vagy forrásfájlba (.clb).

 

2 ábra Példa a CLB Synthesizer környezet használatával létrehozott beállításra

2. ábra Példa a CLB Synthesizer környezet használatával létrehozott beállításra


A diagram úgy épül fel, hogy blokkokat kell húzogatni és összekötni őket egymással, előre meghatározott bemeneti/kimeneti vonalakkal. Az MPLAB® működtetése hét egyszerű lépésből áll:

  1. Órajelek beállítása;
  2. digitális blokkok beállítása, például UART, I2C, TMR, stb.;
  3. analóg perifériák hozzáadása, mint az ADCC és DAC;
  4. CLB-periféria hozzáadása a tervhez a BLE-cellákba foglalt komponenseket tartalmazó blokkdiagram létrehozásával, valamint az ezek és a bemeneti jelek közötti kapcsolatok meghatározásával;
  5. Synthesis, vagyis a set-up fájl létrehozása;
  6. végül meg kell határozni egy függvényt, és hozzá kell rendelni a tervben használt mikrokontroller bemenetekhez/kimenetekhez;
  7. az utolsó lépés a Melody kód generálása.

Oktatási célokból a Microchip számos gyakorlati példát készített a CLB alkalmazásokról, különböző feladatok elvégzésére. Ezek közé tartoznak többek között:

  • Egy shift regiszter kezelése programozható (címezhető) WS2812 LED-ek számára;
  • a gombjelek hardveralapú csillapítása;
  • Manchester moduláció kódolás/dekódolás;
  • egy 4-bites érték multiplexelése egy 7-szegmenses kijelzőt vezérlő jelekké;
  • frekvenciafeldolgozás.

A Curiosity Nano platformot azért hozták létre, hogy a Microchip ügyfelei számára a vállalat által forgalmazott legújabb mikrokontrollerek képességeit bemutató fejlesztőkészleteket biztosítsanak. A fejlesztői panelek kényelmes formátumban készültek, és tartalmaznak integrált hibakeresőt, programozó eszközt és hozzáférést a mikrokontrollerpinekhez. Ez teszi őket tökéletes képzési és oktatási eszközzé. Természetesen a PIC16F131xx termékcsaládhoz is kifejlesztettek egy saját Curiosity Nano-t.

 

3 ábra a kártya

3. ábra A kártya csatlakoztatható egy prototípus-áramkörhöz a pin-csatlakozók segítségével


Az EV06M52A egy PIC16F13145 mikrokontrollerrel felszerelt fejlesztőkészlet. Az áramkör tartalmaz egy USB-C portot a tápellátáshoz és a programozáshoz. Az LDO MIC5353 szabályozó biztosítja a mikrokontroller feszültségét. Az áramkör opcionálisan felszerelhető egy RTC kvarckristályos rezonátorral (32,768 kHz). A tápellátás és a programozás állapotát egy zöld LED jelzi. A mikrokontroller egyik kimenetéhez csatlakoztatott sárga LED a mikrokontrollerrel működtethető.

 

4 ábra EV06M52A panelalkatrész elrendezése és a vezetékek leírása

4. ábra EV06M52A panelalkatrész elrendezése és a vezetékek leírása


A fejlesztőkészlet funkciói kibővíthetők a Curiosity Nano panelhez készült adapterek alkalmazásával.

 

5 ábra AC164162 adapter

5. ábra AC164162 adapter


A fent említett termékek univerzális (anya-) csatlakozókkal vannak felszerelve a Curiosity Nano panel felszereléséhez. Ami az AC164162-t illeti, az áramkör számos érdekes alkatrészt tartalmaz, például három olyan csatlakozót, amelyek kompatibilisek a Mikroe által kínált Click modulokban használt mikroBUS™ szabvánnyal. (A TME termékkatalógusában az ilyen panelek több mint ezer különböző modellje található meg.) A nyomtatott áramköri lapon megtalálható az Xplained Pro bővítőcsatlakozó is. Ezenkívül az egész egység akkumulátorral is táplálható, mivel az adapter integrált töltő- és energiagazdálkodási rendszerrel rendelkezik, amely kompatibilis a lítium-ion és lítium-polimer cellákkal.

 

TME Hungary Kft.
1146 Budapest, Hungária körút 162.
Tel.: +36 1 220 67 56
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.
https://www.tme.eu/hu/news/about-product/page/60236/pic16-mikrokontrollerek-fpga-funkcioval/

 

#0c2e7d