新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 牛人業(yè)話 > 小梅哥和你一起深入學(xué)習(xí)FPGA之DAC驅(qū)動

小梅哥和你一起深入學(xué)習(xí)FPGA之DAC驅(qū)動

作者: 時間:2015-08-05 來源:網(wǎng)絡(luò) 收藏

  本實(shí)驗(yàn)中,我們使用來驅(qū)動了一片芯片TLC5620,該芯片的特性如下所示:

本文引用地址:http://butianyuan.cn/article/278347.htm

  TLC5620特性:

  4路8位電壓輸出;

  單電源5V供電;

  串行接口;

  參考電壓輸入高阻;

  可編程的1次或2次輸出范圍;

  同時更新的能力;

  內(nèi)部自帶上電復(fù)位功能;

  低功耗;

  半緩沖輸出。

  小梅哥設(shè)計(jì)的該芯片的驅(qū)動模塊的接口如下所示:

  

 

  各個端口定義如下:

  以下是代碼片段:

  input Clk;

  input Rst_n;

  input Do_DA; /*使能單次轉(zhuǎn)換*/

  input [10:0]Data;/*{Addr1,Addr0,Range,Data_bit[7:0]}*/

  output reg _Dout; /*數(shù)據(jù)線*/

  output reg DAC_Clk; /*DAC時鐘線,最高速度1M*/

  output reg DAC_LDAC; /**/

  output reg DAC_LOAD; /**/

  output reg DA_Done; /*單次轉(zhuǎn)換完成標(biāo)志信號*/

  該芯片提供了類似于SPI的數(shù)字接口,因此,我們只需要使用該接口與芯片進(jìn)行通信,再配合LOAD和LDAC兩個控制線,即可實(shí)現(xiàn)對該DAC芯片的控制。TLC5620一次轉(zhuǎn)換的操作時序如下:

  

 

  圖1 TLC5620單次轉(zhuǎn)換時序圖

  TLC5620每次寫入的數(shù)據(jù)為11位,其中前兩位為DAC選擇位A1、A0,通過不同的組合可以選擇不同通道的DAC,具體分配為:

  

 

  表1 DAC通道選擇位與對應(yīng)通道關(guān)系

  第三位是電壓輸出增益位,0代表不變,1代表兩倍,當(dāng)設(shè)定參考電壓為2.5V時,取這一位為1就可以得到最高5V的輸出電壓。后面8位是數(shù)據(jù)位,其中第四位是數(shù)據(jù)的最高位。對于TLC5620的輸出電壓公式是:

  VO=VREF ×CODE/256×(1+RNG)

  VREF是參考電壓,CODE是待轉(zhuǎn)換的8位二進(jìn)制代碼,RNG是增益倍數(shù)。

  寫入數(shù)據(jù)時,首先LOAD和LDAC寫高電平,這樣在CLK的每個下降沿寫入的每位數(shù)據(jù)被鎖存到DATA端,當(dāng)11位數(shù)據(jù)傳送完畢后,拉低LOAD,芯片根據(jù)前兩位數(shù)據(jù),判斷是哪一路DAC通道,然后將8位數(shù)據(jù)移入相應(yīng)的通道,進(jìn)行DA轉(zhuǎn)換,這時拉低LDAC,再拉高LDAC,就可以再下次轉(zhuǎn)化之前,保持此次的模擬輸出。

  TLC5620正常工作時的具體電壓和時間參數(shù)如下表所示,通過該表,可知該芯片串行數(shù)字接口的時鐘信號(CLK)最高為1MHz。該參數(shù)將作為我們采用產(chǎn)生TLC5620數(shù)字接口時鐘的依據(jù)。同時,還有輸入數(shù)據(jù)建立時間tsu(data-clk)為50ns,即,數(shù)據(jù)送出,到能夠被TLC5620正常讀取,至少需要50ns,因此FPGA單位數(shù)據(jù)輸出保持時間不得少于50ns。tv(data-clk)為時鐘下降沿到來后多久時間數(shù)據(jù)線上的數(shù)據(jù)才能被芯片內(nèi)部采集,該時間確定了,時鐘下降沿出現(xiàn)多久后,數(shù)據(jù)線上的數(shù)據(jù)可以被更新。tsu(LOAD-LDAC)為LOAD的上升沿到LDAC下降沿的建立時間,這里最小為0ns,因此忽略,即兩者同時發(fā)生即可。tw(LDAC)為LDAC低電平所需的最短時間,為250ns。

  

  表2 TLC5620關(guān)鍵參數(shù)

  通過對TLC5620一次完整轉(zhuǎn)換的時序進(jìn)行分析,列出以下序列機(jī)對應(yīng)的序列點(diǎn):該序列機(jī)總共包含26個點(diǎn),其中,當(dāng)Cnt1=0(ST0)時,為空閑態(tài),ST1—ST22為數(shù)據(jù)發(fā)送狀態(tài),ST23時拉低LOAD,即將數(shù)據(jù)加載入對應(yīng)通道的DAC中,ST24時釋放LOAD,同時拉低LDAC,以產(chǎn)生LDAC的下降沿,將對應(yīng)通道的模擬輸出保持住。ST25拉高LDAC,完成一次轉(zhuǎn)換。

  表3 TLC5620單次轉(zhuǎn)換控制序列機(jī)

  序列機(jī)的計(jì)數(shù)器計(jì)數(shù)條件如下

  表4 TLC5620序列機(jī)計(jì)數(shù)器計(jì)數(shù)條件

fpga相關(guān)文章:fpga是什么


路由器相關(guān)文章:路由器工作原理


路由器相關(guān)文章:路由器工作原理


塵埃粒子計(jì)數(shù)器相關(guān)文章:塵埃粒子計(jì)數(shù)器原理

上一頁 1 2 下一頁

關(guān)鍵詞: FPGA DAC

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉