Forum: Mikrocontroller und Digitale Elektronik Möglich einen AT89C2051 durch ATtiny2313 ersetzten?


von B. G. (smarti)


Lesenswert?

Hallo,

ich stehe gerade vor dem Problem eine bestehende Schaltung nachbauen zu 
müssen.

In dieser wird ein AT89C2051 eingesetzt. Leider ist die Orginalsoftware 
nicht mehr vorhanden. Außerdem habe ich "nur" einen AVR Dragon der den 
AT89C2051 nicht flashen kann (ich weiß dass es noch den AT89S2051 gibt). 
Darüber hinaus bin ich mit den AVRs vertraut und habe von den 
8051-Derivaten keine Ahnung.

Nun möchte ich anstatt dem AT89C2051 den ATTiny2313 einsetzten. Gibt es 
was, was gegegen spricht?

Das Pinout des ATtiny2313 ist identisch. Einzig die Taktgeschwindikeit 
macht mir "Sorgen". Der '51 hat ein 24MHz-Quarz, aber wie viele Takte 
braucht er um einen Befehl auszuführen?

Der '2313 hat "nur" max. 20Mhz aber macht einen Befehl mit jedem Takt!

Gibt es etwas das gegen diesen Wechsel spricht?

THX

von Matthias I. (matze5)


Lesenswert?

Wenn man nur wüsste was der genaue Anwendungszweck ist ?

von B. G. (smarti)


Lesenswert?

Öhm sry:

Variable Zeitverzögerungsschaltung welche über Taster eingestellt werden 
kann und auf verschiedene Eingangssignale reagiert.

von Elektriker Horst (Gast)


Lesenswert?

Es spricht bei gleichem Pinout nichts gegen einen Hardwaretausch. Zu 
beachten ist halt wie von dir schon angemerkt die Quarzfrequenz. Der 
8051 benötigt 12Takte pro Zyklus, hat also 2MHz Zyklusfrequenz. Damit 
werden auch die internen Timer getaktet.
Was du sonst noch beachten musst ist die unterschiedliche 
Reset-Beschaltung.

von Thomas E. (thomase)


Lesenswert?

> Variable Zeitverzögerungsschaltung welche über Taster eingestellt werden
> kann und auf verschiedene Eingangssignale reagiert.
Programmier das einfach und gut. Du hast ein Board und einen leeren 
Controller. Dass da eigentlich ein 8051 reingehört, ist bis auf die 
Resetbeschaltung und den 24MHz-Quarz egal. Eigentlich muss man das gar 
nicht wissen. Das Zeitverhalten wird über Timer gesteuert. Da ist es 
auch egal wer wie was wo und überhaupt mit welchem Takt jemals 
angetrieben wurde. Du willst ja nicht das alte Programm zum Laufen 
bringen, sondern eine bestimmte Funktion wieder herstellen. D.h. du 
willst einen Zeitschalter programmieren. Das geht mit einem 2313 
hervorragend.

mfg.

von Peter D. (peda)


Lesenswert?

B. G. schrieb:
> Variable Zeitverzögerungsschaltung welche über Taster eingestellt werden
> kann und auf verschiedene Eingangssignale reagiert.

Das sollte kein Problem sein.

Nur bei Anwendungen, wo der 2051 schon randvoll ist, könnte eventuell 
ein 4313 nötig sein.

von B. G. (smarti)


Lesenswert?

Ok, das sieht dann doch ganz gut aus.

Ja, auf die geänderte Resetbeschaltung muss ich achten. Und 12 Takte pro 
Zyklus konnte ich leider nicht im Datenblatt finden, aber dann habe ich 
mit meinem ATTiny bei 20MHz keine Probleme.

Für die Zeitverzögerung macht es Sinn auf ein Uhrenquarz zu gehen.

Vielen Dank für die schnell Hilfe!

von Thomas E. (thomase)


Lesenswert?

B. G. schrieb:
 > Für die Zeitverzögerung macht es Sinn auf ein Uhrenquarz zu gehen.
???
Willst du den Attiny jetzt mit 32,768KHz laufen lassen?

mfg.

von Peter D. (peda)


Lesenswert?

B. G. schrieb:
> Und 12 Takte pro
> Zyklus konnte ich leider nicht im Datenblatt finden

Ja, die frühen Datenblätter von Atmel sind wahrlich nicht der Bringer.
S. 3:
"4.5 RST
...
Each machine cycle takes 12 oscillator or clock cycles."

von B. G. (smarti)


Lesenswert?

@ Thomas
Ein wenig unglücklich formuliert. Ein Quarz aus dem sich eine schöne 
Zeitbasis per Teiler 2^x erreichen lässt z.B. 10,24MHz

@ Peter

Ah okey, wenn man weiß wonach man suchen muss ^^ Beim ATTiny steht da 
auf Seite 4 ".. one single instruction executed
in one clock cycle.." bzw. Seite 7 " .. instructions to be executed
in every clock cycle .."

Aber die AVRs sind mir auch geläufig...

von Peter D. (peda)


Lesenswert?

B. G. schrieb:
> Ein Quarz aus dem sich eine schöne
> Zeitbasis per Teiler 2^x erreichen lässt z.B. 10,24MHz

Das ist Denke aus dem vorigen Jahrtausend, wo man noch TTL-Gräber 
benutzte.

Ein MC kann rechnen bzw. wenn man es nicht allzu dumm anstellt, rechnet 
der Compiler schon alle Konstanten aus und der MC macht nur 
Zählen/Vergleichen.

Einen Zwang zu bestimmten Quarzfrequenzen gibt es nur für UART/CAN.
Wobei manche MCs auch gebrochene Zahlen als Teiler realisieren können.

Für einen Küchentimer ist aber schon der interne RC-Takt genau genug, da 
brauchts keinen Quarz.

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
Noch kein Account? Hier anmelden.