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

Hoe u microcontroller-randapparatuur kiest voor toepassingen voor digitale signaalverwerking

Dit artikel gaat verder met een bespreking van microcontrollerfuncties en -kenmerken die vooral belangrijk zijn als u denkt in termen van DSP-mogelijkheden.

Dit artikel gaat verder met een bespreking van de functies en kenmerken van microcontrollers die vooral belangrijk zijn als u denkt in termen van DSP-mogelijkheden.

Microcontrollers kunnen een handig en kosteneffectief middel zijn om digitale signaalverwerking op te nemen in wearables, medische apparaten, audioapparatuur en diverse andere producten en systemen. Microcontrollers zijn echter in de eerste plaats ontworpen voor (niet verrassend) het besturen van dingen, dus als we willen dat een MCU een effectieve signaalprocessor is, moeten we zorgvuldig kiezen.

Het vorige artikel was gericht op CPU-kenmerken, namelijk bitbreedte, klokfrequentie, klokcycli per instructie en drijvende-kommamogelijkheid. In dit artikel bekijken we randmodules en functies die een microcontroller geschikter maken voor DSP-functionaliteit.

Processorondersteuning

Sommige hardwaremodules nemen een middenweg in tussen de CPU en typische randapparatuur zoals timers en comparators. Een bekend voorbeeld is de hardwaremultiplier.

Hardwarevermenigvuldiging

Een hardwaremultiplier is het soort functie dat het verschil kan betekenen tussen succes en mislukking in een realtime DSP-systeem. Belangrijke DSP-toepassingen zoals digitale filtering en spectrale analyse vereisen talrijke vermenigvuldigingsbewerkingen, en deze moeten snel genoeg worden uitgevoerd om binnen een redelijke tijd resultaten te produceren (vanuit het perspectief van de gebruiker) of - en dit is wanneer dingen echt een uitdaging kunnen worden —met een snelheid die gelijk is aan of sneller is dan de snelheid waarmee gegevens van het externe systeem binnenkomen.

De driehoeken in deze FIR-filterstructuur vertegenwoordigen vermenigvuldigingsbewerkingen.

Aangezien een groot deel van de microcontroller-applicaties geen geavanceerde vermenigvuldigingsfunctionaliteit vereisen, heeft het meestal geen zin om een ​​vermenigvuldiger in de processorkern zelf op te nemen. De hardwarevermenigvuldiger is dus een aanvullende module die gegevens van de CPU ontvangt, zeer efficiënte vermenigvuldiging uitvoert en de resulterende gegevens vervolgens beschikbaar stelt aan de CPU.

Hardwarevermenigvuldigers gaan eigenlijk verder dan alleen vermenigvuldigen. DSP-routines vereisen vaak een proces dat bekend staat als vermenigvuldigen en accumuleren (MAC), waarbij (zoals je misschien al geraden hebt) het herhaaldelijk vermenigvuldigen van getallen en het optellen of optellen van de resultaten van de vermenigvuldigingsbewerkingen inhoudt. Een hardware MAC-module biedt nog meer mogelijkheden voor verbeterde DSP-prestaties.

De hardwarevermenigvuldiger die is ingebouwd in de MAXQ615, een kleine en goedkope microcontroller van Maxim, voert ondertekende en niet-ondertekende 16-bits vermenigvuldiging, 16-bits vermenigvuldigen-en-accumuleren en 16-bits vermenigvuldigen en aftrekken.

Directe geheugentoegang (DMA)

Ik hoorde voor het eerst over DMA toen ik aan een softwaregedefinieerde radio werkte die snel een decoderingsalgoritme moest uitvoeren op gedigitaliseerde basisbandsignalen, en die ervaring heeft me permanent de waarde van DMA in tijdgevoelige digitale signaalverwerking onder de indruk gebracht.

Een DMA-eenheid is in wezen een afzonderlijke processor die maar één taak heeft:gegevens verplaatsen. Deze taak is eenvoudig, dus het opnemen van DMA-functionaliteit in uw project verhoogt de complexiteit niet serieus, en het DSP-vermogen van het systeem neemt dramatisch toe omdat de CPU zich kan concentreren op het kraken van getallen in plaats van gegevens tussen geheugen en randapparatuur te schudden. Als uw toepassing rekenintensieve realtime DSP vereist, kan een DMA-controller een bijzonder waardevolle aanvulling zijn op de mogelijkheden van uw MCU.

Met de DMA-controller op een SAM4S-microcontroller (van Atmel) kon ik deze sinusoïde genereren zonder de CPU constant lastig te vallen om het volgende datapunt naar de DAC te sturen.

Communicatie

Digitale signaalverwerking vereist niet alleen een processor, maar ook digitale gegevens om te verwerken. In de meeste gevallen zullen deze digitale gegevens afkomstig zijn van buiten de microcontroller, en dit betekent dat gegevensoverdracht een cruciale schakel is in de DSP-keten.

Parallelle gegevensoverdracht

Ik hou van parallelle interfaces omdat ze eenvoudig zijn, althans in theorie, maar ze komen minder vaak voor dan je zou denken. Het gelijktijdig verzenden van acht of zelfs zestien bits lijkt veel efficiënter dan het verzenden van één bit tegelijk, maar seriële interfaces worden veel gebruikt, zelfs in hogesnelheidssystemen. Als parallelle gegevensoverdracht een optie is in uw systeem en u wilt het proberen, zoek dan naar een microcontroller met een "externe geheugeninterface" (EMI of EMIF), "externe businterface" (EBI), of iets in die richting .

Seriële gegevensoverdracht

I 2 C is geen snelle interface en standaard UART wordt meestal gebruikt voor lage of matige gegevenssnelheden. Zoek naar randapparatuur met hoge maximale kloksnelheden en die een extra signaal gebruiken voor synchronisatie tussen ontvanger en zender (hierdoor kan het datasignaal volledig worden besteed aan de daadwerkelijke gegevensoverdracht).

Ik geloof dat "USART" een vrij standaard afkorting is voor het soort seriële communicatiemodule dat ik beschrijf (de "S" staat voor "synchronous"). Wat ik hier aanbeveel, is een microcontroller die equivalent is aan TI's "multichannel buffered serial port" - de afkorting McBSP (uitgesproken als mic-BSP , alsof de module uit Ierland komt) is opgeslagen in mijn geheugen en zal voor altijd in mijn gedachten worden geassocieerd met snelle seriële gegevensoverdracht....

Foutcontrole

Toepassingen die robuuste foutdetectie vereisen, kunnen baat hebben bij een hardware CRC-module.

Dit is een diagram van de hardware CRC-module die is geïntegreerd in een EFM8 Laser Bee-microcontroller van Silicon Labs. Je voert het een reeks bytes in en het gebruikt een standaard CRC-polynoom om een ​​16-bits resultaat te genereren.

Conclusie

Ik denk echt dat microcontrollers de voorkeur hebben boven digitale signaalprocessors in veel DSP-toepassingen met lage en gemiddelde intensiteit, en ik hoop dat dit artikel u zal helpen microcontrollers te identificeren die op betrouwbare wijze de DSP-taken kunnen uitvoeren die uw projecten vereisen.

Vorige artikelen in de serie Inleiding tot microcontrollers:

  • 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 word je een digitale kampioen in productie
  2. Een microcontroller kiezen voor toepassingen voor digitale signaalverwerking
  3. Hoe moeten gegevensconverters worden gemodelleerd voor systeemsimulaties?
  4. Hoe digitale tweelingen de logistieke prestaties kunnen helpen verbeteren
  5. Hoe cloudanalyse de transformatie van de digitale supply chain kan versnellen
  6. Industrie 4.0-technologieën:tips voor het ontwikkelen van uw digitale strategie
  7. Hoe fabrikanten Analytics kunnen gebruiken voor een betere klantervaring
  8. Hoe u de beste IIoT-oplossing kiest voor de productie van zwaar materieel
  9. De juiste sensor kiezen voor het vullen van applicaties
  10. Intel Edison IoT:hoe u de Intel Edison kiest voor uw IoT-prototype?
  11. Een project voor automatisering kiezen