PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ATMEGA88 durch ATMEGA644 ersetzen?



lindworm
11.11.2007, 13:38
Hi, nach einer ganzen Weile hab ich mich mal wieder an meinen kleinen Mikrowebserver gesetzt, welcher diesem (http://tuxgraphics.org/electronics/200606/article06061.shtml) Projekt entspricht.
Inzwischen habe ich allerdings mehrere Erweiterungen gebastelt, welche über die 9-pinnige J1-Leiste angesprochen werden klick für Schaltplan (http://tuxgraphics.org/common/images2/article06061/eth-remote-device.gif) (zum Beispiel das LCD (http://tuxgraphics.org/electronics/200702/article07021.shtml) und eine Relais-Karte mit der ich mehrere Steckdosen schalten kann)

Um alle Erweiterungen gleichzeitung betreiben zu können und um mehr Speicher und Rechenleistung zu haben würde ich den genutzten ATMGEA88 gerne durch einen ATMEGA644 den ich noch hier habe ersetzen. Dass ich die entsprechenden Pins des 644er auf den Sockel des 88er angleichen muss ist klar. Nur frage ich mich, ob das insgesamt überhaupt funktionieren wird. Die Spannung (welche bei diesem Board nur 3,3 Volt beträgt) sollte für den 644er ausreichen, bis 10 Mhz läuft der ab 2,7 Volt.
Da der ATMEGA88 kompatibel zum kleineren Bruder ATMEGA8 ist und der 644er zum ATMEGA32 und ATMEGA64 kompatibel ist, würde es reichen wenn jemand sagen kann ob (und wie) ein 8er durch einen 32er austauschbar ist.

Dass ich die angegebenen Controller im Quelltext bzw. makefile ersetzen müsste ist soweit klar nur frage ich mich, ob es überhaupt möglich ist und wenn ja mit welchem Aufwand.

Vielen Dank im Vorraus,
Lindworm

Hubert.G
11.11.2007, 13:52
Ansich sollte das kein sehr großes Problem sein, du musst nur die Namen der diversen Register und ISR anpassen. Der Compiler sagt die welche Namen er nicht kennt.

lindworm
11.11.2007, 14:20
Hmm also ich hab mir die Register mal angesehen und sehe eigentlich keine Unterschiede in den Datenblättern:

http://www.atmel.com/dyn/resources/prod_documents/doc2545.pdf Ab S. 343
http://www.atmel.com/dyn/resources/prod_documents/doc2593.pdf Ab S.354

Meinst du mit ISR die
Interrupt Service Routine?

Was müsste ich bei der ISR ändern?

Grüße Lindworm

Besserwessi
11.11.2007, 14:35
Es gibt sonst noch den Mega168, der ist sehr leicht für den Mega88 einzusetzen, aber nicht schneller.

Die unterschiede bei den ISR sind wohl nur die Namen. Um die eventuell andere Position der Vektoren kümmert sich schon der Complier / Assembler.

lindworm
11.11.2007, 14:53
Hmm beim Mega168 hab ich aber nicht mehr Ausgangsports als beim 88er, was eines meiner Hauptanliegen ist ;)

Hubert.G
11.11.2007, 16:50
Lass es einfach mal durch den Compiler laufen, dann siehst du was er alles anmeckert.