PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Controller config



NomiS
09.11.2007, 23:23
So nochmal eine frage,

ich kenne es von Bascom das man am Programmbeginn den Controller definieren muss. Wo erfolgt diese Definition im ASURO Programm. Es wird ziemlich viel verschachtelt includet aber in keiner der Dateien kann ich eine Controllerdefinition erkennen? Wo ? Grund: Ich möchte das Programm so ändern das man einen MEGA 64 verwenden kann. Der ist aber nicht Pinkompatibel und ich muss die Includeten daten ändern. Aber wo ändere ich den Controller?

Sternthaler
10.11.2007, 03:20
Hallo NomiS,
wenn du mit dem AVR-Studio arbeitest, kannst du das unter dem Menüpunkt 'Project' 'Configrration Options' einstellen.
Diese Einstellung wird in einem Makefile hinterlegt. Das findest du auf der Platte im Projekt.
In dem Makefile ist ein Eintrag ungefähr so vorhanden:
# MCU name
MCU = atmega8

Jetzt stellt sich mir aber noch die Frage, warum du einen ATmega64 ansprechen willst? Du hast deinen Eintrag im ASURO-Bereich gemacht, und der hat ja ne'n ATmega8 drauf.

Gruß Sternthaler

NomiS
10.11.2007, 11:57
Ich finde es schade dem Asuro bei jeder Erweiterung ein "Altes Teil" klauen zu müssen. In der beiden Bändern "Mehr Spaß mit Asuro" fängt man damit aber ja schon bei der ersten Erweiterung an. Außerdem habe ich noch einen Mega64 von einem anderen Projekt übrig und bevor der verstaubt kann ich ja auch diesen nutzen. Es geht mir hierbei um den Lerneffekt. Beim Asuro sind ja alle Funktionen schon vordefiniert. Wenn man sie umschreiben muss (nicht Pinkompatibel, andere Taktfrequenz) ist man gezwungen tiefer in die Materie einzusteigen und da ich Elektrotechnik studiere und dort auch gerade mit dem Asuro zu tun habe, tut mir das ganz gut. Also wer Lust hat zu helfen darf das gerne tun. Meine Idee sieht im Moment so aus:
Asuro bekommt einen MEGA64
Die Software wird angepasst
Erweiterungen sind ohen "Verluste" möglich
Die IR-Schnittstelle wird als Sensor genutzt (Entfernungsmessung)
->das habe ich hier im Forum schon mal gesehen
evtl. den MEGA8 zur IR-Kommunikation nutzen
->das habe ich jedoch noch nie gemacht
..... eigene Ideen ... eure Ideen ???
Gruß Simon

damaltor
10.11.2007, 12:32
willst du den alten prozessor also drauflassen? dann müsstesat du eine art kommunikationsprotokoll entwickeln. ich denke, ic würde den mega8 entfernen, und dann die wichtigen pins des neuen prozessors mit den alten anschlüssen verbinden. so können viele funktionen ohne änderung übernommen werden, und trotzdem ist noch mehr speicher und freie beinchen vorhanden.

NomiS
10.11.2007, 13:34
ja ich denke nur der MEGA64 ist das einfachste dann geht halt die IR-Komunikation zum Programmieren nicht mehr. Die liegt doch in diesem geschützten bootloader des MEGA8 oder? aber ist eigentlich egal per ISP gehts eh schneller und z.Z. macht die IR-Programmierung nur Schwirigkeiten.
Mit Zimmerlicht wills nicht so recht und ohne seh ich nix.
Aber damaltor du scheinst dich mit controllern ja gut auszukennen. Was muss ich den so alles beachten oder ändern wenn ich den MEGA8 gegen den MEGA64 ersetze.Also der MEGA64 sitzt auf einer eigenen Plarine alle Pins sind per Steckstiefte erreichbar. Der Takt ist 8Mhz.
Ich denk mal ich muss alles auf die 8Mhz anpassen und in der Software die Pins ändern da z.b die ADC´s die Interrupts ... auf anderen Ports liegen. Sonst noch was?
Dazu muss ich ja nur asuro.h und mein test.c ändern oder
Gruß

damaltor
10.11.2007, 13:54
da der mega8 ebenfalls mit 8 mhz läuft, ist das grundlegende timing schonmal gleich.

ich würde mir von unten an die platine des meg64 28 lange stifte löten, und darauf die richtigen pins des meg64 legen, so dass das pin-layout so aussieht wie das des meg8 (ausser dem quarz, der gehört auf die 64er platine). dann kannst du den meg64 einfach wie einen prozessor in den sockel des asuro einstecken, und mit den noch nicht verwendeten pins erweiterungen aufbauen.

dann gehst du alle fnktionen durch und passt sie an, wenn nötig. sofern du den meg64 bei 8 mhz laufen lässt, ändert sich die geschwindigkeit ja nicht , wenn du ihn auf 16 mhz laufen lässt dann musst du einiges ändern. allerdings erhöht das dann natürlich auch den stromverbrauch.

gibt es den mega64 auch ein einer "L"-variante? also atmega64L? diese brauchen etwas weniger strom (so wie der asuro-prozi ein atmega8L ist).

NomiS
10.11.2007, 14:10
auf meinem Board ist ein MEGA64L 8AI 0414 also schon LOW Power.
Ich hab mal en kleinen Ansichtsplan der Platine (is aber in EXCEL) war nur zum Programmieren gedacht. Bin aber noch net dazu gekommen die Pins zu rooten. (Außer reset ;-) ) Wenn ich jetz z.B. Int0 nehm die liegen beim MEGA8 PD2 beim MEGA64 auf PD0 also muss ich das ja umschreiben. So einfach wirds als nicht, oder?
Und wenn ich WinAVR benutzen kann ich da einfach das makefile auf den MEGA64 umschreiben indem ich MCU = atmega64 schrieb ?

damaltor
10.11.2007, 14:25
ja so ungefähr läuft das. viele pins werden aber sicher gleich sein.