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.

[参考译文] DAC81416EVM:来自通用 SPI 模块的 SPI 命令

Guru**** 1828310 points
Other Parts Discussed in Thread: DAC81416, USB2ANY
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/832194/dac81416evm-spi-commands-from-a-general-spi-module

器件型号:DAC81416EVM
主题中讨论的其他器件:DAC81416USB2ANY

您好!

这可能是一个简单的请求。

我很难从 DAC81416 EVM 获取输出。  我正在使用  NI8452 SPI 接口模块来控制 DAC81416 EVM。  DAC81416的文档介绍 了许多不同的运行模式、但我们只需对器件进行编程即可在三个通道上产生直流电压、但并非所有这些都是同时产生的。

请告诉我设置正确模式所需的序列以及如何处理简单直流电压输出所需的寄存器。

谢谢、

Pete Galaviz

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Pete、

    欢迎使用 E2E、感谢您的提问。 步骤很简单:

    1.禁用器件的掉电位

    2.启用内部基准(在 EVM 上默认连接外部基准、因此不需要此步骤)

    3.根据需要选择输出范围,默认为0-5V

    4.禁用相应通道的断电位

    5.将代码写入 DAC (确保 SYNC_EN 位处于默认模式)

    您可以在数据表中查看伪代码示例的应用信息。

    希望这能解答您的问题。 由于当地的假期、我明天将不可用。 如有其他问题、请发布。 我将在星期一回来。

    此致、

    Uttam Sahu

    应用工程师、精密 DAC

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Sahu 先生

    请提供有关如何寻址每个寄存器的更详细说明。  不清楚如何执行该操作。  文档讨论了偏移寄存器、但不清楚这意味着对所需寄存器进行编程。  参考: http://www.ti.com/lit/ds/slaseo0a/slaseo0a.pdf 的第31页

    请准确提供需要对哪些寄存器进行编程以及按哪个顺序进行编程。

    一个示例将非常有用。

    谢谢、

    Pete Galaviz

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Pete、

    对延迟答复表示歉意。 您可以查看数据表的第48页。 它为定义的应用程序提供寄存器写入序列。 这也将为您的应用提供指导。

    此致、

    Uttam

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们需要与美国的一位真正的工程师交谈。 您能否在美国提供电话号码?

    Pete

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Pete、

    我向您保证 Uttam 是一名真正的工程师、但他可能不在美国。 此时、我看不到我们需要将其升级为电话呼叫的任何原因、因为所有这些信息都包含在数据表中。

    第28页显示了两个表、说明了每个读取和写入周期所需的位字段。 您将注意到、在每种情况下、地址字段使用位21-16。 这是应用第31页表中列出的"偏移"值的位置。 这是当前 TI 标准的寄存器地址命名规则。

    Uttam 所指的第48页显示了一些用于配置器件的伪代码示例。

    如果您仍对问题感到困惑、请告知我们。 我自己或我团队中的另一位真正的工程师将继续为您提供支持。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们需要美国 工程师的电话号码。

    Peter

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Peter:

    我主要支持该部件、我位于印度。 因此、我是在该设备上进行电话呼叫的最佳人选。 话虽如此、我们认为您目前没有电话帮助的问题。 在 E2E 上、我们没有聊天机器人、因此每个人都是一个真实的人、也是相应部分的专家、而在不同时区、可能有同事提供支持、主要是为了确保我们的客户及时获得答案。

    让我提供更多技术细节、以便您可以开始使用外部 SPI 主器件进行编程。 首先、如果您是第一次使用 DAC 或 SPI 接口、最好先将 EVM 与 USB2ANY 适配器配合使用、以便您可以使用软件 GUI 对 DAC 进行编程、并实际了解不同的模式。

    如果您希望使用外部硬件和软件直接连接、请让我提供更多详细信息、以帮助您配置 SPI 接口和 DAC 以获得所需的输出。 确保已按照 EVM 用户指南中的规定连接正确的电源。 您将需要 VCC、VSS、VDD 和 VIO。 默认情况下、EVM 上的跳线设置(表5)从数字接口连接器 J8中选择 VIO。 您需要更改 J10上的跳线设置、以便使用 J7提供 VIO。

    SPI 配置

    SPI 模式:模式1

    SCLK 频率:< 50MHz

    SPI 帧大小:默认为24位

    CS 类型:每个数据包/帧的低电平有效

    其他数字引脚配置

    /RESET 应为高电平

    /CLR 应为高电平

    /LDAC 应该为高电平、然后在写入 SPI 帧或将数据写入所有 DAC 后被拉低

    DAC 配置

    默认情况下、DAC 的输出电压范围设置为0-5V。 如果您想更改设置、例如 DAC0、DAC1和 DAC2上的+/-5V、 然后使用 DACRANGE3寄存器并对以下数据进行编程(为了便于解释、我将以伪代码格式写入):

    写入 DACRANGE3 (地址:0x0D)、数据(0x9999)

    产生的 SPI 帧:0x0D9999

    默认情况下、外部基准电压(2.5V)连接到 DAC。 内部基准被禁用。 对于 EVM 的基本操作、您可以使用外部基准。 复位 GENCONFIG 寄存器的位14以启用内部基准。 在启用内部基准之前、请确保将外部基准与跳线 J11断开。

    接下来、通过将 SPIC1000寄存器中的位5复位、使器件掉电、如下所示:

    写入 DACPWDWN (地址:0x09)、数据(0xFFF8)

    产生的 SPI 帧: 0x09FFF8

    接下来、设置相应 DAC 通道的 SYNC-EN 位和 LDAC 位、以使用 LDAC 引脚进行同步更新。 请注意、如果不需要同时更新、则不需要此步骤。

    写入 SYNCCONFIG (ADDR:0x06)、DATA (0x0007)

    产生的 SPI 帧 :0x060007

    写入触发(地址:0x0E)、数据(0x0010)

    产生的 SPI 帧: 0x0E0010

    接下来、使用 DACPWDWN 寄存器为相应的 DAC 通道加电:

    写入 SPIC0.85 (地址:0x03)、数据(0x0A84)

    产生的 SPI 帧: 0x030A84

    接下来、按如下方式对所有三个 DAC 通道中所需的 DAC 代码(例如:0xAAAA、0xBBBB、0xCCCC)进行编程:

    写入 DAC0_DATA (地址:0x10)、DATA (0xAAAA)

    产生的 SPI 帧: 0x10AAAA

    写入 DAC1_DATA (地址:0x11)、DATA (0xBBBB)

    产生的 SPI 帧: 0x11BBBB

    写入 DAC2_DATA (地址:0x12)、DATA (0xCCCC)

    产生的 SPI 帧: 0x12CCCC

    在这里将 LDAC 引脚置为低电平、然后置为高电平、以便同时进行更新。

    希望这能解答您的问题。 如果您遇到任何问题、请告诉我。 如果您遇到任何问题、最好上传 SPI 帧的范围截屏。

    如果编程后输出不可用、我将写下几个调试步骤:

    1.检查电源

    2.检查基准

    3.检查消耗的电流、以了解 DAC 是否已通电

    4.检查 SPI 帧格式

    5.检查上述编程顺序。 如果我有一些拼写错误、请使用数据表交叉检查上述值-我已尝试尽可能正确

    6.尝试不使用 LDAC,然后查看是否存在更新问题。 在本例中将 LDAC 拉至低电平

    此致、

    Uttam

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Uttam

    感谢您提供相关信息。  

    Peter

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Peter、

    不用客气。 我将从我的一侧闭合线程。 如果您在这方面遇到进一步的问题、您可以在60天内重新打开它。

    此致、

    Uttam

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我有几个问题、因为我无法获得 DAC 81416的输出。  我正在尝试使用美国国家仪器(National Instruments) SPI 模块(NI-845x SPI)控制 DAC 81416。

    我使用 DAC 81416低级软件来设置所需寄存器上的位、以配置器件、从而从 DAC 获取所需输出。

    然后、我使用了来自 NI SPI 模块的位模式。

     我还需要 注意其他事项吗? NI SPI 模块在 CS、CLK 和数据方面使用标准 SPI 协议。  我不使用 LDAC 线路锁存数据、因为我也知道默认模式是异步的。  是这样吗?  

    NI 软件是否会生成我需要注意的任何其他内容。   

    感谢你的帮助

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    另一件事是、是否有配置每个寄存器的设置序列?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Peter:

    很抱歉耽误你的回答。 如果您可以从 NI 器件共享 SPI 模式的一些示波器截图、那将是一个不错的选择。 这样、我们就可以了解图形是否正确。 除了我在上一个职位上所说的情况外,没有其他特别规定。

    此致、

    Uttam

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    DAC 断电寄存器- 09 FF FE

    SPI 配置寄存器- 03 00 00

    Gen confg 寄存器–04 00 00

    DAC0寄存器0D FF FF

    我将所有其他寄存器保持在默认模式。

    一个问题:

    根据我所读的内容,不需要/LDAC,因为默认值是异步的。  是这样吗?

    再次感谢您的支持、

    Pete

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Pete、

    你是对的。 有关完整的详细信息、请参阅下文。

    使用器件时不需要 LDAC 引脚。 如数据表第4页所述:

    低电平有效同步信号。 当 LDAC 引脚为低电平时、配置为同步模式的通道的 DAC 输出会同时更新。 如果未使用、则连接到 VIO。

    第24页后面将进一步详细介绍寄存器映射:

    每个 DAC 通道的更新模式由其相应 SYNC-EN 位的状态决定。 在异步模式下、对 DAC 数据寄存器的写入会导致在 CS 上升沿上立即更新 DAC 有效寄存器和 DAC 输出。 在同步模式下、写入 DAC 数据寄存器不会自动更新 DAC 输出。 相反、更新仅在触发事件后发生。 DAC 触发信号由 LDAC 位或 LDAC 引脚生成。 同步更新模式可实现多个 DAC 输出的同步更新。 在两种 µs 模式下、DAC 输出更新之间需要1 μ s 的最短等待时间。

    第38页的表格描述了同步 EN 位的使用以及与异步模式相对应的缺省值(0)。