Sunday, June 04, 2006

more external memory timing

I determined yesterday that the timing selections did not work if I assumed that Xready was not used.

That was at the minimum timing settings for xready but I will assume for the moment that it must use xready as that works.

I still cannot get access to the datasheets for the external memory chips to see if they use xready.

I now have access to the data sheet for the IS61LV6416-105 and I think that there is no connection to xready. This would be an output from the external memory chip and the only control signals are inputs.

The fastest access time that can be expected is 8ns.

The easiest way to configure this would be to assume that xready is not used and increase the timings until it works. Go to a maximum timing but with xready disabled to see if there is any chance that this will work.

below is the default changed to have xready = 0.

0000 0000 0100 0011 0011 1111 1111 1111

or

00000000010000110011111111111111

or

4407295

(31-24) 0000 0000 - reserved
(23) 0 - reserved
(22) 1 - X2TIMING
(21-18) 00 00 - reserved
(17-16) 11 - XSIZE
(15) 0 - READYMODE
(14) 0 - USEREADY
(13-12) 11 - XRDLEAD
(11-9) 111 - XRDACTIVE
(8) 1 - XRDTRIAL
(7) 1- XRDTRIAL
(6-5) 11 - XWRLEAD
(4-2) 111 - XWRACTIVE
(1-0) 11- XWRTRIAL

XintfRegs.XTIMING6.all = 4407295;

runs okay

try to remove all the write parts to simplify (last 7 bits)

00000000010000110011111110000000

or

4407168

works (as expected)

try changing down to xtiming2 = 0

00000000000000110011111110000000

212864

works

lets summarise

(31-24) 0000 0000 - reserved
(23) 0 - reserved
(22) 0 - X2TIMING
(21-18) 00 00 - reserved
(17-16) 11 - XSIZE
(15) 0 - READYMODE
(14) 0 - USEREADY
(13-12) 11 - XRDLEAD
(11-9) 111 - XRDACTIVE
(8-7) 11 - XRDTRIAL
(6-5) 00 - XWRLEAD
(4-2) 000 - XWRACTIVE
(1-0) 00- XWRTRIAL


try reducing XRDLEAD XRDACTIVE and XRDTRIAL to 1 each

00000000000000110001001010000000

or

201344

works

I know that lead must be 1 - lets see if either active or trail can be 0

try trail

00000000000000110001001000000000

works

try active

00000000000000110001000000000000

200704

does not work!!

00000000000000110001001000000000
201216

must be the answer

but...

Trouble Writing Target CPU memory: Error 0x00000002/-1153 Error during: Memory, The memory at 0x00100002 continually indicated it was 'not ready' All memory operations currently in progress were aborted in order to regain control of the processor. This is considered a catastrophic event, but the debugger should still be able to access memory and CPU registers. System state has been altered. It is strongly advised that the processor should be reset before resuming execution,


maybe I should set up the write states again

00000000000000110001001001111111

201343

works fine

now try to do the same to zone 0 (encoder)

201343


does not work

start another post on this topic later - home time

0 Comments:

Post a Comment

<< Home