Part Number:DAC53202
你好,
我使用FPGA与DAC53202进行通讯,按如下步骤通过SPI配置DAC,但是读取失败(无论回读common-config还是DAC-x-DATA,SDO始终为高电平):
GPIO-CONFIG (16'h2000)
INTERFACE-CONFIG (16'h0005)
COMMON-CFG (16'h1206h)
.
.
.
COMMON-TRIGGER(16'h0002) –NVM program
等待200ms
COMMON-TRIGGER(16’h0A00)–RESET
等待10ms
发送24‘h9F0000等回读命令。
注:已知SPI对DAC-X-DATA的写入可以规律的改变DAC输出电压(输出电压均比理论值高0.5V)。
请问上述流程是否有误?如果有的话,烦请指出。如果是其它问题也请一并指出。
此致!
Kailyn Chen:
您好,收到您的问题,我这边需要看下它的数据手册,尽快给您答复。
,
VR@palead:
好的,谢谢。
,
Kailyn Chen:
您好,我看了下您的设置,一个是DEV-LOCK配置的为0, Device not locked registers。
一个是COMMON-TRIGGER(16’h0A00)–RESET,reset之后寄存器的值就恢复POR初始状态的默认值了吧。
我看了下read timing,先发送回读命令,也就是INTERFACE-CONFIG (16'h0005)。然后对某个寄存器的值进行读就可以了。
您可以用示波器测量下SPI 读的时序:
,
VR@palead:
你好,
我是想把GPIO配置成SDO,DEV lock这里需要进行locked操作吗?
reset的目的是让DAC在POR时从NVM中读取配置—-我希望POR之后GPIO配置为SDO。
一开始试验的时候我就是按 INTERFACE-CONFIG –> ReadBack 的顺序进行的,后来才想到先将GPIO的配置固化进NVM然后才进行读取。而这两种操作序列下对两个试验电路的SDO使用示波器测量均没有捕获到任何电平跳变。
感谢回复,我会继续试验其它的操作时序。
此致!
,
Kailyn Chen:
VR@palead said: reset的目的是让DAC在POR时从NVM中读取配置—-我希望POR之后GPIO配置为SDO。
您好,我理解的是如果GPIO配置为reset功能(即GPI-CONFIG=1011),这样的话即使通过寄存器进行software reset,那么寄存器的配置不会改变。
否则的话进行reset,寄存器的值会回到初始值状态。
VR@palead said:我是想把GPIO配置成SDO,DEV lock这里需要进行locked操作吗?
我看了下register lock的介绍,这里lock的目的是防止误操作或者偶发时间对某个寄存器进行了配置,不是必须的哈。
,
VR@palead:
Set the GPIO-CONFIG register (0x24) to 0x0000.
Set the SDO-EN bit in the INTERFACE-CONFIG register (0x26) to 1.
遵照这两步即可,关键是GPO-EN需要清零(当然如果器件是全新的其复位状态是0,不配置也可以)。
,
VR@palead:
一开始我想是否因为GPIO功能设定这种操作需要写入NVM并且在重新上电之后才生效,所以考虑进行reset,reset是通过COMM-TRIGGER进行的并非GPIO。
我后来想到了lock应该是无关的,因为DAC-X-DATA也在lock的范围之内。
,
Kailyn Chen:
VR@palead said:reset是通过COMM-TRIGGER进行的并非GPIO
COMM—TRIGGER的bit11~8即为POR reset,也就是上电初始化的reset。
您看下当进行reset这步骤之后,所有配置的寄存器您读取下,是否已经成功配置进去了?
,
VR@palead:
已经配置进去了,但我的配置步骤里是有NVM prog这一步的。如果没有写入NVM,那么应该是恢复上电状态,我想可能是出厂状态或者上一次写入NVM的状态。