v5,ad9980配数问题
时间:10-02
整理:3721RD
点击:
FPGA板子是xilinx virtex5系列的,现在想用外部MCU(单片机AT89S52)通过FPGA的IIC接口向AD9980里写数。
通过逻辑分析仪抓波形,发现FPGA上电后,第一次配置,AD9980有ACK信号,不过读出来的数不对,后面复位再配置,连ACK信号都没了。
大家遇到过这个问题么,有谁曾从外部配进去过,望不吝指教。
通过逻辑分析仪抓波形,发现FPGA上电后,第一次配置,AD9980有ACK信号,不过读出来的数不对,后面复位再配置,连ACK信号都没了。
大家遇到过这个问题么,有谁曾从外部配进去过,望不吝指教。
额。都没人遇到么。今天又调了一下,没ACK的问题解决了。
不过写的时候AD9980给ACK了, 读出来结果却是 default value (01H单元默认值为69H)。
附上时序图,大家帮看看
图中C代表SCL ,D代表SDA
写时序为start ,98H+ack,01H+ack,87H+ack,stop 。 98H为AD9980器件写地址,01H为所写单元,87H为要写的数。
读时序为start, 98H+ack,01H+ack,start,99H+ack,读的数据(图中为69H)+NOACK,STOP。 因为只读一个字节的数据,所以主机读到数据
后不给ACK信号,然后给出STOP。
问题是看时序明明写进去了,为什么读出来的不是写的数,而是FPGA复位后的default value .
