TLC5620串行DA實驗_第1頁
TLC5620串行DA實驗_第2頁
TLC5620串行DA實驗_第3頁
TLC5620串行DA實驗_第4頁
TLC5620串行DA實驗_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、實驗二 TLC5620串行D/A實驗一、實驗?zāi)康? .掌握數(shù)/模轉(zhuǎn)換芯片TLC5620的使用方法。2 .掌握利用有限狀態(tài)機 實現(xiàn)一般時序邏輯分析的方法。3 .掌握計數(shù)器的工作方法。二、實驗原理TLC5620M裝如實驗圖1.1所示,是一個4通道8位的串行數(shù)模(D/A)轉(zhuǎn) 換器,其最大轉(zhuǎn)換速度可達IMBps其管腳REFAREFD四個通道的參考電壓, 實驗平臺的參考電壓均為2.5V; DACADACD4路四個模擬信號輸出通道;DATA 為申行數(shù)據(jù)輸入;CLK為DAC$行數(shù)據(jù)輸入時鐘,其下降沿鎖存輸入數(shù)據(jù) DATA LOAD%串行數(shù)據(jù)鎖存信號,低電平鎖存。LDAE DAC俞出更新控制信號,當LDAC

2、為低電平時,則把鎖存在鎖存器的數(shù)據(jù)送到 DA"轉(zhuǎn)換為模擬信號,在相應(yīng)的通 道進行輸出,故可以始終把LDACJ號置為低電平,也就是說加載信號一旦產(chǎn)生, 數(shù)據(jù)立刻轉(zhuǎn)換輸出。N on D PACKAGE(TOP VIEW)GND REFA REFB REFC REFD DATA CLKvD0LDACDACA DACB DACC DACDJ LOAD圖1.1 TLC5620封裝示意圖因為TLC5620為四通道的數(shù)模轉(zhuǎn)換器,只有一個 DATA數(shù)據(jù)輸入端,所以傳 送的數(shù)據(jù)中要包含通道的信息,以便DACtt識別出該數(shù)據(jù)屬于哪個通道,轉(zhuǎn)換完 成后的模擬信號輸出到相應(yīng)的通道中。 TLC5620傳輸?shù)囊?/p>

3、幀數(shù)據(jù)位11位,先傳 送高位,最后傳送低位,幀格式如實驗表 1.1所示。表1.1 TLC5620的數(shù)據(jù)結(jié)構(gòu)D10D9D8D7D6D5D4D3D2D1D0通道選擇輸出模式RNG8位數(shù)據(jù)D7D0D10 D9為通道選擇位,“00” “11”分別選擇DACADACD道。RNG勺數(shù)值為0或者1,為輸出倍數(shù)。TLC5620的輸出電壓為:Vo(DACA/B/C/D) Vrefa/b/c/d CODE (1 RNG)256簡單的說,DAC內(nèi)部有移位寄存器和鎖存器,我們要在工程中實現(xiàn)在LOAD高電平時把11位數(shù)據(jù)在CLK的下降沿逐位(由低位到高位)發(fā)送到 DAO DATA端,發(fā)送完畢后,LOADS為高電平,指示

4、DAC!行模數(shù)轉(zhuǎn)換TLC5620的訪問時序圖如實驗圖1.2所示。圖1.2 TLC5620訪問時序圖需要注意的是LOAD勺低電平的最小保持時間tw (LOAD為250ns,各個tsu和 tv的最小保持時間為50ns。為了盡可能最大利用DAC勺轉(zhuǎn)換速度,為此我們狀態(tài) 機選用16MHz(62ns)左右的輸入時鐘,在 LOAD(氐電平時要等待5個狀態(tài)機時 鐘CLK16M為此我們采用計數(shù)器判斷等待時間是否滿足條件,該計數(shù)器使用LOAD的高電平為異步復(fù)位信號,低電平時,對 CLK16Ms行計數(shù),當計數(shù)器計數(shù)值大 于5時,說明LOAM低電平的時間tw (LOAD已滿足,狀態(tài)機可跳轉(zhuǎn)到下一態(tài)。在LOAD勺高電

5、平時,需要產(chǎn)生11個DAC勺CLK,同樣采用計數(shù)器計數(shù)值得判 斷,該計數(shù)器中,LOAD勺低電平為異步復(fù)位信號,LOAM高電平時,對DA_CLK 計數(shù),滿足計數(shù)器的計數(shù)值11時,說明已經(jīng)送入了 11bit的串行數(shù)據(jù),可以進行置LOAM低電平,對libit數(shù)據(jù)鎖存進行數(shù)模轉(zhuǎn)換三、實驗流程圖四、實驗程序module DAC(clk,rst,key,dac_clk, dac_data,dac_load,dac_ldac, sel0,sel1,sel2,ky1,seg_com,seg_data);input clk,rst;input 3:0key;output dac_clk,dac_data,dac

6、_load,dac_ldac;output sel0,sel1,sel2;output kyl;output 7:0seg_com;output 7:0seg_data;wire clk;wire rst;wire 3:0key;wire dac_clk;wire dac_data;wire dac_load;wire dac_ldac;wire 10:0 wr_data;wire wr_n;assign sel0=1;assign sel1=0;assign sel2=0;assign ky1=0;+regdac_clk_r;regdac_data_r;reg 5:0 counter;wir

7、edac_done;/+/reg 7:0outdata;reg 7:0datain7:0;reg 7:0seg_com;reg 7:0seg_data;reg 7:0bcd_led;reg 31:0 count;reg7:0 data_code_r;reg1:0 channel;regCLK_DIV;reg 31:0 DCLK_DIV;reg7:0key0_r;reg7:0key1_r;reg7:0key2_r;reg7:0key3_r;reg 31:0 vo_r;parameter CLK_FREQ = 'D50_000_000;/ 系統(tǒng)時鐘 50MHzparameter DCLK_

8、FREQ = 'D10;/AD_CLK 輸出時鐘 10/2HZalways (posedge clk)if(DCLK_DIV < (CLK_FREQ / DCLK_FREQ)DCLK_DIV <= DCLK_DIV+1'b1;elsebeginDCLK_DIV <= 0;CLK_DIV <= CLK_DIV;dac_clk_r <= dac_clk_r;end/* 高 2 位為通道選擇,低8 位為 DA 數(shù)據(jù), 第 9 位 RNG 為 1 時輸出 0 到 2 倍 Vref,為 0 時輸出 0 到 Vref*/assign wr_data = cha

9、nnel,1'b1,data_code_r;assign wr_n = 1'b0;/* 根據(jù)按鍵不同,選擇不同的DA 通道,其值遞增*/always (posedge CLK_DIV or negedge rst )if(!rst)beginkey0_r <= 8'h00;key1_r <= 8'h00;key2_r <= 8'h00;key3_r <= 8'h00;data_code_r <= 8'h00;endelsecase(key)4'b1110 : begin /key4channel &l

10、t;= 2'b00;key0_r <= key0_r + 1'b1;data_code_r <= key0_r;end4'b1101 : begin /key3channel <= 2'b01;key1_r <= key1_r + 1'b1;data_code_r <= key1_r;end4'b1011 : begin /key2channel <= 2'b10;key2_r <= key2_r + 1'b1;data_code_r <= key2_r;end4'b0111

11、 : begin /key1channel <= 2'b11;key3_r <= key3_r + 1'b1;data_code_r <= key3_r;enddefault : begin endendcase/* 將各通道的電壓值顯示于數(shù)碼管上,單位mv */always (negedge rst or negedge CLK_DIV )beginif(!rst)begindatain0<=8'b00000000;datain1<=8'b00000000;datain2<=8'b00000000;datain3&l

12、t;=8'b00000000;datain4<=8'b00000000;datain5<=8'b00000000;datain6<=8'b00000000;datain7<=8'b00000000;endelse begin/*電壓值 Vo=Vref * (RNG+1) * CODE / 256*/vo_r = data_code_r * 13'd5000/9'd256;datain0<=vo_r%10;datain1<=vo_r/10%10;datain2<=vo_r/100%10;datain

13、3<=vo_r/1000%10;endendalways (posedge clk)begincount=count+1;endalways (count14:12)begincase(count14:12)3'b000:beginbcd_led = datain0;seg_com = 8'b00000001;end3'b001:beginbcd_led=datain1;seg_com=8'b00000010;end3'b010:beginbcd_led=datain2;seg_com=8'b00000100;end3'b011:b

14、eginbcd_led=datain3;seg_com=8'b00001000;end3'b100:beginbcd_led=datain4;seg_com=8'b00010000;end3'b101:beginbcd_led=datain5;seg_com=8'b00100000;end3'b110:beginbcd_led=datain6;seg_com=8'b01000000;end3'b111:beginbcd_led=datain7;seg_com=8'b10000000;endendcaseendalways

15、(seg_com or bcd_led)begincase(bcd_led3:0)4'h0:seg_data=8'hc0;4'h1:seg_data=8'hf9;4'h2:seg_data=8'ha4;4'h3:seg_data=8'hb0;4'h4:seg_data=8'h99;4'h5:seg_data=8'h92;4'h6:seg_data=8'h82;4'h7:seg_data=8'hf8;4'h8:seg_data=8'h80;4'h

16、9:seg_data=8'h90;4'ha:seg_data=8'h88;4'hb:seg_data=8'h83;4'hc:seg_data=8'hc6;4'hd:seg_data=8'ha1;4'he:seg_data=8'h86;4'hf:seg_data=8'h8e;endcaseend/*/+/always (posedge dac_clk_r or negedge rst)beginif(!rst)counter <= 0;elseif(counter<='d1

17、3)counter <= counter + 1'b1;elsecounter <= 0;endassign dac_load = (counter = 4'd12) ? 1'b0 : 1'b1;assign dac_clk = (counter > 'd0 && counter < 'd12) ? dac_clk_r : 1'b0;assign dac_ldac = (counter = 4'd13) ? 1'b0 : 1'b1;assign dac_done = (cou

18、nter <= 4'd11) ? 1'b0 : 1'b1;assign dac_data = dac_data_r;/* 先高位,把11 位數(shù)據(jù)傳輸給DAC 芯片 */always (counter3:0 or wr_data or dac_done or wr_n)beginif(!dac_done && !wr_n)case(counter3:0)4'd1: dac_data_r <= wr_data10;4'd2: dac_data_r <= wr_data9;4'd3: dac_data_r <=

19、wr_data8;4'd4: dac_data_r <= wr_data7;4'd5: dac_data_r <= wr_data6;4'd6: dac_data_r <= wr_data5;4'd7: dac_data_r <= wr_data4;4'd8: dac_data_r <= wr_data3;4'd9: dac_data_r <= wr_data2;4'd10: dac_data_r <= wr_data1;4'd11: dac_data_r <= wr_data0;d

20、efault: dac_data_r <= 1'b1;endcaseelsedac_data_r <= 1'b1;endendmodule五、管腳分配Mode NfltrEDiredbonLocjaticnr由 BariI/O 專舊 nda d1OutputPW_®7B2JJJ /UE rirhutJ2oJ8cda(niubutPUMA£H2_N1J,3VLVTTL MmuU39UiZUt2B2JN13 3/LEI e誨Utj073Hd (n-UQLItPN_M7B3JN13 WL'/TTl 聲缶U。50TSd-TnpjOutputP(W

21、_1!972B2J41 L'WTTpTdedmtnrlOutxjtpiy_m2B2JN13.3 / L!jTTL :default2JBedzsnfluditPCN_JS12 3.3-/ L'/ITL yEfaut)TBedLanpOutputp£iM_i3aiei_niS.WLTTL defaul)9ET78cdM怙 JOutputP-1BI_N1J 3-V LTR HrfeuU1U3Ju OutPLh_5J,B4J41X3-VL7ITL4tMJU13例電dsg為LXlOutp蠢監(jiān)4時J41i W TTL fdshutj12&RlfdJ島同0u血tPMJll4B4_N 1$ W UE :d$u I)1寸OutputPM*二f】J LVTTL加曰相叩14廿加g叫QuDUtPEKMMM3 3# L'/TR (deftutJ153用 wdca 口口ubJtPWJQ4的N13 ARE和專u幻ie田TSEdgta:口umtPOU.K4B4JN13 L'jTTL ;dtfaul)17*dkbipiitprw_?3-B1JNC X Lk .drFau tjiairhEYiajm:pW_io22BZ

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論