Mikroprocesory pro vest. aplikace, Sběrnice, vstupy, výstupy Přednáška 12
2012, kat. měření, ČVUT - FEL, Praha J. Fischer
A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
1
Náplň přednášky Rekapitulace –
A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
2
Mikroprocesory pro vestavné aplikace – rysy Široké spektrum procesorů pro vestavné aplikace od 4 – bitových po 32 – bitové Historický typ – jádro 8051, stále využívané desítkami výrobců Atmel AT89C 51,… jiná řada Atmel AVR, AT Mega www.atmel.com Motorola – Freeescale rodina 68HC08, ( 68HCS908,…) rodina 68HCS12 a vyšší typy http://www.freescale.com/ ST Microelectronics STM8 8- bitový proc. www.st.com/stm8 firma Microchip , procesory PIC, www.microchip.com Texas Instruments MSP430 16 bitový procesor, nízká spotřeba, www.ti.com/MSP430 japonské firmy Fujitsu, Nes, Renesas, 8, 16 bitové proc. Signálové procesory Analog Devices, Texas Instruments, Freescale aplikace – jednočipové, nebo i externími sběrnicemi možnost připojení externí SDRAM, možnost oprač. systému ( uCLinux., Linux) Texas Instruments – kombinace DSP a procesoru ARM v jednom pouzdře A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
3
Procesory s jádrem ARM pro vestavné aplikace Nyní trend – používat jádro ARM firma ARM www. ARM. COM nejdříve jádro ARM 7, a především, jádro – pro vestavné aplikace – jednočipová varianta – všechny paměti, řadiče a periferie jsou na čipu). ARM Cortex M3, ARM Cortex M0 další typy jádro ARM Cortex M4 (funkce DSP), ARM 9, ARM 11 ( např. v Raspberry – PI), ARM Cortex A9 vyšší typ již spolupráce s externími sběrnicemi externí SDRAM, 32, 64 a více MByte, portování Linux, nebo omezená verze uCLinux (procesory bez MMU – memory Management Unit), Android,.. Potřeba větší paměti RAM 32 Mbyte uCLinux, Pro vyšší varianty, 256MByte, 512 Mbyte – 1 GByte,…– připojení externí dynamické SDRAM (synchronous dynamic RAM)
A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
4
Polovodičové paměti RWM read write memory ( RAM – SRAM, DRAM, SDRAM) RWM- DRAM paměťový kondenzátor s výběrovým MOS tranzistorem, nutné periodická obnova informace (analogie – přečtení a obnova blednoucího nápisu) ROM Read only memory- obsah dán pevně – maskami při výrobě ( závěrečná metalizace- propojení) PROM – programovatelné paměti ( jedenkrát ), OTP (one time programmable) OP PROM, - vyskytuje se i u mikroprocesorů) pozor není možno vymazat !!! EPROM Erasable PROM . programovatelené, mazatelné UV zářením, okénko z křemenného skla, EPROM - již velmi málo používané EEPROM - Elektricky mazatelné programovatelné paměti, programování tunelováním, mazání tunelováním FLASH memory NOR, NAND NOR FLASH struktura- uspořádání podobně jako ROM, EPROM, EEPROM, podobný způsob čtení, přístup – adresace v paměťové matici NOR FLASH – použitelné pro uložení programu, který uP čte a vykonává NOR – FLASH na čipu mikrokontrolérů jako paměť programu ( STM32Fxxx) A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
5
Paměti - paměťová matice Uspořádání paměťových buněk do matice (čtvercové, příp. obdél. matice) adresace buňky v řádku a sloupci výběr (aktivace ) řádku adresovým vodičem ( word line) přivedení informace na bitové vodiče výběr sloupce paměťová matice dekodér řádku adresa řádku
adresový vodič (word line)
bitový vodič ( bit line) adresa sloupce
spínače sloupců dekodér sloupce
A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
Data
6
Paměti - stránka Současné čtení informace z jednoho řádku, ulož. do vyrovnávací pam. řádku - stránky inf. na jednom řádku - stránka, page jeden proces přípravy čtení načtení stránky do vyrovnávací paměti Page mode read, Page mode write postupný výběr podle adresy sloupce u FLASH, DRAM, SDRAM ( analogie – promoce – Betlémská kaple celá řada)
využití registru stránky při čtení i zápisu DRAM, SDRAM - fast page mode read, přivedení adresy řádku ( ROW) jednou, dále jen postupné přivádění sloupcových adres - Column rychlé ukládání po jednotlivých Byte do reg. stránky, paralelní přesun po sloupcích do buněk jedné stránky „Page mode“ Page mode (sector) - jediný režim u NAND FLASH ( flash disků, karet) pomalé - současné - paralelní čtení, (zápis) velkého množství inf. z ( do) buněk A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
7
Paměti PROM - EPROM – FLASH - EEPROM Informace uložena ve formě schopnosti MOS tranzistoru vést proud pokud je na GATE napětí programování – uložení náboje, (příp. mazání) náboje v oblasti GATE podle naprogramování – různý proud Drain – Source, při stejném nap. na Gate („ vede – nevede“) tranzistory – v paměťové matici, adresace řádek – sloupec výst. obvod C0
+U
IDS
a
b
bez prog.
C
naprog.
W1
TF00
TF01
+
B T
TF10
TF11 B0
A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
TC1
+
W0
TC
W UGS
C1
R výst. obvod
UC
TC0
B1
8
Polovodičové paměti NAND FLASH Pozor NAND Flash – zcela jiná filosofie přístupu Nelze číst jediný Byte nebo Word, čtení celé stránky ( viz dále), relativně pomalý cyklus čtení ( podstatně pomalejší než u NOR FLASH) čtení, ale NOR – Flash na čipu mikrokontrolérů jako paměť programu ( STM32Fxxx) NAND – Pozor, zcela odlišná struktura, pouze jako záznamové medium, (spíše odpovídající paměti s diskem,.., ) Použito v paměťových kartách, SSD , USB Flash discích,…
A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
9
Paměti RWM Paměťová buňka SRAM bistabilní klopný obvod
6 T paměťová buňka použita technologie CMOS velmi nízký statický proudový odběr zapojení do matice-
Ucc /B
B T3
Ucc dekodér řádku
R1R2
R5 R6
R7 R8
A0, A1
dekodér sloupce A2, A3
T4
W
Din
T6
T5 T1
R3 R4
T2
A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
Dout
/CS /WE /OE
10
Paměti SRAM Organizace (x1 bit, x4 bit - staré) x bitů, x16 bitů klasické CMOS SRAM, nízkopříkonové, označení často začíná 62xxx 6264, 62256 , doby přístupu desítky až přes 100 ns KM 62 256 , adresové vstupy, datové vstupy/ výstupy, A14 - A0 řídicí signály SRAM: paměťové D7 - D0 pole • /CS výběr čipu, ( chip select) ( někdy více /CS OE RAM • /OE řízení výst. budiče -( output enable) CS WE • /WE povolení zápisu ( write enable) Rozložení vývodů- JEDEC standard , 62256 vždy stejně. 27256 ( EPROM) a 62256 (SRAM) shodné rozložení signálů na pouzdře adresy, data, /OE, /CS ( resp. /CE), GND, Ucc, SRAM navíc /WE Rychlé SRAM, ( jako vyrovnávací paměti) doby přístupu přibl. 10 ns. ryc A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
11
Paměti SRAM - cyklus zápisu Přivedení adresy a platných dat významný okamžikukončení aktivity /WE nebo /CS (který dříve) ukončení podmínky WE x CS = 1
tWC ADR tCW CS tAS
tWP
WE
data stabilní: tDW před aktiv. hranou předstih dat (set up time) tDH po náběžné hraně zapisovacího přesah dat (hold time) impulsu /WE ( příp. /CS)
A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
tDW
tDH
vstupní data platná data ( OE = H )
Z
12
Paměti SRAM - cyklus čtení Cyklus čtení, obdobný jako u EPROM, FLASH,.
tRC ADR tCO CS
/CS výběr čipu - ( Chip Select) /OE - povolení výstupu (Output Enable) - aktivace výstpních budičů, jinak ve stavu vysoké impedance
A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
tOE OE
tAA
výstupní data ( WE = H)
platná data C
13
SRAM - 4Mb Async. Fast SRAM Příklad standardní současné standardní SRAM. Samsung K6R4008V1D 512K x 8 UCC= 3,3 V tAA= 8 ( 10) ns Podobně – varianty 256 k x16
A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
14
Časové diagramy - 4Mb Async. Fast SRAM -
A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
15
Časové diagramy SRAM - orientace v údajích -
A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
16
Sběrnice procesoru Skupina vodičů pro - signály mikroprocesoru pro spolupráci a předávání dat přenos typu CPU – Paměť, CPU – vstup/výstup Vodiče – signály : Adresa, Data, řídicí signály – čtení, zápis, ready,. A0 nejnižší váha LSB, A31 ( viz ARM) MSB data D0 nejnižší váha LSB, D31 (viz ARM) MSB Externí sběrnice původní procesory, kdysi Intel 8080, 8085, 8086, 80286,.. Komunikace s pamětmi, programovatelnými řadiči ( řadič přerušení, UART, čítače,..) a všemi zařízením prostřednictvím exerní sběrnice Nyní – mnoho pamětí a periferií na čipu procesoru viz ARM několik sběrnic, paměťová sběrnice, periferní sběrnice,.. ( AHB, APB,..) možní současný přenos různých dat po různých sběrnicích - data ( inst. kód) z paměti programu – z Flash do CPU, data ze vstupu do RAM,..s využitím DMA,.
A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
17
Sběrnice procesoru Nyní – mnoho pamětí a periferií na čipu procesoru viz ARM několik sběrnic, paměťová sběrnice, sběrnice AHB, periferní sběrnice APB možní současný přenos různých dat po různých sběrnicích - data ( inst. kód) z paměti programu – z Flash do CPU, data ze vstupu do RAM,..s využitím DMA,.
A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
18
Spolupráce procesoru se sběrnicemi -
A15 - A0 , a více adr. sběr.
A15 A0 MPR D7 D0
D7 - D0, a více dat. sběr. WR
říd. sig.
RD
A15 A0 pam. blok D7 D0 WR RD
A15 - A0
D7 - D0 WR RD
zápis
čtení ADR
ADR
platná adresa
data z MPR C
/RD data z pam.
platná data tDV
A15 - A0
platná adresa
D8 - D0
platná data Z
WR t
WP
tDWH
platná data
A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
19
Externí sběrnice pro paměti - STM32F2x Čtení na sběrnici STM32F2xx A Address bus D Data bus NEx Chip select NOE Output Enable NWE Write Enable NBL1 Upper Byte Enable NBL0 Lower Byte Enable
N – symbolizuje aktivitu signálu v ve stavu „L“ A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
20
Externí sběrnice STM32F2x - STM32F2x Zápis na sběrnici STM32F2xx
A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
21
DMA - přímý přístup do paměti DMA (Direct Memory Access) přímý přístup do paměti Pro zrychlení přenosů dat typu Paměť- paměť, Paměť – vstup, paměť výstup Řadič DMA , naprogramován pro daný způsob přenosu daného rozsahu paměti,přenos celého bloku naráz, přenos dat, která postupně přicházejí (přenos dat z periferie do Paměti¨) Postupný (synchronní) přenos dat z paměti do periferie, generování analogového signálu pomocí převodníku D/A (DAC digital to analog converter), vstup dat z Input capture, nastavování Output compare, odlehčení procesoru, (forma „domácí“ automatizace v procesoru, „běží to automaticky“). Image interface - DMA přenos obrazu z CMOS senzoru pomocí DMA do RAM ( STM32F207, SDTM32F407), ADSP BF533, DMA naprogramován – např. jakmile se objeví data, ulož je do paměti postupně od adresy, naprogramováno na přenos dat z UART ( SPI,.. do paměti) i opačně, přenosu dat z paměti do výstupu, rychlé vysílání na UART,…SPI,.. (analogie – pomocník, stavba – přesun materiál, sklad, výdej materiálu proudový, nebo na požadavek- rychlý pomocný dělník, který pracuje podle přesně daného předpisu a podle časového plánu),
DMA i použití při organizaci vyrovnávacích bufferů, jedno DMA. data ze senzoru do paměti, další DMA z paměti na interface ( příklad obrazový senzor a komunikační A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
22
Ovládací vstupy, tlačítka Ovládací prvky přístroje - tlačítka, klávesnice tlačítko proti GND, „pull up“ rezistor využití interního „pull up“ rezistoru v AT89S8252 připojení ovládacích prvků přístroje tlačítka, odskoky tlačítka při sepnutí a rozepnutí tlačítko s přerušením,
stisk tlač.
odskoky kontaktu při sepnutí
A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
+5V RP
tlač.
vst. brána
stabilní stav kontaktu
uvolnění tlač.
odskoky kontaktu při rozepnutí
23
Připojení skupiny tlačítek s přerušením Snížení nároku na čas CPU při periodickém snímání stavu tlačítka čtení stavu tlačítka v přerušení stisk - generace přerušení 4 x RP společné přerušení Implementace AT89C51RC2,.... „keyboard interface“ na P1 4 x tl. Keyboard Line X (7 až 0) Flag - zachycení stavu Keyboard Level Selector reg. volba úrovně Keyboard interrupt request
&
vst. brána
+5V
INT
Možnost „probuzení „ procesoru“ ze „sleep“ módu stiskem tlačítka na keyboard interface
A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
24
Integrovaný blok „Keyboard interface“
Implementace AT89C51RC2,.... „keyboard interface“ na P1 KLS.x Keyboard Leve l Selector reg. volba aktivní úrovně tlačítka KBF.x Keyboard Line X (7 až 0) Flag - zachycení aktivního stavu tlačítka KBE.x Keyboard enable , pro daný bit.interrupt request KBDIEN1 povolení přerušení celého interface na P1 Možnost „probuzení „ procesoru“ ze „sleep“ módu stiskem tlačítka na keyboard interface, A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
25
Dynamicky čtená klávesnice
vstup. brána
Tlačítka v matici M x N klidový stav výstupu „open“ „H“ vysoká úroveň výstup typu otevřený kolektor, vstup Pull UP dynamické - postupné buzení jediného sloupce do „L“, čtení všech řádků, stisknuté tlačítko - souřadnice X,Y matice 4 x 4, 3 x 8,.....Matice 4 x 4 - možno přímo na 8- pinů procesoru STM32, konfigurace bran, vstup, open drain, nutné ošetření odskoků tlačítka Dyn. čtení matice tlačítek 4 x 4 tlačítka použito také v PC klávesnici +5V alternat. řešení náhrady otevř. kol. výstup, po bitech úroveň L nebo třetí stav možnost využití „Keyboard interface“, využití přerušení na vstupech pro detekci stisku kterékoliv klávesy, aktivace všech sloupců, přerušení při stisku tlačítka 4 x RP výst. brána
A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
26
Vstup s posuvným registrem Vstup dat do mikropoč. s posuvným registrem snížení počtu potřebných pinů vstup tlačítek, přepínačů, stavu obvodů varianty - vstup z převodníku A/D převodníku typicky v mobilních tel, zvuk,... kaskádní řazení posuvných registrů
tlačítka, vst. obvody přepis LD s. data
posun
SER
A SR1
B
CLK
H
CLK_INH
QH
74LS165
s. data
A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
27
Vstupy s galvanickým oddělením, optrony Optron, kombinace infračerveně zářící diody („infra LED“) a fototranzistoru Parametr CTR poměr přenosu proudu fototranzistoru vůči proudu IRED CTR = IFT /IIRED, v procentech, bývá přes 40 % a více – 100 %, příklad optron CNY17) R = 1k2 IRED
FT výst.
Dochr
Ucc
IRED
FT
Rk
10k
vstupní pin uP
Vstup log. signálu do mikropočítače s galvanickým oddělením Vnější obvod budí IRED, odezvy optronů s fototranzistory - řádově 10 us. použitelné pro frekvence řádu 10 kHz, pozor – saturace – změna střídy signálu, různá doba náběžné a spádové hrany ochr. dioda D ochr proti přepólování (LED, IRED malé průrazné napětí i pod 10 V), opticky oddělené vstupy - standardní vybavení PLC (Programmable logic controller), rychlé optrony. – IRED + fotodioda + zesilovač, logický výstup použitelné pro frekvence řádu MHz A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
28
Výstupy s galvanickým oddělením, výpočet Výpočet parametrů R, R1, R2, Výpočet Rk = kolektorového odporu fototranzistoru viz přednáška 9 - výpočet parametrů spínače s tranzistorem. UCC / Rk musí být menší , než Ired x CTR/100 (CTR v procentech) ksat – zvolený činitel saturace ( např. 2 až 3) (větší saturace zpomaluje rozepnutí fototranzistoru) rezerva na ksat – tolerance CTR, rezerva pro stárnutí optronu a pokles jeho CTR
RK ≥ ksat ⋅ Příklad CTR = 100 %, IRED = 3 mA, ksat = 3 UCC = 5 V návrh Rk = 5 kOhmů
U CC ⋅ 100 I RED ⋅ CTR
R = 1k2
Dochr
A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
Ucc IRED
FT
Rk
10k
vstupní pin uP
29
Výstupy s galvanickým oddělením, optrony Buzení IRED v optronu – podobně jako buzení LED, napětí na IRED 1,5 až 2 V INFRA Buzení LED proti napájení - obvykle buzení s pomocným tranzistorem T1 výstupní FT, doplnit ochrannou diodou proti přepolování, zkrat dioodou, ochrana proti průrazu přechodu báze – emitor FT, přepólování, přechod CB – propustný, IRED FT přechod BE zavřený, průraz diody – přechod BE i při napětí menším než 10 V Ucc D1
Ucc R3
Ucc R3
R1
T1
D1
Ucc R C
R2 R2 T1
R
A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
D1
R1 D1
30
Výstup s posuvným registrem se záchytným registrem Posuvný registr ser. par. 74HCT595 - na výstupu záchytný registr překopíruje se naráz podle sig. RCLK seriová data SER, hod.signál SRCLK Struktura pos. registru ´595, modifikace výstupní části v různých variantách: výkonové tranzistory možno navázat na rozhraní SPI často využíváno, snížení počtu pinů uP výstupní obvody přepis s. data posun nul.
A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
RCLK
QA QB výst. reg. pos. reg.
SER SRCLK
QH
SRCLR
SRR1
Q H´
74HC595
31
Připojení segmentových zobrazovačů s LED 7- segmentový zobrazovač, SA společná anoda, SK - spol. katoda V zobrazovači s SA, jednotlivé SA pro aktivaci pozice katody propojeny, společné řízení dynamické řízení, rozvícení na 1/n času, n- počet pozic, střední hodnota = I stř. střední hodnota proudu aktivovaným segmentem za periodu obnovení celého n- místného zobrazovače Impulsní proud Iimp= n x Istř. !!!, např. Istř. = 5 mA, impulsní proud = 6 x 5= 30 mA Uvažovat pro výpočet rezistorů !!! 6 SA
a f e
g d
SA1
SA2
SA3
SA6
b c dp
a
b
dp
a 8 dp
A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
32
Výpočet obvodu dynamicky řízeného zobrazovače Výpočet R2, podle impulsního proudu, R1 - pře s T1 může protékat 7x ( příp. 8x) větší proud- rozsvícena hodnota „8“,...tedy např. 7 x6 x Istř. = 7 x 6 X 5 = 210 mA Pro 6-ti místný , 7-mi segmentový zobrazovač tranzistor - parametr h21E, zvolený činitel saturace, viz. přednášky elektronika
výstupní brána
R1
SAn
R4
R2
a
R2
R3 T2
A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
UCC
T1
T2
33
Mozaikový (maticový) LED zobrazovač Indikce ve velkých přístrojích, panely, „LED“ obrazové panely dynamicky řízený zobrazovač R1 matice např. 80 x 7 LED posuvný registr budí sloupce R2 obnovení informace po řádcích R3 přivedení informace v 7 krocích R4 po jednotlivých řádcích tranzistorové budiče, výpočet R5 analogicky předchozímu případu R6
Viz. indikace LED panel v tramvaji R7 Možnost řešení – rozhraní SPI, časovač, S1 S2 DMA, „obraz“ stavu panelu – v RAM STM32- možnost řešení s využitím obvodových prostředků procesoru, s minimalizací spotřeby času procesoru
A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL
S3
S4
S5
34