Čeština / English
Login

Aplikace / Generátor napětí

Autor: Josef Strnadel ()

Abstrakt: Generátor ss napětí se zvolenou hodnotou

Update: 20090417

1. Popis aplikace

Pomocí DA převodníku dostupného na mikrokontroléru aplikace umožňuje generovat ss napětí o zvolené hodnotě. Napětí je měřitelné mezi vyvodem 31 (konektoru JP9) a zemí FITkitu.

example.png

Obrázek 1.1: Výstup z obrazovky osciloskopu: 775 mV (vlevo) a 1500 mV (vpravo)

2. Příkazová řádka aplikace

Požadovanou hodnotu napětí je možno zadat pomocí příkazu mV, jehož parametrem je celočíselná hodnota (předpokládaná v rozmezí mV_MIN = 0mV_MAX = 2500 mV) udávající hodnotu ss napětí, které má být generováno.

Napětí je generováno na 0. kanálu DA převodníku mikrokontroléru. Tento kanál je vyveden na pin č. 31 knektoru JP9 - tzn. generované napětí je možno měřit mezi tímto pinem a zemí.

3. Práce s DA převodníkem

Nastavení DA převodníku

DA převodník převádí n-bitový (tj. číslicový, v našem případě n=12) vzorek na napětí ve zvoleném rozsahu (tzv. referenčního napětí, v našem případě 0 V - 2,5 V). Tento převod je lineární, přičemž hodnotě 0x000 (0 na 12 bitech) odpovídá 0 V a hodnotě 0xfff (samé 1 na 12 bitech) 2,5 V. Referenční napětí můžeme nechat násobit 1x (náš případ) nebo 3x.

Jinou konfiguraci DA převodníku (8-bitový režim, referenční napětí 1,5 V) můžete nalézt v aplikaci Generátor signálů.

Ve funkci main je DA převodník nastaven takto:

int main(void)
{
  ...
  ADC12CTL0 |= 0x0060;    // nastaveni referencniho napeti na 2,5 V
  DAC12_0CTL |= 0x0060;   // nastaveni kontrolniho registru DAC (12-bitovy rezim, medium speed)
  DAC12_0CTL |= 0x100;    // referencni napeti nasobit 1x
  ..
}

Volba hodnoty napětí

Ve funkci decode_user_cmd je hodnota mV zadaná na příkazové řádce (a uložená do celočíselné proměnné mili_volts) přepočtena na hodnotu 12-bitového vzorku pomocí vztahu:

DAC12_0DAT = 4095*((double)mili_volts/(mV_MAX - mV_MIN));   // preved mV na 12-bitovy vzorek

Kompletní zdrojové kódy je možné nalézt v souboru mcu/main.c.

4. Zprovoznění aplikace

  1. přeložte aplikaci

  2. naprogramujte MCU a FPGA a spusťte terminálový program.

  3. generovaný signál je měřitelný mezi vývodem 31 konektoru JP9 a zemí

Zobrazeno: 894x Naposledy: 17.9.2017 12:32:49