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