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.
您好!
我正在尝试通过 SPI 将 STM32 Nucleo 板与 DAC63204EVM 进行通信。 硬件设置 如下所示:
SCK (STM32 Nucleo 板)至 SCLK (DAC63204EVM)
MOSI (STM32 Nucleo 板)至 SDI (DAC63204EVM)
3. cs (NSS) (STM32 Nucleo 板)至 SYNC (DAC63204EVM)
通过使用 DAC63204EVM 应用程序、我尝试将值写入 NVM 中的寄存器、如下所示:
地址0x1F 处的值0x1249、
值 0x8000到地址0x03、
值0x0FF0 写入地址0x19
GUI 的剪贴下面
通过 DAC 没有获得所需的输出电压。 您能帮助我吗?
谢谢!
Mitali。
尊敬的 Mitali:
DAC63204EVM 具有自己的板载 FTDI 控制器(FT4222)、并与 GUI 连接。 STM 微程序将不能与 GUI 连接。 您需要编写自己的代码来控制 STM 微控制器。
此致!
K·琼斯
尊敬的 Katlynee:
让我重新构建问题的框架。
我有2种不同的设置。
设置1 -具有 GUI 的 DAC 配置(通过 USB 从 PC)。 未使用 STM32 Micro。
地址0x1F 处的值0x1249、
值 0x8000到 地址 0x03、
值0x0FF0 写入 地址0x19
我可以看到与寄存器0x19中提供的值相关的 DAC 输出。 我对结果很满意
设置2 -采用 STM32 over SPI 的 DAC 配置。 GUI/PC 未 使用。
连接如下-
SCK (STM32 Nucleo 板)到 SCLK (DAC63204EVM)
MOSI (STM32 Nucleo 板)到 SDI (DAC63204EVM)
CS (NSS) (STM32 Nucleo 板)到 SYNC (DAC63204EVM)
寄存器设置为-
请您确认这些是否是唯一要配置的寄存器?
观察结果-
DAC 输出不会随输入数据值而改变。
此外、SDO 上没有信号。 它持续为高电平。
还请确认 SPI 的时钟配置、是否必须写入 NVM? 如果需要、如何将数据存储到 NVM 中。 您能否共享寄存器地址和数据。
我使用的时钟配置如下-
CPOL = 1
CPHA = 0
谢谢。
Mitali。
尊敬的 Mitali:
我对误解表示抱歉。 感谢您提供更多信息。
确保完全移除 J5和 J6上的跳线、以使 SPI 信号不与 EVM 板载控制器的信号发生冲突。
这些是唯一启用 SDO 并将输出设置为通道0所需的寄存器。 您的 SPI 模式也正确。
无需写入 NVM。 仅当您对 DAC 设置满意并希望 DAC 在下一次下电上电时使用这些相同的设置加电时、才会写入 NVM。
请确保拆除这些跳线、如果仍有问题、请告诉我。 到目前为止、代码序列和时序图(看起来是写入 COMMON-CONFIG 寄存器)中的所有内容都正常。
此致!
K·琼斯
尊敬的 Katlynne:
我确认在通过 SPI 模式进行通信时跳线 J5和 J6被移除。 但我在 SDO 上看不到任何内容。 您能否确认 唯一所需的寄存器如下所示:
我还将连接 为通过 Nucleo 板和 DAC GUI 发送的数据捕获的波形。 如果您看到我已经捕获了寄存器0x1F (通用配置寄存器)的波形。 对于相同的发送值、我 得到了不同的响应。
1. 通过向 GUI 发送数据可得到通信配置寄存器(地址:0x1F)的波形
通过 GUI 将数据写入寄存器0x1F (数据为:0x1249)来捕获以下波形
2. 通过 从核子电路板(Nucleo)发送数据来发送 Comman 配置寄存器(地址:0x1f)的波形
通过在 Nucleo 板上发送数据(0x1F、0x12、0x49)来捕获以下波形
我怀疑 SPI 时钟配置可能是原因吗? 请您确认这一点吗?
谢谢!
Mitali。
尊敬的 Mitali:
您的 SPI 模式正确。 数据在上升沿移出、DAC 将在下降沿捕捉数据。
在启用 SDO 之前、您不会在 SDO 上看到任何内容、我想 DAC 没有收到启用 SDO 的命令。
连接到 DAC6320EVM 的 Nucleo 板上是否有接地? 我注意到您的图形中来自 GUI 的数据噪声很大、而 Nucleo 板则不是。 可能是接地问题、DAC 无法 正确解析数据。
此致!
K·琼斯
尊敬的 Katlynne:
我能够在电压输出模式下成功运行 DAC、因为我可以看到 OUT0引脚上的电压根据输入线路上的数据发生变化。 我仍然无法在 SDO 线路上看到数据、我在 SDO 上保持高电平。 要启用 SDO、我认为只需要 更新接口配置寄存器。 我尝试使用0x0001h 配置接口配置寄存器、因为它无法正常工作我再次使用0x0005h 配置接口配置寄存器。
如果接口配置寄存器是唯一要配置以启用 SDO 的寄存器,您可以向我确认这一点吗?
谢谢。
Mitali。
尊敬的 Mitali:
是的、接口配置寄存器是启用 SDO 所需的唯一寄存器。
GPI 使能位应设置为0 (这是默认设置)
您能否确认当您使用 GUI 时在 EVM 上看到 SDO 功能?
此致!
K·琼斯
尊敬的 Katlynne:
感谢您的答复! SDO 根据您在回复中提及的建议工作。
只需确认、DAC53202的 配置是否与 DAC63204相同、或者其配置寄存器是否有任何更改?
尊敬的 Mitali:
很高兴听到 SDO 在工作。
这两个器件几乎是相同的。 唯一的区别在于、DAC53202上的 CH0对应于 DAC63204上的 CH3、而 DAC53202上的 CH1对应于 DAC63204上的 CH0。 因此、当您使用 DAC63204进行评估时、适用于 CH3和 CH0的任何寄存器设置将分别用于 DAC53202 CH0和 CH1。
例如、请参阅器件引脚排列中突出显示的差异以及几个示例寄存器:
此致!
K·琼斯
谢谢 Katlynne。