Individální projekty MPOA

Mikroprocesory s architekturou ARM

Uživatelské nástroje

Nástroje pro tento web


2017:fn-generator

Toto je starší verze dokumentu!


Zadání

Na vhodné architektuře (STM32F407) implementujte algoritmus schopný přes DA převodník generovat základní funkční signály v pásmu minimálně do 50kHz (AUDIO). Generátor umožní regulovat kmitočet, amplitudu a stejnosměrný offset výstupního signálu. Dále implementujte vhodné ovládání (LCD, tlačítka, rotační kodér apod.) pro pohodlné řízení generátoru. Pro FW procesoru realizujte vhodnou HW nadstavbu s potřebnými analogovými obvody včetně napájení.

Vypracoval: Martin Lelek


Úvod

Jedná se o prototyp generátoru určeného pro generování signálů sinus, pila a obdélník. Rozlišení použitého DA převodníku činí 16 bitů, komunikace probíhá skrz sběrnici SPI pomocí tří vodičů. Generátor umožňuje regulaci amplitudy a stejnosměrného offsetu. Regulace těchto dvou parametrů je zprostředkována dvojicí digitálních potenciometrů. Potenciometry mají rozlišení 8 bitů, umožňují u obou parametrů regulační krok 2 mV.

Analogový front-end včetně ovládací nadstavby a kompletního napájení byl realizován jako samostatná deska plošných spojů umožňující nasunutí na vývojový kit STM32F407 Discovery.


Hardware

Generátor je realizován s pomocí vývojového kitu STM32F407 Discovery. Kit vyrábí dobře známá firma ST Microelectronics. Jedná se o vývojový kit osazený procesorem STM32F407, jež je založen na jádru ARM Cortex M4. Jádro je schopno běžet na kmitočtu 168 MHz. Procesor disponuje vysokým počtem GPIO a dostatečně velkou pamětí RAM a FLASH.

Ovládání

Rozšiřující modul pro zmíněný vývojový kit je osazen běžným alfanumerickým LCD o rozměrech 2×16 znaků s klasickým řadičem HD44780. Po pravé straně LCD jsou rozmístěny do kříže čtyři tlačítka sloužící pro ovládání.

Napájení

Napájení modulu je realizováno z 5V a 3V3 sběrnice, které jsou na vývojovém kitu zdvojeně vyvedeny společně s GND na prvních šest pinů lišty P2. Větev 3V3 je využita pro napájení logických sekcí použitých integrovaných obvodů, větev 5V pak přímo pro napájení použité LCD, jež toto napájení vyžaduje, logické hodnoty datových pinů jsou však s větví 3V3 kompatibilní, propojení s MCU na vývojovém kitu tedy nepředstavuje potíže.

Analogová část vyžaduje symetrické napájení +-5V, dále pak referenční napětí +-2,5V. Záporné napájecí napětí -5V je získáváné z kladné větve 5V pomocí známého měniče 34063 fy ON Semi. Měnič invertující topologii umožňuje, pracovní kmitočet měniče se na výstupu celého zařízení nijak neprojevuje, neboť použité obvody mají poměrně vysoký PSRR.

Referenční napětí +-2,5V je ze symetrických 5V větví získáváno pomocí komplementární dvojice lineárních nízkošumových stabilizátorů LM317 a LM337 v pouzdru TO92. Z důvodu nedostatku zbožíčka v obchodu GME na Náměstí svobody v Brně byly však v prototypu pro tato referenční napětí použity obvody TL431, jež bez přidaného děliče slouží jako Zenerovy diody s potřebným napětím. Potřebné předřadné rezistory 82R byly na již vyrobené DPS dobastleny.

D/A

Jako DA převodník byl ze šuplíkových zásob vybrán obvod AD5260 fy Analog Devices. Jedná se o převodník komunikující po sběrnici SPI pomocí tří vodičů (jednosměrná komunikace). Převodník disponuje rozlišením 16b, má vnitřně separovanou digitální a analogovou část. Digitální část je napájena z větvě 3V3, analogová pak z větve 5V. Převodník umožňuje na výstupu dosáhnout napětí až 4V, jako (samostatná) reference byl zvolen obvod TL431 nastavený na 2,5V, což je hodnota udávající peak - peak napětí výstupu AD převodníku. Pin Chip Select je připojen na GPIO PC9, jež je namapovaný na výstup timeru 3. Tento slouží pro generování CS pulzů a pro obsluhu odesílání SPI dat.

Regulace amplitudy a DC offsetu

Výstup AD převodníku je bufferován pomocí precizního superrychlého RRIO operačního zesilovače ADA4807 též fy Analog Devices. Operační zesilovač má nastavený zisk x2, čímž se dosáhne napětí peak - peak signálu 5V. Zesílený signál je veden na první digitální potenciometr AD5260, též od zmíněné společnosti. Digitální potenciometr AD5260 má opět separovanou digitální a analogovou část, umožňuje symetrické napájení. Digitální část je napájena z větve 3V3, analogová z větve 5V.

Signál z prvního digitálního potenciometru je přes vazební kondenzátor 10uF sloučen s výstupem druhého digitálního potenciometru přes rezistor 10k. Druhý potenciometr má analogovou část napojenou na symetrické větve +-5V, kraje dráhy potenciometru pak vedou na symetrické referenční napětí +-2,5V. Potenciometr v rozsahu referenčního napětí na výstupu reguluje stejnosměrný offset, jež je přičítán k signálu z prvního potenciometru.

Tento sloučený výstup je poté bufferován opět operačním zesilovačem ADA4807, jež je napájen ze symetrických větví +-5V. Operační zesilovač je na výstupu schopen dodat proud až 50mA. Výstup je realizován pomocí reverzního SMA koaxiálního konektoru.

Zmíněný digitální potenciometr AD5260 komunikuje po sběrnici SPI. Disponuje vstupem DI a výstupem DO, potenciometry a jiná zařízení lze na tuto sběrnici serializovat a sloučit tak vstupy Chip Select. Jinak tomu není ani zde - první digitální potenciometr je svým datovým vstupem připojen na SPI sběrnici stejně, jako použitý DA převodník. Na výstup DO tohoto potenciometru je připojen potenciometr druhý, Chip Select piny jsou pak spojeny a ovládány skrz pin PD7.

Kompletní schema zapojení:


2017/fn-generator.1515963549.txt.gz · Poslední úprava: 2018/01/14 21:59 autor: Martin Lelek