Translacja poziomów logicznych

Transkrypt

Translacja poziomów logicznych
Pro jekt: Sterowniki robotów
Materiaªy pomocnicze:
Translacja poziomów logicznych
Marek Wnuk
Mikrokontroler MC9S12A64 jest zasilany napi¦ciem 5V (4,5 - 5,5). Wiele ukªadów towarzysz¡cych (czujników itp.) wymaga napi¦¢ ni»szych (np.
3,3V). W tej sytuacji konieczne jest zapewnienie odpowiedniego zasilania i
dopasowanie napi¦ciowych poziomów sygnaªów logicznych.
Zasilanie 3,3V mo»na wytworzy¢ przy pomocy liniowego stabilizatora maªej mocy, o maªym spadku napi¦cia (low drop), np. LE33.
W zale»no±ci od kierunku przepªywu sygnaªów mo»na wyró»ni¢ trzy typy
translacji poziomów logicznych:
• z wysokiego na niski poziom napi¦ciowy (high
to low),
• z niskiego na wysoki poziom napi¦ciowy (low
to high),
• dwukierunkowa (bidirectional).
Ukªady zasilane z 3,3V, toleruj¡ce 5V na wej±ciach
Poziomy napi¦ciowe dla ró»nych standardów logicznych przedstawiono na
rys. 1 (wedªug Texas Instruments). Jak wida¢, wspóªpraca w prawie wszyst-
Rysunek 1: Poziomy logiczne dla ró»nych typów sygnaªów
kich zestawieniach jest mo»liwa, je±li ukªady toleruj¡ napi¦cie 5V na wej±ciu.
Problematyczne jest poª¡czenie wyj±cia ukªadu niskonapi¦ciowego (3,3V) z
wej±ciem ukªadu CMOS zasilanego z 5V.
Je±li mamy do czynienia z ukªadami toleruj¡cymi 5V na wej±ciu, to mo»liwe jest przyª¡czenie ich do wyj±¢ 9S12A64 bezpo±rednio. W przeciwnym
kierunku (wyj±cie ukªadu 3,3V na wej±cie 9S12A64) wymagane jest (wedlug specykacji Freescale) zapewnienie napi¦cia stanu wysokiego ­ 3,25V
(0,65 VDD). Margines bezpiecze«stwa jest wi¦c niewielki i w niektórych przypadkach mo»e by¢ pomocne zastosowanie rezystora podci¡gaj¡cego wyj±cie
ukªadu 3,3V do jego zasilania 3,3V (pull-up).
1
W rodzinie ukªadów logicznych 74LVC s¡ dost¦pne bufory z podwójnym
zasilaniem (np. 74LVC1T45, 74LVC4245) pozwalaj¡ce dokona¢ odpowiedniej
translacji poziomów (rys. 2).
Rysunek 2: Ukªad pojedynczego bufora dwukierunkowego 74LVC1T45
Dedykowane translatory jedno- i dwukierunkowe
Specjalne ukªady przeznaczone do jedno- i dwukierunkowej translacji poziomów logicznych s¡ produkowane przez wiele rm. Przykªadem mo»e by¢
Maxim (http://www.maximintegrated.com/), który oferuje ukªady z rodzin
MAX33xx i MAX30xx.
Jako przykªad jednokierunkowy mo»e sªu»y¢ ukªad MAX3392, zawieraj¡cy trzy translatory high to low i jeden low to high (rys. 3). Dobrze nadaje si¦
Rysunek 3: Translator MAX3392
on do zastosowania dla interfejsu SPI (MOSI, SCK, CS - high to low i MISO 2
low to high).
Mog¡ te» w tym przypadku pracowa¢ translatory dwukierunkowe z rodzin 33xx i 300x (np. MAX3002 - 8 translatorów dwukierunkowych),
lub podobne - ADG3304 rmy Analog Devices, jednak pod warunkiem, »e
wszystkie ukªady na magistrali maj¡ wysokoimpedancyjne wej±cia (CMOS).
Translatory przystosowane do I2C
Magistrala I2 C (I2C, IIC, TWI) stawia specjalne wymagania, ze wzgl¦du na
podci¡gni¦cie sygnaªów do dodatniego bieguna zasilania (pull-up) rezystancj¡
1,5kΩ i konieczno±¢ zapewnienia dominuj¡cego stanu niskiego, na którym
opiera si¦ synchronizacja zegara i danych. Translatory rodzin MAX300x i
ADG330x, które maj¡ du»¡ impedancj¦ wyj±ciow¡ (rz¦du 6kΩ) nie nadaj¡
si¦ do zastosowania w tym przypadku.
Podwójne translatory dwukierunkowe MAX3373 (oraz ich wolniejsza wersja, MAX3372) maj¡ maª¡ impedancj¦ wyj±ciow¡ < 50Ω, wi¦c speªniaj¡
wspomniane wymagania (rys. 4).
Rysunek 4: Translator MAX3373 do magistrali I2C
Ukªad MAX3373 zawiera przerzutniki monostabilne wª¡czaj¡ce na krótko
klucze PU1,2 (rys. 5), które zapewniaj¡ du»¡ stromo±¢ zboczy narastaj¡cych
sygnaªu na magistrali typu OD (open drain) i dzi¦ki temu pracuje poprawnie
nawet przy 8MHz.
Rysunek 5: Schemat ukªadu MAX3373
Ukªadem o podobnych wªa±ciwo±ciach jest FMAXR2102 rmy Fairchild.
3
Rozwi¡zania na elementach dyskretnych
Mo»na znale¹¢ wiele propozycji rozwi¡zania translacji przy zastosowaniu elementów dyskretnych, najcz¦±ciej do linii jednokierunkowych (dzielniki napi¦cia, ograniczniki z diodami Zenera itp.).
Na rys. 6 przedstawiono prosty ukªad translatora dwukierunkowego dla
I2C, proponowany przez rm¦ NXP, oparty na dwóch kluczach unipolarnych.
Rysunek 6: Prosty ukªad translatora dla I2C
Na rys. 7 przedstawiono prosty ukªad translatora dwukierunkowego z
dwoma tranzystorami bipolarnymi, zaproponowany przez Jima Hagermana
z Nokia Mobile Phones, San Diego, CA.
Rysunek 7: Dwutranzystorowy ukªad translatora dla I2C
UWAGA: Ukªady dyskretne opisane powy»ej nie zostaªy przeze mnie
sprawdzone. Chc¡c je zastosowa¢ (na wªasne ryzyko), nale»y wykona¢ odpowiednie próby z zachowaniem ostro»no±ci, zwªaszcza przy podª¡czaniu cennych, lub trudnodost¦pnych elementów.
W materiaªach pomocniczych zamieszczonych na stronie projektu mo»na
znale¹¢ wi¦cej informacji o problematyce translacji poziomów logicznych.
4