Přednáška 1 A4B38NVS - Návrh vestavěných systémů 2015, kat. měření, ČVUT - FEL, Praha. J. Fischer. Grafický podkladový materiál k přednášce A4B38NVS



Podobné dokumenty
Přednáška 1 A4B38NVS - Návrh vestavěných systémů. 2015, kat. měření, ČVUT - FEL, Praha J. Fischer

A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL. Přednáška , kat. měření, ČVUT - FEL, Praha J. Fischer

Přednáška - A3B38MMP Procesory s jádrem ARM. A3B38MMP 2015, J. Fischer, kat. měření, ČVUT-FEL Praha 1

Přednáška , kat. měření, ČVUT - FEL, Praha J. Fischer. A4B38NVS, 2012, J.Fischer, kat. měření,, ČVUT - FEL 1

Přednáška 1 A4B38NVS - Návrh vestavěných systémů 2013, kat. měření, ČVUT - FEL, Praha J. Fischer A4B38NVS, 2013, J.Fischer, kat. měření, ČVUT - FEL 1

Procesory s jádrem ARM

Mikrořadiče fy ATMEL

Čítače Přednáška 10 (11)

Mikroprocesor Intel 8051

19 Jednočipové mikropočítače

Zkouška z předmětu Počítačové systémy

Pedstavení procesor s architekturou ARM

Kazeta vstupů OCi Popis řešení HW. Ing. Jiří Holinger středisko elektroniky STARMON s.r.o. Choceň

Rozhraní mikrořadiče, SPI, IIC bus,..

A3B38MMP Mikroprocesory v přístrojové technice

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

Úvod do programování a práce s počítačem

Přednáška vložená 6. týden, výklad k úloze LCD, UART A4B38NVS - Návrh vestavěných systémů 2015, katedra měření, ČVUT - FEL, Praha. J.

Rozhraní mikrořadiče, SPI, IIC bus,.. Přednáška 11 (12) A4B38NVS, kat. měření, ČVUT - FEL, Praha. J. Fischer

Shrnutí. Funkce. Pro komunikaci s ostatními zařízeními lze využít 1x port Ethernet, 1x sériové rozhraní RS485.

PROCESORY. Typy procesorů

Přednáška UART, RS232, 422, 485

SRF08 ultrazvukový dálkoměr

mitepc-lcd mitepc-lcd150 mitepc-lcd170 mitepc-lcd190 Embedded počítač s LCD displejem a dotykovým stínítkem v konstrukci vhodné i do skříně Schrack

Úloha Ohmetr zadání úlohy

Aplikace vestavných systémů

RKM 03 JEDNOTKA ŘÍZENÍ KROKOVÝCH MOTORŮ. Příručka uživatele AUTOMATIZAČNÍ TECHNIKA

Přednáška 8,9 Generátory hodinového signálu a dohlížecí obvody. ve vest. systémech 2013, kat. měření, ČVUT - FEL, Praha. J.

Karel Johanovský Michal Bílek. Operační paměť

Digitální tlakoměr PM 111

Bezpečnostní pokyny. Nepoužívejte tablet v mimořádně studeném nebo horkém, prašném, vlhkém nebo suchém prostředí. Zabraňte pádu zařízení.

ULTRAZVUKOVÝ DÁLKOMĚR

ALLEX FX Programovatelný logický automat. Katalogový list. říjen Programovatelné logické automaty

Jemný úvod do DCC. Úvod. Jindra Fučík. Základy DCC Jindra Fučík

Architektury počítačů na bázi sběrnice PCI. Cíl přednášky: Obsah přednášky:

Adresace paměti. 11.přednáška

Návod pro parkovací senzory ps4c3, ps4cw3, ps4c4.2, ps4cw4.2, ps4lcd, ps4flcd, ps8lcd a ps4audio

INTELIGENTNÍ DŮM. Zdeněk Kolář, Viktor Daněk. Střední průmyslová škola sdělovací techniky Panská 856/3, Praha 1

Přednáška 1,2. A4B38NVS Návrh vestavěných systémů,2012, J. Fischer, katedra měření, ČVUT - FEL, Praha

ETC Embedded Technology Club setkání

Obvody a architektura počítačů. Jednoprocesorové počítače

Jedna z nejdůležitějších součástek počítače = mozek počítače, bez něhož není počítač schopen vykonávat žádné operace.

Architektura procesoru Athlon 64 X2

Deska zvukové signalizace DZS

NÁVOD K OBSLUZE MODULU VIDEO 64 ===============================

POZOR! Při zadávání kódu je potřeba nejdřív zadat pořadové číslo a pak kód: například uživatel 25 který má kód 1234 zadá

KODÉR PRO 18 ÚČASTNÍKŮ S INTEGROVANOU HLASOVOU JEDNOTKOU 1072/19A

Modul řízení otáček stejnosměrného motorku

Z-E2026 ZJEDNODUŠENÝ NÁVOD K POUŽITÍ

Odpájecí stanice pro SMD. Kontrola teploty, digitální displej, antistatické provedení SP-HA800D

MIDAM UC 250 modbus regulátor topení a chlazení s Ethernet rozhraním, otočné tlačítko, RTC, 2xDO, 2x DI

Objektový systém QM4000. Bus interface QMI-2. Nahrávací adapter SCAN-R

Vývoj výpočetní techniky. Rozdělení počítačů. Blokové schéma počítače

Mikromarz. CharGraph. Programovatelný výpočtový měřič fyzikálních veličin. Panel Version. Stručná charakteristika:

Přednáška 7, 8 Generátory hodinového signálu a dohlížecí obvody ve vest. systémech

Microchip. PICmicro Microcontrollers

Systém MCS II. Systém MCS II < 29 >

Komunikační adaptér pro propojení řídicího systému MICROPEL s inteligentní elektroinstalací ABB Ego- n přes Ethernetové rozhraní.

NÁVOD K OBSLUZE A PROVOZNÍ POKYNY. Elektronická akustická siréna Model EAJ HSS 513 DENA - M42/6

ETC Embedded Technology Club setkání zahájení druhého ročníku

NÁVOD K HODINKÁM S KAMEROU 1. Úvod Dostává se Vám do rukou kamera s mikrofonem, záznamem obrazu a zvuku skrytá v náramkových hodinkách.

Manuální, technická a elektrozručnost

Maturitní témata - PRT 4M

VPS1 1/5. POPIS SIGNALIZAČNÍCH LED Červená připraveno k provozu, nebo komunikaci s PC Zelená čip přiložen (nekomunikuje s PC)

Přednáška 2 A4B38NVS - Návrh vestavěných systémů 2014, kat. měření, ČVUT - FEL, Praha J. Fischer A4B38NVS, 2014, J.Fischer, kat. měření, ČVUT - FEL 1

IMPLEMENTACE ROZHRANÍ USB DO MALÉHO SYSTÉMU S JEDNOČIPOVÝM MIKROPOČÍTAČEM. Bohuslávek Zdeněk, Prokůpek Kristián ÚVOD

MĚŘENÍ PŘENOSOVÉ RYCHLOSTI PAMĚTÍ FLASH

HMP Regulátor odběru elektrické energie TX RX COM L N V~ 6x relé 250V/8A + -

VERZE: 01 DATUM: 05/2014

LPS2. Sada pro synchronní komunikaci na 1000m s galvanickým oddělením. 15. října 2010 w w w. p a p o u c h. c o m

MonkeyTech. WiFi Teploměr - Instalační manuál Edice pro portál

Představení notebooku Uživatelská příručka

Katedra obecné elektrotechniky Fakulta elektrotechniky a informatiky, VŠB - TU Ostrava 16. ZÁKLADY LOGICKÉHO ŘÍZENÍ


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

ETC Embedded Technology Club setkání zahájení druhého ročníku

BIOS (BASIC INPUT-OUTPUT SYSTEM)

Objektově orientované databáze

Úvod do mobilní robotiky NAIL028

1. Jaká základní jednotka se používá v informatice pro specifikaci datových velikostí (velikosti disků, pamětí apod.)? bit, resp.

Rozhraní mikrořadiče, SPI, IIC bus,.. Přednáška 11 (12)

I/O modul univerzální rozhraní

Dvoukanálový monitor relativního chvění MMS 6110

EM271 Dvojitý třífázový elektroměr a analyzátor sítě

Uživatelská p íru ka UMAX VisionBook 7Q Plus

Cílem této kapitoly je seznámit s parametry a moduly stavebnice NXT. Obr. 1: Brick s moduly [3]

Vestavné systémy BI-VES Přednáška 10

Modulárně orientovaná struktura systému s distribuovanou inteligencí

POHYBLIVÉ PŘÍVODY ENERGIE SIGNALIZAČNÍ A JEŘÁBOVÁ TECHNIKA

CAR X90 HND. kamera pro Váš automobil. Noční vidění, HDMI, Duální kamera. Uživatelská příručka. Děkujeme, že jste si zakoupili tento produkt.

Web51 I/O Controller lite

DPC-D218ID. Dveřní stanice pro 2D systém videovrátných. Uživatelský manuál

Procesory pro vestavné aplikace přehled

Tekla Structures Multi-user Mode

A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL. Rozhraní mikrořadiče, SPI, IIC bus,.. A438NVS, kat. měření, ČVUT - FEL, Praha. J.

Tlačítkový spínač s regulací svitu pro LED pásky TOL-02

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

ABB i-bus KNX Inteligentní elektroinstalace pro Váš perfektní dům

OVLÁDACÍ PANEL MP5-SB, MP5-PROX

Transkript:

Přednáška 1 A4B38NVS - Návrh vestavěných systémů 2015, kat. měření, ČVUT - FEL, Praha J. Fischer Grafický podkladový materiál k přednášce A4B38NVS Studium tohoto materiálu nenahrazuje účast na přednášce, která mimo jiné obsahuje výklad k prezentaci i další vysvětlení a výklad u tabule. A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 1

Představení, kontakty Jan Fischer, kat. měření, míst. 441/1 blok B3, přednáška středa 12:45 C3-52, konzultace středa od 14.15 v C3-52, (příp. domluva na další termín) cvičení od 16.15, 18.00 kat. měření, míst. 326 blok B3 kontakty s vyučujícími E- mail, posílat pouze ze své Fakultní E- mail adresy A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 2

Oblasti vestavných systémů Vestavný systém co to představuje? embedded system, embedded microcontroller Systém s mikrokontrolérem je zabudován přímo v zařízení a je s ním v přímé interakci Zařízení s vestavným systémem (embedded) dnes prakticky všechny přístroje kolem nás Doma televizor, video, CD přehrávač, moderní radiopřijímač, mobilní telefon, fotoaparát, kamera, moderní ( advanced ) hodinky myčka nádobí, pračka, (nová) lednička, GPS, lepší holicí strojek, baterka - čelovka, Elektronické hračky el. hry, autíčka, pohyblivé hračky, panenky s interakcí, Automobil více 10, ale spíše 40+ vestav. mikrokontrolérů (řízení motoru, ABS, AES, nastavování mechanických dílů- sedačka, el. stahování oken, komunikace, zabudovaný radiopřijímač, navigace, řízení klimatizace,.. Dům výtah, klimatizace, zabezpečovací a kamerový systém, přístupový systém, protipožární systém, řízení topení a klimatizace, síťové komunikační prvky pro Ethernet switche, routery, A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 3

Oblasti vestavných systémů Obchod prodejní terminál na jízdenky, potraviny, elektronické váhy, mrazicí boxy, elektronické cenovky (segmentový LCD zobrazovač + přenost dat), automat na kávu,.. Dopravní prostředky obecně - vlak, letadlo, Malé (domácí) lékařské přístroje osobní váha, glukometr,měřič tlaku, měřič tepu, krokoměr Velké lékařské přístroje v nemocnicích např. na operačním sále řízení ventilace, sledování tlaku, dýchání,.- viz. filmy Komunikační technika malé vysílačky (osobní, policejní, armáda, záchranné sbory) Existuje též pojem deeply emebeded poněkud zjednodušeně řečeno systém je tak hluboce vestavěn, že si to uživatel ani neuvědomí A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 4

Oblasti vestavných systémů Existují aplikace mikrokontrolérů a signálových procesorů přímo v řízení pulsního napájecího zdroje řízení spínání tranzistorů, regulace napětí, příklad ST32F334 (s jádrem ARM Cortex M4) mikrokontrolér pro zářivku, úspornou žárovku lighting Nářadí momentový klíč ( s el. indikací tenzometr +indikace), el. vrtačka,.. baterka Nabíječka akumulátorků ( inteligentní ) měření napětí, generace nabíjecích proudových impulsů, měření a zobrazení velikosti dodaného náboje, testovací funkce. A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 5

Příklady Další folie (7-32) obsahují snímky přístrojů a zařízení embedded aplikací, z kapacitních a formálních důvodů nejsou uvedeny v PDF. Slouží pouze pro přednášku. A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 6

Příklady vestavných systémů. Nike Fuelband snímání a vyhodnocení pohybové aktivity za časový úsek Mikrokontrolér, MEMS akcelerometr, bezdrátový přenos dat, paměť (pozn.- návrh čipu pro řízení LED kde?) A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 7

Příklady vestavných systémů. Futurocube český výrobek!!! www.futurocube.com www.princip.cz/projekty/kostka popis sestavy, funkce MEMS, mikrokontroléry (7 kusů), bezdrátový přenos, buzení LED, generace zvuku- řeč komentář. A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 8

Příklady vestavných systémů. Bosch kávovar mikrokontrolér STM32 A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 9

Příklady vestavných systémů. Petzl horolezecká čelovka ( high end ) mikrokontrolér, akceleromer, optický senzor, řízení výkonu podle odraženého světla, náklonu, případně pohybu hlavy, A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 10

Příklady vestavných systémů. Fit bit analýza pohybu osoby a spotřebované energie ( jako krokoměr ) mikrokontrolér, akcelerometr, bezdrátový přenos do mobilu http://www.fitbit.com/ A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 11

Příklady vestavných systémů. Sony SmartWatch MN2, Mikrokontrolér STM32F429, Grafika, bezdrát. komunikace s mobilem, vibrace,.. A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 12

Příklady vestavných systémů. Robotická koule Gosphero Mikrokontrolér, akcelerometr, bezdrátový přenos dat z (do) mobilu akční člen, bezdrátové indukční nabíjení ovládání pohybu koule z mobilu, koule jako snímač pohybu- ovládač (myš) akcelerometr, http://www.gosphero.com/ A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 13

Příklady vestavných systémů HAPIfork vidlička, mikrokontrolér, akcelerometr, bezdrátový přenos, logování dat, vibrace, blikání počítání soust a intervalu mezi sousty,.. upozornění ( měl jsi již moc jídla ) zpracování dat za den,.na trhu od 9/2013, za 99 USD HAPItrack sledování pohybu osoby http://www.hapilabs.com/ A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 14

Příklady vestavných systémů Příklady použití mikrokontrolérů jiných firem žiletkový holicí strojek, baterka. A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 15

Palubní deska Octavia. A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 16

Palubní deska - přední strana spoje - LED. A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 17

Palubní deska - indikační LED skrytem. A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 18

Palubní deska - prosvětlovací folie před LED. A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 19

Palubní deska deska zadní strana. krystal pro RTC (hodiny) konektor. rozhr. CAN otočné indikátory zvuk. sig. zesilovač procesor A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 20

Palubní deska- krokový motorek - stav paliva. krokový motorek A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 21

Řídicí jednotka Diesel, Octavia 2 řada. A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 22

Deska říd. jed. řídicí procesor pam. prog. NOR Flash. budiče akč. členů A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 23

BCM Body Control Modul. výkonová relé procesor A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 24

Parkovací asistent- ultrazvuk. A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 25

Parkovací asistent- ultrazvuk. řídicí procesor A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 26

Blok ovládání naklápění reflektorů - Fabia. A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 27

Blok ovládání naklápění reflektorů - Fabia. řídicí procesor výkonové stupně ovládací výstupy kom. rozhr. CAN A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 28

. Deska komunikace s Bluetooth SRAM (NOR) Flash anténa (procesor) A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 29

Multifunkční volant - Octavia. A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 30

Multifunkční volant - Octavia. opt. snímač enkodéru kontakty tlačítek A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 31

Multifunkční volant - Octavia. mikrořadič Infineon TLE 9832 jádro 51 A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 32

Základní bloky vestavného systému Obecně vestavný systém v zařízení obsahuje mikrokontrolér. ovládací prvky pro komunikaci s obsluhou (tlačítka, křížový ovládač, klávesnice - nyní často kapacitní) indikace ( LED,..) zobrazovač LED, LCD senzory ( teplota, tlak, světlo, MEMS zrychlení - náklon komunikační rozhraní (sériové rozhraní UART, USB, Ethernet, CAN, LIN, bezdrátová komunikace- blue tooth ) ovládání akčních členů (výkonové tranzistory bipolární, FET, IGBT, relé, tyristory) akční členy (motorky stejnosměrné - DC, krokové motorky - stepper, BLDC brush less DC, asynchronní střídavé motory pračka,.. A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 33

Náplň předmětu A4B38NVS - přednášky HW návrh vestavěných systémů, komponenty a jejich využití, procesor jako součástka Logické obvody a jejich vlastnosti z hlediska spolupráce s mikrořad. (odběr, typové řady, rychlost z hlediska spolupráce s mikroprocesorem, spolupráce rychlých logických obvodů, vedení, odrazy, zemnění, rozvody napájení, blokování). Bloky komunikace s obsluhou (tlačítka, klávesnice, LED a LCD zobrazovače) Mikrořadiče (Microcontroller) pro vestavěné systémy Obvody a periferie na čipu mikrořadičů (vstupy, výstupy, rozhraní SPI, I 2 C, I 2 S, USART převodníky A/D, převodníky D/A), Vnější periferie a jejich připojování (připojení vnějších řadičů Ethernet,..) Vnější paměťové obvody a jejich připojování k mikroprocesoru Dohlížecí obvody a monitorovací obvody pro zajištění spolehlivé funkce vestavěného systému. Napájení síťové napájení, bateriové napájení vestavěných systémů, stabilizace napájení A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 34

Náplň předmětu A4B38NVS - cvičení Seznámení s IDE Keil pro ARM, pro STM32F100 Konfigurace výstupních bran STM32F100, ovládání výstupů a LED, Generování impulsního signálu, čtení tlačítka Časovací jednotka (schodišťový automat) Ovládací jednotka se 7- seg. LED, ovládání posuvného registru 74HCT595, (1. hodnocená úloha) + zpráva Sériová komunikace, využití UART, komunikace s RS232, zobrazení dat na LCD a PC (terminál) (2. hodnocená úloha) + zpráva Samostatný projekt: Návrh systému pro sběr dat a monitorování 3._hodnocená úloha, studie k projektu, návrh a realizace, závěrečná zpráva), Logické obvody CMOS- stat. parametry a jejich určení (skup. 2 stud.) Logické obvody CMOS dyn. parametry a jejich určení, buzení obvodu procesorem STM32, generování signálu o dané frekvenci (skup. 2 st.) Test v semestru 9. týden společný termín - na přednášce A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 35

Náplň předmětu A4B38NVS použitý procesor V rámci cvičení použit procesor (microcontroller) STM32F100 Výrobce- STMicroelectronics WWW,ST.COM/STM32 Založen na jádře ARM Cortex- M3 WWW.ARM.COM www.arm.com/products/processors/cortex-m/cortex-m3.php Vývojové kity firmy ST Microelectronics ST32F xx Discovery, Programové vývojové nástroje IDE firmy Keil, demonstrační verze omezení na velikost kódu - 32 kbyte. Volně získatelná z http://www.keil.com/,konkrétně http://www2.keil.com/mdk5/ (??!!! vyplňování formuláře), on line instalace Nebo v laboratoři nakopírovat starší demoverze verze IDE Keil Microvision Version 4, pro cvičení zcela postačují (možnost instalace off line bez registrace) A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 36

STM32VLDiscovery kit používaný na cvičení STM32F100RB microcontroller, 32-bit ARM Cortex-M3 core 128 KB Flash, 8 KB RAM 64-pin LQFP STlink ( v1) STM32F103 pouzdro 48 pinů, horní - ladicí procesor STM32F100 pouzdro 64 pinů, dolní aplikační (uživatelský) procesor propojení procesorů ladicím rozhraním SWD ze zabudovaného ladicího nástroje ST- LInk ( horní procesor STM32F103 ) A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 37

STM32F0Discovery kit STM32F051R8T6 microcontroller 32-bit ARM Cortex-M0 core 64 KB Flash, 8 KB RAM STlink / V2 + prototypová deska A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 38

STM32LDiscovery kit STM32L152RBT6 microcontroller ARM CORTEX - M3 core pouzdro LQFP64 128 KB Flash, 16 KB RAM, 4 KB EEPROM LCD malé segmenty kapacitní klávesnice STlink / V2 A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 39

STM32F3Discovery kit STM32F303VCT6 microcontroller 32-bit ARM Cortex-M4F core (podpora floating. poit. arit.) 256 KB Flash, 48 KB RAM LQFP100 package STlink / V2 A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 40

STM32F4Discovery kit STM32F407VGT6 microcontroller 32-bit ARM Cortex-M4F core, (podpora floating. poit. arit.) 1 MB Flash, 192 KB RAM LQFP100 package STlink / V2 A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 41

Discovery kity, možnost pořízení, použitelnost Na cvičení jsou používány kity STM32VL Discovery, se starší verzí ladicího rozhraní ST-link (problém funkce pod Linux, )! STLink1 (všechny ostatní Discovery kity ST Link 2 nebo ST Link 2-1, pod Linux jde) Pro pořízení vlastního kitu a další práci, vhodnější volit novější varianty STM32L100 Discovery (piny header jednořadý do pole po 1 řadě) ale procesor STM32L100 poněkud jiné konfigurace oscilátoru a bran STM Nucleo F103, procesor STM32F103 kompatibilní s F100 ( lepší,větší paměť,..) STM32F4 Discovery,.. ( problém přímé připojení do pole header dvouřadý), STM32F3 Nucleo, Případně konzultovat na cvičení např. na dobírku přes http://www.rothsware.cz/web/farnell/ dle objednacího čísla z www.farnell.com Použitelnost STM32F Discovery kitů i pro ladění jiného procesoru řady STM32 ve vlastní aplikaci. A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 42

Cvičení poznámky Ladění boot loader, nebo pomocí SWD z kitu STM32VL Discovery Zapůjčení modulů STM32VLDiscovery, příp. i kont. pole na celý semestr Potřebné vybavení napájení + 5V (např. z USB), příp. multimetr UNI-10A (zapůjčení multimetru?) Minimum potřebného vybavení PC s USB a nainstalovaným SW Keil, mini USB kabel Vhodný doplněk - převodník USB na RS232 (dostupné např. v NC computers za 160-220 Kč, www.nc.cz, využitelné i pro práci s jinými mikroprocesory pro vestavěné systémy pro funkci Boot Loader) kit STM32VL Discovery- obsahuje ladicí nástroj ST link kity: STM32F0Discovery, STM3Discovery, STM32F4Discovery, STM32LDiscovery obsahuje ladicí nástroj STlink/V2 (novější) Možnost využití pro ext. ladění ladění jiného kusu procesoru STM32 Možno osadit zapájet minimodul s STM32F031F6P6 a využít jej v projektu (Pro vážné zájemce možnost exkurse do vývojového centra STMiroelectronics v Praze -? listopad/ prosinec) A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 43

Lab. cvičení předmětu A4B38NVS použité IDE Programové vývojové nástroje IDE firmy Keil, vhodné a nutné pro domácí přípravu na lab. cvičení. Demonstrační verze omezení na velikost kódu - 32 kbyte. Volně získatelná z http://www.keil.com/,konkrétně http://www2.keil.com/mdk5/ (??!!! vyplňování formuláře), on line instalace Nebo v laboratoři nakopírovat starší demoverze verze IDE Keil Microvision Version 4, pro cvičení zcela postačují (možnost instalace off line) Možno používat i jiné nástroje, problém syntaxe zápisu instrukcí ARM Corterx M3 A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 44

Hodnocení Účast na cvičeních povinná 2 x hodnocená úloha (5 + 5 b) při odevzdání v zadaném termínu., Studie 5 + samostatný projekt 10 + 5 závěrečná zpráva Zprávy - je nutno řešit i nebodované úlohy + zpráva Samostatná práce studentů, uvedení případných informačních zdrojů), plagiátorství ne!!! Domácí příprava studium zadání, příprava programů, vývojový diagram, schéma V laboratoři odladění úlohy, využití přístrojového vybavení Dřívější dokončení a odevzdání poslední úlohy a zpráv, možnost dojít až pro zápočet Test v semestru (přibl. 9. týden) středa od 12.45 v přednáškové místnosti A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 45

ARM - historie ARM - RISC procesory původ britská firma Acorn, procesory - stolní počítače později vývoj vlastního procesoru ARM1 v r. 1985, ARM1-25 000 tranzistorů, 3 um technologie 4 MHz hod. sig. ARM2 ARM 3 Založena nová firma - Advaced RISC Machines Ltd. (majet. účast Apple, Acorn a VLSI) změna názvu architektury z Acorn RISC Machine na Advaced RISC Machine ARM 6, procesor ARM610 pro PDA (Personal Digital Assistent) firmy Apple ARM7 v r. 1993, používán v PDA PSION firmy Acorn ARM7 TDMI doplnění ladicí rozhraní (D,I debug. interface) rozšířené možnosti násobičky (M) Thumb instrukční sada (T) - navíc 16- bitové instrukce ARM7 TDMI nejlépe prodávaný procesor (jádro) u ARM ARM orientace na přenosná zařízení, mobilní telefony, rozvoj A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 46

ARM - historie ARM7 TDMI architektura ARM v 4T (pozor, trochu se plete) ARM7TDMI používán i ve formě microcontroller jednočipový mikropočítač firma Philips (nyní navazující NXP) LPC 2105 procesor ARM7TDI, paměti Flash, RAM, periferie, řadič přerušení vlastní varianta další firmy využívající ARM7TDMI: ATMEL, STMicroelectronics, Texas Instruments, Analog Devices,,. u ARM7TDMI v jádře - pouze dvě přerušení, firmy- vlastní implementace řadiče přerušení chybí dobrá podpora a spolupráce - řadič přerušení - jádro Firma ARM úprava architektury pro potřeby embedded microcontrolérů Architektura ARM v7m Cortex, (M značí microcontroller) doplněn NVIC Nested Vectored Interrupt Controller ARM - Cortex M3 - architektura ARM v7m, náš procesor na cvičeních Architektura ARM v4t ovlivnila ARM v7m,, (občas bude na ni odkaz při vysvětlování instrukcí) Heslo ISA instruction set architecture architektura mající danou sadu instrukcí - obecnější pojem - poněkud širší rozsah míněných procesorů A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 47

ARM ARM - RISC procesory (pojem RISC) ARM7TDMI 32- bitový procesor, data 32 bitová, (tedy registry 32 bitů) adresa 32 bitů, adresní prostor 2 32 = 4 GByte ARM instrukční kód konstantní délky 32 bitů v těchto 32 bitech uložen: kód vlastní instrukce, případně - registr, přímá data, adresa architektura typu Load, Store v instrukci jeden přenos dat mezi CPU a pamětí není operace typu read, modify, write? jak řešit do 32 bitů kód i adresu přímé adresování relativně s omezeným rozsahem adresování registrem v jedné instrukci pouze jedna operace s pamětí aritmetické a logické operace pouze s registrem A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 48

Pojem Word u ISA ARM ARM je 32-bit architektura. V pojmy word, halfword použité v souvislosti s ARM: Word míní se 32 bitů (čtyři bajty) Halfword míní se 16 bitů (dva bajty) Byte míní se 8 bits (jeden bajt) Většina ARM implementuje dvě instrukční sady 32- bit ARM Instruction Set instrukce kódována word 16- bit Thumb Instruction Set instrukce kódována halfword ARM CORTEX M3 instrukční sada Thumb 2 (jedna společná sada dohromady 16- i 32- bitové instrukce) (obsahuje Thumb a některé ARM) A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 49

ARM7 TDMI, instrukce ARM a THUMB ARM7TDMI instrukční sada ARM - 32 bitů instrukční sada THUMB 16 bitů (úsporný kód, větší omezení na přímá data či adresy) procesory ARM: 16 bitové instrukce Thumb 32 bitové instrukce ARM Přepínání v programu, jaká sada instrukcí se používá, procesor běží: v módu ARM (vykonává instrukce ARM 32 - bitové) v módu THUM (vykonává instrukce THUMB 16 - bitové) Instrukce ARM a THUMB není možno míchat, Přechod do THUMB - skok na adresu, kde nejnižší bit adresy je A 0 =1 (kód instrukce je 16- bitový, tak reálná adresa má A 0 =0, ale právě požadavek skoku na adresu s A 0 =1 signalizuje požadavek na skok s přepnutím do režimu THUMB ) používají se instrukce skoku BX Rn, kde registr Rn obsahuje požadovanou adresu s příslušně nastaveným bitem D 0 = 0, nebo D 0 =1 odpovídajícím adresovému bitu A 0 A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 50

Cortex family použit podkladový materiál firmy ARM Cortex-A8 Architecture v7a MMU AXI VFP & NEON support Cortex-R4 Architecture v7r MPU (optional) AXI Dual Issue Cortex-M3 Architecture v7m MPU (optional) AHB Lite & APB A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 51

Jádro ARM Cortex M3 Firma ARM - nevyrábí vlastní procesory, pouze návrh jádra, Jádro v rámci licencí využívá mnoho výrobců (ST, NXP, TI, Atmel,..) ARM Cortex- M3 - definováno: vlastní jádro CPU řadič přerušení rozložení v adresním prostoru (kde je SRAM interní, externí, kde vnitřní sběrnice spolupráce s rozhraním pro ladění (debug) JTAG, SWD Výrobci individuálně doplňují paměti a různé periferie přístupné v daném adresním prostoru více na www.arm.com A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 52

Jádro ARM Cortex M3 literatura Volně dostupné materiály: Sadasivan S.:An Introduction to the ARM Cortex-M3 Processor (www.arm.com) DUI 0552A_Cortex - M3 devices generic user Guide (www.arm.com) DDI 0337E Cortex -M3 Revision: r1p1 Technical Reference Manual (www.arm.com) DDI 0403 ARM v7-m Architecture Reference Manual (www.arm.com dostupný po zaregistrování) (podrobný popis architektury ARMv7M do které spadá i ARM Cortex M3) A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 53

Procesor STM32F100x - literatura Volně dostupné materiály: katalogový listk STM32F100x: STM32F100x4 STM32F100x6,STM32F100x8 STM32F100xB (Doc ID 16455 Rev 5) podrobný referenční manuál: RM0041 Reference manual STM32F100xx advanced ARM-based 32-bit MCUs (www.st.com) A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 54

Literatura- firemní - Hitex The Insider s Guide To The STM32 ARM Based Microcontroller An Engineer s Introduction To The STM32 Series www.hitex.com a na www stránkách předmětu Velmi zkrácený přehled architektury ARM Cortex M3 z hlediska, implemetace do STM32F1xx Přehledný zkrácený popis periferií STM32F1xx Doporučeno pro získání prvního přehledu k použití periferiístm32, následně detailní studium referenčního manuálu k STM32, Insiders Guide - dobrý proto to, zjistit, co se má vlastně hledat v dalších podrobných manuálech A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 55

Literatura- knihy Joseph Yiu: The Definitive Guide to the ARM Cortex-M3 2. vydání (lepší 1.) Vincent Mahout: Assembly Language Programming: ARM Cortex-M3 Yifeng Zhu: Embedded Systems with ARM Cortex-M3 Microcontrollers in Assembly Language and C (??? Nové 8/2014) A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 56

Jádro ARM Cortex M3 - Registry - R0 R12 obecné registry Dolní registry (low reg.) R0 R7 přístupné všemi instrukcemi s přístupem k registrům. Horní registry (high reg.) R8 R12 přístup pouze 32 bitovými instrukcemi s přístupem k registrům A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 57

Registry R13 až R15 Stack pointer Registr R13 -Stack Pointer (SP) ukazatel zásobníku. R13 dvě formy: hlavní SP (SP main) procesní SR (SP_process) R14 - Link register Registr R14 je užíván při volání podprogramů (subroutine Link Register - LR). Do LR se uloží návratová adresa z PC při instrukci při vykonání instrukcí Branch an Link (BL) or Branch and Link with Exchange (BLX). (návratová adresa není automaticky ukládána procesorem do zásobníku, pro vnoření podprogramů- uživat. progr. musí sám uložit obsah LD do zásobníku) LR je využit také při návratu z obsluhy výjimky (exception return). R14 možno obsluhovat jako obecný registr Programový čítač (Program counter - PC) registr R15 Bit 0 adresy instrukce je vždy =0; instrukce jsou zarovnány na hranice slova 4 Byte nebo poloviční slova -2 Byte (pozor bit 0 při skoku nast. na 1, viz dále) Stavový reg. programu (Program Status Register xpsr) stavových registr příznaků (Flags) A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 58

Příznakový registr - 1 indikuje aktivní stav N negativní nebo menší než Z -Zero Nula C Carry/ Borrow výpůjčka V přetečení overflow Q sticky saturation (při aritmetice se saturací) A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 59

Adresový prostor ARM Cortex M3 - A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 60

Instrukční sada THUMB-2 v návaznosti na instrukce ARM ARM Cortex-M3 - instrukční sada Thumb -2 Instrukce Thumb (16- bitové) jsou doplněny 32- bitovými instrukcemi sada označená jako Thumb - 2, ARM Cortex M3 používá sadu Thumb 2 bez přepínání, je tedy stále v režimu Thumb a případný pokus o přepnutí do režimu instrukcí ARM (32 bitových) vyvolá chybu, proto musí být u Cortex M3 při požadavku skoku vždy nejnižší bit adresy A 0 = 1, na kterou se skáče 16 bitové instrukce Thumb omezené možnosti např. ve vzdálenosti adresy pro skok,. možnost Unified Assembler Language (UAL) společná syntaxe pro ARM a Thumb instrukce. Kód psaný s použitím UAL může být přeložen do ARM nebo Thumb instrukcí - to volí překladač- optimalizace na délku kódu. A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 61

Zápis programu pro Assembler ARM pole návěští, zcela vlevo (nesmí tam být instrukce, ta je až v dalším poli za mezerami), pole instrukce, pole operandu ( příp. operandů), pole komentáře za středníkem NAVESTI MOV R0, R1 ; kopie R1 do R0, R0 = R1 Instrukce presunu: MOV instr. přesunu mezi reg., příp. přímá data do reg. (zprava doleva) MOV R0, #1 instr. přesunu přímých dat (omezená velikost) nezapomenout na # LDR instr. čtení z paměti do registru (zprava doleva) STR instr. zápisu z registru do paměti (zleva doprava!!!) Pseudo instruce LDR R0, =0x200 ( vím co chci a ty to přelož, jak to půjde nejlépe ) podle velikosti konst. překladač přeloží jako přesun LDR z pam. do reg. a sám uloží konst. do pevné paměti Code, nebo přeloží jedinou instrukcí MOV obsahující data- viz disassembler, i s využitím Barrel shifter (přímá konst. a bitové posuny ) viz heslo Flexible Second Operand A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 62

Popis instrukci použitých v programu LED_BLIK: Instrukce presunu: MOV R0, R1 ; kopie R1 do R0, R0 = R1 MOV R0, #1 ; kopie 1 do R0, R0 = 1 LDR R0, =0x200 ; pseudo instrukce kopie 0x200 do R0, R0 = 0x200 LDR R1, [R0] ; do R1 nacteni hodn. z adresy urcene registrem R0 STR R1, [R0] ; kopie hodnoty z R1 do pameti na adresu podle obs. R0 PUSH {R0,LR} ; ulozeni hodnoty v R0 a LR do zasobniku POP {R0,PC} ; vyzvednuti hodnoty ze zasobniku do PC a R0 Instrukce skoku: B NAVESTI ; skok na adresu, kde je uvedeno navesti NAVESTI BL NAVESTI ; skok NAVESTI a ulozeni navratove adresy do LR BX LR ; skok na adresu umistenou v registru LR BEQ NAVESTI ; skok na NAVESTI podle vysledku predchozi instrukce, ; tj. skok pri vysledku rovno nula BNE NAVESTI ; skok na NAVESTI podle vysledku predchozi instrukce, ; tj. skok pri vysledku nerovno nula A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 63

Popis instrukci použitých v programu LED_BLIK: Instrukce aritmeticke: SUB R0, R1, #1 SUBS R0, R1, #1 ; R0 = R1 1 odecte 1 od obsahu R1 a vysledek do R0 ; bez nastaveni priznaku podle vysledku ; R0 = R1-1 a nastaveni registru priznaku (PSR) Instrukce logicke: BIC R1, R1, R2 ORR R1, R1, R2 ; R1 = R1 & (/R2) - logicky soucin s R1 a negovanym R2 ; R1 = R1 R2 - logicky soucet R1 s R2, vysledek do R1 Instrukce porovnani: CMP R0,#1 TST R0,#1 ; R0-1 a nastaveni priznaku, ale hodnota v R0 se nezmeni ; komparace- porovnání velikosti ; R0 & 1 a nastaveni priznaku, ale hodnota v R0 se nezmeni ; testování testuje stav bitů v R1 na místech jednickami ; urcenych jednickami v pravem levem operandu ; zde se testuje, zda je na nejnizsim miste v R0 bit =1 A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 64

STM32F100 blokové schéma, struktura mikrořadiče CPU procesorové jádro ARM Cortex- M3 a systém sběrnic dle licence firmy ARM Cortex-M3 CPU 24 24 MHz JTAG/SW Debug Nested vect vectit IT Ctrl Ctrl 1 x Systick Timer 1 x DMA 7 Channels CRC 1x6x 16-bit PWM Synchronized AC AC Timer Timer Up Up to to 16 16 Ext. Ext. ITs ITs Up Up to to 80 80 I/Os I/Os 1x 1x SPI SPI 1x 1x USART/LIN Smartcard/IrDa Modem-Ctrl ARM Lite Hi-Speed Bus Matrix / / Arbiter (max (max 24MHz) 24MHz) Bridge ARM Peripheral Bus (max 24MHz) 4kB-8kB SRAM 1x 1x 12-bit ADC 16 16 channels // 850ksps 2x 2x USART/LIN Smartcard // IrDa IrDa Modem Control 2x 2x I2C I2C A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 65 Flash Flash I/F I/F Bridge 16-128kB Flash Memory 20B 20B Backup Regs Clock Control ARM Peripheral Bus (max 24MHz) 1x16-bit timer with 2 IC/OC/PWM 2x16-bit timer each with 1 IC/OC/PWM 2 x 12bit DAC Temp Sensor Power Supply Reg Reg1.8V POR/PDR/PVD XTAL oscillators 32KHz + 3~25MHz Int. Int. RC RC oscillators 40KHz + 8MHz PLL PLL RTC // AWU 2x 2x Watchdog (independent & window) 3 x 16-bit Timer HDMI CEC CEC 2x 2x SPI SPI

V/V brány v STM32 Standardní vstupně - výstupní brány (není + 5 V tolerantní) na vstupu smí být napětí do úrovně U dd Odhad chování pinu ( ne + 5V tolerantního) brány STM32F100x na základě podoby s chování standardních vstupů CMOS např. 74HC04 Diskuse, možné důsledky nevhodného zapojení, důsledky - cvičení měření statických vlastností logických obvodů CMOS A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 66

Výstupy typu Push pull, open drain, Výstup typu push pull sepnut vždy jeden z tranzistorů (T 1 nebo T 2 ) výstup se připíná k zemi GND nebo k napájení U DD U DD T 2 T 1 PMOS NMOS Výstup typu open drain Výstup se připíná k k zemi GND na výstupu je nízká úroveň Low ( T 1 sepnut), nebo nedefinovaná (tranz. rozepnut) T 1 NMOS Výstup typu open drain s vnějším pull up rezistorem R PU Pokud je T1 rozepnut, napětí na výstupu je určeno napětím U DD pomocí R PU U DD T 1 R PU out A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 67

Vstupy Vstupy plovoucí bez připojeného vnějšího signálu problém stavu pull up rezistor bez signálu definuje vysokou úroveň pull down rezistor bez signálu definuje nízkou úroveň Alternativní funkce logický signál je veden na perieferie na čipu (např. do řadičů rozhraní UART, SPI,.) Analogový vstup vstup převodníku A/D ( analogo - číslicový) A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 68

STM32F100 IO brány vstup brány + 5 V tolerantní RM0041 str. 102 A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 69

Tlačítko a LED na STM32VL Discovery Tlačítko v klidu rozepnuté, na PA0 se čte L díky působení Pull down rezistoru R21 stisk čte se 1, viz manuál UM0919 (Obvykle se tlačítka připojují proti zemi (GND), zde je opačné zapojení pro možnost demonstrace funkce probuzení procesoru z režimu spánku Wake Up.) A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 70

Konfigurace brány STM32F100x Po reset jsou V/V brány neaktivní (i při zápisu dat do výstupního registru brány se na výstupu nic neprojeví) Nejdříve - aktivace hodinového signálu pro výstupní bránu (viz demo příklad na cvičení použití brány PC) LDR R0, =RCC_APB2ENR ; Kopie adresy RCC_APB2ENR (APB2 peripheral clock enable register) do R0 LDR R1, [R0] LDR R2, =0x10 ORR R1, R1, R2 STR R1, [R0] ; Nacteni stavu registru RCC_APB2ENR do R1 ; Konstanta pro zapnuti hodin pro branu C ; Maskovani, pridani jednicky 0001 000 na bit D4 ; Ulozeni nove hodnoty do registru RCC_APB2ENR (pouze nastavení bitu D4 v RCC_APB2ENR na 1) Následně nutnost konfigurace každého používaného pinu V/V brány zápisem do konfiguračního registru Zápis dat do výstupního registru brány se projeví na výstupu pouze u pinů konfigurovaných jako výstupy. (Poznámka: pokud výstupní nebo vstupní pin, či další perierie, nereagují na zápis dat, je třeba zkontrolovat, zda je přiveden hodinový signál a pin je správně konfigurován!!!) A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 71

Umístění registrů str. 36 RM0041 umístění konf. reg. v adresním prostoru bázová adresa PA 0x4001 0800 bázová adresa PC 0x4001 1000 A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 72

Registry V/V bran. A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 73

Vstupně výstupní brána - registry Vstupně výstupní brány jsou 16 bitové pro použití se musí nejdříve nakonfigurovat řídicí registr - 4 bity na konfiguraci jednoho bitu brány (celkem 16 x 4 = 64 bitů) rozděleno do dvou řídicích CR (controll register) 32- bitových registrů CR L pro dolních 8 bitů pinů brány CR H pro horních 8 bitů pinů brány Výst. dat. reg. ODR (output data reg.) dolních 16 bitů prostý zápis dat do brány Vstup. dat. reg. IDR (input data register) dolních 16 bitů prosté čtení dat z brány Registr bit set /reset BSRR 32 bitů, zápis 1 do horních 16 bitů setuje dává do 1, zápis 1 dolních 16 bitů resetuje dává do 0 Registr reset BRR dolních 16 bitů, zápis 1 dolních 16 bitů resetuje dává do 0 Registr LCKR zablokování ( lock) stavu A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 74

Konfigurace bitů 7 až 0 (dolní Byte) - low A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 75

Konfigurace bitů 15 až 8 ( horní Byte) - high A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 76

Konfigurace RM0041 str. 103 4 bity pro konfiguraci jednoho bitu brány shodný způsob: STM32F103 STM32F105, 107 pouze odlišné adresy (další procesory STM32F050, STM32F407,.. odlišná konf. A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 77

Datový registr výstupní brány Output data register výstupní datový registr, 32 bitový, význam má pouze spodních 16 bitů pro 16- bitovou bránu Vhodné A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 78

Port bit set / reset překlopení stavu pinu Nastavování jednotlivých bitů brány, zápis 1 do bitů 31 až 16 nastavuje přísl. bit do 0 (BR bit reset), zápis 1 do bitů 15 až 0 nastavuje bit do 1 (BS bit set) ( úder zprava, úder zleva ) (zápis 0 výstupní bit se neovlivní -0 - žádný úder ) A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 79

Reset výstupního pinu brány Zápis 1 do bitů 15 až 0 nastavuje přísl. bit do 0 (RESET), ( 1 nuluje, 0 nedělá nic) zápis 0 do registru neaktivní neovlivní stav výstupu Vhodné A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 80

Vstupní brána Pro čtení tlačítka na PA0 (IDR input data register vstupní datový registr) Vhodné A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 81

Určení adresy registru Potřeba znát základní adresu (bázová adr.) periferie (brány) z Tab. 1 na str. 36 offset pro příslušný registr z Tab. 48 (str. 129) zákl. adr. pro GPIOC 0x4001 1000 zákl. adr. pro GPIOA 0x4001 0800 kontrol. reg. pro GPIOx_CRL pro bity 7 až 0 má offset 0x00 kontrol. reg. pro GPIPx_CRH pro bity 15 až 8 má offset 0x04 vstup. dat. reg. GPIOx_IDR offset 0x08 výst. dat. reg GPIOx_ODR offset 0x0C kontr. reg bit set/ reset GPIOx_BSR offset 0x10 kontr. reg. bit reset GPIOx_BRR offset 0x14 0x40011000 GPIOC + offset 0x04 = 0x40011004 0x40011004 GPIOC_CRH (konfigurace PC15 až PC8) výstupní registr brány PC + offset pro GPIOx_ODR 0x40011000 GPIOC + offset 0x0C = 0x4001100C 0x4001100C GPIOC_ODR výstupní registr pro PC 0x400110808 GPIOA_IDR registr vstupní brány PA A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 82

Používané adresy 0x4001 1004 GPIOC_CRH konfigurace PC15 až PC8 0x4001 100C GPIOC_ODR výstupní registr pro PC 0x400110808 GPIOA_IDR registr vstupní brány PA A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 83

Poznámky k použitým instrukcím BIC R1, R1, R2 ; Nulovani bitu v R1 bit clear nuluje bity v R1 tam, kde jsou v R2 bity v 1, jako R1 and (not R2) BX LR skok na adresu podle registru, zde podle LR, který obsahuje návrat. adr., která se do LR uložila při minulém volání podprogramu ORR R1, R1, R2 logická operace R1 or R2, výsledek do R1 LDR R1, [R0] do R1 načíst obsah podle adresy v R0 STR R1, [R0] uložit R1 na adresu podle R0 TST R1, #0x20000 provede virtuálně log. součin R1 a operandu #0x20000 a podle výsledku nastaví příznaky ( flagy), zde se testuje stav bitu D16 zda je ve stavu 1 BEQ NO_HSE_RDY skok na navesti NO_HSE_RDY, když je příznak Z (zero) aktivní, zde když výsledek před. instrukce nastavil Z, tedy bit D16 byl v nule A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 84

Poznámky k použitým instrukcím SUBS R3, R3, #1 od registru R3 odecte 1 a nastaví příznaky BNE WAIT skoc, když priznak Z=0, tedy vysledek odecteni nebyl nulovy PUSH {LR} uloz obsah LR do zasobniku POP {LR} nacti ze zasobniku do LR BX LR skoc podle LR (bylo by mozne jednoduseji provest POP {PC}, naplnit PC ( program. citac) primo navratovou adr. ze zasobniku) A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL 85