Hallo Zusammen Ich weiss, dass in diesem Forum zum Thema AVR und USB schon einige Beiträge existieren. Ich möchte folgendes realisieren: 1. Einen AVR von Atmel (ATmega8, ATmega32) per USB an einen PC anschliessen. 2. Auf dem PC soll kein viertueller COM-Port entstehen. Ich suche nach einen Möglichkeit mit einem eigenen Problemm, welches ich unter java entwickeln möchte, binär mit dem AVR zu kommunizieren. Dies soll einmal primär auf Linux funktionieren. Wenn es dann sogar platformunabhängig oder mit nur geringem Aufwand auch unter Windows funktioniert, umsobesser. 3. Ich stelle mir einen IC vor, an dem man auf der einen Seite USB anschliesst und auf der anderen den AVR. 4. Das Naheligenste wäre sicherlich die UART des AVR zu verwendet. Könnte man jedoch auch das ISP-Interface verwenden? Denn dieses ist bei mir häufig noch frei, während ich die UART für anderes (GPS, GSM-Modem etc.) brauche. 5. Wenn dies alles funktionieren würde, wäre es doch dann nur noch eine Software-Geschichte das Flash (ohne Bootloader) neu zu programmieren, oder? Hat jemand schon etwas ähnliches realisiert? Habt ihr sonst Ideen? Vielen Dank für eure Hilfe! Grüsse Lorenz
Stellt sich mir nur die Frage wenn du schon weißt das es zu AVR und USB viele Beiträge gibt warum du anscheinend keinen davon gelesen hast. Wenn du Soft-Uart nimmst kannst du problemlos die SPI Pins nehmen
@Michael: Nein, das ist eigentilch genau, das was ich nicht will. Ich möchte wirklich die SPI ansteuern. Genau damit ich dann auch über das USB-Kabel das Ding neu programmieren kann (ISP). Also Reset drücken und dann die Software schicken. Die Controller von FTDI haben ja Teriber dabei um unter Windows einen virtuellen Com-Port zu erstellen. Ist es möglich die Controller auch ohne Treiber von FTDI mit vertretbarem Aufwand (<40h) anzusteuern? Am liebsten unter java.
>Ist es möglich die Controller auch ohne Treiber von FTDI mit vertretbarem Aufwand (<40h) anzusteuern? Du hast nicht nur die Artikel zu den AVRs nicht gelesen, sondern auch scheinbar keinen Plan was Du hier fragst! Was hat Java mit den Treibern von FTDI zu tun? Die einen erzeugen einen virtuellen Com-Port und Java greift via Java Communications API auf die dann entstandene Schnittstelle zurück. http://java.sun.com/products/javacomm/index.jsp Aber letztes ist hardwareabhängig, also eine Lösung für Win32, eine für Solaris SPARC, Solaris x86, and Linux x86,....
Die einzige Variante wäre, sich selbst mit JNI was zu stricken, das direkt auf den USB Port geht. Viel Spaß dabei ...
>Die einzige Variante wäre, sich selbst mit JNI was zu stricken, das
direkt auf den USB Port geht.
Ganz genau das meine ich. Ich möchte diesen virtuellen Port umgehen.
Ich mache das bis jetzt mit einem fertigen Adapter, welcher genau auch
einen virtuellen Com-Port anleget. Nur leider funktioniert das nicht
sehr zuverlässig unter Windows XP. Unter Linux habe ich es gar nicht zu
laufen gekriegt.
Daher meine Frage. Ist es mit vertretbaren aufwand möglich einen FTDI
zum beispiel über das jUSB (ein USB Api für Java) anzuzeuern. Also das
es möglich ist ist ganz klar. Nur so wie ich es bis jetzt abschätze geht
das für mich zur Zeit definitiv zu weit und der Aufwand ich
wahrscheinlich für jeden zu gross. Doch es könnte ja sein, dass das
schon jemand geschrieben hat...
den ftdi kann man unter windows direkt ansprechen. ftdi hat für delphi und c++ ein paar demos. du mußt halt nur den ftdi-treiber installieren, und in deinem programm die ftdxxx.dll laden die dir dann erlaubt per api-aufruf daten per usb an den ftdi zu schicken. les dir mal die doku zum ftdi durch ... ob das ganze java-tauglich ist weiß ich nicht ...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.