Úvod. přednáška

Úvod. přednáška
A4M38AVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
2012, kat. měření, ČVUT - FEL, Praha
J. Fischer
Aplikace vestavných systémů
1
A4M38AVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
komunikace s vyučujícími
E- maily – pouze z FEL adresy ! login_jmé[email protected]
cvičení: lab. 318 blok A3
cvičící:
Ing. Radek Sedláček, PhD st. 14.30
Ing. Vojtěch Vigner
st. 16.15
doc. Ing. Jan Fischer, CSc. , kat. měření, míst. 441/1, tel. 2 2435 2179
Ing. Radek Sedláček, PhD
Přednášející
2
A4M38AVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
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
Náplň předmětu
3
A4M38AVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
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,
Cvičení
4
A4M38AVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
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í)
Cvičení
5
A4M38AVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
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ů)
(Tyto požadavky- vyvolány špatnými zkušenostmi při vstřícném a tolerantním
přístupu v minulém semestru)
Zápočet
6
A4M38AVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
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.
Zpráva
7
A4M38AVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
Výrobci individuálně doplňují
perieferie
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
Jádro ARM Cortex – M3
8
A4M38AVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
.
Adresní prostor ARM- CORTEX – M3
9
1x
1xUSART/LIN
USART/LIN
Smartcard/IrDa
Smartcard/IrDa
Modem-Ctrl
Modem-Ctrl
1x
1xSPI
SPI
Up
Upto
to80
80I/Os
I/Os
Up
Upto
to16
16Ext.
Ext.ITs
ITs
Synchronized
SynchronizedAC
ACTimer
Timer
1x6x
1x6x16-bit
16-bitPWM
PWM
CRC
CRC
77Channels
Channels
11xxDMA
DMA
11xxSystick
SystickTimer
Timer
Nested
Nestedvect
vectIT
ITCtrl
Ctrl
JTAG/SW
JTAG/SWDebug
Debug
A4M38AVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
výklad
na před.:
jednotlivé
části,
funkce
a použití
Cortex-M3
Cortex-M3
CPU
CPU
24
24 MHz
MHz
Bridge
Bridge
ARM Peripheral Bus
Struktura STM32F100
ARM Lite Hi-SpeedBus
Bus
ARM
Lite
Hi-Speed
Matrix//Arbiter
Arbiter(max
(max24MHz)
24MHz)
Matrix
(max 24MHz)
16-128kB
16-128kB
Flash
FlashMemory
Memory
(max 24MHz)
ARM Peripheral Bus
Temp
TempSensor
Sensor
1x
1x12-bit
12-bitADC
ADC
16
channels
16 channels//
850ksps
850ksps
22xx12bit
12bitDAC
DAC
2x16-bit
2x16-bittimer
timereach
each
with
1
IC/OC/PWM
with 1 IC/OC/PWM
1x16-bit
1x16-bittimer
timerwith
with22
IC/OC/PWM
IC/OC/PWM
Bridge
Bridge
Clock
ClockControl
Control
20B
20BBackup
BackupRegs
Regs
4kB-8kB
4kB-8kBSRAM
SRAM
FlashI/F
I/F
Flash
2x
2xI2C
I2C
2x
2xUSART/LIN
USART/LIN
Smartcard
Smartcard//IrDa
IrDa
Modem
ModemControl
Control
2x
2xSPI
SPI
HDMI
HDMICEC
CEC
33xx16-bit
16-bitTimer
Timer
2x
2xWatchdog
Watchdog
(independent
(independent&&window)
window)
RTC
RTC//AWU
AWU
PLL
PLL
Int.
Int.RC
RCoscillators
oscillators
40KHz
40KHz++8MHz
8MHz
XTAL
XTALoscillators
oscillators
32KHz
32KHz++3~25MHz
3~25MHz
Power
PowerSupply
Supply
Reg
Reg1.8V
1.8V
POR/PDR/PVD
POR/PDR/PVD
10
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
The Insider’s GuideTo The STM32 ARM®Based Microcontroller
An Engineer’s Introduction To The STM32 Series
www.hitex.com
A4M38AVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
.
Literatura
11
A4M38AVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
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)
DUI 0552A_Cortex - M3devices generic user Guide (www.ARM.com)
DDI 0337E Cortex -M3 Revision: r1p1 Technical Reference Manual (www.ARM.com)
Volně dostupné materiály:
Sadasivan
S.:An Introduction to the ARM Cortex-M3 Processor (www.ARM.com)
.
Jádro ARM Cortex – M3
12
A4M38AVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
Další literatura. Def. guide …
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)
. Volně dostupné materiály:
STM32F100x
13
A4M38AVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
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,
Nastavení STM32 pro použití brány
14
A4M38AVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
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)
.
Standardní vstupně výstupní brány (ne + 5 V tolerantní)
V/V brány v STM32
15
A4M38AVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
standardní vstup
.RM0041
str. 102
STM32F100 IO brány
16
A4M38AVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
(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
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.
LDR R0, =RCC_APB2ENR
; Kopie adresy RCC_APB2ENR (APB2 peripheral clock enable register) do R0
LDR R1, [R0]
; Nacteni stavu registru RCC_APB2ENR do R1
LDR R2, =0x10
; Konstanta pro zapnuti hodin pro branu C
ORR R1, R1, R2
; Maskovani
STR R1, [R0]
; Ulozeni nove hodnoty
registru brány se na výstupu nic neprojeví)
Nejdříve - aktivace hodinového signálu pro výstupní bránu
. Po reset – jsou V/V brány neaktivní (i při zápisu dat do výstupního
Konfigurace brány STM32F100x
A4M38AVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
PC 0x4001 1000
. 0x4001 0800
PA
str. 36 RM0041
Umístění registrů
18
A4M38AVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
Reset and Clock
Control
STM32F100
str. 100
RM0041
ref. manual.
19
A4M38AVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
.
.
Registry V/V bran
20
A4M38AVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
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
21
A4M38AVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
konfigurace bitů 15 až 8 ( horní Byte) - high
22
A4M38AVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
RM0041
str. 103
Konfigurace
23
A4M38AVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
Brány PA, PB, PC jsou 16 – bitové
lze zapsat naráz max. 16 bitů do brány
Datový registr výstupní brány
24
A4M38AVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
Vhodné
Pro čtení tlačítka na PA0
Brány PA, PB, PC jsou 16 – bitové
lze číst naráz max. 16 bitů z brány
Vstupní brána
25
A4M38AVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
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
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
Určení adresy registru
26
A4M38AVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
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
Používané adresy
27
A4M38AVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
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
Tlačítko na STM32VL Discovery
28
A4M38AVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
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í
Port bit set/ reset
29
A4M38AVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
Vhodné
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
.
Reset výstupního pinu brány
30
A4M38AVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
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
Potřeba modifikace jediného bitu
31
A4M38AVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
obr. viz. Hitex: Insiders Guide….
Pro ovládání jednotlivých vybraných bitů
brány STM32 jediným zápisem
viz funkce set, reset
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í
Modifikace bitů slova v SRAM nebo výstupní brány
32
A4M38AVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
slovo (32 bitů)
na adr. 0x2200 0000
odpovídá (jedinému)
bitu D0z Byte na adr.
0x2000 0000
Bit Banding
zápis
33
Bit Band Alias (celkem 32 MByte)
od 0x4200 000 do 0x43FF FFF
Periferie Bit band oblast (celkem 1 MByte)
od 0x4000 0000 do 0x400F FFFF
A4M38AVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
od 0x2200 0000 do 0x23FF FFFF
od 0x2000 0000 do 0x200F FFFF,
(celkem 32 MByte)
Bit Band Alias
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 banding –
. obr. dle Hitex: Insiders Guide …
34
A4M38AVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
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).
bit_word_addr = bit_band_base + (byte_offset x 32) + (bit_number × 4)
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
Modifikace jediného bitu metodou „bit banding“
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