Hallo Peter,
darauf kopmme ich gerne zurück, wenn ich mal so richtig angefangen habe und es klemmt!
Gruss Heiner
Hallo Heiner, wenn du Fragen hast, werde ich versuchen sie zu beantworten. Das gilt natürlich für alle an diesem Thema Interessierten!
Peter (Ronny10)
Hallo Peter,
darauf kopmme ich gerne zurück, wenn ich mal so richtig angefangen habe und es klemmt!
Gruss Heiner
habe ich das richtig verstanden: atmega168 + dieser boatloader und ich kann den atmega168 als ersatz für den atmega8 samt IR flaschen und aller sonstigen software nutzen?Zitat von damaltor
gruß inka
ja, das müsste es theoretisch gewesen sein. evtl musst du die fusebits noch setzen, ich würde folgendes vorschlagen:
Low Fuse: 0xD6
-Takt Wird NICHT durch 8 geteilt
-Takt wird NICHT am Pin PB0 ausgegeben, der Pin kann normal genutzt werden
-Externer Quarz, Volle SChwingung (Motoren stören sonst), Längstmögliche Start-Up-Zeit (ca 100ms) falls die batterien etwas leerer werden)
High FUse: 0xD5
-Reset Pin ich KEIN I/O pin (sonst wäre flashen per ISP nicht mehr möglich)
-Debugwire ist abgeschaltet
-ISP bleibt eingeschaltet, falls du es nochmal brauchst
-Watchdog ist nicht dauerhaft per hardware aktiviert, sondern wird bei bedarf softwaremäßig gestartet
-Der EEPROM bleibt bei einem "Chip Erase" erhalten
-Brown Out Detection ist Eingeschaltet. WEnn die BAtteriespannung unter 2,7V fäält wird der PRozessor in reset gehalten (evtl wäre hier die nächsthöhere Stufe, 4,3V, angebracht. wenn dir das lieber ist melde dich mal)
Extended Fuse: 0xF8
Bootloader-Bereich ist 1024 Words groß (ist ne schätzung, es sollten auch 512 words reichen. probiers mal.)
NAch reset wird der Bootloader gestartet
ACHTUNG: das bereits kompilierte hex-file ist für einen mega8, du musst also auf jeden fall neu kompilieren!!
flashen kannst du dann mit dem auf der page verfügbaren software "OConsole", hyperterminal/minicom werden weiter funktionieren wie gewohnt. das flash tool wird nicht mehr gehen.
hi damaltor,
danke für die info,
jetzt ist es die frage: was gewinne ich ausser dem größeren speicher? So richtig bin ich aus der doku bei atmel nicht schlau geworden. Die anzahl eder aus/eingänge ändert sich wohl nicht, oder?
gruß inka
die beiden chips sind pinkompatibel. sie haben die gleiche bauform, und die gleiche pinbelegung. eigentlich gewinnst du (sichtbar) nur den doppelten speicher, intern ist der prozessor etwas moderner (er hat zB drei Fuse bytes anstelle der zwei des mega, das dürfte dir aber nicht auffallen beim arbeiten. evtl ist der eeprom auch doppelt so groß, das weiss ich aber nicht aus dem kopf. der mega168 hat 16kb speicher (minus 1 für den bootloader), und ist ansonsten mehr oder wneiger identisch.
ok,
da ich einen weg Suche um bei der verwendung der erweiterungsplatine nicht auf die linienerkennung verzichten zu müssen werde ich wohl nach anderen möglichkeitenn ( https://www.roboternetz.de/phpBB2/viewtopic.php?t=9635 ) ausschau halten...
gruß inka
die einfachste (naja...) lösung wäre, eine extra platine aufzusetzen, auf die du einen meg16 oder 32 steckst, und dessen richtige pins durch lange stifte in den original-sockel des mega8 verbindest, ungefähr wie beim asuro eval board (asurowiki!)
somit könnte ich dann - nur theoretisch, oder auch praktisch? - die zusätzlichen ressourcen eines atmega16, bzw. 32 auf diesem steckboard nutzen, ohne die normalen funktionen des asuro zu beeinträchtigen? Könnte also z.b. die ansteuerung und auswertung der liniendioden nach oben zu den zusätzlich ein/ausgängen verlegen?
Wenn das so einfach ist - wieso gibt es nicht schon eine reihe solcher lösungen?
gruß inka
naja ganz einfach ist es eben leider nicht...
du müsstest...
-eine platine aufbauen, auf der ein meg32 o.ä. sitzt
-die richtigen pins des mega32 finden, welche beim meg8 des asuro benutzt werden (z.B. PD6 für die frontled...)
-diese pins mit litzen oder anderer verdrahtung (wenn du lust hast, kannste auch ätzen) so anordnen, dass sie dem meg8 des asuro entsprechen, und auf zwei reihen mit je 14 langen pins legen, welche nach unten aus der neuen platine ragen
-dann kannst du diese langen pins in die fassung des asuro-meg8 stecken. jetzt werden die programme die du schreibst (für den meg32) ausgeführt, und die bereits belegten pins (wie zB die frontled) über die langen stifte und über die alte fassung des meg8 zur asuro-hauptplatine "durchgeschleift", und alle noch unbenutzten pins des meg32 ständen dir frei zur verfügung.
nachteil: flashen per IR fällt erstmal weg, bis du einen bootloader im meg32 hast (das alte henne-ei-problem: du brauchst IR zum flashen, aber ohne einen bootloader geflasht zu haben hast du kein IR)
könnte recht wackelig werden, wenn die platine nur mit den pins in der fassung befestigt ist, man sollte drüber nachdenken das bohloch der asuro platine zur besseren befestigung zu nutzen
ausserdem ist es absolut nicht empfehlenswert, den quarz so weit vom prozessor zu haben, die pins für den quarzanschluss des meg32 würde ich deshalb mit einem neuen quarz auf der neuen platine verbinden und den alten quarz des asuro einfach unbenutzt lassen.
der originale meg8 fällt dann natürlich weg!
Lesezeichen