FMC150配置和使用(二)dac3283

接着上一篇《FMC150配置和使用(一)cdce72010》,这一篇介绍dac3283,以及如何配置和使用它。

DAC3283

和cdce72010以及后续要介绍的ads62p49一样,他们三个芯片都是TI公司研发的可以在TI官网找到相应的资料,也可以在TI中文论坛里发布自己遇到的问题或者查看他人遇到的问题。

DAC3283是一个具有双通道,支持16位差分输入(转成单端就是8位了),转换速率最高可达800MSPS的数模转换器。可以通过3线或4线SPI对芯片进行配置。下图是DAC3283的简易原理图。
在这里插入图片描述

DAC3283重要管脚

下面首先介绍一下dac3283比较重要的管脚。


ALARM_SDO:在4线SPI中作为从机输出主机输入
在这里插入图片描述
D[7…0]P和D[7…0]N:输入数字逻辑数据的差分形式
DACCLKP和DACCLKN:DAC转换时钟的差分形式
在这里插入图片描述
DATACLKP和DATACLKN:输入数据时钟的差分形式
FRAMEP和FRAMEN:用于指示输入数据的起始以及内部FIFO的读写复位。
在这里插入图片描述
SCLK:SPI通信,主机给从机的时钟
SDENB:SPI通信,主机给从机的使能
SDIO:SPI通信,主机给从机的输入
TXENABLE:数字逻辑数据输入使能端
在这里插入图片描述
在这里插入图片描述

SPI配置寄存器

接下来介绍如何通过SPI配置DAC3283的寄存器。


先放一张时序图。
在这里插入图片描述
每个读/写操作都由信号SDENB(串行数据使能条)框定,低电平为2至5个字节,具体取决于要传输的数据长度(1-4个字节)。 第一个帧字节是指令周期,它标识随后的数据传输周期为读或写,要传输多少字节以及要传输数据的地址。 表1列出了指令周期中每个位的功能,并在后面详细说明了每个位。 帧字节2至5构成数据传输周期。数据在SCLK的上升沿输入到器件。 数据在SCLK的下降沿发生改变。

在这里插入图片描述

数据接口时序

最后介绍如何产生正确的时序,将数字逻辑数据传给DAC。


DAC3283具有单个8位LVDS总线,该总线接受字节宽度格式的双16位数据输入。 进入DAC3283的数据根据下图所示的格式进行格式化,其中索引0为数据LSB,索引15为数据MSB。数据通过双倍数据速率(DDR)时钟DATACLK采样。
需要FRAME信号来指示帧的开始。 帧信号可以是脉冲或周期信号,其中帧周期对应于8个样本。 脉冲宽度必须至少等于DATACLK周期的一半。 FRAME由DATACLK的上升沿采样。
在这里插入图片描述
在芯片内部有一个FIFO用于缓存,读FIFO的速率和写FIFO的速率必须一致,否则无法产生正确的模拟信号(我一开始就没在这注意)。
读FIFO是32位的往外读,而写FIFO是8位的往里写,写满32位再写下一个地址。
假设DACCLK为400MHz,那么读FIFO的时钟就为DACCLK/Interpolation(Interpolation为内插寄存器系数,这里通过SPI配置成4),也就是读FIFO的时钟速率为100MHz。为了让读写速率相等,DATACLK得为200MHz。
在这里插入图片描述
ROM中的数据:

MEMORY_INITIALIZATION_RADIX=16;
MEMORY_INITIALIZATION_VECTOR=
0070
0131
0200
0310
04FF
0500
0600
0700
0800
0955
0AAA
0B55
0CAA
0D55
0EAA
0F55
10AA
1124
1202
13C2
1400
1500
1600
1704
1883
1900
1A00
1B00
1C00
1D00
1E24
1F52;
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值