Embedded systemen maken gebruik van een verscheidenheid aan Digital Signal Processing (DSP)-apparaten, elk met zijn eigen sterke en zwakke punten, afgestemd op specifieke toepassingsbehoeften. De verschillen liggen vooral in:
1. Architectuur:
* Vaste komma versus drijvende komma: DSP's met een vast punt gebruiken gehele getallen voor berekeningen en bieden een hogere snelheid en een lager energieverbruik, maar een beperkte nauwkeurigheid. DSP's met drijvende komma maken gebruik van getallen met drijvende komma, waardoor een hogere nauwkeurigheid wordt geboden, maar dit gaat ten koste van snelheid en kracht. De keuze hangt af van de nauwkeurigheidseisen en het energiebudget van de toepassing. Veel moderne DSP's bieden een mix van beide.
* Harvard versus Von Neumann-architectuur: De architectuur van Harvard maakt gebruik van afzonderlijke geheugenruimten voor instructies en gegevens, waardoor parallelle toegang en verbeterde prestaties mogelijk zijn. De Von Neumann-architectuur gebruikt voor beide één enkele geheugenruimte, wat het ontwerp vereenvoudigt maar mogelijk de doorvoer beperkt. DSP's geven een overweldigende voorkeur aan de Harvard-architectuur vanwege de snelheid.
* Instructiesetarchitectuur (ISA): Verschillende DSP's hebben verschillende ISA's, wat van invloed is op het programmeergemak, de code-efficiëntie en de beschikbare bibliotheken. Enkele veel voorkomende ISA's zijn TMS320C (Texas Instruments), SHARC (Analog Devices) en Blackfin (ADI). De keuze hangt vaak af van bestaande softwarebibliotheken, expertise van ontwikkelaars en ondersteuning van leveranciers.
* Parallelle verwerkingsmogelijkheden: Veel moderne DSP's bevatten parallelle verwerkingsfuncties zoals meerdere verwerkingskernen, SIMD-instructies (Single Instruction, Multiple Data) of gespecialiseerde hardwareversnellers (bijvoorbeeld voor FFT's). Deze verbeteren de verwerkingssnelheid voor rekenintensieve taken.
2. Prestatiekenmerken:
* Kloksnelheid: Hogere kloksnelheden leiden tot snellere verwerking, maar ook tot een hoger energieverbruik en warmteontwikkeling.
* Computationele kracht: Gemeten in bewerkingen per seconde (OPS) of drijvende-kommabewerkingen per seconde (FLOPS) weerspiegelt dit de algehele verwerkingscapaciteit.
* Geheugencapaciteit: De hoeveelheid geheugen op de chip (RAM, ROM) beïnvloedt de grootte en complexiteit van algoritmen die kunnen worden geïmplementeerd.
* Stroomverbruik: Cruciaal bij toepassingen op batterijen is dat een laag stroomverbruik een belangrijke overweging is.
3. Randapparatuur en interfaces:
* Analoog-naar-digitaal-converters (ADC's) en digitaal-naar-analoog-converters (DAC's): Essentieel voor de interface met analoge sensoren en actuatoren. Het aantal kanalen, de resolutie en de bemonsteringsfrequentie lopen sterk uiteen.
* Communicatie-interfaces: Verschillende DSP's ondersteunen verschillende communicatieprotocollen (bijvoorbeeld SPI, I2C, UART, Ethernet, USB) voor verbinding met andere systeemcomponenten.
* Timers en tellers: Wordt gebruikt voor het timen van kritieke handelingen en het genereren van besturingssignalen.
* Invoer/uitvoer voor algemeen gebruik (GPIO): Bied flexibele connectiviteit met externe apparaten.
4. Software en tools:
* Ontwikkelomgeving: De beschikbaarheid van compilers, debuggers en andere ontwikkelingstools heeft invloed op het gemak van programmeren en debuggen.
* Bibliotheken en ondersteuning: Vooraf gebouwde bibliotheken voor algemene signaalverwerkingsalgoritmen (bijvoorbeeld FFT- en FIR-filters) kunnen de ontwikkeltijd aanzienlijk verkorten.
Voorbeelden van DSP-apparaten die worden gebruikt in embedded systemen:
* Texas Instruments TMS320C6000/C2000: Op grote schaal gebruikt in verschillende toepassingen, van motorbesturing tot audioverwerking.
* Analoge apparaten SHARC-processors: Bekend om hun krachtige drijvende-kommamogelijkheden, die vaak worden gebruikt in veeleisende toepassingen zoals radar en sonar.
* STMicroelectronics STM32F7-serie met DSP-mogelijkheden: Onderdeel van een bredere microcontrollerfamilie, waarin DSP-functies zijn geïntegreerd voor kosteneffectieve oplossingen.
Samenvattend wordt de keuze van het DSP-apparaat voor een ingebed systeem bepaald door een zorgvuldige afweging van de specifieke vereisten van de toepassing met betrekking tot verwerkingskracht, precisie, energieverbruik, kosten en beschikbare bronnen. Er is geen enkele "beste" DSP; de optimale keuze hangt altijd af van de context. |