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