Forum: Mikrocontroller und Digitale Elektronik Betreibt jemand den 68HC001 im 8 Bit Modus?


von Mi N. (msx)


Lesenswert?

Vielleicht zu speziell, aber ich frage einfach mal.
Beim 68HC001 bestimmt ein Eingang MODE, ob der Datenbus mit 8 oder 16 
Bit Busbreite angesprochen wird: 8 Bit Modus bei MODE=0 und A0 wird 
angesteuert.

Bei einer älternen Schaltung bleibt nach einem /RESET die A0-Leitung auf 
'1' stehen und das Programm kann nicht mehr laufen. Während des /RESETs 
ist die Adressleitung schwebend.
Die ersten acht Zugriffe im 8 Bit Modus liefern Stackpointer- und 
Startadresse. Diese Zugriffe finden auch statt (/LDS auf '0' bei jedem 
Zugriff, /UDS immer auf '1') und sind unbahängig von angeschlossener 
Peripherie oder Adressdekodern. A0 müßte folglich alternierende Pegel 
haben, wie es bei A1 und A2 erwartungsgemäß der Fall ist. Da hier A0 
immer auf '1' steht wird nachfolgend von ungeraden Adressen 'Müll' 
gelesen und die CPU hängt nach wenigen weiteren Zugriffen mit einem 
Bus-Error.
Dieses Verhalten zeigen zwei unterschiedliche Schaltungen mit je eigener 
CPU.

Hat jemand eine ältere Schaltung, die den 68HC001 im 8 Bit Modus 
betreibt und kann Ähnliches berichten oder läuft diese wie gehabt?

von Friedrich J. (6a66)


Lesenswert?

Hallo Mi N.

Das Verhalten wie Du es beschreibst und erwartest ist logisch richtig. 
Habe einiges mit 680xx gemacht. Ich vermute dass
a) entweder MODE nicht richtig gelatched wird. Muss einige Zeit nach 
Reset stabil sein, darf sich auf nach Reset nicht ändern. Siehe 
Freescale/NXP Datasheet. BTW: Mode muss 1 sein nach Datenblatt. Dass LDS 
low ist würde bestätigen dass der Prozessor nur auf D0..7 zugreifen will 
und A0 müsste sich bei jedem Zugriff ändern.
b) oder dass A0 verklemmt ist. Bitte prüfe ob A0 nicht durch ein anderes 
Device auf 1 geklemmt ist (Kurzschluss, Schaltungsfehler, ...).

rgds

von Friedrich J. (6a66)


Lesenswert?

Korrektur: Mode muss low sein für 8bit Betrieb.

von Mi N. (msx)


Lesenswert?

Hallo Friedrich,

vielen Dank für Deine Antwort.
MODE = 0 ist fest verdrahtet und wiederholt kontrolliert. Alle anderen 
Bausteine an A0 hatte ich auch entfernt und bei /RESET ist die A0 
Leitung passiv.
Zunächst war ich von einem gelöschten EPROM/GAL ausgegangen. 
Erfahrungsgemäß hatte ich beim Starten auch Daten- und Adressleitungen 
auf VCC/2 Pegel abgesucht, wie sie bei Kurzschlüssen/Lötbrücken 
entstehen können und mit Bus-Error enden. Nur A0 müßte trotzdem 
'wackeln'. Zudem waren die Schaltungen vor > 25 Jahren geprüft und 
funktionsfähig.

Dann hatte ich noch bei einem Kollegen nachgefragt, dem ich vor längerer 
Zeit einige der CPUs überlassen hatte. Er hatte sie im 16 Bit Modus 
betrieben und dabei keine Probleme.
Da drängt sich der Verdacht auf, daß die CPU im Laufe der Zeit ihre 
Eigenschaften verändert hätte, nur findet sich im Netz nichts zu diesem 
Thema. Nur Mutmaßungen helfen hier nicht weiter.

von Volker B. (Firma: L-E-A) (vobs)


Lesenswert?

Mi N. schrieb:

> Da drängt sich der Verdacht auf, daß die CPU im Laufe der Zeit ihre
> Eigenschaften verändert hätte, nur findet sich im Netz nichts zu diesem
> Thema. Nur Mutmaßungen helfen hier nicht weiter.

Sorry, auch wieder nur "Mutmaßungen", denn leider klappt's bei mir nicht 
so mit dem Hellsehen:
* Befinden sich CPU, Adressdecoder und/oder Speicher in IC-Sockeln?
* Spannungsversorgung OK?
* Power-On-Reset OK?
* Ist der EPROM-Inhalt nach 25 Jahren noch in Ordnung?

Die Sockel wären meine Favoriten, ibs. wenn die Elektronik nicht die 
gesamten 25 Jahre in einem geheizten, trockenen Wohnraum gelagert 
wurden.

Grüßle,
Volker

: Bearbeitet durch User
von Mi N. (msx)


Lesenswert?

Deinen Fragen entnehme ich, daß Du mich wohl für total bescheuert hälst 
und mit einem 68K nie ernsthaft zu tun hattest.
Das hilft mir nicht weiter.

von Friedrich J. (6a66)


Lesenswert?

Mi N. schrieb:
> Hallo Friedrich,
>
> vielen Dank für Deine Antwort.
> MODE = 0 ist fest verdrahtet und wiederholt kontrolliert. Alle anderen
> Bausteine an A0 hatte ich auch entfernt und bei /RESET ist die A0
> Leitung passiv.
> Zunächst war ich von einem gelöschten EPROM/GAL ausgegangen.
> Erfahrungsgemäß hatte ich beim Starten auch Daten- und Adressleitungen
> auf VCC/2 Pegel abgesucht, wie sie bei Kurzschlüssen/Lötbrücken
> entstehen können und mit Bus-Error enden. Nur A0 müßte trotzdem
> 'wackeln'. Zudem waren die Schaltungen vor > 25 Jahren geprüft und
> funktionsfähig.
>
> Dann hatte ich noch bei einem Kollegen nachgefragt, dem ich vor längerer
> Zeit einige der CPUs überlassen hatte. Er hatte sie im 16 Bit Modus
> betrieben und dabei keine Probleme.
> Da drängt sich der Verdacht auf, daß die CPU im Laufe der Zeit ihre
> Eigenschaften verändert hätte, nur findet sich im Netz nichts zu diesem
> Thema. Nur Mutmaßungen helfen hier nicht weiter.

Das alles erscheint ungewöhnlich. Als nächstes würde ich es mit einer 
neuen CPU versuchen, vielleicht nicht unbedingt aus der gleichen 
Schublade.

rgdsd

von Friedrich J. (6a66)


Lesenswert?

Mi N. schrieb:
> Hallo Friedrich,
>
> vielen Dank für Deine Antwort.
> MODE = 0 ist fest verdrahtet und wiederholt kontrolliert. Alle anderen
> Bausteine an A0 hatte ich auch entfernt und bei /RESET ist die A0
> Leitung passiv.

Ich gehe mal davon aus, dass Du direkt am Pin des Gehäuses misst und 
nicht irgendwo auf der Platine. Damit lassen sich auf jeden Fall 
irgendwelche Kontaktprobleme von Sockeln ausschließen.

rgds

von Volker B. (Firma: L-E-A) (vobs)


Lesenswert?

Mi N. schrieb:
> Deinen Fragen entnehme ich, daß Du mich wohl für total bescheuert hälst

Ja, wer solche Fragen stellt und keinerlei Informationen wie Bilder oder 
Pläne zeigt, den halte ich wirklich für total bescheuert!

> und mit einem 68K nie ernsthaft zu tun hattest.
ATari ST sagt dir was? Siemens Motorsteuergeräte mit 68332?

Na, Du must's ja wissen...

> Das hilft mir nicht weiter.

...das werde ich auch nicht mehr.

von Soul E. (soul_eye)


Lesenswert?

Friedrich J. schrieb:
> a) entweder MODE nicht richtig gelatched wird. Muss einige Zeit nach
> Reset stabil sein, darf sich auf nach Reset nicht ändern. Siehe
> Freescale/NXP Datasheet. BTW: Mode muss 1 sein nach Datenblatt.

MODE liegt hart auf Masse, und ist daher auch die geforderten 2 Takte 
nach Reset noch stabil. Der Pin muss für 8 bit-Betrieb low sein, 
Motorola schreibt hierzu "If this input is grounded at reset, the 
processor will come out of reset in the 8-bit mode. If this input is 
tied high or floating at reset, the processor will come out of reset in 
the 16-bit mode."

> Dass LDS
> low ist würde bestätigen dass der Prozessor nur auf D0..7 zugreifen will
> und A0 müsste sich bei jedem Zugriff ändern.

So ist es, und eben das tut A0 nicht. Hier liegt dauerhaft logisch "1" 
an.

> b) oder dass A0 verklemmt ist. Bitte prüfe ob A0 nicht durch ein anderes
> Device auf 1 geklemmt ist (Kurzschluss, Schaltungsfehler, ...).

Im Reset ist A0 hochohmig und lässt sich durch Berühren mit dem nassen 
Finger auf beliebige Pegel bringen. Mit gezogener CPU natürlich ebenso.


Dass mal eine CPU kaputtgeht ist nichts ungewöhnliches, die Leiterplatte 
ist 30 Jahre alt. Wir sehen den identischen Effekt aber bei zwei 
verschiedenen Exemplaren mit gleichem Datecode. Das gibt dann doch zu 
denken.

Die Schaltung wurde in den '90ern in Hunderterstückzahl produziert und 
lief damals problemlos. Wieviele davon heute noch im Produktiveinsatz 
sind oder vielleicht ähnliche Effekte zeigen, ist nicht bekannt. Die 
CPUs sind original von damals, keine moderne Chinaware.

: Bearbeitet durch User
von Volker B. (Firma: L-E-A) (vobs)


Lesenswert?

Soul E. schrieb:

> Dass mal eine CPU kaputtgeht ist nichts ungewöhnliches, die Leiterplatte
> ist 30 Jahre alt. Wir sehen den identischen Effekt aber bei zwei
> verschiedenen Exemplaren mit gleichem Datecode. Das gibt dann doch zu
> denken.

Als profunder Kenner der 68k-Familie ist dir doch sicherlich bekannt, 
dass
diese CPU hohe Anforderungen an das Reset-Signal stellt?
Bevor ich die steile These einer sich selbst zerstörenden CPU aufstelle, 
würde ich prüfen, ob kritische Signale, die extern erzeugt werden, noch 
der  Spezifikation entsprechen. Leider gibt es dazu keine Aussagen von 
dir...

Volker

P.S.: So eine multiple Persönlichkeit ist sehr praktisch, da kann man 
seine eigenen Beiträge "hochvoten".

von Mi N. (msx)


Lesenswert?

Volker B. schrieb:
> P.S.: So eine multiple Persönlichkeit ist sehr praktisch, da kann man
> seine eigenen Beiträge "hochvoten".

Der Freitag ist vorbei - es lebe der Sonnabend. Du zerlegst Dich gerade 
selber.
Mir sind Soul E. und 6A66 seit Jahren durch substantielle Beiträge 
aufgefallen ;-)

von Soul E. (soul_eye)


Lesenswert?

Für's Protokoll: nach Austausch des MC68001FN16 funktioniert die 
CPU-Karte wieder einwandfrei. Die "neue" CPU von tvsat Elektronik aus 
Polen hat ungefähr den gleichen Datecode wie die nach 30 Jahren 
ausgefallene.

Hintergründe zu dem Ausfallmechanismus, und warum das zeitgleich bei 
zwei (1000 km voneinander entfernten) Exemplaren aus dem selben 
Fertigungslos passiert ist, bleiben weiter unklar.

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.