为便于小伙伴们快速上手LTC2666芯片,对其SPI通信的指令进行简单解析。
LTC2666芯片中文数据手册详见:DAC芯片-LTC2666中文数据手册-CSDN博客
LTC2666芯片中文数据手册pdf版本详见:DAC芯片-LTC2666中文数据手册资源-CSDN文库
以24位,3字节为例:/CS-/LD引脚为低电平时,SDI引脚上的数据就会在时钟(SCK引脚)上升沿加载到移位寄存器中。首先加载的是4位命令(C3-C0),然后是4位DAC地址(A3-A0),最后是移位寄存器中的16位数据字。结合数据手册中table1和table2,即可通过LTC2666芯片的Command code对LTC2666芯片完成控制。
1. 向DAC通道写入码值
例1:向DAC通道1写入代码4096,并更新DAC通道1,此时Command code为00110001 00010000 00000000
2. 改变DAC通道输出范围
例2:改变DAC通道2输出范围为0V-5V:此时Command code为01100010 xxxxxxxx xxxxx000(参见table3 Figure4)注意:软件控制量程,需设置MSP2-MSP0为逻辑高电平,如table4所示。
3. 模拟多路复用器 (mux)
模拟多路复用器 (mux),用于测量选定的器件电压。
例3:将Vout3路由至 模拟多路复用器,此时Command code为1011xxxx xxxxxxxx xxx10011(参见table5和Figure5)
4. 切换输入寄存器A和B
有些系统要求DAC 输出在两个电平之间重复切换。例如,引入一个小的交流偏置,或在 "开 "和 "关 "状态之间独立切换。LTC2666的切换功能通过为每个DAC通道提供两个输入寄存器(A和B)来促进此类操作。
例4:设置通道3在代码4096 和4200之间切换:
1)将代码通道 3(代码 = 4096)写入寄存器 A 00000011 00010000 00000000
2)切换选择(设置位 T3) 1100xxxx xxxxxxxx 00001000(参见Figure6)
3)将代码通道 3(代码 = 4200)写入寄存器 B 00000011 00010000 01101000
步骤(3)的写入代码指向寄存器 B,因为在步骤(2)中,位 T3 被设置为 1。现在,通道 3 的输入寄存器 A 和寄存器 B 保存了两个所需的代码,可以进行切换操作。
4)切换输入寄存器B 1101xxxx xxxxxxxx xxxxxxx1(参见Figure7)。将TGB 从 1改为0,可从各自的输入寄存器A更新DAC寄存器;将TGB从0改为1,可从各自的输入寄存器B更新DAC寄存器。
5. 掉电模式
例5:DAC通道2进入掉电模式,此时Command code为01000010 xxxxxxxx xxxxxxxx。
6. 禁用内部基准电压源和热过载保护
例6:禁用内部基准电压源和热过载保护,需调用config command,即:此时Command code为0111xxxx xxxxxxxx xxxxxx11。
了解Command code含义后,通过SPI通信向LTC2666芯片下发指令即可实现对LTC2666芯片的控制。