MC6802 läuft nicht

Hallo Gruppe,

ich habe mir ein MC6802-Board gebaut, bei dem der 6802 komplett an einem

Nur der Prozessor macht komische Sachen, wenn ich ihn aus dem !HALT hole. Ich kann mir irgendwie gar keinen Reim drauf machen, deswegen habe

formatting link

Schaltplan:

formatting link

Also ich deasserte !RESET etwa 1ms vorher (nicht mit drauf) und dann soll er loslegen und ich lasse !HALT los. Der Anfang sieht noch gut aus, er legt 0xffff an den Adressbus und will davon lesen (Reset-Vektor liegt

noch HIGH ist. Das ist doch aber genau der Witz von VMA, dass sich die

Naja auf jeden Fall passieren da komische Sachen und ich muss zugeben dass ich keinen Schimmer habe, was da los ist. Verstehe ich irgendwas prinzipiell falsch, wie der Prozessor funktioniert? Wenn irgendjemand eine Idee hat, bitte raus damit, ich probier alles aus um das Ding zum Laufen zu kriegen - bin schon so nah dran :-)

Johannes

--
>> Wo hattest Du das Beben nochmal GENAU vorhergesagt? 


Kosmologen: Die Geheim-Vorhersage.
Reply to
Johannes Bauer
Loading thread data ...

an Zeit und Kosten.

Was soll das Ding konkret tun ? Vermutlich soll

machen. Beide CPUs mit ihren beiden getrennten

mir schlicht antikes dual port RAM von IDT bei ebay besorgt habe und beide CPUs damit recht zufrieden waren. Gibts allerdings eher nicht als

64kByte, schlicht weil die Pins zuviel werden. 2kByte ist da realistischer.

MfG JRD

Reply to
Rafael Deliano

In diesem Bereich kenne ich noch das AM2130.

Ist ein 1Kx8 Dualport-RAM. Gibts auf Ebay, aber nicht unbedingt billig.

Gerrit

Reply to
Gerrit Heitsch

Verschrei es nicht :-)

Es ist ein Debugging-Werkzeug. Habe eine Applikation hier, die mit einem original 6802 funktioniert, in der Emulation aber in bestimmten

funktionieren (die allermeisten Sachen gehen damit), aber ich vermute subtile Unterschiede bei bestimmten Konstellationen.

den 6802 werkeln zu lassen, den 6802 abzukoppeln, RAM auszulesen und

Emulator zu debuggen. Ich will einen Emulator basteln, der die Hardware genauer abbildet als das was ich bisher habe.

HIGH, !HALT = LOW).

tristate, PE7 (=A15) tristate, PE6 (=A16) LOW, PG1, PG0 (!RD, !WR) tristate.

Johannes

--
>> Wo hattest Du das Beben nochmal GENAU vorhergesagt? 


Kosmologen: Die Geheim-Vorhersage.
Reply to
Johannes Bauer

Johannes

--

Kosmologen: Die Geheim-Vorhersage.

Reply to
Johannes Bauer

ebay.com hat die Oldtimer von IDT und Cypress reichlich:

formatting link

Sind aber eben DIL48 oder PLCC. Dual Port RAMs sind sicherlich kein Allheilmittel weil sie irgendwo auch Anforderungen ans Timing haben. Aber glue logic wird weniger.

Ich vermute das Board ist layoutet und abgesehen vom MC6808 alles SMD.

wenn der 6808 abgeschaltet ist ? Der zweite Test: startet der MC6808 wenn der AVR abgeschaltet ?

Betriebsarten aussortieren.

MfG JRD

Reply to
Rafael Deliano

die Geschwindigkeit nicht gefordert ist

  • was theoretisch immer etwas kritisch war waren die Hold-Zeiten die die CPU wollte nachdem der /CS high und der Speicher tristate geht.

gehalten wird. Das gilt aber nicht wenn da

Problem.

MfG JRD

Reply to
Rafael Deliano

Gerrit Heitsch schrieb:

AB-9941 und 9961 (4k x 8, 25ns) CY7C130,131,140,141 (1k x 8, 15ns)

Keine Ahnung ob man die irgendwo noch bekommt ...

Marc

Reply to
Marc Santhoff

Am 30.12.2014 um 19:35 schrieb Rafael Deliano:

GPS-Frequenznormal von Lucent/ebay:

<
formatting link
>

:-)

auf 10 MHz zu verschlechtern.

Reply to
Gerhard Hoffmann

ist lediglich der 573 am AVR.

Die 74244 und der 74245 sind alle 74HC.

Ich habe den in 74HCT245 hier, werde ich gleich mal proberen.

Naja, der RAM-Ausgang ist immer aktiv (!RD per Pulldown). Ich wollte

gegeneinander arbeiten. Soll ich die rausnehmen?

Du meinst Hold auf dem Datenbus, obwohl der RAM schon deaktiviert ist?

aktivieren (auch wenn das SRAM-Interface deaktiviert ist). Habe ich bisher nicht benutzt, werde ich aber mal ausprobieren. Bin mir aber nicht sicher, ob ich dich richtig verstehe.

Johannes

--
>> Wo hattest Du das Beben nochmal GENAU vorhergesagt? 


Kosmologen: Die Geheim-Vorhersage.
Reply to
Johannes Bauer

schreibst ist der Pegel von _OE egal, es wird geschrieben. Wobei das RAM nur dann aktiv ist wenn _CS auch LOW ist, sonst interessiert es sich

arbeiten, also der, der NICHT den Bus hat seine Leitungen in Tristate bringt? Das beinhaltet auch den 74xx573, der hat dazu einen _OE Pin.

Gerrit

Reply to
Gerrit Heitsch

Er ist pro forma besser weil der 6808 wohl als TTL-kompatibel spezifiziert ist. Praktisch wird der high-pegel des 6808 aber wohl 4V machen und damit kann 74HCxx meist gut leben.

Der 74xx245 hat einen enable der ihn tristate schalten kann, den

Ja. Aber mit Hinblick auf den 6808.

Welche CPU funktioniert denn gerade nicht ? Kann der AVR das RAM sicher lesen und schreiben ?

alle 256Byte identisches Muster erzeugt.

MfG JRD

Reply to
Rafael Deliano

Ja, schon, aber: Wenn !OE permanent aktiv ist, dann schreibt der SRAM-IC

Daten schreibend auf den Bus. In dem Moment, bis er !WR legt, schreiben

der 6800 zuerst !WR anlegt und dann die Daten schreibt oder umgekehrt.

sollten.

Ja, habe ich. OC vom 573 geht an !AVRHASBUS, d.h. wenn der AVR den Bus

auch Tristate (weil ich im AVR das externe SRAM-Interface deaktiviert

void transferSRAMControl(enum BusHolder_t aNewBusHolder) { if (aNewBusHolder >= BUSHOLDER_INVALID) { return; } if (aNewBusHolder == currentBusHolder) { return; }

/* Unclaim memory interface first, tristate everything */ XMCRA &= ~_BV(SRE); // Disable external mem interface XMCRB &= ~_BV(XMBK); // Disable external bus keeper MC6800ClaimBus_SetInactive(); AVRClaimBus_SetInactive(); A15_ModeInput(); VMA_ModeInput();

/* Wait until bus has settled */ delayMillis(1);

/* Enable which ever bus shall be active */ if (aNewBusHolder == BUSHOLDER_AVR) { sramSelectBank(0); A15_ModeOutput(); VMA_ModeOutput(); XMCRA |= _BV(SRE); AVRClaimBus_SetActive(); VMA_SetActive(); } else if (aNewBusHolder == BUSHOLDER_MC6800) { A16_SetInactive(); MC6800ClaimBus_SetActive(); }

currentBusHolder = aNewBusHolder; }

dass z.B. die "ClaimBus"-Leitungen LOW-aktiv sind und wirken sich auf die jeweiligen PORT MMIOs aus. _ModeInput() und _ModeOutput() sind jeweils Funktionen die die entsprechenden DDR Register bedienen.

Johannes

--
>> Wo hattest Du das Beben nochmal GENAU vorhergesagt? 


Kosmologen: Die Geheim-Vorhersage.
Reply to
Johannes Bauer

Warum klemmst du dann nicht einfach _OE mit _CS zusammen?

Gerrit

Reply to
Gerrit Heitsch

Habe jetzt in die 244er und den 245er in HCT drin, selber Effekt.

Den Enable (G, Pin 19) vom 245 habe ich bisher permanent an, wenn der

6800 den Bus bekommt.

Dann kann ich auch R/!W und VMA in ein zweites NAND geben, den Ausgang durch einen freien HC244 und dann auf !RD vom SRAM.

Der 6800 funktioniert nicht. Der AVR funktioniert einwandfrei.

Ja, einwandfrei.

Johannes

--
>> Wo hattest Du das Beben nochmal GENAU vorhergesagt? 


Kosmologen: Die Geheim-Vorhersage.
Reply to
Johannes Bauer

Hmmm, gute Frage. Ich glaube ich habe zu kompliziert gedacht. :-/

!CS ist permanent aktiv (auf LOW verbunden), CS liegt an VMA:

formatting link

Johannes

--
>> Wo hattest Du das Beben nochmal GENAU vorhergesagt? 


Kosmologen: Die Geheim-Vorhersage.
Reply to
Johannes Bauer

Ich weiss jetzt nicht wie das beim 6800 ist, aber beim 6502 muss man

nur LOW sein wenn PHI2 gleichzeitig HIGH ist. Beachtet man das nicht

Schau dir das nochmal im Datenblatt an.

Gerrit

Reply to
Gerrit Heitsch

Nachtrag...

Schau nochmal nach wie der 6800 das HALT-Signal interpretiert. Beim

selben Team designed wurden sollte man das besser kontrollieren.

Gerrit

Reply to
Gerrit Heitsch

Aaaaaaaaaaah. Shit. Ich glaube du hast Recht :-/

Im Datenblatt gibts dazu eine Figure, mit deiner Info werde ich daraus auch schlau: Der 6802 schaltet bei E=LOW seinen Datenbus aus Tristate. Dann sagt er, was er machen will (R/!W) und schaltet dann E=HIGH. Dann liest er entweder vom Datenbus oder schaltet den Datenbus als Ausgang und schreibt die Daten.

das sein? Nochmal ganz langsam alles aufmalen vom Timing her.

Johannes

--
>> Wo hattest Du das Beben nochmal GENAU vorhergesagt? 


Kosmologen: Die Geheim-Vorhersage.
Reply to
Johannes Bauer

Hmm, habe jetzt mal Phi2 mit VMA synchronisiert mittles 74HCT00 und verwende das als CS:

formatting link

Geht leider immernoch nicht :-(

Also momentan ist es so, dass CS2 permanent an ist und !CS1 eben vom AVR aktiviert wird (wenn der AVR den Bus hat) oder vom AVR Tristate ist (und eben durch das NAND gesetzt wird).

Johannes

--
>> Wo hattest Du das Beben nochmal GENAU vorhergesagt? 


Kosmologen: Die Geheim-Vorhersage.
Reply to
Johannes Bauer

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.