This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
我在尝试为 DAC39RF10使用 SPI 接口时遇到了一个问题。 我在一个 FPGA 内部开发了一个固件模块、当我尝试通过寄存器加载(一次只加载一个)时、DAC 知道它在流模式下工作、无法一次写入和读取一个寄存器。 根据数据表 I 控制芯片选择信号、但无法使其在"单寄存器访问"下工作。 只有首次写入/读取操作正确完成、但之后、DAC 始终开始在流模式下工作。 我尝试过很多方法、但结果始终是一样的(提供具有时钟边沿的芯片选择。 无时钟边沿、提供连续的时钟... ,没有任何效果。 DAC 始终认为我希望在流模式下工作)。
我一直在研究数据表、我发现以下陈述:
我一直在寻找这个注册,但它不存在!!!!!!!! 没有办法禁用流模式、如果不处于流模式、则无法控制 DAC (在我的最终应用中不需要这样做)。
此"ADDR_HOLD_BIT"可能会在某些寄存器中隐藏、或者名称可能不同、但在数据表中找不到 SPI 配置寄存器。 您能否告诉我、要禁用流模式、"SPI 配置寄存器"对应的寄存器地址是什么?
提前感谢。
此致。
你好!
不知道如何在 DAC39RF10中禁用 SPI 流模式? 如何联系 TI 技术团队来解决该问题?
提前感谢。
此致
hey Alejandro:
您能否提供 SPI 事务的示波器抓取? 当 CS~变为高电平时、SPI 事务应终止。
谢谢。此致、
马特
尊敬的 Matt:
感谢您的答复。 由于在电路板上难以进行测量、我没有使用示波器(我使用的是 DAC39RF10 EVM 评估板)。 之前在 FPGA 内部用过 ILA、如前所述、先传输可以、但先传输后 DAC "不检测"芯片选择高电平 并在流模式下开始工作(写入或读取连续的寄存器、具体取决于第一次传输是读取请求还是写入请求)。
这是国际法协会对第一笔交易的捕获。 我已经通过寄存器0x0000启动了一个读取请求。 读取值为0x30 (符合预期)。
第二次传输是通过寄存器0x000C 产生的读取请求。 我希望读取0x51、因为这是此寄存器的默认值、但在首次传输后、DAC 开始以流模式工作、我在 IP 内核中读取的数据会保存到连续的寄存器中(从0x0000开始、这是我输入的第一个地址)。
如您所见、我写入的内容没有被考虑在内、因为对于 DAC、这些是虚拟字节。 它正在向我传输从 MISO 线路上的0x0000开始的连续寄存器值。
这意味着不考虑芯片选择激活/停用。 就像对于 DAC 而言、芯片选择始终处于激活状态。
因此、我想知道如何在 DAC39RF10数据表指出时停用流模式、但 SPI 配置寄存器不存在、 ADDR_HOLD_BIT 都不存在。
hey Alejandro:
我们还没有通过使用 FPGA 直接对 DAC 进行编程进行太多测试。 您能否探测进入 DAC 的 CSB 电压? 所有 SPI 信号均可用于 DAC 旁边的探测(靠近 LMX_CLKn SMA)。
重置 EVM、测量电压。
执行单个 SPI 事务并再次测量电压。
谢谢。此致、
马特
此外、多路复用前的 FMC SPI 信号可用于探测相同 LMX_CLKn SMA 下方的情况。 您是否还可以探测 DAC CSB?
谢谢!
马特