已回答假定已回答

求AD9957读写片内RAM的时序、示范代码

Jhon 在 2017-5-15 詢問的問題
最後回覆由hpkamen於2017-5-19提供

各位专家:

 

我用AD9957做信号生成,目前单频模式工作正常。但是QDUC模式下,用片内RAM回放波形始终无法调通。

 

按照本论坛以前的帖子,先把9957按照默认模式初始化,写好两个RAM段地址寄存器,io_update,然后切换RT,向0x16地址中写入若干4字节一组的数据,再切换RT,写了另一组数据。然后再io_update。然而实测发现无法正常回放数据。

 

经过仔细检查,发现向0x16写入数据之后,似乎片内其它寄存器的状态就乱了。写入0x16之前,执行了一下0x81指令,读取0x01寄存器的数据,是对的。写入0x16四个字节后,再用0x81指令读,就只有全0了。

 

鉴于单频模式工作基本正常,我觉得SPI接口以及外围硬件不会有问题,问题应该在时序上。但是9957手册对RAM数据读写所言甚少,ADI网站上的能找到的参考代码页都没有涉及RAM读写的部分。不知哪位专家能够指点一下,到底如何正确配置9957片内RAM?

 

谢谢!

結果