Smartfusion combineert Arm met FPGA en programmeerbaar analoog
11 juni 2010
De doorsnee embedded-systeemapplicatie bestaat niet; als die er wel zou zijn, zouden de catalogi van halfgeleiderbedrijven een heel stuk dunner kunnen. In de praktijk moet de ontwerper echter kiezen uit een breed aanbod aan processoren, en daarna is er nog een bijna ongelimiteerde keuze aan combinaties van randapparatuur, communicatiepoorten en analoge functies. Het zegt wat over de diversiteit aan embedded applicaties dat weinig ontwerpers uitkomen op een oplossing met één chip. Het resultaat is meestal een microcontroller met een aantal andere chips daaromheen. Vaak bevatten die wat programmeerbare logica voor specifieke logische functies die niet aanwezig zijn op de MCU. Daarnaast zijn er analoge IC’s om signaalinterfaces te implementeren. Eenchipoplossingen zijn relatief impopulair vanwege het beperkte aanbod, maar vooral vanwege het gebrek aan flexibiliteit bij ontwerpwijzigingen: hoe exacter de match van eigenschappen met een beginspecificatie, hoe minder ruimte er is voor aanpassing aan veranderende eisen in de loop van het project.
Met de introductie van de Smartfusion-devices door Actel krijgt de ontwerper toegang tot een eenchipoplossing die de langverwachte combinatie biedt van programmeerbare logica en programmeerbare analoge schakelingen, samen met een krachtige microcontrollerkern met moderne 32 bit architectuur: de Arm Cortex-M3. Cruciaal hierbij is de toolketen die de uitgebreide flexibiliteit van analoge en digitale functies ondersteunt in combinatie met de softwareprogrammeerbaarheid van een Cortex-M3.
Gemengd
De scheppende voorwaarde voor deze vergaande integratie van drie zeer verschillende technologieën is Actels strategische investering in een stabiel flashproces. Dat heeft een aantal duidelijke voordelen. Bij een flashgeprogrammeerd device liggen de configuratiedata voor de programmeerbare logica en de programmeercode voor de microcontroller permanent opgeslagen op de chip. Daardoor is deze onmiddellijk beschikbaar bij inschakelen en hoeft er niet te worden gewacht tot de configuratie is geladen van een naastgelegen EEprom.
Dit is gelijk ook een belangrijke stap op weg naar het beveiligen van intellectueel eigendom: omdat de configuratiegegevens niet langer onbeschermd zijn als ze tussen twee devices worden uitgewisseld, kunnen ze ook niet worden onderschept of gestolen. Een andere beschermingslaag komt van de mogelijkheid om permanent te voorkomen dat het flashgeheugen wordt gelezen als het eenmaal is geprogrammeerd. Dit staat bij Actel-producten bekend onder de naam Flashlock. En met de mogelijkheid om apparaten in kleine batches te programmeren, of in het systeem zelf aan het eind van de productie, voldoen op flash gebaseerde IC’s voor kleine tot middelgrote productiehoeveelheden die typerend zijn voor veel embedded-ontwerpen.
De Smartfusion-devices van Actel combineren een Arm Cortex-M3-core met Proasic3-FPGA-functionaliteit en programmeerbaar analoge schakelingen.
Dezelfde siliciumprocestechnologie heeft nog andere voordelen. Flash vereist hoge spanningen vergeleken met een zuiver logisch CMos-proces voor het programmeren en wissen, dus het vermogen om hoge analoge spanningen te bewaken, is ingebouwd. Het proces dat Actel gebruikt, maakt isolatie mogelijk tussen blokken op chips (door een driedubbele bronstructuur), waardoor analoge en digitale blokken zonder interferentie naast elkaar kunnen worden geplaatst. Analoge functies behouden zeer goede specificaties in parameters zoals offsets en ruis, ondanks de omgeving met gemengde signalen.
Logisch
Wat betreft hun analoge capaciteiten hebben Smartfusion-chips drie 12 bit analoog-digitaalconverters op basis van successive approximation (SAR) die tot 500 kilosamples per seconde (kS/s) verwerken bij volledige resolutie. Elke ADC heeft een bijbehorende 1 bit eerste-orde-sigma-delta-DAC, met 500 kS/s update en een effectieve resolutie van 12 bit. Een nieuw programmeerbaar element is het Signal Conditioning Block (SCB). Elk SCB bevat functies zoals nauwkeurige monitoren voor hoge spanning en stroom, temperatuurmonitoren en snelle (50 ns) comparatoren. De hoge-spanningsmonitoren, genaamd active bipolar prescalers (ABPS), leveren een spanningsbewakingsbereik van -11,5 tot +14 V. Voor dit doel ontworpen stroommonitoren versterken de spanningsval die wordt gemeten over een externe, laagohmse meetweerstand. Externe temperatuurmonitoren interpreteren diodespanningsdalingssensoren.
Alle analoge functionaliteit is volledig programmeerbaar, zowel in functionele configuratie als in parametrische waardes. Daarvoor heeft Actel een GUI-tool ontworpen, die werkt naast de bestaande ontwerpgereedschappen voor het configureren van de interne FPGA.
Smartfusion-devices hebben tot vijfhonderdduizend poorten voor programmeerbare logica aan boord. Die is identiek aan de logica in de op flash gebaseerde Proasic3-FPGA’s. De programmeerbare logica wordt gecombineerd met maximaal 108 kbyte SRam en ondersteunt een kloksnelheid tot 350 MHz. Veel digitale I/O’s werken op maximaal 350 MHz en leveren tot 24 mA. Ze ondersteunen I/O-niveaus voor interfacestandaarden als LVDS, LVPECL en PCI/PCI-X. Actel biedt verschillende ontwerpopties, waaronder zijn HDL-toolketen en de Libero-IDE. Met die laatste kunnen bestaande IP-blokken uit eerdere projecten, Actels bibliotheken of componenten van derde partijen eenvoudig worden geïmporteerd en ingezet.
Semi-autonoom
Net zoals de geïntegreerde logische en lineaire blokken betere prestaties bieden dan afzonderlijke IC’s, heeft de ingebouwde Arm-processor eveneens de eigenschappen en specificaties van een fully diffused functioneel blok - het is een ‘harde’ core, niet een ‘zachte’ versie waarbij een deel van de FPGA-logica geconfigureerd wordt als processorkern. De CPU werkt met systeemklokken tot 100 MHz, levert 125 DMips aan performance en heeft tot 512 kbyte flashgeheugen en 128 kbyte SRam.
De core is krachtig genoeg om complexe algoritmes uit te voeren zoals een precisiemotorbesturing of zelfs multiaxiale besturing van meerdere motoren. In een applicatie als systeembeheer kan ook toezicht worden gehouden op een serie taken met betrekking tot spanningsbewaking, sequencing, ventilatorbesturing en soortgelijke ‘huishoudelijke’ taken, terwijl er voldoende capaciteit overblijft voor hogere toepassingen op gebruikersapplicatieniveau.
Als compleet Arm Cortex-M3-ontwerp wordt een pakket randapparatuur meegeleverd waaronder Fast Ethernet-Mac, I2C, SPI en Uarts. I/O-lijnen met gemengde signalen werken tot 180 MHz en leveren tot 6 mA. Andere eigenschappen die de technicus met microcontrollerervaring zal herkennen, zijn onder meer een realtime klok, waakhondtimers, een achtkanaals DMA-controller en een externe geheugencontroller voor extra code of gegevensopslag.
Om het silicium het meest efficiënt te gebruiken, is de randapparatuurset ‘hardwired’. Deze functionaliteit is echter uit te breiden of aan te passen met extra functies in de aangrenzende programmeerbare logica. De Arm-processor is op dezelfde nauwe manier gekoppeld aan de FPGA-structuur als aan de randapparatuur: via de vijflagige AHB-bus die tot 16 Gbyte/s op de chip haalt.
Ondanks dat deze hoeveelheid rekenkracht beschikbaar is, is het vaak niet eens nodig om deze aan te spreken voor veel front-end-verwerkingstaken. Onder de elementen op de chip bevindt zich namelijk een totaal nieuw concept: de analog compute engine of Ace. Dit is een semi-autonoom blok dat zonder tussenkomst van de processor uitgebreide analoge voor- en naverwerking doet, waaronder sampling en sequencing van signaalacquisitie.
De nieuwe serie devices biedt embedded-systeemontwerpers een eenchipsysteem dat compleet configureerbaar is in termen van hardware, en volledig programmeerbaar in software. De chips gaan vergezeld van een toolpakket dat een vertrouwde context biedt voor zowel de schrijver van softwarecode, de ontwerper van analoge interfaces als de RTL-programmeur en dat al deze specialisten ondersteunt als ze hun vaardigheden uitbreiden met de complete FPGA, Arm en analoge domeinen.
Rajiv Nema is senior productmarketingmanager bij Actel (www.actel.com), in de Benelux vertegenwoordigd door Acal Technology (www.acal.nl).
Rajiv Nema
Terug naar overzicht