Basisprincipes van het selecteren van digitale signaalprocessors

27 juni 2017 om 12:27 uur

Multi-core DSP TMS320C6678. Overzicht processorarchitectuur

  • Programmeren van microcontrollers

Dit artikel opent een reeks publicaties gewijd aan de TMS320C6678 multi-core digitale signaalprocessors. Het artikel geeft een algemeen idee van de processorarchitectuur. Het artikel weerspiegelt lezingen en praktisch materiaal dat aan studenten wordt aangeboden als onderdeel van geavanceerde trainingscursussen onder het programma “Multi-core digitale signaalprocessors C66x van Texas Instruments”, uitgevoerd aan de Ryazan State Radio Engineering University.

TMS320C66xx digitale signaalprocessors zijn gebaseerd op de KeyStone-architectuur en zijn krachtige multi-core signaalprocessors die werken met zowel vaste als drijvende komma. De KeyStone-architectuur is een principe voor het vervaardigen van multi-coresystemen op een chip, ontwikkeld door Texas Instruments, waarmee de effectieve gezamenlijke werking van een groot aantal DSP- en RISC-kernen, versnellers en randapparatuur kan worden georganiseerd, waardoor voldoende doorvoer van interne en externe apparaten wordt gegarandeerd. kanalen voor gegevensoverdracht, waarvan de basis hardwarecomponenten zijn: Multicore Navigator (controller voor gegevensuitwisseling via interne interfaces), TeraNet (interne bus voor gegevensoverdracht), Multicore Shared Memory Controller (controller voor gedeelde geheugentoegang) en HyperLink (interface met externe apparaten op -chipsnelheid).

De architectuur van de TMS320C6678-processor, de krachtigste processor in de TMS320C66xx-familie, wordt weergegeven in Figuur 1. De architectuur kan worden onderverdeeld in de volgende hoofdcomponenten:

  • een set besturingskernels (CorePack);
  • subsysteem voor het werken met gedeeld intern en extern geheugen (Memory Subsystem);
  • randapparatuur;
  • netwerkcoprocessor;
  • interne doorstuurcontroller (Multicore Navigator);
  • servicehardwaremodules en interne TeraNet-bus.

Figuur 1. Algemene architectuur van de TMS320C6678-processor

De TMS320C6678-processor werkt op een klokfrequentie van 1,25 GHz. De werking van de processor is gebaseerd op een set C66x CorePack-besturingskernen, waarvan het aantal en de samenstelling afhangen van het specifieke processormodel. De TMS320C6678 DSP bevat 8 kernen van het DSP-type. De kern is een basiscomputerelement en omvat rekeneenheden, registersets, een programmeermachine, programma- en datageheugen. Het geheugen in de kernel wordt lokaal genoemd.

Naast lokaal geheugen is er geheugen dat voor alle cores gemeenschappelijk is: het gedeelde geheugen van een multi-coreprocessor (Multicore Shared Memory - MSM). Gedeeld geheugen is toegankelijk via het Memory Subsystem, dat ook een EMIF externe geheugeninterface bevat voor communicatie tussen de processor en externe geheugenchips.

De netwerkcoprocessor verhoogt de efficiëntie van de processor als onderdeel van verschillende soorten telecommunicatieapparatuur, waarbij gegevensverwerkingstaken worden geïmplementeerd die typisch zijn voor dit gebied in de hardware. De coprocessor is gebaseerd op de Packet Accelerator en de Security Accelerator. De processorspecificatie vermeldt een reeks protocollen en standaarden die door deze versnellers worden ondersteund.

Randapparatuur omvat:

  • Seriële RapidIO (SRIO) versie 2.1 – biedt gegevensoverdrachtsnelheden tot 5 GBaud per lijn met een aantal lijnen (kanalen) – tot 4;
  • PCI Express (PCIe) Gen2-versie – biedt gegevensoverdrachtsnelheden tot 5 GBaud per lijn met een aantal lijnen (kanalen) – maximaal 2;
  • Hyperlink– interne businterface, waarmee u processors die op de KeyStone-architectuur zijn gebouwd rechtstreeks met elkaar kunt schakelen en met on-chip-snelheid kunt uitwisselen; snelheid van gegevensoverdracht – tot 50 Gbaud;
  • Gigabit Ethernet (GbE) biedt transmissiesnelheden: 10/100/1000 Mbps en wordt ondersteund door een hardw(netwerkcoprocessor);
  • EMIF DDR3– externe geheugeninterface van het DDR3-type; heeft een busbreedte van 64 bits en biedt adresseerbare geheugenruimte tot 8 GB;
  • EMIF– externe geheugeninterface voor algemeen gebruik; heeft een busbreedte van 16 bits en kan worden gebruikt om 256 MB NAND Flash of 16 MB NOR Flash aan te sluiten;
  • TSIP (seriële telecompoorten)– seriële telecommunicatiepoort; biedt transmissiesnelheden tot 8 Mbit/s per lijn met een maximaal aantal lijnen;
  • UART– universele asynchrone seriële poort;
  • I2C– interne communicatiebus;
  • GPIO– invoer/uitvoer voor algemeen gebruik – 16 pinnen;
  • SPI– universele seriële interface;
  • Timers– gebruikt om periodieke gebeurtenissen te genereren.
Servicehardwaremodules omvatten:
  • Debug- en traceermodule– geeft foutopsporingstools toegang tot de interne bronnen van een actieve processor;
  • boot ROM – slaat het opstartprogramma op;
  • hardware-seinpaal– dient voor hardwareondersteuning voor het organiseren van gedeelde toegang van parallelle processen tot gedeelde processorbronnen;
  • energiebeheermodule– implementeert dynamische controle van de energiemodi van processorcomponenten om het energieverbruik te minimaliseren op momenten dat de processor niet op volledige capaciteit werkt;
  • PLL-circuit– genereert interne processorklokfrequenties op basis van een extern referentiekloksignaal;
  • Direct Memory Access (EDMA)-controller– beheert het proces van gegevensoverdracht, het ontladen van de operationele kernen van de DSP en een alternatief zijn voor Multicore Navigator.
De interne forwarding controller (Multicore Navigator) is een krachtige en efficiënte hardwaremodule die verantwoordelijk is voor het arbitreren van gegevensoverdrachten tussen verschillende processorcomponenten. Multi-core systemen op een chip TMS320C66xx zijn zeer complexe apparaten en om de uitwisseling van informatie tussen alle componenten van zo'n apparaat te organiseren is een speciale hardware-eenheid vereist. Met Multicore Navigator kunnen kernels, randapparatuur en hostapparaten de besturingsfuncties van gegevensuitwisseling niet overnemen. Wanneer een processorcomponent een reeks gegevens naar een andere component moet sturen, vertelt het de controller eenvoudigweg wat hij moet verzenden en waar. Alle functies voor de overdracht zelf en de synchronisatie van afzender en ontvanger worden overgenomen door Multicore Navigator.

De basis voor het functioneren van de TMS320C66xx multi-core processor in termen van snelle gegevensuitwisseling tussen alle talrijke processorcomponenten, evenals externe modules, is de interne TeraNet-bus.

In het volgende artikel wordt dieper ingegaan op de architectuur van de C66x-besturingskern.

1. Multicore-programmeerhandleiding / SPRAB27B - augustus 2012;
2. TMS320C6678 Multicore digitale signaalprocessor met vaste en drijvende komma Gegevenshandleiding / SPRS691C - februari 2012.

Microprocessors zijn universele digitale chips waarin een rekeneenheid onder programmabesturing verschillende acties kan uitvoeren. Als gevolg hiervan kunt u bij alle microprocessors hun maximale snelheid inruilen voor de complexiteit van het geïmplementeerde algoritme. De plaats van microprocessors in de classificatie van digitale apparaten wordt weergegeven in figuur 1.


Figuur 1. Classificatie van microprocessors

Bij het maken van digitale apparaten op microprocessors worden de kenmerken van het op te lossen probleem echter over de architectuur van een bepaalde klasse microprocessors heen gelegd. Laten we eens kijken naar de belangrijkste taken die moeten worden opgelost bij het verwerken van signalen (ongeacht de analoge of digitale implementatie van het circuit):

  1. optelling van verschillende signalen;
  2. overdracht van signaalspectrum;
  3. signaalfiltering;
  4. berekening van het signaalspectrum (snelle Fourier-transformatie);
  5. ruisbestendige codering (ruisonderdrukking voor analoge communicatiesystemen);
  6. framing (alleen voor digitale communicatiesystemen)
  7. signaalvervorming (vorming van gelijke waarschijnlijkheid voor het verzenden van nullen en enen)

De laatste drie van dit soort digitale signaalverwerking worden uitgevoerd op lage frequenties, dus vereisen ze meestal een klein deel van de prestaties van de processor om ze te implementeren. Bij de verwerking van hoogfrequente signalen zijn de grootste prestaties vereist. Dit komt door de korte tijd tussen aangrenzende signaalmonsters. In dezelfde tijd zijn eenvoudiger handelingen nodig.

Laten we nu eens kijken naar de eerste twee problemen. Wanneer de bewerking één binaire sominstructie vereist. De operatie van het overbrengen van het spectrum van het ingangssignaal naar een gegeven frequentie vereist een vermenigvuldigingsoperatie en de operatie van het vormen van het volgende monster van de sinusoïdale functie. Dit betekent dat deze bewerking meer CPU-prestaties vereist dan de vorige signaalverwerkingsbewerking. Laten we nu de werking van optelling en de werking van vermenigvuldiging vergelijken. Wanneer u twee getallen vermenigvuldigt, moet u verschillende deelproducten berekenen en deze optellen. Hiermee kunt u een vermenigvuldigingsbewerking uitvoeren in één processorcyclus, dus de aanwezigheid van een hardwarevermenigvuldiger is een integraal kenmerk van signaalprocessors.

Laten we nu het signaalfilterproces analyseren. Bij het implementeren van frequentiefilters in het tijdsdomein is het noodzakelijk een convolutieoperatie uit te voeren. Een typisch digitaal filtercircuit wordt getoond in Figuur 2.



Figuur 2. Typisch digitaal filtercircuit

De figuur toont duidelijk de volgorde van identieke delen van het algoritme. U moet het digitale signaalmonster herhaaldelijk vermenigvuldigen met de filtercoëfficiënt en het resultaat optellen bij de vorige som. Opgemerkt moet worden dat de opteller een grote capaciteit heeft. Voor een 16-bits signaalprocessor zal de breedte van de getallen aan de uitgang van de vermenigvuldiger tweeëndertig bits zijn. Bij het optellen van meerdere getallen neemt ook de bitdiepte van het resultaat toe. Bij het optellen van 256 identieke getallen zal de waarde van het resultaat 256 keer toenemen, wat overeenkomt met een toename van de bitdiepte van het getal met acht cijfers (2 8 = 256). Daarom zal de breedte van de opteller in een 16-bits signaalprocessor gelijk zijn aan veertig bits (32+8=40).

Als gevolg hiervan hebben we nog een vereiste voor de signaalprocessor gecreëerd. De signaalprocessor moet niet alleen een hardwarevermenigvuldiger bevatten, maar ook een datavermenigvuldiger-accumulator (MAC). Bovendien moet de vermenigvuldigings-accumulatiebewerking worden uitgevoerd in één microprocessormachinecyclus. Ik zou graag willen opmerken dat de vermenigvuldiging-accumulatiebewerking niet alleen een integraal onderdeel is van het filteralgoritme, maar ook van (de helft van het basisvlinderalgoritme)

Laten we het nu hebben over een andere methode om de snelheid van een signaalprocessor te verhogen. Een typische processor maakt gebruik van een promet één bus. De signaalprocessor gebruikt minimaal . Hiermee kunt u tegelijkertijd twee operanden toepassen op de invoer van een rekenkundig-logische eenheid of vermenigvuldiger-accumulator en het resultaat naar het RAM schrijven.

Een ander belangrijk kenmerk van microprocessors is de manier waarop ze de cyclische programma-uitvoering organiseren (de MAC-vermenigvuldigings-accumulatieoperatie bij het implementeren van een digitaal filter of de “vlinder”-operatie bij het implementeren van een snelle Fourier-transformatie moet een bepaald aantal keren worden herhaald). In een computermicroprocessor wordt een speciale variabele gebruikt om een ​​lus te organiseren: de lusparameter. Aan het einde van de lus wordt deze variabele vergeleken met een gegeven waarde (meestal nul) en wordt er overgegaan naar het begin van de lus. Als gevolg hiervan ziet het filteralgoritme er als volgt uit:

  1. Genereer het adres van de volgende cel van de filtervertragingsregel
  2. Lees het volgende ingangssignaalmonster van de filtervertragingslijn
  3. Genereer het adres van de volgende filtercoëfficiënt
  4. Bereken de volgende filtercoëfficiënt
  5. Vermenigvuldig het ingangssignaalmonster van de vertragingslijn met de filtercoëfficiënt (meestal over meerdere machinecycli)
  6. Tel het resultaat op met de reeds verzamelde som (genereer nog een signaalmonster aan de filteruitgang)
  7. Wijzig de waarde van een lusparametervariabele
  8. Vergelijk de verkregen waarde met de opgegeven waarde
  9. Naar het begin van een lus springen of deze verlaten (meestal is dit een langdurige procedure die meerdere machinecycli in beslag neemt)

In signaalprocessors wordt de organisatie van de cyclus en de vorming van het volgende adres van de coëfficiënt en het filtermonster uitgevoerd in hardware, en vereist daarom geen extra tijd. Al deze kenmerken maken het mogelijk om de snelheid van de signaalprocessor te verhogen zonder de klokfrequentie te verhogen; de algoritmische snelheid van de signaalprocessor bij het uitvoeren van signaalverwerkingsbewerkingen is vele malen groter dan de snelheid van een computermicroprocessor. Laten we de onderscheidende eigenschappen van de signaalprocessor opsommen:

  1. Beschikbaarheid van MAC-accumulator met 40-bits opteller en accumulator
  2. Beschikbaarheid van hardwarenummerverschuiver
  3. Beschikbaarheid van hardwarelusorganisatie
  4. Beschikbaarheid van twee adresgeneratoren
  5. Drie-busstructuur van de bedieningseenheid van de microprocessor

Literatuur:

Lees samen met het artikel "Kenmerken van signaalprocessors":

Wat is DSP?

Digitale signaalprocessors (DSP, Digital Signal Processors) nemen als invoer vooraf gedigitaliseerde fysieke signalen, zoals geluid, video, temperatuur, druk en positie, en voeren er wiskundige manipulaties op uit. De interne structuur van digitale signaalprocessors is speciaal zo ontworpen dat ze wiskundige functies zoals optellen, aftrekken, vermenigvuldigen en delen zeer snel kunnen uitvoeren.

Signalen moeten zo worden verwerkt dat de informatie die ze bevatten grafisch kan worden weergegeven, geanalyseerd of omgezet in een ander type nuttig signaal. In de echte wereld worden signalen die overeenkomen met fysieke verschijnselen zoals geluid, licht, temperatuur of druk gedetecteerd en gemanipuleerd door analoge componenten. Vervolgens neemt een analoog-digitaalomzetter het echte signaal en converteert dit naar een digitaal formaat als een reeks enen en nullen. In dit stadium komt een digitale signaalprocessor het proces binnen, die gedigitaliseerde informatie verzamelt en verwerkt. Vervolgens wordt de gedigitaliseerde informatie teruggestuurd naar de echte wereld voor verder gebruik. Informatie wordt op twee manieren verstrekt: digitaal of analoog. In het tweede geval wordt het gedigitaliseerde signaal door een digitaal-analoogomzetter geleid. Al deze acties worden met zeer hoge snelheid uitgevoerd.

Om dit concept te illustreren, kunt u het onderstaande blokdiagram bekijken, dat laat zien hoe een digitale signaalprocessor wordt gebruikt als onderdeel van een mp3-audiospeler. Tijdens de opnamefase komt er een analoog audiosignaal het systeem binnen vanaf een ontvanger of andere bron. Dit analoge signaal wordt met behulp van een analoog-naar-digitaal-omzetter omgezet in een digitaal signaal en naar een digitale signaalprocessor gestuurd. De digitale signaalprocessor codeert het in MP3-formaat en slaat het bestand op in het geheugen. Tijdens de afspeelfase wordt het bestand uit het geheugen opgehaald, gedecodeerd door een digitale signaalprocessor en door een digitaal-naar-analoog-omzetter weer omgezet in een analoog signaal dat kan worden afgespeeld in het luidsprekersysteem. In een complexer voorbeeld kan de digitale signaalprocessor aanvullende functies uitvoeren, zoals volumeregeling, frequentiecompensatie en het verschaffen van een gebruikersinterface.

De informatie die door een digitale signaalprocessor wordt gegenereerd, kan door een computer worden gebruikt om bijvoorbeeld beveiligingssystemen, telefoons, thuisbioscoopsystemen of videocompressie te besturen. Signalen kunnen worden gecomprimeerd om een ​​snellere en efficiëntere transmissie van de ene locatie naar de andere mogelijk te maken (bijvoorbeeld in teleconferentiesystemen voor het verzenden van spraak en video via telefoonlijnen). Signalen kunnen ook worden onderworpen aan aanvullende verwerking om de kwaliteit ervan te verbeteren of informatie te verschaffen die in eerste instantie niet beschikbaar is voor mensen (bijvoorbeeld bij echo-onderdrukkingstaken in mobiele telefoons of computerbeeldverbetering). Fysieke signalen kunnen in analoge vorm worden verwerkt, maar digitale verwerking zorgt voor verbeterde kwaliteit en snelheid.

Omdat de DSP programmeerbaar is, kan deze in een grote verscheidenheid aan toepassingen worden gebruikt. Bij het maken van een project kunt u uw eigen software schrijven of software van Analog Devices of derden gebruiken.

Voor meer informatie over de voordelen van het gebruik van DSP's bij signaalverwerking in de echte wereld kunt u het eerste deel van het artikel Digital Signal Processing 101 - An Introduction to DSP System Design lezen, getiteld "Waarom een ​​DSP?"


Wat zit er in een digitale signaalprocessor (DSP)?

De digitale signaalprocessor omvat de volgende belangrijke componenten:

  • Programmageheugen: Bevat programma's die de digitale signaalprocessor gebruikt om gegevens te verwerken
  • Gegevensgeheugen: Bevat informatie die moet worden verwerkt
  • Computerkern: Voert wiskundige verwerking uit door toegang te krijgen tot het programma in het programmageheugen en de gegevens in het datageheugen
  • I/O-subsysteem: Biedt een reeks functies om te communiceren met de buitenwereld

Voor meer informatie over Analog Devices-processors en nauwkeurige analoge microcontrollers raden we u aan de volgende bronnen te raadplegen:

Digitale signaalverwerking is een complex onderwerp en kan zelfs de meest doorgewinterde DSP-professionals overweldigen. We hebben hier slechts een kort overzicht gegeven, maar Analog Devices biedt ook aanvullende bronnen die meer gedetailleerde informatie bieden over digitale signaalverwerking:

  • - evaluatie van technologieën en praktische toepassingskwesties
  • Artikelreeks in het tijdschrift Analog Dialogue: (in het Engels)
    • Deel 1: Waarom heb je een digitale signaalprocessor nodig? DSP-architecturen en voordelen van digitale signaalverwerking ten opzichte van traditionele analoge circuits
    • Deel 2: Leer meer over digitale filters
    • Deel 3: Implementatie van algoritmen op een hardwareplatform
    • Deel 4: Programmeeroverwegingen voor realtime I/O-ondersteuning
  • : Veelgebruikte woorden en hun betekenis

Praktische DSP-labs zijn een snelle en effectieve manier om vertrouwd te raken met het gebruik van DSP's van Analog Devices. Ze zullen u in staat stellen om zelfverzekerde, praktische vaardigheden te verwerven in het werken met digitale signaalprocessors van Analog Devices door middel van een cursus met lezingen en praktische oefeningen. Het rooster en de inschrijfinformatie vindt u op de pagina Training en Ontwikkeling.


"Wetenschappelijke en technische artikelen"- selectie wetenschappelijke en technische artikelen radio elektronisch onderwerpen: nieuwe producten elektronische componenten, wetenschappelijke ontwikkelingen op het gebied van radiotechniek en elektronica, artikelen Door geschiedenis ontwikkeling van radiotechniek en elektronica, nieuw technologieën en bouwmethoden en ontwikkeling radio-elektronisch apparaten, veelbelovend technologieën toekomst, aspecten en dynamiek van de ontwikkeling van alle gebieden van radiotechniek en elektronica, tentoonstellingsrecensies radio elektronisch onderwerpen.

Het artikel bespreekt de belangrijkste parameters van digitale signaalprocessors (DSP's) en hun impact op de selectie van een geschikte chip, en beschrijft ook de huidige staat van de DSP-markt.

Bij het kiezen van schoenen willen we dat ze modieus, comfortabel en van hoge kwaliteit zijn, dus geven we de voorkeur aan bekende merken, bedrijven die al bekend zijn en verre van de laatste plaatsen op de markt bezetten. Nu moeten we beslissen: waar hebben we deze schoenen voor nodig? Als je 's ochtends gaat hardlopen, is het beter om sneakers te kopen, en voor een bedrijfsavond schoenen. Wat te dragen in de bergen? In dit geval heb je speciale sterke schoenen met harde zolen nodig - vibrams. Wat is erger dan DSP? Bij het kiezen van een digitale signaalprocessor zou het een goed idee zijn om een ​​idee te hebben van de bestaande DSP-markt, om de belangrijkste fabrikanten te kennen en de ontwikkelingsrichtingen van de processors die ze creëren.

DSP-processors zijn ontworpen om digitale signaalverwerking uit te voeren: wiskundige manipulaties van gedigitaliseerde signalen. Ze worden veel gebruikt in draadloze systemen, audio- en videoverwerking en besturingssystemen. Met de toename van het aantal applicaties dat DSP gebruikt en de complexiteit van verwerkingsalgoritmen, nemen ook de vereisten daarvoor in termen van verhoogde prestaties en apparatuur met interface en andere gespecialiseerde knooppunten toe. Tot op heden zijn er veel soorten DSP verschenen, zowel universeel als gericht op een vrij beperkt aantal taken.

Tabel 1. Grote DSP-fabrikanten en hun marktaandelen

Marktleidende bedrijven Bedrijfsnaam DSP-marktaandeel
1 Texas-instrumenten 54,3%
2 Freescale halfgeleider 14,1%
3 Analoge apparaten 8,0%
4 Philips Halfgeleiders 7,5%
5 Agere-systemen 7,3%
6 Toshiba 4,9%
7 DSP-groep 2,2%
8 NEC Elektronica 0,6%
9 Fujitsu 0,4%
10 Intersil 0,3%

Andere bedrijven 0,5%

Totaal 100,0%

Uiteraard is geen enkele processor geschikt voor alle toepassingen. Daarom is de eerste taak van de ontwikkelaar het selecteren van de processor die het meest geschikt is in termen van prestaties, prijs, beschikbaarheid van bepaalde randapparatuur, stroomverbruik, gebruiksgemak en andere criteria.

Voor draagbare apparaten zoals mobiele telefoons en draagbare digitale spelers zijn bijvoorbeeld de kosten, de integratie en het stroomverbruik van cruciaal belang, en zijn maximale prestaties vaak niet nodig (aangezien dit doorgaans een aanzienlijke toename van het stroomverbruik met zich meebrengt, zonder verwerkingsvoordelen te bieden in vergelijking met lage prestaties). audiogegevens met bitsnelheid). Tegelijkertijd zijn voor hydro-akoestische of radarsystemen de bepalende parameters de werkingssnelheid, de aanwezigheid van snelle interfaces en een handig ontwikkelingssysteem, en zijn de kosten een secundair criterium.

Bovendien is het in veel gevallen zinvol om rekening te houden met de marktplaats die de verwerkerleverancier inneemt, omdat Niet alle fabrikanten kunnen u een reeks processors bieden die aan al uw behoeften voldoen. Uit de huidige verdeling van de markt over toonaangevende leveranciers (zie Tabel 1) blijkt dat de vier bedrijven bovenaan de lijst ruim 80% van alle DSP's ter wereld leveren. Het zijn deze bedrijven die het meest bekend zijn op de Russische markt, en hun producten worden vaak genoemd in ons tijdschrift, bijvoorbeeld de belangrijkste kenmerken van DSP vervaardigd door Texas Instruments? Analog Devices was te zien in 2005 # 7 en 2006 # 1.

Er moet aan worden herinnerd dat DSP-fabrikanten bij het ontwerpen van nieuwe chips deze duidelijk positioneren voor gebruik in bepaalde toepassingen. Dit heeft invloed op hun architectuur, prestaties en de uitrusting van de processor met een of andere set randmodules. Tabel 2 toont de positionering van DSP’s vanuit het perspectief van hun makers.

Tabel 2. Toepassingsgebieden van signaalprocessorfamilies van verschillende fabrikanten

Videoverwerking, videobewaking, digitale camera's, 3D-graphics TMS320DM64x/DaVinci, TMS320C64xx, TMS320C62xx (TI), PNX1300, PNX1500, PNX1700 (Philips), MPC52xx (Freescale)
Audioverwerking, spraakherkenning, geluidssynthese TMS320C62xx, TMS320C67xx (TI), SHARC (analoge apparaten)
Draagbare media-apparaten TMS320C54xx, TMS320C55xx (TI), Blackfin (analoge apparaten)
Draadloos, telecommunicatie, modems, netwerkapparaten TMS320C64xx, TMS320C54xx, TMS320C55xx (TI), MPC7xxx, MPC86xx, MPC8xx PowerQUICC I, MPC82xx PowerQUICC II, MPC83xx PowerQUICC II Pro, MPC85xx PowerQUICC III (Freescale), Blackfin, TigerSHARC (analoge apparaten), PNX1300 (Philip s)
Aandrijfbesturing, stroomconversie, auto-elektronica, huishoudelijke artikelen, kantoorapparatuur TMS320C28xx, TMS320C24xx (TI), ADSP-21xx (analoge apparaten), MPC55xx, MPC55xx (Freescale)
Geneeskunde, biometrie, meetsystemen TMS320C62xx, TMS320C67xx, TMS320C55xx, TMS320C28xx (TI), TigerSHARC, SHARC (analoge apparaten)

Gegevensformaat en bitdiepte

Een van de belangrijkste kenmerken van digitale signaalprocessors is het formaat van de verwerkte gegevens.

Alle DSP's werken met gehele getallen of getallen met drijvende komma, waarbij gehele getallen 16 of 32 bits breed zijn en getallen met drijvende komma 32 bits breed. Houd bij het kiezen van een gegevensformaat rekening met het volgende: Integer DSP-gegevens (of vaste-kommagegevens). ) is meestal goedkoper en biedt een grotere absolute precisie bij gelijke bitdiepte (aangezien alle 32 bits worden toegewezen aan de mantisse in een 32-bits processor met vast punt, maar slechts 24 in een processor met drijvende komma). Tegelijkertijd is het dynamische bereik van signalen waarmee processors zonder vervorming kunnen werken veel kleiner voor processors met een vast punt (met verschillende decimale ordes). Met relatief eenvoudige verwerkingsalgoritmen maakt dit misschien niet uit, omdat Het dynamische bereik van feitelijke ingangssignalen is vaak kleiner dan wat de DSP toestaat, maar in sommige gevallen kunnen overflow-fouten optreden tijdens de uitvoering van het programma. Dit leidt tot fundamenteel niet-corrigeerbare niet-lineaire vervormingen in het uitgangssignaal, vergelijkbaar met vervormingen als gevolg van clipping in analoge circuits.

Daarom is het bij het kiezen van een DSP noodzakelijk om het verwerkingsalgoritme en de ingangssignalen zorgvuldig te analyseren om de bitdiepte en het type rekenkunde correct te selecteren. Soms, als het onmogelijk is om een ​​geschikte drijvende-kommaprocessor te selecteren (vanwege de hogere kosten of het stroomverbruik), wordt gebruik gemaakt van een vast-punt DSP en compressie van het dynamische bereik van de verwerkte signalen (compressie), maar dit leidt tot een toename van de complexiteit van het signaalverwerkingsalgoritme en hogere prestatie-eisen. Natuurlijk kunt u drijvende-kommabewerkingen emuleren op een processor met gehele rekenkunde of overschakelen naar het verwerken van dubbelbits getallen, maar dit maakt het programma ook aanzienlijk ingewikkelder en vermindert de prestaties aanzienlijk.

Ondanks alle beperkingen maken de meeste embedded applicaties gebruik van fixed-point processors vanwege de lagere kosten en het energieverbruik.

Het vergroten van het aantal bits verhoogt de kosten, de matrijsgrootte en het aantal vereiste processorpinnen, evenals de hoeveelheid vereist extern geheugen. Daarom streven ontwikkelaars ernaar een kristal te gebruiken met de laagst mogelijke bitcapaciteit.

Het is vermeldenswaard dat de databreedte en de bitdiepte van de processorinstructie niet altijd gelijkwaardig zijn.

Snelheid

De belangrijkste parameter bij het kiezen van een processor is snelheid. Het beïnvloedt de verwerkingstijd van het ingangssignaal en bepaalt daarom de maximale frequentie. Een van de meest voorkomende fouten die een ontwikkelaar maakt, is het gelijkstellen van klokfrequentie en prestaties, wat in de meeste gevallen verkeerd is.

Heel vaak wordt de snelheid van een DSP aangegeven in MIPS (miljoenen instructies per seconde). Dit is de gemakkelijkst te meten parameter.

Het probleem met het vergelijken van de snelheid van verschillende DSP's is echter dat processors verschillende instructiesystemen hebben, en dat verschillende processors verschillende aantallen van deze instructies nodig hebben om hetzelfde algoritme uit te voeren. Bovendien zijn soms verschillende aantallen klokcycli nodig om verschillende instructies op dezelfde processor uit te voeren. Als gevolg hiervan kan een processor met een snelheid van 1000 MIPS wel eens meerdere malen langzamer blijken te zijn dan een processor met een snelheid van 300 MIPS, vooral bij verschillende bitdieptes.

Eén oplossing voor dit probleem is het vergelijken van processors op basis van hun snelheid bij het uitvoeren van bepaalde bewerkingen, zoals MAC-bewerkingen (multiply-accumulate). De snelheid van dergelijke bewerkingen is van cruciaal belang voor algoritmen die gebruik maken van digitale filtering, correlatie en Fourier-transformaties. Helaas geeft een dergelijke beoordeling ook geen volledige informatie over de werkelijke prestaties van de processor.

De meest nauwkeurige schatting is de uitvoeringssnelheid van bepaalde algoritmen, bijvoorbeeld FIR- en IIR-filtering, maar dit vereist de ontwikkeling van geschikte programma's en een zorgvuldige analyse van testresultaten.

Rijst. 1 Vergelijking van de snelheid van moderne DSP's van verschillende fabrikanten

Er zijn bedrijven die processors analyseren en vergelijken op basis van hun belangrijkste kenmerken, waaronder snelheid. De leider onder dergelijke bedrijven is BDTI - Berkeley Design Technology, Inc. (www.bdti.com). Figuur 1 toont bijvoorbeeld een vergelijking van de snelheid van moderne DSP's van verschillende fabrikanten.

Het artikel bespreekt de belangrijkste parameters van digitale signaalprocessors (DSP's) en hun impact op de selectie van een geschikte chip, en beschrijft ook de huidige staat van de DSP-markt.

Bij het kiezen van schoenen willen we dat ze modieus, comfortabel en van hoge kwaliteit zijn, dus geven we de voorkeur aan bekende merken, bedrijven die al bekend zijn en verre van de laatste plaatsen op de markt bezetten. Nu moeten we beslissen: waar hebben we deze schoenen voor nodig? Als je 's ochtends gaat hardlopen, is het beter om sneakers te kopen, en voor een bedrijfsavond schoenen. Wat te dragen in de bergen? In dit geval heb je speciale sterke schoenen met harde zolen nodig - vibrams. Wat is erger dan DSP? Bij het kiezen van een digitale signaalprocessor zou het een goed idee zijn om een ​​idee te hebben van de bestaande DSP-markt, om de belangrijkste fabrikanten te kennen en de ontwikkelingsrichtingen van de processors die ze creëren.

DSP-processors zijn ontworpen om digitale signaalverwerking uit te voeren: wiskundige manipulaties van gedigitaliseerde signalen. Ze worden veel gebruikt in draadloze systemen, audio- en videoverwerking en besturingssystemen. Met de toename van het aantal applicaties dat DSP gebruikt en de complexiteit van verwerkingsalgoritmen, nemen ook de vereisten daarvoor in termen van verhoogde prestaties en apparatuur met interface en andere gespecialiseerde knooppunten toe. Tot op heden zijn er veel soorten DSP verschenen, zowel universeel als gericht op een vrij beperkt aantal taken.

Uiteraard is geen enkele processor geschikt voor alle toepassingen. Daarom is de eerste taak van de ontwikkelaar het selecteren van de processor die het meest geschikt is in termen van prestaties, prijs, beschikbaarheid van bepaalde randapparatuur, stroomverbruik, gebruiksgemak en andere criteria.

Voor draagbare apparaten zoals mobiele telefoons en draagbare digitale spelers zijn bijvoorbeeld de kosten, de integratie en het stroomverbruik van cruciaal belang, en zijn maximale prestaties vaak niet nodig (aangezien dit doorgaans een aanzienlijke toename van het stroomverbruik met zich meebrengt, zonder verwerkingsvoordelen te bieden in vergelijking met lage prestaties). audiogegevens met bitsnelheid).

Tegelijkertijd zijn voor hydro-akoestische of radarsystemen de bepalende parameters de werkingssnelheid, de aanwezigheid van snelle interfaces en een handig ontwikkelingssysteem, en zijn de kosten een secundair criterium. Bovendien is het in veel gevallen zinvol om rekening te houden met de marktplaats die de verwerkerleverancier inneemt, omdat Niet alle fabrikanten kunnen u een reeks processors bieden die aan al uw behoeften voldoen. Uit de huidige verdeling van de markt over toonaangevende leveranciers (zie Tabel 1) blijkt dat de vier bedrijven bovenaan de lijst ruim 80% van alle DSP's ter wereld leveren. Deze bedrijven zijn de bekendste op de Russische markt en hun producten worden vaak genoemd.

Tabel 1. Grote DSP-fabrikanten en hun marktaandelen

Marktleidende bedrijven Bedrijfsnaam DSP-marktaandeel
1 Texas-instrumenten 54,3%
2 Freescale halfgeleider 14,1%
3 Analoge apparaten 8,0%
4 Philips Halfgeleiders 7,5%
5 Agere-systemen 7,3%
6 Toshiba 4,9%
7 DSP-groep 2,2%
8 NEC Elektronica 0,6%
9 Fujitsu 0,4%
10 Intersil 0,3%
Andere bedrijven 0,5%
Totaal 100,0%

Er moet aan worden herinnerd dat DSP-fabrikanten bij het ontwerpen van nieuwe chips deze duidelijk positioneren voor gebruik in bepaalde toepassingen. Dit heeft invloed op hun architectuur, prestaties en de uitrusting van de processor met een of andere set randmodules. Tabel 2 toont de positionering van DSP’s vanuit het perspectief van hun makers.

Tabel 2. Toepassingsgebieden van signaalprocessorfamilies van verschillende fabrikanten

Videoverwerking, videobewaking, digitale camera's, 3D-graphics TMS320DM64x/DaVinci, TMS320C64xx, TMS320C62xx (TI), PNX1300, PNX1500, PNX1700 (Philips), MPC52xx (Freescale)
Audioverwerking, spraakherkenning, geluidssynthese TMS320C62xx, TMS320C67xx (TI), SHARC (analoge apparaten)
Draagbare media-apparaten TMS320C54xx, TMS320C55xx (TI), Blackfin (analoge apparaten)
Draadloos, telecommunicatie, modems, netwerkapparaten TMS320C64xx, TMS320C54xx, TMS320C55xx (TI), MPC7xxx, MPC86xx, MPC8xx PowerQUICC I, MPC82xx PowerQUICC II, MPC83xx PowerQUICC II Pro, MPC85xx PowerQUICC III (Freescale), Blackfin, TigerSHARC (analoge apparaten), PNX1300 (Philip s)
Aandrijfbesturing, stroomconversie, auto-elektronica, huishoudelijke artikelen, kantoorapparatuur TMS320C28xx, TMS320C24xx (TI), ADSP-21xx (analoge apparaten), MPC55xx, MPC55xx (Freescale)
Geneeskunde, biometrie, meetsystemen TMS320C62xx, TMS320C67xx, TMS320C55xx, TMS320C28xx (TI), TigerSHARC, SHARC (analoge apparaten)

Gegevensformaat en bitdiepte

Een van de belangrijkste kenmerken van digitale signaalprocessors is het formaat van de verwerkte gegevens. Alle DSP's werken met gehele getallen of getallen met drijvende komma, waarbij gehele getallen 16 of 32 bits breed zijn en getallen met drijvende komma 32 bits breed. Houd bij het kiezen van een gegevensformaat rekening met het volgende: Integer DSP-gegevens (of vaste-kommagegevens). ) is meestal goedkoper en biedt een grotere absolute precisie bij gelijke bitdiepte (aangezien alle 32 bits worden toegewezen aan de mantisse in een 32-bits processor met vast punt, maar slechts 24 in een processor met drijvende komma).

Tegelijkertijd is het dynamische bereik van signalen waarmee processors zonder vervorming kunnen werken veel kleiner voor processors met een vast punt (met verschillende decimale ordes). Met relatief eenvoudige verwerkingsalgoritmen maakt dit misschien niet uit, omdat Het dynamische bereik van feitelijke ingangssignalen is vaak kleiner dan wat de DSP toestaat, maar in sommige gevallen kunnen overflow-fouten optreden tijdens de uitvoering van het programma. Dit leidt tot fundamenteel niet-corrigeerbare niet-lineaire vervormingen in het uitgangssignaal, vergelijkbaar met vervormingen als gevolg van clipping in analoge circuits.

Daarom is het bij het kiezen van een DSP noodzakelijk om het verwerkingsalgoritme en de ingangssignalen zorgvuldig te analyseren om de bitdiepte en het type rekenkunde correct te selecteren. Soms, als het onmogelijk is om een ​​geschikte drijvende-kommaprocessor te selecteren (vanwege de hogere kosten of het stroomverbruik), wordt gebruik gemaakt van een vast-punt DSP en compressie van het dynamische bereik van de verwerkte signalen (compressie), maar dit leidt tot een toename van de complexiteit van het signaalverwerkingsalgoritme en hogere prestatie-eisen.

Natuurlijk kunt u drijvende-kommabewerkingen emuleren op een processor met gehele rekenkunde of overschakelen naar het verwerken van dubbelbits getallen, maar dit maakt het programma ook aanzienlijk ingewikkelder en vermindert de prestaties aanzienlijk.

Ondanks alle beperkingen maken de meeste embedded applicaties gebruik van fixed-point processors vanwege de lagere kosten en het energieverbruik. Het vergroten van het aantal bits verhoogt de kosten, de grootte van de chip en het aantal benodigde processorpinnen, evenals de benodigde hoeveelheid extern geheugen. Daarom streven ontwikkelaars ernaar een kristal te gebruiken met de laagst mogelijke bitcapaciteit.

Het is vermeldenswaard dat de databreedte en de bitdiepte van de processorinstructie niet altijd gelijkwaardig zijn.

Snelheid

De belangrijkste parameter bij het kiezen van een processor is snelheid. Het beïnvloedt de verwerkingstijd van het ingangssignaal en bepaalt daarom de maximale frequentie. Een van de meest voorkomende fouten die een ontwikkelaar maakt, is het gelijkstellen van klokfrequentie en prestaties, wat in de meeste gevallen verkeerd is. Heel vaak wordt de snelheid van een DSP aangegeven in MIPS (miljoenen instructies per seconde). Dit is de gemakkelijkst te meten parameter.

Het probleem met het vergelijken van de snelheid van verschillende DSP's is echter dat processors verschillende instructiesystemen hebben, en dat verschillende processors verschillende aantallen van deze instructies nodig hebben om hetzelfde algoritme uit te voeren. Bovendien zijn soms verschillende aantallen klokcycli nodig om verschillende instructies op dezelfde processor uit te voeren. Als gevolg hiervan kan een processor met een snelheid van 1000 MIPS wel eens meerdere malen langzamer blijken te zijn dan een processor met een snelheid van 300 MIPS, vooral bij verschillende bitdieptes.

Eén oplossing voor dit probleem is het vergelijken van processors op basis van hun snelheid bij het uitvoeren van bepaalde bewerkingen, zoals MAC-bewerkingen (multiply-accumulate). De snelheid van dergelijke bewerkingen is van cruciaal belang voor algoritmen die gebruik maken van digitale filtering, correlatie en Fourier-transformaties. Helaas geeft een dergelijke beoordeling ook geen volledige informatie over de werkelijke prestaties van de processor.

De meest nauwkeurige schatting is de uitvoeringssnelheid van bepaalde algoritmen, bijvoorbeeld FIR- en IIR-filtering, maar dit vereist de ontwikkeling van geschikte programma's en een zorgvuldige analyse van testresultaten.

Er zijn bedrijven die processors analyseren en vergelijken op basis van hun belangrijkste kenmerken, waaronder snelheid. De leider onder dergelijke bedrijven is BDTI - Berkeley Design Technology, Inc. (www.bdti.com). Figuur 1 toont bijvoorbeeld een vergelijking van de snelheid van moderne DSP's van verschillende fabrikanten.

Rijst. 1. Een voorbeeld van het vergelijken van de prestaties van verschillende DSP's met een vast punt

Geheugenorganisatie

De organisatie van het geheugensysteem van de processor heeft invloed op de prestaties. Dit komt door het feit dat belangrijke DSP-instructies multi-operand zijn en dat het versnellen van hun werking het gelijktijdig lezen van verschillende geheugencellen vereist. Een MAC-instructie vereist bijvoorbeeld twee operanden en de instructie zelf moet tegelijkertijd worden gelezen om in één klokcyclus te kunnen worden uitgevoerd. Dit wordt op verschillende manieren bereikt, waaronder het gebruik van meerpoortsgeheugen, opdeling in programmageheugen en datageheugen (Harvard-architectuur), gebruik van een opdrachtcache, enz.

De benodigde hoeveelheid geheugen wordt bepaald door de applicatie. Er moet rekening mee worden gehouden dat het geheugen dat in de processor is ingebouwd doorgaans een aanzienlijk hogere werksnelheid heeft dan het externe geheugen. Het vergroten van het volume verhoogt echter de kosten en het stroomverbruik van de DSP, en de beperkte hoeveelheid programmageheugen maakt het niet mogelijk om bestanden op te slaan. complexe algoritmen. Tegelijkertijd, als dit volume voldoende is voor uw doeleinden, kan de aanwezigheid van ingebouwd geheugen het ontwerp als geheel aanzienlijk vereenvoudigen en de omvang, het energieverbruik en de kosten ervan verminderen.

De meeste fixed-point DSP's die in embedded applicaties worden gebruikt, vereisen een klein intern geheugen, doorgaans 4 tot 256 KB, en een kleine externe databusbreedte.

Tegelijkertijd omvatten drijvende-komma-DSP's meestal het werken met grote datasets en complexe algoritmen en hebben ze een groot ingebouwd geheugen of grote adresbussen voor het verbinden van extern geheugen (en soms beide). We benadrukken nogmaals dat de keuze van het geheugentype en de grootte het resultaat moet zijn van een grondige analyse van de toepassing waarin de DSP wordt gebruikt.

Gemak van applicatie-ontwikkeling

De mate van ontwikkelingscomplexiteit wordt bepaald door de toepassing. Houd er rekening mee dat een groter gemak voor de ontwikkelaar (meestal geassocieerd met het gebruik van talen op hoog niveau bij het programmeren van DSP's) in de meeste gevallen resulteert in minder compacte en snellere code, wat resulteert in de noodzaak om krachtigere en dure DSP's. Aan de andere kant kan in moderne omstandigheden de snelheid van de ontwikkeling (en dus de introductie van een nieuw product op de markt) meer voordelen opleveren dan de tijd die wordt besteed aan het optimaliseren van code bij het schrijven van een programma in assembleertaal.

Bovendien moet eraan worden herinnerd dat er geen foutloze programma's bestaan, dus foutopsporingstools en de mogelijkheid om programma's op een kant-en-klaar apparaat te corrigeren zijn vaak van het allergrootste belang. Tegelijkertijd is het bij het kiezen van een DSP en ontwikkelingstools noodzakelijk om rekening te houden met enkele kenmerken van de processorarchitectuur.

Degenen die compilers op hoog niveau (HLL) gebruiken, merken soms dat ze betere code genereren voor drijvende-kommaprocessors. Dit gebeurt om verschillende redenen: ten eerste ondersteunen de meeste talen op hoog niveau niet standaard rekenkunde met een vast punt, ten tweede is de DSP-instructieset met een vast punt beperkter, en ten derde leggen drijvende-kommaprocessors over het algemeen minder capaciteitsbeperkingen op. gebruikt geheugen.

De beste resultaten worden verkregen bij het compileren van programma's in Java voor VLIW-processors (processors met een zeer lang instructiewoord) met een eenvoudig orthogonaal RISC-instructiesysteem en grote registerbestanden. Maar zelfs voor deze processors is de door de compiler gegenereerde code langzamer dan handmatig geoptimaliseerde assemblagecode. Aan de andere kant zorgt de mogelijkheid om eerst het signaalverwerkingsproces in een programma als MathLab te simuleren en de daaropvolgende automatische vertaling naar een DSP-programma ervoor dat je in de beginfase van de ontwikkeling veel ernstige fouten kunt wegwerken.

Het debuggen van voltooide programma's kan worden gedaan op een hardware-emulator van een voltooid systeem of op een softwaresimulator. Normaal gesproken is het debuggen op een simulator wat eenvoudiger in termen van de gebruikte hardware, maar je kunt er niet alle mogelijke fouten mee identificeren. Bijna alle fabrikanten bieden ontwikkelaars zowel simulatoren als emulators van hun DSP's. Bijna alle moderne DSP's ondersteunen in-circuit-emulatie volgens de IEEE 1149.1 JTAG-standaard. Bij het gebruik van JTAG-technologie gaan we van het emuleren van de processor met een extern apparaat naar het rechtstreeks besturen van de processor tijdens de uitvoering van het programma, waardoor we de mate van overeenstemming tussen de lay-out en het echte apparaat aanzienlijk kunnen vergroten en daardoor de betrouwbaarheid van de foutopsporingsproces.

Naast emulators bieden fabrikanten een breed scala aan zogenaamde ‘starterkits’ en ‘evaluatiemodules’ aan, waarmee u direct kunt beginnen met het ontwikkelen van een applicatie, zonder te wachten op de productie van een prototype van het apparaat dat wordt ontwikkeld. Bovendien kunnen sommige applicaties deze ontwikkeltools als eindpunten gebruiken.

Energieverbruik

DSP-processors worden veel gebruikt in mobiele apparaten waarbij het stroomverbruik een groot probleem is. Er worden veel methoden gebruikt om het energieverbruik te verminderen, waaronder het verlagen van de voedingsspanning en het introduceren van energiebeheerfuncties, zoals het dynamisch wijzigen van de klokfrequentie, het overschakelen naar de slaap- of stand-bymodus of het uitschakelen van randapparatuur die momenteel niet in gebruik is. Opgemerkt moet worden dat deze maatregelen een aanzienlijke invloed hebben op de snelheid van de processor en, als ze verkeerd worden gebruikt, kunnen leiden tot de onbruikbaarheid van het ontworpen apparaat (bijvoorbeeld sommige mobiele telefoons die soms niet meer konden worden ingeschakeld als gevolg van fouten in energiebeheerprogramma's) of tot een verslechtering van de prestatiekenmerken (bijvoorbeeld een aanzienlijke hersteltijd bij het verlaten van de slaapmodus).

Het schatten van het stroomverbruik is geen gemakkelijke taak, omdat deze waarde varieert afhankelijk van de taken die door de processor worden uitgevoerd. Helaas publiceren de meeste fabrikanten alleen ‘typisch’ en ‘maximaal’ verbruik, en wat met deze definities wordt bedoeld is niet altijd duidelijk. Een uitzondering is Texas Instruments, dat het energieverbruik weergeeft op basis van het instructietype en de processorconfiguratie.

Prijs

De kosten van de processor zijn ongetwijfeld een bepalende factor bij het kiezen van een DSP, vooral bij grote productievolumes. Normaal gesproken streven ontwikkelaars ernaar om de goedkoopste processor te kiezen, maar er moet rekening mee worden gehouden dat dit kan leiden tot aanzienlijke kosten voor het opnieuw ontwerpen van het apparaat als de geselecteerde processor om de een of andere reden niet de gewenste kenmerken bereikt. Bovendien moet bij het kiezen van een processor op basis van de kosten rekening worden gehouden met de kosten van externe componenten (een DSP met ingebouwd geheugen met voldoende capaciteit is bijvoorbeeld duurder dan een vergelijkbare zonder ingebouwd geheugen, maar de prijs van het apparaat als geheel daarop gebaseerd kan aanzienlijk lager zijn vanwege het ontbreken van andere componenten en kleinere PCB-afmetingen). Een zeer belangrijke factor die de kosten van een DSP beïnvloedt, is het type behuizing: IC's in keramische behuizingen die zijn ontworpen voor industriële of speciale bedrijfsomstandigheden zijn veel duurder dan dezelfde IC's die in een commercieel temperatuurbereik werken. En ten slotte hangt de prijs van een verwerker sterk af van het volume en de regelmaat van de leveringen.

Methodologie voor processorselectie

Zoals eerder is gebleken, is het kiezen van de juiste DSP sterk applicatieafhankelijk: een processor kan voor sommige toepassingen goed geschikt zijn, maar voor andere helemaal niet. Bij het kiezen van een processor moet u de belangrijkste kenmerken in een bepaald geval bepalen en deze in volgorde van belangrijkheid rangschikken. Selecteer vervolgens, in overeenstemming met deze criteria, mogelijke kandidaten en selecteer ten slotte de beste uit de geschikte kandidaten, waarbij u aandacht besteedt aan aanvullende, niet-kritieke kenmerken. In dit geval is het raadzaam om een ​​beoordeling van de processorkenmerken te gebruiken die is opgesteld door een gerenommeerd bedrijf (bijvoorbeeld BTDI). Houd er rekening mee dat BTDI DSP's niet alleen beoordeelt op snelheid, maar ook op basis van andere criteria: geheugenefficiëntie, energieverbruik, enz.

Om bijvoorbeeld een applicatie te implementeren zijn voor ons de belangrijkste zaken snelheid, prijs, geheugenefficiëntie en energieverbruik. We hebben de belangrijkste kanshebbers geïdentificeerd, waaronder DSP's met C64x- en C64x+-cores van Texas Instruments en TigerSHARC van Analog Devices. Figuur 2 toont een grafiek van de vergelijkende kenmerken van deze processors, gebaseerd op de criteria snelheid, kosten, energieverbruik en gemak van ontwikkeltools.


Rijst. 2. Diagram voor DSP-selectie

Nu prioriteiten. Als onze primaire behoeften hoge snelheid en een lage prijs zijn, kiezen we voor Texas Instruments. Als we een mobiel apparaat ontwerpen en we een laag stroomverbruik nodig hebben, en we bereid zijn snelheid op te offeren, nemen we analoge apparaten. Het is mogelijk dat de geselecteerde processors qua sleutelparameters zeer dicht bij elkaar liggen. In dit geval wordt de keuze bepaald door niet-kritieke kenmerken: beschikbaarheid van foutopsporingstools, eerdere ervaring van de ontwikkelaar, beschikbaarheid van componenten, enz.

Zorgvuldige selectie van een DSP in een vroeg stadium van de ontwikkeling kan helpen de onnodige kosten die gepaard gaan met het selecteren van de verkeerde DSP te elimineren en zowel de algehele ontwikkelingstijd als de tijd en kosten voor het identificeren van fouten te verminderen.

Literatuur

  1. Jeff Bier, Een processor kiezen: Benchmarks and Beyond (S043), Berkeley, Californië: Berkeley Design Technology, Inc., VS, 2006.
  2. Een DSP-processor kiezen, Berkeley, Californië: Berkeley Design Technology, Inc., VS, 2000.