Bevezetés az elektronikus mérésekbe



Hasonló dokumentumok
Mérési utasítás. P2 150ohm. 22Kohm

Bevezetés a méréstechnikába és jelfeldolgozásba. Tihanyi Attila április 24.

Mérési utasítás. +5V 680ohm. Udi

Az interrupt Benesóczky Zoltán 2004

Programozási segédlet DS89C450 Fejlesztőpanelhez

SYS700-PLM Power Line Monitor modul DDC rendszerelemek, DIALOG-III család

Programozott soros szinkron adatátvitel

A mikroprocesszor felépítése és működése

I. C8051Fxxx mikrovezérlők hardverfelépítése, működése. II. C8051Fxxx mikrovezérlők programozása. III. Digitális perifériák

Mikrokontrollerek. Tihanyi Attila május 8

Mikroprocesszor CPU. C Central Központi. P Processing Számító. U Unit Egység

1. Az utasítás beolvasása a processzorba

A/D és D/A konverterek vezérlése számítógéppel

Számítógép felépítése

SYS700-A Digitális szabályozó és vezérlõ modul DDC rendszerelemek, DIALOG-III család. Terméktámogatás:

Vegyes témakörök. A KAT120B kijelző vezérlése Arduinoval

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

ATMEL ATMEGA MIKROVEZÉRLŐ-CSALÁD

Mérési jegyzőkönyv. az ötödik méréshez

Logaritmikus erősítő tanulmányozása

Mérési útmutató. A/D konverteres mérés. // Első lépésként tanulmányozzuk a digitális jelfeldolgozás előnyeit és határait.

0 0 1 Dekódolás. Az órajel hatására a beolvasott utasítás kód tárolódik az IC regiszterben, valamint a PC értéke növekszik.

MaxiCont. MOM690 Mikroohm mérő

A Számítógépek felépítése, mőködési módjai

elektronikus adattárolást memóriacím

MSP430 programozás Energia környezetben. Kitekintés, további lehetőségek

Mechatronika és mikroszámítógépek. 2018/2019 I. félév. Külső megszakítások

Gingl Zoltán, Szeged, dec. 1

Multi-20 modul. Felhasználói dokumentáció 1.1. Készítette: Parrag László. Jóváhagyta: Rubin Informatikai Zrt.

Analóg-digitális átalakítás. Rencz Márta/ Ress S. Elektronikus Eszközök Tanszék

Mintavételes szabályozás mikrovezérlő segítségével

Járműfedélzeti rendszerek I. 4. előadás Dr. Bécsi Tamás

T Bird 2. AVR fejlesztőpanel. Használati utasítás. Gyártja: BioDigit Kft. Forgalmazza: HEStore.hu webáruház. BioDigit Kft, Minden jog fenntartva

Készítette: Oláh István mestertanár

A mikroszámítógép felépítése.

FL-11R kézikönyv Viczai design FL-11R kézikönyv. (Útmutató az FL-11R jelű LED-es villogó modell-leszállófény áramkör használatához)

Eduino mérőpanel. Alapötlet:

3. A DIGILENT BASYS 2 FEJLESZTŐLAP LEÍRÁSA

2.3. Soros adatkommunikációs rendszerek CAN (Harmadik rész alapfogalmak II.)

8. Laboratóriumi gyakorlat INKREMENTÁLIS ADÓ

Villamos jelek mintavételezése, feldolgozása. LabVIEW 7.1

Áramgenerátorok alapeseteinek valamint FET ekkel és FET bemenetű műveleti erősítőkkel felépített egyfokozatú erősítők vizsgálata.

Analóg kimeneti modul MULTICAL -hoz és ULTRAFLOW -hoz. 1.0 Alkalmazás

Egyszerű kísérletek próbapanelen

Vezérlés és irányítástechnológia (Mikroprocesszoros irányítás)

Kiegészítés az üzemeltetési utasításhoz

Serial 2: 1200/2400 bps sebességû rádiós modem vagy

3. Hőmérők elkészítése

Útmutató EDC kézivezérlőhöz

Járműfedélzeti rendszerek I. 3. előadás Dr. Bécsi Tamás

T Bird 2. AVR fejlesztőpanel. Használati utasítás. Gyártja: BioDigit Kft. Forgalmazza: HEStore.hu webáruház. BioDigit Kft, Minden jog fenntartva

S7021 ADATGYŰJTŐ. 2-csatornás adatgyűjtő számláló és bináris bemenettel. Kezelési leírás

PWM elve, mikroszervó motor vezérlése MiniRISC processzoron

Assembly Utasítások, programok. Iványi Péter

Új kompakt X20 vezérlő integrált I/O pontokkal

KIBŐVÍTETT RUGALMAS AUTOMATIZÁLÁS

Az MSP430 mikrovezérlők digitális I/O programozása

Járműfedélzeti rendszerek I. 5. előadás Dr. Bécsi Tamás

Procontrol RSC-24B. Kezelői, telepítői kézikönyv. RS232 / RS485 adatkonverter. Verzió:

Gingl Zoltán, Szeged, :44 Elektronika - Diódák, tranzisztorok

Dr. Oniga István DIGITÁLIS TECHNIKA 9

Roger UT-2. Kommunikációs interfész V3.0

LOGSYS LOGSYS LCD KIJELZŐ MODUL FELHASZNÁLÓI ÚTMUTATÓ november 8. Verzió

Számítógépek felépítése, alapfogalmak

HSS60 ( ) típusú léptetőmotor meghajtó

MSP430 programozás Energia környezetben. Hétszegmenses LED kijelzok

Az MSP430 energiatakarékos használata

9. Gyakorlat - Optoelektronikai áramköri elemek

Hardverközeli programozás 1 1. gyakorlat. Kocsis Gergely

SZÁMÍTÓGÉPEK BELSŐ FELÉPÍTÉSE - 1

Analóg elektronika - laboratóriumi gyakorlatok

Mechatronika és mikroszámítógépek. 2016/2017 I. félév. Analóg-digitális átalakítás ADC, DAC

EB134 Komplex digitális áramkörök vizsgálata

LPT_4DM_2a. Bekötési utasítás

Programozható Logikai Vezérlő

PERREKUP DxxTx - HDK10 Rekuperátor vezérlő Használati Utasítás

Informatika 1 2. el adás: Absztrakt számítógépek

I 2 C, SPI, I 2 S, USB, PWM, UART, IrDA

OMRON FOTOELEKTROMOS KAPCSOLÓK E3NT

Laboratóriumi műszerek megvalósítása ARM alapú mikrovezérlővel és Linux-szal

Labor gyakorlat Mikrovezérlők

Villamos jelek mintavételezése, feldolgozása. LabVIEW előadás

A LÉGKONDICIONÁLÓ TÁVIRÁNYÍTÓJA HASZNÁLATI ÚTMUTATÓ

Ellenőrző mérés mintafeladatok Mérés laboratórium 1., 2011 őszi félév

Egy PIC-BASIC program fordítása, betöltése

Dr. Oniga István DIGITÁLIS TECHNIKA 9

loop() Referencia:

Nagy Gergely április 4.

Hardver leírás Klasszikus kontroller v.3.2.2

MPLC-06-MIO 1 analóg és 3 digitális bemeneti állapotot átjelző interfész. Műszaki leírás

DIALOG II PLM-B-000-LCD Hálózati paraméter felügyeleti modul Speciális készülékek

T2-CNCUSB vezérlő család hardver segédlet

ELEKTROTECHNIKA-ELEKTRONIKA ELEKTROTECHNIKA

Dr. Oniga István DIGITÁLIS TECHNIKA 8

Számítógépek felépítése

D/A konverter statikus hibáinak mérése

EGYENÁRAMÚ TÁPEGYSÉGEK

Jelfeldolgozás a közlekedésben. 2017/2018 II. félév. Analóg-digitális átalakítás ADC, DAC

1 csűrő 1 csűrő 2 magassági 2 magassági 3 gáz 3 gáz 4 oldalkormány 4 oldalkormány 5 Robot üzemmód 5 csűrő

MICROCHIP PIC DEMO PANEL

Átírás:

Bevezetés az elektronikus mérésekbe D = Dióda mérés T = Tranzisztor mérés M1 = Mikrokontroller alaputasítások, alapműveletek megismerése M2 = Mikrokontroller számjegy-kijelzés és reflex-idő mérés M3 = Mikrokontrolleres jelzőhang előállítás és (alternatívan) motorvezérlés D-MÉRÉS. Diódák statikus mérése A mérés célja: félvezető diódák karakterisztikájának felvétele A mérendő objektumok: kisáramú pn-dióda, LED, Zener-dióda és termisztor A felhasznált mérőműszerek és rövid leírásuk: statikus mérőpanel, céláramkör, kézi multiméter, telepes hálózati adapter A végrehajtandó feladatok: 1. mérés. Dióda karakterisztika felvétele. A BAY43 típusú szilícium egyenirányító dióda az U di és GND pontok között helyezkedik el, az áram-meghajtást (mindig ilyet kell alkalmazni!) a vele sorban levő, a D i és U di pontok között levő 680 Ω értékű ellenállás valósítja meg. A diódán folyó áram így I d =(D i -U di )/680Ω, a diódán levő feszültség pedig U di. A statikus karakterisztika ezen két mennyiség ábrázolása különböző értékpárokra. A mérés menete: - kössük össze az U 1 és D i pontokat, - helyezzük a panelt feszültség alá (bedugva a hálózati adaptert), - ellenőrizzük a bejövő feszültséget az U telep ponton ( célszerűen kb. 5V kell legyen), - állítsunk be valamilyen feszültséget a P 1 (baloldali) potencióméterrel, - mérjük meg a D i és U di pontok feszültségét (a multiméter földje legyen mindig összekötve a panel közös földpontjával!), - számítsuk ki a dióda áramát, - jegyezzük fel a kapott I d U di értékpárt, - állítsunk be a potenciométerrel más D i feszültségeket és ismételjük meg az értékpárok meghatározását, legalább 10 pontban, az I d =0,1-10mA tartományban, lehetőleg egyenletesen elosztva, - ábrázoljuk milliméter-papíron a kapott pontokat és ennek közelítéseként szerkesszük meg a dióda egytöréspontos karakterisztikáját. 2. mérés. LED-dióda karakterisztika felvétele. A fényemittáló dióda az U led és GND pontok között helyezkedik el, az áram-meghajtást (mindig ilyet kell alkalmazni!) a vele sorban levő, a LED és U led pontok között levő 680 Ω értékű ellenállás valósítja meg. A diódán folyó áram, az előzőhöz hasonlóan, I d =(LED - U led )/680 Ω, a dióda levő feszültség pedig U led. A mérés kezdetén az U 1 és LED pontokat kell összekötni. A továbbiakban a mérés menete teljesen hasonló az előbbihez. Mérés közben figyeljük a kibocsátott fény intenzitását. 3. mérés. Zener-dióda karakterisztika felvétele. A 4,7V-os feszültség-stabilizáló dióda az U z és GND pontok között helyezkedik el, az áram-meghajtást (mindig ilyet kell alkalmazni!) a vele sorban levő, a ZEN és U z pontok között levő 360Ω értékű ellenállás valósítja meg. A mérés kezdetén az U 1 és ZEN pontokat kell 1

összekötni. A továbbiakban a mérés menete, beleértve a dióda-áram kiszámítását és a karakterisztika-pontok felvételét, teljesen hasonló az előbbihez. 4. mérés. Termisztor statikus (időben állandósult) I/U karakterisztikájának felvétele állandó külső hőmérséklet mellett. A hőmérsékletre az ellenállását változtató elem az U th és GND pontok között helyezkedik el, az áram-korlátozást (amely egyben lehetőséget ad az áram mérésére) a vele sorban levő, atherm és U th pontok között levő 470Ω értékű ellenállás valósítja meg. A mérés menete, beleértve a termisztor áramának kiszámítását és a karakterisztika-pontok felvételét, teljesen hasonló az előbbihez. Figyeljük meg, meg hogy az áram növelésével a termisztoron fellépő teljesítmény melegíti az eszközt, amelynek ellenállása ennek következtében adott időállandóval csökken. A mérés kezdetén az U 1 és Therm pontokat kell összekötni. A továbbiakban a mérés menete, beleértve a termisztor áramának kiszámítását és a karakterisztika-pontok felvételét, teljesen hasonló az előbbihez Mérési jegyzőkönyv: a BAY41, a LED és Zener-dióda I(U) karakterisztikája milliméterpapíron. Ellenőrző kérdések: a) Indokolja meg a dióda-karakterisztika alakját, b) hol alkalmazzák a Zener-diódát, c) mi a LED működésének alapja? T-MÉRÉS. Tranzisztorok statikus mérése. A mérés célja: tranzisztorok és optocsatoló karakterisztikájának felvétele A mérendő objektumok: kisáramú npn tranzisztor, nfet és optovilla A felhasznált mérőműszerek és rövid leírásuk: statikus mérőpanel, céláramkör, kézi multiméter, telepes, hálózati adapter A végrehajtandó feladatok: 1. mérés. Bipoláris tranzisztor I C (I b,u C ) karakterisztikának felvétele. A BC182 típusú szilícium npn tranzisztor bázisa ill. kollektora az U b ill. U C pontokra kapcsolódik. A bázis a vele sorban levő 2KΩ-os ellenálláson keresztül vezérelhető a BB pontot összekapcsolva az U 1 feszültségforrással. A kollektor táplálása a 150 Ω-os soros ellenálláson keresztül történik, a CC pontot összekötve az U 2 feszültségforrással. Az áramok a soros ellenállásokon eső feszültségekből számolhatók, U C pedig közvetlenül mérhető. A statikus karakterisztika ezen három mennyiség összetartozó értékeinek ábrázolása. A mérést kissé bonyolítja, hogy I C növelésével U C értéke ( a soros ellenálláson eső nagyobb feszültség miatt) csökken, amit U 2 -vel után kell állítani. A mérés menete főbb pontjait tekintve azonos az 1. mérésben alkalmazottakkal. 2. mérés. Térvezérelt tranzisztor I d (U g, U d ) karakterisztikának felvétele. Az IRF740 típusú N-csatornás (nagyáramú) szilícium MOS-tranzisztor gate-je ill. drain-je az U g ill. U d pontokra kapcsolódik. A gate a vele sorban levő 2KΩ-os védő-ellenálláson keresztül vezérelhető a gg pontot összekapcsolva az U 1 feszültségforrással (a gate árama gyakolatilag zérus). A drain táplálása a 150Ω-os soros ellenálláson keresztül történik, a DD pontot összekötve az U 2 feszültségforrással. A drain-áram a soros ellenálláson eső feszültségből számolható, U d pedig közvetlenül mérhető. A statikus karakterisztika ezen három mennyiség összetartozó értékeinek ábrázolása. A mérést kissé bonyolítja, hogy I d növelésével U d értéke (a soros ellenálláson eső nagyobb feszültség miatt) csökken, amit U 2 -vel után kell állítani. A mérés menete főbb pontjait tekintve azonos az 1. mérésben alkalmazottakkal. 3. mérés. Optovilla I out (I in ) karakterisztikának felvétele, vagyis a kimeneti áramnak a bemeneti áramtól való függésének meghatározása. A megszakítható fényáramú optocsatoló fénykibocsátó LED-je az U in pontra kapcsolódik, amely az OPT1 pontról vezérelhető egy 680 ohm értékű soros ellenálláson keresztül, összekapcsolva azt az U 1 feszültségforrással. A fényérzékelő tranzisztor kimenete az U out pontra kapcsolódik, amely az OPT 2 ponton keresztül egy 680Ω értékű soros ellenállással csatlakoztatható az U 2 feszültségforrással. Mind a LED, mind a fotótranzisztor árama a 2.4KΩ-os soros ellenállásokon eső feszültségekből számolható. A statikus karakterisztika ezen két mennyiség összetartozó értékeinek ábrázolása. (A LED-nek magának a 2

karakterisztikáját az 1/b. mérésben határozzuk meg, a fotótranzisztor karakterisztikája pedig egy olyan bipoláris tranzisztor görbéje, amelynél a bázisáramot egy fényáram helyettesíti!). A mérés menete főbb pontjait tekintve azonos az 1/a. mérésben alkalmazottakkal. Mérési jegyzőkönyv: a bipoláris- és MOSFET tranzisztor I(Ube,Uki) karakterisztikája milliméter-papíron. Ellenőrző kérdések: a) Mi FET tranzisztorok működésének alapja, b) melyek a FET fő előnyei a bipoláris tranzisztorokkal szemben? M1-MÉRÉS. Mikrokontroller alaputasítások, alapműveletek A mérés célja: mikroszámítógépek gyakorlati megismerése, egyszerűbb műveletek, időzítések megvalósítása, valamint az analóg/digitális átalakító megismerése. A mérendő objektumok: Texas-alapú mikrokontroller és csatlakoztatott kijelző A felhasznált mérőműszerek és rövid leírásuk: - mikrokontroller-panel, céláramkör, hálózati adapter A végrehajtandó feladatok: 1. Alapismeretek - Helyezze üzembe a mikrogépet és létesítsen kommukációs kapcsolatot a mikrogép és a PC között, - Program segítségével írjon be 8-bites számokat a különböző regiszterekbe és ellenőrizze az eredményt import művelet segítségével. - adjon össze két regiszterbe írt 8-bites számot és ellenőrizze az eredményt, - vonjon ki egymásból két regiszterbe írt 8-bites számot és ellenőrizze az eredményt, - írjon egy programot, amely egy hexadecimálisan megadott számot egy kétjegyű decimális számmá alakít át. Mérési jegyzőkönyv: a decimális átalakítás programjának forrásnyelvű listája. 2. Output port vezérlése - A meglévő időzítő rutinok felhasználásával írjon egy szubrutint, amely a sárga LED-et t=0,5sec ill. t=1,0sec ütemben villogtatja, 3. A/D konverter mérése. - állítson be különböző feszültségeket a potencióméteren és felhasználva a meglévő ADC átalakító rutint, ennek digitalizált értékét írja be egy regiszterbe. Mérési jegyzőkönyv: a sárga LED-et működtető program forrásnyelvű listája. Ellenőrző kérdések: a) Melyek az alkalmazott mikrokontroller alapvető utasításai, b) milyen feltételes ugróutasításokat ismer, c) hol használ a mikrokontroller két-byte hosszúságot és hogyan, d) Milyen elven történik az A/D átalakítás, e) milyen lépésekből áll az átalakítás programja, f) milyen felbontás érhető el 5V referencia-feszültség esetén? M2- MÉRÉS. Mikrokontrolleres számjegy-kijelzés és reflex-idő mérés A mérés célja: időtartam-mérés és kijelzése mikrokontroller segítségével A mérendő objektumok: Texas-alapú mikrokontroller és csatlakoztatott optovilla A felhasznált mérőműszerek és rövid leírásuk: - mikrokontroller-panel, céláramkör, hálózati adapter A végrehajtandó feladatok: - írjon egy programot, amely egy 0-99 közötti számot megjelenít a 7-szegmenses kijelzőkön, - írjon egy programot, amely (felhasználva az ADC átalakító szubrutint) a potencióméter kimenetén megjelenő analóg feszültséget a 7-szegmenses kijelzőn teszi láthatóvá, két decimális jegyben, 100mV-os lépésekben, - írjon programot, amely a sárga LED-t véletlenszerűen villantja fel, 3

- a sárga LED felvillanását követően rántsa ki a behelyezett fém-pénzt az optovilla réséből és programmal érzékelje a fényáram megjelenését. - írjon programot, amely érzékeli az optovilla fényáramának megjelenését, - írjon programot, amely méri a sárga LED felvillanása és a fényáram megjelenése közötti időt és ezt századmásodpercben kijelzi, két decimális értékkel, mint reflexidőt. Mérési jegyzőkönyv: a reflexidő mérési programjának listája. Ellenőrző kérdések: a) Milyen optoelektronikai eszközöket ismer, b) melyek a tipikus alkalmazási területek? M3-MÉRÉS. Mikrokontrolleres jelzőhang-előállítás ill. motorvezérlés A mérés célja: jelzési frekvencia előállítása mikrokontroller segítségével és alternatívaként, egyenáramú kismotor fordulatszám-szabályozása. A mérendő objektumok: Texas-alapú mikrokontroller és csatlakoztatott DC zümmögő, ill. Nokia mobiltelefon rázómotorja. A felhasznált mérőműszerek és rövid leírásuk: - mikrokontroller-panel, céláramkör, hálózati adapter A végrehajtandó feladatok: 1. Zümmögő vezérlése hangok keltésére - írjon programot különböző magasságú és hosszúságú hangok előállítására a zümmögő segítségével, - írjon programot, amely jelzés-szerű (pl. morse) hangimpulzus-sorozatokat állít elő a zümmögővel, - a rövid és hosszabb sorozatok kombinálásával állítson elő egy felismerhető ütemet, dallamot, vagy verslábat (Berzsenyi Dániel A közelítő tél c. verse első sorának ritmusát). Mérési jegyzőkönyv: a vers ill. dallam ritmizáló programjának listája. Ellenőrző kérdések: a) Hogyan működik a zümmögő, b) milyen frekvencián kell gerjeszteni a zümmögőt? 2. Mikrokontrolleres motorvezérlés mérése (alternatív feladat, ahol a mikrogép tartalmaz kismotort) A végrehajtandó feladatok: - Írjon programot a PWM jel előállítására időzítő rutinok alkalmazásával és ezzel a motor pörgetésére, - A motor pörgetés fordulatszámának változtatására használja fel a potencióméter kimenetén előálló szabályozható jelet, Mérési jegyzőkönyv: a motorvezérlő programjának listája. Ellenőrző kérdések: a) Sorolja fel az összes DC-motor alkalmazást, amelyeket ismer. Mérési segédletek I. A statikus mérőpanel A statikus mérőpanel, amelyet az alábbi ábra szemléltet, 7 db. félvezető eszköz statikus karakterisztikájának felvételére szolgál. A panelen a 7 eszköz, valamint két potencióméterrel (Potm1 és Potm2) szabályozható feszültség-forrás Utelep Adapter csatlakozó 15Ω Graetz egyenirányító Di LED ZEN Therm BB CC gg DD OPT1 OPT2 470µ U1 Potm1 Potm2 U2 680 680 360 470 22K 150 100 150 680 2.4K Udi Uled Uz Uth Z4.7 GND Ub Uc 4 BC182 Termisztor Ug Ud IRF740 Uin Uout Optovilla

helyezkedik el, amelyeket külső vezetékekkel kell az éppen mérni kívánt eszközhöz csatlakoztatni. A csatlakoztatás a feliratokkal ellátott tüskéken keresztül történik, ilyenek segítségével csatlakoztatható a DC feszültségmérő műszer is. A panel DC bemenő-feszültsége az Utelep tüskén mérhető meg (értéke 6-8V között kell legyen), a két szabályozható feszültség az U1 ill. U2 tüskékről vehető le. Vigyázat: sohasem mérjünk ellenállás-értéket, ha a panel feszültség alatt van! II. TMS mikrokontrolleres mikroszámítógép 1. Általános leírás Egyes mérések elvégzéséhez az ábrán látható TMS370 alapú mikrogépet alkalmazzuk. Ennek főbb egységei: 1) a mikrokontroller, 2) a külső 16K EPROM (ablakos) a rezidens monitor és egyes rutinok fix tárolására, 3) a 8K RAM, amelyben a felhasználói (hallgatói) program fut, 4) a kontrollert alapállapotba hozó RESET gomb, 5) a rezidens monitor futását jelző GREEN LED, 7) az 5V-os stabilizátor áramkör, 6) az adapter konnektora a polaritás-védő Graetzdiódanégyessel, 6) az RS232 szabványú soros vonali illesztő, 8) az 5V tápfeszültséget leosztó potméter, 9) a két hétszegmenses kijelző, 10) az ezeket meghajtó DRIVER áramkör, 9) a kontroller bemenetére kapcsolódó SWITCH, 11) az optovilla, 12) a termisztor, 13) a be- és kimeneteket tartalmazó csatlakozó-sáv, 14).stb. RED GRAETZ DC in CONN. 8K RAM POTM. SWITCH YELLOW STAB. 16K EPROM OPTOVILLA. SOROS VONAL 232 QU GREEN TMS370 DISP. DRIVER Therm CSATL BLANK 2. A Texas Instr. TMS370C256 tip. Mikrokontroller A mikrokontroller részletes adatlapja megtalálható :www.ti.com/sc/psheets/spnu127a/spnu127a.pdf, Texas Instr. TMS Microcontroller Family User s Guide A kontroller a Texas Instruments cég általános felhasználású, 64-pines, 8-bites integrált vezérlője, amely rendelkezik a kontrollerek minden lényeges elemével. Az áramkör egyszerűsített blokksémáját a 2.1 ábra mutatja be, amelyen csak a mérőpanelen használt elemeket ill. kivezetéseket tüntettük fel. 5

A TMS370 valójában egy kontroller család, amelynek több, mint 20 tagja van. A legkisebb tagok 28-kivezetésesek és emiatt külső memória nem is csatlakoztatható hozzájuk, továbbá a későbbiekben ismertetett egységeik tekintetében is korlátozottak; ezek egyszerűbb vezérlési feladatok megoldására szolgálnak. A legfejlettebb tagok 68-pinesek (PLCC tokozásban) és minden egységet tartalmaznak. Mint látni fogjuk, a kontroller képes belső (on-chip) memóriájának felhasználásával önállóan, külső elemek nélkül is működni (eltekintve természetesen a nagyáramú meghajtóktól és egyéb külső illesztő-áramköröktől). Ez az ún. single chip üzemmód, amely miatt az áramkört szokás mikroszámítógépnek is nevezni. Az áramkör legfontosabb egysége a CPU (processzor), amely 62 alaputasítás szerint képes műveleteket (adatmozgatás, ugratások, rendszervezérlés, aritmetikai műveletek, stb.) végrehajtani. A programtárolás céljára egy 16Kbyte-os EPROM memória szolgál, amely helyett azonban a mérőpanel egy jobban hozzáférhető külső (ablakos) EPROM áramkört, valamint egy 8Kbyte-os külső RAM áramkört használ. A belső (on-chip) RAM mindössze 512Byte, amely lényegében egy regiszter-file (R0-R511) és amely alapvetően rendszer-jellemzők, változók, stb. tárolására szolgál; ezek közül kitüntetett szerepe van az R0=A és R1=B akkumulátornak, amellyel egyes műveletek egyszerűbben programozhatók be. A külső (external) memória-tokok vezérlésére 4 db. 8-kivezetéses port szolgál, amelyek, amennyiben külső memóriát nem használunk, általános célú be- ill. kimenetként (I/O) használhatók. A 8-bemenetű analóg-digitális átalakító egység (ADC) teljesen önálló (autonóm) áramkör, amelynek valamelyik bemenetét kijelölve és a konverziós utasítás (lásd később) kiadásával az átalakítást önállóan hajtja végre és a 8-bites eredményt egy bufferban tárolja a CPU számára. A soros adatátviteli egység (Serial Communication Interface, SCI) egy önálló, programozható átviteli jellemzőkkel (az RS232 szabványra támaszkodó) egység. A Timer egység számlálási és időzítési funkciókat lát el, amelyek közül a mérőpanel a pulzus szélesség modulációs (Pulse Width Modulation, PWM) képességet használja fel, amely programozott analóg jelek előállítására alkalmas. INT1 XTAL RESET AN0 AN7 System Control and Interrupts ADC 8-bit Analog-Digital Converter CPU Central Processor Unit 512 Byte RAM (Regiszterek) SCI Serial Comm. Interface TX RXD 16 Kbyte EPROM program memory Timer1 PWM Watchdog External memory Addresses and data 8 adat +16 cim + CE + R/W A kontroller rendelkezik egy ún. Watchdog-egységgel, amely a folyamat-irányításban elengedhetetlen a sokszor igen veszélyes program-elszállások kivédésére. A kontroller fontos bemenetei a belső órajel-generátor időzítéséhez szükséges kvarc-kristály két XTAL bemenete, a kontroller alapállapotba hozásához szükséges RESET láb, valamint a külső megszakítás kérésére szolgáló INT1 láb. 1. A memória szervezése. Minden mikroszámítógép alapvető jellemzője a memória-kiosztás (memória-térkép, memory map). A mérőpanelen megvalósított memória-térképet az alábbi ábra mutatja be. A 16bit-tel címezhető memóriatartomány legalján (a rajzon fordítva, mivel így szokás ábrázolni) helyezkedik el a regiszter-file, amelynek első két eleme az A (R0) és B (R1) akkumulátorok. 6

A legalsó 8Kbyte-os tartomány fennmaradó részét a kontroller belső regiszterei töltik ki. A következő 8Kbyte-ot a mérőpanel esetében a külső statikus RAM foglalja el, indulási címe hexadecimálisan 2000h. Ezt követi az ugyancsak külső 16Kbyte-os EPROM, amely ablakos tokozású és így (a foglalatból kivéve) ultraibolya fénnyel törölhető és ezután újraírható; ez nagy segítség, ha egyes programrészleteket véglegesen be akarunk égetni. Az EPROM legtetején (7FFEh címen) van beégetve a Reset vektor, vagyis az a cím, ahová a kontroller bekapcsolás (ill. a RESET bemenet 1-be menetele után) ugrik és a CPU elkezdi olvasni a programot. A mérőpanelen ez a vektor 4000h, vagyis a program futása az EPROM kezdőcímén indul el. Mivel azonban mérőpanel elsődlegesen oktatási célt szolgál, ahol a programok gyors változtatására, javítására kell, hogy lehetőség legyen, erre az EPROM nem alkalmas. A hallgatók programjainak ezért a RAM-ban kell futniuk, amihez a fentiek szerint az kell, hogy ezek a tanuló-programok egyrészt valamilyen módon betöltődjenek a RAM-ba, másrészt, hogy a vezérlés ezt követően a RAM kezdőcímére, vagyis 2000h-ra ugorjon. Ezt valósítja meg az EPROM-ba beégetett monitor (rezidens monitor) valamint a fejlesztőrendszert futtató, soros vonalon kapcsolódó PC. Erről a későbbiekben lesz szó. 2. A mikrogép és a PC kapcsolata A mikrogép programozása a PC segítségével történik olymódon, hogy a PC-n futó TMS94 fejlesztő-rendszer soros vonalon tart kapcsolatot a mikrogép rezidens monitorával. A kapcsolat 5 formában nyilvánul meg, nevezetesen 1) programletöltés a PC-ből: EXPORT. 2) megállási pont TRAP elhelyezése a felhasználói program adott helyére. 3) regiszterek visszaolvasása ellenőrzés (debug) céljából REGISTERS. 4) adott memória-területek visszaolvasása IMPORT. 5) program futtatása adott címtől EXECUTE. A kapcsolat ellenőrzése a SYSTEMTEST módban történik, adott szövegnek a mikrogépbe való írásával és visszaolvasásával (The quick brown fox jumps.) 0000 2000h 4000h Regiszter file 8Kbyte külső RAM 16Kbyte külső törölhető 8000h Reset vektor üres FFFFh 64Kbyte 4. Az utasításkészlet (csak a legfontosabbak): ADC összeadás carry-vel Rs +Rd + Cy Rd AND logikai ÉS AND Rs,Rd BR (branch) elugrás adott cimre BR CÍM xxx CALL (hivás) szubrutin-hivás CALL CÍM xxx CLRC clear carry CMP (compare) összehasonlítás CMP Rs,Rd; Zero flag=1, ha egyenlő; Carry=1, ha Rd>Rs DEC (decrement) csökkentés 1-el DINT (disable interrupt) DIV (osztás) B+A (16bit) / Rs, eredmény A, maradék B EINT (Enable interrupt) INC (Increment), eggyel növelés JBIT 0 (Jump if bit=0), ugrás adott címkére, ha a definiált bit BITn=0. JBIT BITn, cimke JBIT1 (Jump if bit=1) 7

MOV (adatmozgatás) MOV Rs,Rd (Rs Rd) NOP (No operation) OR logikai VAGY OR Rs,Rd RL (Rotate Left), rotálás balra, legnagyobb bit (MSB) nullás bit (LSB) helyére RR (Rotate Right), rotálás jobbra, LSB MSB RTS (Return from Subroutine), visszatérés CALL hívásból SBIT0 (Set Bit zero), a definiált BIT-et zérusra állítja be SBIT1 (Set Bit one), a definiált BIT-et egyre állítja be SETC (Set Carry), Carry 1 SUB (Subtract), (Rd Rs) Rd SUB Rs,Rd TRAP 0 (csapda), itt fixen beállítva visszatérésre a monitorba XOR (Exclusive Or), kizáró VAGY XOR Rs,Rd 5. A minta program (amit ki kell egésziteni a mérési programmal) (minta.asm néven a TMS94 fejlesztői rendszer könyvtárában. Minden csoport másolja át a saját vezeték-nevére) ; vezetéknév.asm 2004. ápr. ;------------------- REGISZTEREK --------------------------------- ; A,B: akkumulátorok. R011: 11h sorszámú (on-chip) regiszter. ; Word=2byte eseten a high byte a magasabb cimen van; word definálható a ; low byte-al is; word műveletnél az alatta levo regisztert automatikusan ;high byte-nak értelmezi. C.equ R02 ; temporary registers, byte D.equ R03 E.equ R04 REG5.equ R05 REG6.equ R06 COUNT.equ R07 ; counter TEMPW.equ R09 ; R08/R09 word SPEED.equ R0A TERMO.equ R0B ; termisztor output regiszter REFL.equ R0C ; reflex time regiszter NUMBER99.equ R0D ; kijelzett decimális szám regisztere TIZES.equ R0E ; 7-szegmenses kijelző tizes jegye EGYES.equ R0F ; POTDATA.equ R010 ; potméter digitalizált értéke FLAGREG.equ R011 ; flag-ek regisztere ;------------------------ nevesített bit-ek -------------------------- YELLOW.dbit 2,P03D ; sárga LED (SPICLK) AI.dbit 2,P04D ; 7-szegmenses kijelző 0.bit (T1EVT) BI.dbit 2,P06E ; 1.bit (T2IC/CR) CI.dbit 6,P06E ; 2.bit (T2PWM) DI.dbit 2,P06D ; 3.bit (T2EVT) LENA1.dbit 6,P03E ; tizes enable (SPISIMO) LENA2.dbit 3,P018 ; egyes enable (INT2) MOTOR.dbit 6,P04E ; motorvezérlő kimenet (T1PWM) 8

KAPCS.dbit 6,P017 ; nyomógomb (INT1) POTM.dbit 0,P07D ; potméter analóg input (AN0) THERM.dbit 2,P07D ; termisztor analóg input (AN2) OPTOKI.dbit 3,P07D ; optovilla digitális input (AN3) E0.dbit 0,EGYES ; decimális szám hexadecimális bitjei E1.dbit 1,EGYES E2.dbit 2,EGYES E3.dbit 3,EGYES T0.dbit 0,TIZES T1.dbit 1,TIZES T2.dbit 2,TIZES T3.dbit 3,TIZES FLAG.dbit 0,FLAGREG ; flag, a mérés befejezésének jelzésére ADREADY.dbit 2,P071 ; conversion ready T1FLAG.dbit 5,P04B.text 2000h ; a program 2000h-nal indul ;---------------------------------------------------------- br START ; branch, 3 byte.byte 0,0,0,0,0,0,0,0,0,0,0,0,0 ; 13 blank bytes ; interupt vektorok ugrási címei br TIM2INT ; timer2 interrupt br TIM1INT ; timer1, address=2013h br INT3INT ; address should be=2016h br INT2INT ;---------------------- KERET-PROGRAM --------------------------------- START: mov #60h,B ldsp ; stack kezdete REGfile-ban, R60 DINT call INIT ; inicializálás ; ---- hallgatói program kezdete: ; ------ hallgatói program vége, célszerűen TRAP 0-val záródva.. ; ------------------ A/D Converters ------------------------------ ; call ADC0 után kb. 60 us-re az AN0 bemeneten levő analóg feszültség értékét ; 8-bitre, 5V-hoz viszonyitva, digitalizálva beirja a P072 regiszterbe ADC0: mov #040h,P070 ; potmeter sampling start mov #10,COUNT ADC01: djnz COUNT,ADC01 ; sampling delay mov #0C0h,P070 ; convert start on channel 0. ADC02: jbit0 ADREADY,ADC02 mov P072,POTDATA ; eredmény beíródik POTDATA regiszterbe rts 9

ADC2: mov #042h,P070 ; thermistor sampling start mov #10,COUNT ADC21: djnz COUNT,ADC21 ; sampling delay mov #0C2h,P070 ; convert start on channel 2. ADC22: jbit0 ADREADY,ADC22 mov P072,TERMO rts ; ------------------------ Initialization ------------------ INIT: mov #11h,P03E ; SPISOMI/SIMO=outputs mov #01,P03D ; SPICLK=gen. purp. output mov #01,P05D ; SCICLK=gen. purp. output mov #01h,P04D ; T1EVT =gen. purp. output mov #11h,P04E ; T1IC/CR=T1PWM= gen. purp. output mov #01h,P06D ; T2EVT= gen. purp. output mov #11h,P06E ; T2IC/CR = gen. purp. output mov #10h,P018 ; IN2 = gen. purpose ouput mov #0Ah,P07E ; AN1(SWI), AN3(OPTO)=inputs mov #00h,P017 ; INT1 = input sbit0 MOTOR sbit0 YELLOW mov #00,NUMBER99 rts ; motor stop ; yellow LED turns on ;-------------------- timers -------------------- ; timing for crystal=18.432 MHz, Tcycle=0.217usec time10m: movw #2816,TEMPW tim101: incw #-1,TEMPW jc tim201 rts time01s: movw #6000h,TEMPW tim01s: incw #-1,TEMPW jc tim01s rts time1s: mov #3,A tim1: movw #0FFFFh,TEMPW tim2: incw #-1,TEMPW jc tim2 djnz A,tim1 rts ; 2816*16cyc*0.217us=10ms ;??5632*16cyc*0.217us=cca 01s ; 3*65K*16cyc*0.217=0.68 sec ; ----------------- interrupts -------------- TIM1INT: rti TIM2INT: rti INT2INT: rti INT3INT: rti.end 10

6. A TMS94 fejlesztői program elindítása Kapcsoljuk össze a mikrogépet az adapterrel és a soros vonalon a PC-vel. Indítsuk el TMS94.exe programot. Ezt követően: - először definiálni kell azt file-t, amin dolgozni akarunk, - ezután OPTION menüpontban nyomjunk egy U -t, - adjuk meg a COM1-et, - ellenőrizzük, hogy kap-e tápfeszültséget a mikrogép (vagyis világit-e a piros LED), - ellenőrizzük, hogy fut-e a monitor a mikrogépen, vagyis pislog-e a zöld LED (ha nem, nyomjuk meg a RESET gombot) - ezután ellenőrizzük a mikrogép és a PC kapcsolatát (RUN, Communication), aminek hatására egy villanás után semmi új nem íródik ki; hiba esetén no communication jelenik meg. A programozás főbb lépései: - EDIT módban az assembler-nyelvű program beírása, - ASSEMBLER módban fordítás; hiba esetén vissza EDIT-be és javítás, - no error esetén MADE módban az object kód előállítása, - RUN módban Export utasítással a program letöltése a RAM 2000h címére, - Trap módban a kívánt megállási cm beírása (ha ráfut a program, visszaugrik a monitorba), - Execution módban a program elindítása, célszerűen 2000h címről, - Előírásszerű trap-re futás után Registers vagy Import utasítással a memóriák visszaolvasása táblázatosan, hexadecimális formában. Az elkészítendő programok általános leírása Az OPTOVILLA program szerkezete. A program az optovilla résébe helyezett lappal a fényáram útját megszakítva a sárga LED-et bekapcsolja. Készítsünk egy hurkot, amely folyamatosan lekérdezi az optovilla KAPCS bit értékét; amennyiben ez 1, akkor a LED kapcsoljon be, ellenkező esetben kapcsoljon ki. A hurokba egy figyelő utasítást is beépíthetünk, amely a felhasználói nyomógomb megnyomása után a programot leállítja. A POTMÉTER DISPLAY program szerkezete: A program a potméter állásától függő feszültségértéket mutatja meg 5V/256=19,5 mv léptékben, a 0-99 tartományban. Hívjuk meg az ADC0 konverziós programot (lásd mintaprogram) és az eredményt tároló POTDATA regisztert írjuk át NUMBER99-be. Építsünk be egy limitert, amely a 99 feletti értékeket 99-ben limitálja. Ezután készítsük el a HEXADISP programot, amely NUMBER99 hexadecimális értékét decimálissá konvertálja át, feltöltve az EGYES és TIZES regisztereket. Ezt követően dolgozzuk ki a SEVEN programot, amely az EGYES számjegyet alkotó E0,E1,E2,E3 bitek értékét rendre az AI, BI,CI és DI bitekbe írja át és ezután LENA2 közvetlen egymást követő sbit0 és sbit1 negatív impulzussal a hétszegmenses kijelzőt működteti, majd ugyanezt végrehajtva a TIZES regiszter T0, T1 stb. bitekkel és LENA1-el egy pulzust adva ennek értékét a tizes helyen kijelezzük. Gondoskodjunk arról, hogy a rutin kezdetekor LENA1 és LENA2 engedélyező (enable) jelek az inaktív 1- állapotban legyenek. 11

A VERS program szerkezete: A zümmögőt a LENA1 kimenet vezérli, 05ms-os impulzusokkal, ami 2KHz-nek felel meg. A program a LONG és SHORT rutinokból van felépítve. A LONG 05ms ideig bekapcsolja a zümmögőt (sbit1 LENA1), majd ugyanennyi ideig kikapcsolja (sbit0 LENA1); ez ismétlődik meg 255-ször, djnz-vel számolva. A SHORT ugyanilyen, de csak 128 ismétlődéssel. Az ütemezés ezek ismétlődése, megfelelő sorrendben, a ritmusnak megfelelően. A ligetünk után legyen 1s szünet. A REFLEX program szerkezete: A reflexidőt olymódon mérjük, hogy adott jelre az optovillába helyezett lapot kirántjuk. A jel és a fényáram megindulása között eltelt idő a reflexidő. A program elején hívjuk meg az INITREFLEX rutint, amely inicializálja a TIMER1-et compare üzemmódra, 2ms ismétlődési idővel. Várjunk 2s ideig, majd kapcsoljuk be a YELLOW LED-t kétszer egymásután 40ms-ig 0.1s időközzel, jelezve, hogy el lehet zárni a fény útját az optovillában. Ezt egy 2s-os várakozás követi, amely már önmagában is lehetetlenné teszi a idő valamiféle követését A mérést még korrektebbé tehetjük, ha 2s-os várakozást egy véletlen indítás követi, amire a TIMER1 időzítését használjuk fel. A Timernél minden 20ms időtartam után a T1FLAG=1 lesz, ezt várjuk egy önmagára visszaugró wait ciklussal. A T1FLAG=1 megjelenésekor a LED-et bekapcsoljuk, majd a korábban kinullázott REFL regiszter értékét incrementáljuk 10ms-onkint egy hurokban mindaddig, amíg a hurokban elhelyezett ugróutasítás OPTOKI=1-et jelez. Ekkor a hurokból kiugorva először kikapcsoljuk a LED-et, majd REFL értékét beírjuk a NUMBER99 regiszterbe, végül meghívjuk a HEXADISP és SEVEN rutinokat, amelyek közül HEXADISP a NUMBER99 hexadecimális értékét decimálisra konvertálja előállítva az EGYES és TIZES regiszterek értékét, míg a SEVEN bekapcsolja a hétszegmenses kijelző szegmenseit. A kijelzőn a reflexidő jelenik meg 10 ms-ban kifejezve. A várakozó hurokba egy limitert építhetünk be, amely kijelzési probléma miatt 99x10ms felett érvényteleníti a mérést és pl. kiolt minden szegmenst. Ezt követően a mérés újra indítandó. A végleges leállás vagy a felhasználói nyomógombbal, vagy Reset-tel oldható meg. A MOTORDRIVE program szerkezete. A program egy miniatűr motor, a NOKIA mobilkészülék rezgető motorjának pörgetését végzi, potméterrel szabályozva a fordulatszámot. Hívjuk meg az ADC0 rutint, amely a potméter feszültségét digitalizálja. Készítsük el a PERCENT rutint, amely a POTDATA regiszter lehetséges 255 diszkrét értékét 5V-ra vonatkozó százalékos értékké konvertálja. Ennek során használjuk fel a mikrokontroller szorzó és osztó utasításait. Az így kapott értékeket beírva az EGYES és TIZES regiszterekbe a SEVEN rutinnal jelezzük ki. A POTDATA (változatlan) értékét írjuk át a SPEED regiszterbe és a motor túlpörgésének elkerülésére limitáljuk az értékét 120-ban. Készítsünk egy hajtott idő (timeon) és egy feszültségmentes nem-hajtott idő (timeoff) rutint, amely időzítéseket váltogatva a hajtást ill. a feszültségmentes állapotot egy igen egyszerű PWM szabályozást állíthatunk elő. A timeon rutin a SPEED-ben levő értéknek megfelelő számszor számolja le a djnz-vel ellenőrzött 80 ciklusos hurkot (max. 120 x 80 ciklus), míg a timeoff rutin ugyanezt (255-SPEED)-szor ismétli meg. A szabályozó rutin ezek után a motor bekapcsolva tartása (sbit1 MOTOR) timeon ideig ill. Kikapcsolva tartása timeoff ideig. A potméter változtatásával a forgási sebesség változik ill. a motor le is áll, az ezzel arányos jelet pedig a 7- szegmenses kijelző mutatja. 12