DMA digitális-analóg konverzió SAM4S mikrokontrollerrel: Az időzítő / számláló

THE BEST Multimeter tutorial (HD) (Július 2019).

$config[ads_text] not found
Anonim

DMA digitális-analóg konverzió SAM4S mikrokontrollerrel: Az időzítő / számláló


A jelen cikk első részében a SAM4S időmérő / számláló perifériája a DAC mintavételi sebességének pontos szabályozására összpontosít.

segítő információ

  • Bevezetés a projektfejlesztésbe az Atmel SAM4S Xplained Pro programmal
  • Bevezetés a digitális-analóg konverzióhoz

Szükséges hardver / szoftver

  • SAM4S Xplained Pro értékelő készlet
  • Atmel Studio

Valódi DAC

Ha elolvasta a legutóbbi cikkemet, amelyben elemzem az impulzus-szélesség-moduláció-alapú digitális-analóg átalakító teljesítményét, tudjátok, hogy a PWM DAC-ok messze nem lenyűgözőek. Azonban a PWM DAC él, részben azért, mert (ahogy egy másik cikk ugyanazon témában említi) sok mikrokontroller nem tartalmaz dedikált DAC hardvert. Ez a viszonylag gyakori "DAC hiánya" - azzal az általános vonakodással, hogy bonyolítaná a külső alkotóelemeket, amelyek alaptalanul szükségtelenné válnának, ha az IC gyártók olyan kedvesek lennének, hogy a mikrovezérlőket pontosan úgy kívánják, ahogyan azt szeretném - magyarázza nagy megelégedésem találok magam egy mikrokontrollerrel, amely valóban rendelkezik egy valódi DAC-val. Ez az elégedettség új magasságokat ér el a SAM4S sorozatú készülékekkel, amelyek nem egy, hanem két digitálisan vezérelt analóg kimenetet biztosítanak.

A projekt célja, hogy szinusz hullámot generáljon a SAM4S DAC modul segítségével. Ez a feladat önmagában nem elegendő a SAM4S adatlap, az Atmel Software Framework (ASF), az ASF dokumentáció és a mikrokontroller tényleges hardvere közötti kissé labirintus viszonynak köszönhetően. Ez a kétségtelenülés ellenére egy lépéssel tovább haladunk, ha a DAC-t a CPU utasítások helyett a közvetlen memória hozzáféréssel (DMA) továbbítjuk. Többet fogunk mondani a DMA-ról a 3. részben.

Bár szeretem nézni a szinusz hullámokat az én oszcilloszkóp, ez a projekt nem igazán vége önmagában. Inkább: 1) a fontos SAM4S képességek feltérképezésére alkalmas eszköz, nevezetesen a precíziós időzítés / számolás, a DMA és az integrált digitális-analóg konverzió; és 2) olyan projektek alapja, amelyek szinkron, CPU-hatékony digitális-analóg átalakítást igényelnek, például hangjelek szintetizálása vagy alapsávú hullámformák generálása egy szoftver által meghatározott rádióhoz.

Szabadon futó vagy indított

A DAC használatával egyszerűen írhat értéket a DAC konverziós adatregiszterének. Ezt szabadon futó üzemmódnak hívják. Az analóg kimeneti feszültség frissül, amint az adatokat írja (valójában 25 DAC órajelzés után írja le az adatokat a DAC hardver részleteit a 2. részben). Ez egyes alkalmazásoknál jó, de az időszakos jelek (például a szinuszos jelek) pontos szintéziséhez gondoskodnunk kell arról, hogy az összes kimeneti feszültség-frissítést azonos intervallumokkal elválasszuk. Ebből a célból olyan kiváltott módot használunk, amelyben a konverziós adatregiszterbe való írás valójában nem módosítja a kimeneti feszültséget, amíg a DAC hardvert külön időzítő jel nem indítja. A SAM4S adatlap (1124. oldal) ezt a "külső" kifejezést jelenti, ami kicsit félrevezető - tapasztalatom szerint a "külső" általában a "chipen kívüli" kifejezést jelenti, míg ebben az esetben azt jelenti, hogy "kívülről van a DAC modul". Itt a trigger-jel opciók:

Amint a képen látható, ez az 1-es csatlakozó az A15-es csatlakozóhoz csatlakozik, és a SAM4S-adatlap (52. oldal) azt mondja, hogy a PA15 jelű TIOA1 jelet tudjuk vezetni a B perifériás csatlakozóhoz csatlakoztatva:

Most, hogy mintavételezési jelünket éppen úgy választjuk ki, hogy készen állunk arra, hogy felgyújtsuk a DAC-t. A következő cikkben megismerkedhetünk a SAM4S DAC vezérlő (DACC) perifériájával, a DAC saját elektromos jellemzőivel és az ASF DACC moduljával.

A következő cikk a sorozatban: A SAM4S digitális-analóg átalakító megértése és használata

Adja meg ezt a projektet magának! Szerezd meg a BOM-ot.