ds89c420 - problem s ext. ram
jimcool@oook.cz
jimcool
Středa Březen 17 14:30:51 CET 2004
zdravim,
konecne jsem ziskal nejake ty vzorky obvodu ds89c420 a prisel jsem na
nasledujici problem. predstavte si, ze mam takovyto jednoduchy program:
START:
mov sp,#60h
mov a,08eh
setb acc.0
setb acc.1
setb acc.2
mov 08eh,a
; adresa
mov r6,#0d
LOOPMEM:
cpl p1.6
movx @r0,a
cpl p1.6
; pauza
mov r1,#255d
WAIT:
nop
djnz r1,WAIT
jmp LOOPMEM
cip je v zakladnim nastaveni, tzn. by mel byt ve vecech pristupu k externi
datove pameti kompatibilni s konvencni x51. program se spousti z flash
pameti. prehozeni pinu p1.6 je tam pouze pro detekci mista probihajiciho
MOVX na osciloskopu. pamet je pripojena primo (katalogove zapojeni), latch
pro adresu je 74F373 (doporucovany).
problem nastava, kdyz si pripojite na jakykoliv pin portu 2 neco, co tahne
uroven do LOW (zevnitr je pin nastaven po resetu na 1, uroven je udrzovana
slabym pull-upem, takze umoznuje i vstup dat) - napr. tam pripojite vystup
74LS10, ktery nema zapojene zadne vstupy. pote pri provadeni tohoto
programu vznika pri kazde movx instrukci na pinu chvile snahy o uroven
HIGH (nezvedne se to ale moc, protoze LS10 "tlaci" proti). je to dobre
videt na osciloskopu.
v errata dokumentu je popsano podobne (spis stejne) chovani u instrukci
typu Read-Modify-Write, tak by to chapal, kdyby byl MOVX uveden mezi nimi.
ale to bohuzel neni. nehlede na to, ze pouzita varianta MOVX (s registrem
Rx) vubec nema ve standardnim non-page modu port 2 pouzivat!
nesetkal jste se s tim nekdo? pripadne mohl by to nekdo, kdo ma vzorek k
dispozici, vyzkouset? myslim, ze ta pamet by tam ani nemusela byt
pripojena, staci vyvolat movx a mit pripojeno neco, co tahne uroven do
LOW, na pin portu 2.
s pozdravem
Jakub Marsik
Další informace o konferenci Hw-list