Úvod. přednáška

Úvod. přednáška

Aplikace vestavných systémů

2013, kat. měření, ČVUT - FEL, Praha

J. Fischer

A4M38AVS, 2013, J.Fischer, ČVUT - FEL Praha, kat. měření

1

Přednášející doc. Ing. Jan Fischer, CSc. , kat. měření, míst. 441/1, tel. 2 2435 2179

Ing. Radek Sedláček, PhD cvičení: lab. 318 blok A3 cvičící:

Ing. Radek Sedláček, PhD st. 14.30, st. 16.15

komunikace s vyučujícími

E- maily – pouze z FEL adresy ! login_jmé[email protected]

A4M38AVS, 2013, J.Fischer, ČVUT - FEL Praha, kat. měření

2

Náplň předmětu

Použití mikrořadičů ve vestavných systémech, tvorba a aplikace vestavných systémů

Orientace na 32- bitové procesory s jádrem ARM Cortex M3, provedení STM32 návrh HW, SW, použití vývojových nástrojů , bloky komunikace s obsluhou vstup a výstup signálu, metody zpracování signálu použití vestavných systémů v typických přístrojích a zařízeních

A4M38AVS, 2013, J.Fischer, ČVUT - FEL Praha, kat. měření

3

Cvičení

Vývoj aplikací s ARM Cortex- M3 v provedení STM32F100 zapůjčení kitu na celý semestr – (navrácení funkčního kitu)

STM32VL Discovery kit, vývojové prostředí Keil Microvision 4

(alt. IAR, Atolic)

Řešené úlohy seznámení s kitem a prostředím, blik LED připojení klávesnice připojení 7- segment. zobrazovače pomocí. pos. registrů připojení LCD připojení na RS232 ( pořízení převodníku USB- RS 232)

Projekt 1,

A4M38AVS, 2013, J.Fischer, ČVUT - FEL Praha, kat. měření

4

Cvičení

Zpráva – celková za úvodní úlohy zpráva – studie – návrh k projektu 1

Projekt 1, zpráva – návrh řešení- konkrétní dokumentace, jasně specifikované funkce ovládání, ne pouze úvahy ( jako plány na stavbu domu). studie – podrobný návrh - zpráva 5 b., odevzdání zprávy, odsouhlasení cvičícím, realizace, předvedení výsledné realizace, odevzdání podrobné závěrečné zprávy včetně programů, (zabalený projekt Keil) závěrečná zpráva 10 b. Hodnotí se i obsah , provedení a forma zprávy, komentáře jednotlivých částí programů, dokumentace – důležitá součást pro řešení vývoje zařízení

Projekt 2, 5 b + 10b, systém sběru dat, zařízení pro záznam signálu

Odevzdání úloh a zpráv v termínu, (jinak snížení hodnocení)

A4M38AVS, 2013, J.Fischer, ČVUT - FEL Praha, kat. měření

5

Zápočet

Podmínky zápočtu:

Cvičení jsou povinná - aktivní účast na cvičeních,

Neúčast na cvičeních – důvod pro neudělení zápočtu

Řádný termín zápočtu – v termínu řádného cvičení v zápočtovém týdnu

(zálohovat si soubory alespoň na dalších dvou nezávislých médiích - ztráta souborů,…. není omluvou a důvodem pro odložení zápočtu)

Každý se dostaví k zápočtu v řádném termínu a příp. předloží chybějící požadované podklady)

Pokud nejsou splněny podmínky- stanovení náhradního termínu zápočtu-. nejpozději do konce druhého týdne zkouškového období.

(Výjimečné závažné případy – nemoc a další, .. řeší cvičící se studentem ve spolupráci s přednášejícími, zohlední se i předchozí přístup studenta k řešení úkolů)

A4M38AVS, 2013, J.Fischer, ČVUT - FEL Praha, kat. měření

6

Zpráva

Zprávu tvoří každý samostatně s uvedením původu použitých materiálů podle zásad publikování na ČVUT – FEL (podobně jako v BP a DP.

V programu bude jasně uvedeno autorství.

a - na počítači , obrázky, příp. i ručně – podle pravítka, oskenované a vložené.

Využívat obrázků pro vysvětlení uspořádání, funkcí programu,..) možno vkládat též foto výsledného zařízení.

Plagiátorství je důvodem pro snížení hodnocení, případně v závažných případech i pro neudělení zápočtu.

Autor musí být schopen u všech částí svého projektu být schopen vždy poskytnout vysvětlení řešení a funkcí.

Zpráva bude používat konkrétní a výstižné vyjadřování a popis řešení.

Všeobecné a nic neříkající formulace typu ( je použita speciální metody čtení klávesnice, která předává .,, brány jsou patřičným způsobem nakonfigurovány, ve vhodném okamžiku se čte ….) jsou vyloučeny.

A4M38AVS, 2013, J.Fischer, ČVUT - FEL Praha, kat. měření

7

Jádro ARM Cortex – M3

.

Firma ARM www.arm.com

,

(nevyrábí vlastní procesory) návrh jádra jádro v rámci licencí využívá mnoho výrobců (ST, NXP, TI, Atmel,..) definováno: jádro CPU řadič přerušení rozložení v adresním prostoru

(kde- 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í perieferie

A4M38AVS, 2013, J.Fischer, ČVUT - FEL Praha, kat. měření

8

.

Adresní prostor ARM- CORTEX – M3

A4M38AVS, 2013, J.Fischer, ČVUT - FEL Praha, kat. měření

9

Struktura STM32F100

Cortex-M3

CPU

24 MHz výklad na před.: jednotlivé části, funkce a použití

16-128kB

Flash Memory

Power Supply

Reg 1.8V

XTAL oscillators

32KHz + 3~25MHz

Int. RC oscillators

40KHz + 8MHz

1x USART/LIN

Smartcard/IrDa

A4M38AVS, 2013, J.Fischer, ČVUT - FEL Praha, kat. měření

ARM Peripheral Bus

(max

24MHz

)

1x16-bit timer with 2

IC/OC/PWM

2x16-bit timer each with 1 IC/OC/PWM

1x 12-bit ADC

16 channels /

2x USART/LIN

Smartcard / IrDa

10

Literatura

.

The Insider’s GuideTo The STM32 ARM®Based Microcontroller

An Engineer’s Introduction To The STM32 Series www.hitex.com

Velmi zkrácený přehled architektury

ARM Cortex M3 z hlediska, implemetace do STM32 přehledný zkrácený popis periferií STM32 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

Tento manuál je dobrý proto to, zjistit, co se má vlastně hledat v dalších podrobných manuálech

A4M38AVS, 2013, J.Fischer, ČVUT - FEL Praha, kat. měření

11

Jádro ARM Cortex – M3

Volně dostupné materiály:

.

Sadasivan S.:An Introduction to the ARM Cortex-M3 Processor ( www.ARM.com

)

DUI 0552A_Cortex - M3devices 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)

A4M38AVS, 2013, J.Fischer, ČVUT - FEL Praha, kat. měření

12

STM32F100x

. 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

)

Další literatura. Def. guide …

A4M38AVS, 2013, J.Fischer, ČVUT - FEL Praha, kat. měření

13

Nastavení STM32 pro použití brány

Po reset – minimalizace spotřeby, vše odpojeno,

.

Běh na vnitřní HS oscilátor

Pro použití brány, nastavit oscilátor, nastavení sběrnic, povolení hodin pro sběrnice a periferie, konfigurace pinů brány,

A4M38AVS, 2013, J.Fischer, ČVUT - FEL Praha, kat. měření

14

V/V brány v STM32

.

Standardní vstupně výstupní brány (ne + 5 V tolerantní)

Odhad chování pinu ( ne + 5V tolerantního) brány STM32F100x na základě podoby s chování vstupů log. obvodů řady 74HCxxx, např. 74HC04

Diskuse, možné důsledky nevhodného zapojení ( též. další přednášky)

A4M38AVS, 2013, J.Fischer, ČVUT - FEL Praha, kat. měření

15

STM32F100 IO brány

standardní vstup

.

RM0041 str. 102

A4M38AVS, 2013, J.Fischer, ČVUT - FEL Praha, kat. měření

16

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

LDR R0, =RCC_APB2ENR

; Kopie adresy RCC_APB2ENR (APB2 peripheral clock enable register) do R0

LDR R1, [R0]

LDR R2, =0x10

; Nacteni stavu registru RCC_APB2ENR do R1

; Konstanta pro zapnuti hodin pro branu C

ORR R1, R1, R2

STR R1, [R0]

; Maskovani

; Ulozeni nove hodnoty

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 správně konfigurován!!!)

17

A4M38AVS, 2013, J.Fischer, ČVUT - FEL Praha, kat. měření

Umístění registrů

str. 36 RM0041

.

PA 0x4001 0800

PC

0x4001 1000

A4M38AVS, 2013, J.Fischer, ČVUT - FEL Praha, kat. měření

18

Reset and Clock

Control

STM32F100 str. 100

RM0041 ref. manual.

A4M38AVS, 2013, J.Fischer, ČVUT - FEL Praha, kat. měření

19

.

.

Registry V/V bran

A4M38AVS, 2013, J.Fischer, ČVUT - FEL Praha, kat. měření

20

Konfigurace bitů 7 až 0 (dolní Byte) – low

4 bity pro konfiguraci jednoho pinu brány CFNx – 2 bity, Modex 2 bity

Brány PA, PB, PC jsou 16 – bitové lze číst a zapsat naráz max. 16 bitů z (nebo do) brány

A4M38AVS, 2013, J.Fischer, ČVUT - FEL Praha, kat. měření

21

konfigurace bitů 15 až 8 ( horní Byte) - high

A4M38AVS, 2013, J.Fischer, ČVUT - FEL Praha, kat. měření

22

Konfigurace

RM0041 str. 103

A4M38AVS, 2013, J.Fischer, ČVUT - FEL Praha, kat. měření

23

Datový registr výstupní brány

Brány PA, PB, PC jsou 16 – bitové lze zapsat naráz max. 16 bitů do brány

A4M38AVS, 2013, J.Fischer, ČVUT - FEL Praha, kat. měření

24

Vstupní brána

Pro čtení tlačítka na PA0

Brány PA, PB, PC jsou 16 – bitové lze číst naráz max. 16 bitů z brány

Vhodné

A4M38AVS, 2013, J.Fischer, ČVUT - FEL Praha, kat. měření

25

Určení adresy registru

Potřeba znát základní adresu periferie (brány) –z Tab. 1 na str. 36 RM0041 offset pro příslušný registr z tab. 48 (str. 129RM0041 ) 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

A4M38AVS, 2013, J.Fischer, ČVUT - FEL Praha, kat. měření

26

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

A4M38AVS, 2013, J.Fischer, ČVUT - FEL Praha, kat. měření

27

Tlačítko na STM32VL Discovery

Tlačítko – v klidu L, Pull down rezistor stisk – čte se 1 , viz manuál UM0919 tlačítko připojeno na PA0, LED připojeny na PC8, PC9

A4M38AVS, 2013, J.Fischer, ČVUT - FEL Praha, kat. měření

28

Port bit set/ reset

.

Nastavování jednotlivých bitů brány, zápis 1 do bitů 31 až 16 nastavuje přísl. bit do 1, zápis 1 do bitů 15 až 0 nastavuje přísl. bit do 0 zápis 0 – příslušný výstupní bit se neovlivní

A4M38AVS, 2013, J.Fischer, ČVUT - FEL Praha, kat. měření

29

Reset výstupního pinu brány

Zápis 1 do bitů 15 až 0 nuluje přísl. bit. (nastavuje přísl. bit do 0) RESET,

.

zápis 0 do registru neaktivní – neovlivní stav výstupu

Vhodné

A4M38AVS, 2013, J.Fischer, ČVUT - FEL Praha, kat. měření

30

Potřeba modifikace jediného bitu

Nastavování výstupních bran – často potřeba modifikace vybraného bitu bez ovlivnění ostatních bitů, např. blikání LED,..

potřeba změnit konfiguraci jedné části a neovlivnit nastavení ostatních částí

Postupovat obezřetně při změnách konfigurace a nastavení systému

A4M38AVS, 2013, J.Fischer, ČVUT - FEL Praha, kat. měření

31

Modifikace bitů slova v SRAM nebo výstupní brány

Změna vybraných bitů v RAM nebo registru výst. brány

.

(ready – modify – write) přečíst – upravit vybrané bity a zapsat

Funkce – čtení modifikace bitů , zápis

úprava bitu do 1- OR 1

úprava bitu do 0 - AND 0 v daném bitu

? riziko – příchod přerušení v procesu čtení , modifikace a zápisu

(read, modify, write), zákaz přerušení

Pro ovládání jednotlivých vybraných bitů brány STM32 jediným zápisem viz funkce set, reset obr. viz. Hitex: Insiders Guide….

A4M38AVS, 2013, J.Fischer, ČVUT - FEL Praha, kat. měření

32

Bit Banding

slovo (32 bitů) na adr. 0x2200 0000 odpovídá (jedinému) bitu D0z Byte na adr.

0x2000 0000

A4M38AVS, 2013, J.Fischer, ČVUT - FEL Praha, kat. měření zápis

33

.

Bit banding – obr. dle Hitex: Insiders Guide … celá vnitřní SRAM a periferie v

STM32 v rozsahu adres dosažitelném pomocí

„Bit banding“

SRAM Bit band oblast (celkem 1 MByte) Bit Band Alias (celkem 32 MByte) od 0x2000 0000 do 0x200F FFFF, od 0x2200 0000 do 0x23FF FFFF

Periferie Bit band oblast (celkem 1 MByte) Bit Band Alias (celkem 32 MByte) od 0x4000 0000 do 0x400F FFFF

A4M38AVS, 2013, J.Fischer, ČVUT - FEL Praha, kat. měření od 0x4200 000 do 0x43FF FFF

34

Modifikace jediného bitu metodou „bit banding“

Možnost adresovat jediný bit v oblasti „bit banding“) zápisem celého slova

(32 bitů) do oblasti bit band alias, oblast 1MByte adres. prostoru bit band v paměti SRAM adresovaná jako

32 MByte v bit band alias, jeden bit oblast 1MByte bit band v prostoru I/O v STM32 adresovaná jako 32 MByte v bit band allias bit_word_addr = bit_band_base + (byte_offset x 32) + (bit_number × 4) mapování bitu 2 z Byte v SRAM na adrese

0x2000 0300 do oblasti alias :

0x2200 6008 = 0x2200 0000 + (0x300*32) + (2*4).

Zápis na adresu 0x2200 6008 má stejný efekt jako čtení,modifikace bitu a zápis bitu 2 z byte v SRAM na adrese 0x2000 0300.

význam má nejnižší bit 0 ze slova (32 bitů)

Čtení z adresy 0x2200 6008 vrátí hodnotu (0x01 nebo 0x00) bitu 2 z byte v SRAM adress 0x2000 0300 (0x01: bit set; 0x00: bit cleared).

A4M38AVS, 2013, J.Fischer, ČVUT - FEL Praha, kat. měření

35

Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement