您好:
目前,我们正在使用 FPGA 访问 ADC 芯片的内部寄存器,并对其进行读写。 我们需要咨询您以下问题:
1、在读取操作期间,主机(FPGA)将首先发送读取指令并等待发送,然后发送 NOP 指令。 发送 NOP 指令时,主机从 ADC 芯片接收数据。 上述读取过程是否正确?
2、结合相关的定时要求,我设计的 SPI 接口的定时如下,设计是否正确?
3、要访问 ADC 芯片中的数据,请以 cntl 寄存器为例,地址=010h,将其值写为0x0F,然后发送一条写入指令:0x24100f。 下图显示了实际 SPI 接口计时:
读取 cntl 寄存器中值的数据_,首先发送读取指令:0x221000,然后在发送读取指令后发送 NOP 指令:0x000000。 下图显示了实际 SPI 接口计时:
如果操作正确,读值应该是0x22100f 吗? 上述接口的计时设计是否正确?
4、如果我想在 ADC 芯片转换后读取数据结果,我将首先向上拉凸信号35 ns,然后向下拉。 在提取 RV 信号后,我开始发送 NOP 指令,同时读取转换的数据。 您能否根据上述流程读取正确的转换数据?
我希望你能花时间来看看,谢谢!
Ref1:ADC 芯片型号 ads8924b。
参考:SPI 定时协议我使用默认配置 SPI-00格式,X1模式的电源,时钟频率为40MHz。 我在时钟的下缘发送数据,在下缘收集数据。
参考文献3:ADC 芯片指令格式的定义见下表: