A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL
Přednáška 1
2011, kat. měření, ČVUT - FEL, Praha J. Fischer
1
A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL
Náplň 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 8 a 32 bitové procesory – mikrořadiče (Microcontroller) pro vestavěné systémy Obvody a periferie na čipu mikrořadičů (vstupy, výstupy, rozhraní SPI, I2C, I2S, 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ů
2
A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL
Cvičení Seznámení s IDE Keil pro ARM Logické obvody (dále L.O.)- statické parametry a jejich určení (skup. 2 stud.) Logické obvody – dynamické parametry a jejich určení , buzení obvodu procesorem STM32, generování signálu o dané frekvenci (měření -sk. 2 st., příprava programu pro generaci 1 st. Dále již jen – skupina – 1 student) Konfigurace výstupních bran STM32, ovládání výstupů, připojení LED, ovládání registru a posuvného registru, připojení výstupu s posuvným registrem 74HCT595, ovládání zobrazovače nebo krokového motorku (dle volby) (1. hodnocená úloha) + zpráva Čtení vstupů (tlačítko, klávesnice), vstup s posuvným registrem, využití SPI Sériová komunikace, využití UART, komunikace s RS232, zobrazení dat na PC (terminál) (2. hodnocená úloha) + zpráva Využití interní čítačové jednotky, pro generování a čítání impulsů, určení frekvence, generování signálu PWM. Samostatný projekt: Návrh systému pro sběr dat a monitorování (hodnocená úloha, studie k projektu, návrh a realizace, závěrečná zpráva), Test v semestru – 9. týden společný termín - na přednášce (v míst. 340)
3
A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL
Cvičení – poznámky Možno osadit – zapájet minimodul s STM32 a využít jej v projektu ladění – „boot loader“, nebo pomocí SWD z kitu STM32 Discovery samostatná práce studenty, uvedení příp. informačních zdrojů) Plagiátorství – ne !!! Účast na cvičeních povinná Domácí příprava, příprava programů Zapůjčení modulů STM32 Discovery, příp. i kont. pole na celý semetr Potřebné vybavení napájení + 5V ( např. z USB), příp. multimetr 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 - 200 Kč, www.nc.cz, využitelné i pro práci s jinými mikroprocesory pro vestavěné systémy – pro funkci Boot Loader)
4
A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL
Hodnocení 1., 2. hodnocená úloha, samostatný projekt, zprávy, samostatná práce studenty, uvedení příp. informačních zdrojů) Plagiátorství – ne !!! Účast na cvičeních povinná
Domácí příprava, příprava programů, vývojový diagram, schéma v laboratoři – odladění úlohy, využití přístrojového vybavení
5
A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL
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í periefrie
6
A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL
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)
7
A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL
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)
8
A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL
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
9
A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL
Registry ARM Cortex M3 R0 – R12 obecné registry Dolní registry (low reg.) R0 – R7 přístupné všemi instrucemi. s příst. k registrům. Horní registry (high reg.) R8 – R12 přístup pouze 32 bitovými instrukcemi s příst. k registrům
10
A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL
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) 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). 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] je vždy, takže instrukce jsou zarovnány na hranice slova (4 Byte) nebo poloviční slova (2 Byte). Stavový reg. programu (Program Status Registers xPSR) stavových registr příznaků (Flags)
11
A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL
Pojem instrukce - Thumb - 2 ARM Cortex M3 návaznost na procesory ARM procesory ARM 16 – bitové instrukce Thumb 32 – bitové instrukce ARM ( přepínání v programu, jaká sada instrukcí se používá) ARM Cortex M3 - instrukce Thumb doplněné 32- bitovými instrukcemi sada označená jako Thumb 2, ARM Cortex M3 – používá sadu Thumb – 2 bez přepínání, Pokus o přepnutí do režimu instrukcí ARM ( 32 – bitových vyvolá chybu) 16 – bitové instrukce Thumb – omezené možnosti – např. ve vzdálenosti adresy pro skok,…. možnost
12
A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL
Příznakový registr -
1 indikuje aktivní stav N negativní nebo menší než Z Nula C Carry/ Borrow – výpůjčka V přetečení overflow Q sticky saturation (při aritmetice se saturací)
13
A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL
Adresový prostor -
14
A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL
STM32F100
Nested Nestedvect vectIT ITCtrl Ctrl
11xxSystick SystickTimer Timer 11xxDMA DMA 77Channels Channels
ARMLite LiteHi-Speed Hi-SpeedBus Bus ARM Matrix / Arbiter (max 24MHz) Matrix / Arbiter (max 24MHz)
JTAG/SW JTAG/SWDebug Debug
FlashI/F I/F Flash
Cortex-M3 Cortex-M3 CPU CPU 24 24 MHz MHz
16-128kB 16-128kB Flash FlashMemory Memory
4kB-8kB 4kB-8kBSRAM SRAM
20B 20BBackup BackupRegs Regs
Clock ClockControl Control
Bridge Bridge
Up Upto to80 80I/Os I/Os 1x 1xSPI SPI 1x 1xUSART/LIN USART/LIN Smartcard/IrDa Smartcard/IrDa Modem-Ctrl Modem-Ctrl
(max 24MHz)
Synchronized SynchronizedAC ACTimer Timer
Up Upto to16 16Ext. Ext.ITs ITs
Int. Int.RC RCoscillators oscillators 40KHz 40KHz++8MHz 8MHz PLL PLL
RTC RTC//AWU AWU 2x 2xWatchdog Watchdog
Bridge Bridge 1x6x 1x6x16-bit 16-bitPWM PWM
Power PowerSupply Supply Reg Reg1.8V 1.8V POR/PDR/PVD POR/PDR/PVD XTAL XTALoscillators oscillators 32KHz 32KHz++3~25MHz 3~25MHz
CRC CRC
ARM Peripheral Bus
-
ARM Peripheral Bus (max 24MHz)
(independent (independent&&window) window)
33xx16-bit 16-bitTimer Timer
1x16-bit 1x16-bittimer timerwith with22 IC/OC/PWM IC/OC/PWM
HDMI HDMICEC CEC
2x16-bit 2x16-bittimer timereach each with 1 IC/OC/PWM with 1 IC/OC/PWM
2x 2xSPI SPI
22xx12bit 12bitDAC DAC 1x 1x12-bit 12-bitADC ADC 16 channels 16 channels// 850ksps 850ksps Temp TempSensor Sensor
2x 2xUSART/LIN USART/LIN Smartcard Smartcard//IrDa IrDa Modem ModemControl Control 2x 2xI2C I2C
15
A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL
Výklad ke cvičením -měření vlastností LO - Statické parametry: vstupní charakteristika Ii = f (Ui) převodní charakteristika Uo = f (Ui), rozhodovací úroveň vnitřní odpor výstupu ve stavu H - RH, vnitřní odpor výstupu ve stavu l RL, klidový odběr odběr v závislosti na vstupním napětí ( při rozhodovací úrovni) chování obvodu se vstupem „ plovoucím“ Dynamické parametry: zpoždění odběr v závislosti na frekvenci vstupního signálu určení Cpd zvýšení odběru při zátěži kapacitou (kondenzátor, osciloskopická sonda) 74HC00, 74HCT00
UCC II UI
IO UO
16
A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL
Měření vlastností LO -
Měřicí zapojení , výklad na přednášce, příprava na cvičení UCC II
+5V
IO
UI
R1
CB
+5V
R1 UO
Ucc R2
Ui
in GND
out Uo
Ii
Ii
UCC Ui
UCC
Ui
17
A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL
Měření vlastností LO - působení diod ve vstupním obvodu, působení na vstupní charakteristiku působení substrátových diod, (výklad na přednášce k problematice cvičení)
UCC
UCC II UI
IO
T1 U1
UO
U2
T2
UCC D5
D3
D1
CMOS obvod U1
D2
R D4
U2 D6
D7
18