65C21 Peripherie Baustein am STM32

OP #5037897
Lesenswert?

Kann man den Peripheriebaustein 65C21 am STM32 betreiben mittels 
Businterface?
http://www.westerndesigncenter.com/wdc/w65c21-chip.cfm

Bzw. den HD63B40 (gleiches Businterface). R/W, Takt, /CS, Register 
select (Adressbus)
http://docs-europe.electrocomponents.com/webdocs/001d/0900766b8001d373.pdf
#5037907
Lesenswert?

Die meisten 65xx/68xx Bausteine sind recht ungünstig für Prozessoren 
ausserhalb dieser Reihe, da der E/Phi2-Anschluss eine Doppelrolle hat. 
Einerseits benötigen sie daran oft einen ununterbrochenen konstanten 
Takt. Gleichzeitig steuert der Anschluss aber auch Ablauf eines 
Buszugriffes. Der STM32 müsste sich für den Zugriff also auf diesen Takt 
aufsynchronisieren.

Der 6521 hat keine internen Timer, folglich muss der Takt nicht konstant 
sein. Aber alle internen Abläufe hängen davon ab. Es würde in diesem 
Fall also ausreichen, ausserhalb der Zugriffe mehr oder weniger 
reglmässig Pulse drauf zu legen.
Persönliche Seite #5037957
Lesenswert?

Rainer S. schrieb:
> Man könnte die PIA's und Timer auch ersetzen/erneuern, ja.

Das ist vermutlich sogar weniger Aufwand als der Versuch, das alte 
68xx-System nachzubilden; die Software muss eh' komplett neugeschrieben 
werden (oder soll auf dem STM32 ein 68xx-Emulator laufen, der den 
bisherigen Maschinencode 1:1 abarbeitet? Schnell genug wäre er dafür).
#5038095
Lesenswert?

Rainer S. schrieb:
> Schwierig ist hier der konstante Takt, 8 MHz.

U/F klingt nicht nach konstanten 8MHz.

Ein Problem beim 6840 (unter vielen Namen) ist, wie nicht anders zu 
erwarten, dass externe Eingänge mit E synchronisiert werden. Allerdings 
liegt E beim 63B40 bei maximal 2MHz, minimal 100kHz. 8MHz sind da nicht 
drin.

8MHz beträgt der maximale Takt des /8 Prescalers eines der 
Counter/Timer. In diesem Fall wird der Ausgang des Prescalers mit E 
synchronisiert. Die Anforderungen an E sind bei Einsatz nur als Counter 
geringer, auch was Präzision von Frequenz und Jitter angeht.

Lösbar ist das schon. In Hardware wie in Software. Mit Hardware kann man 
ein 68xx Businterface bauen, das einen Buszugriff des STM32 auf den 
festen E-Takt des 68xx Busses synchronisiert. Auch in Software sollte es 
möglich sein, wobei man dann aber recht harte Zeitbedingungen einhalten 
muss.

Die Frage aller Fragen ist aber, inwieweit es sich lohnt, bestehende 
Peripherie mit Hängen und Würgen einzubeziehen, die ein STM32 fix und 
fertig mitbringt. A/D hat der STM32 schon an Bord, also wenn dessen 
Qualität ausreicht... Und ein externer A/D an SPI oder ein bestehender 
U/F an einem internen Timer ist auch kein Hexenwerk.
#5038321
Lesenswert?

Thomas E. schrieb:
> Ok, dann um so mehr die verwunderte Frage von mir, was an der Erzeugung
> eines konstanten 8 MHz Takts mit dem STM32 so schwierig sein soll? Wenn
> der Byszyklus darauf noch nicht mal synchronisiert werden muss...

Die 8 MHz sind möglicherweise ein Ablenkungsmanöver des Fragestellers. 
Er schreibt, dass ein ADC per U/F-Wandler dran hängt. Es also eigentlich 
um Frequenzmessung geht. Dafür braucht man einen Zähler und eine 
Zeitreferenz. Als Zähler dient offenbar der Baustein. Möglicherweise 
fungiert ein zweiter Festfrequenztimer als Gate für den Zähler.
OP #5038794
Lesenswert?

Thomas E. schrieb:
> Wenn
> der Byszyklus darauf noch nicht mal synchronisiert werden muss...

Doch, der Buszyklus sollte dann schon darauf synchronisiert werden.


Der Ursprüngliche 63B09P Prozessor wird mit 8 MHz betrieben, so wie es 
auf der Platine aussieht. Auf dem Quarz steht '8000 P1 10'. Im 
Datenblatt steht aber 0,5 - 3 MHz. Also kann das evtl. kein 8 MHz Quartz 
sein. Je langsamer umso besser. Könnte man mal nachmessen. Habe leider 
kein Frequenzmessgerät.

A. K. schrieb:
> Möglicherweise
> fungiert ein zweiter Festfrequenztimer als Gate für den Zähler.

Nein, es wird der Bustakt genommen, das ist ziemlich sicher.
#5038871
Lesenswert?

Rainer S. schrieb:
> Der Ursprüngliche 63B09P Prozessor wird mit 8 MHz betrieben, so wie es
> auf der Platine aussieht. Auf dem Quarz steht '8000 P1 10'. Im
> Datenblatt steht aber 0,5 - 3 MHz. Also kann das evtl. kein 8 MHz Quartz
> sein.

Ist der Quarz denn direkt am Prozessor angeschlossen? Vielleicht ist ja 
noch ein Frequenzteiler im Spiel.

Edit: habe gerade im Internet ein Datenblatt vom Motorola 6809 
aufgestöbert - da steht, daß die Quarzfrequenz 4xE ist, Dein 8 MHz Quarz 
dürfte dann also zu 2 MHz Bus-Takt führen!
#5038888
Lesenswert?

Rainer S. schrieb:
> Der Ursprüngliche 63B09P Prozessor wird mit 8 MHz betrieben,

Nur der Quarzoszillator. Der Prozessortakt ist 1/4 davon.

Für M68xx/HD63xx gilt: Nix=1MHz, A=1,5MHz, B=2MHz, C=3MHz.
Die 65xx haben eine andere Nomenklatur, aber den gleichen Bus.

>> fungiert ein zweiter Festfrequenztimer als Gate für den Zähler.
>
> Nein, es wird der Bustakt genommen, das ist ziemlich sicher.

Da der Bustakt eine feste Frequenz hat, ist das kein Widerspruch.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren