主题中讨论的其他器件:DAC81416、 USB2ANY
您好!
这可能是一个简单的请求。
我很难从 DAC81416 EVM 获取输出。 我正在使用 NI8452 SPI 接口模块来控制 DAC81416 EVM。 DAC81416的文档介绍 了许多不同的运行模式、但我们只需对器件进行编程即可在三个通道上产生直流电压、但并非所有这些都是同时产生的。
请告诉我设置正确模式所需的序列以及如何处理简单直流电压输出所需的寄存器。
谢谢、
Pete Galaviz
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.
您好!
这可能是一个简单的请求。
我很难从 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、
我向您保证 Uttam 是一名真正的工程师、但他可能不在美国。 此时、我看不到我们需要将其升级为电话呼叫的任何原因、因为所有这些信息都包含在数据表中。
第28页显示了两个表、说明了每个读取和写入周期所需的位字段。 您将注意到、在每种情况下、地址字段使用位21-16。 这是应用第31页表中列出的"偏移"值的位置。 这是当前 TI 标准的寄存器地址命名规则。
Uttam 所指的第48页显示了一些用于配置器件的伪代码示例。
如果您仍对问题感到困惑、请告知我们。 我自己或我团队中的另一位真正的工程师将继续为您提供支持。
尊敬的 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
我有几个问题、因为我无法获得 DAC 81416的输出。 我正在尝试使用美国国家仪器(National Instruments) SPI 模块(NI-845x SPI)控制 DAC 81416。
我使用 DAC 81416低级软件来设置所需寄存器上的位、以配置器件、从而从 DAC 获取所需输出。
然后、我使用了来自 NI SPI 模块的位模式。
我还需要 注意其他事项吗? NI SPI 模块在 CS、CLK 和数据方面使用标准 SPI 协议。 我不使用 LDAC 线路锁存数据、因为我也知道默认模式是异步的。 是这样吗?
NI 软件是否会生成我需要注意的任何其他内容。
感谢你的帮助
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)。