Hallo. Ich bin gerade dabei, ein AVR-Entwicklungsboard nach meinen Bedürfnissen zu erstellen. Jetzt stehe ich vor dem Problem, dass ich auch ganz gerne USB zur Kommunikation benutzen würde. Ich habe auch schon sehr viele Lösungen dafür gefunden, wobei die meisten einen USB-Seriell Wandler (FT...) benutzen. Auch eine Lösung, die ganz ohne zusätzliche Hardware auskommt (obdev). So wie ich es aber verstanden habe, geht immer nur "entweder" programmieren des µC (über MISO,MOSI,SCK -> USB-Seriell) "oder" sonstige Kommunikation (siehe obdev). Ich würde ganz gerne beides in einem haben. Oder habe ich es einfach nur falsch verstanden? Zudem wäre es schön, wenn keine SMD-Bauteile zum Einsatz kommen würden. Welche Lösung käme da für mich in Frage? Vielen Dank für eure Hilfe. Michael
Da hast du was falsch verstanden denke ich. Schau die z.b. meinen USB AVR-ISP an der kommuniziert mit dem PC wärend er AVR´s flasht. www.ullihome.de Eignet sich auch ganz gut als Test Board auf der 10 Poligen Schnittstelle ist ne ganze menge nutzbar.
Hallo. Erstmal vielen Dank für die Antwort. Diese Lösung von dir ist sehr schön, kannte ich auch schon. Jedoch möchte ich keine extra Platine dafür haben, sondern alles auf einer. Das ist natürlich kein Problem, aber ich hätte es gerne ohne SMD-Bauteile und (wenn möglich) mit weniger "Verdrahtungsaufwand". Deswegen finde ich die Variante von Elektor (obdev) "AVR steuert USB" sehr gut. Hiermit kann ich aber (glaube ich) den µC nicht flashen, oder? Was gibt es für mich hinsichtlich dieser "Bedingungen" für Alternativen? Michael
Bootloader? Mit dem FTxxx emulierst du einen Com-Port am PC und kannst den AVR dann über einen Bootloader flashen. Gruß Sascha
@ Sascha Ja, nur: 1) Gibt es den auch als DIL-Bauform (nicht SMD)? 2) "Normale" Kommunikation geht dann wie über eine serielle Schnittstelle (RS232)? Vielen Dank. Michael
Michael wrote: > @ Sascha > > Ja, nur: > > 1) Gibt es den auch als DIL-Bauform (nicht SMD)? Nö, aber TQFP geht noch gut zu löten > 2) "Normale" Kommunikation geht dann wie über eine serielle > Schnittstelle (RS232)? Sicherlich. Dazu ist sowas ja gedacht. > > Vielen Dank. > > Michael Gruß Sascha
hast dir den mal angeschaut? - Proggen per USB + Kommunitation per * UART + TWI + SPI http://www.myavr.de/shop/artikel.php?artID=42 funzt prima. Grüße J.
@ Sascha Ja, stimmt. TQFP ist ok und in sofern interessant für mich. Dann werde ich die USB-Schnittstelle jetzt mal in meine Hauptplatine integrieren. Wo gibt es denn gute erprobte Bootloader und vielleicht etwas Beispielcode? @ Johannes Ja, das ist sicherliche eine schöne Lösung. Jedoch möchte ich mir dafür keine extra Platine zulegen. Vielen Dank für eure Unterstützung. Michael
Hallo, wenn ich es richtig verstehe, willst Du einen USB-Adapter drauf haben, der per ISP den AVR flashen kann oder per virtueller COM mit dem AVR-UART redet, wenn Du das im Programm brauchst. Das Ganze ohne Umzustecken an einem USB? Mich würde da was stören: auf AVR-Seite müßten die Leitungen ja entweder an den ISP oder an den UART (meinetwegen auch an den TWI), Das ginge wohl nur per Jumper/Schalter/irgendwelcher Elektronik, die jedesmal umgeschaltet werden müßte. Auf PC-Seite müßte das jeweils passende Programm laufen, ISP-Software, Terminalprogramm usw. Das hieße also: ISP-Software starten, Schalter auf Board auf ISP, flashen. Schalter auf Board an UART, ISP-Software beenden (sonst ist der COM-Port blockiert), Terminal starten, Fehler finden, Programm ändern, Terminal schließen, Board umschalten, ISP-Software starten,... Nö, da bleibe ich bei meinen 2 COM- (oder meinetwegen USB-) Schnittstellen, die unabhängig voeneinander am ISP und am UART hängen, wo ich gleich nach dem Flashen die UART-Meldungen im anderen Fenster sehen kann usw. Meine ganz persöhnliche Meinung. Gruß aus Berlin Michael
@ Michael U. Du hast natürlich völlig recht. Mir sind einige Sachen auch erst beim Schaltungsentwurf bewusst geworden. Ausserdem hatte ich von der USB-Funktionalität bei AVRs wohl etwas hohe Erwartungen. USB möchte ich vor allem deshalb haben, weil gerade neue PCs (vor allem Notebooks) keine LPTs oder COMs mehr haben - leider. Deswegen habe ich mich nun dazu entschlossen einen Kompromiss einzugehen. Ich werde eine USB-Schnittstelle zum Flashen des AVRs integrieren und gut is. Viele Grüße Michael
Hallo, und wenn Du Dir die Finger nicht brichst und das Geld investierst, baue eben noch einen FT232RL mit rauf oder kauf einen fertigen Adapter und Du hast eine virtuelle COM für die anderen Sachen. Außenbeschaltung ist praktisch keine, ich hab das kleine Ding selbst mit Lupe auf eine Adapterplatine bekommen, spielte sofort. Einen 2. USB-Port findet man ja meist noch am Rechner. ;) Gruß aus Berlin Michael
Hi! Ja, hört sich gut an. 2 USB-Ports gehen immer! ;) Vielleicht bist du ja bereit, deine Adapter-Platine mal zu posten? Viele Grüße Michael
Nicht ganz ernst gemeinter Tip: Wenn Du alles auf einem Board haben willst, dann solltest Du mal über einen USB-Hub-Chip nachdenken, vielleicht aus einem billigen Hub herausgebastelt. Dann hat Dein Board nur einen USB-Anschluss, über den mehrere USB-Chips (oder auch die AVR-interne USB-Software) gleichzeitig mit dem PC verbunden, wodurch die PC-Programme parallel arbeiten können. Nun wieder im Ernst: Ich bevorzuge eine Trennung von Programmer und Target-Board, da ich weniger "evaluiere", sondern eher eine Schaltung für einen bestimmten Zweck aufbaue, den AVR draufpappe und dann die Software in dieser Schaltung schreibe, debugge, teste usw. Das hat auch den Vorteil, dass ich die Software auf dem später im Einsatz befindlichen Typ erstelle und nicht vom "Evaluations-Mega128" (oder -Mega32) auf den dann zum Einsatz kommenden Tiny13 oder Mega48 portieren muss. Ich verfüge zwar über das STK500, benutze es aber meist nur als Programmer für externe Targets, nur sehr selten zum Testen von AVRs direkt auf dem STK500. ...
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.