Mikroprozessorumstieg von PIC auf AVR

Hallo!

Ich habe nun doch entschlossen den PIC "sausen" zu lassen (16F84)- Grund war unter anderem, dass er nur einen Timer hat und zu wenig Pins (ja, man kann sie manchmal auch doppelt belegen...). Nun sehe ich in diesem Preissegment (eher günstiger) auch gerade den AT Mega 8515 Low-Power, der kann schon um einiges mehr und verbraucht auch nicht gerade viel Strom. Außerdem braucht der nicht 4 Takte für eine Operation, sondern nur einen (meistens). Als Software gibts das AVR-Studio. Ich sehe die Umgewöhnung vom PIC auf AVR als nicht so groß ein. Ein 8051er ist mir ein zu großer Stromfresser und die Pro-Takt-Leistung liegt auch noch auf Intel-Niveau (Dallas' Prozessoren sind wohl ausgenommen)...

So- jetzt gehts mit den Fragen los:

Mit 8kByte Flash-Programmspeicher kann man ja schon was mit C anfangen- da gibts dann zum Beispil WinAVR. Lässt sich das denn in das AVR-Studio (also Studio als IDE) einbinden? Gibt es sonst ein schönes IDE?

Wie sieht es mit einem Programmieradapter zum Selberbauen aus? Am besten natürlich auch aus dem AVR-Studio zu benutzen. Ich weiß, dass es Schaltpläne zu Hauf gibt, aber welcher hat sich bewährt? Was gibt es sonst für ein schönes Programmierprogramm + schönem Selbstbau-Adapter?

Hmm... Gibt es sonst noch etwas, worauf ich achten muss?

Bitte kein Flamewar über Prozessorhersteller anfangen.

MfG, Heiko.

Reply to
Heiko Weinbrenner
Loading thread data ...

Hallo Heiko,

wohl ausgenommen)... Dallas ist inzwischen veraltet, die F120 Serie von Cygnal ist viel besser. Der 89F120 schafft 100MIPS bei 3.3V und braucht 25mA (bei 50MIPS). Die meisten Befehle werden in 1 oder 2 Takten bearbeitet.

Gruss Michael

Reply to
Michael Koch

Aguja schrob:

Ja, so wie ich hier gelesen hab, ist das ja wohl nix neues bei Atmel.

? Da hat sich wohl der Fehlerteufel eingeschlichen. Der Nachfolger des Mega8515 ist der Mega8515?

Ist der auch gut? ;) Sieht ja schön einfach aus.

Abgekündigte Typen scheints bei Atmel ja ziemlich oft zu geben, da muss man wohl mit leben. Von den Fuse-Bits hab ich schon gelesen, da muss man wohl aufpassen.

Danke!

MfG, Heiko.

Reply to
Heiko Weinbrenner

Michael Koch schrob:

Hmm, hat sich da doch was getan. Wie siehts mit dem Preis aus?

Danke.

MfG, Heiko.

Reply to
Heiko Weinbrenner

Hallo Heiko,

Preise findest du auf der Cygnal Webseite:

formatting link
Das Entwicklungskit kostet so etwa 150 USD.

Gruss Michael

Reply to
Michael Koch

Nein, Herr Aguja hat nicht richtig gelesen und beim Stichwort 8515 sofort auf ,AT90S8515' geschaltet. In der Tat ist dieser aber durch den ATmega8515 abgelöst worden, Du bist also auf der sicheren Seite.

Naja, Agujas Eigenwerbung halt.

Es gibt 1001e Variante von simpel-Parallelport-ISP. Beim WinAVR mit dabei sind schon allein die Opensource-Programme avrdude und uisp. Du brauchst eigentlich nur einen DB25-Stecker, einen 6-pin Pfostenstecker (empfohlene Atmel-ISP-Steckverbindung, siehe Appnote 910) und ein bißchen Draht. Ja, und einen Rechner, der noch einen Parallelport besitzt. ;-)

Wobei sie in aller Regel durch pinkompatible neue ersetzt werden. Das ist einfach die logische Konsequenz daraus, daß ein Chiphersteller seine Fertigungslinien weiterentwickelt. Als Nebeneffekt werden die Chips dann u. a. auch billiger (weil die Chipfläche kleiner wird), außerdem hatten die AT90Sxxx berichteterweise mehr EMV-Probleme als die neuen ATmegas. Du verlierst also nicht unbedingt dabei.

Daß die Pinkompatibilität durchaus funktioniert, zeigt Atmels eigener JTAG ICE: die Platine war für einen AT90S8535 ausgelegt plus einen AT90S1200 als Bootlader (für die Firmware). Mittlerweile steckt auf gleicher Platine ein ATmega16, da der auch selbst einen Bootlader implementieren kann, wird der AT90S1200 einfach nicht mehr bestückt. Vermutlich haben sie noch genügend alte Platinen... (Zwischenzeitlich war ein ATmega163 drauf, das war so 'ne Art Vorläufer des 16er.)

--
J"org Wunsch					       Unix support engineer
joerg_wunsch@interface-systems.de        http://www.interface-systems.de/~j/
Reply to
Joerg Wunsch

Man kann es zwar einbienden, aber so richtig rund ist das nicht. Zudem ist das AVR Studio weder schön noch fehlerarm. Ich benutze es eigentlich nur zum debuggen, wobei man das natürlich auch mit dem Gnu debugger machen kann. IDE's für GCC gibt's vermutlich mehr als Eulen in Athen. Ich benutze aus Faulheit meistens den PFE, der bei WinAVR enthalten ist. Wenn man einmal das makefile richtig angepasst hat, dann geht's ganz gut.

Da gibt es einmal den Programmieradapter, den Atmel damals beim STK200/300 verwendet hat, und der immer noch gut funktioniert. Es gibt ihn in einer LPT und einer RS232 Variante. Läuft gut mit den meisten freien Programmierprogrammen, z.B. PonyProg. Schaltplan siehe dort oder bei

formatting link
Bei
formatting link
gibt es den Programmieradapter für 9,90. Dafür kann man ihn fast nicht selbst bauen, sofern man nicht alle Teile gerade rumliegen hat. Kennt noch jemand eine günstigere Quelle?

Empfehlenswert für die Megas (ab 16) ist ein JTAG Debugger, den kann man sich auch selbst bauen, siehe

formatting link

Wie immer ist aller Anfang schwer und hinterher fragt man sich, warum man eigentlich solche Probleme gehabt hat.

Reply to
Erik Hermann

Hallo Michael,

"Michael Koch" schrieb im Newsbeitrag news: snipped-for-privacy@gmx.net...

Und Du vertraust einer Firma, die noch nicht einmal eine funktionierende Web-Site zusammenbringt :-)?

Gruss, Kurt

--
MBTronik, Kurt Harders
http://www.mbtronik.de
Reply to
Kurt Harders

Hallo Heiko,

"Heiko Weinbrenner" schrieb im Newsbeitrag news:3f89b11e$1@news-fe-01...

Grund war

kann

Preissegment

Hast Du Dir mal den 16F627/628 angeschaut? Fuer die A-Type basteln wir gerade an einem preiswerten Programmiergeraet.

Gruss, Kurt

--
MBTronik, Kurt Harders
http://www.mbtronik.de
Reply to
Kurt Harders

Hallo Kurt,

Web-Site zusammenbringt :-)?

die Seite hat bislang immer funktioniert, nur heute nicht. Versuch's später nochmal.

Gruss Michael

Reply to
Michael Koch

Joerg Wunsch schrob:

Hmm... Also mit einem Seriellen-Port-Interface gibt es da nichts? Atmel selbst benutzt doch die serielle Schnittstelle.

Anm.: Win_Avr ist mir unter XP direkt abgestürzt, läuft daher nur im Kompatibilitätsmodus und versucht eine nicht mehr vorhandene Webseite zu öffnen. Hab ich da was übersehen?

Und die Programmer, die bei Winavr dabei sind, sind Kommandozeilen basiert. Das ist mir doch sehr unkomfortabel geworden (ja, so weit ist es gekommen...).

Ja, ist ja bei den PC-Prozessorherstellern genau so.

Also mir soll es egal sein.

Danke!

MfG, Heiko.

Reply to
Heiko Weinbrenner

Erik Hermann schrob:

Ok.

PFE? Ich hab mir jetzt mal WinAvr installiert. Bei mir ist da nur das Programmers Notepad, aber das ist ja schon mal ein schöner Editor.

Jetzt hab ich wieder was gelesen: nur für 5V Modelle- da ich aber die Low-Power-Variante ins Auge gefasst habe, müsste ich da wohl ein paar Änderungen vornehmen.

Auch runtergeladen, aber noch nicht angeguckt.

Das ist mir bei dem PIC und 8051er schon aufgefallen.

Danke!

MfG, Heiko.

Reply to
Heiko Weinbrenner

Kurt Harders schrob:

Jetzt schon. Sieht auch gut aus. Ist aber auch wieder "nur" ein 18-"Beiner".

Ja, ich habe nur ein Programmiergerät für den 16F84 und auch nur Software dafür, daher bin ich auch bis jetzt an den gebunden. Ich hab ja auch noch "ein paar" 16F84 hier, die kann man ja als Controller für irgendetwas nehmen (PS2->Parallel, DCF77 Dekoder oder sowas). Nur als größeren "Steuermann" ist der zu "klein".

Beim PIC hab ich bis jetzt noch keinen kostenlosen C-Compiler gefunden (bei den ca. 30 HW-Befehlen und nur 1kByte Flash beim 16F84 wird sich das eh nicht lohnen). Auch deshalb wollte ich mal bei Atmel gucken, der C-Compiler ist frei.

Danke!

MfG, Heiko.

Reply to
Heiko Weinbrenner

Web-Site zusammenbringt :-)?

da die Selection-Guide Seite momentan nicht geht, hier der direkte Link zum F120:

formatting link

Gruss Michael

Reply to
Michael Koch

Ja, AVR910 wird zumindest von avrdude unterstützt, vermutlich auch von uisp (das kenne ich nicht so gut). STK500 wird ebenfalls von beiden unterstützt. AVR910 Protokoll ist nicht sonderlich effektiv, da es ein request-response Protokoll ist. Die DFÜler wußten bereits in den frühen 90er Jahren, daß derartige Protokolle sch***e sind, aber Atmel hat den Fehler trotzdem nochmal gemacht. (Das Problem liegt in der Latenz, die durch den FIFO heutiger UARTs begründet wird: um den FIFO auszunutzen, wird noch zusätzlich gewartet, bevor die Antwort dann doch zurückgegeben wird.)

Insbesondere große Chips lassen sich daher mit einem AVR910-Typ Programmiergerät nicht sonderlich schnell programmieren. Meiner Erinnerung nach ist STK500 Protokoll etwas schneller.

WinAVR kann gar nicht abstürzen. :-) Es ist nämlich nicht der Name für ein bestimmtes Programm, sondern nur der Name für eine Sammlung von Komponenten.

Welche der Komponenten ist Dir denn nun abestürzt? Der Compiler?

Zumindest für den Compiler kann ich mir nicht vorstellen, wie der ,,eine Webseite öffnen'' könnte...

Mir wäre es hinreichend unkomfortabel, wenn ich jedesmal klickerdicklick machen müßte. Außerdem ist es offenbar fehlerträchtig, wie die vielen Leute mit zerwürgten Fuse-Bits belegen. Mir ist es da deutlich lieber, daß ich einfach »make program« sagen kann. Geschmackssache.

Nö, dort ändert sich typischerweise dann jedesmal die komplette Infrastruktur (Pinout, Speicherbusse, usw. usf.). Bloß softwarekompatibel sind sie lange noch gehalten worden.

--
J"org Wunsch					       Unix support engineer
joerg_wunsch@interface-systems.de        http://www.interface-systems.de/~j/
Reply to
Joerg Wunsch

Nö, geht auch mit 3,3V. Benutze ich täglich ohne Probleme.

Das scheint auch eines von Murphy's Gesetzen zu sein. Fängt man mit einem neuen uC an, dann geht erst mal alles schief. Hat man lange genug Lehrgeld bezahlt, dann geht auf einmal alles wie von selbst. Macht man dann nach längerer Zeit den Einstieg nochmal, dann geht alles einwandfrei, und man kann überhaupt nicht nach- vollziehen, woran es damals gehangen hat.

Reply to
Erik Hermann

Sollte aber auch mit einem 16F87x laufen. Der 877 ist ja auch schon ganz nett, viele Pins, viel Peripherie und dank Selbstprogrammiermöglichkeit kann man einen Bootloader verwenden, das ist recht bequem.

Reply to
Erik Hermann

Aber sicher doch!

formatting link
mit passendem Programm für Win und Linux. Ferner gibt einige Derivate die sogar noch einfacher aufgebaut sind.

Aber rate ich Dir, dich auch mal mit dem Thema Bootloader zu befassen.

formatting link

Reply to
Ben Becker

Hi!

Ja, bin ich - als Atmel-Einsteiger - auch sehr zufrieden damit und auch recht schnell mit klargekommen. Den "MAKE"-Befehl, der den Compiler rattern lässt, kannst Du ins Tools-Menü einbinden, die Antwort vom Compiler bekommst Du direkt ins Editor-Programm und wenn Du auf eine Fehlermeldung klickst, springt der Cursor automatisch in die entsprechende Programmzeile. Das ist schon was anderes, als ich von Borland C (unter Dos) und Mikrocontrollercompilern der gleichen Zeit gewohnt war :-)

Einzig mit dem Makefile muss man sich evtl auseinandersetzen, wenn mans (wie ich bis vor wenigen Wochen) noch nicht kennt. Am besten, Du versuchst erstmal eins der mitgelieferten Beispiele zu compilieren - bei mir hat das natürlich nicht auf Anhieb geklappt, weil ich einen anderen AtMega hatte als im Beispiel, und andere Pfade als im ursprünglichen Makefile. Also schau einfach mal ins Makefile, wirst schon rausfinden, was Du da evtl ändern musst.

Zum Programmieren nehm ich PonyProg (lancos.com, wurde hier schonmal genannt), den Schaltplan für den Adapter (nicht viel mehr als ein Treiber) findest Du dort auch. Damit bekommst Du sowohl das Programm in den Atmel als auch die FuseBits gesetzt.

Alles in allem sollte man es binnen einem Wochenende eigentlich schaffen, das erste kleine eigene Projekt zu compilieren und im Atmel zum Laufen zu bringen.

Gruß, Michael.

Reply to
Michael Eggert

Joerg Wunsch schrob:

Anm.: win_avr.exe ist auch der Name des Programmers von Prouc- das war gemeint. Jetzt sehe ich, dass das ganze doch AVR-Flash heißen soll.

In der Tat. Ich mag lieber Klickediklick- hab ja nicht umsonst Klickediklick-Betriebssystem. ;) In DOS habe ich früher schon genug rumgewurschtelt. Jetzt kann ich ja zum Abreagieren noch in eine Dosbox springen ;)

Natürlich hätte ich es dann auch gerne, dass solche Sachen wie Fuse-Bits richtig, unmissverständlich "visualisiert" werden... Naja, wenn man es weiß, kann man es ja verkraften.

Naja, ich meinte so Erweiterungen wie MMX oder 3DNOW- der Befehlssatz war und ist abwärtskompatibel, es sind halt nur Erweiterungen hinzu gekommen. AMD Prozessoren haben auch sehr lange den Sokel A behalten (nun ist es Zeit für was neues).

MfG, Heiko.

Reply to
Heiko Weinbrenner

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.