天天看點

FMC150配置和使用(二)dac3283DAC3283DAC3283重要管腳SPI配置寄存器資料接口時序

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

DAC3283

和cdce72010以及後續要介紹的ads62p49一樣,他們三個晶片都是TI公司研發的可以在TI官網找到相應的資料,也可以在TI中文論壇裡釋出自己遇到的問題或者檢視他人遇到的問題。

DAC3283是一個具有雙通道,支援16位差分輸入(轉成單端就是8位了),轉換速率最高可達800MSPS的數模轉換器。可以通過3線或4線SPI對晶片進行配置。下圖是DAC3283的簡易原理圖。

FMC150配置和使用(二)dac3283DAC3283DAC3283重要管腳SPI配置寄存器資料接口時序

DAC3283重要管腳

下面首先介紹一下dac3283比較重要的管腳。

ALARM_SDO:在4線SPI中作為從機輸出主機輸入

FMC150配置和使用(二)dac3283DAC3283DAC3283重要管腳SPI配置寄存器資料接口時序

D[7…0]P和D[7…0]N:輸入數字邏輯資料的差分形式

DACCLKP和DACCLKN:DAC轉換時鐘的差分形式

FMC150配置和使用(二)dac3283DAC3283DAC3283重要管腳SPI配置寄存器資料接口時序

DATACLKP和DATACLKN:輸入資料時鐘的差分形式

FRAMEP和FRAMEN:用于訓示輸入資料的起始以及内部FIFO的讀寫複位。

FMC150配置和使用(二)dac3283DAC3283DAC3283重要管腳SPI配置寄存器資料接口時序

SCLK:SPI通信,主機給從機的時鐘

SDENB:SPI通信,主機給從機的使能

SDIO:SPI通信,主機給從機的輸入

TXENABLE:數字邏輯資料輸入使能端

FMC150配置和使用(二)dac3283DAC3283DAC3283重要管腳SPI配置寄存器資料接口時序
FMC150配置和使用(二)dac3283DAC3283DAC3283重要管腳SPI配置寄存器資料接口時序

SPI配置寄存器

接下來介紹如何通過SPI配置DAC3283的寄存器。

先放一張時序圖。

FMC150配置和使用(二)dac3283DAC3283DAC3283重要管腳SPI配置寄存器資料接口時序

每個讀/寫操作都由信号SDENB(串行資料使能條)框定,低電平為2至5個位元組,具體取決于要傳輸的資料長度(1-4個位元組)。 第一個幀位元組是指令周期,它辨別随後的資料傳輸周期為讀或寫,要傳輸多少位元組以及要傳輸資料的位址。 表1列出了指令周期中每個位的功能,并在後面詳細說明了每個位。 幀位元組2至5構成資料傳輸周期。資料在SCLK的上升沿輸入到器件。 資料在SCLK的下降沿發生改變。

FMC150配置和使用(二)dac3283DAC3283DAC3283重要管腳SPI配置寄存器資料接口時序

資料接口時序

最後介紹如何産生正确的時序,将數字邏輯資料傳給DAC。

DAC3283具有單個8位LVDS總線,該總線接受位元組寬度格式的雙16位資料輸入。 進入DAC3283的資料根據下圖所示的格式進行格式化,其中索引0為資料LSB,索引15為資料MSB。資料通過雙倍資料速率(DDR)時鐘DATACLK采樣。

需要FRAME信号來訓示幀的開始。 幀信号可以是脈沖或周期信号,其中幀周期對應于8個樣本。 脈沖寬度必須至少等于DATACLK周期的一半。 FRAME由DATACLK的上升沿采樣。

FMC150配置和使用(二)dac3283DAC3283DAC3283重要管腳SPI配置寄存器資料接口時序

在晶片内部有一個FIFO用于緩存,讀FIFO的速率和寫FIFO的速率必須一緻,否則無法産生正确的模拟信号(我一開始就沒在這注意)。

讀FIFO是32位的往外讀,而寫FIFO是8位的往裡寫,寫滿32位再寫下一個位址。

假設DACCLK為400MHz,那麼讀FIFO的時鐘就為DACCLK/Interpolation(Interpolation為内插寄存器系數,這裡通過SPI配置成4),也就是讀FIFO的時鐘速率為100MHz。為了讓讀寫速率相等,DATACLK得為200MHz。

FMC150配置和使用(二)dac3283DAC3283DAC3283重要管腳SPI配置寄存器資料接口時序

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;