Individální projekty MPOA

Mikroprocesory s architekturou ARM

Uživatelské nástroje

Nástroje pro tento web


2014:adc-to-matlab

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
2014:adc-to-matlab [2015/01/18 13:05]
Jan Novotný [Program pro MATLAB]
2014:adc-to-matlab [2015/01/18 21:22] (aktuální)
Jan Novotný [Výsledky]
Řádek 11: Řádek 11:
   *Periferie USB_OTG   *Periferie USB_OTG
 ====A/D převodník==== ====A/D převodník====
-Mikrokontrolér STM32F429ZIT nabízí tři vnitřní 12-bitové analogově-digitální převodníky,​ z nichž zde jsou využity dva, a to ADC1 a ADC2, každý pro vzorkování jednoho vstupního analogového kanálu. Přenos digitalizovaných dat do paměti je řešen přes DMA pro dosažení co největší rychlosti. Převodníky jsou nastaveny do tzv. Multimode Interleaved módu (prokládaný režim). Ten spočívá v tom, že výstupem každého převodníku jsou 16-bitová slova, ta jsou pak složena do 32-bitového slova, které je posláno přes DMA do paměti. 16-bitová slova jsou do 32-bitového slova organizována tak, že v horních 16 bitů obsahuje data z převodníku ADC2, spodních 16 bitů obsahuje data z převodníku ADC1. Tuto situaci znázorňuje následující obrázek:+Mikrokontrolér STM32F429ZIT nabízí tři vnitřní 12-bitové analogově-digitální převodníky,​ z nichž zde jsou využity dva, a to ADC1 a ADC2, každý pro vzorkování jednoho vstupního analogového kanálu. Přenos digitalizovaných dat do paměti je řešen přes DMA pro dosažení co největší rychlosti. Převodníky jsou nastaveny do tzv. Multimode Interleaved módu (prokládaný režim). Ten spočívá v tom, že výstupem každého převodníku jsou 16-bitová slova, ta jsou pak složena do 32-bitového slova, které je posláno přes DMA do paměti. 16-bitová slova jsou do 32-bitového slova organizována tak, že v horních 16 bitů obsahuje data z převodníku ADC2 (kanál č. 2), spodních 16 bitů obsahuje data z převodníku ADC1 (kanál č. 1). Tuto situaci znázorňuje následující obrázek:
 {{ :​2014:​adc-to-matlab:​ADC_reg.jpg?​650 |Seřazení výstupních registrů A/D převodníků v prokládaném režimu}} {{ :​2014:​adc-to-matlab:​ADC_reg.jpg?​650 |Seřazení výstupních registrů A/D převodníků v prokládaném režimu}}
 ====Kontrolér DMA==== ====Kontrolér DMA====
Řádek 166: Řádek 166:
  
  
-Na následujícím videu lze vidět navzorkování signálu. Nejprve se v MATLABu spustí funkce ''​Serial_2channel()''​ a pak se na Discovery kitu stiskne modré tlačítko, čímž se provede navzorkování a odeslání dat. Dokončení tohoto procesu je indikováno rozsvícením zelené LED diody a výsledné průběhy se pak objeví v grafu v MATLABu. +Na následujícím videu lze vidět navzorkování signálu. Nejprve se v MATLABu spustí funkce ''​Serial_2channel()''​ a pak se na Discovery kitu stiskne modré tlačítko, čímž se provede navzorkování a odeslání dat. Dokončení tohoto procesu je indikováno rozsvícením zelené LED diody a výsledné průběhy se pak objeví v grafu v MATLABu. Bohužel kvalita videa není dobrá, protože nebyl k dispozici přístroj poskytující dostatečnou kvalitu záznamu
-{{youtube>​1hZj2ThIF-E?​medium}}+{{ youtube>​1hZj2ThIF-E?​medium }}
 ---- ----
 =====Závěr===== =====Závěr=====
-Celkově je možno říci, že zadání se podařilo splnit. Vznikl dvoukanálový vzorkovač, který by teoreticky mohl být schopen vzorkovat signály až do kmitočtu 1MHz (A/D převodníky vzorkují s rychlostí 2,4 milionu vzorků za sekundu). Prakticky bude tato hodnota zřejmě nižší, ale vzhledem k určení vzorkovače by postačovala schopnost vzorkovat signály do kmitočtu 640kHz. Předností vzorkovače je využití periferie DMA, což zrychluje celý proces přenosu dat. Přenos navzorkovaných dat do PC a jejich vykreslení také funguje velmi dobře, ​z tohoto hlediska by však bylo ještě dobré vylepšit některé části programu v MATLABu, které ​se však týkají spíše čistoty kódu než jeho funkčnosti.+Celkově je možno říci, že zadání se podařilo splnit. Vznikl dvoukanálový vzorkovač, který by teoreticky mohl být schopen vzorkovat signály až do kmitočtu 1MHz (A/D převodníky vzorkují s rychlostí 2,4 milionu vzorků za sekundu). Prakticky bude tato hodnota zřejmě nižší, ale vzhledem k určení vzorkovače by postačovala schopnost vzorkovat signály do kmitočtu 640kHz. Předností vzorkovače je využití periferie DMA, což zrychluje celý proces přenosu dat. Přenos navzorkovaných dat do počítače ​a jejich vykreslení také funguje velmi dobře, ​díky vestavěným funkcím ​MATLABu, které ​např. umožňují ​čtení dat ze sériového portu ve zvoleném formátu, není třeba data nějak výrazněji upravovat nebo přeskládávat,​ což přispívá k přehlednosti kódu.
2014/adc-to-matlab.1421582758.txt.gz · Poslední úprava: 2015/01/18 13:05 autor: Jan Novotný