Hallo !
Ich habe diese Seite vor einigen Tagen gefunden und hab mich seit dem
fast nur mehr mit dem Thema Mikrocontroller beschäftigt, die Tutorials
auf dieser Seite sind wirklich super, habe schon lange nach so einer
Seite gesucht.
Bevor ich jetzt aber meine Bestellung abschicke, würde ich gerne noch
vorher fragen ob das alles so weit passt, da das alles für mich das
erste mal ist.
Ich will mir den Atmega8 bestellen und den interenen Taktgeber
verwenden, und diesen dann wie im AVR Tutorial aufbauen (mit
Spannungsversorgung und ISP Anschluss).
Dann würde ich gerne diesen ISP-Programmer verwenden (den Seriellen) :
http://s-huehn.de/elektronik/avr-prog/avr-prog.htm
Natürlich die ISP-Stecker richtig anordnen damit sie zusammenpassen mit
dem aus dem AVR Tutorial.
Das alles will ich dann auf einem Steckbrett zusammenbauen, und mit ASM
und PonyProg oder ähnlichem Programm programmieren. (Hängt es vom
ISP-Programmer ab welches Programm zum programmieren funktionert oder
kann man jedes nehmen, egal welchen ISP-Programmer man verwendet ??)
Würde das alles so fürs erste passen oder hab ich was vergessen oder
übersehen ??
Und wenn ich schon dabei bin, noch eine Frage:
Bei den Parallelen ISP-Programmer-Schaltungen sieht man welche die mit
nur 2 Widerständen bestückt sind, und andere mit 2 IC'2, wo liegt hier
der Unterschied ?? (Außer das 2 Widerstände keine große Sicherheit für
den Parallelen Port bieten)
Danke fürs Lesen ! :)
Mit freundlichen Grüßen
Christian
Hi Christian,
Christian wrote:
> Dann würde ich gerne diesen ISP-Programmer verwenden (den Seriellen) :> http://s-huehn.de/elektronik/avr-prog/avr-prog.htm>> Natürlich die ISP-Stecker richtig anordnen damit sie zusammenpassen mit> dem aus dem AVR Tutorial.> Das alles will ich dann auf einem Steckbrett zusammenbauen, und mit ASM> und PonyProg oder ähnlichem Programm programmieren. (Hängt es vom> ISP-Programmer ab welches Programm zum programmieren funktionert oder> kann man jedes nehmen, egal welchen ISP-Programmer man verwendet ??)>
ich habe auch mal mit den seriellen / parallelen Programmern
rumgehampelt. Aber ich denke nicht, dass du damit lange Spaß hast.
Spätestens, wenn dein Rechner geupdated wird und du keine serielle mehr
hast, kriegste Probleme (USB-Adapter haben eventuell keine
RTS/DTS-Leitungen, Probleme mit Timings und so weiter...)
Schau mal hier:
http://www.embedded-projects.net/index.php?page_id=135
Damit arbeite ich jetzt.
Wenn das mit dem JTAG und so stabil ist, kannst du ihn auch nicht nur
als AVR-Programmer einsetzen.
Bis dahin läuft er problemlos.
(Wenn du es günstiger haben willst: Auch da sind die Baupläne auf den
Seiten online)
Christian wrote:
> Ich will mir den Atmega8 bestellen und den interenen Taktgeber> verwenden, und diesen dann wie im AVR Tutorial aufbauen (mit> Spannungsversorgung und ISP Anschluss).>
Achja: Wenn du sowieso bestelltst: Kauf dir von den Bauteilen immer 3.
Du wirst das ein oder andere auch mal abschießen und bei einem
Stückpreis von 1,xx EUR ...;-)
Der ATMega8 ist übrigens ein fast schon historisches Artefakt (war einer
der ersten ATMegas). Du solltest, wenn Du schon neu anfängst, besser
gleich einen zeitgemäßeren (evtl. pinkompatiblen) Nachfolgetypen nehmen.
ATMega48, 88, 168 und 328 sind solche ATMega8-Nachfolger mit 4, 8, 16
bzw. 32 KiB Flash-Speicher. Die haben eine ganze Reihe zusätzlicher
Funktionen gegenüber dem Mega8.
Christian wrote:
> Und wenn ich schon dabei bin, noch eine Frage:> Bei den Parallelen ISP-Programmer-Schaltungen sieht man welche die mit> nur 2 Widerständen bestückt sind, und andere mit 2 IC'2, wo liegt hier> der Unterschied ?? (Außer das 2 Widerstände keine große Sicherheit für> den Parallelen Port bieten)
Der Unterschied liegt tatsächlich darin, dass die einen Adapter
eingebaute Pegelumsetzer haben, die anderen eben nicht. Nicht nur der
Parallelport am PC, sondern auch die Zielhardware sind nicht
unempfindlich gegenüber Bastlerfehlern, so dass die etwas aufwändigere
Form sich durchaus bezahlt macht.
Allerdings solltest Du die Empfehlung von Karl-Heinz beherzigen und
gleich einen gescheiten Programmer kaufen (die Dinger kosten auch nicht
mehr die Welt) und nicht mit den Bitwackel-Selbstbau-Dingern anfangen.
Die sind nicht nur teilweise unzuverlässig, sie setzen auch voraus, dass
an Deinem Rechner noch ein Parallelport oder ein RS-232 vorhanden ist
(was heutzutage ganz besonders bei Notebooks eine echte Seltenheit ist).
Bei vielen dieser Adapter muss die Programmiersoftware auch direkt auf
die Schnittstellen-Hardware zugreifen können, was neuere Betriebssysteme
z.T. erfolgreich zu unterbinden wissen. Dann nützt Dir auch ein
USB-RS-232-Wandler nix. Kauf Dir gleich einen USB-Programmer, dann hast
Du Ruhe.
Wow, das ging ja schnell, danke für die vielen Antworten !!
Werde mir den Atmega88 bestellen, wußte nicht das dieser der Nachfolger
ist. Die Schaltung der beiden Controller sollte doch ungefähr gleich
sein oder ?? (Ich mach das als Hobby und habe keine praktische Erfahrung
bzgl. dieser Thematik)
Wegen dem USB-ISP-Programmer: dachte ich nehm gleich einen Seriellen, da
ich eigentlich auch vor hatte, später mal mit dem UART des Controllers
über RS232 zu kommunizieren also ein eigenes Programm für Windows
schreiben, und das geht ja mit USB nicht so einfach so weit ich weiß.
doch mit dem vorgeschalgenen Programmer hast du 3 Möglichkeiten:
-MC programmieren
-Kommunikation über serielle Schnittstelle
-on chip debugging über JTAG
(es scheinen aber noch nicht alle Funktionen implementiert zu sein)
Ich hab zwar auch noch einen Parallelprogrammer in Betrieb, wenn ich das
Teil aber vorher gekannt hätte, dann hätte ich es mir wohl gekauft.
Wird wohl aber das nächste sein was ich mir hole.
Wäre halt noch interessant zu wissen wieviel Interesse Benedikt noch
hat, die JTAG-Software zu Ende zu bringen.
Zumal auch das schöne ist, dass du auf zusätzliche Programme wie
PonyProg verzichten kannst, nach ner Weile wirds dich mit Sicherheit
nerven.
Das ich mit dem Programmer auch mit dem Controller kommunizieren kann
wußte ich nicht, dachte es ist nur ein reiner ISP-Programmer, also zum
Übertragen des Programms.
Was aber noch ein Problem wäre, ist die Kommunikation von PC zu
Mikorcontroller, braucht man für den USB Anschluss nicht einen ring0
Treiber, um von dem USB-Port Daten zu empfangen und zu senden?
Beim Seriellen Port ist das nicht so kompliziert.
Christian wrote:
> Wow, das ging ja schnell, danke für die vielen Antworten !!>> Werde mir den Atmega88 bestellen, wußte nicht das dieser der Nachfolger> ist. Die Schaltung der beiden Controller sollte doch ungefähr gleich> sein oder ??
Ungefähr, ja. Allerdings sind viele Registernamen anders, da ATMEL
irgendwann (nach dem ziemlich durchschlagenden Erfolg der ersten
ATMegas) festgestellt hat, dass das Nomenklatursystem für die
I/O-Register nicht gut für Erweiterungen geeignet ist. Die Nomenklatur
auf den ATMega48/88/168/328 ist entsprechend angepasst an die anderen
neueren AVRs mit mehr Peripherie. Wenn Du das System einmal drauf hast,
kannst Du im Prinzip leicht auf andere AVRs umsteigen, ohne ein komplett
anderes System zu erlernen.
Im hiesigen Tutorial beziehen sich die Beispiele zwar noch oft auf den
ATMega8, aber es gibt auf www.atmel.com eine Migration Note, die die
Unterschiede beschreibt. Damit sollte es kein Problem sein, die
Beispiele in kürzester Zeit zu übertragen.
> Wegen dem USB-ISP-Programmer: dachte ich nehm gleich einen Seriellen, da> ich eigentlich auch vor hatte, später mal mit dem UART des Controllers> über RS232 zu kommunizieren also ein eigenes Programm für Windows> schreiben, und das geht ja mit USB nicht so einfach so weit ich weiß.
Der Programmer kommuniziert aber nicht über UART, weshalb das für Deine
Anwendung mit RS-232 unerheblich ist. Wenn Du eine serielle
Datenverbindung mit dem PC über UART herstellen willst, dann müsstest Du
sowieso eine eigene Hardware dafür aufbauen (im einfachsten Falle mit
einem MAX232).
Und USB ist mit den Chips von FTDI (FT232) auch kein allzu großes
Problem mehr...
Danke für den Link !
Ich hab mich vorher falsch ausgedrückt, ich meinte, dass ich sowieso vor
hatte später über einen 2. RS232 mittels MAX232 mit dem UART zu
kommunizieren also hätt ich sowieso einen Seriellen Port benötigt (aber
jetzt weiß ich ja das es mit USB-Prog auch möglich ist).
Mich würde noch interessieren wie man mit einem Programm auf Win. mit
dem MC kommuniziert, hab schon einges darüber gelesen das es nicht so
einfach ist bei USB.
Christian wrote:
>> Mich würde noch interessieren wie man mit einem Programm auf Win. mit> dem MC kommuniziert, hab schon einges darüber gelesen das es nicht so> einfach ist bei USB.
kA ob deine Frage jetzt richtig verstehe: Auf meinen Platinen befindet
sich als Standardbaugruppe immer ein FT232R mit Minimalbeschaltung. Auf
dessen einer Seite geht USB rein, die Ausgänge können direkt an einen µC
gehen. Für Windows ist der IC wie eine serielle Schnittstelle und kann
zB mit Hyperterminal angesprochen werden. Programmieren über so einen
Adapter soll wohl nicht (immer) gehen, aber in dieser Hinsicht hab ich
keine Erfahrungen...
Justus Skorps wrote:
> kA ob deine Frage jetzt richtig verstehe:
Ich glaube nicht. Vermutlich meint er es genau andersrum: Das Problem
ist, am PC auf die USB-Schnittstelle zuzugreifen, wenn der µC per USB
(über FT232) spricht...
Johannes M. wrote:
> Justus Skorps wrote:>> kA ob deine Frage jetzt richtig verstehe:> Ich glaube nicht. Vermutlich meint er es genau andersrum: Das Problem> ist, am PC auf die USB-Schnittstelle zuzugreifen, wenn der µC per USB> (über FT232) spricht...
deswegen hatte ich ja geschrieben
> Für Windows ist der IC wie eine serielle Schnittstelle und kann> zB mit Hyperterminal angesprochen werden.
Ich meine wie ich vom PC Daten zum MC sende, bzw. empfange.
Zum Beispiel schreibt jemand ein Programm welches dem MC Daten/Signale
sendet um eine LED ein- auszuschalten. Der Code für die MC-Seite ist ja
einfach, aber der für den PC ist mit USB doch aufwändig.
"Für Windows ist der IC wie eine serielle Schnittstelle und kann
zB mit Hyperterminal angesprochen werden."
Wenn ich den MC ansprechen will (mit der WinApi wenn das möglich ist)
muss ich den USB-Port verwenden, wenn er dort angschlossen ist, oder
nicht? Ich kann ja zb nicht den COM1 Daten senden, wenn der MC am USB
hängt.
Auch wenn das noch eine Zeit dauert bis ich soweit bin würds mich
interessieren, auch wenn ich vorerst mal mit dem Aufbau von MC + ISP
schon genug bestäftigt sein werde.
Vielen Dank für die ganze Hilfe, Sehr nett!
Christian wrote:
>> Wenn ich den MC ansprechen will (mit der WinApi wenn das möglich ist)> muss ich den USB-Port verwenden, wenn er dort angschlossen ist, oder> nicht? Ich kann ja zb nicht den COM1 Daten senden, wenn der MC am USB> hängt.
eben doch..durch den FT232 erscheint in deinem System ein "neuer"
COM-Port, der eben "hinter" dem USB hängt...und der kann ganz normal
angesprochen werden wie ein echter COM-Port, softwaremäßig merkst du gar
nicht (oder selten), dass da eigentlich ein USB-Port dazwischenhängt...
Christian wrote:
> Das klingt ja super!! :) Dachte nicht, dass das so funktioniert.> Werd ich mal mehr erkundigen über den FT232. Danke!
es gibt afaik auch noch andere USB2RS232-ICs...aber der FT232R von FTDI
braucht nur wenig externe Beschaltung, 2 Widerstände und 4
Kondensatoren..allerdings gibt es ihn nicht im DIP-Gehäuse, für
Lochrasterbasteleien also nur bedingt geeignet...
Christian wrote:
> Welches Programm würdest du vorschlagen ?
zum Setzen der Fuses nehme ich AVRDude (bzw die Java-GUI dazu), sonst
für alles WinAVR mit Programmes Notebook