借用TI例子,利用CSL函数编写DDR2接口驱动,正常初始化完成,外片DDR2寻址读写数据正常。以为DDR2驱动没有,后来有一块板子,DDR2芯片供电异常,原来1.8V供电,这个板子0.9V。可是C6457跑仿真,DDR2驱动初始化正常,同样片外DDR2寻址读写数据正常。。。。。。。。找半天也搞不清楚如何进行片外硬件连接是否正常的状态检测。请教下,这种现象,我驱动编写是否正常?DDR2芯片如何检测硬件是否正常?
Shine:
0.9v是不是量的是VREFSSTL参考电压(0.5 × DVDD18)?
lizhao zhou:
回复 Shine:
是DDR2芯片的供电电压,,参考电压也是0.9V。后面把DDR2供电电压调整为1.8V,参考电压还是0.9V。
我的疑惑是,,外设DDR2不正常,驱动片外寻址读写正常,,,,,,我怎么判断DDR2有没有接好??
lizhao zhou:
回复 lizhao zhou:
或者是我读写的数据全在DDR2接口缓冲区里,其实并没有写到外设DDR2??
lizhao zhou:
回复 Shine:
或者说 我DDR2驱动读写测试,数据全在片内缓冲区里,并没有真正写到片外??
驱动配置方式:
1、status = CSL_ddr2Init(NULL)
2、hDdr2 = CSL_ddr2Open(&ddr2Obj, CSL_DDR2, NULL, &status)
3、status =CSL_ddr2HwSetup(hDdr2,&hwSetup)参数部分省略,DDR2读写地址为0xE0000000开始
无论片外DDR2芯片供电是否异常,驱动配置方式 status 均为OK, DDR2读写数据对比正常。
DDR2芯片连接是否正常通过什么来判断??还有就是如何确定数据是否已经写到片外DDR2或者从DDR2读取到数据?