Podobné dokumenty

3/ %,1'(& 83'1 &( &3 )XQNFH. + ; ; ; ; / ; ; + ; EH]H]PuQ\

11 Elektrické specifikace Mezní parametry* Okolní teplota pøi zapojeném napájení 40 C až +125 C Skladovací teplota 65 C až +150 C Napájecí napìtí na V



1.2 Realizace èekání pomocí jednoduché programové smyèky Pøíklad 3: Chceme-li, aby dítì blikalo baterkou v co nejpøesnìjším intervalu, øekneme mu: Roz


:5$ =islv GDW V DOWHUQDFt QHMY\ããtKRELWX


Izolaèní zesilovaèe s IL300 Zapojení izolaèních zesilovaèù s IL300 se liší pøedevším režimem v nichž pracují interní fotodiody Podle toho zda interní


Podrobný obsah CHARAKTERISTIKA A POROVNÁNÍ ØADY PIC16F87X A PIC16F87XA TYPY POUZDER A PØIØAZENÍ VÝVODÙ PIC16F87X TYPY POUZDER A PØIØAZENÍ

Spínaèe jsou elektrické pøístroje, které slouží k zapínání, pøepínání a vypínání elektrických obvodù a spotøebièù. Podle funkce, kterou vykonávají, je

/2*,.$ 5(6(7 Ë=(1Ë +$/7 *(1(5È ',129é & 6./ $/8. ' /,ý. ýë7$ý 5(*,675 5(*, é. 6e5,29é 5(*,675 * $.808/È725 5:0. %8',ý(/ 45(*,675 5(*


4x kombinovaný analogový vstup s vysokou pøesností (0..10V, R, C)

MU-411/412 MU-811/812. 4x AIN (12 bitù), RS-485

VLASTNOSTI PLOŠNÝCH SPOJÙ

28/40VÝVODOVÝ, 8BITOVÝ CMOS MIKROKONTROLÉR S A/D PØEVODNÍKEM, FLASH PAMÌTÍ PRO PROGRAM A SRAM/EEPROM PRO DATA VLASTNOSTI Velmi výkonný kontrolér s arc

9. Harmonické proudy pulzních usměrňovačů


baspelin CPM Popis komunikaèního protokolu CPM KOMPR

Senzor teploty. Katalogový list SMT


baspelin KTR baspelin RPS Popis komunikaèního protokolu


2 Základní zapojení èasovaèe 555 Základní zapojení jsou taková zapojení, na kterých se na jedné stranì vysvìtlují základní principy funkce obvodu nebo

Vytváøení sí ového diagramu z databáze: pøíklad




Knihy obsahují základní vlastnosti a souhrnné pøehledy obvodù TTL V hlavní èásti jsou obvody seøazeny vzestupnì, podle èíselného oznaèení. U kaž

12 15 Instalace mikroturbíny v blokové plynové výtopnì " ZADÁNO: Instalace mikroturbíny v blokové plynové výtopnì Zjistìte: 1 Zda je ekonomicky výhodn





David Matoušek ÈÍSLICOVÁ TECHNIKA základy konstruktérské praxe Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována ne

UDAQ multifunkèní modul pro rozhraní USB




UDAQ multifunkèní modul pro rozhraní USB



NULOROVÉ MODELY Spokojíme-li se pouze se základní analýzou elektronického obvodu s ideálními prvky, osvìdèuje se èasto užití nulorových modelù aktivní

než je cca 5 [cm] od obvodu LT1070, doporučuje se blokovat napětí U IN

2 PARALELNÍ ROZHRANÍ Paralelní rozhraní realizuje pøenos dat mezi vnitøní sbìrnicí øídicího systému a vnìjším prostøedím po znacích, neboli po slabiká


UDAQ multifunkèní modul pro rozhraní USB


VÍCEKANÁLOVÝ REGISTRÁTOR ELEKTRICKÝCH VELIÈIN SÉRIE DL

9 3 SÉRIOVÝ PORT MIKROKONTROLÉRU 8051 Interní sériový port mikrokontroléru 8051 umožòuje jednoduché a bezproblémové spojení mikrokontroléru s poèítaèe


Jan Humlhans NÁBOJOVÉ PUMPY funkce, pøehled a použití Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována nebo rozmno

DOKOPO. Komunikaèní karta se samostatným procesorem a dual-port pamìtí. Technická pøíruèka. verze 2.0. A plikace Mikroprocesorové Techniky

3.1 Útlum atmosférickými plyny Rezonance molekul nekondenzovaných plynù obsažených v atmosféøe zpùsobuje útlum šíøících se elektromagnetických vln. Ab


Vývody kontaktù ovládacích obvodù stykaèù a pomocného napájení jsou na svorkovém poli, jak je obvyklé u pøstrojù modulového provedení. Provedení èelní

Komerèní využití stavebních návodù je povoleno jen s písemným souhlasem autora a nakladatelství. Soubory na CD ROM mající pøímo vztah ke knize, které

CTR pro optoèlen s LED a tranzistorem:,& &75 = [%] U, CE = const ) Obvykle CTR urèíme pøi I F = 10 ma a U CE = 5 V. Hodnoty zjistíme z tabulky.,& &75

Automatizaèní systém TROVIS 5400 Regul tor d lkového vyt pìní TROVIS 5479

KOMUNIKAÈNÍ DDE SERVER PRO AUTOMATY MICROPEL VERZE 2.3 POPIS ROZHRANÍ A OVLÁDÁNÍ

Termostatické smìšovací ventily




nažhavováním elektronek, takže nedochází k neúmìrnému pøetìžování filtraèních kondenzátorù pøi nábìhu anodového proudu. Polovodièový usmìròovaè vytvoø

]PHQãLWIRQW ]Y WãLWIRQW QDVWDYLWIRQW XORåLWVRXERU Y\WLVNQRXWVRXERU Y\WYR LWQRYêVRXERU

3.7.5 Znaménkové operátory Násobící operátory Rùzné operátory Základní objekty Konstanty Sig


OSCILÁTORY Parametry a zásady pou ívání oscilátorù GEYER. 1. Princip funkce a konstrukce oscilátoru. 2. Stabilita jmenovitého kmitoètu.

8. ZÁKLADNÍ ZAPOJENÍ SPÍNANÝCH ZDROJŮ

Univerzální obvod rozhraní (UTI) Revoluce v mìøicích obvodech pro senzory

PA20 Pøedzesilovaè kapacitní sondy Pøedpis instalace a údržby

TERM 4MK. Univerzální regulaèní systém. Charakteristika. ZPA EKOREG s.r.o. Ústí nad Labem

Regulátor TERM 2.0 NÁVOD K OBSLUZE A MONTÁ NÍ PØÍRUÈKA


MÌØENÍ ENERGIE vždy detailní pøehled o vaší spotøebì




UDAQ-1416A UDAQ-1416D UDAQ-1432A. multifunkèní moduly pro rozhraní USB


2 Deset jednoduchých zkušebních a indikaèních zapojení Na následujících stranách je vidìt, že i velmi jednoduchá zapojení se svìtelnými diodami mohou




MU-3222A MU-3225A MU-3226A DIN, CNT, RS-485


Automatický systém TROVIS 5400 Regul tor d lkového vyt pìní TROVIS 5476


5. A/Č převodník s postupnou aproximací

MU-3251A MU-3253A DOUT, RS-485

Automatizaèní systém TROVIS 5400 Regul ror d lkového vyt pìní TROVIS 5475


Kapitola 3 UNIPOLÁRNÍ TRNZISTORY 3.1 Obecný popis Unipolární tranzistory s pøechodovým hradlem (JFET) MOSFET MOSFET zvláštní k




Transkript:

Vážení zákazníci, dovolujeme si Vás upozornit, že na tuto ukázku knihy se vztahují autorská práva, tzv. copyright. To znamená, že ukázka má sloužit výhradnì pro osobní potøebu potenciálního kupujícího (aby ètenáø vidìl, jakým zpùsobem je titul zpracován a mohl se také podle tohoto, jako jednoho z parametrù, rozhodnout, zda titul koupí èi ne). Z toho vyplývá, že není dovoleno tuto ukázku jakýmkoliv zpùsobem dále šíøit, veøejnì èi neveøejnì napø. umis ováním na datová média, na jiné internetové stránky (ani prostøednictvím odkazù) apod. redakce nakladatelství BEN technická literatura redakce@ben.cz

6 UNIVERZÁLNÍ ROZHRANÍ USB V této kapitole pøedstavíme konkrétní vývojovou aplikaci USB Úkolem je existující rozhraní na RS232 (CompuLAB firmy Modul-Bus) novì vyvinout pro USB Nejdùležitìjší kroky tohoto vývoje jsou zde dokumentovány a mohou sloužit jako základ pro vlastní pokusy Hotové zaøízení je vyrábìno firmou Modul-BUS pod oznaèením CompuLAB-USB Také vlastní stavba je možná, protože jsou k dispozici všechny potøebné informace Technická data starého rozhraní CompuLAB mají být zachována nebo zlepšena Z toho vyplývají následující minimální požadavky na novì vyvinuté rozhraní: 8 digitálních výstupù, kompatibilních s TTL, 8 digitálních vstupù, kompatibilních s CMOS, s vysokým vstupním odporem, 2 analogové vstupy, rozlišení 8 bitù, rozsah 0 až 5 V Protože obvod CY7C63000 na rozdíl napø od øadièe svého pøedchùdce ST6 nemá žádný interní A/D pøevodník, musí se nejprve vyhledat vhodný A/D pøevodník Nenákladný typ je TLC541 s 11 vstupy a rozlišovací schopností 8 bitù Proti tomuto pøevodníku však hovoøí to, že vyžaduje externí hodinový signál 2 MHz Nejbližší lepší pøevodník od Texas Instruments je TLC1543 s rozlišením 10 bitù Má interní generátor hodin a vyžaduje pro vybuzení ètyøi nebo pìt linek portu, podle toho, je-li vyhodnocován signál End-Of-Conversion, pøípadnì se použije jednoduchá èasová smyèka Na tento pøevodník padla volba také proto, že má pøíznivý pomìr cena/výkon 6 1 A/D PØEVODNÍK TLC1543 A/D pøevodník TLC1543 je integrovaný obvod CMOS se sériovì taktovaným rozhraním k pøímému buzení mikroøadièem Digitální data se tedy objevují na jediné lince a jsou mikroøadièem naèítána postupnì Linka hodinového signálu øídí pøenos dat jako u posuvného registru Stejným zpùsobem se data, zde speciálnì adresa vstupního kanálu, pøenáší z mikroøadièe do pøevodníku Napájecí napìtí je 5 V, typický proudový odbìr je asi 1 ma Pøevodník pracuje metodou postupných aproximací se sítí z binárnì vážených kondenzátorù Obr 6 1 ukazuje principiální schéma Komparátor CMOS testuje každý bit porovnáním náboje V první fázi pøevodu se pøevezme analogová hodnota sepnutím spínaèe S-C a všech spínaèù S-T Všechny kondenzátory se pøitom nabijí na vstupní napìtí, pøièemž jejich spoleèný pøívod je na potenciálu spínacího prahu komparátoru rovného asi polovinì napájecího napìtí Potom se spínaèe rozepnou Komparátor pak testuje napìtí každého kondenzátoru Nejprve se pøipojí uzel 512 (node 512) na referenèní napìtí REF+ a všechny ostatní uzly na REF Když výsledné napìtí leží pod prahovým napì- A B KAINKA: USB MÌØENÍ, ØÍZENÍ A REGULACE POMOCÍ SBÌRNICE USB 67

tím, bude pro bit 9 rozpoznána jednièka a kondenzátor zùstane na REF+ Tentýž proces se pak bude opakovat s kondenzátorem s váhou 256, aby se získal bit 8 Pøi každém kroku postupné aproximace se pùvodní náboj rozdìlí na všechny kondenzátory Po celkem deseti porovnáních bude napìtí urèeno s pøesností na 10 bitù Treshold Detector výstup Latches Obr 6 1 Princip pøevodníku se spínanými kondenzátory (Texas Instruments) Vstup pøevodníku je interním multiplexerem pøiveden vždy na jeden z 11 externích vstupù Navíc existují tøi interní kanály, které umožòují autotest Kanál A11 je internì pøiveden na polovinu referenèního napìtí a dává výsledek 512 Možné odchylky poskytují cenné informace o pøípadném rušení, napø nedostateèném vyfiltrování napájecího napìtí Obvod TLC1543 používá k aktivaci pøenosu dat s øadièem linku chip-select ( &6 ) 14-Chanel Analog Multiplexer Sample and Hold vstupní adres Registr 10bitový Analogový digitální Convertor (switched capacitors) Output Data Registr 10-to-1 Data Selector and Driver Adresa Self-Test Reference Systém Clock, Control Logic, and I/O Counters Obr 6 2 Blokové schéma obvodu TLC1543 68 B KAINKA: USB MÌØENÍ, ØÍZENÍ A REGULACE POMOCÍ SBÌRNICE USB A

Obr 6 3 Rozložení vývodù obvodu TLC1543 Pøevod A/D se provádí, pokud je &6 na vysoké úrovni, tedy neaktivní Každý taktovaný pøenos dat dodává souèasnì 10 datových bitù posledního pøevodu mikroøadièi a na A/D pøevodník posílá adresu kanálu následujícího pøevodu Pøevodník jsme pro první pokus chtìli pøipojit na desku vývojového kitu s co nejmenšími zmìnami softwaru Nabízí se nahradit rutinu teplomìru rutinou AD Odpovídajícím zpùsobem se použijí vývody portù P0 0 až P0 4 Access Cycle B Sample Cycle B Hi-Z State Previous Conversion Data Initialize Shift in New Multiplexer Address; Simultaneously Shift Out Previous Conversion Value A/D Conversion Interval Initialize Obr 6 4 Graf prùbìhu impulzù pøi vybuzení Pøímá náhrada rutiny teplomìru beze zmìn na jádru programu øadièe vede k tomu, že AD rutina TLC1543a asm øízená timerem je vyvolána každých 1024 µs Výsledky pøevodu se ukládají do pamì ových bunìk 78h a 79h Obr 6 5 Pøipojení pøevodníku na port 0 A0 A1 A2 A3 A4 A5 A6 A7 A8 GND U CC EOC CLK ADDR DOUT CS REF+ REF A10 A9 P0 0 P0 1 P0 2 P0 3 P0 4 +5 V A B KAINKA: USB MÌØENÍ, ØÍZENÍ A REGULACE POMOCÍ SBÌRNICE USB 69

; TLC1543a asm 10 Bit 12 Chanell AD-Converter ; Anschluss an Port 0 ADPort :equ 00h ; SysPort0 ADMaskBits :equ 1fh ; ADEOC :equ 01h ; P0 0 ADClock :equ 02h ; P0 1 ADDataIn :equ 04h ; P0 2 ADDataOut :equ 08h ; P0 3 ADCS :equ 10h ; P0 4 gbadchan :equ 31h ; gbadportmirror :equ 32h ; gbadbitcount :equ 33h ; gbadchanin :equ 34h ; gbaddathi :equ 78h ;USBEndP1FIFO gbaddatlo :equ 79h ;USBEndP1FIFO +1 ;//$PAGE ;******************************************************************************* ; ADRead() ; ;******************************************************************************* ADRead: mov a,[gbadchanin] mov [gbadchan],a mov a,[gbport0] and a,~adclock or a,(addataout ADCS ADEOC) mov a,00h mov [gbaddathi],a mov [gbaddatlo],a and a,~adcs mov a,8 ADLoop1: mov [gbadbitcount],a ;read analog input ; setup port bits ;CS low ;8 bits count 70 B KAINKA: USB MÌØENÍ, ØÍZENÍ A REGULACE POMOCÍ SBÌRNICE USB A

mov a,[gbaddathi] ;output data shift left asl a mov [gbaddathi],a iord ADPort ;read one Bit from Dout and a,addataout cmp a,addataout jnz Ainlow1 mov a,[gbaddathi] or a,01h mov [gbaddathi],a Ainlow1: ;output one bit to Din and a,~addatain mov a,[gbadchan] and a,80h cmp a,80h jnz AoutLow or a,addatain AoutLow: or a,adclock ; set clock high mov a,[gbadchan] ;input data shift left asl a mov [gbadchan],a and a,~adclock ; set clock low mov a,[gbadbitcount] ; complete loop 1 dec a jnz ADLoop1 ; read the two bytes left A B KAINKA: USB MÌØENÍ, ØÍZENÍ A REGULACE POMOCÍ SBÌRNICE USB 71

mov a,02h ADLoop2: mov [gbadbitcount],a mov a,[gbaddatlo] ;output data shift left asl a mov [gbaddatlo],a iord ADPort ;read one Bit from Dout and a,addataout cmp a,addataout jnz Ainlow2 mov a,[gbaddatlo] or a,01h mov [gbaddatlo],a Ainlow2: ;set clock high or a,adclock and a,~adclock ;set clock low mov a,[gbadbitcount] ;complete loop 2 dec a jnz ADLoop2 ;set CS high or a,adcs ret Listing 6 1 Buzení TLC1543 prostøednictvím portu 0 Program používá dvì smyèky s celkem 12 hodinovými impulzy V první smyèce se ète 12 datových bitù a 8 datových bitù se posune do pøevodníku Hlavní program pøedá v globálním bytu gbadchanin pøíslušný analogový vstup Protože první ètyøi pøenášené bity pøedstavují adresu pro interní multiplexer A/D pøevodníku, pøenášejí se vždy násobky 10h (tj 16) (00, 16, 32, 48 ) Rutina okopíruje èíslo kanálu do promìnné gbadchan, která se ve smyèce osmkrát posune doleva, aby 72 B KAINKA: USB MÌØENÍ, ØÍZENÍ A REGULACE POMOCÍ SBÌRNICE USB A

se izoloval vždy jeden bit Podobným zpùsobem se postupnì naèítá prvých osm bitù posledního pøevodu a posouvá se do gbaddathi Druhá smyèka zpracovává u 10bitového mìøení oba bity pøevodu s nejnižší váhou Zde již není potøebný žádný výstup na pøevodník Nižší byte (lowbyte) se uloží na adresu 79h v nepoužité pamìtí FIFO koncového bodu 1 Uživatel mùže v závislosti na požadavcích èíst jen vyšší byte (highbyte) na adrese 78h a získat tak pøesnost 8 bitù nebo použije i lowbyte, aby se pøesnost zvýšila na 10 bitù Celá rutina AD potøebuje asi 140 µs Není nutné brát ohled na dobu konverze, protože pøevod se spouští jen jednou za milisekundu Tím je k dispozici 860 µs, zatímco pøevodník vystaèí s 21 µs Na druhé stranì byly do smyèky zaøazeny instrukce NOP (no operation), aby byla zajištìna dostateènì dlouhá fáze High hodinových impulzù Pomìrnì velké zvyšovací odpory a velmi malý výstupní proud na portu 1 vedly spolu s nevyhnutelnými parazitními kapacitami k zaoblení hodinových impulzù, což se ukázalo tolerovatelné jen pøi prodloužení hodinových impulzù V tomto prvním pokusu byla data pøipravena pøímo ve výstupní oblasti 78/79h Ukázalo se však, že jistý procentuální podíl dat byl narušen Jako pøíèina pøicházelo v úvahu jen zpracování pøerušení AD rutina samotná bìží s pøerušením od èasovaèe 1024 µs Mùže být pøerušena, dojde-li k události koncového bodu 0 AD rutina potøebuje asi 140 µs Je tedy pravdìpodobnost asi 14 %, že probìhne pøístup pro ètení výsledku, když ještì bìží pøevod Zlepšení se dosáhne, jestliže se data pøipraví na dvou jiných pamì ových místech a teprve nakonec se pøekopírují na výstup Jiným problémem je èasové chování Øídicí dotaz (Control request) vyžaduje vždy tøi USB rámy, tedy 3 ms Na každý kanál je zapotøebí jeden zápisový pøístup a dva ètecí pøístupy na RAM Tím dojdeme k èasové potøebì 9 milisekund na kanál Naproti tomu u RS232, pøedchùdce USB, je zapotøebí jen jedna milisekunda Zde byl jen jeden dotazovací pøíkaz na kanál Navíc byl vyslán byte a pøijat byte odpovìdi Pøi pøenosové rychlosti 19 200 baudù z toho vyplývala doba asi 1 ms 6 2 SHRNUTÍ KANÁLÙ AD Nevýhodu pomalejšího dotazování na zaøízení USB je možno vykompenzovat tím, že se souèasnì naèítá nìkolik kanálù Jedním dotazem je možno spoleènì pøenést až 8 bytù Díky tomu je možno dotazovat se souèasnì na ètyøi kanály Pøenos èísla kanálu není nutný, jestliže firmware automaticky inkrementuje èíslo kanálu a provádí nìkolik mìøení dohromady Vlastní mìøení na ètyøech kanálech mùže probíhat v pøerušení od timeru, potøebuje-li výraznì ménì než 1 milisekundu Mìøená data pro ètyøi kanály se obnovují jednou za milisekundu Dotaz na ètyøi kanály vyžaduje jen tøi milisekundy, je-li k dispozici odpovídající funkce ovladaèe pro dotaz na osm bytù Tím se získá malá výhoda v rychlosti oproti RS232 Koneèné využití portu by mìlo vystaèit s minimem souèástek Protože A/D pøevodník s 11 vstupními kanály nabízí víc, než je zapotøebí, je nasnadì myšlenka využít 8 analogových vstupù jako digitální vstupy To vyžaduje jedno mìøení na každém z osmi kanálù a vážení výsledkù mìøení V koneèném výsledku je tímto zpùsobem možno využívat port 0 mikroøadièe zcela pro digitální výstupy, kdežto A B KAINKA: USB MÌØENÍ, ØÍZENÍ A REGULACE POMOCÍ SBÌRNICE USB 73

port 1 se svými ètyømi linkami obsluhuje A/D pøevodník Linka EOC se nevyhodnocuje, takže ètyøi linky portu staèí Pøi vhodném uspoøádání je možno budit i LED pro indikaci pøipravenosti Zapojení podle obr 6 6 používá prvých osm vstupních kanálù jako digitální vstupy Tím jsou k dispozici tøi vstupy jako analogové Dodateèný vstup pøedstavuje zlepšení oproti pùvodnímu rozhraní (CompuLAB = RSS232) Pøi vhodném dimenzování vstupních obvodù je nadto možno dosáhnout i toho, že všechny digitální vstupy lze volitelnì využívat také jako analogové vstupy V pøípadì potøeby bychom tedy mìli všech 11 analogových vstupù digitální výstupy DO0 DO7 P0 0 P 07 digitální vstupy DI0 DI7 A0 A1 A2 A3 A4 A5 A6 A7 A8 GND U CC EOC CLK ADDR DOUT CS REF+ REF A10 A9 P1 0 P1 1 P1 2 P1 3 +5 V TLC1543 Obr 6 6 Pøiøazení portù analogový vstup A analogový vstup B Z èasových dùvodù se mají ètyøi AD kanály mìøit spoleènì Uživatel mùže urèit poèáteèní kanál, od nìhož se budou kanály poèítat Rutina pøevodníku se k tomu úèelu musí vyvolat pìtkrát, protože pøevedená data se mohou naèítat vždy teprve pøi následujícím volání Mezi jednotlivými sériovými pøístupy na pøevodník se tentokrát musí dodržovat doba pøevodu 21 µs Pøíkazy NOP pro prodloužení hodinových impulzù si však mùžeme ušetøit, protože výkonnìjší výstupy portu 1 dávají strmìjší hrany impulzù Celkovì je pøevod proveden za 650 µs, což je ještì dostateènì daleko od mezní hodnoty 1024 µs Zbylých 350 µs musí staèit pro jiné události vyvolávající pøerušení, zejména pro dotazy (requests) USB ; TLC1543b asm 10 Bit 12 Kanal AD-Converter ADPort :equ 01h ; SysPort1 ADMaskBits :equ 1fh ; ADClock :equ 01h ; P1 0 ADDataIn :equ 02h ; P1 1 ADDataOut :equ 04h ; P1 2 ADCS :equ 08h ; P1 3 74 B KAINKA: USB MÌØENÍ, ØÍZENÍ A REGULACE POMOCÍ SBÌRNICE USB A