Forum: Mikrocontroller und Digitale Elektronik AT89C51CC03 mit USB Schnittstelle für Kommunikation


von Stefan S. (stefan0784)


Lesenswert?

Hi Forum,

wir müssen bei unserem Projekt den oben genannten Controller für ein 
TraningBoard benutzen. Aufgabenstellung ist es ein Board zu entwickeln 
dass über ISP programmierbar ist. Die Kommunikation soll über eine RS232 
oder eine USB-Schnittstelle stattfinden. (Einstellbar über eine 8 Tasten 
Tastatur)
Mit der RS232 hab ich keine Probleme.
Meine Frage an euch. Was für einen USB-Anschluss würdet Ihr mit 
empfehlen und welche PINS vom Controller muss ich dazu verwenden?
Ich vermute mal dass das die selben sind wie bei der RS232 
Schnittstelle.
Danke schon mal für euer Antworten.
Falls Fragen noch offen sind - nur her damit.

von Pieter (Gast)


Lesenswert?

moin moin,

der 51CC03 ist für CAN-Bus, verwende den AT89C5131A der kann USB.

mfg
Pieter

von Stefan S. (stefan0784)


Lesenswert?

Wir müssen den oben genannten Controller benutzten. Die 
CAN-Schnittstelle wird auch verwendet. Hab ich vorher vergessen zu 
erwähnen. Haben außerdem noch eine SPI-Schnittstelle mit der wir Daten 
zu einem LCD-Display schicken.
Mal ne Frage - ist es mit dem von uns verwendeten Controller überhaupt 
möglich eine USB-Schnittstelle zu realisieren?

von R. W. (quakeman)


Lesenswert?

Ich gehe mal davon aus, daß der Controller vorgegeben ist für das 
Projekt. Ich würde dir dann zu dem FT232RL als USB Chip raten.

Ich habe diesen Chip in letzter Zeit des öfteren schon verbaut und er 
funktioniert sehr problemlos. Er wird am den Controller an die RXD und 
TXD Pins angeschlossen und richtet auf dem Hostrechner (PC, Mac, etc) 
eine virtuelle serielle Schnittstelle ein. Dadurch erfolgt die 
Kommunikation für den Controller völlig transparent weiterhin über die 
serielle Schnittstelle und du brauchst dich nicht um den USB Kram zu 
kümmern.

Falls du ISP mit einem selbst geschriebenen Bootloader machen willst 
dürftest du auch keine weitere Hardware-Logik benötigen. Falls der 
Controller einen eingebauten Bootloader enthält der per Hardware 
aktiviert werden muß, kannst du diverse Steuersignale der RS232 
(respektive des USB-RS232 Chips) dafür zur Hilfestellung benutzen.

Der FT232RL ist z.B. bei Reichelt für 4,35€ zu bekommen und lässt sich 
mit einem Windows Tool (MProg) teilweise für die eigenen Gegebenheiten 
umprogrammieren.

Ciao,
     Rainer

von Stefan S. (stefan0784)


Lesenswert?

Danke für den Tipp.
Wenn ich dass dann richtig verstanden habe sendet dann die RS232 
Schnittstelle genau die gleichen Signale wie die USB-Schnittstelle, da 
beide Schnittstellen zur gleichen Zeit dann auch mit den gleichen 
Signalen von TxD und RxD gespeist werden.
Der Unterschied besteht eben darin, dass der USB-Chip das ankommende 
Signal von TxD und RxD in ein USB konformes Signal umwandelt und dann 
weiter zum Rechner schickt.
Das RS232 Signal wird ja sozusagen auch in einem Treiberbaustein 
umgewandelt um mit anderen PCs oder so zu kommunizieren.

von R. W. (quakeman)


Lesenswert?

Genau richtig.
Für die richtige RS232 benutzt man ja z.B. den MAX232 um den Signalpegel 
anzupassen und einfach ausgedrückt macht der FT232 das gleiche für die 
USB Schnittstelle.
Wenn du natürlich über die reale RS232 und die virtuelle USB-RS232 
getrennt Daten übertragen willst, brauchst du zwei getrennte serielle 
Schnittstellen am Controller. Oder Alternativ schaltest du per externer 
Logik die Pins um zwischen den beiden Schnittstellen, wobei dann aber 
nicht beide gleichzeitig genutzt werden können.

Ciao,
     Rainer

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.