Using external RAM on the XC164 development board

Hi,

Has anyone been able to use the external RAM on the Infineon XC16x development board in 16 bit multiplexed mode?

I've wrote a small RAM test application that will read and write all memory, but the external RAM always trips up after a few seconds.

I suspect the timings may be out on this, since it works most of the time, but will fail eventually. I have the following values:

Phase A = 0 cycles
Phase B = 0 cycles
Phase C = 1 cycle
Phase D = 0 cycles
Phase E = 0 cycles
Phase F read = 1 cycle
Phase F write = 0 cycles

Does anyone know a set of timing values that work? The micro is an XC164CS running at 40MHz, and the memory chip is a Samsung K6R4016C1D.

Incidentally, the RAM test program shows the memory working perfectly in non-multiplexed mode. The timings are different for non-multiplexed, but give worse results when used in multiplexed mode.

Any help appreciated!

Thanks,
Paul.

Parents
  • Hi Paul,

    that is normally not a problem.
    The timings you use ,are right.
    I use exactly the same, without problems.
    The default values for CS0 are as I know:

    CPUCON1= 	0003h
    EBCMOD0= 	4032h
    EBCMOD1= 	0000h
    FCONCS0= 	0031h
    TCONCS0= 	0808h
    

    This is from the errata:

    In case less than 4 chip select signals are selected (either by hardware reset via Port0 configuration, or
    by software via bitfield CSPEN in register EBCMOD0), signals CS0# and CS1# are not available in
    some configuration settings:
    EBCMOD0.CSPEN = 001: CS0# not available
    EBCMOD0.CSPEN = 010: CS0# and CS1# not available
    EBCMOD0.CSPEN = 011: CS0# not available
    EBCMOD0.CSPEN = 100: all 4 CS# signals available (as specified)
    EBCMOD0.CSPEN = 000: no CS# signals available (as specified)

    That means at some combination you have with
    right settings no CS signals available.
    So try a combination or use a 3 instead of 1 or 2.

    Otherwise can you tell me your DIP-switches from the board and EBC-mode settings ?

    Stefan

Reply
  • Hi Paul,

    that is normally not a problem.
    The timings you use ,are right.
    I use exactly the same, without problems.
    The default values for CS0 are as I know:

    CPUCON1= 	0003h
    EBCMOD0= 	4032h
    EBCMOD1= 	0000h
    FCONCS0= 	0031h
    TCONCS0= 	0808h
    

    This is from the errata:

    In case less than 4 chip select signals are selected (either by hardware reset via Port0 configuration, or
    by software via bitfield CSPEN in register EBCMOD0), signals CS0# and CS1# are not available in
    some configuration settings:
    EBCMOD0.CSPEN = 001: CS0# not available
    EBCMOD0.CSPEN = 010: CS0# and CS1# not available
    EBCMOD0.CSPEN = 011: CS0# not available
    EBCMOD0.CSPEN = 100: all 4 CS# signals available (as specified)
    EBCMOD0.CSPEN = 000: no CS# signals available (as specified)

    That means at some combination you have with
    right settings no CS signals available.
    So try a combination or use a 3 instead of 1 or 2.

    Otherwise can you tell me your DIP-switches from the board and EBC-mode settings ?

    Stefan

Children
More questions in this forum