Sériová rozhraní SPI, I2S, IIC a jejich použití
Rozhraní mikrořadiče, SPI, IIC bus,..
Přednáška 10 (11)
A4B38NVS, kat. měření, ČVUT - FEL, Praha
J. Fischer
A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL, Praha
1
Náplň přednášky
Sériová rozhraní rozhraní
SPI funkce, vlastnosti
Použití SPI, pro ISP, pojem Boot loader- paměti Flash s SPI rozhraním
I2S – pro připojení audiokodeku
I2C (IIC Bus)
A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL, Praha
2
STM32F100 – sériová rozhraní SPI, I2C
JTAG/SW
JTAG/SWDebug
Debug
Nested
Nestedvect
vectIT
ITCtrl
Ctrl
11xxSystick
SystickTimer
Timer
11xxDMA
DMA
77Channels
Channels
FlashI/F
I/F
Flash
Cortex-M3
Cortex-M3
CPU
CPU
24
24 MHz
MHz
ARMLite
LiteHi-Speed
Hi-SpeedBus
Bus
ARM
(max
24MHz)
Matrix
/
Arbiter
Matrix / Arbiter (max 24MHz)
SPI
USART
(LIN)
I2C
16-128kB
16-128kB
Flash
FlashMemory
Memory
XTAL
XTALoscillators
oscillators
32KHz
32KHz++3~25MHz
3~25MHz
4kB-8kB
4kB-8kBSRAM
SRAM
20B
20BBackup
BackupRegs
Regs
Clock
ClockControl
Control
Bridge
Bridge
Bridge
Bridge
1x
1xSPI
SPI
1x
1xUSART/LIN
USART/LIN
Smartcard/IrDa
Smartcard/IrDa
Modem-Ctrl
Modem-Ctrl
A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL, Praha
(max 24MHz)
Up
Upto
to80
80I/Os
I/Os
ARM Peripheral Bus
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
CRC
CRC
1x6x
1x6x16-bit
16-bitPWM
PWM
Power
PowerSupply
Supply
Reg
Reg1.8V
1.8V
POR/PDR/PVD
POR/PDR/PVD
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
3
Rozhraní SPI
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
MASTER
SLAVE
8 bit pos. registr
MISO
8 bit pos. registr
MISO
MOSI
MOSI
SPI hod.
generátor
SCK
MOSI - Master Output Slave Input
MISO - Master Input Slave Output
SCK - serial clock
SS
- slave select
A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL, Praha
SCK
+5V
SS
SS
4
SPI, komunikace s nastavením fáze CPHA = 0
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
nastavení - clock phase- CPHA = 0
SCK cyklus
1
2
3
4
5
6
7
8
SCK (CPOL=0)
SCK (CPOL=1)
MOSI
(z master)
MISO
(ze slave)
MSB
6
5
4
3
2
1
LSB
MSB
6
5
4
3
2
1
LSB
SS (do slave)
A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL, Praha
5
SPI, komunikace s nastavením fáze CPHA =1
Slave i master poskytnou první data (MSB) až po první hraně hodin SCK,
master i slave čtou MSB s druhou hranou hodin
nastavení - clock phase- CPHA = 1
SCK CYKLUS
1
2
3
4
5
6
7
8
MSB
6
5
4
3
2
1
LSB
MSB
6
5
4
3
2
1
LSB
SCK (CPOL=0)
SCK (CPOL=1)
MOSI
(z master)
MISO
(ze slave)
SS (DO SLAVE)
A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL, Praha
6
SPI rozhraní, připojení jednotek slave
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
MOSI
MISO
SCK
MOSI
MISO
SCK
SS
Udd
master
port
A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL, Praha
SS
MOSI
MISO
SCK
0
1
2
slave 1
slave 2
SS
MOSI
MISO
SCK
SS
slave 3
7
SPI – STM32
STM32
SPI 8 nebo 16 bit data
možné navázat
SPI na DMA
( Direct Memory Access)
A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL, Praha
8
SPI rozhraní – implementace v STM32F100
SPI rozhraní
NSS
slave select
slave mod - vstup
A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL, Praha
9
SPI rozhraní - implementace
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
- 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,….
Paměti FLASH s rozhraním SPI např. M25P32 - 4 MByte, jako paměť dat,
záznam, černá skříňka,
Karty MMC, SD - možnost komnikace s rozhraním SPI, použití karet jako vnější
paměti dat, adresace po sektorech 512 byte,
A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL, Praha
10
Využití SPI a sériových rozhraní pro programování uP
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
A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL, Praha
11
Programování paměti FLASH mikroprocesoru pomocí SPI
Ř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
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,…
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
A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL, Praha
12
Rozhraní I2S
Rozhraní I2S – pro připojení obvodu „audio codec“ (kodér- dekodér)
převodník analogo- číslicový a číslicovo- analogový, stereo
pro generování zvuku, typické vzorkovací frekvence do 48 kHz
( zvukové CD 44,100 kHz)
Sériový přenos dat – signál SD 16, 24 nebo 32 bitů,
Hodinový signál CK – pro řízení přenosu sériových dat
Signál WS- výběr kanálu- pravý. levý kanál
MCK - Master clock output navíc- hodinový signál pro audiokodek,
(pokud např. audikodek nemá vlastní krystalový oscilátor). u STM32
fMCK = 256 x fS kde fS je vzorkovací frekvence audiosignálu
Rozhraní I2S často implementováno v mikrořadičích s jádrem ARM Cortex – M3
U některých vyšších variant STM32Fxxx – např. ST32F103xCx, nebo
STM32F407), funkce rozhraní I2S- jako rozšíření SPI
A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL, Praha
13
Rozhraní I2S průběhy signálu
I2S v STM32F103 xC – možno volit pořadí, njdříbe LSB nebo MSB, délka
přenosu 16,24, 32 bitů,.. polarita hod.signálu CK
I2S
viz též http://www.ni.com/white-paper/9540/en/
A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL, Praha
14
Rozhraní IIC bus
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,…)
Typ sběrnice- otevřený kolektor (volba velikosti Rp - výchozí hodnota RP = 2k7 ),
připojení více obvodů, master - slave, možnost - multimaster.
VDD možné též 3,3 V – zavisí na typech obvodu (senzory CMOS – napájení
zásadně 3,3 V, tedy i na IIC bus sloužící pro konfiguraci senzoru)
RP
VDD +5V
RP
SDA
SCL
SCL1
výst.
DATA1
výst.
SCL2
výst.
DATA2
výst.
SDA sériová data
SCL sériové hodiny
SCL
vstup
DATA
vstup
A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL, Praha
SCLK
VST.
DATA
VST.
15
Rozhraní IIC bus - signály
SCL - hodinový signál, generuje master
SDA - data, generuje master nebo slave
Změna stavu SDA při přenosu dat možná pouze při SCL = L
Frekvence SCL - max. 100 kHz Standard speed označení také SM,
400 kHz Fast speed, označení někdy také FM (fast mode),
1 MHz Fast mode plus (označení FM+ )
signál SCL nemusí být synchronní, není určen minimální frekvence (možnost
asynchronní signál), STM32F100 SM a FM, STM32F051 podporuje SM, FM, FM+
SDA
data platná při SCL = 1
SCL
změna dat při SCL = 0
data
stabilní
změna
dat
0
SDA
data
stabilní
1
přenos bitů 0 a 1
SCL
A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL, Praha
16
Rozhraní IIC Ultra Fast mode UFm
Princip přenosu pro SM, FM, FM+ je shodný, odlišnost v rychlosti a velikosti,
budič – otevřený kolektor, proud budiče (SM, FM do 3 mA, FM+ 20 až 30 mA)
Ultra Fast – mode UFm až 3,4 MHz, modifikovaný princip,
Pro režim UFm , signály USCL, USDA „U“ – značí ultrafast
UFm pro rychlý přenos dat z procesoru do periferie, (ne opačně)
není možnost potvrzení („acknowledge“) od periferie
budič – typu Push – Pull – obdoba elementárního invertoru CMOS (viz. před. dříve)
Možnost prodloužení sběrnice UFm pomocí standardních budičů CMOS logiky
(push – pull)
LED driver ( PCU9955 firma NXP)
Otázka velikosti parazitních kapacit, pro vyšší rychlost – potřeba pro jejich
nabití a vybití větších proudů – pro FM+ nižší hodnota odporu pull - up rezistorů
Řadič I2C bus pro UFm – umožňuje kombinaci módů FM+ a UFm ( v FM_
konfigurace, zjišťování stavu periferie, přechod na UFm- pouze jednosměrný
přenos dat
(analogie – rychlý diktát, nejdříve příprava, informace,.., pak rychlý přenos dat, pak zpomalení –
kontrola, je vše v pořádku?)
A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL, Praha
17
Rozhraní IIC bus- start, 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
SDA
start
stop
SCL
S
A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL, Praha
P
18
Rozhraní IIC bus - potvrzení
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,
přenos dat 8 bitů, ACK - slave, stop - master
obvykle - přenosy více Byte
potvrzení - ACK přijímajícím ( master, nebo slave)
zápis
start
S
SDA
A6 A5 A4 A3 A2 A1 A0
1
0 1 0 0
0
0
R A
W C
K
0
MSB
LSB
A stop
D7 D6 D5 D4 D3 D2 D1 D0 C P
K
1 0 1 0 1 1 0 0
SCL
ACK ze slave
adresace
A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL, Praha
data
19
Přenos vícebajtové zprávy po rozhraní IIC
Po start S a vyslání adresy obvodu - možný přenos dat pouze jedním
směrem, čtení nebo zápis, konec přenosu – stop P
Kombinovaný přenos - start - zápis, nový start Sr (bez stop) čtení, konecstop.
master zapisuje do slave
master
S
adr.
W
data
ACK
slave
data
ACK
data
ACK
P
ACK
master čte ze slave
master
slave
S
adr.
R
ACK
ACK data
A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL, Praha
NOT
ACK
ACK
data
P
data
20
Obousměrná komunikace po rozhraní IIC
Za start může následovat komunikace pouze v jednom směru,
buď Master - zapisuje do Slave
nebo Master čte ze Slave
Jak řešit, pokud se musí nejdříve do slave zapsat ( např. informace, odkud se má
číst) a pak číst?
Příklad - 24C02 (paměť EEPROM256 Byte) nejdříve adresa obvodu (dev select)
+ zápis a předat - adresu byte čteného z paměti (byte address)
nový start, znovu adresace obvodu (dev select) a čtení dat u obvodu
Čtení jednoho bajtu dat
z paměti z vybrané „bajtové
adresy“
R/W = 0
R/W = 1
pozor – je třeba rozlišit adresu součástky a adresu v součástce
analogie sdělím - číslo (název) knihy, kterou chci ( adresa obvodu) a pak číslo stránky
(bajtová adresa) –adresy bajtu, který chci přečíst)
A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL, Praha
21
Paměť EEPROM s rozhraním IIC bus
Paměť EEPROM 24C02 jako příklad obvodu s rozhraním IIC bus
Adresa obvodu 1010 XXX , kde XXX jsou tři bity adresy ( A2, A1, A0)
volené nastavením tří pinů (A2, A1, A0) „select“
EEPROM
24C02
Důsledek- na IIC bus lze připojit až 8 různých obvodů (kusů)
pamětí 24C02 lišících se nastavenou adresou
WP – write protect WP= H (log. 1) zápis zakázán,
WP= L zápis povolen
(viz dále obdobná funkce write protect u PMBus)
Specifikace adres (IIC bus) různých obvodů – firma Philips (nyní NXP), pro
daný typ obvodu určena daná adresa.
? Jak volba adres IIC Bus u ostatních firem, když tuto volbu nemohly ovlivnit?
Různě, často využití dalších adresovacích vstupů (podobně jako A2, A1, A0 u
EEPROM 24C02) obvodu pro uživatelskou volbu- nastavení bezkolizní adresy.
A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL, Praha
22
Rozhraní IIC Bus, 7- a 10- bitové adresování
IIC Bus, typicky se využívá 7- bitová adresa
Je možná i 10 – bitová adresa
(prefix 11110 + 2 horní bity adresy, je adresováno i více slave, které mohou
potvrdit
pak zbývajících 8 bitů adresy, potvrdí jen jeden slave.
A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL, Praha
23
Rozhraní IIC Bus, implementace
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.
Možnost programové emulace rozhraní IIC Bus v uP, které nemají IIC Bus,
(příklad ADSP BF 533 pro nastavení obrazového senzoru CMOS)
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).
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.
A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL, Praha
24
IIC Bus a přerušení
Omezení IIC – podřízený obvod SLAVE nemůže sám, (pokud není dotázán),
vyvolat činnost a požádat o obsluhu.
To řešeno dodatečně a nezávisle pomocí přerušením nezávisle na standardu
IIC Bus.
Obvod s IIC Bus, výstup přerušení typu „Open drain“, požadavek přerušení
aktivní ve stavu L (log.0). Možná funkce „wired AND“. „ jediný výstup v L (kdy
ostatní připojené výstupy jsou ve stavu H- nesepnutý výstup open drain) připojený
na společný vodič způsobí stav L (log 0) na vodiči.
Paralelní spojení výstupů / INT jednotlivých obvodů. Master musí sám
dotazováním zjistit původce požadavku přerušení.
A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL, Praha
25
IIC Bus a přerušení
Obvod PCF8574 (Remote 8-BIT I/O Expander for I2C BUS)
P7 až P0 vstupy- výstupy-, kvazi - obousměrný port
Volba adresy obvodu -nastavením vstupů A2, A1, A0 (připoj. na GND nebo Ucc)
/ INT výstup přerušení – open drain (aktivní v L)
Změna stavu na kterémkoliv vstupním pinu generuje přerušení
A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL, Praha
26
Kvazi - obousměrná brána
PCF8574 , P7 až P0 kvazi - obousměrný port
Výstup jako open drain, připojen „pull op“ (nárada pull up rezistoru – aktivním
obvodem. zdroj proudu 0,1 mA).
Výst. ve stavu L – nízká impedance, Výst. ve stavu H – pouze jako „ měkký“
zdroj, max proud 0,1 mA)
Použití jako vstup – na výstup zapsat úroveň H (log. 1) , možno číst stav ( H nebo
L podle vnějšího signálu)
Kvazi obousměr.
brány
analogicky
i u mikrořadičů
A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL, Praha
27
Rozhraní IIC v STM32
Blok komunikace s IIC bus
Master i Slave mode
komparátor adresypři příjmu možnost využití
obvodově řešeného rozpoznání
vlastní adresy na sběrnici
bez potřeby programové
obsluhy (až 2 adresy)
Možnost přenosu dat
s využitím DMA
PEC register
(Packet Error Checking)
A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL, Praha
není pro IIC bus, ale využito pro
SMBus (viz. dále)
28
IIC – STM32
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
A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL, Praha
29
Rozhraní IIC Bus, použití
Použití IIC Bus, mnoho integrovaných obvodů , obvodově nenáročné, pouze
dva vodiče SCL, SDA,
Převodníky ADC, DAC, snímače teploty, obvody pro dohled v PC, obvody
spotřební elektroniky, IO expandery, obvody RTC ( Real Time clock), řadiče
LCD, budiče LED,
IIC Bus- nastavení CMOS obrazových senzorů, viz senzory firem Kodak, Micron Aptina, ….)
Blok pro komunikaci s IIC Bus obsažen v řadě mikrořadičů. Mikrořadiče s
jádrem ARM Cortex M3 – obvykle obsahují blok pro IIC bus
Mikrořadiče s jádrem ARM Cortex AX (pro mobilní telefony, ..) obvykle také
podporují IIC bus.
Raspberry PI, Beagle Bone – (moduly s Linux) – rozhraní IIC Bus,
moduly Arduino – též IIC Bus
Další informace - IIC bus, princip funkce, použití
http://www.standardics.nxp.com/literature/presentations/i2c/pdf/interface.solutions.pdf
A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL, Praha
30
Rozhraní SMBus - System Management Bus
Z IIC Bus vychází (úpravy a rozšíření specifikace komunikace) – SMBus
Standard SMBus specifikovaly firmy: Duracell, Energizer Power Systems, Fujitsu, Intel,
Linear Technology, Maxim Integrated Products, Mitsubishi Electric Semiconductor Company,
PowerSmart, Toshiba Battery Co., Unitrode Corporation, USAR Systems,
Již podle firem je vidět, že určení SMBus bude v souvislosti s dohledem na
napájení a dalšími funkcemi notebooků (baterie- akumulátory) a osobních
počítačů.
SMBus je nyní v každém PC.
Monitorování stavu napájecí soustavy, měření teploty čipu procesoru, funkce
ventilátoru, …
SMBus specifikace
http://www.standardics.nxp.com/literature/books/i2c/pdf/smbus.specification.pdf
A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL, Praha
31
Rozhraní SMBus
SMBus – některé odlišnosti oproti IIC Bus
SMBus rychlost fsclk = 10 až 100 kHz (není fast mod,..)
IPULLUP 100 až 350 uA - proud pull up obvodem – z UCC k zemi při sepnutí
UIHmin = 2,1 V
UILmax = 0,8 V
“Send Byte” a “Receive Byte”
vyslání a čtení jednoho bajtu – kompatibilita IIC a SMBUs
Vícebajtový přenos na SMBus , přidán kód příkazu „Command“ (1 bajt) a počet
bajtů dat přenášených ve zprávě (1 bajt)
Ve zprávě SMBus může být přidán bajt PEC (poslední bajt zprávy po datech pro
Packet Error Checking) při přenosu z master do slave i při přenosu ze slave
do master.
Přidána možnost signalizace požadavku (od) slave o obsluhu
SMBus alert - (hardware alerting) - slave může po samostatném vodiči
signalizovat požadavek o obsluhu (princip. obdoba - viz přerušení u IIC Buc)
A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL, Praha
32
Rozhraní PMBus
PMBus vychází z SMBus
určení pro:
Power - supply Management.
Řízení napájecích zdrojů, hot-swap
kontrolérů (podpora výměna bloků
systémů při napájení), bloků
sekvenčního zapínání a vypínání
napájení procesorových systémů,
konvertorů sběrnic, regulace
zátěží
srovnání bloků IIC Bus a PMBus
IIC bus master – PMBus System
manager,
dle materiálů Texas Instruments
IIC bus slave
PMBus device
Signály SCL, SDA
navíc SMBALLERTn (aktivní v L),signalizace z PMBus device do syst. manager –
potřeba obsluhy
A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL, Praha
33
Rozhraní PMBus
WP (write protect) optional, doplňková
funkce. Pokud je v obvodu
implemetována funkce WP - ochrana
proti zápisu, zápis do vnitřních
pamětí obvodu (změna nastavení)
povolen pouze , pokud WP=0,
pokud WP = 1 nebo rozepnut, je WP
aktivní a zápis je zakázán
viz analogicky , jako u IICBus paměti
EEPROM 24C02
Použití PMBus, obvody napájení, řidicí obvody impulsích napájecích zdrojů,
možnost nastavení parametrů ( napětí, frekvence spínání pulsního zdroje) ,
telemetrie (– vzdálené monitorování) vnitřních parametrů, měření napětí,
proudů , teplot ! na čipu řídicích obvodů napájecích zdrojů počítačových
systémů, základnových stanic (base station) GSM
(napájecí bloky poč. systémů, disková pole, switche, routery, UPS,.. možnost
vzdáleného monitoringu)
více o problematice viz www.ti.com/digitalpower
A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL, Praha
34
Příklady obvodů rozhraním PMBus
LM25066- System Power Management and Protection IC With PMBus
TPS40400 3.0V to 20V synchronous buck controller
pozn. buck controller - viz další přednášky o napájecích zdrojích. vest. systémů
A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL, Praha
35
Programová emulace paralelních a sériových rozhraní
Pokud mikrořadič neobsahuje dané rozhraní (SPI, IIC Bus, paralelní rozraní pro
LCD,,….) je možno jej programově emulovat.
V úloze A4B38NVS – připojení 7 seg. zobrazovače s pos. registrem – optimální
využít rozhraní SPI. Ve cvičeních – progr. emulace sériového rozhraní SPI.
Řadič LCD HD44780 – má paralelní komunikační rozhraní ( Data, R/W, E), které
bylo u mikrořadičů firmy Motorola. Celý proces zápisu (8- bitové) nebo
představoval jednu instrukci procesoru pro přenos dat po externí sběrnici.
Obsluha LCD na cvičení - typický příklad programové emulace konkrétního
paralelního rozhraní.
Mikrořadiče s vyvedenou paralelní sběrnicí – možnost přímého připojení
externích programovatelných obvodů obvodu (komunikačních řadičů Ethernet,
CAN, řadičů High speed USB, …, časovačů,…)
Mikrořadiče bez vyvedené sběrnice, pouze se vstupně- výstupními branami –
programová emulace paralelního rozhraní pro komunikacy s takovými obvody.
Příklad - připojení ext. řadiče Ethernet k ARM7 typu LPC2114, viz, aplik. nota
firmy NXP
A4B38NVS, 2015, J.Fischer, kat. měření, ČVUT - FEL, Praha
36
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