Dwukierunkowy konwerter SPI/UART
Dzięki urządzeniu opisanemu w artykule można tanio i szybko wyposażyć swój system cyfrowy w pełnowartościowy UART zgodny z 16C450, a do jego obsługi wystarczą dwie (w trybie I2C) lub cztery (w trybie SPI) linie I/O. Takie rozwiązanie jest możliwe dzięki miniaturowym, scalonym konwerterom SPI-I2C/UART, opracowanym i produkowanym przez firmę NXP Semiconductors. W urządzeniu prototypowym zastosowano układ SC16IS760, którego schemat blokowy pokazano na rys. 1.
Rys. 1. Schemat blokowy SC16IS760
Układ ten zawiera jednokanałowy UART oraz 8-bitowy ekspander GPIO, którego cztery najstarsze linie mogą być wykorzystywane do zaawansowanego sterowania przebiegiem transmisji – ta możliwość nie została wykorzystana w modelowym urządzeniu. Interfejsy SPI i I2C są aktywowane przemiennie za pomocą wejścia sterującego I2C/nSPI, układ wyposażono w wyjście przerwania typu open-drain .
Na rys. 2 pokazano schemat elektryczny kompletnego urządzenia.
Rys. 2. Schemat elektryczny kompletnego urządzenia
Ponieważ układ SC16IS760 jest przystosowany do zasilania napięciem 3,3V zastosowano stabilizator liniowy U1, który zapewnia prawidłową wartość napięcia zasilającego dla U2 przy napięciu zasilającym 5V. Układ U3 zapewnia pewne zerowanie U2 po włączeniu zasilania, a U4 – w swojej klasycznej aplikacji – spełnia rolę dwukierunkowego konwertera napięć TTL/RS232. Dioda świecąca D1 sygnalizuje dołączenie napięcia zasilającego 5V.
Urządzenie wyposażono w dwa jumpery: JP1 i JP2, za pomocą których konfigurowany jest układ U2. Linie ekspandera GPIO oraz wyjście przerwania wyprowadzono na złącze Con1, złącze Con3 służy do dołączenia magistrali I2C, a Con3 do dołączenia urządzenia z magistralą SPI.
Schemat montażowy płytki drukowanej pokazano na rys. 3. Układ ścieżek od strony elementów pokazano na rys. 4, a układ ścieżek od strony lutowania pokazano na rys. 5.
Rys. 3. Schemat montażowy płytki drukowanej od strony elementów
Rys. 4. Widok ścieżek od strony elementów
Rys. 5. Widok ścieżek od strony lutowania
Wykaz elementów
Rezystory | |
R1, R2, R3, R4, R5, R6 | 10k?/0805 |
R7 | 1k?/0805 |
A0, A1 | 0?/0805 |
Kondensatory | |
C1 | 22pF/0805 |
C2 | 33pF/0805 |
C3, C5, C7, C11, C12 | 100nF/0805 |
C4, C6, C8 | 10µF/SMDA |
C9, C10, C13, C14 | 1µF/0805 |
Półprzewodniki | |
D1 | LED/1206 |
U1 | SPX1117/TO-252 |
U2 | SC16IS760IPW/TSSOP24 |
U3 | DS1818/SOT-23 |
U4 | ST3232/SO16 |
Inne | |
X1 | 1,8432MHz/HC49Z |
JP1, JP2 | gold-pin 3×1 |
Con4 | DB-9RA/F |
Con1 | IDC-10 |
Con5 | SIP-4BACK |
Con3 | SIP-6BACK |