• Nebyly nalezeny žádné výsledky

Generátor řídicího napětí pro tester odolnosti

N/A
N/A
Protected

Academic year: 2022

Podíl "Generátor řídicího napětí pro tester odolnosti"

Copied!
36
0
0

Načítání.... (zobrazit plný text nyní)

Fulltext

(1)

Bakalářská práce

České vysoké

učení technické v Praze

F3

Fakulta elektrotechnická Katedra mikroelektroniky

Generátor řídicího napětí pro tester odolnosti

Radovan Blažek

Vedoucí práce: Ing. Vít Záhlava, CSc.

Obor: Aplikovaná elektronika

Studijní program: Komunikace, multimédia a elektronika

(2)
(3)

ZADÁNÍ BAKALÁŘSKÉ PRÁCE

I. OSOBNÍ A STUDIJNÍ ÚDAJE

420268 Osobní číslo:

Radovan Jméno:

Blažek Příjmení:

Fakulta elektrotechnická Fakulta/ústav:

Zadávající katedra/ústav: Katedra mikroelektroniky Komunikace, multimédia a elektronika Studijní program:

Aplikovaná elektronika Studijní obor:

II. ÚDAJE K BAKALÁŘSKÉ PRÁCI

Název bakalářské práce:

Generátor řídicího napětí pro tester odolnosti

Název bakalářské práce anglicky:

Control Voltage Generator for the Immunity Tester

Pokyny pro vypracování:

1) Prostudujte problematiku testování součástek pro 48 V automobilové systémy.

2) Navrhněte obvodové elektrické schéma zapojení generátoru řízeného z PC.

3) Proveďte simulace klíčových částí obvodů.

4) Vytvořte potřebné programové vybavení řídicího obvodu.

5) Navrhněte desku plošného spoje a realizujte přípravek pro ověření funkčnosti.

Seznam doporučené literatury:

1) Horowitz, P.; Hill, W.: The Art of Electronics. Cambridge University Press, New York, 2015, ISBN 978-0-521-80926-9 2) Vobecký J., Záhlava V.: Elektronika - součástky a obvody, principy a příklady, Třetí rozšířené vydání, Grada Publishing, Praha 2005

3) Záhlava, V. : Návrh a konstrukce desek plošných spojů, BEN, Praha 2011 4) Katalogové a aplikační listy příslušných elektronických součástek

Jméno a pracoviště vedoucí(ho) bakalářské práce:

Ing. Vít Záhlava CSc., katedra mikroelektroniky FEL

Jméno a pracoviště druhé(ho) vedoucí(ho) nebo konzultanta(ky) bakalářské práce:

Termín odevzdání bakalářské práce: _____________

Datum zadání bakalářské práce: 07.02.2017 Platnost zadání bakalářské práce: 10.09.2018

___________________________

___________________________

___________________________

Podpis děkana(ky) Podpis vedoucí(ho) ústavu/katedry

Podpis vedoucí(ho) práce

III. PŘEVZETÍ ZADÁNÍ

Student bere na vědomí, že je povinen vypracovat bakalářskou práci samostatně, bez cizí pomoci, s výjimkou poskytnutých konzultací.

Seznam použité literatury, jiných pramenů a jmen konzultantů je třeba uvést v bakalářské práci.

.

Datum převzetí zadání Podpis studenta

(4)
(5)

Prohlášení

Prohlašuji, že jsem předloženou práci vy- pracoval samostatně a že jsem uvedl veš- keré použité informační zdroje v souladu s Metodickým pokynem o dodržování etic- kých principů při přípravě vysokoškol- ských závěrečných prací.

V Praze, 26. května 2017

(6)

Anotace

Tato práce se zabývá návrhem arbitrár- ního generátoru napětí ovládaného z PC pro generování neomezeně dlouhých prů- běhů. Nejdříve je vysvětlený účel takového zařízení a na to navazuje popis jednotli- vých funkčních součástí generátoru.

Klíčová slova:

Vedoucí práce: Ing. Vít Záhlava, CSc.

Annotation

This thesis is about the design of the arbi- trary waveform generator controlled from PC for generating continuous waveforms.

It discusses the purpose of such device and then describes all parts of the device in detail.

Keywords:

Title translation: Control Voltage Generator for the Immunity tester

(7)

Obsah

1 Úvod 1

2 Teorie 3

2.1 Způsob testování . . . 3

2.2 Vzorkovací teorém . . . 3

2.3 Interpolace . . . 4

2.4 Dostupná řešení . . . 5

3 Realizace přípravku pro ověření funkčnosti 7 3.1 USB Převodník . . . 7

3.2 FPGA . . . 8

3.2.1 Příjem dat . . . 9

3.2.2 Vyrovnávací paměť . . . 10

3.2.3 Zvýšení vzorkovací frekvence 10 3.2.4 Protokol . . . 10

3.2.5 Trigger . . . 11

3.2.6 Kalibrace . . . 11

3.3 Analogová část . . . 11

3.3.1 Měniče napětí . . . 11

3.3.2 DAC . . . 12

3.3.3 Rekonstrukční filtr . . . 12

3.3.4 Výstupní zesilovač . . . 13

3.3.5 Ochrana výstupu . . . 14

4 Program pro PC 15 5 Závěr 17 5.1 Parametry . . . 17

5.2 Mechanické zpracování . . . 17

Bibliografie 21

A Použitý software 23

B Seznam zkratek 25

C Kompletní schéma 27

(8)

Obrázky

2.1 Příklad průběhu napájecího napětí z normy LV148.[2] . . . 3 2.2 Originální signál. . . 4 2.3 Model výstupu z DAC při původní

vzorkovací frekvenci. . . 5 2.4 Signál proložený nulami. . . 5 2.5 Signál po vyfiltrování FIR filtrem. 5 3.1 Blokové schéma. . . 7 3.2 Blokové schéma logiky FPGA. . . . 8 3.3 Zjednodušený stavový diagram

příjmu dat . . . 9 3.4 Simulace logiky VHDL pro čtení

dat. . . 10 3.5 schéma zapojení boost měniče . . 12 3.6 schéma zapojení nábojové pumpy. 12 3.7 schéma zapojení DAC a

rekonstrukčního filtru. . . 13 3.8 schéma zapojení výstupního

zesilovače a výstupu. . . 14 4.1 Ovládací program pro generátor. 16 5.1 3D model osazeného plošného

spoje. . . 18 5.2 3D model krabičky s plošným

spojem. . . 18 5.3 Fotografie generátoru bez krytu. 18 5.4 Fotografie generátoru. . . 19

Tabulky

3.1 Formát dat . . . 10 3.2 Parametry AD9764 při 25C . . . 13 5.1 Parametry generátoru při 23C . 17

(9)

Kapitola 1

Úvod

Byl jsem postaven před úkol nakreslení průběhů pro arbitrární generátor podle normy VDA 320[1] pro testování součástí automobilů pro ST Micro- electronics. Současné řešení používalo arbitrární generátor s pamětí na 64 tisíc vzorků, který ovládá výstupní napětí výkonového zdroje. To není pro- blém pro generování relativně krátkých nebo periodických signálů. Když však potřebujeme průběh s délkou trvání v řádu minut, začne nás relativně malá pamět na vzorky omezovat. Generátor musí snížit vzorkovací frekvenci a to nám znemožní mít v rámci dlouhého průběhu rychleji se měnící úsek, jako je potřeba v normě VDA 320[1]. Nabízí se dvě možnosti jak to vyřešit: mno- hem větší paměť na vzorky nebo počítat vzorky postupně během generování signálu.

Dále je popsané řešení generátoru ovládaného programem v PC, který do generátoru posílá už vypočítané vzorky a generátor podle nich rovnou vytváří napětí na výstupu. Veškerá paměťová náročnost je tedy přenesena na PC.

Takové řešení netrpí problémem paměti na vzorky a je naprosto univerzální - je omezené jen programem v PC a možnostmi výkonového zdroje.

Hlavní důvod proč se tímto zabývat je však trochu jiný. Nastíněný problém je totiž vyřešitelný i běžným generátorem a to například použitím předpro- gramované funkce generátoru na jednu část průběhu a arbitrární průběh na druhou. Hlavní motivace pro návrh generátoru, kterým se zabývá tato práce, je jednoduchost a praktičnost použití.

(10)
(11)

Kapitola 2

Teorie

2.1 Způsob testování

Elektrické a elektronické součásti automobilů procházejí testy, které sestávají z aplikace průběhů napájecího napětí daných normou a sledování chování testované součásti. Průběhy jsou navrženy tak, aby simulovali chování palub- ního napětí při různých situacích. K vytvoření průběhu napájecího napětí lze použít zdroj ovládaný právě napětím z generátoru.

Jeden z testovacích průběhů z normy VDA 320[1] je vidět na obrázku 2.1.

Tento průběh je typickým příkladem, kde je problém s omezenou pamětí na vzorky. Obsahuje totiž harmonický signál s frekvencí 10 kHz a zároveň je více než 15 min (900 s) dlouhý. Pro generování harmonického průběhu s frekvencí 10 kHz je potřeba rychlost vzorkování minimálně 20 kS/s. Takže je potřeba více než 900 s·20 kS/s = 18 MS paměť.

Obrázek 2.1: Příklad průběhu napájecího napětí z normy LV148.[2]

2.2 Vzorkovací teorém

„Přesná rekonstrukce spojitého, frekvenčně omezeného signálu z jeho vzorků je možná tehdy, pokud byla vzorkovací frekvence vyšší než dvojnásobek nejvyšší harmonické složky vzorkovaného signálu.“[3] Pokud tedy chceme vygenerovat

(12)

2. Teorie

...

signál s harmonickými složkami o maximální frekvencí f, pak vzorkovací frekvence fs musí být větší než dvojnásobek f.fs >2f Vzorkovací teorém nám tedy udává jakou musíme mít minimální rychlost vzorkování generátoru.

2.3 Interpolace

Máme např. harmonický signál jako je na obrázku 2.2. Signál navzorkujeme a vzorky pošleme do D/A převodníku, pak výstup z převodníku má tvar přibližně jako po částech konstantní funkce, viz obrázek 2.3. V některých případech je potřeba, aby výstup odpovídal signálu, který jsme vzorkovali.

V takovém případě je nutné použít rekonstrukční filtr - dolní propust s mezní frekvencí rovnou polovině vzorkovací frekvence f0 = fs/2. Ideální dolní propust vyfiltruje všechny složky spektra s frekvencí větší než fs/2 a dostaneme původní signál.

Pokud byl při vzorkování signálu splněn vzorkovací teorém, pak je možné vzorkovaný signál ze vzorků přesně rekonstruovat. To znamená, že je možné i dopočítat hodnotu signálu kdekoliv v čase mezi vzorky. Lze to využít ke zvýšení počtu vzorků pro zvýšení rychlosti vzorkování. Což je výhodné, protože zvýšením rychlosti vzorkování se nám sníží nároky na rekonstrukční filtr - propustné pásmo zůstane stejné, ale filtrované pásmo se posune k vyšším frekvencím.

Interpolace se provede tak, že se mezi vzorky přidá určitý počet nulových vzorků a tento nový signál vyfiltrujeme dolní propustí. Kolik přidáme nul určuje kolikrát se zvýší rychlost vzorkování - jeden nulový vzorek zdvojnásobí množství vzorků, takže zvýší rychlost vzorkování dvakrát. Na filtr se kladou velké nároky, nicméně tentokrát je to filtr digitální. Digitální filtr sice v praxi také nebude ideální dolní propust, ale lze realizovat velice dobrý filtr za cenu pouze výpočetních prostředků. [4]

0.00 0.25 0.50 0.75 1.00 1.25 1.50 1.75 2.00

t [s] 1e 6

1.00 0.75 0.50 0.25 0.00 0.25 0.50 0.75 1.00

U [V]

(a) :Časový průběh.

0 1 2 3 4 5 6

f [Hz] 1e7

103 102 101 100

Amplituda [V]

(b) :Spektrum.

Obrázek 2.2: Originální signál.

(13)

...

2.4. Dostupná řešení

0.00 0.25 0.50 0.75 1.00 1.25 1.50 1.75 2.00

t [s] 1e 6

1.00 0.75 0.50 0.25 0.00 0.25 0.50 0.75 1.00

U [V]

(a) :Časový průběh.

0 1 2 3 4 5 6

f [Hz] 1e7

103 102 101 100

Amplituda [V]

(b) :Spektrum.

Obrázek 2.3: Model výstupu z DAC při původní vzorkovací frekvenci.

0.00 0.25 0.50 0.75 1.00 1.25 1.50 1.75 2.00

t [s] 1e 6

1.00 0.75 0.50 0.25 0.00 0.25 0.50 0.75 1.00

U [V]

(a) :Časový průběh.

0 1 2 3 4 5 6

f [Hz] 1e7

103 102 101 100

Amplituda [V]

(b) :Spektrum.

Obrázek 2.4:Signál proložený nulami.

0.00 0.25 0.50 0.75 1.00 1.25 1.50 1.75 2.00

t [s] 1e 6

0.75 0.50 0.25 0.00 0.25 0.50 0.75

U [V]

(a) :Časový průběh.

0 1 2 3 4 5 6

f [Hz] 1e7

103 102 101 100

Amplituda [V]

(b) :Spektrum.

Obrázek 2.5: Signál po vyfiltrování FIR filtrem.

2.4 Dostupná řešení

Existuje několik dostupných řešení generátoru, které lze použít:

.

Běžný arbitrární generátor s velkou pamětí

— Např. Keysight řada 33600a má možnost mít paměť o velikosti až 64 MS, což stačí pro většinu průběhů z normy VDA 320[1] až na frekvenční sweep

(14)

2. Teorie

...

do 200 kHz, který má trvat 2 min. To samozřejmě není problém, protože lze vygenerovat předprogramovanou funkcí, ale už je potřeba generá- tor ovládat jiným způsobem. Některé generátory lze naprogramovat i tak, aby generovali sekvenci několika předprogramovaných funkcí. To je výhodné do té doby, dokud není potřeba signál, který generátor neumí.

http://www.keysight.com/en/pc-2371707/33600a-series-waveform-generators- 80-120-mhz

.

Specializovaný generátor přímo určený pro tento typ testování

— Např. AutoWave - programuje se sekvence předprogramovaných funkcí.

Stojí více než 500 tisíc korun.1

http://www.emtest.com/products/product/135120100000010146.php

.

Existující generátory k PC do USB

— Často není jasné, jestli podporují nepřetržité generování signálu.

— Nemívají výstupní napětí v rozsahu do 10 V.

— Např. BitGen.

http://www.bitscope.com/product/DWG100/

Ukázaná řešení rozhodně lze použít, ale mohou být v určitých ohledech nepraktická, drahá nebo neuniverzální.

1https://www.vhodne-uverejneni.cz/index.php?m=xenorders&h=orderdocument&a=

download&document=1112182

(15)

Kapitola 3

Realizace přípravku pro ověření funkčnosti

Hlavní součásti generátoru jsou:

.

Převodník USB na paralelní sběrnici — Převádí data ze sběrnice USB na jednodušeji použitelnou paralelní sběrnici.

.

FPGA — Zajišťuje převod dat mezi USB převodníkem a D/A převodní- kem, vyrovnávací paměť a další ovládací logiku.

.

D/A převodník — Převádí data na elektrický proud.

.

Paralelní RC článek — Slouží jako převodník proudu na napětí a jako rekonstrukční filtr - dolní propust.

.

Výstupní zesilovač— Mění rozsah výstupního napětí na 0-10 V, snižuje výstupní odpor a zvyšuje maximální výstupní proud.

Obrázek 3.1:Blokové schéma.

3.1 USB Převodník

Pro připojení generátoru k osobnímu počítači, bylo zvoleno široce rozšířené rozhraní pro periferie PC, USB. Jedna z možností jak implementovat sběrnici USB je externí transceiver a logika v FPGA. Existuje otevřená implementace USB 2.0 i USB 3.0 přímo pro Cyclone IV. Nicméně, jednodužším řešením je využít obvod FT2232H.

FT2232H je univerzální převodník ze sběrnice USB, který má několik módů ve kterých může fungovat. Pro naše účely je zajímavý mód "FT245

(16)

3. Realizace přípravku pro ověření funkčnosti

...

synchronous FIFO", ten ze všech dosahuje nejvyšších přenosových rychlostí.

Teoretická maximální rychlost přenosu je 40 MB/s. Data z USB jsou pak zpřístupněna na relativně jednoduché paralelní sběrnici s hodinovým signálem a signály pro řízení přenosu. Pro posílání dat do FT2232H z PC jsou od výrobce k dispozici knihovny pro několik programovacích jazyků. Existuje i open-source knihovna libftdi pro jazyk C.

3.2 FPGA

Obrázek 3.2:Blokové schéma logiky FPGA.

Napájecí větve pro FPGA jsou řešené lineárními regulátory napojenými na 5 V z USB. Cyclone IV potřebuje 1,2 V, 2,5 V a 3,3 V pro napájení IO Výkonová ztráta je zde přijatelná, protože FPGA spotřebovává málo proudu při množství použitých hradel a frekvenci překlápění maximálně 120 MHz.

Kapacita a množství blokovacích kondenzátorů bylo navrženo pomocí nástroje od výrobce FPGA.

Nároky na FPGA jsou relativně nízké, nicméně nelze použít CPLD kvůli tomu, že většina CPLD nemá dostatek RAM pro implementaci větší vyrov- návací paměti FIFO. Intel (Altera) Cyclone IV jsem zvolil z vyhovujících FPGA z praktických důvodů - předchozí zkušenost a měl jsem k dispozici všechny potřebné SW i HW nástroje pro práci s tímto FPGA. Další možností byl např. Lattice ICE40.

Modul vyrovnávací paměti a PLL byl vygenerován pomocí funkce ve vývo- jovém prostředí pro Intel FPGA, Quartus. Pro všechno ostatní byla použita vlastní implementace ve VHDL.

(17)

...

3.2. FPGA

3.2.1 Příjem dat

Příjem dat v FPGA obstarává stavový automat. Automat generuje správně časované ovládací signály pro FT2232 a ve správný čas čte data. Změna stavu je synchronizována s hodinovým signálem.

FT2232H generuje hodinový signál o frekvenci 60 MHz a stavový signál RXF, naopak čte signály OE a RD. Všechny řídící signály jsou aktivní v nule. Přenos dat začíná tím, že FT2232 nastaví RXF do nuly. Takto obvod signalizuje, že má k dispozici data na předání. Potom můžeme nastavit OE do nuly, to způsobí nastavení prvního bytu dat na datovou sběrnici. Jakmile byte ze sběrnice přečteme, můžeme nastavit RD do nuly, tím potvrdíme přečtení bytu a obvod na sběrnici nastaví další byte. Přenos se může zastavit z naší strany nastavením RD na jedničku nebo ze strany FT2232 nastavením RXF na jedničku. Odesílání směrem do FT2232 a tím pádem do PC jsem neimplementoval.

Maximální rychlost přenosu se pohybuje okolo 27 MB/s.

Byla provedena simulace tohoto modulu, ale sloužila hlavně k ověření, jestli se vše chová podle očekávání než k ověření funkčnosti s FT2232. Datasheet a aplikační poznámka nebyly úplně jasné, takže nešlo napsat správný stimulační kód. Ladění jsem provedl pomocí funkce SignalTap - logického analyzátoru nahraného přímo do FPGA.

Idle RXF=1

OE low RD low

Read 1st byte

Read 2nd byte

Wait for FIFO RXF=0

FIFO full=0

FIFO full=1

FIFO full=1 FIFO full=0

Obrázek 3.3:Zjednodušený stavový diagram příjmu dat

(18)

3. Realizace přípravku pro ověření funkčnosti

...

Obrázek 3.4: Simulace logiky VHDL pro čtení dat.

3.2.2 Vyrovnávací paměť

Relativně velká vyrovnávací paměť typu FIFO First In - First Out první dovnitř - první ven neboli fronta je potřeba kvůli možné pomalé odezvě USB a operačního systému. USB přenáší data po paketech a má topologii sběrnice a běžné PC nemají operační systém reálného času, takže je možné, že se přenos dat na několik ms přeruší. V tento okamžik se začne FIFO vyprazdňovat a umožní nepřerušené generování dat než znovu začne přenos. Ve zvoleném FPGA šla vytvořit FIFO o maximální hloubce 16384 vzorků o šířce 14 bitů.

Tato velikost FIFO vystačí na překlenutí přibližně 16 ms výpadku při 1 MS/s, 3,2 ms při 5 MS/s a 1,6 ms při 10 MS/s.

3.2.3 Zvýšení vzorkovací frekvence

Zvýšení vzorkovací frekvence se provádí interpolací popsané v teoretické části.

V FPGA je implementováno jako jeden samostatný modul. Ve výchozím stavu je vypnutý.

U FIR filtru je důležité, aby úplně filtroval původní frekvenci vzorkování.

Pokud toto není splněno, pak při požadované stejnosměrné hodnotě je vý- stup filtru zvlněný. Úplného odfiltrování původní vzorkovací frekvence lze dosáhnout zařazením vhodného průměrovacího filtru za dolní propust.

3.2.4 Protokol

Data jsou přijímána po bytech a každé dva byty tvoří jeden 16-ti bitový word.

Word může být buď vzorek signálu nebo ovládací příkaz pro FPGA. Nejvyšší dva bity wordu udávají typ dat ve zbytku wordu. Klíč je vidět v tabulce 3.1.

V současnosti je implementovaný pouze jeden příkaz a to spuštění gene- rování neboli trigger: 0xFFFF. Pro větší flexibilitu zařízení by bylo možné implementovat další příkazy jako např. změna rychlosti vzorkování, smazání FIFO, uložení kalibrační hodnoty atd.

Bit 15 (MSB) Bit 14 Význam bitů 13-0

0 X Vzorek signálu

1 X Příkaz pro FPGA

Tabulka 3.1:Formát dat

(19)

...

3.3. Analogová část 3.2.5 Trigger

Generování se spustí automaticky pokud se zaplní vyrovnávací paměť FIFO.

Nebo pokud máme krátký signál, který má málo vzorků a tedy nenaplní FIFO nebo chceme nastavit určité stejnosměrné napětí na výstupu - pošleme data s napětím a startovací příkaz. Pokud je vyrovnávací paměť prázdná, startovací příkaz nemá žádný efekt.

Po vyprázdnění FIFO se generování automaticky zastaví a znovu se čeká na jednu ze spouštěcích podmínek.

3.2.6 Kalibrace

Největší chyba výstupního napětí je chyba zesílení, která je způsobená ne- přesnými hodnotami odporu a to hned na třech místech.

.

Nastavení proudu D/A převodníku

.

Snímací rezistor proudu

.

Nastavení zesílení výstupního zesilovače

Tuto chybu lze eliminovat přímo v zapojení pomocí proměnného rezistoru, kterým se vyladí hodnota odporu v jednom nebo hned v několika jmenovaných místech v obvodu. Jiný přístup je zvolit takové hodnoty odporu rezistorů, aby v jakémkoliv případě byla chyba zesílení nulová nebo kladná (nikdy ne záporná) a potom můžeme provést kalibraci v softwaru pomocí rovnice y=kx. Rovnicí vypočítáme chybu a tu pak odečteme od požadované hodnoty výstupního napětí.

Další chybou je offset, který lze eliminovat v softwaru jeho prostým odečte- ním. Odečtení celé chyby offsetu je možné až pro hodnoty výstupního napětí vyšší než je hodnota offsetu. Jelikož je hodnota offsetu v řádu jednotek mV, tak nás toto nijak neomezuje. Nakonec tedy kalibrace probíhá pomocí celé rovnice přímky y=kx+q.

Generátor využívá pouze kalibraci v softwaru.

3.3 Analogová část

3.3.1 Měniče napětí

Zařízení je napájené z USB portu počítače, který poskytuje 5 V. Výstupní napětí, ale musí být až 10 V. To je důvod proč je potřeba měnič napětí.

Pro zvyšování napětí je možné použít buď nábojovou pumpu nebo měnič s cívkou. Nábojová pumpa by musela mít topologii ztrojovače napětí, což už je vhodné jen pro velmi malé výstupní proudy. Byl tedy použit měnič s cívkou - topologie zvyšovač (boost).

Další problém se týká výstupních napětí blízkých nule. Operační zesilovač, i když je typu RRIO (Rail-to-Rail Input Output), nedokáže na výstupu vytvořit 0 V, pokud je jeho záporná napájecí větev připojena také na 0 V.

(20)

3. Realizace přípravku pro ověření funkčnosti

...

Řešením je vytvořit pro zápornou napájecí větev záporné napájecí napětí minimálně několik stovek mV pod 0 V. Pro tento účel je ideální invertující nábojová pumpa.

Obrázek 3.5:schéma zapojení boost měniče

Obrázek 3.6: schéma zapojení nábojové pumpy.

3.3.2 DAC

D/A převodník je jedna z hlavních součástek celého zapojení, protože ovlivňuje několik zásadních parametrů generátoru. K těm nejdůležitějším parametrům patří maximální vzorkovací frekvence, stejnosměrná přesnost a zkreslení.

Některé parametry jsou uvedeny v tabulce 3.2. D/A převodník disponuje paralelním rozhraním pro přenos dat. Paralelní rozhraní oproti sériovému velice zjednodušuje komunikaci a snižuje potřebnou frekvenci překlápění výstupních pinů FPGA pro určitou vzorkovací frekvenci.

Počet bitů převodníku určuje jeho rozlišení. Rozhodl jsem se pro 14 bitů, pak je rozlišení přibližně 0,61 mV. U 16 bitů by bylo nutno změnit protokol za složitější, ale vylepšené rozlišení není potřeba. Bylo by možné použít 15-ti bitový převodník, ale 15-ti bitové D/A převodníky nejsou běžné.

3.3.3 Rekonstrukční filtr

Jelikož je přenosová rychlost přibližně 27 MB/s a na každý vzorek jsou potřeba 2 byty je maximální rychlost vzorkování 10 MS/s, s malou rezervou.

(21)

...

3.3. Analogová část

Název parametru Hodnota

Počet bitů 14 bitů

Nelinearita INL typicky 2,5 LSB

Nelinearita DNL typicky 1,5 LSB

Maximální vzorkovací frekvence 125 MS/s Tabulka 3.2: Parametry AD9764 při 25C

Obrázek 3.7:schéma zapojení DAC a rekonstrukčního filtru.

To odpovídá maximální frekvenci generovaného sinálu 5 MHz. Pokud tedy budeme chtít využívat 10 MS/s je ideální rekonstrukční filtr s mezní frekvencí 5 MHz.

Díky interpolaci je možné několikanásobně zvýšit vzorkovací frekvenci, takže i jednoduchý RC filtr znatelně tlumí nechtěné části spektra. Nicméně v cílové aplikaci není rekonstrukční filtr nutně potřeba.

Odpor je daný 49.9 Ω, kapacita se spočítá jako: C= f 1

c2πR

3.3.4 Výstupní zesilovač

Operační zesilovač je AD8067 od Analog Devices, je vyroben z části z FET tranzistorů a z části z bipolárních. FET tranzistory umožňují malé vstupní proudy a bipolární část je rychlá. Díky tomu má OZ malé vstupní proudy, ale velké GBP a velkou rychlost přeběhu.

Výstupní zesilovač je tvořen operačním zesilovačem v neinvertujícím zapo- jení. Zesílení má nastavené přibližně na 10. Mění napětí na výstupu filtru z rozsahu 0-1 V na rozsah 0-10 V.

(22)

3. Realizace přípravku pro ověření funkčnosti

...

Obrázek 3.8:schéma zapojení výstupního zesilovače a výstupu.

3.3.5 Ochrana výstupu

Výstup je chráněn proti připojení vyššího nebo záporného napětí jedno- směrnou TVS diodou s průrazným napětím v závěrném směru 12 V. Mezi výstupním zesilovačem a TVS diodou je zapojený rezistor s hodnotou 27 Ω.

TVS dioda má kapacitu přibližně 1 nF, takže se zmíněným rezistorem tvoří RC článek - dolní propust. Frekvence zlomu, se spočítá jako: fc= 2πRC1 . Po dosazení vychází přibližně 5,9 MHz.

(23)

Kapitola 4

Program pro PC

Program pro ovládání generátoru je principiálně velice jednoduchý. Přečte z disku nebo spočítá vzorek napětí, ten přepočítá na 14-ti bitové číslo vyjadřující napětí 0-10 V. 0 znamená 0 V a 16383 znamená 10 V. Větší množství těchto vzorků sdruží do pole, které přetypuje na pole bytů a předá funkci z knihovny na odeslání do FT2232.

Program pro testování při vývoji byl napsán v C. Pro ST Microelectronics je napsána aplikace v jazyce C# na míru jejich potřeb, viz obrázek 4.1.

Výhoda jazyka C# je v jednoduchosti vytváření grafického uživatelského prostředí programu a relativně jednoduchého vícevláknového programování.

Nevýhoda je možnost spuštění pouze pod OS Windows a nižší rychlost oproti kompilovaným jazykům. Vhodný by pravděpodobně byl jazyk Go. Je kompilovaný, vícevláknové programování je integrováno přímo do jazyka a lze ho použít s GUI knihovnou Qt.

(24)

4. Program pro PC

...

Obrázek 4.1:Ovládací program pro generátor.

(25)

Kapitola 5

Závěr

Zapojení generátoru se ukázalo jako funkční, bude používán v laboratoři ST Microelectronics pro testování jak je popsáno v teoretické části. Zásadní ladění bylo potřeba u přenosu dat z PC do FPGA a to jak na straně softwaru v PC, tak na straně FPGA. U softwaru v PC se musí vyloučit jakékoliv delší prodlevy mezi přenosy dat. Na straně FPGA se musela vyladit komunikace s FT2232, kde je přenos neustále přerušován.

Pro rychlost vzorkování 1 MS/s funguje přenos dat bezchybně, současná rychlost je dostačující, takže vyšší nebyly testovány.

5.1 Parametry

Generátor dosahuje potřebných parametrů pro syntézu jakéhokoliv signálu z normy VDA 320[1].

Název parametru Hodnota

DC přesnost ±1 mV

Vzorkovací frekvence min 1 MS/s Frekvenční rozsah DC - 5 MHz

Šum 11 mVp-p

Tabulka 5.1:Parametry generátoru při 23C

5.2 Mechanické zpracování

Osazený plošný spoj je usazen v krabičce z hliníkové slitiny, která poskytuje mechanickou ochranu zařízení. Krabička byla vymodelována v programu FreeCAD podle výkresu od prodejce. Model krabičky a osazeného plošného spoje byl použit pro návrh výřezů v čelních krytech pro usazení konektorů a světlovodů pro indikační LED diody.

(26)

5. Závěr

...

Obrázek 5.1:3D model osazeného plošného spoje.

Obrázek 5.2:3D model krabičky s plošným spojem.

Obrázek 5.3: Fotografie generátoru bez krytu.

(27)

...

5.2. Mechanické zpracování

Obrázek 5.4: Fotografie generátoru.

(28)
(29)

Bibliografie

1. Electric And Electronic Components In Motor Vehicles 48 V On-Board Power Supply Requirements And Tests. 2014. Standard. Verband der Automobilindustrie (VDA).

2. LV 124 & LV 148 Electrical normative basics and practical challenges for vehicle components and systems. Berwyn, Pensylvánie, USA: Ame- tek, 2016. Dostupné také z: http://www.testforce.com/testforce_

files/Seminars/SpirentAutomotiveSeminar2016/SpirentAutomotiveLV124- LV148V.pdf.

3. WIKIPEDIE. Shannonův teorém — Wikipedie: Otevřená encyklopedie.

2017. Dostupné také z: https://cs.wikipedia.org/w/index.php?

title = Shannon % C5 % AFv _ teor % C3 % A9m & oldid = 14934219. [Online;

navštíveno 21. 05. 2017].

4. DSPGURU. Interpolation. 2017. Dostupné také z:https://dspguru.

com/dsp/faqs/multirate/interpolation/. [Online; navštíveno 21.

05. 2017].

5. HOROWITZ, Paul; HILL, Winfield. Art of electronics. Third edition.

New York: Cambridge University Press, 2015. ISBN 9780521809269.

6. Cyclone IV Device Handbook. 2016. Č. Cyclone IV.

7. FT2232H Dual High Speed USB to Multipurpose UART/FIFO IC Da- tasheet. 2016. Č. FT2232H. Dostupné také z: http://www.ftdichip.

com/Support/Documents/DataSheets/ICs/DS_FT2232D.pdf. Verze 2.5.

8. Application Note AN130 FT2232H Used in an FT245 Style Synchro- nous FIFO Mode. 2015. Č. FT2232H. Dostupné také z: http://www.

ftdichip . com / Support / Documents / AppNotes / AN _ 130 _ FT2232H _ Used_In_FT245%20Synchronous%20FIFO%20Mode.pdf. Verze 1.3.

9. High Gain Bandwidth Product, Precision Fast FETTM Op Amp. 2017.

Č. AD8067. Dostupné také z: http://www.analog.com/media/en/

technical-documentation/data-sheets/AD8067.pdf. Rev. B.

10. 14-Bit, 125 MSPS TxDACR D/A Converter. 2017. Č. AD9764. Do- stupné také z: http : / / www . analog . com / media / en / technical - documentation/data-sheets/AD9764.pdf. Rev. C.

(30)
(31)

Příloha A

Použitý software

Pro návrh desek plošných spojů byl použit program KiCAD. Matematické modelování signálového řetězce a návrh FIR filtru pro interpolaci bylo prove- deno v jazyce Python s využitím knihoven SciPy a NumPy. Program GHDL byl použit pro simulaci vybraných částí logiky pro FPGA. 3D model krabičky pro generátor je vytvořen ve FreeCADu. Pro vývoj logiky pro FPGA byl použit program Quartus Lite.

Veškerý použitý software s vyjímkou Quartus Lite je volně šiřitelný svo- bodný software s otevřeným zdrojovým kódem.

(32)
(33)

Příloha B

Seznam zkratek

USB Universal Serial Bus - bežné rozhraní počítače LED Light Emitting Diode - světlo vyzařující dioda TVS Transient Voltage Suppressor - ochrana proti přepětí HDL Hardware Description Language - jazyk pro popis HW OZ Operační zesilovač

FIFO First In First Out - druh uspořádání paměti

MS, kS Megasample, Kilosample - milion vzorků, tisíc vzorků

VHDL VHSIC Hardware Description Language - jeden z jazyků pro popis hardwaru

VHSIC Very High Speed Integrated Circuits

SW Software - programové vybavení počítače/program

HW Hardware - fyzické vybavení počítače/fyzicky existující součástka FPGA Field Programmable Gate Array - programovatelné hradlové pole LSB Least Significant Bit - nejméně významný bit

FIR Finite Impulse Response - konečná impulsní odezva

CPLD Complex Programmable Logic Device - komplexní programovatelný logický obvod

PC Personal Computer - osobní počítač

D/A, DAC Digital to Analog, Digital to Analog Converter - převodník čísla na analogovou veličinu

RC Resistor Capacitor - obvod s odporem a kondenzátorem

INL Integral nonlinearity - maximální chyba velikosti napětí po kalibraci přímkou

(34)

B. Seznam zkratek

...

DNL Differential nonlinearity - maximální chyba velikosti změny napětí odpovídající změně o jeden LSB (různá velikost schodů v přenosové charakteristice)

(35)

Příloha C

Kompletní schéma

(36)

1 2 3 4 5 6 7 8 9 10 11

A

B

C

D

E

F

G

H

A

B

C

D

E

F

G

H

File: USB_DAC.sch Sheet: / ST IO@1 1

IO@2 2 IO@3 3

GND@13 4

VCCINT@1 5

IO@4 6 IO@5 7 IO@6 8 NSTATUS 9

IO@7 10 TDO 20

IO@11 30 VCCIO3@1

40

IO@23 50

IO@31 60

IO@38 70

IO@46 80 CLK5 90

IO@8 11 NCE 21

IO@12 31

GND@3 41

IO@24 51 VCCINT@4

61

IO@39 71 VCCIO5

81

CLK4 91 DCLK 12

GND@14 22

IO@13 32

IO@18 42

IO@25 52 VCCIO4@2

62

IO@40 72

GND@7 82

CONF_DONE 92

IO@9 13 CLK1 23

IO@14 33

IO@19 43

IO@26 53

GND@6 63

IO@41 73

IO@47 83 VCCIO6

93

NCONFIG 14

CLK2 24

IO@15 34

IO@20 44

IO@27 54

IO@32 64

IO@42 74

IO@48 84 MSEL0 94 TDI 15

CLK3 25

VCCA1 35

VCCINT@3 45

IO@28 55

IO@33 65

IO@43 75

IO@49 85

GND@8 95

TCK 16 VCCIO2

26

GNDA1 36

IO@21 46 VCCIO4@1

56

IO@34 66

IO@44 76

IO@50 86 MSEL1 96 VCCIO1

17

GND@2 27

VCCD_PLL1 37

VCCIO3@2 47

GND@5 57

IO@35 67

IO@45 77

IO@51 87 MSEL2 97 TMS 18

IO@10 28

IO@16 38

GND@4 48

IO@29 58

IO@36 68 VCCINT@5

78

CLK7 88

IO@52 98

GND@1 19

VCCINT@2 29

IO@17 39

IO@22 49

IO@30 59

IO@37 69

GND@15 79

CLK6 89

IO@53 99 IO@54100

IO@60110

IO@67120 VCCIO8@1

130

GND@12 140

IO@55101

IO@61111

IO@68121

GND@11 131

IO@81141 VCCINT@6

102

IO@62112 VCCIO7@2

122

IO@75132

IO@82142 IO@56103

IO@63113

GND@10 123

IO@76133

IO@83143 IO@57104

IO@64114

IO@69124 VCCINT@8

134

IO@84144 IO@58105

IO@65115

IO@70125

IO@77135 145EXP

IO@59106 VCCINT@7

116

IO@71126

IO@78136 VCCA2

107 VCCIO7@1 117

IO@72127

IO@79137

GNDA2 108

GND@9 118

IO@73128

IO@80138 VCCD_PLL2

109

IO@66119

IO@74129 VCCIO8@2

139 U1 EP4CE6E22C8N

GND1

2 OSCI

3 OSCO VPHY4 GND5

6 REF 7 DM 8 DP

VPLL9AGND10 VCCIO20

ACBUS4 30

BDBUS2 40 VREGIN

50

PWREN 60

GND11

ADBUS4 21

VCCIO31

BDBUS3 41

GND51

EEDATA 61

VCORE12

ADBUS5 22

ACBUS5 32

VCCIO42

BCBUS1 52 EECLK

62

13 TEST

ADBUS6 23

ACBUS6 33

BDBUS4 43

BCBUS2 53 63 EECS

RESET 14

ADBUS7 24

ACBUS7 34

BDBUS5 44

BCBUS3 54 VCORE64GND15 GND25 GND35

BDBUS6 45

BCBUS4 55 ADBUS0 16

ACBUS0 26

SUSPEND 36 BDBUS7 46

VCCIO56

ADBUS1 17

ACBUS1 27 VCORE37 GND47

BCBUS5 57 ADBUS2 18

ACBUS2 28

BDBUS0 38

BCBUS0 48

BCBUS6 58 ADBUS3 19

ACBUS3 29

BDBUS1 39 VREGOUT

49

BCBUS7 59 U4

FT2232H

GND +1V2

GND1

VO2 3VI

U6 LD1117S12TR

GND1

VO2 3VI

U7 LD1117S25TR

GND1

VO2 3VI

U3 LD1117S33TR

VBUS1

D-2 D+3

GND4Shield5

P8 USB_B

GND

GND +5V

GND +5V

GND GND GND

+5V +1V2 +5V +2V5

+3V3

C20 10uF

C29 10uF

C33 10uF C15

10uF

C25 10uF

C32 10uF

GND GND GND GND GND GND

GND1

VO2 3VI

U8 LD1117S33TR +5V

GND C27 10uF C30

10uF

GND GND

+1V8

C21

3.3uF C22

100nF C26

100nF C28

100nF

GND C16 +1V8

100nF C17

100nF C18

100nF C19

100nF

GND

L1 Ferrite

L2 Ferrite

C14

100nF C13

4.7uF

C12

100nF C10

4.7uF

GND

R13 12k 1%

GND R12 10k

CS1 SCLK2 3DI 4DO

GND5 6ORG 7NC

VCC8

U9 93CxxC R17

2.2k C31

100nF GND R16 10k

R1410k

R1510k

Y1 12MHz C2318pF C24

18pFGND

12

D1 FT2232 R8 10k

+3V3

+2V5

FTDI_D0 FTDI_D1 FTDI_D2 FTDI_D3 FTDI_D4 FTDI_D5 FTDI_D6 FTDI_D7 FTDI_RXF#

FTDI_TXE#

FTDI_RD#

FTDI_WR#

FTDI_SIWUA FTDI_OE#

FTDI_D0 FTDI_D1 FTDI_D2 FTDI_D3 FTDI_D4 FTDI_D5 FTDI_D6 FTDI_D7 FTDI_RXF#

FTDI_TXE#

FTDI_RD#

FTDI_WR#

FTDI_SIWUA FTDI_OE#

FTDI_CLKOUT

FTDI_CLKOUT

1 2

3 4

5 6

7 8

9 10

P1 CONN_02X05

+2V5

GND R1

4.7k R2 4.7k

R3 4.7k TCK TDO TMS TDI

GND +2V5

TCK TDO TMS TDI

+2V5

GND GND

R610k

R4 10k

R5 10k

CLK2 CLK3 CLK4 CLK5 CLK6 CLK7

C8

100nF C7

100nF

GND GND

GND

GND +3V3

12

JP1 OpAmp Vdd

1

2

P6 BNC R11

Rout

GND R10

10k 1 2 3

P4 GND OUT C9

100nF

GND GND GND

R7 1k8

GND 1

2 3

P5 GND 3V3 +3V3

1 2 3

P9 GND 1V2 +1V2

1 2 3

P11 GND 2V5 +2V5

EPCS_ASDI EPCS_nCS

EPCS_DATA

+3V3

C1

100nF C2

100nF C3

100nF C4

100nF C5

100nF C6

100nF

GND

+3V3-FTDI

+3V3-FTDI +3V3-FTDI

+3V3-FTDI +3V3-FTDI

GND +3V3-FTDI

+1V8

+3V3-FTDI +3V3-FTDI +3V3-FTDI +3V3-FTDI

+3V3-FTDI

GND

+3V3-FTDI FT2232

Voltage regulators for FPGA

FPGA decoupling caps

+3V3-FTDI FPGA JTAG

L3 Ferrite

L4 Ferrite

C46 100nF

GND C36

100nF C37

100nF C38

100nF C39

100nF C40

100nF C41

100nF

GND +1V2

C34

100nF C35

100nF

C42

100nF C43

100nF

C44

100nF C45

100nF

GND +2V5

DAC_CLK DAC_Bit_0 DAC_Bit_1 DAC_Bit_2 DAC_Bit_3 DAC_Bit_4 DAC_Bit_5 DAC_Bit_6 DAC_Bit_7 DAC_Bit_8 DAC_Bit_9 DAC_Bit_10 DAC_Bit_11 DAC_Bit_12 DAC_Bit_13

DAC_CLK

DAC_Bit_0 DAC_Bit_1 DAC_Bit_2 DAC_Bit_3 DAC_Bit_4 DAC_Bit_5 DAC_Bit_6 DAC_Bit_7 DAC_Bit_8 DAC_Bit_9 DAC_Bit_10 DAC_Bit_11 DAC_Bit_12 DAC_Bit_13

1 CS

2 DATA Vcc 3

4 GND 5 ASDI

6 DCLK Vcc 7

Vcc 8 U10 EPCS-SOIC8 EPCS_DCLK

EPCS_DATA EPCS_nCS EPCS_ASDI EPCS_DCLK

GND

+3V3

C47

100nF

GND

D- D+

1 P3

CONN_01X01

1 P7

CONN_01X01

1 P10

CONN_01X01

1 P12

CONN_01X01

GND Mounting holes

FPGA configuration flash

DAC and amplifier

GND

+12V L5

10uH D3 D_Schottky

C49 10uF

GND L6 Ferrite

C50 1uF +5V

R25 1k5 R24 13k

GND

+12V D-

D+

1 2

F1 FUSE

GND D2 TVS

Bit_13 1

Bit_12 2

Bit_11 3

Bit_10 4

Bit_9 5

Bit_8 6

Bit_7 7

Bit_6 8

Bit_5 9

Bit_4 10

AGND20

Bit_3 11

IOUTB 21

Bit_2 12

IOUTA 22

Bit_1 13

COMP2 23

Bit_0 14

AVDD24

SLEEP 15 MODE 25

REFLO16

DGND26

REFIO 17

DVDD27

FS_ADJ 18 28CLK

COMP1 19

U2 AD9764

C51 100nF

C52

100nF

GND

12

D4 POWER R26 10k

GND

C53 10uF

GND Op-amp rails generation

R27 49.9R

R281k1

GND +5V

C48 680pF

GND +3V3

Iref = Uref / Rset = 1.2 V / 1.92 kOhms = 625 uA Ioutfs = 32 * Iref = 20 mA Uoutfs = 20 mA * 50 Ohms = 1 V

SW 1

GND 2

FB 3 4 EN 5 VIN

U11 MIC2288

GND

1 2

D5 STATUS

1 2

D6 CONFIG

R910kR18

10k

+3V3

+3V3

D7 13V TVS

GND

OUT 1 2 IN

C1- 3

GND4

5 C1+

U12 MAX871

GND C54 10uF

+5V

C11 10uF

C55 10uF

GND GND

-5V L7 Ferrite

C56 10uF

GND +3V3

R19 25R

R20 0R

GND

-5V 2 1 3

JP2 OpAmp Vss GND

C57 100nF

GND

DAC_Sleep

DAC_Sleep

+3V3

R21 2k

1

V-2

3+

4- V+5 U5

AD8067 R22

10k +3V3

12

D8 FPGA

R23 120R

GND

Odkazy

Související dokumenty

V rámci návrhu a relizace vlastního spínaného zdroje řešil autor několik dílčích technických problémů - startovací obvod pro rozsáhlou oblast vstupních napětí

Jelikož jsem si již dříve ověřil, že kvalita PWM výstupu bude dostatečná (viz. 2.4.1), dalším krokem bylo přepočítání vzorků na PWM signál s tím, že jsem využil triků

Obrázek 6.4 Graf napětí na výstupu regulátoru ze dvou měření chytré lavičky ČZU v intervalu 2..

Na vstup spínaného zdroje je přivedeno síťové napětí o kmitočtu 50 Hz, které je díky vstupnímu usměrňovači přeměněno na stejnosměrné napětí. Toto

Pokud nevíte, pro č je vaše odpov ěď nesprávná, zeptejte se vyu č ujícího.... Víte, co je to

- většinou nevedou elektrický proud.. Takže až větším vnějším napětím než rozkladné napětí je možno v obvodu udržovat trvalý proud.. b) Polarizační napětí

Kuba – izolovaný komunistický ostrov vládců Castrů (Fidela a Castra), nový nástupce Migel Diáz Canel, ostrov je zakonzervován přes 60 let, snaha k otevřené ekonomice

[r]