Forum: Mikrocontroller und Digitale Elektronik 65C21 Peripherie Baustein am STM32


von Rainer S. (rsonline)


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

von (prx) A. K. (prx)


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.

: Bearbeitet durch User
von Rainer S. (rsonline)


Lesenswert?

Den 65C21 habe ich mit einem Atmel AVR ansprechen können, auch ohne 
konstantem Takt.

Der HD63B40 ist ein Timer.
Hier wird der Takt für den Timer gebraucht.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Dein µC verfügt sowohl über programmierbare I/O-Ports als auch Timer - 
warum willst Du externe PIA und Timer an Deinen µC anschließen?

Was bezweckst Du damit?

von (prx) A. K. (prx)


Lesenswert?

Rainer S. schrieb:
> Den 65C21 habe ich mit einem Atmel AVR ansprechen können, auch ohne
> konstantem Takt.

Yep, hatte ich nachgereicht. Aber für Interrupts und CA/CB-Funktionen 
könnte ab und zu mal ein Takt nötig sein.

Der Sinn erschliesst sich mir aber auch nicht.

: Bearbeitet durch User
von Rainer S. (rsonline)


Lesenswert?

Mehrere PIA und Timer sind in einem System schon vorhanden.
Das System wird vom Hersteller nicht mehr gewartet/unterstützt.

Die PIA's und Timer sollen übernommen werden werden durch Austausch 
einer Prozessorkarte.

Man könnte die PIA's und Timer auch ersetzen/erneuern, ja.

von (prx) A. K. (prx)


Lesenswert?

Was spricht gegen 68xx Controller? Die tun sich damit naheliegenderweise 
leichter. Ob/Welche Controller auf 68xxx Basis auch noch den E Takt 
unterstützen weiss ich nicht.

: Bearbeitet durch User
von (prx) A. K. (prx)


Lesenswert?

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

Wenn der STM32 gesetzt ist, wär das wohl sinnvoller.

von Rainer S. (rsonline)


Lesenswert?

A. K. schrieb:
> Was spricht gegen 68xx Controller?

Die komplette Einarbeitung in den Controller. 2 Controller zu 
programmieren ist eigentlich schon genug (AVR, STM32).

von (prx) A. K. (prx)


Lesenswert?

Und wenn aufgrund des Bus-Aufbaus des Systems die interne Peripherie des 
STM32 nicht durchgereicht werden kann, dann scheint mir der Z8536 CIO 
Baustein sinnvoller zu sein (aka Z08536). Der sollte beide Bausteine 
voll abdecken können, ist aber im Interfacing angenehmer.

: Bearbeitet durch User
von Rufus Τ. F. (rufus) Benutzerseite


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).

von Rainer S. (rsonline)


Lesenswert?

Die Software ist so gut wie fertig.
Der PIA funktioniert mit dem AVR.
Der Timerbaustein halt (noch) nicht.
Schwierig ist hier der konstante Takt, 8 MHz.
Mit dem Timerbaustein wird eine A/D Wandlung per U/F Wandler 
durchgeführt.
Alternativ könnte ich eine eigene A/D Karte bauen.

von (prx) A. K. (prx)


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.

: Bearbeitet durch User
von Thomas E. (picalic)


Lesenswert?

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

Wieso? Der STM32 hat doch Timer, die sowas per Hardware erzeugen können.
Die Software muss sich dann zum Erzeugen des Bus R/W Zyklus nur noch mit 
diesem per HW erzeugten "E"-Takt synchronisieren.

von (prx) A. K. (prx)


Lesenswert?

Diese 8 MHz sind nicht der E Takt.

von Thomas E. (picalic)


Lesenswert?

A. K. schrieb:
> Diese 8 MHz sind nicht der E Takt.

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...

von (prx) A. K. (prx)


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.

: Bearbeitet durch User
von Rainer S. (rsonline)


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.

von Thomas E. (picalic)


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!

: Bearbeitet durch User
von (prx) A. K. (prx)


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.

: Bearbeitet durch User
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.