David Urban Podpora předmětu APP. Blokové schéma



Podobné dokumenty
Error [= chyba], Warning [= varování]. Nad ní jsou věty ve tvaru:

MSP 430F1611. Jiří Kašpar. Charakteristika

Mikrokontroléry. Doplňující text pro POS K. D. 2001

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

Nápověda k aplikaci EA Script Engine

První kroky s METEL IEC IDE

KOMUNIKACE PC DAT 400/500. přes USB programem INOVATION

Úvod do mobilní robotiky AIL028

Metody připojování periferií BI-MPP Přednáška 2

1 Návod na instalaci prostředí LeJOS-NXJ a přehrání firmwaru NXT kostky


Princip funkce počítače

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

Stručný postup k použití programu PL7 Junior (programování TSX Micro)

Jak do počítače. aneb. Co je vlastně uvnitř

Uživatelský manuál. KNXgw232

APLIKACE MIKROKONTROLÉRŮ PIC32MX

DIGI Timer 8 8 kanálové stopky se záznamem dat

PŘÍLOHY. PRESTO USB programátor

Přednáška A3B38MMP. Bloky mikropočítače vestavné aplikace, dohlížecí obvody. 2015, kat. měření, ČVUT - FEL, Praha J. Fischer

Procesor z pohledu programátora

Činnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus

Struktura a architektura počítačů (BI-SAP) 7

Psaní programu pro PLC SIMATIC S7-300 pomocí STEP 7

Uživatelská příručka

8. Laboratoř: Aritmetika a řídicí struktury programu

TACHOTel manuál 2015 AURIS CZ

Pohled do nitra mikroprocesoru Josef Horálek

Arduino Martin Friedl

Signalizace a ovládací prvky. Konektory a připojení

Profilová část maturitní zkoušky 2014/2015

Deska sběru chyb a událostí

PCKIT LPT MODUL SBĚRNICE IOBUS PRO PC LPT. Příručka uživatele. Střešovická 49, Praha 6, s o f c o s o f c o n.

MIDAM Simulátor Verze 1.5

NÁVOD K POUŽITÍ. IP kamerový systém.

Příloha č. I: Schéma zapojení vývojové desky PVK-PRO

Profilová část maturitní zkoušky 2015/2016

Architektury počítačů a procesorů

Interface LPG / CNG Bluetooth. Instrukce k instalaci a konfiguraci zařízení v1.0 cz. U rozhraní bluetooth není instalace ovladače potřebná.

MIDAM Verze 1.1. Hlavní okno :

Obslužný software. PAP ISO 9001

IP kamera. Uživatelský manuál

DŮLEŽITÉ INFORMACE, PROSÍM ČTĚTE!

Strojový kód k d a asembler procesoru MIPS SPIM. MIPS - prostředí NMS NMS. 32 ks 32bitových registrů ( adresa registru = 5 bitů).

Témata profilové maturitní zkoušky

Datacard. Instrukce k aktualizaci firmware tiskáren. Aktualizační aplikace pro operační systémy Windows

Program "Světla" pro mikropočítač PMI-80

Uživatelský manuál A4000BDL

TIA Selection Tool manuál pro použití

Pro označení disku se používají písmena velké abecedy, za nimiž následuje dvojtečka.

Mikropočítačová vstupně/výstupní jednotka pro řízení tepelných modelů. Zdeněk Oborný

NÁVOD K OBSLUZE. Obj. č.: Zkrácený návod k obsluze

INSTALACE. programu WinDUO. pod Windows 7 / Windows Vista. ČAPEK-WinDUO, s.r.o.

Návod ke cvičení předmětu BPGA ControlLogix

Průvodce instalací modulu Offline VetShop verze 3.4

PŘÍSTUP. Docházkový terminál itouch. Produktový list : DT - itouch

Ing. Michal Martin. Spojení PLC CLICK s NA-9289

SW24x3 programovatelné relé

1. Konfigurace projektu a prostředí

Přednášky o výpočetní technice. Hardware teoreticky. Adam Dominec 2010

PROCESOR. Typy procesorů

idrn-st Převodník pro tenzometry

Vložení expiračního kódu do spojů ALCOMA

Demonstrační kufřík TAC XENTA

Základy informatiky. 2. Přednáška HW. Lenka Carr Motyčková. February 22, 2011 Základy informatiky 2

Programovatelné relé Easy (Moeller), Logo (Siemens)

Uživatelská příručka. FULL HD Policejní kamera

Použití programu uscope k simulaci výukového přípravku pro předmět PMP

AD4USB. měřící převodník. 4x vstup pro měření unifikovaného signálu 0 10 V, 0 20 ma, 4 20 ma. komunikace i napájení přes USB

NÁVOD K POUŽITÍ. IP kamerový systém.

Úvod do mobilní robotiky NAIL028

Rozšiřující desce s dalšími paralelními porty Rozšiřující desce s motorkem Elektrickém zapojení Principu činnosti Způsobu programování

ATAVRDRAGON-návod k použití

Jako pomůcka jsou v pravém dolním rohu vypsány binární kódy čísel od 0 do 15 a binární kódy příkazů, které máme dispozici (obr.21). Obr.

1. MIKROPROCESOR ATMEGA A/D PŘEVODNÍK MÓDY PŘEVODNÍKU Single Conversion Mode Auto Triggering Start...


Nejčastěji pokládané dotazy

Jízda po čáře pro reklamní robot

Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

PROGRAMOVATELNÝ TERMOSTAT CT Citherm 6.0 Návod k obsluze

VComNet uživatelská příručka. VComNet. Uživatelská příručka Úvod. Vlastnosti aplikace. Blokové schéma. «library» MetelCom LAN

Microchip. PICmicro Microcontrollers

MODUL ŘÍZENÍ TÓNOVOU SELEKTIVNÍ VOLBOU

Návod na instalaci a použití programu

Laboratorní cvičení z předmětu Elektrická měření 2. ročník KMT

FILIP SCHWANK. Katedra měření, listopad 2017

Návrh konstrukce odchovny 2. dil

Návod ke cvičení předmětu BPGA SLC 500

Semestrální práce z předmětu Speciální číslicové systémy X31SCS

5 ÚVOD DO TESTOVÁNÍ SOFTWARE. 6 Testování software ve vývojovém prostředí MICROSOFT VISUAL STUDIO V hlavním menu volba Debug

Modelová úloha Zabezpečení a správa budovy

Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Témata profilové maturitní zkoušky

Strojový kód. Instrukce počítače

Reprodukce tohoto návodu k obsluze, nebo jeho části, v jakékoli formě bez předchozího písemného svolení společnosti DEGA CZ s.r.o. je zakázána.

Instalace programu ProVIS

Ladibug Software pro vizuální prezentaci Visual Presenter Návod k použití

Možnosti programu. KAPITOLA 5 Možnosti

TGMmini. začínáme. komplexní dodávky a zprovoznění servopohonů dodávky řídicích systémů

Transkript:

Cvičení 1 ST7LITE3 Přehled Blokové schéma Registry Založení projektu v ST7 Visual Develop Přímý zápis registrů DR, DDR, OR Příklad A ST7LITE3 Přehled Ve cvičení se budeme setkávat se zástupcem nejnižší řady MCU z portfolia STMicroelectronics ST7Lite3 Jde o levný (cena v březnu 08 $3,30) 8-bitový MCU s 8KB programovou pamětí typu extended FLASH, 384B RAM a 256B pamětí typu EEPROM Jeho schopnosti si budeme demonstrovat na jeho blokovém schématu, kde bude vysvětlen i základní princip funkčnosti

Blokové schéma Schéma 1: Blokový diagram ST7LITE3 (převzato z datasheetu ST7LITE3, strana 5, upraveno) Budeme postupovat po jednotlivých blocích zleva nahoře: CLOCK [= hodiny] blok reprezentující elektroniku ovládající hodinový signál pro celý MCU; CLKIN, OSC1 a OSC2 vývody MCU pro připojení externího časového signálu 1 ; POWER SUPPLY [= napětí zdroj] blok s dvěma vstupními vývody VDD a VSS, které slouží pro přivedení napětí LVD [= Low Voltage Detection = nízké napětí detekce] Blok obsahující kontrolu nízkého napájení, která vyvolává přerušení, aby bylo možné například uložit pracovní hodnoty např při selhání napájení 8-BIT CORE [= jádro] ALU [= Arithmetical Logical Unit = aritmetická logická jednotka] jádro MCU, jednotka provádějící všechny aritmetické (sčítáni apod) a logické (podmínky,) operace a ovládá MCU Pro jeho návrh byla použita von Neumannova architektura CONTROL [= řízení] jednotka na kterou je přiveden RESET [= znovu-nastavení] vývod a která je spojená s jádrem, které může vyvolat RESET PROGRAM MEMORY paměť typu extedned FLASH pro program velikosti 8KB RAM 384B veliká operační paměť pro rychlé ukládání dat V případě MCU může být část nebo celá paměť použita jako STACK [= zásobník] ADDRESS [= adresa] AND DATA BUS [= sběrnice] adresovací a datová sběrnice pro komunikaci jednotlivých bloků/jednotek MCU 1 Časový blok je ve skutečnosti mnohem složitější, ale vzhledem k tomu, že si vystačíme s interním RC oscilátorem, není v schématu uveden

Registry 12bit Auto-Reload TIMER 2 a 8-bit LITE TIMER 2 časovače používané například pro periodické spouštění programu, nebo jeho části PORT A označuje 8 vstupních/výstupních (I/O) vývodů MCU (je 8bitový), které je možné softwarově ovládat, tedy definovat jejich činnost (viz registry), směr a hodnotu PORT B stejný jako PORT A, jen má jen 7 vývodů/bitů ADC [= Analog Digital Converter = analogový číslicový převodník] jednotka pro převádění analogového signálu (například z potenciometru) na hodnotu digitální DebugModule [= ladicí jednotka] jednotka pro řízení při ladění programu SPI [= Serial Peripheral Interface = sériové periferní rozhraní] komunikační rozhraní LINSCI [= Local Interconnect Network Serial Communications Interface = místní propojovací síť sériové komunikační rozhraní] druhé komunikační rozhraní, složitější, s více možnostmi WDG [Watch Dog = hlídací pes] programovatelný modul, který hlídá nepředpokládané události v programu a v případě, že nastanou zresetuje MCU Jde vlastně o registr, který je nutné v programu nulovat V případě, že přeteče, vyvolává restart Před použitím je nutné ho aktivovat, v našich případech ho používat nebudeme DATA EEPROM datová paměť sloužící k ukládání uživatelských dat Práce s MCU obecně spočívá v konfiguraci a definování hodnot různých registrů, což jsou úseky v paměti (zpravidla 8 nebo 16bitů) ST7LITE3 má šest základních registrů a množství dalších registrů konfiguračních pro nastavení vestavěných periferií jako je například AD převodník Šest základních (interních) registrů se nazývá: Accumulator (A), registry X a Y, Program Counter (PC), Stack Pointer (SP) a Code Condition (CC) Nyní některé rozebereme podrobně: Accumulator [= střadač] - 8 bitový registr určený pro ukládání operandů a výsledků aritmetických operací 2 X a Y registry 8 bitové registry pro ukládání dočasných dat nebo adres Program Counter [= programový čítač] 16 bitový registr obsahující adresu další instrukce, která má být vykonána Code Condition [= kód stav] obsahuje flags [= vlajky], což jsou bity, které reprezentují výsledek instrukce, která byla právě provedena Má tvar: 7 6 5 4 3 2 1 0 Tabulka 1: Code Condition registr 1 1 1 H I N Z C kde H Half carry, I Interrupt mask, N Negative, Z Zero, C Carry Tyto flags vysvětlíme později až je budeme používat, pro teď stačí jen příklad: Vzhledem k tomu, že hodnoty jsou 8bitové, neukládá se spolu s informací (číslem) znaménko Ovšem pokud při odčítání vyjde záporné číslo, bude mít flag N hodnotu 1 A to můžeme ošetřit, když po každém odčítání přidáme kontrolu hodnoty N CP Stack Pointer [= zásobník ukazovač, ukazatel zásobníku] 16 bitový registr ve kterém je uložena příští volná hodnota v RAM (stack) Je dobré si uvědomit, že manipulace s většinou (krom X, Y, A) těchto registrů řídí jádro a uživatel je jen může používat, potřebuje-li to 2 Je třeba si uvědomit, že na rozdíl od vyšších programovacích jazyků používaných na PC neumožňuje Assembler [= montér] pracovat s libovolně umístěnými daty Data je nejprve nutné načíst do příslušného registru, se kterým je ALU schopna pracovat Stejně tak výsledky operací se ukládají do registru A (Accumulator) odkud je potom musíme uložit jinam

Příklad: prvni equ %10101010 ; středník znamená poznámku, vytvářím konstantu ; prvni a do ní vkládám binární hodnotu (proto je tam ; %) 10101010 druha equ %01010101 ; vytvářím konstantu druha main LD A,#prvni ; LD [= load data = načti data] příkazem načtu prvni ; do Accumulatoru ADD A,#druha ; ADD příkaz sečte Accumulator s něčím, v našem ; případě s druha pojďme se podívat jak se bude měnit Accumulator v průběhu příkladu: prvni equ %10101010 ; tady se nic neděje, A = 00000000 druha equ %01010101 main LD A,#prvni ; A = 10101010 ADD A,#druha ; A = 11111111 Založení projektu v ST7 Visual Develop Firma STMicroelectronics dodává ke svým MCU kompletní vývojové prostředí pod názvem ST7 Visual Develop S tímto prostředím budeme pracovat, proto se nejprve seznámíme s jeho užíváním Program je k dispozici ke stažení na stránkách wwwstcom/mcu, jeho instalace probíhá standardně, budeme se tedy zabývat až jeho spuštěním Po instalaci se v Nabídce START OS Windows zobrazí nabídka ST7 Toolset ve které jsou mj Development tools [= vývojové nástroje] obsahující tři položky: - ST7 Visual Develop vývojové prostředí

Screenshot 1: Prostředí ST7 Visual Develop - ST7 Visual Programmer pro vložení hotových programů do MCUTřetí položkou je anglický tutorial, který nás ovšem nebude zajímat Po kliknutí na ikonu ST7 Visual Develop se spustí vývojová aplikace, jejíž hlavní okno je vidět na screenshotu Popišme nyní hlavní menu: File [= soubor] toto menu obsahuje možnosti vytvoření a otevření projektů a souborů; Edit [= úpravy] standardní menu úprav; View [= zobrazení] volby zobrazení nástrojových panelů a oken; Project [= projekt] management a konfigurace projektu; Build [= postav] obsahuje funkce pro překlad programu do čistého strojového kódu; Debug možnost ladění programu; Debug instrument [= nástroj] výběr ladícího nástroje 3 ; Tools [= nástroje] nastavení programu; Window [= okno] standardní nabídka pro práci s okny vývojového prostředí; Help [= pomoc] nabídka nápovědy Obsahuje například referenci příkazů assambleru Vývojové prostředí pracuje s takzvanými Workspaces [= pracovní prostory], což jsou vlastně soubory s definicí vzhledu pracovního prostředí Workspace obsahuje jeden nebo více Projects, což jsou už jednotlivé programy a jejich pomocné soubory Pojďme si jeden takový projekt vytvořit Nejprve vytvoříme nový Workspace z nabídky File > New [= nový] Workspace Získáme tuto nabídku: 3 ST7 Visual Develop podporuje několik možností ladění programu Například volba Simulátor umožňuje ladit program bez připojeného MCU Naproti tomu jiné volby obsahují možnosti spolupráce s takzvanými kity deskami s připojeným MCU, kde dochází k testování programu, nahrávání a ladění

Screenshot 2: Tvorba nového Workspace Pro náš účel bude nejvýhodnější volba Create workspace and project (= vytvoř pracovní prostor a projekt) Po zvolení a kliknutí na OK se zobrazí další nabídka z dvěma poli: Workspace filename [= souborujméno, název souboru] vpíšeme libovolný název; Workspace location [= umístění] umístění pracovního prostoru na disku počítače Screenshot 3: Tvorba nového Workspace 2 Potvrdíme kliknutím na OK a dostaneme se na další stránku, kde jsme tázáni na jméno projektu a jeho umístění (doporučuji stejné jako Workspace) Jsou předvyplněna pole: Toolchain [= nástrojový řetěz] umožňuje zvolit jazyk (assambler, C,) a typ vývojového prostředí, necháme prozatím volbu ST7 Assembler Linker Toolchain root [= kořen, kořenový adresář] zdrojový adresář Toolchain

Screenshot 4: Tvorba nového Workspace 3 Po potvrzení tlačítkem OK se zobrazí nabídka pod názvem MCU Selection (= výběr MCU) Ve cvičení budeme používat typ ST7FLITE39, což vyplníme do pole Filter V nabídce zůstane jen jeden MCU, který kliknutím na Select [= vybrat] vybereme a potvrdíme OK Screenshot 5: Tvorba nového Workspace 3 - výběr MCU Tím je proces téměř u konce Vytvořili jsme Workspace i projekt, nyní nám už stačí přidat konfigurační soubor a jsme hotovi Klikneme pravým tlačítkem myši na Source files (= zdrojové soubory) a vybereme Add Files to Folder (= přidat soubory do adresáře)

Screenshot 6: Vývojové prostředí a přidání konfiguračního souboru Na adrese: C:\Program Files\STMicroelectronics\st7toolset\asm\include najdeme konfigurační soubor st7flite39asm a potvrdíme OK Nyní jsme již připraveni na první experiment 4 Přímý zápis registrů DR, DDR, OR Jak už jsme se dozvěděli v části registry, ovládání a programování MCU je založeno prakticky jen na zapisování a čtení různých registrů Stejně tak i vnější projevy MCU, realizované pomocí portů A a B (port A neplést s Accumulatorem, je to něco jiného) se dělají jednoduše zápisem do příslušných registrů Všechny registry jsou definovány v takzvaném datasheetu souboru, který vytváří výrobce a definuje v něm všechny funkce MCU Datasheety se dají stáhnout z wwwstcom/mcu, pro ST7FLITE39 je na adrese http://wwwstcom/stonline/products/literature/ds/11381pdf Datasheety jsou v drtivé většině v angličtině, proto je zde kladen důraz na pochopení anglických pojmů, protože bez toho nelze při práci s MCU uspět V tomto příkladu však datasheet ještě nevyužijeme Budeme se však snažit získat určitou praxi v dešifrování zkratek, kterých je Datasheet plný Příklad A Podívejme se na příklad nejde o kompletní soubor, jen vybrané pasáže určené k pochopení základních principů kódování PADDR_1 equ %10011111 ; v tomto oddíle definujeme konstanty (jako například v ; Javě), které budeme následně používat vypnuto equ %11111110 zapnuto equ %00000000 ; zde začíná hlavní program main LD A,#PADDR_1 ; úvodní část programu konfigurace portů apod ; vkládáme obsah konstanty PADDR_1 do ; Accumulatoru 4 Ve cvičení předmětu APP mohou být názvy a umístění souborů definovány vyučujícím

LD PADDR,A ; vkládáme obsah A do PADDR PADDR je příkladem ; konfiguračního registru PADDR [= Port A Data ; Direction Register = Port A data směr registr] je registr ; definující jestli bude Port A vstup, nebo výstup ; Datasheet nám říká (a teď tomu ještě prosím věřte), že ; je-li hodnota nějakého bitu v PADDR = 1 pak jde ; výstup, je-li 0 jde o vstup Každý bit (tedy příslušný ; vývod MCU, nožička z pouzdra) je možno ovládat ; samostatně Například: číslo bitu: 7 6 5 4 3 2 1 0 hodnota: 1 0 0 1 1 1 1 1 příslušný vývod Portu A je: výstup vstup vstup výstup výstup výstup výstup výstup Tabulka 2: PADDR V našem případě tedy nastavujeme Port A jako výstup zacatek LD A,#zapnuto ; začátek vlastního programu ; vkládáme konstantu zapnuto do A ; A = 00000000, vzhledem k tomu, že MCU není z ; principu schopné dávat na výstupech velký výkon, je ; výstup řešen tak, že dioda na výstupu je zapojena mezi ; napájecí napětí a výstup MCU Objeví-li se na na ; výstupu logická 0, tedy zem, dioda se rozsvítí LD PADR,A ; vkládáme obsah A do PADR zkuste si odhadnout, co ; by mohla zkratka znamenat ; PADR [= Port A Data Register, Port A data registr] je ; registr, který ovládá jestli je na portu A napětí a je tedy ; zapnut (1), anebo je-li vypnut Kvůli zapojení ; vysvětleném výše je třeba výstup vypnout (0), aby se ; LEDka rozsvítila CALL wait ; CALL [= volat] zavolá podprogram wait [= čekej] LD A,#vypnuto ; po návratu z podprogramu A = 11111111 LD PADR,A ; Port A je zapnut, LEDky nesvítí CALL wait ; znovu zavolá podprogram wait JP zacatek ; JP [= jump = skok] skočí zpět na zacatek Pokusme si nyní představit, co se stane Na přípravku, se kterým se pracuje jsou na Portu A LED diody, je tedy možné ihned pozorovat co se děje Poté, co se do PADR dostanou samé nuly se diody rozsvítí Potom se volá čekací podprogram, diody zůstanou rozsvícené Hned jak se do PADR dostanou jedničky, LED diody zhasnou a čekání se opakuje Shrneme-li chování, budou diody blikat 5 5 Je žádoucí, aby na první cvičení byl výše vysvětlený program připraven v samostatném Workspace, který si studenti otevřou a zkusí spustit pomocí Reva LINK, anebo možná jen uploadovaný do MCU a aktivovaný