Přednáška 13

Přednáška 13
A438NVS, kat. měření, ČVUT - FEL, Praha
J. Fischer
Rozhraní mikrořadiče, SPI, IIC bus,..
A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL
1
Druhá část. přednášky 12
Sériové rozhraní SPI,
Sériové rozhraní IIC
Náplň přednášky
A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL
2
SCK
MOSI - Master Output Slave Input
MISO - Master Input Slave Output
SCK - serial clock
SS
- slave select
SPI hod.
generátor
8 bit pos. registr
MASTER
SS
SS
MOSI
MISO
+5V
MOSI
MISO
SCK
8 bit pos. registr
SLAVE
Rozhraní SPI ( Serial Peripheral Interface) - původ firma Motorola
SPI není typ bus - sběrnice, ale pouze rozhraní (interface) typu bod - bod
master - procesor, generace hod. sig. SCK,
slave - podřízená jednotka, výstup ze SLAVE M ISO - třístavový
pokud je u slave /ss = H, není aktivní výstup MISO
Rozhraní SPI
A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL
3
SS (do slave)
MISO
(ze slave)
MOSI
(z master)
SCK (CPOL=1)
SCK (CPOL=0)
SCK cyklus
MSB
MSB
1
6
6
2
5
5
3
4
4
4
3
3
5
2
2
nastavení - clock phase- CPHA = 0
6
1
1
7
LSB
LSB
8
nastavení polarita a fáze hodin (4 kombinace)
MOSI výstup
MISO - vstup
CPHA = 0 při čtení nevýhoda - slave musí poskytnout data (MSB) na vodiči
MISO ihned po /ss (slave select), s první hranou SCK se data vzorkují,
s další hranou SCK se vysouvá další bit dat
SPI, komunikace s nastavením fáze CPHA = 0
A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL
4
SS (DO SLAVE)
MISO
(ze slave)
MOSI
(z master)
SCK (CPOL=1)
SCK (CPOL=0)
SCK CYKLUS
MSB
MSB
1
6
6
2
5
5
3
4
4
4
3
3
5
2
2
6
1
1
7
nastavení - clock phase- CPHA = 1
LSB
LSB
8
Slave i master poskytnou první data (MSB) až po první hraně hodin SCK,
master i slave čtou MSB s druhou hranou hodin
SPI, komunikace s nastavením fáze CPHA =1
A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL
5
port
master
0
1
2
MOSI
MISO
SCK
SS
Udd
MOSI
MISO
SCK
SS
SS
MOSI
MISO
SCK
SS
MOSI
MISO
SCK
slave 3
slave 2
slave 1
Připojení více jednotek slave na jeden master, výběr pomocí vstupu /ss ,
aktivace jednotlivých /ss - programově řízenými výstupy (není součástí
rozhraní SPI). Např. u AT89S8252 ovládání pomocí pinů brány P1, P3,..
Vstup /ss - u slave, obdoba funkce /CS - chip select jako pamětí. Určení, s
kterou jednotkou slave se komunikuje
SPI rozhraní, připojení jednotek slave
A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL
6
STM32
SPI 8 nebo 16 bit data
možné navázat
SPI na DMA
( Direct Memory Access)
SPI – STM32
A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL
7
SPI rozhraní
NSS
slave select
slave mod - vstup
SPI rozhraní – implementace v STM32F100
A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL
8
Karty MMC, SD - možnost komnikace s rozhraním SPI, použití karet jako vnější
paměti dat, adresace po sektorech 512 byte,
Paměti FLASH s rozhraním SPI např. M25P32 - 4 MByte, jako paměť dat,
záznam, černá skříňka,
- emulace funkce SPI master - programově ovládanými piny brány, při
programové implementaci signál SCK nemusí být synchronní ( nemusí mít
konstantní periodou).
Použití SPI - připojení vstupů. výstupů s posuvnými registry ( ´595),
specializovaných obvodů, pamětí, připojení AD, DA převodníků s SPI,
budiče LED, budiče relé, řadiče LCD,….
Vysílání MSB – typicky první, případně možnost volby LSB první
8 bitů dat (typicky), v často podpora i 16 bitů dat)
rychlosti komunikace, frekvence SCK - programovatelná, SCK 1 až 10-ky MHz
Možnost programové implementace rozhraní SPI, které nemají rozhraní SPI
SPI rozhraní - implementace
A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL
9
10
ISP – „in system programming“
uložení programu a dat do paměti v aplikaci.
Často využito rozhraní SPI (uP ATMEL, AVR, Microchip,…)
Další způsoby programování paměti FLASH- sériové rozhraní JTAG rozhraní
Signály TDI, TDO, TCK, TMS, funkce ladění - On-chip Debug system
JTAG obsahují ATmega 16, 32,..), C8051F020 (Silabs) ,všechny procesory s
jádrem ARM, STM32,…. a většina nových uP, („JTAG – Emulator“)
Dvoudičové ladicí rozhraní – SWD u ARM Cortec- M3, viz STM32VL Discovery
U některých uP možnost programování ISP programu BOOT loader - viz
dřívější výklad na před.
Aktivace vnitřního programu „Boot loader“ na čipu po resetu při. spec.
nastavení úrovní na pinech
Boot loader aktivně komunikuje s rozhraním ( UART, SPI, CAN, USB,...) a
programuje vnitřní paměť
Funkce boot - možnost začít práci s uP bez specializovaného vybavení
(emulátor, vývojový modul,..) pouze s vlastním procesorem
STM32F100 Booat loader – na UART,
STM32F105 Boot – UART, USB, CAN
Využití SPI a sériových rozhraní pro programování uP
A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL
Data v EEPROM - kalibrační data,...
Možnost výrobní diagnostiky - naprogramování diagnostických programů, s
ISP uvažovat při návrhu obvodu a desek plošných spojů a konektorů
Varianty EEPROM – připojeny na uP, ale možnost programování i bezdrátověRFID technika (výroba STM), není nutnost elektricky připojovat
Naprogramování mikropočítače v obvodu: aktuálním kódem - program ve
FLASH, kalibrační data, specifická data - jazyková lokalizace přístroje
(varianty hlášení a textů), sériové číslo,…
Řada uP, možnost naprogramování interní FLASH prostřednictvím SPI
ISP -“In - System Programming“ - programování paměti FLASH mikropočítače
v obvodu
Programování paměti FLASH mikroprocesoru pomocí SPI
A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL
11
SCL
vstup
SCL1
výst.
DATA
vstup
DATA1
výst.
RP
SCLK
VST.
SCL2
výst.
RP
DATA
VST.
DATA2
výst.
SCL sériové hodiny
SDA sériová data
SCL
SDA
VDD +5V
Typ sběrnice- otevřený kolektor, připojení více obvodů, master - slave,
možnost - multimaster.
Rozhraní - IIC bus, Inter Integrated Circuit Bus, původce, patent , firma Philips
( nyní NXP), označení také I2CBus, původní určení - spotřební elektronika
(radio, TV, video,…)
Rozhraní IIC bus
A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL
12
SCL
SDA
SCL
SDA
0
data
stabilní
změna
dat
1
data
stabilní
přenos bitů 0 a 1
změna dat při SCL = 0
data platná při SCL = 1
Frekvence SCL - max. 100 kHz, standard, 400 KHz fast, signál SCL nemusí být
synchronní, není určen minimální frekvence (možnost asynchronní signál)
Změna stavu SDA při přenosu dat možná pouze při SCL = L
SCL - hodinový signál, generuje maste
SDA - data, generuje master nebo slave
Rozhraní IIC bus - signály
A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL
13
SCL
SDA
S
start
P
stop
začátek a konec přenosu zprávy určuje master
začátek přenosu - start, SDA spádová hrana při SCL = H
konec přenosu - stop, SDA náběžná hrana při SCL = H
Rozhraní IIC bus- start, stop
A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL
14
1
0
adresace
0 1 0 0
0
A6 A5 A4 A3 A2 A1 A0
ACK ze slave
SCL
SDA
start
S
R A
W C
K
0
zápis
LSB
data
A stop
D7 D6 D5 D4 D3 D2 D1 D0 C P
K
1 0 1 0 1 1 0 0
MSB
potvrzení - ACK přijímajícím ( master, nebo slave)
přenos dat 8 bitů, ACK - slave, stop - master
obvykle - přenosy více Byte
Příklad - přenos dat ACh z master do slave s adresou 50h
adresace slave (7 bitů + příznak čtení/ zápis, ACK - potvrzení od slave,
Rozhraní IIC bus - potvrzení
A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL
15
S
adr.
slave
master
S
master čte ze slave
slave
master
master zapisuje do slave
adr.
W
R
ACK
ACK
ACK data
data
ACK
data
data
ACK
ACK
data
data
ACK
NOT
ACK
P
P
Kombinovaný přenos - start - zápis, nový start (bez stop) čtení, konec- stop.
Po start a vyslání adresy obvodu - možný přenos dat pouze jedním směrem,
čtení nebo zápis
Přenos vícebajtové zprávy po rozhraní IIC
A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL
16
Otázka: Popište způsob využití pinu vstupně -výstupní brány (která má ve
výstupním režimu pouze PUSH – PULL mód) – pro komunikaci s rozhraním IIC bus.
Využití vstupně výstupních bran - úprava na režim emulace funkce otevřený
kolektor - přepínání výstup - stav L, nebo vstup (viz přednášky dříve- využití
obousměrného výstupu nebo třístavového výstupu jako výstupu s otevřeným
kolektorem).
(příklad ADSP BF 533 pro nastavení obrazového senzoru CMOS)
Možnost programové emulace rozhraní IIC Bus v uP, které nemají IIC Bus,
Rozhraní IIC bus implementováno v řadě uP , i pod jinými názvy, např. TWI
(Two Wire Interface) a další- z důvodu patentové ochrany.
IIC Bus, adresa i 10 bitová ( prefix + 3 horní bity adresy, pak 8 bitů adresy
Rozhraní IIC Bus, implementace
A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL
17
příjmu dat na DMA
Master i Slave mode
Rozhraní IIC v STM32
A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL
18
EEPROM s komunikací přes RFID, možnost konfigurovat data bez
elektrického připojení
M24LR64-R 64 Kbit EEPROM with password protection & dual interface:
STM32
možnost detekce vlastní adresy (7 nebo 10 bitové adresy), až 2 slave adresy
podpora rychlosti přenosu s frekvencí SCL 100 kHz a 400 kHz
IIC – STM32
A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL
19
M24LR64-R 64 Kbit EEPROM with password protection & dual interface
EEPROM s komunikací přes RFID, možnost zapisovat data přes RFID
(bezdrátové) připojení, konfigurovat data bez elektrického připojení
možnost nahrát konfigurační data, kódy, výrobní číslo,
EEPROM s IIC Bus a RFID
A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL
20
http://www.standardics.nxp.com/literature/books/i2c/pdf/smbus.specification.pdf SM Bus specifikace
http://www.standardics.nxp.com/literature/presentations/i2c/pdf/interface.solutions.pdf
AN10216-01 I2C MANUAL
„THE I 2C-BUS SPECIFICATION“
http://www.nxp.com/documents/application_note/AN10216.pdf
http://www.nxp.com/documents/other/39340011.pdf
IIC bus, princip funkce, použití
Další informace:
Příklad paměť 24C02, snímače teploty, obvody pro dohled v PC, obvody
spotřební elektroniky, IO expandery, obvody RTC ( Real Time clock), IIC Busnastavení CMOS obrazových senzorů, viz senzory firem Kodak, Micron Aptina, ….)
Použití IIC Bus, mnoho integrovaných obvodů , obvodově nenáročné, pouze
dva vodiče SCL, SDA,
Rozšíření a specifikace komunikace - SMBus - System Management Bus
(firmy -Intel, Duracel,….) je nyní v každém PC.
Rozhraní IIC Bus, použití
A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL
21
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