Hallo, bin relativer neueinstiger in Sachen uC. Zuerst bin ich ins PIC-Lager gegangen, würde jetzt aber gerne ins AVR-Lager aufgenommen werden ;) (gibts es einfach mehr Info's und Projekte im Netz, das PIC-Lager ist leider, meiner Ansicht nach, recht klein im Netz vertreten). Und da stellen sich mir nun einige Fragen vor dem Wechsel: 1. Wie sieht es mit den Modellen aus. Bei den PIC's war das für mich sehr gut gegliediert: - PIC12xxx - schwach - PIC16xxx - mitellmäßig - PIC16xxx - gut - ... Was gibt es bei den AVR's. Hab nur Atmega und Attiny gefunden. Gibt es sonst noch weitere Klassen? 2. Wie sieht es mit dem Speichertyp aus. Ist der immer Flash? 3. Wie programmiert man die AVR's. Kann man alle Modelle in C programmieren? Oder welche sollte man besser in ASM programmieren? 4. Könnt ihr mir ein GÜNSTIGES Programmiergerät empfehlen? 5. Wo bestellt ihr eure AVR's? Bei Reichelt blick ich nicht ganz durch? Da sind die PIC's besser sotiert (oder ich verstehe das System der AVR's nicht). 6. Haben die AVR's was mit dem ARM-Prozessor gemeinsam? Der ARM-Prozessor ist ja sehr leistungsstark und wird oft von embbeded Linux-System benutzt. Bei diesen embedded Linux-System kann man ja alle Programme drauf laufen lassen, die es für Linux gibt (sofern sie für den ARM vorliegen), oder etwa nicht? Und wie würde ich dort dann die Ports ansteuern oder gar Peripherie (Netzerk, Grafikkarte) anschließen? (Komme darauf wegen dem Grasshopper Board, welches ja einen AVR32 besitzt) Das wären meine Fragen. Denke, ihr könnt mir helfen (meine Probleme sollten ja für AVR-Kenner/Fanatiker kein Problem). MfG Julian
>Was gibt es bei den AVR's. Hab nur Atmega und Attiny gefunden. Gibt >es sonst noch weitere Klassen? Braucht man mehr? Zumindest erleichtert das doch sehr den Programmier-Lernprozess, da AVR alle den gleichen Befehlssatz benutzen... >2. Wie sieht es mit dem Speichertyp aus. Ist der immer Flash? Ja, da man sie alle im System programmieren kann. >3. Wie programmiert man die AVR's. Kann man alle Modelle in C > programmieren? Oder welche sollte man besser in ASM programmieren? Es gibt ein paar Tines, die kein SRAM haben, weswegen sie nicht in C programmierbar sind. Bei grösseren Projekten wird ASM unübersichtlich... >4. Könnt ihr mir ein GÜNSTIGES Programmiergerät empfehlen? "Kostenlos": Einen der vielen Parallelport-Programmer Gut zum Einstieg: STK500 (hätte ich noch eins im Angebot). Dann hat Atmel auch noch ein paar "spartanischere" Programmer (AVR ISP), die alle ihre Vorteile haben. >5. Wo bestellt ihr eure AVR's? Bei Reichelt oder CSD-Electronics. >Bei Reichelt blick ich nicht ganz durch? >Da sind die PIC's besser sotiert (oder ich verstehe das System der AVR's > nicht). Auf der Atmel-Homepage gibt es eine parametrische Übersicht. Danach kann man sich seinen AVR je nach zu lösender Aufgabe aussuchen... >6. Haben die AVR's was mit dem ARM-Prozessor gemeinsam? Atmel stellt beide Prozessoren her. Das war's aber auch schon. (Dass man beide in C programmieren kann, ist halt so...) Der AVR32 heisst nur so AVR und nichts mit den 8bittern zu tun.
Danke schon mal für die Antwort. Also, es gibt quasie nur 2 "Großklassen" bei den AVR's: - die Attiny's (schwächeren) - die Atmegas (stärkeren) Flash-Speicher haben sie also alle, gibt es also keine mit nur einmal beschreibbarem Speichern, den man nur mit UV-Lampen löschen kann. (bevor man also ein etwas komplexeres Gerät wegwirft, kann man mal nachsehen, ob ein ARV verbaut ist ;) Und mit dem ARM-Prozessor, die haben also nur ein gemeinsames Präfix (AVR) im Namen, haben aber nichts miteinander zu tun. Die programmiert man also auch nicht wie normale Atmegas, sondern es läuft ein Linux drauf und das steuert alles. Hoffe, ich habe soweit alles verstanden.
Hi Julian, Julian W. wrote: > Hallo, > bin relativer neueinstiger in Sachen uC. > Zuerst bin ich ins PIC-Lager gegangen, würde jetzt aber gerne ins > AVR-Lager aufgenommen werden ;) Klar... warum nicht? ;) > Was gibt es bei den AVR's. Hab nur Atmega und Attiny gefunden. Gibt > es sonst noch weitere Klassen? Es gibt die ATtiny, ATmega und bald auch die ATXmega. AVRs sind generell 8-bittig bieten aber nach oben einigen Spielraum. > 2. Wie sieht es mit dem Speichertyp aus. Ist der immer Flash? Programmspeicher ist Flash und die meisten Typen haben als Konfigurationsspeicher auch einen EEPROM. > 3. Wie programmiert man die AVR's. Kann man alle Modelle in C > programmieren? Oder welche sollte man besser in ASM programmieren? Man kann bis auf ein paar sehr kleine Tinys, die keinen RAM haben, alle AVRs problemlos in C programmieren (ohne Verreenkungen). > 4. Könnt ihr mir ein GÜNSTIGES Programmiergerät empfehlen? Mal wieder das STK500, das es z.B. bei Reichelt gibt. Das kannst Du zwar nicht mit den XMegas verwenden (die es ohnehin momentan nur auf dem Papier gibt), aber fuer den Einstieg hast Du alles, was Du brauchst. Wenn Du nur einen ISP-Programmer willst ist der AVR-ISP oder der USBProg moeglicherweise etwas fuer Dich. Aber gerade am Anfang bietet das STK einige nicht unwesentliche Vorteile. > 5. Wo bestellt ihr eure AVR's? Bei Reichelt blick ich nicht ganz durch? > Da sind die PIC's besser sotiert (oder ich verstehe das System der > AVR's nicht). Reichelt hat zwar nicht die ganze AVR-Familie, aber doch ziemlich viele und der Preis ist durchaus OK. > 6. Haben die AVR's was mit dem ARM-Prozessor gemeinsam? Der > ARM-Prozessor ist ja sehr leistungsstark und wird oft von embbeded > Linux-System benutzt. Nein. > Bei diesen embedded Linux-System kann man ja alle Programme > drauf laufen lassen, die es für Linux gibt (sofern sie für den ARM > vorliegen), oder etwa nicht? Und wie würde ich dort dann die Ports > ansteuern oder gar Peripherie (Netzerk, Grafikkarte) anschließen? > (Komme darauf wegen dem Grasshopper Board, welches ja einen AVR32 > besitzt) Der AVR32 hat mit dem AVR garnichts zu tun, das ist ne ganz andere Gewichtsklasse ;) > Das wären meine Fragen. Denke, ihr könnt mir helfen (meine Probleme > sollten ja für AVR-Kenner/Fanatiker kein Problem). > > MfG > Julian Alles Gute dann, Michael
>Flash-Speicher haben sie also alle, gibt es also keine mit nur einmal >beschreibbarem Speichern, den man nur mit UV-Lampen löschen kann. Wozu auch? 100000 Schreibzyklen sollten reichen. AVR kann man auch durch setzen von Lock-Bits gegen Auslesen sichern. >(bevor man also ein etwas komplexeres Gerät wegwirft, kann man mal >nachsehen, ob ein ARV verbaut ist ;) Ein Gerät, in dem ein AVR verbaut ist, wirft man nicht weg... ;) >Die programmiert man also auch nicht wie normale Atmegas, sondern es läuft >ein Linux drauf und das steuert alles. Kann sein. Hab ich keine Ahnung von.
Julian W. wrote: > Und mit dem ARM-Prozessor, die haben also nur ein gemeinsames Präfix > (AVR) im Namen, Das wäre mir neu. ARM und AVR haben wirklich nichts miteinander zu tun. ARMs von ATMEL heißen AT91[...], einige AVRs (die mittlerweile abgeküdigten "klassischen" inklusive) beginnen mit AT90[...], die 8051er von ATMEL heißen AT89[...]. Nicht verwechseln, das sind völlig unterschiedliche Dinge, die nur das "AT" gemeinsam haben, und das steht (wie Du sicher denken kannst) lediglich für den Hersteller.
Nunja, das STK500 kostet bei Reichelt gute 80€. Mir geht es hauptsächlich nur ums programmieren. Mit einem ISP-Programmer kann man doch alle z.Z. erhältliche AVR's programmieren, oder? Wie sieht es mit dem ISP-Programmer aus: Beitrag "Serial AVR programmer selber bauen" http://www.mikrocontroller.net/attachment/19112/AVR-Prog-Paral.jpg Würde der mit allen Typen funktionieren? Und was ist mit dem USBProg vom hauseigenem Shop? http://shop.embedded-projects.net/product_info.php?info=p6_usbprog-v3-0--Adapter-vormontiert-.html Würde der auch alle AVR's programmieren können? Testplatinen zu erstellen, wäre für mich kein Problem.
Übrigens ist die Klassifizierung nach "stärker" und "schwächer" sehr an den Haaren herbeigezogen. Es gibt mittlerweile ATTinys, die fast genau so viel können (und fast genau so groß sind) wie die kleineren ATMegas. Der Hauptunterschied zu den ATMegas ist, dass diese einen Hardware-Multiplizierer besitzen, der den Tinys generell fehlt. Außerdem haben die Tinys (bis auf den ATTiny2313, der aus historischen Gründen aus dem Rahmen fällt) zur seriellen Kommunikation nur ein sogenanntes Universal Serial Interface (USI), mit dem man sich die üblichen Schnittstellen wie SPI und U(S)ART durch entsprechende Konfiguration und ein bisschen zusätzlichen Programmieraufwand selbst stricken muss. Die Zahl der Typbezeichnung enthält immer die Größe des Programmspeichers, und zwar sind das jeweils die ersten 1-3 Ziffern, die noch eine Zweierpotenz ergeben. Z.B. ATMega168: 16 ist eine Zweierpotenz, 168 aber nicht -> 16 KiB Flash ATTiny85: 8 ist eine Zweierpotenz, 85 nicht -> 8 KiB Flash. ATTiny2313: 2 ist eine Zweierpotenz, 23 nicht -> 2 KiB Flash Die anderen Parameter muss man sich dann aus den Übersichtstabellen zusammensuchen. Übrigens sind die oben erwähnten AVRs ohne SRAM (die praktisch nur in Assembler sinnvoll programmierbar sind) mittlerweile alle abgekündigt. Alle derzeit produzierten AVRs haben SRAM und sind in Hochsprachen programmierbar.
Julian W. wrote: > Nunja, das STK500 kostet bei Reichelt gute 80€. > Mir geht es hauptsächlich nur ums programmieren. Mit einem > ISP-Programmer kann man doch alle z.Z. erhältliche AVR's programmieren, > oder? Alle derzeit im Handel befindlichen AVRs sind über ISP programmierbar. Wenn Du Dir einen vernünftigen Programmer für ca. 40 € kaufst, bist Du auf jeden Fall auf der sicheren Seite. Selbstbaugeräte (v.a. die für die serielle Schittstelle) sind manchmal etwas zickig, dafür aber preislich unschlagbar. Nur besitzen aktuelle Computer seltenst eine parallele Schnittstelle und auch die gute alte RS-232 verschwindet immer mehr (speziell bei Notebooks ist sie bereits weitestgehend verschwunden).
Nunja, mein Rechner hat weder COM noch LTP, hab aber noch einen alten PC da stehen (WIN 2000), der noch funktioniert und auch beide Schnittstellen besitzt. Werde zum probieren erst mal so ein "billig" ISP programmierer bauen. Zum probieren reicht es ja und den STK500 kann man später immer noch kaufen. Was haltet ihr den von dem USBProg?
Julian W. wrote: > Was haltet ihr den von dem USBProg? Den kannste nehmen. Oder den originalen AVRISP MK II mit USB (liegt preislich ähnlich und hat den Vorteil, dass er in einem Gehäuse verpackt ist). Es gibt nebenbei auch noch den AVRDragon, der alle möglichen Arten der Programmierung beherrscht (inkl. JTAG / DebugWire) und mit dem man auch alle AVRs bis 32 KiB Flash In-System debuggen kann. Der Dragon ist dabei ziemlich preisgünstig.
wobei man noch sagen sollte das viele Programme unter 2000/NT/XP keinen Zugriff auf die Ports haben, da braucht man dann spezielle Treiber um das zu umgehen. Ich empfehle den ATMEL AVR-ISP damit kann man aus dem AVR-Studio raus programmieren und mus nicht solche umwege gehen wie HEX in BIN umwandeln usw. Wenn man ein bischen mehr Geld übrig hat sollte man sich das STK500 kaufen.
@johannes die 32 kb-grenze des drachen ist gefallen! war auch schon hier im forum (nur PC-Einstellungen) @julian Ich würde auch den Atmel MK II empfehlen (Gehäuse), der drachen ist manchmal etwas empfindlich. gruß hans
Es gibt doch wesentlich mehr AVRs als die Megas, Tinys und Xmegas? Lightning, LCD, Can, USB... siehe www.atmel.com
Hab gehört, es gäbe eine Seite, wo man seine Anforderungen (PINS, Timer, Speicher) reinschreiben kann und einem dann die uC (AVR'S) angezeigt werden. Kann mir einer den Link posten?
http://www.atmel.com/dyn/products/param_table.asp?family_id=607&OrderBy=part_no&Direction=ASC http://www.atmel.com/dyn/products/devices.asp?family_id=607
Danke, den ersten Link hab ich gesucht und gleich mal als Lesezeichen gesetzt!
Ich würde aber nicht unbedingt danach vorgehen, sondern eher die "Standard"-AVRs nehmen, ich wähle im Prinzip immer nur zwischen Mega48/88/168 und Mega128/256/1280/2560. Anders ist es natürlich, wenn du Spezialfunktionen brauchst, Can, USB, viele PWM, ...
Jop, werde mich jetzt auch erst mal umgucken, welches so gängige Typen sind. Hier gibt es ja viele Projekte und Tutorials und das Netz quillt schon fast über...
Noch ein Tip zur Programmierung: Mit Bascom kommst du sehr schnell zu Ergebnissen, wenn dir nach mehr ist kannst du ja auf C umsteigen, aber C ist Frust beim Lernen ;) So, jetzt muss ich mich ducken, Bascom darf man hier kaum erwähnen :D
Naja probieren kostet ja nichts. Auserdem bin ich im Forum auch schon darauf gestosen, weiß aber noch nicht, was ich davon halten soll. Werde es mal ausprobieren, wird auf jeden Fall nicht den Controler zerschießen ;)
Julian W. wrote: > Hab gehört, es gäbe eine Seite, wo man seine Anforderungen (PINS, Timer, > Speicher) reinschreiben kann und einem dann die uC (AVR'S) angezeigt > werden. > > Kann mir einer den Link posten? Die Non-plus-ultra-Auswahlseite: http://www.avrfreaks.net/index.php?module=Freaks%20Devices&func=devCompare Gruß, Magnetus
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.