Aus RN-Wissen.de
Wechseln zu: Navigation, Suche
LiFePO4 Speicher Test

RP6v2 USB-RS232-Adapter: Hardware

In diesem Projekt soll eine "Exp" (RP6#Experimentierplatine, CONRAD 191537) für den RP6v2 (natürlich auch für den RP6) "gebaut" werden, mit der ein (bei mir) ständig auftretendes "Problem" behoben wird:

Ich brauche eine Verbindung vom Microcontroller zu einer RS232-Schnittstelle oder zum USB-Port eines PCs. Natürlich gibt es schon das mitgelieferte USB Interface des RP6v2 und neuerdings auch das RP6V2-TRANS bei CONRAD, das anstelle des mitgelieferten Exemplars verwendet werden kann. Die RP6v2#RP6v2_M256_WiFi_Platine hat aber z.B. noch zwei freie USARTs, die ich gern eigenständig und unabhängig von der seriellen Verbindung zum RobotLoader verwenden will.

Da hilft nur ein eigener USB-UART-Umsetzer. Ich habe mich für dieses Projekt entschieden für den UM2102 von ELV. Die Platine ist preisgünstig, super-kompakt und nutzt den CP2102, der kaum Außenbeschaltung braucht. Treiber gibt es für Windows, Mac, WinCE, Linux und für den Direktzugriff auf den CP2102.

Das Projekt soll aber auch noch einen RS232-Pegelwandler vorsehen. Auch das ist (noch) ein typisches Problem (zumindest bei mir, weil ich noch einen PC mit RS232-Schnittstelle habe). Man könnte die kleine Schaltung auch mit einem MAX232N direkt auf der Exp aufbauen, ich habe mich aber aus Platzgründen für den RS232-TTL-Wandler-Bausatz von Pollin entschieden. Das ist zwar eine relativ große Platine, die man aber huckepack gut auf der Exp montieren kann.

Für die Teile, die man für das ganze Projekt braucht, werden Bestell-Nummern vom großen C angegeben. Natürlich gibt es auch andere Versender, bei denen es evtl. günstiger wird.

Was braucht man allgemein für den Aufbau einer Schaltung auf der Exp:

  • Seitenschneider, Schere, Zange
  • Lötkolben 25..30 Watt, Lötzinn
  • Plastik 70 Schutzlack (CONRAD 813621)
  • Isolierter Schaltdraht YV 0,20 mm² (CONRAD 606065)
  • Versilberter CU-Draht 0,6 mm (CONRAD 605581)

Mit dem versilberten CU-Draht stellt man auf der Unterseite (= Lötseite) der Exp Verbindungen zwischen den Bauteilen her; mit dem isolierten Schaltdraht werden Drahtbrücken auf der Oberseite (= Bestückungsseite) der Exp eingesetzt. Die Lage der Verbindungen zeige ich im Bestückungsplan. Man muss sich nicht an die genaue Lage der Verbindungen halten.

Wenn man die Drähte und Bauteile an anderen Positionen einlötet, kann es aber sein, dass man die weitere Schaltung nicht mehr so aufbauen kann, wie ich das hier zeige! Möglicherweise sind die weiteren Teile dann nur noch mit einer "wilden" Freiverdrahtung machbar!

Aufbau

Man braucht folgende Bauteile (Bestell-Nummern CONRAD):

Anzahl Bestell-Nr. Bauteil-Bezeichnung:
1 191537 RP6 Experimentierplatine
1 ELV Mini-USB-UART-Umsetzer UM2102
1 Pollin RS232-TTL-Wandler-Bausatz
1 168274 Schottky-Diode 1N5817
1 736950 Wannenstecker gewinkelt, 2 x 5-polig
1 741119 1-reihige Stiftleiste RM 2,54 mm (36-polig)
1 742902 Zehn Codierbrücken (aus Set)
4 526630 M3-Abstandbolzen 10 mm
1 815624 Vier Muttern M3 (aus Set)
1 815322 Vier Schrauben M3 (aus Set)

Hier erst einmal der Schaltplan:

RP6 RS232 USB SP.JPG

Und dann der Bestückungsplan:

RP6 RS232 USB.JPG

Ich habe die Drahtbrücken aus isoliertem Schaltdraht (es sind 33) rot eingezeichnet. Sie werden auf der Oberseite der Experimentierplatine bestückt!

Zunächst wird der RS232-TTL-Wandler-Bausatz nach Anleitung aufgebaut. Die drei 2-poligen Anschlussklemmen werden NICHT eingelötet. In die Experimentierplatine werden 4 Löcher (mit 3,2 mm Durchmesser) an den im Bestückungsplan hellgrün gekennzeichneten Stellen gebohrt. Hier werden die vier M3-Abstandbolzen 10 mm mit Muttern M3 eingesetzt. Darauf wird später die RS232-TTL-Wandler-Platine montiert.

Die UM2102-Platine wird vorbereitet, indem zwei 5-polige und eine 6-polige Stiftleiste RM 2,54 mm auf der Lötseite direkt anliegend eingelötet werden.

Danach werden alle Leiterbahnen, Brücken, Stecker und Jumper hergestellt und zum Schluß die UM2102-Platine an ihren Platz gelötet. Auf der Lötseite der RS232-TTL-Wandler-Platine werden 6 kurze Stücke (~ 2 cm) isolierte Schaltlitze (z.B. CONRAD 605808 o.ä.) an die Punkte +5V, Masse, CTS, RTS, TXD, RXD angelötet. Anschließend werden diese 6 Litzen auf der Exp an den gekennzeichneten Stellen angelötet, und die RS232-TTL-Wandler-Platine wird auf den Abstandbolzen mit Schrauben M3 befestigt.

Viel Erfolg beim Aufbau!

Test

Will man zunächst den Mini-USB-UART-Umsetzer grob testen, werden die Jumper auf JP1 bis JP4 in Stellung "U" aufgesteckt. Alle anderen Jumper bleiben offen. Dann schließt man ihn mit einem USB-A zu Mini-USB Adapterkabel an einen PC an. Die UM2102-Platine sollte z.B. in Windows 7 problemlos erkannt werden. Falls ein VCP-Treiber nicht gefunden wird bzw. ein anderes Betriebssystem verwendet wird, finden sich die notwendigen Treiber hier. Der Mini-USB-UART-Umsetzer dürfte in Ordnung sein, wenn er vom Betriebssystem erkannt wird. Die komplette Funktion läßt sich aber nur prüfen, wenn man die Übertragung vom Microcontroller zum PC und umgekehrt ausführlich testet. Das kann man z.B. tun, indem man ST1 (UART_TTL) mit dem 10-poligen Flachkabel des RP6 USB Interface (oder des RP6V2-TRANS) mit dem PROG_UART Stecker der RP6v2Base, M32, M128 oder M256 WiFi verbindet.

ACHTUNG: Kein anderes (1:1) Flachkabel verwenden!!!

Die seriellen Ausgaben jedes beliebigen µC-Programms müßten dann auf einem Terminal-Programm (siehe auch RP6_-_Programmierung#Geeignete_Terminals!) auf dem PC zu empfangen sein. Damit ist die UART-USB Übertragung (zumindest in EINE Richtung) erfolgreich getestet.

Genau so kann man den RS232-TTL-Wandler testen: JP1 bis JP4 von Stellung "U" umstecken in die andere (rechte) Stellung. JP5 aufstecken. Alle anderen Jumper bleiben offen. Der RS232-TTL-Wandler wird mit einem 1:1 Sub-D Kabel (9-polig, Stecker-Buchse) mit der RS232-Schnittstelle des PCs verbunden. Wie oben beschrieben wird ST1 (UART_TTL) mit dem Flachkabel des RP6 USB Interface mit dem PROG_UART Stecker der RP6v2Base, M32, M128 oder M256 WiFi verbunden. Auch hier sollte die serielle Verbindung zwischen dem Microcontroller und dem PC-Terminal-Programm in beiden Richtungen möglich sein.

Letzte Arbeiten

Was bleibt noch?

  • Wenn die Platine komplett aufgebaut ist, kann man sie mit Plastik 70 Spray auf der Lötseite gegen Korrosion schützen
  • Sich Anwendungen überlegen
  • Anwendungen programmieren
  • ...

Allgemeine Daten und Tabellen

Stecker

Stecker Pins Bedeutung
ST1 10 UART_TTL Wannenstecker (RX, TX, RTS, +5V *, GND)
ST2 4 Suspend, RI, DTR, DSR an ST1
ST3 4 TX, RX, RTS, CTS von UM2102 ODER RS232-TTL **
ST4 5 Suspend, RI, DTR, DCD, DSR von UM2102
ST5 2 3,3 V, GND von UM2102

Zu *) Falls JP7 = ON!

Zu **) Abhängig von JP1..JP4!

ST1 (UART_TTL)

Pin Funktion Bedeutung
1 VDD +5 V
2 GND Masse
3 Suspend Suspend (= ST2: 1)
4 n.c.
5 RI Ring Indicator (= ST2: 2)
6 DSR Data Set Ready (= ST2: 4)
7 DTR Data Terminal Ready (= ST2: 3)
8 RX Receive Data (= ST3: 2)
9 TX Transmit Data (= ST3: 1)
10 RTS Request to Send (= ST3: 3)

Die Belegung dieses Steckers entspricht dem Stecker PROG des RP6 USB Interface und des RP6V2-TRANS. Das bedeutet, dass das 10-polige Flachkabel, das mit den beiden RP6 USB Interfaces mitgeliefert wird, auch für die Verbindung zwischen diesem Stecker UART_TTL und dem Wannenstecker PROG_UART des RP6-Systems (Base, M32, M128, M256 WiFi) verwendet werden kann.

Will man ein eigenes Flachkabel für diese Verbindung herstellen,
ist zu beachten, dass das Flachkabel gedreht (aus Pin 1 wird 10,
aus Pin 2 wird 9, usw.) einzubauen ist!

Die Signale Suspend, RI, DSR und DTR werden zur Verbindung mit dem RP6-System nicht benötigt.

ST2

Pin Funktion Bedeutung
1 Suspend = ST1: 3
2 RI = ST1: 5
3 DTR = ST1: 7
4 DSR = ST1: 6

ST3

Pin Funktion Bedeutung
1 TX Transmit Data (= ST1: 9)
2 RX Receive Data (= ST1: 8)
3 RTS Request to Send (= ST1: 10)
4 CTS Clear to Send

An diesem Stecker ST3 sind alle Signale vorhanden, die für die Kommunikation zwischen einem µC des RP6-Systems und einem USB-Port bzw. einer RS232-Schnittstelle relevant sind. Von diesem Stecker können die Schnittstellen-Signale (in der Regel werden nur TX, RX benötigt!) direkt zum UART auf einer der Platinen des RP6-Systems geführt werden.

ACHTUNG:
==> RX und TX kreuzen (d.h. µC:RX an ST3:TX und µC:TX an ST3:RX)!!!
==> TX und RTS dürfen nur mit µC-Eingängen verbunden werden!!!

ST4

Pin Funktion Bedeutung
1 Suspend Suspend (von UM2102)
2 RI Ring Indicator (von UM2102)
3 DTR Data Terminal Ready (von UM2102)
4 DCD Data Carrier Detect (von UM2102)
5 DSR Data Set Ready (von UM2102)

An diesem Stecker ST4 liegen Signale der seriellen Schnittstelle vom UM2102, die normalerweise nicht benötigt werden. Wenn Suspend, RI, DTR, DSR an ST1 (UART_TTL) genutzt werden sollen, kann man eine Drahtverbindung der Pins 1..3 und 5 dieses Steckers zu ST2 herstellen.

ST5

Pin Funktion Bedeutung
1 + 3,3 V 3,3 V / max. 100 mA (von UM2102)
2 GND Masse

An diesem Stecker ST5 kann man eine Spannung von 3,3 V abnehmen, die vom UM2102 zur Verfügung gestellt wird. Der Ausgang darf maximal mit 100 mA belastet werden.

USRBUS

Der USRBUS stellt 14 Verbindungen zwischen den µC-Platinen (RP6Base, M32, M128 und M256 WiFi) und Experimentierplatinen, die man selbst gebaut hat, zur Verfügung. Die 14 Pins können frei belegt werden.

Eine mögliche Belegung habe ich hier vorgeschlagen. Wenn man diesem Vorschlag folgt, ist RX des µCs an Y6, TX an Y8 und RST an Y10 des USRBUS zu finden. Natürlich muss man dann auf der jeweiligen µC-Platine oder Exp eine Verbindung der drei USRBUS-Pins zum UART herstellen.

Auf dieser Exp muss man JP8..10 schließen, wenn man den USRBUS auf diese Weise nutzen will.

UARTs

Im RP6-System sind die Hardware-UARTs an folgenden Steckern/Pins zu finden:

Platine UART RX TX RX an Stecker TX an Stecker
RP6v2Base 0 PD0 PD1 PROGU: 2 * PROGU: 3 *
RP6 CONTROL M32 0 PD0 PD1 PROGU: 2 ** PROGU: 3 **
RP6 CCPRO M128 0 PE0 PE1 PROGU: 2 PROGU: 3
1 PD2 PD3 I/O: 8 I/O: 7
RP6v2 M256 WIFI 0 PE0 PE1 PROGU: 2 PROGU: 3
1 PD2 PD3 USPI15: 8 USPI15: 6
2 PH0 PH1 USPI24: 8 USPI24: 6
3 PJ0 PJ1 n.c. *** n.c. ***

Zu *) Kann man auch am Stecker "RP6#Serielle_Schnittstelle" auf dem RP6 Mainboard anschliessen!

Zu **) Kann man auch am Stecker "RP6#Serielle_Schnittstelle_2" auf der M32 Platine anschliessen!

Zu ***) Fest verbunden mit dem WLAN Modul, daher nicht nutzbar!

Stecker-Kürzel:
PROGU   PROG_UART
USPI15  UART_SPI1/T5
USPI24  UART_SPI2/T4

Jumper

Zeichenerklärung:

  • Zweipolige Jumper:
    • Stellung ON = Jumper aufgesteckt (Kontakt geschlossen)
    • Stellung OFF = Jumper abgezogen (Kontakt offen)
  • Dreipolige Jumper:
    • Stellung U = Jumper links * aufgesteckt
    • Stellung R = Jumper rechts * aufgesteckt

Zu *) Platine so gesehen, wie im Bestückungsplan!

Jumper Stellung Bedeutung
JP1 U (S) TX von USB
JP1 R TX von RS232
JP2 U (S) RX von USB
JP2 R RX von RS232
JP3 U (S) CTS von USB
JP3 R CTS von RS232
JP4 U (S) RTS von USB
JP4 R RTS von RS232
JP5 ON RS232-TTL-Wandler Power ON
JP5 OFF (S) RS232-TTL-Wandler Power OFF
JP6 ON Power für UM2102 auch von UART_TTL Stecker (Pin 1)
JP6 OFF (S) Power für UM2102 nur vom PC über USB-Stecker
JP7 ON +5 V Verbindung zwischen XBUS: VDD und UART_TTL Stecker (Pin 1)
JP7 OFF (S) Keine +5 V Verbindung zwischen XBUS und UART_TTL Stecker
JP8 ON TX an USRBUS RX (Pin Y6)
JP8 OFF (S) TX nicht an USRBUS
JP9 ON RTS an USRBUS RST (Pin Y10)
JP9 OFF (S) RTS nicht an USRBUS
JP10 ON RX an USRBUS TX (Pin Y8)
JP10 OFF (S) RX nicht an USRBUS

Zu (S) Standard-Stellung der Jumper (USB-UART-Betrieb über UART_TTL Stecker)!

Hinweis: JP1 bis JP4 IMMER in dieselbe Stellung (U oder R) bringen!

RP6v2 USB-RS232-Adapter: Software

Siehe auch


Quellen


Autoren

--Dirk 11:19, 4. Sep 2012 (CET)


LiFePO4 Speicher Test