Forum: Mikrocontroller und Digitale Elektronik USB-Treiber Programmieren


von LeBeau (Gast)


Lesenswert?

Hallo Leute,

ich habe wirklich keine Ahnung in Sache USB, um so mehr freue mich um 
jede Hilfe
Mein Problem: muss ein Treiber für ein USB für data exchange (PC-Device) 
entwickeln

1- lohn es sich überhaupt ein Treiber zu programmieren?
wenn nein wo finde ich denn ein der meine Aufgabe löst.

wenn ja was brauche ich denn?

ich benutze ein PIC18F4450 (USB-fähiges uC von MicroChip) als Slave?

MfG

von Timo (Gast)


Lesenswert?

Benutze doch einfach den FT232 Seriell-USB-Wandler. Der kostet zwar etwa 
5 €, funktiniert dennnoch super. Der FT232 simuliert eine virtuelle 
COM-Schnittstelle, d.h. du musst dich nur im eine Serielle Komunikation 
kümmern, sprich RX und TX. Beispiele findest du sehr viele im Netz. 
Einfach unter serielle Schnittstelle schauen.

Den Schaltplan findest du im Datenblatt des FT232.

Gruß

von None (Gast)


Lesenswert?

Geh mal zum microchip forum.
http://forum.microchip.com/

von gast (Gast)


Lesenswert?

Das ist unter OpenBSD und OS/2 recht einfach. Einfach in die API gucken.

Ansonsten lohnt sich ein Blick auf http://www.usb.org/ dort kann man die 
Spezifikation sogar KOSTENLOS runterladen.

Und wenn man gar keine Ahnung hat, lohnt sich ein Blick auf 
http://de.wikipedia.org/wiki/Universal_Serial_Bus

von ARM-Fan (Gast)


Lesenswert?

Also falls du mit Treiber wirklich einen PC-Treiber meinst,
dann besorg dir irgendwo einen generischen USB-Treiber und
programmier diesen an.

z.B. -> "USBIO" von http://www.thesycon.de

Selber programmieren kannst du vergessen.

Oder meinst du vielleicht doch eher die USB-Implementierung
auf der PIC-Seite?

von Andreas Paulin (Gast)


Lesenswert?

Treiberentwicklung unter Windows ist nur was für Hardcoregurus und 
Ultracracks...
aber:
Für den 18F4450 gibts von Microchip die komplette 
Entwicklerunterstützung. Schau mal hier:

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en021940

Zieh Dir mal die
MCHPFSUSB_Setup - Package....
Da ist meines Wissens auch ein Treiber dabei, den Du nehmen kannst.

von Andy (Gast)


Lesenswert?

Schau dir vielleicht auch mal LibUsb-Win32 an... Dazu gibt es auch 
Beispielcode.

von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

Für Bulk-Transfer wird wohl gerne das Treiber-Bespiel aus dem Windows 
DDK als Grundlage für MS Windows Treiber genutzt. Haben das DDK selbst 
nicht, aber die Anleitung auf MSN liest sich so, als sei alles gut 
vorgekaut - im einfachsten Fall wohl nur VID/PID anzupassen. Ansonsten 
ist HID unter Windows noch gut überschaubar, damit habe ich selbst etwas 
herumgespielt. Datenrate allerdings begrenzt (USB 1.1 64Bytes/USB-Paket 
bei 1 Paket/ms)

von b0 (Gast)


Lesenswert?

Hallo,

kann ebenfalls LibUSB-Win32 sehr empfehlen. Habe damit sehr gute 
Erfahrungen, auch im Produktivbereich, gemacht.

von Peter (Gast)


Lesenswert?

Hier wird dir geholfen:
http://www.jungo.com/products_st.html

Habs für PCI und kanns nur weiterempfehlen

von holger (Gast)


Lesenswert?

@ Peter

Teurer gehts wohl nicht mehr.

Folge dem Tip von Andreas. Bei MChip gibt es ein CDC Demo
das du an deine Bedürfnisse anpassen kannst. Dann sprichst
du den PIC einfach als virtuellen COM Port an.

von Peter (Gast)


Lesenswert?

Er hat nix über den Preis gesagt....
Auf alle Fälle funktioniert es und spart wochenlange Arbeit und 
Fehlersuche. Man kann ohne weiteres Grundwissen sofort Hardware 
programmieren. Zeit ist Geld.

von Leon (Gast)


Lesenswert?

Hallo Leute,

Danke für den Support!
es hat sich herausgestellt dass wir keinen PIC18F4450 benutzen kann da 
der Baustein nur über UART-PORT mit dem uC kommuzieren kann!

1. und nun geht es darum ein Baustein zu finden der über SPI an uC 
angeschloßen wird , und Daten per USB-Protokoll an einem Peripherie 
senden bzw. bekommt.

2. es soll ein treiber für diese USB entwickeln werden

Freue mich auf Ihre Hilfe!

MfG

von Εrnst B. (ernst)


Lesenswert?

Leon wrote:

> es hat sich herausgestellt dass wir keinen PIC18F4450 benutzen kann da
> der Baustein nur über UART-PORT mit dem uC kommuzieren kann!

der PIC18F4550 IST bereits ein µC, und wie der mit deinem anderen µC 
Kommunizierst, kannst du selbst festlegen.
UART ist da eine Möglichkeit, aber nicht die einzige.

Wenns auf Speed ankommt, kannst du z.B. ein Paralleles Interface über 
den SPP machen, SPI+I2C geht natürlich auch, und mit Soft-SPI könntest 
du sogar mehrere SPI-Kanäle einbauen...


/Ernst

von phlo (Gast)


Lesenswert?

Irgendwie verstehe ich immer noch nicht ganz was er vorhat, irgendwie 
hört es sich so an als würde er versuchen einen USB-Hostcontroller zu 
implementieren, an den später Geräte angeschlossen werden...das wird n 
hartes Stück Arbeit.

Falls ich dich jedoch falsch verstanden haben sollte und du nur ein 
Gerät bauen willst welches über einen µC und USB mit dem PC kommunzieren 
soll, schau dir auf der µC-Seite mal AVR-USB und als Gegenstück wie 
schon erwähnt libusb an...damit geht fast alles und wenn's sein muss 
kann man den libusb sogar per Managed-Sprachen (C#/.net etc.) 
programmieren, was dann auch wirklich für Anfänger sehr einfach 
ist...Außerdem benötigst du außer ner Hand voll Hühnerfutter für den µC 
erstmal keine externen Bauteile...

Grüße,
phlo

von Leon (Gast)


Lesenswert?

Hallo,

ich will kein USB-Hostcontroller implementieren!

Also noch mal:
ich kann von meinem PC aus (mit HYperterminal) über UART Kommando an 
einem Steuergeräte senden, und das Steuergeräte kann mir auch 
Informationen (über UART) zurücksenden.

Nun will ich das Ganze über ein USB realisieren! will aber der SPI-Port 
des uC benutzen.

ich brauche also kein Baustein der mir (USB-zu-UART) konvertierung macht 
sondern (USB-zu-SPI) des uC

und für diese Aufgabe soll auch ein Art Treiber entwickeln werden

MfG

von Feadi F. (feadi)


Lesenswert?

> 1. und nun geht es darum ein Baustein zu finden der über SPI an uC
> angeschloßen wird , und Daten per USB-Protokoll an einem Peripherie
> senden bzw. bekommt.

Vielleicht den USBN9603 ?

von Kleiner (Gast)


Lesenswert?

Also ich hab nicht ganz verstanden was du meinst mit eine Art Treiber 
aber z.B. bietet FTDI den FT2232 an welcher eine Brücke zwischen USB und 
SPI-Bus herstellen kann.
Für die Programmierung unter Windows gibt es eine fertige Lib für den 
SPI-Bus mit der recht einfach auf dem Bus geschrieben und gelesen werden 
kann.

Wenn ich mich noch recht erinnere ist die maximale CLK Frequenz des 
SPI-Busses 6Mhz.

Vielleicht hilfts, wenn net schaden tuts au net ;)

von Leon (Gast)


Lesenswert?

Hallo,

Noch eine Anfängerfrage:
wie geht das KONKRETT mit dem FT2232 von FTDI

MfG

von Gast (Gast)


Lesenswert?

Maxim hat einen USB-SPI-Chip.
"access USB via SPI-port"

von Zacc (Gast)


Lesenswert?

Die FTDI chips sind auf der einen seite ein USB Slavedevice und auf der 
anderen Seite asynchron serial. Dieser Baustein wird auf einer 
Leiterplatte verbaut, und dann leasst sich die Leiterplatte per USB mit 
eibnem PC verbinden. Auf der PC seite, gibt es einen fertigen Treiber 
von FTDI, der macht dass ein zusaetzliches Serialport erscheint. Es wird 
von Windowssoftware wie eine Serialport bedient.

Sehr praktisch. Sehr guenstig.

von Leon (Gast)


Lesenswert?

Hallo,

ich muss ja später ein Treiber für den USB entwicklen, und auf der Seite 
von Maxim ist ja keine Treiberbsp. oder etwa in der Richtung vorhanden!

MfG

von Gast (Gast)


Lesenswert?

Na ja, einen proprietären Treiber für USB programmieren
will gut überlegt sein. Da sollte es schon überzeugende
Gründe dafür geben. Es ist nicht jedermanns Sache, für
jedes x-beliebige Betriebssystem einen eigenen Treiber
zu supporten. Das schaffen nicht einmal Weltfirmen. ;-)

Für fast alle Device-Typen gibt es fertige generische
Treiber so dass man auch einen Maxim-SPI-USB-Chip darauf
abstimmen kann.

Jedenfalls wäre damit die Forderung "USB via SPI" elegant
gelöst.

von wurpfel (Gast)


Lesenswert?

Hi Leutz

wie wär es mit diesem FTDI käfer...

SPI ist ua auch drauf ;-) funzt mit meiner SPC1000-barodose PnP.


http://www.vinculum.com/documents/advertForWeb_100dpi.pdf

von Potter S. (potter68)


Lesenswert?

Hi,

wenn Du via USB von einem Mikrocontroller mit dem PC kommunizieren 
willst, dann kommst Du nicht um einen zusätzlichen (oder integrierten) 
USB-Controller herum. Hierfür nimmst Du z.B. den USBN9603. Diesen kannst 
Du dann per SPI/MICROWIRE von irgendeinem Mikrocontroller (AVR/PIC) aus 
ansteuern. Um nun eine RS232 zu simulieren, muß Deine Schaltung ein 
USB-Gerät der CDC-Klasse darstellen (das wird in der Firmware 
programmiert). Damit hast Du auch Dein Treiberproblem auf Seiten des PC 
gelöst. Für Windows/Unix werden für die CDC-Klasse bereits Treiber mit 
dem Betriebssystem ausgeliefert. Auf PC-Seite kannst Du jetzt einfach 
(wie bei RS232) mit CreateFile(), ReadFile() und WriteFile() auf Den USB 
zugreifen.

Gruß Potter

von Lupin (Gast)


Lesenswert?

Geht das mit CreateFile etc auch unter windows? Glaube nicht...

von mein Name ist Gast (Gast)


Lesenswert?

Doch, das geht - solange damit auf die generischen Treiber
von Windows zugegriffen wird.
Eine ziemlich lockere Sache.
Die "Lebensaufgabe" fängt dann an, wenn man meint, unbedingt
einen proprietären Treiber entwickeln zu müssen.

von gast (Gast)


Lesenswert?

www.kleiber.li -> elektronik -> USB (oder so ähnlich)
ist schon alles fertig für den PIC, brauchste nur noch vom uC die 
empfangenen daten so rausgeben zu lassen, wie du's möchtest (parallel, 
seriell...). ist dort zwar primitiv gemacht, aber einfach - und 
funktioniert ;)

von LeBeau (Gast)


Lesenswert?

Hallo

Danke für eueren Support!

Also ich habe mir nun den FT2322 von FTDI ausgewählt.
Treiber und DLL habe ich mir schon runtergeladen.

im "D"XX Programmer's Guide" stehen dann 4 Funktionsgruppen die man je 
nach wusch implementieren kann. und zwar:
-> Classic Interface Function
-> EEPROM Interface Function
-> Extended API Function
-> FT-Win32-API

1. welche dieser Gruppe (Funktionen der Gruppe) muss ich implementieren?

meine Schaltung sieht so aus

  _______
  |       |      ______
  |TriCore|----> |      |
  |       |      |FT2322|---> (Geräte)
  |       |      |      |
  |_______|--|   |______|
             |________
             |SD-Card |

Also TriCore Lädt Dll.Code aus einer SD-Card und überträgt sie (per SPI) 
im Speicher des FT2322

Nun kann FT2322 Daten vom Geräte Lesen und wiederum an TriCore senden.


MfG

von Christian R. (supachris)


Lesenswert?

Hä? Der FT2232 ist KEIN Host-Controller, der kann keine Geräte 
ansprechen.
Du kannst damit nur vom PC (Windows, Linux) aus auf den µC hinter dem 
FT2232 zugreifen.
Dein Konzept ist mit dem FT2232 nicht machbar

von LeBeau (Gast)


Lesenswert?

Ja Richtig,

wir meinen doch das Gleiche oder?
PC <-> TriCore <-> FT2322 <-> [Device]

von Εrnst B. (ernst)


Lesenswert?

Manmanman... Hättest du dich gleich klar ausgedrückt, hätten wir uns 
hier zwei Seiten Thread sparen können...

Du braucht etwas wie:

http://www.embedded-projects.net/usbport

oder, wenn mehr Flexibilität bei den Angeschlossenen USB-Geräten 
erforderlich, einen µC mit Linux drauf (z.B. ARM)

von Christian R. (supachris)


Lesenswert?

LeBeau wrote:
> Ja Richtig,
>
> wir meinen doch das Gleiche oder?
> PC <-> TriCore <-> FT2322 <-> [Device]

Nein so klappts eben nicht!

Mit dem FT2232 gehts nur so:

PC <---USB---> FT2232 <---SPI---> TriCore

Du kannst nur Daten zwischen PC und TriCore austauschen. USB Geräte 
kannst du mit dem FT2232 NICHT ansprechen. Weil´s kein Host-Controller 
ist, sondern nur ein "dummes" USB-Device.

von LeBeau (Gast)


Lesenswert?

Hallo Christian,

Falsch!
mit PC <-> TriCore meinte ich:
1. die Portierung der Code im Speicher des TriCore!
2. später muss doch ein Treiber her (mit ner schöne GUI)! und dann eben
   PC(Commando) <-> TriCore <-> FT2322 <-> (USB)[Device]

und da brauche ich Hilfe!

MfG

von Master S. (snowman)


Lesenswert?

@LeBeau: sieh's bitte ein: der FT2322 ist ein device und kein host - 
oder in anderen worten: an den FT2322 kannst du kein device anhängen ;) 
oder nochmals anders: der FT2322 kannst du nur an einen host anhängen.

von ARM-Fan (Gast)


Lesenswert?

@LeBeau: Sorry, aber du redest wirr. Ich lese den Thread schon seit 
Anfang an mit und habe immer noch nicht verstanden WAS du eigentlich vor 
hast. Ich denke damit bin ich auch nicht allein...

>.. TriCore Lädt Dll.Code aus einer SD-Card
>.. die Portierung der Code im Speicher des TriCore!
>.. Treiber her (mit ner schöne GUI)

Hää?

Sammel dich bitte nochmal und versuch uns Außenstehenden doch
mal erstmal klar zu machen, was das Ziel deiner Entwicklung ist.
Ansonsten kann dir wirklich keiner helfen.

von Christian R. (supachris)


Lesenswert?

Wie? Du willst den Windows-Treiber für den FT2232 auf deinen TriCore 
portieren? Wie kommste denn auf den Trichter? Und was willst du dann 
damit steuern? Einen weiteren µC, der per SPI an den FT2232 
angeschlossen ist?
Läuft auf dem TriCore ein Betriebssystem? Wenn ja, welches?

von LeBeau (Gast)


Lesenswert?

Hallo Leute,

ich habe es NUN KAPIERT! deswegen ist auch so ein Forum DA!
Also Master Snowman du hast Recht!

Aber das Löst immer noch nicht mein Problem.
OK ARM-Fan das ist mein Problem:

das will ich realisieren
  _______
  |       |           ______
  |TriCore|(SPI)----> |      |
  |       |           |??????|---> (Geräte)
  |       |           |      |
  |_______|--|        |______|
             |________
             |SD-Card |

Über SPI will ich mit einem HOST USB CONTROLLER Daten (VOM EXTernen 
GERÄTE) austauschen

1. was schlägt ihr als HOST USB CONTROLLER vor?(es soll natürlich ein 
sein mit Treiber und DLL)

2. wie realisiere ich das ganze?

von Mike (Gast)


Lesenswert?

Es gibt tatsächlich von FTDI einen Embedded USB Host Controller als 
extra Chip, google mal unter Vinculum.

So wie ich es verstanden habe, kommt in deiner Anordnung kein (Windows) 
PC vor? Damit kommen natürlich Windows DLL und -Treiber nicht in Frage 
und Du musst deine Software zur Ansteuerung entweder auf dem Tricore 
selbst programmieren oder zukaufen.
Gruss
Mike

von LeBeau (Gast)


Lesenswert?

der Vinicum bietet mir leider kein [Drive + DLL] !!!

von Εrnst B. (ernst)


Lesenswert?

LeBeau wrote:

> Über SPI will ich mit einem HOST USB CONTROLLER Daten (VOM EXTernen
> GERÄTE) austauschen
>
> 1. was schlägt ihr als HOST USB CONTROLLER vor?(es soll natürlich ein
> sein mit Treiber und DLL)

z.B. den SL811HS von Cypress. Hat aber kein SPI, also noch nen CPLD 
davor, der dessen paralleles Interface auf SPI umsetzt.

Treiber? Häh? dir ist schon klar, das der "Treiber" auf deinem µC laufen 
muss, und nicht am PC der dranhängt.

Weiter oben hab ich einen Link gepostet zu einem HOST Treiber (also der 
Treiber für den SL811), der sollte sich auch auf deinen µC Portieren 
lassen.

danach braucht du aber noch DEVICE-Treiber für alle USB-Geräte, die an 
dem Anschluss funktionieren sollen! (Und ja, die müssen AUCH auf deinem 
µC laufen)

> 2. wie realisiere ich das ganze?

Nochmal drüber nachdenken, ob du das wirklich so machen willst. Tausch 
evtl den Tricore durch einen ARM aus, gibt auch hier im Shop schöne 
Eval-Boards dafür.
Vorteil: Alles fertig auf einem Board, Sogar noch Ethernet mit dabei.
Treiber (Sowohl HOST als auch DEVICE) sind kein Problem, da läuft Linux 
drauf.

von Christian R. (supachris)


Lesenswert?

Was willst du denn mit einer DLL auf deinem TriCore? Die DLL ist für 
WINDOWS! Auf deinem µC MUSST du dann SELBER den KOMPLETTEN USB-Stack 
programmieren, der Treiber ist dann noch das einfachste.
Wenn du nur eine bestimmte Art Geräte anschließen willst, etwa USB 
Sticks kannst du den FTDI Vinculum nehmen. Da musst du aber je nach 
angeschlossenem Gerät eine entsprechende Firmware (USB Stack) reinladen.

Wenn du aber sowas wie einen universellen USB Host selber bauen willst, 
musst du eben den Stack selber programmieren, ebenso Treiber für ALLE 
Geräte die du anschließen willst.

Den Treiber und die DLL von FTDI kannst du dafür nicht nehmen.

von ARM-Fan (Gast)


Lesenswert?

Das ist echte ne schwere Geburt hier...

Also zusammengefaßt:

- Es wird ein µC mit USB-Host Funktionalität gesucht
  -> Da kämen z.B. aktuelle ARMs wie ein LPC24xx in Frage
     Sicher auch noch andere. Hab ich grad nur so im Kopf.
  -> Der Stack und die "Treiber" wären jedoch selbst zu programmieren

- oder ein Peripheriebaustein für den vorgegebenen(?) µC (Tricore)
  wie z.B. den Vinculum, um USB-Host zu realisieren
  -> rel. einfaches Interface zum µC
  -> für USB-Sticks(Flashspeicher) gut geeignet

- Es soll eine SD-Karte angesprochen werden
  -> trivial, dafür gibts genug Beispiele

- Es sollen "USB-Geräte" angeschlossen werden
  -> DAS ist der interessante Punkt!
  -> WAS sollen das für Geräte sein?
  -> USB-Speichersticks oder "alles mögliche" wie Maus, WLAN-Stick, 
etc.?

Letzteres entscheidet über die Plattform.
Sollte mehr als nur ein Speicherstick dran sollen, dann führt IMHO
kaum ein Weg an Windows (CE oder XPE) bzw. (Embedded)Linux vorbei,
für die es schon die meißten Treiber fertig gibt.

Verabschiede dich von irgendwelchen DLLs auf µC. Das ist REIN Windows.
Es sei denn du hast ein Windows CE auf deinem TRICORE laufen...
Dann nehme ich alles zurück ;-)

Also, bitte noch etwas genauere Infos zum Projekt.

von schlonz (Gast)


Lesenswert?

Ich werde das Gefühl nicht los, dass der OP euch nur zum Reden animieren 
möchte.

von ARM-Fan (Gast)


Lesenswert?

Naja, zumindest bleibt in dem Thread für andere vielleicht noch
die ein- oder andere hilfreiche Information über das Thema USB hängen...
Dann wars wenigstens nicht umsonst ;-)

von LeBeau (Gast)


Lesenswert?

Hallo ARM-FAN,

Also NOCHMAL zusammengefaßt:

- Es wird ein µC mit USB-Host Funktionalität gesucht
  für den vorgegebenen µC (Tricore) DAS IST RICHTIG!!!

  z.B. den Vinculum, um USB-Host zu realisieren
  -> rel. einfaches Interface zum µC
  -> für USB-Sticks(Flashspeicher) gut geeignet
PROBLEME: treiber nicht vorhanden zumindest auf der Seite von FTDI!
Ich meine in "DLL-PROGRAMMING-GUIDE" sind doch die Routinen beschrieben, 
die ich brauche um eine WINDOWS-PROGRAMMIERUNG zu realisieren oder? 
(auch nicht vorhanden!!)


- Es soll eine SD-Karte angesprochen werden (RICHTIG!!!)
  -> wie willst du sonst deine WINDOWS-ROUTINE im SPEICHER DES Vinculum 
kriegen???

- Es sollen "USB-Geräte" angeschlossen werden (RICHTIG!!!)
  -> WAS sollen das für Geräte sein? :  (elektronische STEUERGERÄTE)

MfG

von Εrnst B. (ernst)


Lesenswert?

@LeBeau:

Willst du uns nicht verstehen, oder kannst du nicht?

Windows-DLLs kann man !!!NICHT!!! auf einem µC Laufen lassen.

Wenn irgendwo solche DLLs dabei sind, dienen diese dem Zugriff des PCs 
auf den Chip, wenn dieser über USB direkt am PC angeschlossen ist.
Für deine Anwendung ist so eine DLL also !!!KOMPLETT IRRELEVANT!!!.

von Christian R. (supachris)


Lesenswert?

Ich glaub, du willst es nicht verstehn.
Wenn auf deinem TriCore kein MICROSOFT WINDOWS läuft, kannst du mit 
einer DLL rein GAR NIX anfangen. Und für den Vinculum gibts keine 
Treiber und keine DLL, ganz einfach, weil man keine braucht. Den spricht 
man über SPI an, es gibt lediglich für wenige Geräte (USB-Sticks, 
FT-UART-Wandler) eine FIRMWARE, die in den Vinculum muss.

Um deine elektronischen Steuergeräte, was immer das sein mag, 
anzusprechen, benötigst du einen UNIVERSELLEN USB HOST CONTROLLER. 
KEINEN VINCULUM!!!
Dann musst du dir den USB Stack selber schreiben, den "Treiber" selber 
schreiben und für JEDES Gerät, was du ansprechen willst, ebenfalls den 
TREIBER SELBER schreiben.

Die SD Karte hat damit GAR NIX zu tun. Die WINDOWS DLLs auch nicht!!!

von LeBeau (Gast)


Lesenswert?

OK Jungs,

ich habe von anfang an gesagt daß ich so viel Ahnung von dem Thema 
hatte!
DANKE für den Support!

es bleiben noch FRAGEN offen.

ICH GLAUBE WIR VERSTEHEN UNS NICHT!

1. ich will kein Betriebssystem auf dem TriCore haben! den UNIVERSELLEN 
USB HOST CONTROLLER wovon Christian Richter spricht soll doch lediglich 
als Brücke dienen

2. NOCHMAL: ich habe ein PC bzw. Notebook mit USB Anschluß
3. ich habe ein DIAGTester (bestehen aus TriCore + UNIVERSELLEN USB HOST
   CONTROLLER) mit ebenfall USB Anschluß
4. ich habe ein elektronische Steuergeräte mit CAN-BUS anschluß
5. PC und DIAGTester sollen über USB verbinden werden
6. DIAGTester ist wieder über CAN mit Steuergeräte verbunden


NUN wie realisiere ich PUNKT 5 ????

MfG

von Εrnst B. (ernst)


Lesenswert?

Nun also doch

PC <-- USB --> Dein Schaltung <-- CAN --> Sensoren?


Überleg dir nochmal genau, was wo angeschlossen werden soll, und mal 
nochmal ne Graphik...

weil Hierfür brauchst du keinen HOST-Adaptor Chip, Hierfür geht der oben 
genannte FTDI, der ein USB-Device ist. Und dann kannst du auch die DLLs 
für deine Windows-Applikation am PC verwenden.

von Unbekannter (Gast)


Lesenswert?

SCHREIT DOCH NICHT SO RUM UND BEENDET DIESEN UNSINNGEN THREAD!

Ist ja nicht zum aushalten.

von ANfaenger (Gast)


Lesenswert?

Hallo Ernst,

dieSchaltungsteht schon fest wie oben designed!
und auch wie du das gemalt hast ist auch Richtig
PC <-USB-> DIAGTester <-CAN-> Steuergeräte

wenn ich richtig liege braucht den DIAGTester ein USB-Buchse für die 
kommukation mit dem PC anders gesagt es wird eine USB-Leitung geben, die 
Notebook und DIAGTester verbindet.

und wenn ich richtig gelesen habe komm der FTDI nicht in Fragen oder?


MfG

von ARM-Fan (Gast)


Lesenswert?

Egal welche Antwort man gibt, der OP hat jedes Mal eine neue
Variante seines imaginären Projekts in petto...

@LeBeau
Sorry, wenn es dich persönlich angreifen sollte: Aber mit soo
wenig Ahnung von der Materie kannst und wirst du so ein Projekt
nicht auf die Beine stellen können.

Ich würde ja wirklich gerne helfen. Aber wie soll man das, wenn
der OP nicht mal ansatzweise sein Systemkonzept und seine Anforderungen
beschreiben kann?! So viele von den berühmten Glaskugeln bekommen
wir nicht zusammen...

Ich schließe mich an: Macht den Thread zu, bitte!

von Christian R. (supachris)


Lesenswert?

Wenn ich das richtig verstanden habe, willst du einen Diagnosetester 
für´s Auto bauen. Auf der Basis eines TriCore µC. Auf der einen 
Seite(Auto-Seite) CAN und auf der anderen Seite(PC, Notebook) USB. So, 
da brauchst du doch lediglich einen CAN-Controller, den du vom TriCore 
aus ansprichst(per SPI oder parallel). Und den TriCore sprichst du vom 
PC aus über USB an. Dazu muss der TriCore USB-Device sein.
Das ganze funktioniert dann auch autonom.
Wieso also der sinnlose Umweg, zwischen TriCore uns CAN nochmal eine 
USB-Strecke aufzubauen???
Für die USB Kommunikation kannst du dann einen FTDI nehmen, da ja der 
TriCore dann nicht als USB-Host fungiert sondern lediglich als Device, 
der HOST ist dann der PC/Notebook.

Es könnte so aussehn:

PC <--USB--> FT232R <--UART--> TriCore <--SPI--> MCP2515 <--CAN--> 
Seteuergeräte

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.