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