Forum: Mikrocontroller und Digitale Elektronik Frage vor dem Kauf


von Christian (Gast)


Lesenswert?

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

von Karl-heinz S. (cletus)


Lesenswert?

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)

von Karl-heinz S. (cletus)


Lesenswert?

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

von Johannes M. (johnny-m)


Lesenswert?

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.

von Johannes M. (johnny-m)


Lesenswert?

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.

von Christian (Gast)


Lesenswert?

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

von pacer (Gast)


Lesenswert?

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.

von Christian (Gast)


Lesenswert?

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.

von Johannes M. (johnny-m)


Lesenswert?

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

von Christian (Gast)


Lesenswert?

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.

von Justus S. (jussa)


Lesenswert?

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

von Johannes M. (johnny-m)


Lesenswert?

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

von Justus S. (jussa)


Lesenswert?

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.

von Christian (Gast)


Lesenswert?

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!

von Justus S. (jussa)


Lesenswert?

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

von Christian (Gast)


Lesenswert?

Das klingt ja super!! :) Dachte nicht, dass das so funktioniert.
Werd ich mal mehr erkundigen über den FT232. Danke!

von Justus S. (jussa)


Lesenswert?

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

von Pete K. (pete77)


Lesenswert?

Ponyprog würde ich vermeiden. Das gibt nur Ärger.

von Christian (Gast)


Lesenswert?

Welches Programm würdest du vorschlagen ?

von Justus S. (jussa)


Lesenswert?

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

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.