Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

Iteaduino Plus A20 - część 4

msz
-
-
Posty: 6
Rejestracja: 15 cze 2014, o 00:37

Iteaduino Plus A20 - część 4

Postautor: msz » 5 lis 2014, o 18:34

W tej częsci opisu aplikacji dla zestawu Iteaduino Plus A20 zostaną przedstawione układy interfejsów komunikacyjnych dla magistral szeregowych RS232 oraz RS485.

RS232
Dołączanie do komputera Iteaduino urządzeń przez porty szeregowe wymaga stosowania konwerterów dopasowujących poziomy napięć standardu RS232 (jedynce logicznej odpowiada napięcie -3 ... -25 V, zeru logicznemu +3 ... +25 V) do wartości akceptowanych przez procesor AllWinner czyli standardu LVTTL. Często używany układ MAX232 (lub jego odpowiedniki) nie będzie mógł zostać zastosowany, gdyż wymaga zasilania 5V i pracuje z sygnałami TTL. Wybrany więc został konwerter MAX3232, który może być zasilany napięciem 3,3V i który można bez obaw dołączyć do Iteaduino A20. Zawiera on w strukturze przetwornicę, którą wytwarza napięcia +10V oraz -10V konieczne do współpracy z magistralą RS232.
Schemat modułu przedstawia rysunek:
image01.jpg
Zapewniona jest translacja poziomów napięć czterech linii: TXD, TXD, RTS, CTS. Sygnały RTS i CTS wykorzystywane są do sterowania przepływem danych na liniach TXD i RXD. Sygnał CTS powinien byc na stałe dołączony do masy w przypadku rezygnacji ze sprzętowego sterowania przepływem. Do modułu należy doprowadzić napięcie 3,3 V.

RS485
Interfejs RS232 umożliwia wymianę danych między wyłącznie dwoma urządzeniami w konfiguracji punkt-punkt. W sytuacji gdy konieczne jest podłączenie kilku nadajników i odbiorników do jednej linii można wykorzystać magistralę szeregową RS485. Standard ten jest powszechnie stosowanym w aplikacjach przemysłowych. Umożliwa połączenie do 32 urzadzeń na magistali różnicowej o długości do 1200 metrów za pomocą skrętki - pary przewodów. Zastosowany konwerter MAX3485 może być zasilony napięciem 3,3 V i pracuje w konfiguracji half-duplex.Układ zawiera w strukturze nadajnik, którego wejście DI - Driver Input podłączono z wyjściem RO - Receiver Output odbiornika.
Kierunek transmisji określany jest przez stan wejść DE i /RE. Sygnał DE (Driver Enable) aktywuje nadajnik poziomem wysokim, /RE (Receiver Enable) odbiornik poziomem niskim. Oba sygnały mogą być połączone (zworka J1 zwarta), wtedy stan niski podany na którekolwiek z tych wejść aktywuje odbiornik, stan wysoki umożliwia nadawanie.
image02.jpg
Zworki Z2 i Z3 powinny być zwarte tylko w pierwszym urządzeniu dołączonym do magistrali.
Zworka J4 dołącza terminator, który powinien znajdować się w pierwszym i w ostatnim urządzeniu na krańcach magistrali. Rezystory dopasowujące zapobiegają pojawianiu się odbić zakłócajacych przesyłany sygnał. Ich wartość jest równa impedancji falowej.
Skrętka dołączona jest do złącza Z2.

Na płytce IteaduinoPlus wyprowadzono 4 porty szeregowe:
UART2 (TX - PI18, RX - PI19, RTS - PI16, CTS - PI17)
UART3 (TX - PG06, RX - PG07, RTS - PG08, CTS - PG09)
UART4 (TX - PG10, RX - PG11),
UART7 (TX - PI20, RX - PI21).

Użytkownik może wykorzystać standardowy terminal np. PuTTY lub użyć dostępnych w SDK funkcji pisząc własny program.
Funkcje do obsługi portów szeregowych udostępniane przez IteadOS SDK są identyczne jak w innych implementacjach języka Arduino.

Przykladowy program wysłający ciąg znaków przez port UART2:
image03.jpg
Przykładowy program odbierający wysyłane znaki z portu UART3:
image04.jpg
Efekt działania obu programów:
image05.jpg
Monitor portów szeregowych RS232/RS485
Korzystanie z programu bez GUI jest uciążliwe, dlatego postanowiłem napisać własną aplikację. Widok okna przedstawia rysunek:
image06.jpg
Pracę z programem rozpoczynamy od wybrania parametrów takich jak: numer portu, prędkość i typ transmisji (RS232 lub RS485).
image07.jpg
Aplikacja pozwala na obsługę wielu portów jednocześnie.
image08.jpg
Program działa jak klasyczny terminal oferując wysyłanie i odbiór znaków ASCII, w przyszłości zostanie rozszerzony o możliwość przetwarzania i analizy struktur danych.

Wróć do „Opisy i oceny aplikacji”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 13 gości