Forum: Mikrocontroller und Digitale Elektronik MCP2200 Baudrate automatisch?


von Felix N. (felix_n888)


Lesenswert?

Moin zusammen,

Ich würde gerne den MCP2200 von Microchip als Ersatz für den FTDI 
FT232RL einsetzten. Genauer gesagt geht es um das Auslesen und 
Programmieren von Melderempfänger für die Feuerwehr.

Mein Vorgänger hat noch mit einem selbst gebauten Programmieradapter mit 
Parallelport gearbeitet. Diesen Anschluss besitzt mein PC in der 
heutigen Zeit nicht mehr. Somit kann ich mit diesem Programmieradapter 
nicht arbeiten.

Es gibt im Internet Schaltpläne dazu wie man diesen Programmieradapter 
selbst bauen kann weil der Empfänger via einem simplen BUS pin(UART) 
programmiert wird.

Vorgeschlagen wird immer der Delock 83786 USB Adapter welcher als 
Chipsatz ein FTDI FT232RL verwendet. Nur leider hab ich diesen Chip 
nicht mehr, bestellbar ist er aktuell bei reichelt und mouser auch 
nicht. Allerdings habe ich noch welche von den MCP2200 hier rumfliegen.

Hab mir das Datenblatt von dem Chip angeschaut das einzige was ich nicht 
verstehe ist das mit der Baudrate. Im Datenblatt steht das dieser 
vorkonfiguiert auf 19200 Baud ist und man mit Hilfe der Software oder 
einem bestimmten Befehl die Baudrate "Dynmaisch" ändern kann.

Nun ist es ja so wenn ich beim FT232RL TX und RX brücke und mich im 
Terminal Programm auf den COM Port anmelde und was sende bekomme ich das 
gleiche als Echo zurück egal ob 9600, 19200 oder 115200 eingestellt ist 
beim FT232RL.

Macht der MCP2200 das auch? Oder ist der wirklich fix auf diese Baudrate 
eingestellt wie man über dieses Konfigurationssoftware eingestellt? Hab 
mit dem Chip noch nicht gearbeitet und nur in SMD hier da ist das mit 
dem Testen so ein bisschen schwierig da Drähte anzulöten.

Die Baudrate zum Auslesen/Programmieren ist nämlich nicht fix. Beim 
Auslesen wird mit 9600 bis 19200 gearbeitet und programmiert wird mit 
76800 bis 115200(Je nach Typ ob älteres oder neues Modell)

Hat jemand Erfahrung mit diesem Chip?

Mfg

von Sebastian R. (sebastian_r569)


Lesenswert?

Da der MCP2200 auch das USB CDC Line Coding unterstützt um die Baudrate 
zu ändern, sollte das kein Problem sein.

(Quelle: Erste Seite vom Datenblatt)

: Bearbeitet durch User
von Frank K. (fchk)


Lesenswert?

Der MCP2200 und der MCP2221(A) implementieren die Standard-USB CDC-ACM 
Geräteklasse, d.h. jedes aktuelle Betriebssystem kann damit ohne weitere 
Treiberinstallation damit umgehen.

CDC-ACM hat einen Resquest SET_LINE_CODING, über den die Bitrate und 
Übertragungsformat etc eingestellt werden. Das können die Microchip 
Chips. Was sie nicht implementieren, ist Parity, d.h. Du hast immer 8N1 
- was für >90% aller Anwendungsfälle ausreicht.

Der Defaultwert bei der Bitrate ist wirklich nur das. Die Applikation 
kann diese über das jeweilige Betriebssystem-API ändern.

fchk

von Stephan S. (uxdx)


Lesenswert?

Felix N. schrieb:
> Vorgeschlagen wird immer der Delock 83786 USB Adapter welcher als
> Chipsatz ein FTDI FT232RL verwendet. Nur leider hab ich diesen Chip
> nicht mehr, bestellbar ist er aktuell bei reichelt und mouser auch
> nicht.

https://www.reichelt.de/de/de/usb-2-0-konverter-seriell-ttl-pinheader-einzeln-1-8-m-5-v--delock-83786-p163094.html?r=1

von Bauform B. (bauformb)


Lesenswert?

Frank K. schrieb:
> CDC-ACM hat einen Resquest SET_LINE_CODING, über den die Bitrate und
> Übertragungsformat etc eingestellt werden.

Kann SET_LINE_CODING auch beliebige Bitraten, z.B. 14400 oder 76800 oder 
sogar "9600 bis 19200"?

Was spricht eigentlich gegen die fertigen Delock Adapter? Die 
funktionieren jedenfalls freiwillig ;)

von Felix N. (felix_n888)


Lesenswert?

Sebastian R. schrieb:
> Da der MCP2200 auch das USB CDC Line Coding unterstützt um die Baudrate
> zu ändern, sollte das kein Problem sein.

Hallo,
Ja dann sollte ja alles genauso wie beim FT232RL funktionieren. Danke

Frank K. schrieb:
> CDC-ACM hat einen Resquest SET_LINE_CODING, über den die Bitrate und
> Übertragungsformat etc eingestellt werden. Das können die Microchip
> Chips. Was sie nicht implementieren, ist Parity, d.h. Du hast immer 8N1
> - was für >90% aller Anwendungsfälle ausreicht.

OK. Das Datenformat ist ebenfalls bekannt und lautet wie fast immer 8N1 
:) Nur halt die Baudrate ist unterschiedlich aber wenn das dieses 
SET_LINE_CODING abdeckt ist ja alles gut. Dann lässt sich der Chip ja 
dafür gut verwenden.

Mich hatte nur im Datenblatt die Baudratentabelle und der Hinweis auf 
die Standardkonfiguration von 19200 8N1 verwirrt. So das ich mir da 
nicht sicher war.

Bauform B. schrieb:
> Was spricht eigentlich gegen die fertigen Delock Adapter? Die
> funktionieren jedenfalls freiwillig ;)

Der Preis. Der Delock adapter kostet irgendwas zwischen 20-30€. Ich baue 
das ganze zwei mal einmal für mich und für ein anderen Kameraden der 
ebenfalls die Meldeempfänger mit programmiert.

Dafür bauen wir eine vorhandene Ladeschale um wo die entsprechenden 
Kontakte als Federstifte ausgeführt sind um Kontakt zum Melder 
herzustellen. Ich habe ein entsprechende 1:1 Platine angefertigt in 
KiCAD so das man das Gehäuse wieder verschließen kann.

Die Platine kostet Stück 7€ der MCP mit USB Buchse und restlichen 
Hühnerfutter 5€. Ist immer noch günstiger als der Adapter mit zB. 26€ 
bei reichelt.

Es gibt den Programmieradapter ja auch vom Hersteller noch richtig zu 
kaufen jedoch kostet er dann 250€ und hat nicht mal USB sondern nur eine 
RS232 Schnitstelle mit einem MAX232 o_O

Andere Frage: Ich habe eben gesehen das der MCP am VUSB pin ein 
Kondensator zwischen 220nF und 470nF haben will. Hab mich wohl vertan 
bei der letzten Bestellung und hab 100nF bestellt. 4x 100nF 0805 
parallel also 400nF sollten dem dann auch wohl genügen anstelle eines 
470nF?

Mfg

von Bauform B. (bauformb)


Lesenswert?

Felix N. schrieb:
> 4x 100nF 0805 parallel also 400nF sollten dem dann auch wohl genügen
> anstelle eines 470nF?

Wenn ihm 220n auch reichen: drei. Theoretisch ist das sogar günstiger, 
weil der eine 100n, der direkt an den Pins sitzt, bessere 
Hochfrequenzeigenschaften hat als ein 470n.

Außer, du möchtest doch lieber einen FTDI. Die FT232R haben einen 
Nachfolger namens FT232RN und davon hat Mouser angeblich tausende auf 
Lager.

von C-hater (c-hater)


Lesenswert?

Bauform B. schrieb:

> Kann SET_LINE_CODING auch beliebige Bitraten, z.B. 14400 oder 76800

Im Prinzip: Ja sicher. In der entsprechende Struktur wird einfach nur 
ein 32Bit-Wert mit der Einheit bps übergeben.

Was allerdings das Device aus Bitraten macht, die es nicht wirklich 
kann, bleibt ihm überlassen.

> oder
> sogar "9600 bis 19200"?

Nein, das sicher nicht. Es gibt nunmal nur einen Wert, der übergeben 
werden kann.

von Frank K. (fchk)


Lesenswert?

Bauform B. schrieb:
> Frank K. schrieb:
>> CDC-ACM hat einen Resquest SET_LINE_CODING, über den die Bitrate und
>> Übertragungsformat etc eingestellt werden.
>
> Kann SET_LINE_CODING auch beliebige Bitraten, z.B. 14400 oder 76800 oder
> sogar "9600 bis 19200"?

Schau selber im USB-Standard nach.

https://usb.org/document-library/class-definitions-communication-devices-12

Normalerweise macht das Betriebssystem das für einen.

man -s 3 termios

fchk

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.