PIC16 Microcontrollers met FPGA-functionaliteit
De nieuwe familie PIC16F131xx microcontrollers van Microchip is gericht op de evolutie en steeds verdergaande miniaturisatie van elektronische apparaten. Hun functionaliteit maakt kosteneffectief energiebeheer mogelijk, alsmede het bouwen van controllers met voorspelbare reactietijden.
Nieuwe chipfamilie van Microchip met configureerbare logische blokken
De nieuwe familie PIC16F131xx microcontrollers van Microchip is gericht op de evolutie en steeds verdergaande miniaturisatie van elektronische apparaten. Hun functionaliteit maakt kosteneffectief energiebeheer mogelijk, alsmede het bouwen van controllers met voorspelbare reactietijden.
Eén van de belangrijkste eisen voor ontwerpers van hedendaagse ingebouwde (of embedded) systemen is het bereiken van tijdvoorspelbaar circuitgedrag. In de praktijk betekent dit het verkorten van de reactietijd op veranderingen in beheerde processen: onmiddellijke reactie op ingang van sensoren, communicatiepoorten of de gebruikersinterface. Dit effect kan worden bereikt door de rekenkracht van de circuits te vergroten, maar deze methode is suboptimaal omdat er dan grote hoeveelheden energie worden verspild. Om te voorkomen dat core-processen door software worden ondersteund, gebruikt Microchip kernonafhankelijke randapparatuur (Core Independent Peripherals). Een innovatie in deze technologie is het programmeerbaar logische poort circuit (Configurable Logic Block), dat is geïntegreerd in de nieuwe familie 8-bits microcontrollers van de producent, de PIC16F131xx chip.
Samenvattend: De ontwerper beschikt over een volledig configureerbare FPGA-achtige structuur die geïmplementeerd is in een moderne 8-bits microcontroller. Er zijn 102 bytes intern geheugen voor het opslaan van instellingen. De vraag blijft dus – hoe wordt de configuratie uitgevoerd?
Ten eerste wordt het configuratieproces van de CLB uitgevoerd met behulp van speciale software genaamd CLB Synthesizer, die gebaseerd is op een grafische interface. Het gebruik ervan komt overeen met de voorbereiding van een blokschema, zodat het programma leesbaar blijft, zelfs voor degenen die niet bekend zijn met de volledige functionaliteit van de omgeving.
Het programma is beschikbaar als een plug-in in Microchips eigen IDE, de MPLAB® X. Het hulpprogramma kan ook in een gewone browser worden gebruikt omdat het beschikbaar is als een webtoepassing. Het resultaat van het werken in CLB Synthesizer is een configuratiebestand, dat vervolgens in het project geïmporteerd moet worden, of een bronbestand in VERILOG-taal (extensie.clb).
De bouw van het schema vindt plaats door symboolblokken te tekenen en deze aan elkaar en aan voorgedefinieerde in-/uitgangslijnen te koppelen. Het werken in MPLAB® kan in zeven stappen worden beschreven:
Het EV06M52A model is een starterspakket met een PIC16F13145 microcontroller. Het circuit bevat een USB C connector voor voeding en programmering. De spanning voor de microcontroller wordt geleverd door de LDO MIC5353 stabilisator. Optioneel kan een kwartsresonator voor de RTC klok (32,768 kHz) in de schakeling worden geplaatst. De voedings- en programmeerstatus wordt aangegeven met een groene LED. Een andere, gele LED is bevestigd aan een van de uitgangen van de microcontroller en kan door de microcontroller worden bediend. De printplaat heeft ook een knop.
De bovenstaande producten hebben een universele pinconnector (vrouwelijk) voor het inbouwen van het Curiosity Nano-printplaat. De AC164162 heeft een aantal interessante eigenschappen, zoals 3 connectoren die voldoen aan de MicroBUS™ standaard die gebruikt wordt in Click modules van de producent Mikroe. Het is de moeite waard om hier op te merken dat er meer dan duizend verschillende modellen van dergelijke printplaten beschikbaar zijn in de TME-catalogus. Op de printplaat zit ook de extensie Xplained Pro connector. Verder kan het geheel worden gevoed door oplaadbare batterijen, aangezien de adapter een geïntegreerd oplaad- en voedingsbeheercircuit heeft compatibel met lithium-ion- en lithium-polymeercellen.
De tekst is opgesteld door Transfer Multisort Elektronik Sp. z o.o.
https://www.tme.eu/nl/news/about-product/page/60236/microcontrollers-pic16-met-fpga-functionaliteit/
De nieuwe familie PIC16F131xx microcontrollers van Microchip is gericht op de evolutie en steeds verdergaande miniaturisatie van elektronische apparaten. Hun functionaliteit maakt kosteneffectief energiebeheer mogelijk, alsmede het bouwen van controllers met voorspelbare reactietijden.
Eén van de belangrijkste eisen voor ontwerpers van hedendaagse ingebouwde (of embedded) systemen is het bereiken van tijdvoorspelbaar circuitgedrag. In de praktijk betekent dit het verkorten van de reactietijd op veranderingen in beheerde processen: onmiddellijke reactie op ingang van sensoren, communicatiepoorten of de gebruikersinterface. Dit effect kan worden bereikt door de rekenkracht van de circuits te vergroten, maar deze methode is suboptimaal omdat er dan grote hoeveelheden energie worden verspild. Om te voorkomen dat core-processen door software worden ondersteund, gebruikt Microchip kernonafhankelijke randapparatuur (Core Independent Peripherals). Een innovatie in deze technologie is het programmeerbaar logische poort circuit (Configurable Logic Block), dat is geïntegreerd in de nieuwe familie 8-bits microcontrollers van de producent, de PIC16F131xx chip.
Parameters en randapparatuur
In de volgende sectie van de test worden CIP- en CLB oplossingen besproken en hoe ze circuits in staat stellen rekenkracht te behouden voor applicatiebeheer terwijl ze zelf eenvoudigere taken overnemen (bediening van knoppen, sommige displays, omrekening van waarden afkomstig van transducers). Het is echter de moeite waard om eerst de specificatie en het ontwerp van de PIC16F131xx microcontrollers te bekijken.
De desbetreffende chips zijn gebaseerd op de klassieke 8-bits Harvard-architectuur. De systemen zijn verkrijgbaar in zowel doorvoergat- (THT) als oppervlaktemontage- (SMD) formaten, en in DIP, DFN, SSOP, TSSOP, SOIC en VQFN vormfactoren – met 6, 12 of 18 pinnen I/O. Een groot voordeel van de chips is het brede bereik van aanvaardbare voedingsspanningen: van 1,8 V tot 5,5 V DC. De kloksnelheid is 32 MHz en de minimale instructietijd is 125 ns. De chips bieden van 256 B tot 1024 B SRAM en tot 14 kB programmageheugen (FLASH).
Ontwerpers kunnen gebruik maken van een uitgebreide selectie van hardware-randapparatuur, zoals PWM-signaalgeneratoren, 8- en 16-bits tellers/timers, EUSART seriële buscontroller, MSSP (Host Synchronous Serial Port) die kan werken in I2C of SPI interface-ondersteuningsmodus, configureerbare comparatoren met gereduceerde reactietijd (50 ns), een 8-bits digitaal-naar-analoog omzetter (DAC) en een 10-bits berekenbare analoog-naar-digitaal omzetter (ADCC), hardwareverwerking van ontvangen waarden. Op dit punt is het belangrijk om de CIP-randapparatuur in de gepresenteerde circuits op te merken.
De desbetreffende chips zijn gebaseerd op de klassieke 8-bits Harvard-architectuur. De systemen zijn verkrijgbaar in zowel doorvoergat- (THT) als oppervlaktemontage- (SMD) formaten, en in DIP, DFN, SSOP, TSSOP, SOIC en VQFN vormfactoren – met 6, 12 of 18 pinnen I/O. Een groot voordeel van de chips is het brede bereik van aanvaardbare voedingsspanningen: van 1,8 V tot 5,5 V DC. De kloksnelheid is 32 MHz en de minimale instructietijd is 125 ns. De chips bieden van 256 B tot 1024 B SRAM en tot 14 kB programmageheugen (FLASH).
Ontwerpers kunnen gebruik maken van een uitgebreide selectie van hardware-randapparatuur, zoals PWM-signaalgeneratoren, 8- en 16-bits tellers/timers, EUSART seriële buscontroller, MSSP (Host Synchronous Serial Port) die kan werken in I2C of SPI interface-ondersteuningsmodus, configureerbare comparatoren met gereduceerde reactietijd (50 ns), een 8-bits digitaal-naar-analoog omzetter (DAC) en een 10-bits berekenbare analoog-naar-digitaal omzetter (ADCC), hardwareverwerking van ontvangen waarden. Op dit punt is het belangrijk om de CIP-randapparatuur in de gepresenteerde circuits op te merken.
Core Independent Peripherals
Kernonafhankelijke randapparatuur, of CIP's (Core Indpendent Peripherals) zijn reeds geruime tijd opgenomen in Microchip producten, zowel in de PIC® en AVR® families. Hiermee kunnen bepaalde taken (bijv. communicatie met sensoren) op de achtergrond worden uitgevoerd, zonder de rekenkracht van de CPU te verbruiken, die volledig beschikbaar is voor de uitvoering van het hoofdprogramma, wat leidt tot minder energieverbruik en vereenvoudiging van het programma zelf. Er kunnen specifieke randapparaten worden gebruikt voor gegevensoverdracht (I2C, CAN, USB), timing (timers), het genereren van PWM-signalen of het werken met analoge signalen (ADC, OP-AMP, DAC).CLB Periferie
De belangrijkste innovatie die in de microcontrollers PIC16F131xx is geïntroduceerd, is de opname van onafhankelijke, configureerbare logische elementen in hun structuur (vanwege de manier waarop ze werken, wordt deze schakeling geclassificeerd als een CIP-randapparaat). Deze technologie wordt afgekort tot CLB van de uitdrukking Configurable Logic Block. De bedoeling is om functionele veiligheid en onmiddellijke reactietijd te bieden. CLB is gebaseerd op structuren die bekend zijn van FPGA's, en biedt dus de snelste verwerkingstijd voor ingangssignalen. De CLB werkt met logische basispoorten, die door de ontwerper naar wens geconfigureerd kunnen worden om aan de behoeften van een specifieke toepassing te voldoen. Bovendien maakt het miniaturisatie van doelapparaten mogelijk door externe componenten uit te sluiten en de PCB-afmetingen te verkleinen. Een belangrijk voordeel van CLB is de mogelijkheid om precies de tijd te bepalen waarbinnen taken zullen worden voltooid. Dit komt omdat, zelfs als deze taken de vorm aannemen van relatief complexe procedures, ze altijd in hardware geïmplementeerd zullen worden.Beschikbare soorten logische poorten
In de microcontrollers PIC16F131xx bestaat de CLB-structuur uit discrete componenten die 32 identieke cellen vormen, elk een zogenaamd Basic Logic Element (afgekort BLE). Ze worden allemaal voorzien van een klok door de opgaande rand van het CLBCLK-signaal. Afhankelijk van de behoeften simuleert een cel één logische schakeling die in de programmeerfase is gedefinieerd. Dit kan zijn:- AND-poort (max. 4 ingangen);
- NAND-poort (2 ingangen);
- OR-poort (max. 4 ingangen);
- NOR-poort (2 ingangen);
- XOR-poort (max. 4 ingangen); * XNOR-poort (2 ingangen);
- XNOR-poort (2 ingangen);
- negator of buffer (1 ingang en uitgang);
- D- of JK-type flip-flop;
- configureerbare LUT (Lookup Table, max. 4 ingangen).
Samenvattend: De ontwerper beschikt over een volledig configureerbare FPGA-achtige structuur die geïmplementeerd is in een moderne 8-bits microcontroller. Er zijn 102 bytes intern geheugen voor het opslaan van instellingen. De vraag blijft dus – hoe wordt de configuratie uitgevoerd?
Configuratie en programmering
De configuratie van FPGA's wordt vaak beschouwd als een strikte specialisatie die uitgebreide kennis vereist. De hulpmiddelen voor het werken met de producten van de PIC16F131xx zijn zo gemaakt dat het gebruik ervan niet al te moeilijk is. Zelfs niet-geavanceerde programmeurs kunnen in korte tijd de basis onder de knie krijgen en de gewenste resultaten behalen.Ten eerste wordt het configuratieproces van de CLB uitgevoerd met behulp van speciale software genaamd CLB Synthesizer, die gebaseerd is op een grafische interface. Het gebruik ervan komt overeen met de voorbereiding van een blokschema, zodat het programma leesbaar blijft, zelfs voor degenen die niet bekend zijn met de volledige functionaliteit van de omgeving.
Het programma is beschikbaar als een plug-in in Microchips eigen IDE, de MPLAB® X. Het hulpprogramma kan ook in een gewone browser worden gebruikt omdat het beschikbaar is als een webtoepassing. Het resultaat van het werken in CLB Synthesizer is een configuratiebestand, dat vervolgens in het project geïmporteerd moet worden, of een bronbestand in VERILOG-taal (extensie.clb).
De bouw van het schema vindt plaats door symboolblokken te tekenen en deze aan elkaar en aan voorgedefinieerde in-/uitgangslijnen te koppelen. Het werken in MPLAB® kan in zeven stappen worden beschreven:
- Instellen van de kloksignalen.
- Instellen van digitale blokken zoals UART, I2C, TMR en andere.
- Toevoegen van analoge randapparatuur zoals ADCC, DAC.
- Toevoegen van de CLB-periferie aan het ontwerp door een blokschema te maken met de componenten in de BLE-cellen en het definiëren van de verbindingen tussen deze componenten en de ingangssignalen.
- Synthese (aanmaken van configuratiebestand).
- Bepaal en wijs als laatste functionaliteit toe aan de ingangen/uitgangen van de microcontroller die in het project worden gebruikt.
- Uiteindelijk wordt de Melody-code gegenereerd.
- ondersteuning van het schuifregister van de programmeerbare WS2812 LED's;
- hardware debouncing signalen afkomstig van knoppen;
- coderen/decoderen van Manchester modulatie;
- multiplexen van een 4-bit waarde in signalen die een 7-segment display aansturen;
- frequentieconversie.
Curiosity Nano development kit
Dit Curiosity Nano-platform is ontwikkeld om Microchip-klanten starterspakket te bieden die de mogelijkheden van de nieuwste microcontrollers van de producent demonstreren. De printplaten zijn voorbereid in een handig formaat: met geïntegreerde debugger, programmer en toegang tot microcontrollerpennen. Dit maakt ze tot een uitstekend opleidings- en trainingstool. Natuurlijk is er ook een speciaal Curiosity Nano printplaat ontwikkeld voor de PIC16F131xx familie.Het EV06M52A model is een starterspakket met een PIC16F13145 microcontroller. Het circuit bevat een USB C connector voor voeding en programmering. De spanning voor de microcontroller wordt geleverd door de LDO MIC5353 stabilisator. Optioneel kan een kwartsresonator voor de RTC klok (32,768 kHz) in de schakeling worden geplaatst. De voedings- en programmeerstatus wordt aangegeven met een groene LED. Een andere, gele LED is bevestigd aan een van de uitgangen van de microcontroller en kan door de microcontroller worden bediend. De printplaat heeft ook een knop.
Adapters
De functionaliteit van het starterspakket kan worden uitgebreid met adapters speciaal voor de Curiosity Nano-printplaten.De bovenstaande producten hebben een universele pinconnector (vrouwelijk) voor het inbouwen van het Curiosity Nano-printplaat. De AC164162 heeft een aantal interessante eigenschappen, zoals 3 connectoren die voldoen aan de MicroBUS™ standaard die gebruikt wordt in Click modules van de producent Mikroe. Het is de moeite waard om hier op te merken dat er meer dan duizend verschillende modellen van dergelijke printplaten beschikbaar zijn in de TME-catalogus. Op de printplaat zit ook de extensie Xplained Pro connector. Verder kan het geheel worden gevoed door oplaadbare batterijen, aangezien de adapter een geïntegreerd oplaad- en voedingsbeheercircuit heeft compatibel met lithium-ion- en lithium-polymeercellen.
De tekst is opgesteld door Transfer Multisort Elektronik Sp. z o.o.
https://www.tme.eu/nl/news/about-product/page/60236/microcontrollers-pic16-met-fpga-functionaliteit/