大家好。
用F28M36的EPI接口外扩了SDRAM,地址为0x60000000-0x60800000。往SDRAM写数据,发现以下地址总是出错,应该写到60000010的写到了60000020,应该写到60000020的写到了60000030,依次类推。怀疑是某根地址线出错,该如何分析,谢谢。
60000010
60000020
60000030
60000050
60000060
60000070
60000080
60000090
600000a0
600000b0
600000d0
600000e0
600000f0
60000100
60000110
60000120
60000130
….
jiaming zhang1:
首先考虑硬件地址线有没有问题,看看有没有粘连现象,会不会是因为是两根数据线短路。其次,看看SDRAM的特殊寄存器设置得对不对,还有逻辑问题。问题应该不大,信心找找看。 希望能帮到你。
大家好。
用F28M36的EPI接口外扩了SDRAM,地址为0x60000000-0x60800000。往SDRAM写数据,发现以下地址总是出错,应该写到60000010的写到了60000020,应该写到60000020的写到了60000030,依次类推。怀疑是某根地址线出错,该如何分析,谢谢。
60000010
60000020
60000030
60000050
60000060
60000070
60000080
60000090
600000a0
600000b0
600000d0
600000e0
600000f0
60000100
60000110
60000120
60000130
….
mangui zhang:
从你的描述来看 推不出是硬件连接问题或者是某个地址线短路的情况
感觉是地址线的最后一个字节的高四位总是被多加了1
还是建议你排查一下程序中的逻辑吧
大家好。
用F28M36的EPI接口外扩了SDRAM,地址为0x60000000-0x60800000。往SDRAM写数据,发现以下地址总是出错,应该写到60000010的写到了60000020,应该写到60000020的写到了60000030,依次类推。怀疑是某根地址线出错,该如何分析,谢谢。
60000010
60000020
60000030
60000050
60000060
60000070
60000080
60000090
600000a0
600000b0
600000d0
600000e0
600000f0
60000100
60000110
60000120
60000130
….
Sean Shi:
经检查,发现是几根地址线连接错误。A3和A4、A6和A7接反了。
但还有一个疑问,即使是地址线接反,为什么我写进去和读出来的数据是不一致的呢?写进去是写到错误的地址,但读是按正确的地址来读取的,很奇怪。
TI中文支持网
