FREESCALE TECHNOLOGY APPLICATION 2013 – 2014
SYSTÉM PRO MĚŘENÍ FREKVENČNÍ CHARAKTERISTIKY
PETR LUKAŠÍK
Úvod Předmětem této práce je mikropočítačový systém pro měření amplitudové frekvenční charakteristiky. Systém umožňuje analyzovat frekvenční charakteristiku v rozsahu 20Hz až 20kHz. Naměřená data jsou zobrazována na barevném grafickém TFT displeji. Naměřená data je také možno exportovat do PC přes USB port. Systém se po hardwarové stránce dějí na dvě základní části – generátor tónů a analyzátor. Pro zamezení zemních vyrovnávacích proudů je nutné generátor galvanicky oddělit od analyzátoru. Po galvanickém oddělení není nutné, aby byla zem generátoru a analyzátoru na stejné napěťové úrovni. Generátor je řízen přes sériovou SCI sběrnici. Aby bylo dodrženo galvanické oddělení je tato sběrnice oddělena optočlenem. Vyhodnocování frekvenční charakteristiky je prováděno na 34 kmitočtech, které jsou odstupňovány v logaritmické míře tak, aby obsáhly celé měřené pásmo. Systém komunikuje s PC přes USB port, na kterém je vytvořen virtuální COM port. Tato komunikační linka je opět galvanicky oddělena optočleny.
Obr. 1: Blokové schéma systému
2
Generátor Činnost generátoru zabezpečuje MCU Freescale MC9S08AC60, který na základě dat přijatých přes SCI sběrnici generuje příslušný tón. Součástí generátoru je také impedanční zesílení výstupního signálu, aby bylo možné připojit měřený objekt o malé vstupní impedanci. Výstup generátoru je dimenzován až na zátěž Z
4 . Výstupní napětí je řízeno příslušným
příkazem odeslaným přes SCI sběrnici. V tabulce 1. jsou uvedeny nastavitelné úrovně výstupního napětí z generátoru. Tab. 1: Úrovně efektivní hodnoty napětí na výstupu generátoru č. výstupu
P [W] pro Z = 4ohm
Uef [V] 1 2 3 4 5 6 7 8*
0.1 0.2 0.5 1 2 2.83 4 5
* pouze pro impedance Z
8
0.003 0.010 0.063 0.250 1.00 2.00 4.00 ND
P [W] pro Z=8ohm 0.001 0.005 0.031 0.125 0.50 1.00 2.00 3.13
Jednotlivé tóny jsou generovány DA převodníkem. Každá perioda tónu je sestavena s minimálně 100 vzorků. Jelikož je měření prováděno až do 20kHz jsou pro DA převodník kladeny velké nároky na rychlost. Při 20kHz a 100 vzorcích na periodu je potřebná rychlost generování vzorků : f SAMP
f SIG n
20 000 100
2 000 000 Hz
2MHz
Pro takto vysoké rychlosti byl využit 8 bitový DA převodním s paralelním číslicovým vstupem TLC7524. Z hlediska softwarového vybavení není možné dosáhnout takto velké rychlosti s ohledem na přesné časování kódem, který je přeloženým z jazyka C. Proto musely být vzorky pro kmitočty nad 1kHz vytvořeny přímo v assembleru. Pro kmitočty pod 1kHz bylo možné psát kód v jazyku C a pro přesné časování vzorků využít obsluhu přerušení časovače. Pro frekvenční vyhlazení tónů je generátor vybaven kmitočtovým filtrem s dolní propustí. Prakticky je filtr realizován přidáním kondenzátoru do zpětné vazby operačního zesilovače. Změna kmitočtu zlomu filtru je provedena analogovým přepínačem HEF4051, který přepíná jednu z 8 kapacit. Schéma je uvedeno na obrázku 2.
3
Obr. 2: Filtr s nastavitelnou dolní propustí Výstupní napětí je opět řízeno analogovým přepínačem HEF4051, který přepíná jednotlivé napětí z odporové sítě. Jelikož je nutné přesně definovat jednotlivé výstupní napětí generátoru, musí být použity přesné hodnoty rezistorů. Toho však nelze docílit s použitím standardních rezistorových řad E12 ani E24. Z toho důvodu musela být každá hodnota sestavena ze dvou rezistorů. Schéma je uvedeno na obrázku 3.
Obr. 3: Elektronické nastavení úrovně výstupního napětí
4
Vstupní část analyzátoru Hlavním úkolem vstupní části je impedančně a napěťově přizpůsobit vstupní signál tak, aby mohl být zpracován v AD převodníku. Napěťovou citlivost vstupní části je možné softwarově měnit. K tomu je využit analogový přepínač DG408, který přepíná rezistory ve zpětné vazbě operačního zesilovače. Schéma je uvedeno na obrázku 4. Tab. 2: Nastavitelné úrovně vstupu analyzátoru č. rozsahu 1 2 3 4 5 6 7
rozsah 5V 2V 1V 500mV 200mV 100mV 50mV
Obr. 4: Přepínač vstupní napěťové citlivosti
5
Veškeré řízení analyzátoru a vyhodnocování naměřených dat je prováděno MCU Freescale MKL25Z128VLK4. Pro jednodušší výrobu DPS byl MCU využit na vývojové desce Freedom board FRDM-KL25Z. MCU obsahuje 16 bitový AD převodník, s kterým lze bez problémů dosáhnout odebrání vzorku za cca 0,8us a převod za cca 2.5us.
Vyhodnocení naměřených dat Pro matematické zpracování naměřených dat je využita Diskrétní Fourierova Transformace (DFT), která v tomto konkrétním případě zpracovává N
128 vzorků signálu. Z toho plyne
rozlišitelnost jednotlivých složek spektra : f ROZLIŠ
Při f SAMP
f SAMP N
64kHz je tedy možno rozlišit kmitočty po 500Hz. Takováto rozlišitelnost je však
pro nízké kmitočty nevyhovující. Proto je pro nejvyšší měřené kmitočty využito již zmíněných f SAMP
f SAMP
64kHz
6.4kHz a f SAMP
na f SIG _ MAX
a pro nižší kmitočty je použito nižších rychlostí tj.
640 Hz . Pro dodržení vzorkovacího teorému je nutné signál omezit
f SAMP / 2 . V tomto konkrétním případě je možno filtr vynechat, protože je
signál přesně definován generátorem tónů.
6
Použité mikrokontrolery MKL25Z128VLK4 MKL25Z128VLK4 je 32 bitový MCU z rodiny Kinetis L. Jádro je postaveno na architektuře ARM Cortex-M0+. Frekvence jádra může běžet až na 48MHz. MCU má integrovanou 128kB paměť pro program a 16kB paměti RAM. MCU se vyznačuje orientací na analogový signál. Obsahuje rychlý 16 bitový AD převodník, 12 bitový DA převodník a komparátor signálů. Pro snadnou implementaci MCU do systému je využita vývojová deska Freedom FRDMKL25Z. Přímo na desce je umístěn USB programátor, což velmi usnadňuje vývoj systému.
Rodina MCU - Kinetis L 32-bit Architektura jádra - ARM Cortex-M0+ - 48MHz frekvence MCU Paměť - 128kB Flash - 16kB RAM Analogové periferie - 1x ADC s rozlišením 16 bitů - 1x DAC s rozlišením 12 bitů - 1x komparátor Komunikační periferie - 3x UART (1x Low Power) - 2x SPI - 2x I2C - 1x USB Čítače / časovače - 2x 2 kanálový 16bitový čítač - 1x 6 kanálový 16bitový čítač - 1x nízko-příkonový čítač - 1x Periodické přerušení Další parametry - Napájecí napětí : 1.71 až 3.6 - 66 I/O pinů
7
MC9S08AC60 Mikropočítač MC9S08AC60 je založen na 8-bitovém jádru HCS08. Jedná se o nízko-cenové, vysoce výkonné MCU. CPU muže být taktováno až na frekvenci 40MHz a z toho vyplývající frekvenci sběrnice 20MHz . Čip obsahuje 54 stupně/výstupních linek, které jsou sdíleny s periferiemi. Součástí čipu je i debugovací podsystém. Napájecí napětí v rozsahu 2,7-5,5V. Pro úsporu energie v nečinnosti MCU je možno využít jeden ze tří STOP módů. Mikropočítač je vybaven třemi samostatnými časovači. Každý z kanálů časovače může pracovat v režimu “input capture“, “output compare“ nebo také jako generátor pulzní šířkové regulace “PWM“. AD převodník může pracovat v režimu 8 nebo 10 bitů. Jádro : - 8 bit - HCS08 - 40MHz Paměť : - 60kB Flash pro program - 2kB RAM Periferie : - 3x 16bitový časovač (dva 2-kanálové a jeden 6-kanálový) - 10 bitový AD převodník - 2x asynchronní sériové SCI sběrnice - 2x synchronní sériové SPI sběrnice - 1x IIC sběrnice - 8- vstupní KBI přerušení - Watchdog
8