Přednáška 1 2011, kat. měření, ČVUT - FEL, Praha J. Fischer 1
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, 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ů 2
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
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
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
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
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
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
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
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
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
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
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
Adresový prostor - 14
STM32F100 - Cortex-M3 CPU 24 24 MHz Flash Flash I/F I/F 16-128kB Flash Memory Power Supply Reg Reg1.8V POR/PDR/PVD 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) Bridge 4kB-8kB SRAM 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 1x 1x 12-bit ADC 16 16 channels // 850ksps Temp Sensor 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 2x 2x USART/LIN Smartcard // IrDa IrDa Modem Control 2x 2x I2C I2C 15
Výklad ke cvičením -měření vlastností LO A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL - Statické parametry: vstupní charakteristika Ii = f (Ui) převodní charakteristika Uo = f (Ui), rozhodovací úroveň vnitřní odpor výstupu ve stavu H - R H, vnitřní odpor výstupu ve stavu l R L, 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 U I I I U CC I O U O zvýšení odběru při zátěži kapacitou (kondenzátor, osciloskopická sonda) 74HC00, 74HCT00 16
Měření vlastností LO - Měřicí zapojení, výklad na přednášce, příprava na cvičení U CC + 5 V C B R1 + 5 V I I I O R 1 U I U O R 2 U i Ucc in GND out U o I i I i U CC U i U CC U i 17
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í) U CC U CC I I I O T1 U I U O U 1 T2 U 2 U CC D1 D3 CMOS obvod U R 1 D2 U 2 D4 D6 D7 D5 18