Digitális technika (VIMIAA01) Laboratórium 10

Hasonló dokumentumok
Karakteres LCD kijelző használata MiniRISC processzoron

Digitális technika (VIMIAA01) Laboratórium 9

Digitális technika (VIMIAA01) Laboratórium 9

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

Digitális technika VIMIAA hét

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT

Digitális technika VIMIAA01 9. hét

Digitális technika (VIMIAA02) Laboratórium 5

Digitális technika (VIMIAA02) Laboratórium 5

Digitális technika (VIMIAA01) Laboratórium 11

Digitális technika (VIMIAA01) Laboratórium 11

Digitális technika (VIMIAA02) Laboratórium 12

Digitális technika (VIMIAA02) Laboratórium 12

Digitális technika (VIMIAA02) Laboratórium 5.5

Digitális technika (VIMIAA01) Laboratórium 4

Digitális technika (VIMIAA02) Laboratórium 4

Digitális technika (VIMIAA02) Laboratórium 1

Digitális technika (VIMIAA02) Laboratórium 1

A vezérlő alkalmas 1x16, 2x16, 2x20, 4x20 karakteres kijelzők meghajtására. Az 1. ábrán látható a modul bekötése.

Digitális technika (VIMIAA02) Laboratórium 4

A LOGSYS GUI. Fehér Béla Raikovich Tamás, Laczkó Péter BME MIT FPGA laboratórium

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

Programozási segédlet DS89C450 Fejlesztőpanelhez

Digitális technika VIMIAA hét

Digitális technika VIMIAA hét

Labor 2 Mikrovezérlők

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

Mikrorendszerek tervezése

SysCVideo: fiktív grafikus kártya SystemC modulként, SDL alapú megjelenítéssel

Az interrupt Benesóczky Zoltán 2004

Digitális technika VIMIAA02 9. hét Fehér Béla BME MIT

The modular mitmót system. DPY kijelző kártya C API

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

SZORGALMI FELADAT. 17. Oktober

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

Digitális technika VIMIAA02 9. hét

LOGSYS LOGSYS SPARTAN-3E FPGA KÁRTYA FELHASZNÁLÓI ÚTMUTATÓ szeptember 19. Verzió

Yottacontrol I/O modulok beállítási segédlet

Nagy Gergely április 4.

A Számítógépek hardver elemei

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

Programozott soros szinkron adatátvitel

DIGITÁLIS TECHNIKA I

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

Megoldás. Feladat 1. Statikus teszt Specifikáció felülvizsgálat

Digitális technika (VIMIAA02) Laboratórium 3

SIOUX-RELÉ. Sioux relé modul telepítési leírás Szerkesztés MACIE0191

Digitális technika (VIMIAA02) Laboratórium 3

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

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

MT-543Ri plus/04 DIGITÁLIS HŐFOKSZABÁLYZÓ, IDŐZÍTŐVEL, HANGJELZÉSSEL HŰTÉS-FŰTÉSTECHNIKAI ÉS EGYÉB, IDŐZÍTÉST IGÉNYLŐ IPARI ALKALMAZÁSOKHOZ

Mintavételezés tanulmányozása. AD - konverzió. Soros kommunikáció

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

The modular mitmót system. 433, 868MHz-es ISM sávú rádiós kártya

IO-84. Ki/Bemeneti modul. Telepítői kézikönyv VB SOROZATÚ KOMMUNIKÁTOROKHOZ. Rev

Programozható Logikai Vezérlő

AC-MF1W. RFID kártyaolvasó és kódzár. Felhasználói leírás

LOGSYS LOGSYS SZTEREÓ CODEC MODUL FELHASZNÁLÓI ÚTMUTATÓ szeptember 16. Verzió

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

MPLAB IDE - SIM - - Rövid ismertető a használathoz - Kincses Levente 3E22 89/ November 14. Szabadka

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

5. Laborgyakorlat. Számláló funkciók, időzítő funkciók.

Az vevő- és vezérlőáramkör programja

Mikrorendszerek tervezése

Dr. Oniga István DIGITÁLIS TECHNIKA 8

micron s e c u r i t y p r o d u c t s EzeProx proximity kártyaolvasó és kódbillentyűzet

loop() Referencia:

SR mini PLC Modbus illesztő modul. Modul beállítása Bemeneti pontok kiosztása főmodul esetén Bemeneti pontok címkiosztása kiegészítő modul esetében

TM Szervó vezérlő és dekóder

Digitális technika VIMIAA01

Digitális technika VIMIAA01

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

2-VEZETÉKES KAPUTELEFON RENDSZER Kameraillesztő. VDCU Felhasználói és telepítői kézikönyv VDCU. VDCU Leírás v1.0.pdf

Szárazföldi autonóm mobil robotok vezérlőrendszerének kialakítási lehetőségei. Kucsera Péter ZMNE Doktorandusz

Digitális technika VIMIAA01 5. hét

Programozás és Digitális technika I. Pógár István eng.unideb.hu/pogari

VDCU használati utasítás

Programozó Meta riasztókhoz és Activepark parkolásérzékelőhöz

Dr. Oniga István DIGITÁLIS TECHNIKA 9

The modular mitmót system. 433, 868MHz-es ISM sávú rádiós kártya

Programozó- készülék Kezelőkozol RT óra (pl. PC) Digitális bemenetek ROM memória Digitális kimenetek RAM memória Analóg bemenet Analóg kimenet

A LOGSYS rendszer ismertetése

Perifériakezelési módszerek (Korrigált) Feltétel nélküli

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

2008. október 9. Verzió

Dr. Oniga István DIGITÁLIS TECHNIKA 9

_INVHU000_WriteReadParameter.cxf Frekvenciaváltók

Digitális technika VIMIAA hét

Digitális technika Xilinx ISE GUI használata

A számítógép alapfelépítése

Perifériák hozzáadása a rendszerhez

IDAXA-PiroSTOP. PIRINT PiroFlex Interfész. Terméklap

RUBICON Serial IO kártya

WP1 Vezérlő Használati Útmutató

APB mini PLC és SH-300 univerzális kijelző Általános használati útmutató

PMU Kezdı lépések. 6-0 Csatlakozás LG GLOFA-GM és SAMSUNG PLC-hez. 6-1 Kommunikáció LG PMU és LG GLOFA-GM7 / GM6 / GM4 között

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

PIC16F877 KÍSÉRLETI PANEL

Digitális technika VIMIAA01 5. hét Fehér Béla BME MIT

Programmód menütérképe

Átírás:

BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika (VIMIAA01) Laboratórium 10 Fehér Béla Raikovich Tamás, Fejér Attila Digit labor 10., 2014.11.17. (v1.0) BME MIT

Lab10: A GPIO Periféria használata 1. A GPIO periféria tulajdonságai 2. A GPIO vonalak használata 3. Az LCD kijelző ismertetése 4. Az LCD kijelző illesztése a GPIO perifériához 5. Az LCD kijelző elemi parancs- és adatátviteli ciklusai bit-banging programozott megvalósítással 6. Az LCD kijelző inicializálása, alapvető üzemmódjai 7. Az LCD kijelző használata karaktersorozatok megjelenítésére Digit labor 10., 2014.11.17. (v1.0) 1

Lab10: A GPIO Periféria A GPIO általános célú be-/kimeneti periféria A mikroprocesszorok gyakran rendelkeznek ilyen tetszőlegesen használható GPIO interfészekkel Ez a funkció többnyire másodlagos kialakítású A mikroprocesszor valamelyik speciális interfészének kivezetését rendelték az adott lábhoz Ha azt nem használjuk, akkor lehet GPIO interfészként is használni a (maradék) lábat/lábakat A MiniRISC esetén például Az A bővítő csatalakozón: Az elsődleges interfész: VGA kimenet, PS/2 bemenet A másodlagos interfész: GPIO_A[7:0], GPIO_C[4:0] A B bővítő csatlakozón: Az elsődleges interfész: GPIO_B[7:0], GPIO_D[4:0] Digit labor 10., 2014.11.17. (v1.0) 2

Lab10: A GPIO Periféria A GPIO általános célú be-/kimeneti periféria kivezetései (elérhetősége) Fizikailag az A és B bővítő csatlakozókon jelennek meg, a rendszer tápfeszültségekkel együtt Ez az általános felület, a processzor így ismeri A csatlakozó: GPIO_A[7:0], GPIO_C[4:0] B csatlakozó: GPIO_B[7:0], GPIO_D[4:0] Digit labor 10., 2014.11.17. (v1.0) 3

Lab10: A GPIO Periféria A GPIO használatához a külső egységek ehhez a fizikai és elektromos szabványhoz illeszkednek. A laborban a következő külső modulokat/eszközöket fogjuk használni: LCD modul Hőmérsékletmérő modul Mikroszervo motor 3 eltérő egység, 3 eltérő jelkiosztás és interfész ill. funkció vezérlési követelmény De a GPIO rugalmassága lehetővé teszi a feladatok megoldását Digit labor 10., 2014.11.17. (v1.0) 4

Lab10: GPIO Periféria A GPIO periféria használata 3 regiszteren keresztül történik: Adat kimeneti regiszter OUT[7:0] (visszaolvasható) Adat bemeneti regiszter IN[7:0] Irányvezérlő regiszter DIR[7:0] (visszaolvasható) Digit labor 10., 2014.11.17. (v1.0) 5

Lab10: GPIO Periféria A GPIO periféria használata: Párhuzamos módban, együtt vezérelve a 8 bitet Függetlenül, bitenként megadva és használva az egyes jeleket bemenetként/kimenetként A GPIO perifériában az adatvonalak átviteli iránya (bemenet/kimenet) programból, dinamikusan állítható (A DIR regiszterbe írt értékkel) Digit labor 10., 2014.11.17. (v1.0) 6

Lab10: GPIO Periféria A GPIO periféria utasítás szinten programozható A MiniRISC Load/Store működési elve miatt ezért 2 utasításonként adható ki új érték/változtatható a GPIO láb értéke (2*187,5ns = 375ns) A GPIO lábakon tetszés szerinti protokoll/időzítési szekvencia lejátszható (maximum a fenti sebességgel) Ezt hívjuk bit-banging módnak, azaz a processzor a program által vezérelve, a megfelelő időzítéssel, dinamikusan változtatja a lábakon megjelenő kimeneti értékeket, illetve mintavételezi és beolvassa a bemeneti értékeket. Az időzítés persze nem mindig pontos, kisebb ingadozás, jitter felléphet, bár gondos programozással ez jól kézben tartható Digit labor 10., 2014.11.17. (v1.0) 7

Lab10: GPIO Periféria A GPIO periféria specialitása Az INPUT mindig a GPIO lábon lévő értéket mintavételezi Ha ez egy bemenet akkor annak a a jelnek az értékét adja meg Ha nincs jel csatlakoztatva, vagy nem aktív, akkor az R lehúzó ellenállás egy rezisztív (gyenge) 0 szintet ad Ha kimenetként használjuk, az INPUT akkor is a GPIO lábat mintavételezi Aktív, engedélyezett kimenetnél IN == OUT De kikapcsolt kimenetnél ez nem feltétlenül igaz!!!!! Digit labor 10., 2014.11.17. (v1.0) 8

Lab10_1 Feladat: GPIO Periféria Készítsünk programot, amelyben a GPIO lábak említett tulajdonságát statikusan, a MiniRISC IDE környezetben lépésenkénti végrehajtást használva demonstrálhatjuk A program használja valamelyik GPIO perifériát Figyelem: A GPIO_C[4:3] és a GPIO_D[4:3] lábak csak bemeneti funkciót biztosítanak, tehát a feladat szempontjából nem használhatók A vizsgált kimenetet 0-ba állítva, majd a DIR regiszterrel letiltva (kikapcsolva) az IN regiszter 1 értéket mutat A szimulátor nem hiteles! Digit labor 10., 2014.11.17. (v1.0) 9

Lab10_2 Feladat: Az LCD modul Beágyazott rendszerekben gyakori periféria a karakteres megjelenítést biztosító LCD kijelző A LOGSYS LCD modul egy egyszerű, 2 soros, 8 karakteres szöveges megjelenítést biztosító modul A modul felhasználói útmutatója és HW dokumentációja a logsys.mit.bme.hu/documents oldalon elérhető A kijelző modul HW csatlakozó felülete közvetlenül illeszkedik a LOGSYS Spartan-3E kártya A bővítőcsatlakozójára Digit labor 10., 2014.11.17. (v1.0) 10

Lab10_2 Feladat: Az LCD modul Az LCD modul az A csatlakozó mindkét GPIO periféria portját használja: GPIO_A[7:0] 8 bites parancskódok és adatok GPIO_C[4:0] a vezérlőjelek kiadásához, és az átviteli ciklusok ütemezéséhez 3 jel RS: Parancs/adat reg. kiválasztás R/W: Olvasás/írás irányvezérlés E: Engedélyező, ütemező jel Digit labor 10., 2014.11.17. (v1.0) 11

Lab10_2a Feladat: Az LCD modul Az LCD modul adatátviteli protokollja a megfelelő időzítési adatokkal (bal WRITE, jobb READ) Digit labor 10., 2014.11.17. (v1.0) 12

Lab10_2a Feladat: Az LCD modul Az LCD modul parancs/adatátviteli protokoll előírásainak értelmezése a parancs/adat kivitelhez Indításkor beállítjuk az RS, R/W=0 vezérlőjeleket (E = 0 ezalatt) Ezután engedélyezhetjük az adatvonalak meghajtását és kiadhatjuk az új parancs/adat értékét Ha t AS idő eltelt, aktiválhatjuk az E engedélyező jelet A jel minimum t PWEH ideig magas szintű, ezután kikapcsolhatjuk. Az adatvonalakat ekkor mintavételezi. Ezután t DH idővel kikapcsolhatjuk az adatvonalak meghajtását (HiZ), t AH idővel kiadhatunk új vezérlő jeleket (RS, R/W), de az új ciklust csak a t CYC idő eltelte után indíthatjuk el! Összefoglalva: minden minimum korlátos időadatnak és az értelemszerű jelváltozási sorrendnek is teljesülnie kell! Digit labor 10., 2014.11.17. (v1.0) 13

Lab10_2a Feladat: Az LCD modul Az LCD modul parancs/adatátviteli protokoll előírásainak értelmezése a státusz/adat beolvasáshoz Indításkor beállítjuk az RS, R/W=1 vezérlőjeleket (E = 0 ezalatt) Az adatvonalak alapállapota bemenet Ha t AS idő eltelt, aktiválhatjuk az E engedélyező jelet Ezután maximum t DDR késleltetés után megjelenik az érvényes adat Ha az E jel már minimum t PWEH ideig magas szintű, akkor mintavételezhetjük az adatvonalakat és ezután E kikapcsolható. Ezután t DHR idővel az érvényes adat megszűnik, az adatvonalak meghajtása HiZ állapotú lesz. Hasonlóan t AH idő múlva kiadhatunk új vezérlő jeleket (RS, R/W), de az új ciklust csak a t CYC idő eltelte után indíthatjuk el! Összefoglalva: minden minimum korlátos időadatnak és az értelemszerű jelváltozási sorrendnek is teljesülnie kell! Digit labor 10., 2014.11.17. (v1.0) 14

Lab10_2 a Feladat: Az LCD modul Az LCD modul parancs/adatátviteli protokoll előírásainak időbeli lefolyását a MiniRISC GPIO perifériájának megfelelő ütemezésű programozásával biztosítjuk Mivel az utasítás végrehajtási idő, a leggyorsabb jelváltási idő és a szükséges adatmozgatási adminisztráció együttes paraméterei az LCD modul időzítésénél hosszabb időket eredményeznek, a minimum időzítések szinte automatikusan teljesülnek. A jelváltások helyes sorrendjére, az adatvonalak vezérlési állapotára kell odafigyelnünk. A parancsok végrehajtási idejét a foglaltság jelzőbit lekérdezéses ellenőrzésével (Busy Flag) várhatjuk ki Digit labor 10., 2014.11.17. (v1.0) 15

Lab10_2a Feladat: Az LCD modul Az eddigiek alapján készítsük el a két adatátviteli programrészletet, amely a parancsok és adatok kiküldését végrehajtja. Mindkét átviteli mód a végrehajtás előtt várakozzon a foglaltság jelzés törlésére! Tehát 3 szubrutin készül! lcd_wait : Olvasás státusz/utasítás regiszterből parancs kiadása, 7. bit tesztelése (BF), várakozás, amíg nem 0 lcd_sendcmd : lcd_wait meghívása, visszatérés után írás utasításregiszterbe vezérlés beállítása (RS = 0), majd a parancs kiadása és érvényesítése az E jellel. Utána lezárás, adatkimenetek kikapcsolása lcd_senddata : ugyanaz az utasítássorozat, mint az lcd_sendcmd, csak az adatregiszterrel (RS = 1) Digit labor 10., 2014.11.17. (v1.0) 16

Lab10_2b Feladat: Az LCD modul Karakter sorozat megjelenítése az LCD modulon A főprogram általános felépítése: Minden programblokk egy-egy szubrutin, a programblokkok további szubrutinokat hívnak meg Lekérdezéses perifériakezelés és programozott késleltetés/időzítés LCD Inicializálás Szövegkiírása Léptetés parancs kiadása Digit labor 10., 2014.11.17. (v1.0) 17

Lab10_2b Feladat: Az LCD modul Karakter sorozat megjelenítése az LCD modulon Az inicializálás feladatai: Várakozás, amíg BF=1 (15 ms) FUNCTION SET parancs (N 2 soros mód, F ON) DISPLAY OFF kiadása DISPLAY CLEAR kiadása ENTRY MODE SET kiadása (I/D inkrement, SH OFF) DISPLAY ON kiadása Minden parancs után várakozás BF=0-ra Digit labor 10., 2014.11.17. (v1.0) 18

Lab10_2b Feladat: Az LCD modul Karakter sorozat megjelenítése az LCD modulon Az inicializálás parancssorozat szubrutinja: A GPIO_A és GPIO_C interfészek felprogramozása Az LCD modul alapbeállítási parancsok kiadása az lcd_sendcmd szubrutin többszörös meghívásával Digit labor 10., 2014.11.17. (v1.0) 19

Lab10_2b Feladat: Az LCD modul Karakter sorozat megjelenítése az LCD modulon A kiíró programrészlet szubrutinja: A null-karaktervégű sztring, mutató az r8 regiszterben A karakterek kiírása az lcd_senddata szubrutinnal Digit labor 10., 2014.11.17. (v1.0) 20

Lab10_2b Feladat: Az LCD modul A kijelző képernyő időzített léptetéséhez 500ms hosszú szoftveres időzítő szubrutin A programozott várakozás a szokásos 24 bites szoftveres számlálóval A 3 db 8 bites regiszter {r10, r9, r8} törlése és 24 bites inkrementálása ciklusonként 25-el. Digit labor 10., 2014.11.17. (v1.0) 21

Lab10_2b Feladat: Az LCD modul Ha elkészültek a saját készítésű adatátviteli és várakozó szubrutinok lcd_sendcmd lcd_senddata lcd_wait akkor a karaktersorozatot megjelenítő alkalmazás lefordítható és tesztelhető. Szerkesszük össze a teljes forráskódot és végezzünk teszt futtatást a kijelzővel. A tapasztalatokat a Labor 10 Eredmények kérdőíven jegyezzük fel! Digit labor 10., 2014.11.17. (v1.0) 22

Lab10_2a feladat: Az LCD modul rutinjai Amennyiben nem készültek el a saját készítésű adatátviteli szubrutinok, az alábbi megoldások használhatók: Digit labor 10., 2014.11.17. (v1.0) 23

Lab10_2a feladat: Az LCD modul rutinjai Amennyiben nem készültek el a saját készítésű adatátviteli szubrutinok, az alábbi megoldások használhatók: Digit labor 10., 2014.11.17. (v1.0) 24

Lab10_2a feladat: Az LCD modul rutinjai Amennyiben nem készültek el a saját készítésű adatátviteli szubrutinok, az alábbi megoldások használhatók: Digit labor 10., 2014.11.17. (v1.0) 25