Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
de:examples:communication:rs232 [2011/10/06 13:57] wittkoepperde:examples:communication:rs232 [2020/07/20 09:00] (current) – external edit 127.0.0.1
Line 5: Line 5:
 ===== Theorie ===== ===== Theorie =====
  
-[{{  :examples:communication:comm_rs232_cable.jpg?220|Cable RS-232. Left plug is „male” and the right one is „female” plug."}}]+[{{  :examples:communication:comm_rs232_cable.jpg?220|Cable RS-232. Der linke Stecker ist „male”, der rechte „female”."}}]
  
 Die RS-232 ist ein Standard unter den physischen Datenschnittstellen und wird zur Übertragung von Binärdaten genutzt. Dieser Standard wird überwiegend für serielle Anschlüsse von Computern verwendet, welche gewöhnlich als "COM"-Anschlüsse bezeichnet werden. Inzwischen wurden die RS-232 größtenteils durch USB-Schnittstellen ersetzt. Aufgrund ihrer Einfachheit werden sie jedoch weiterhin erfolgreich in Freizeitanwendungen verwendet, insbesondere wenn USB - RS-232 Konverter vorhanden sind. Der RS-232 Standard legt die Stecker, die elektronischen Parameter sowie die Bedeutung der Signale fest, nicht aber das Protokoll. Die RS-232 ist ein Standard unter den physischen Datenschnittstellen und wird zur Übertragung von Binärdaten genutzt. Dieser Standard wird überwiegend für serielle Anschlüsse von Computern verwendet, welche gewöhnlich als "COM"-Anschlüsse bezeichnet werden. Inzwischen wurden die RS-232 größtenteils durch USB-Schnittstellen ersetzt. Aufgrund ihrer Einfachheit werden sie jedoch weiterhin erfolgreich in Freizeitanwendungen verwendet, insbesondere wenn USB - RS-232 Konverter vorhanden sind. Der RS-232 Standard legt die Stecker, die elektronischen Parameter sowie die Bedeutung der Signale fest, nicht aber das Protokoll.
Line 11: Line 11:
 Die RS-232 Schnittstelle wird hauptsächlich in Verbindung mit dem UART Datenübermittlungsmodul genutzt. Diese UART-Hardware verfügt über ein standardisiertes Protokoll, legt jedoch keine Stecker oder andere Dinge fest. Die RS-232 Schnittstelle erweitert somit das UART Modul. UART ist ein Peripheriemodul des Mikrocontrollers, dessen digitaler In- und Output nicht mit den elektronischen Parametern des RS-232 korrespondiert. Aus diesem Grund werden die beiden über einen speziellen Pegelkonverter miteinander verbunden. Der bekannteste Pegelkonverter für RS-232 und TLL/COMS ist der MAX232. Die RS-232 Schnittstelle wird hauptsächlich in Verbindung mit dem UART Datenübermittlungsmodul genutzt. Diese UART-Hardware verfügt über ein standardisiertes Protokoll, legt jedoch keine Stecker oder andere Dinge fest. Die RS-232 Schnittstelle erweitert somit das UART Modul. UART ist ein Peripheriemodul des Mikrocontrollers, dessen digitaler In- und Output nicht mit den elektronischen Parametern des RS-232 korrespondiert. Aus diesem Grund werden die beiden über einen speziellen Pegelkonverter miteinander verbunden. Der bekannteste Pegelkonverter für RS-232 und TLL/COMS ist der MAX232.
  
-UART means universal asynchronous receiver/transmitter. USART is almost the samewith the difference that the data is sent with clock signalThe UART may be called also a serial interfaceThe serial interface is a data transferring mechanismwhere each bit is transmitted one by oneFor example, to transmit bait, 8 bits are transmitted with certain intervalThis means that on the serial interface linewhich is one pin of the microcontrollerthe value of voltage is changed after certain timeonce low and then highUsually there are two devices connected to the serial interfaceOne is transmitting the information (by changing the value of the pinand the other is receiving it (by registering the value of the pin). Transmitting pin is TX, and receiving pin is RX. The info is moving always to one direction on one lineFor sending data to the other direction an other line is usedIf data is moved on two lines at the same timeit is called full duplex bus +Die Bezeichnung UART steht für "Universal Asynchronous Receiver Transmitter"Die USART-Schnittstelle bietet ergänzend die MöglichkeitDaten synchron zum Taktsignal zu senden. UART kann auch als serielle Schnittstelle bezeichnet werdenDie serielle Schnittstelle ist ein Datentransfermechanismuswobei jedes Bit einzeln übermittelt wirdUm beispielsweise Byte zu sendenwerden Bits in einem bestimmten Intervall übermitteltDadurch wird an der seriellen Leitungsschnittstellealso an einen Pin des Mikrocontrollersder Wert der Stromspannung nach einer bestimmten Zeit verändertzunächst ist dieser niedrig und daraufhin hochNormalerweise gibt es zwei Geräte die an der seriellen Schnittstelle angeschlossen werdenDas eine dient zur Übertragung von Information (durch Veränderung des Pinwertes), das andere zum Empfang (durch Erfassung des Pinwertes). Der Übertragungspin ist mit TX, der Empfangspin mit RX gekennzeichnetAuf einer Leitung geht der Informationsfluss immer nur in eine RichtungUm Daten in die andere Richtung zu senden, muss eine andere Leitung genutzt werdenWerden Daten über zwei Leitungen gleichzeitig gesendetwird dieses "Full Duplex Bus" genannt  
  
-[{{  :examples:communication:comm_uart_frame.png?319|the frame of UART, where is start-bit , 0-7 are data-bits, P is parity-bit (if existingand is stop-bit (or 2).}}]+[{{  :examples:communication:comm_uart_frame.png?319|Der Rahmen des UART, mit als Startbit , 0-7 als Datenbits, P als Paritätsbit (falls dieses existiertund als Stopbit (oder 2).}}]
  
-Transmitting data is done by frames of the UART interfacein which is 5-data bits (depending on the configuration)Most common is bits (1 bait). In addition to the data bits also extra bits are transmitted with the framewhich are used to recognize the moments of arrival and ending of the data on the receiver’s sideThe first is called start-bit and it is always 0. The second is called stop-bit (or bits)which is always 1. Before the stop-bit also parity bit may comeIt is use to control regularityThe parity-bit shows whether in the amount of the data-bits is odd or even number of onesWhich reading it has depends on the configuration of the UART interfaceThe parity-bit is usually not used anymore and it can be banned in configurationLike the parity-bit can be configuredalso can the amount of data-bits and stop-bits.+Die Datenübertragung erfolgt über den Rahmen der UART-Schnittstellewelcher je nach Konfiguration bis Datenbits enthältAm häufigsten sind Bits (1 Byte). Zusätzlich zu den Datenbits werden durch den Rahmen weitere Bits übertragenwelche dazu genutzt werden, den Augenblick der Ankunft von Daten sowie des Abschlusses der Übertragung auf der Empfängerseite zu erkennenErsteres wird Startbit genannt und hat immer den Wert 0. Das zweite ist das Stopbitwelches immer den Wert hatVor dem Stopbit gibt es in einigen Fällen noch das ParitätsbitDieses dient zur Kontrolle der RichtigkeitDas Paritätsbit zeigt an, ob die Anzahl der Einsen in den Datenbits gerade oder ungerade istDie Art der Ablesung hängt von der Konfiguration der UART Schnittstelle abDas Paritätsbit wird aber normalerweise nicht mehr verwendet und kann im Rahmen der Konfiguration unterdrückt werdenSo wie das Paritätsbit konfiguriert werden kannkann auch die Anzahl von Datenund Stopbits variiert werden.
              
-In addition to the frame structure, there is one more important parameter – it is //baud rate//, with which the number of transmitted symbols in one second is determinedBaud shows the number of symbolsWhen we are dealing with UART then baud is 1 bit and that is why we talked about bits when we were talking about frameBasically it does not matter which baud rate is used for data transmittingbut there is a certain amount of commonly used baud rateswhich should be usedFor example: 9600 bps, 19200bps, 38400 bps, 57600 bps, 115200 bps+Zusätzlich zur Rahmenstruktur gibt es einen weiteren wichtigen Parameter - die //Baudrate//, wodurch die Anzahl der in einer Sekunde übertragenen Symbole festgelegt wirdDie Baudrate zeigt die Anzahl der Symbole anBei der Verwendung von UART entspricht Baud einem Bit, weshalb im Zusammenhang mit dem Rahmen von Bits gesprochen wurdeAllgemein ist es egalwelche Baudrate zur Datenübertragung genutzt wirdes gibt jedoch eine einige häufig verwendete Baudraten, welche verwendet werden solltenDiese sind zum Beispiel: 9600 bps, 19200bps, 38400 bps, 57600 bps, 115200 bps.
    
-Furthermoreit is worth to know that the RS-232 standard includes in addition to the data-signals  (RX, TX) also data flow control pins DTR, DCD, DSR, RI, RTS and CTSwhich are used for controlling the communication between the devicesFor example they can be used to notify whether it is ready to receive data or not Since the RS-232 interface’s original goal is to connect the computers to a modemsome signals are (wereuseful rather for showing the state of the telephone lines +Darüber hinaus ist es wichtig zu wissendass der RS-232 Standard zusätzlich zu den Datensignalen (RX, TX) auch über Datenflusskontrollpins DTR, DCD, DSR, RI, RTS undCTS verfügtwelche zur Kontrolle der Kommunikation zwischen den Geräten dienenSie können zum Beispiel genutzt werden, um festzustellen ob das Gerät zum Empfang von Daten bereit ist oder nichtDa die RS-232 Schnittstelle ursprünglich darauf abzieltComputer an ein Modem anzuschließen, können (konnteneinige Signale dazu genutzt werden, um den Status von Telefonleitungen anzuzeigen
  
-===== Practice =====+===== Praktisches Beispiel =====
  
-The Controller module board is equipped with one RS-232 type male plugThrough that can controller be connected to computer or to an other controllerFor connecting to a computer a usual not inverted cable must be usedwhich one end is male and other one is female. For connection to an other controller a cable must be used where RX and TX and current control signals are perpendicularly inverted and both plugs are female. The inverted cable is also called zero modem cable The following is an example program of using UART serial interface When the program is startedit transmits a welcome through a RS-232 interface and displays messages, which are received. LCD and USART libraries are used  +Die Platine des Controllermoduls ist mit einem RS-232 male-Stecker ausgerüstetDarüber kann der Controller an einen Computer oder einen anderen Controller angeschlossen werdenUm ihn an einen Computer anzuschließen, muss ein normales nicht invertiertes Kabel genutzt werdendessen eines Ende male und anderes Ende female istUm den Controller an einen anderen Controller anzuschließen, muss ein Kabel verwendet werden, bei dem RXTX sowie Kontrollsignale für die Stromstärke senkrecht invertiert sind und beide Stecker female sindDas invertierte Kabel wird auch Nullmodemkabel genanntNachfolgend ist ein Beispielprogramm zur Nutzung der UART Schnittstelle dargestelltWird das Programm gestartetübermittelt es ein "Willkommen" über die RS-232 Schnittstelle und zeigt empfangene Nachrichten anEs werden das LCD-Display und die USART Bibliotheken genutzt.
  
 <code c> <code c>
 // //
-// Connecting the Controller module of the HomeLab to a computer through RS-232. +// Anschluss des Controllermoduls des HomeLab an einen Computer über die RS-232 Schnittstelle
-// The example is using digital input-output module with LCD. +// Im Beispiel wird ein digitales Input-Output-Modul mit LCD Display verwendet
-// The text inserted in the terminal of the computer is displayed on the LCD.+// Der im Terminal des Computers eingegebene Text wird auf dem LCD Display angezeigt.
 // //
 #include <homelab/usart.h> #include <homelab/usart.h>
Line 35: Line 35:
  
 // //
-// Determining USART interface.+// Festlegung der USART Schnittstelle.
 // //
 usart port = USART(0); usart port = USART(0);
  
 // //
-// Main program+// Hauptprogramm
 // //
 int main(void) int main(void)
Line 47: Line 47:
  unsigned char row = 1;  unsigned char row = 1;
  
- // The set-up of the USART interface.+ // Installation der USART Schnittstelle.
  usart_init_async(port,  usart_init_async(port,
  USART_DATABITS_8,  USART_DATABITS_8,
Line 54: Line 54:
  USART_BAUDRATE_ASYNC(9600));  USART_BAUDRATE_ASYNC(9600));
  
- // The set-up of the  LCD.+ // Installation des LCD.
  lcd_alpha_init(LCD_ALPHA_DISP_ON_BLINK);  lcd_alpha_init(LCD_ALPHA_DISP_ON_BLINK);
  
- // Displaying welcome message on the screen.+ // Anzeige eines Begrüßungstextes auf dem Display.
  lcd_alpha_write_string("Waiting for the message");  lcd_alpha_write_string("Waiting for the message");
  
- // Putting the cursor in the beginning of the second row.+ // Cursor an den Beginn der zweiten Reihe setzen.
  lcd_alpha_goto_xy(0, row);  lcd_alpha_goto_xy(0, row);
  
- // Saying hello to the computer.+ // "Hallo" zum Computer sagen.
  usart_send_string(port, "Hello, write something!\r\n");  usart_send_string(port, "Hello, write something!\r\n");
  
- // Endless loop+ // Endlosschleife
  while (true)  while (true)
  {  {
- // Reading the sign from the serial interface.+ // Zeichen aus der seriellen Schnittstelle lesen.
  if (usart_try_read_char(port, &c))  if (usart_try_read_char(port, &c))
  {   {
- // Are we dealing with the sign of changing the row?+ // Befassen wir uns mit dem Zeichen zur Änderung der Reihe?
  if (c == '\r')  if (c == '\r')
  {  {
- // Changing the row.+ // Änderung der Reihe.
  row = 1 - row;  row = 1 - row;
  
- // Emptying the row from the previous message.+ // Vorherige Nachricht aus der Reihe löschen.
  lcd_alpha_clear_line(row);  lcd_alpha_clear_line(row);
  }  }
  else  else
  {  {
- // Issuing the sign directly to the screen.+ // Ausgabe des Zeichens auf dem Display.
  lcd_alpha_write_char(c);  lcd_alpha_write_char(c);
  }  }
Line 91: Line 91:
 </code> </code>
  
-[{{  :examples:communication:comm_hyperterminal.png?250|The window of the HyperTerminal}}]+[{{  :examples:communication:comm_hyperterminal.png?250|Das Fenster des HyperTerminal}}]
  
-With Windows XP OS comes a program called HyperTerminal. It is opened from the //Start// menu by selecting //Accessories// →// Communications// → //HyperTerminal//Select 9600 bps, 1 start-bit and stop-bit without parity- and stream-control for configurationWhen the HyperTerminal is opened during the time when the microcontroller is startingthere will be a welcoming message on the display The letters inserted through the window are displayed in the alphanumerical LCD. By pressing //Enter// button the row is changed on the LCD.+Windows XP OS beinhaltet das Programm HyperTerminal. Dieses Programm kann über das //Start// Menü geöffnet werden, indem //Zubehör// →// Kommunikation// → //HyperTerminal// ausgewählt wirdWählen Sie zur Konfiguration 9600 bps aus, 1 Startbit und Stopbit ohne Paritätsund DatenstromkontrolleWenn HyperTerminal geöffnet ist, während der Mikrocontroller starteterscheint ein Begrüßungstext auf dem DisplayDie über das Fenster eingegebenen Buchstaben werden auf dem alphanumerischen LCD dargestelltDurch Betätigung der //Enter// Taste wird die Reihe auf dem LCD gewechselt.
de/examples/communication/rs232.1317909437.txt.gz · Last modified: 2020/07/20 09:00 (external edit)
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0