Forum: Mikrocontroller und Digitale Elektronik USBtin Protokoll


von Marc S. (marc_s86)


Lesenswert?

Hallo,

ich würde gern einen USBtin [1] kompatiblen Klon auf AVR basis bauen. 
Die funktionalität ist soweit fertig, was mir aber fehlt ist das 
Protokoll!

Auf der USBtin seite steht zwar eine "Command list", leider allerdings 
nicht wie das gerät auf einen Befehl reagieren soll. Auch steht dort 
nicht in welchem format der USBtin die CAN pakete ausgibt..

Hat hier jemand informationen zu?

Gruß,

Marc

[1] http://www.fischl.de/usbtin/

von Jim M. (turboj)


Lesenswert?

Auf der verlinkten Seite gibt es doch Source Code zum reinschauen.

Marc S. schrieb:
> Auch steht dort
> nicht in welchem format der USBtin die CAN pakete ausgibt.

Ich sehe da rohe CAN Frames und nix von "Paketen". Vielleicht sollte man 
sich erstmal anschauen wie ein CAN Bus überhaupt funktioniert.

von Marc S. (marc_s86)


Lesenswert?

Jim M. schrieb:
> Auf der verlinkten Seite gibt es doch Source Code zum reinschauen.

ich weiß, aber das ist keine protokoll definition.


> Ich sehe da rohe CAN Frames und nix von "Paketen". Vielleicht sollte man
> sich erstmal anschauen wie ein CAN Bus überhaupt funktioniert.

dann nenne es halt rohe can frames. dort steht aber nicht in welchem 
format sie übertragen werden.

alles in allem: nutzlose antwort

von Thomas F. (igel)


Lesenswert?

Marc S. schrieb:
> was mir aber fehlt ist das Protokoll!

Steht aber doch in der ersten Zeile:

Control with simple serial protocol (LAWICEL / SLCAN compatible)

http://www.can232.com/docs/canusb_manual.pdf

von Marc S. (marc_s86)


Lesenswert?

Thomas F. schrieb:
> Marc S. schrieb:
>> was mir aber fehlt ist das Protokoll!
>
> Steht aber doch in der ersten Zeile:
>
> Control with simple serial protocol (LAWICEL / SLCAN compatible)
>
> http://www.can232.com/docs/canusb_manual.pdf

Perfekt! das hab ich wohl überlesen, SLCAN hatte ich schon durch dn 
socketcan treiber raus gefunden aber da auch keine passende doku 
gefunden, aber hier steht echt alles drin! Danke!

von Thomas F. (igel)


Angehängte Dateien:

Lesenswert?

Marc S. schrieb:

> Danke!
Bitte.

Was hast du denn so geplant?

Ich habe mir vor kurzem eine kleine Platine für einen 
Arduino-Nano-China-Clon gemacht.

Das Projekt hat sonst nichts mit der Arduino-Welt zu tun, ich nutze 
einfach nur die Hardware.
Schaltplan hänge ich einfach mal an.

von Stefan K. (stefan64)


Lesenswert?

Was bringt denn die Portierung auf AVR? Das einzige Problem, das ich mit 
dem USBtin habe, ist, dass er bei hohen CAN-Raten (1Mbaud) Pakete 
verliert. Das liegt mit ziemlicher Sicherheit an der zu langsamen 
SPI-Verbindung zum MCP2515. Wenn schon AVR, dann würde ich einen mit 
integriertem CAN verwenden. Oder gleich einen STMxxxx.

Gruß, Stefan

von Marc S. (marc_s86)


Lesenswert?

@Thomas Forster:
Noch nichts konkretes, erstmal was mit can rum spielen ;) als Hardware 
Basis verwende ich auch einen nano Klon und eine fertige MCP Platine für 
2,50€ vom Chinesen

Am bus hängen außerdem noch diverse andere AVRs, ein beaglebone black, 
ein paar ARMs und 2 Beckhoff klemmen.

@Stefan K.:
AVRs hab ich da ;) im Grunde läuft auch alles gut, ich wäre nur gerne 
mit socketcan etc kompatibel

von wendelsberg (Gast)


Lesenswert?

Marc S. schrieb:
> alles in allem: nutzlose antwort

Marc S. schrieb:
> Perfekt! das hab ich wohl überlesen,

Also: Alles in Allem: Nutz- und sinnlose Frage.
Wenn man schon pampig werden muss, sollte man schon richtig gelesen 
haben.

wendelsberg

von Marc S. (marc_s86)


Lesenswert?

Thomas F. schrieb:
> Ich habe mir vor kurzem eine kleine Platine für einen
> Arduino-Nano-China-Clon gemacht.
>
> Das Projekt hat sonst nichts mit der Arduino-Welt zu tun, ich nutze
> einfach nur die Hardware.
> Schaltplan hänge ich einfach mal an.

hast du denn schon laufenden code? soll dein projekt ein USB->CAN 
interface werden oder noch mehr?

Stefan K. schrieb:
> Wenn schon AVR, dann würde ich einen mit integriertem CAN verwenden.

Hab schon ein paar davon hier, aber mich noch nicht damit beschäftigt. 
Das hier soll erstmal meinen debugadapter mit einem vorhandenen 
Protokoll ausstatten, man muss ja nicht alles neu machen.  Ein besseres 
interface springt dann vielleicht ein andermal rum :)

von Thomas F. (igel)


Angehängte Dateien:

Lesenswert?

Marc S. schrieb:
> als Hardware Basis verwende ich auch einen nano Klon und eine fertige MCP > 
Platine für 2,50€ vom Chinesen.

Interessant, ich wusste gar nicht dass es die auch schon gibt. Für den 
Preis lohnt sich selber bauen eigentlich nicht mehr.

Habe mal ein Bild angehängt: Es soll eigentlich nur ein 
USB-CAN-Interface werden.

> hast du denn schon laufenden code?

Ja, aber noch nicht ganz fertig. CAN -> USB funktioniert. Das Senden von 
eigenen Botschaften fehlt noch. Ist aber alles in Assembler geschrieben.

Die nano-Clone haben den Nachteil dass diese den CH341-Chip für USB 
verwenden und nicht die FTDI.
Viele PC-Software prüft aber auf den FTDI-Treiber bzw. nutzt dann 
Bibliotheken die nur mit dem FTDI-Treiber und nicht den CH341 zusammen 
arbeiten. An diesem Problem hänge ich seit ein paar Tagen.

von Marc S. (marc_s86)


Lesenswert?

Thomas F. schrieb:
> Marc S. schrieb:
>> als Hardware Basis verwende ich auch einen nano Klon und eine fertige MCP >
> Platine für 2,50€ vom Chinesen.
>
> Interessant, ich wusste gar nicht dass es die auch schon gibt. Für den
> Preis lohnt sich selber bauen eigentlich nicht mehr.

http://www.aliexpress.com/item//32581650373.html hier sogar für 1,52€ 
inklusive versand!

> Habe mal ein Bild angehängt: Es soll eigentlich nur ein
> USB-CAN-Interface werden.

sieht schick aus! meins ist nicht so hübsch - die platinen sind fliegend 
verkabelt ;)

>> hast du denn schon laufenden code?
>
> Ja, aber noch nicht ganz fertig. CAN -> USB funktioniert. Das Senden von
> eigenen Botschaften fehlt noch. Ist aber alles in Assembler geschrieben.

AVR asm hab ich noch nie gemacht, nur x86 und avr-c

> Die nano-Clone haben den Nachteil dass diese den CH341-Chip für USB
> verwenden und nicht die FTDI.
> Viele PC-Software prüft aber auf den FTDI-Treiber bzw. nutzt dann
> Bibliotheken die nur mit dem FTDI-Treiber und nicht den CH341 zusammen
> arbeiten. An diesem Problem hänge ich seit ein paar Tagen.


das ist natürlich ne üble falle! ein mal habe ich einen klon mit ftdi 
für unter 3€ gefunden, den händler gibts aber leider nicht mehr

von temp (Gast)


Lesenswert?

Ich erlaube mir trotzdem die dein Konzept aus heutiger Sicht etwas in 
Frage zu stellen. Wenn schon einen Neuentwicklung, dann muss es sich 
auch lohnen. Auf SPI und MCP2515 bzw. serielle Schnittstellen dazwischen 
würde ich mich nicht mehr einlassen. Als Basis erscheint mir im Moment 
das hier als sinnvollste fertige Platine:

NUCLEO-F303K8 im mini-Format:
http://www.st.com/web/catalog/tools/FM116/CL1620/SC959/SS1532/LN1847/PF262544

es fehlt dann wirklich nur der blanke Transceiver. Bei einem CAN-USB 
Wandler würde ich immer eine galvanische Trennung machen. z.B. ISO1050 
und DC/DC-Wandler.
Leider eignen sich die 4€ STM32F103 Boards nicht die z.Z. massenhaft 
vertickt werden, da USB und CAN nicht gleichzeitig können. Das sollte 
aber beim STM32F303 kein Problem sein. Damit sollten 1Mbit überhaupt 
kein Problem mehr sein. Auch mit dem LAWICEL-Protokoll, dass ja dann 
wenigsten 2MBit Bandbreite zum Host erfordert.

von Marc S. (marc_s86)


Lesenswert?

temp schrieb:
> Ich erlaube mir trotzdem die dein Konzept aus heutiger Sicht etwas in
> Frage zu stellen.

Das steht dir frei

>Wenn schon einen Neuentwicklung, dann muss es sich
> auch lohnen. Auf SPI und MCP2515 bzw. serielle Schnittstellen dazwischen
> würde ich mich nicht mehr einlassen.

Ich habe das halt hier, daher macht das für mich Sinn.


> Als Basis erscheint mir im Moment
> das hier als sinnvollste fertige Platine:
>
> NUCLEO-F303K8 im mini-Format:
> http://www.st.com/web/catalog/tools/FM116/CL1620/SC959/SS1532/LN1847/PF262544
>
> es fehlt dann wirklich nur der blanke Transceiver.

Nettes Board, werde ich mir bestimmt mal anschaffen!


>Bei einem CAN-USB
> Wandler würde ich immer eine galvanische Trennung machen. z.B. ISO1050
> und DC/DC-Wandler.

Das ist auf jeden Fall vernünftig, würde aber ebenfalls eine Bestellung 
erforden


> Leider eignen sich die 4€ STM32F103 Boards nicht die z.Z. massenhaft
> vertickt werden, da USB und CAN nicht gleichzeitig können.

F103 er hätte ich auch noch da ;)


> Das sollte
> aber beim STM32F303 kein Problem sein. Damit sollten 1Mbit überhaupt
> kein Problem mehr sein. Auch mit dem LAWICEL-Protokoll, dass ja dann
> wenigsten 2MBit Bandbreite zum Host erfordert.

Auf jeden Fall sinnvoll für eine richtige Neuentwicklung!

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.