PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : AT90CAN128 <-> RS232



hugo1234
18.11.2008, 11:21
Hallo Zusammen,

ich habe da ein kleines Problem mit meinem AT90CAN128. Ich bin gerade dabei mit eine Art Debug Schnittstelle einzurichten, mit der ich am HyperTerminal nachher Werte auslesen will.

Leider funktioniert das nicht wirklich. Ich habe bereits hier im Forum gesucht und entsprechende Einträge gefunden, die aber nicht geholfen haben. Darum ist mir die Idee gekommen ich könnte etwas an der Verkabelung falsch gemacht haben.

Ich versuch euch mal mein Aufbau zu beschreiben.

1. Von CON4 - TXD des Controllers zu Pin 2 der RS232 Buchse
2. von CON4 - RXD des Controllers zu Pin 3 der RS232 Buchse
3. Von CON4 - GND des Controllers zu GND der RS232 Buchse

Ich hoffe dies ist soweit verständlich.

Meine Fragen sind nun. Ist die Verkabelung so richtig? oder muss ich zum senden an den Pin "PE1" bzw. "PD3" gehen?
Kann ich mit dem Multimeter messen ob etwas übertragen wird?

Vielen dank für eure Mühe.

askazo
18.11.2008, 11:46
Hi,

mit dieser Verkabelung könntest Du sogar Deine UART-Schnittstelle am Controller zerschossen haben....
Die RS232-Schnittstelle am PC arbeitet mit anderen Spannungspegeln als Dein Controller, und zwar mit +/- 12V.
Um Deinen Controller über RS232 mit dem PC zu verbinden, brauchst Du noch einen Pegelwandler dazwischen. Üblich ist da der MAX232 von Maxim.

Gruß,
askazo

hugo1234
18.11.2008, 11:50
Hi,

der AT90CAN128 V3.0 hat einen MAX3221 RS232 Transceiver. Ist dies zufällig so ein Pegelwandler?

askazo
18.11.2008, 12:00
Ja, der MAX3221 ist so ein Pegelwandler.
Aber der AT90CAN128 hat (zumindest laut aktuellem Datenblatt von Atmel) keinen solchen integriert.

Oder redest Du von einem kompletten Board und nicht von einer selbstgebauten Schaltung?

Gruß,
askazo

McJenso
18.11.2008, 12:02
Hallo,

kannst du bitte einen Link zu dem 'AT90CAN128 V3.0' posten. Der nackte Controller AT90CAN 128 hat keine Transiver. Ich vermute du meinst eine Platine mit einem Controller darauf.

Gruß

Jens

hugo1234
18.11.2008, 12:05
Hi,

ja genau, auf der Platine ist dieser verbaut.
http://www.chip45.com/download/Infosheet_Crumb128_080715.pdf

askazo
18.11.2008, 12:17
Ok, dann sieht die Sache schon anders aus.
Die Pins auf CON4 kommen dann schon direkt vom Pegelwandler.
Die Dokumentation des Boards ist allerdings mehr als dürftig.
Es ist z.B. nicht klar, ob die Bezeichnungen RxD bzw. TxD an der CON4 vom Controller oder vom PC aus gesehen sind. Ist es vom Controller ausgesehen - was eigentlich die logische Beschriftung wäre - ist Deine Verdrahtung richtig. Ansonsten kannst Du mal versuchen, RxD und TxD zu tauschen.
Desweiteren bleibt offen, ob UART0 oder UART1 auf den Transceiver geführt ist. Da müsstest Du beide Schnittstellen mal probieren.
Und der Jumper J2 muss natürlich richtig gesetzt sein.

Mehr Tipps kann ich Dir momentan nicht geben.

Gruß,
askazo

hugo1234
18.11.2008, 12:20
Hi,

danke für deine hilfe. Der Jumper ist bereits richtig gesetzt.
Hast du evtl. noch eine uart library, die ich dafür verwenden kann ?

Gruß Hugo

askazo
18.11.2008, 12:44
Ich hab Dir mal meine UART-Routinen angehängt.
Dürfte alles relativ selbsterklärend sein.
Die global.h wird hier nur wegen der typedefs von BYTE und WORD benötigt. Die kannst Du also auch in die uart.h kopieren und die global.h einfach weglassen.
Wichtig ist, dass Du in der uart.h die Makros MULTI_UART, COM_PORT und UART_BAUD_RATE richtig einstellst.

Gruß,
askazo

McJenso
18.11.2008, 13:00
Hallo,

auf der Anbieter Seite gibt es noch einen Schaltplan zum Download. Es ist der UART0 an den Transiver angeschlossen. Die Belegung ist wie oben angenommen richtig. Zieh bei deinen Versuchen mal sicherheitshalber den Programmieradapter ab, nicht das es da zu Störungen kommt. Der sitzt mit an den gleichen Pinnen. Und schau dir als Alternative zu Hyperterminal mal hterm (http://www.der-hammer.info/terminal/) an.

Gruß

Jens

hugo1234
19.11.2008, 20:29
Hi,

danke an alle die geholfen haben. Der Fehler ist behoben und ich bekomm Ausgaben am hterm.

diy.jack
19.01.2009, 09:32
Hallo,
you should check the AVR mcu at90can128 (http://www.datasheetdir.com/AT90CAN128+AVR-microcontrollers) datasheet and MAX232 (http://www.datasheetdir.com/MAX232+RS-232) datasheet at datasheetdir.com (http://www.datasheetdir.com/) . Viel Glück.