Forum: Mikrocontroller und Digitale Elektronik AVR, ISP, USB


von lorenz (Gast)


Lesenswert?

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

von Neubi (Gast)


Lesenswert?

usb auf rs232 umsetzer von FTDI, MAXIM, ...

von Michael I. (iller101)


Lesenswert?

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

von lkoe (Gast)


Lesenswert?

@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.

von Mike (Gast)


Lesenswert?

>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,....


von ... (Gast)


Lesenswert?

Die einzige Variante wäre, sich selbst mit JNI was zu stricken, das 
direkt auf den USB Port geht.
Viel Spaß dabei ...

von lorenz (Gast)


Lesenswert?

>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...

von TheMason (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.