Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Industriële technologie

Een microcontroller kiezen voor toepassingen voor digitale signaalverwerking

In dit artikel worden de functies besproken waar u op moet letten wanneer u een MCU nodig hebt om zowel als systeemcontroller als digitale signaalprocessor te fungeren.

In dit artikel worden de functies besproken waar u op moet letten wanneer u een MCU nodig hebt om zowel als systeemcontroller als digitale signaalprocessor te fungeren.

Digitale signaalverwerking kan waardevolle functionaliteit toevoegen aan een breed scala aan producten en toepassingen. Zelfs ontwerpen die worden beperkt door kosten, vormfactor of planning kunnen gemakkelijk de voordelen van DSP opnemen, omdat ingenieurs tegenwoordig toegang hebben tot een overvloed aan bibliotheekcode, voorbeeldprojecten en krachtige processors die zowel goedkoop als relatief gebruiksvriendelijk zijn .

Een echte digitale signaalprocessor, zoals een onderdeel uit de C5000-familie van Texas Instruments of de SHARC-familie van Analog Devices, kan een intimiderend apparaat zijn. Ik heb voornamelijk met DSP's van Texas Instruments gewerkt en over het algemeen was de ervaring productief en bevredigend. In dat geval hoefde ik de printplaat echter niet te ontwerpen en genoot ik niet van het proces om vreemde systeemcrashes te debuggen en de details van het besturingssysteem te begrijpen.

Het lijdt geen twijfel dat bepaalde rekenintensieve DSP-taken een echte digitale signaalprocessor of zelfs een FPGA vereisen. Het is echter ook zo dat in tal van toepassingen een goed gekozen microcontroller zou volstaan. In dit artikel worden de kenmerken en mogelijkheden besproken waarop u zich moet concentreren als u ervoor wilt zorgen dat uw MCU voldoende DSP-vermogen heeft.

8-bits, 16-bits of 32-bits?

Dit probleem is minder eenvoudig dan je zou denken. Over het algemeen zijn 16-bits en 32-bits apparaten geschikter voor DSP-toepassingen. Bij digitale signaalverwerking zijn wiskundige procedures nodig die vaak tot grote getallen leiden, en je wilt een processor die deze grote getallen direct kan manipuleren.

8-bits verwerking is echter niet per se slecht, en als je weet dat je te maken krijgt met een beperkt aantal digitale waarden, kan een 8-bits microcontroller een goede keuze zijn.

Bovendien hebben ingenieurs vaak niet de tijd of de neiging om de low-level details van een processor te bestuderen, en bijgevolg kan het moeilijk zijn om een ​​duidelijk verband te leggen tussen de gespecificeerde bitbreedte en de daadwerkelijke rekenefficiëntie. Heeft een "32-bits microcontroller" bijvoorbeeld 32-bits registers? Een 32-bits ALU? Een 32-bits adresbus? Een 32-bits communicatie-interface? Wat betekent "32-bits" precies? Deze details kunnen van invloed zijn op je beslissing, vooral als je verwacht dat je voornamelijk te maken hebt met kleine aantallen die al die extra bits niet nodig hebben.

Deze gemoderniseerde 8-bits architectuur is ontwikkeld door Silicon Labs (diagram uit dit document). Ze waarschuwen tegen de aanname dat een 16-bits of 32-bits apparaat consequent beter zal presteren dan een 8-bits apparaat.

Kloksnelheid

De maximale klokfrequentie van een microcontroller is zeker een goede indicatie van zijn verdiensten als digitale signaalprocessor. Het is echter essentieel om het verschil te begrijpen tussen klokcycli per seconde en instructies per seconde. De processor voert DSP-taken uit door instructies uit te voeren, en bijgevolg wordt zijn prestatie beïnvloed door zowel de klokfrequentie als het aantal klokcycli dat nodig is om instructies uit te voeren.

Helaas wordt dit probleem al snel nogal ingewikkeld. Het aantal klokcycli dat nodig is voor een instructie varieert van instructie tot instructie, en het gemiddelde het aantal klokcycli per instructie kan worden verminderd door gebruik te maken van een pijplijnarchitectuur. Vervolgens moet u rekening houden met de hoeveelheid "functionaliteit per instructie", dat wil zeggen dat Microcontroller A misschien maar één instructie nodig heeft om iets te doen waarvoor meerdere instructies op Microcontroller B nodig zijn.

Dit diagram geeft het concept van een pijplijnprocessor weer. Zie dit artikel voor meer informatie. Colin ML Burnett [CC-BY-SA-3.0].

Hier is mijn verkorte aanbeveling:als je apparaten uit dezelfde familie vergelijkt, kies dan voor de hogere klokfrequentie. Als je apparaten vergelijkt met grote architecturale verschillen, probeer dan een betrouwbare specificatie te vinden die ofwel de uitvoeringssnelheid van de instructie (uitgedrukt als MIPS, miljoenen instructies per seconde) of het gemiddelde aantal klokcycli per instructie aangeeft.

Vaste-komma versus drijvende komma

De term "drijvende komma" verwijst naar een numerieke weergave waarin het wortelpunt kan "zweven" omdat het getal bestaat uit een geheel getal (de mantisse) en een exponent. Het alternatief ("fixed-point") komt overeen met de manier waarop we de gegevens doorgaans verwerken en waarnemen in een normale microcontroller. Een zorgvuldige vergelijking tussen rekenkunde met drijvende komma en rekenkunde met vaste komma is geenszins een eenvoudige taak, maar er lijkt een consensus te zijn dat verwerking met drijvende komma superieur kan zijn in wiskundig intensieve toepassingen.

Ik denk dat het veilig is om te zeggen dat alle microcontrollers fixed-point devices zijn, want als het echt een floating-point processor is, is het naar mijn mening geen microcontroller meer. Als u echter echt vastbesloten bent om uw wiskundige prestaties te maximaliseren terwijl u binnen het domein van de microcontroller blijft, moet u een apparaat overwegen dat een drijvende-komma co bevat. processor.

De LPC3180FEL320 van NXP, een 16/32-bit Arm-gebaseerde microcontroller, heeft een floating-point coprocessor en kan tot 220 MIPS halen. STMicroelectronics heeft ook STM32-microcontrollers met een floating-point unit (FPU).

Ik heb wiskunde met drijvende komma gebruikt in mijn project met cirkelvormige aanraaksensoren. In de meeste gevallen is een aparte FPU niet nodig:compilers zijn goed in het implementeren van variabelen met drijvende komma in typische microcontrollers.

Samenvatting

In dit artikel hebben we CPU-kenmerken onderzocht die een microcontroller min of meer geschikt maken voor DSP-toepassingen. Ik denk dat het in de meeste situaties logisch is om je te concentreren op bitbreedte en MIPS - je hoeft je niet veel zorgen te maken over drijvende-komma versus vaste-komma, tenzij je van plan bent om serieus met cijfers te werken met je MCU. We gaan verder met dit onderwerp in het volgende artikel, waarin DSP-gerelateerde randapparatuur wordt besproken.

Inleiding tot de serie microcontrollers

Dit artikel maakt deel uit van een grotere serie. De rest van de artikelen vindt u hieronder:

  • Wat is een microcontroller? Een inleiding tot de centrale component in talloze elektronische apparaten
  • Hoe u de juiste microcontroller voor uw toepassing kiest
  • Hoe een microcontroller-gegevensblad te lezen:inleiding en eerste stappen
  • Een microcontroller-gegevensblad lezen:de hardware verkennen

Industriële technologie

  1. Hoe u microcontroller-randapparatuur kiest voor toepassingen voor digitale signaalverwerking
  2. Hoe AI sociale afstand voor digitale bedrijfstransformatie mogelijk maakt
  3. Hoe een betrouwbare CNC-bewerkingswinkel voor CNC-onderdelen te kiezen?
  4. Hoe u de beste IIoT-oplossing kiest voor de productie van zwaar materieel
  5. Hoe u zich kunt voorbereiden op Industrie 4.0
  6. De juiste sensor kiezen voor het vullen van applicaties
  7. Hoe een proportionele klep voor medische hulpmiddelen te kiezen?
  8. Hoe u een Scan-Pac-leverancier kiest voor uw wrijvingsmaterialen
  9. Intel Edison IoT:hoe u de Intel Edison kiest voor uw IoT-prototype?
  10. Hoe kies je de juiste frees en programmering voor CNC?
  11. Een project voor automatisering kiezen