欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Vivado系列之TCL549驅(qū)動設(shè)計

FPGA技術(shù)江湖 ? 來源:FPGA技術(shù)江湖 ? 2023-07-27 09:25 ? 次閱讀

系統(tǒng)性的掌握技術(shù)開發(fā)以及相關(guān)要求,對個人就業(yè)以及職業(yè)發(fā)展都有著潛在的幫助,希望對大家有所幫助。本次帶來Vivado系列,TLC549驅(qū)動設(shè)計。話不多說,上貨。

TCL549驅(qū)動設(shè)計

在生活中,數(shù)模轉(zhuǎn)換的例子到處可見。但是在我們做FPGA設(shè)計時,需要對數(shù)字信號進行處理,但是,不是所有的信號都是以數(shù)字信號的形式體現(xiàn)的,比如光信號、聲信號、電信號等等。那么此時就需要我們先進行一下模數(shù)轉(zhuǎn)換之后再進行處理。在此,我們將介紹一款模數(shù)轉(zhuǎn)換芯片TLC549。

TLC549是一款串行總線控制的8bit模數(shù)轉(zhuǎn)換芯片,封裝如下圖:

0f07a096-2c0a-11ee-a368-dac502259ad0.png

管腳說明:

0f1a8828-2c0a-11ee-a368-dac502259ad0.png

芯片特征:

1、8bit A/D轉(zhuǎn)換器。

2、最大轉(zhuǎn)換時間為17us。

3、供電3V~6V之間。

4、低功耗最大功率為15mW。

在官方手冊中,對此芯片有這樣的一段描述:

0f3fa6da-2c0a-11ee-a368-dac502259ad0.png

在這段描述中,大致說出了這個芯片的一些控制。比如:TLC548和TLC549都是8bit的模數(shù)轉(zhuǎn)換器。這個芯片使用I/O CLOCK和CS_N來控制數(shù)據(jù)。TLC548的I/O CLOCK最大頻率為2.048MHz,TLC549的I/O CLOCK最大頻率為1.1MHz。

在這段描述中可以看出,AD芯片的數(shù)據(jù)輸出,需要在I/O CLOCK和CS_N的控制下才能進行。

芯片示意圖:

0f63ccea-2c0a-11ee-a368-dac502259ad0.png

從圖中可以看出,參考電壓是模數(shù)轉(zhuǎn)換的一個標準,CS_N和I/O CLOCK給到邏輯控制和輸出計數(shù)。數(shù)據(jù)通過一個輸出寄存器給到一個并串轉(zhuǎn)換的模塊。DATA_OUT數(shù)據(jù)是給到我們的FPGA的,所以,對于我們來說需要做的就是輸出CS_N和I/O CLOCK的波形,同時,將給進來的數(shù)據(jù)采到。

0f8ece54-2c0a-11ee-a368-dac502259ad0.png

上圖為驅(qū)動的時序圖,可以看到,當數(shù)據(jù)輸出的時候,CS_N為低電平,總共輸出8bit,輸出完之后,CS_N拉高。我們在做驅(qū)動時??梢詫⒁淮无D(zhuǎn)換過程看成一個周期,后續(xù)也是重復過程。那么,我們就需要搞清楚每段時間的要求,有助于我們寫驅(qū)動。

0fc571f2-2c0a-11ee-a368-dac502259ad0.png

在上圖中,我們可以知道:

1、CS_N從拉低到第一bit數(shù)據(jù)出現(xiàn)在數(shù)據(jù)線上的時間最大為1.4us。

2、CS_N從拉低到第一個時鐘上升沿出現(xiàn),時間最小為1.4us。

3、I/O CLOCK頻率最大為1.1MHz。為了方便計算,我們采取1MHz。

4、Tconv轉(zhuǎn)換時間最大為17us。

5、CS_N拉高時間最小為17us。

在知道了以上信息后,我們開始寫驅(qū)動,首先新建一下工程。

0fefcac4-2c0a-11ee-a368-dac502259ad0.png

100eea26-2c0a-11ee-a368-dac502259ad0.png

選擇好之后點擊完成,新建文件寫代碼。

10337e86-2c0a-11ee-a368-dac502259ad0.png

10566eb4-2c0a-11ee-a368-dac502259ad0.png

代碼如下:

1   module TLC549_driver(
2     
3     input   wire          clk,
4     input   wire          rst_n,
5     
6     output  reg           ad_clk,
7     output  reg           ad_cs_n,
8     input   wire          ad_data,
9     
10    output  reg    [7:0]  data
11  );
12
13    parameter   t = 1300;
14
15    reg     [10:0]    cnt;
16    reg     [7:0]     data_temp;
17    
18    always @ (posedge clk, negedge rst_n)
19    begin
20    if(rst_n == 1'b0)
21      cnt <= 11'd0;
22    else if(cnt == t - 1)
23      cnt <= 11'd0;
24    else
25      cnt <= cnt + 1'b1;
26    end
27    
28    always @ (posedge clk, negedge rst_n)
29    begin
30    if(rst_n == 1'b0)
31      begin
32      ad_clk <= 1'b0;
33      ad_cs_n <= 1'b1;
34      data_temp <= 8'd0;
35      data <= 8'd0;
36      end
37    else
38      case(cnt)
39      0   : begin ad_cs_n <= 1'b0; ad_clk <= 1'b0; end
40      74  : begin ad_clk <= 1'b1; data_temp[7] <= ad_data; end
41      99  : begin ad_clk <= 1'b0; end
42      124 : begin ad_clk <= 1'b1; data_temp[6] <= ad_data; end
43      149 : begin ad_clk <= 1'b0; end
44      174 : begin ad_clk <= 1'b1; data_temp[5] <= ad_data; end
45      199 : begin ad_clk <= 1'b0; end
46      224 : begin ad_clk <= 1'b1; data_temp[4] <= ad_data; end
47      249 : begin ad_clk <= 1'b0; end
48      274 : begin ad_clk <= 1'b1; data_temp[3] <= ad_data; end
49      299 : begin ad_clk <= 1'b0; end
50      324 : begin ad_clk <= 1'b1; data_temp[2] <= ad_data; end
51      349 : begin ad_clk <= 1'b0; end
52      374 : begin ad_clk <= 1'b1; data_temp[1] <= ad_data; end
53      399 : begin ad_clk <= 1'b0; end
54      424 : begin ad_clk <= 1'b1; data_temp[0] <= ad_data; end
55      449 : begin ad_clk <= 1'b0; ad_cs_n <= 1'b1; end
56      1299: begin data <= data_temp; end
57      default : ;
58      endcase
59    end
60    
61  endmodule

代碼寫好之后,我們做一下仿真看一下數(shù)據(jù)能否被正確采集,代碼如下:

1   `timescale 1ns / 1ps
2 
3   module TLC549_driver_tb;
4 
5     reg         clk;
6     reg         rst_n;
7     
8     wire        ad_clk;
9     wire        ad_cs_n;
10    reg         ad_data;
11    
12    wire  [7:0] data;
13    
14    initial begin
15    clk = 0;
16    rst_n = 0;
17    ad_data = 0;
18    #100;
19    rst_n = 1;
20    #1000;
21    ad_data = 1;     //10100110
22    #1000;
23    ad_data = 0;
24    #1000;
25    ad_data = 1;
26    #1000;
27    ad_data = 0;
28    #1000;
29    ad_data = 0;
30    #1000;
31    ad_data = 1;
32    #1000;
33    ad_data = 1;
34    #1000;
35    ad_data = 0;
36    #20000;
37    $stop;
38    end
39
40    always #10 clk = ~clk;
41    
42    TLC549_driver TLC549_driver_inst(
43    
44    .clk          (clk),
45    .rst_n        (rst_n),
46    
47    .ad_clk       (ad_clk),
48    .ad_cs_n      (ad_cs_n),
49    .ad_data      (ad_data),
50    
51    .data         (data)
52  );
53    
54  endmodule

編譯無誤,打開波形觀察。

106b7c00-2c0a-11ee-a368-dac502259ad0.png

仿真中給出的數(shù)據(jù)位8’b10100110,換算成16進制為8’ha6。與波形中顯示一致,仿真正確。

責任編輯:彭菁

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)模轉(zhuǎn)換

    關(guān)注

    3

    文章

    107

    瀏覽量

    29061
  • 驅(qū)動設(shè)計
    +關(guān)注

    關(guān)注

    1

    文章

    111

    瀏覽量

    15321
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    815

    瀏覽量

    66915
  • TCL549
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    3102
收藏 人收藏

    評論

    相關(guān)推薦

    TclVivado中的基礎(chǔ)應(yīng)用

    Xilinx的新一代設(shè)計套件Vivado相比上一代產(chǎn)品ISE,在運行速度、算法優(yōu)化和功能整合等很多方面都有了顯著地改進。但是對初學者來說,新的約束語言XDC以及腳本語言Tcl的引入則成為了快速掌握Vivado使用技巧的最大障礙,
    的頭像 發(fā)表于 09-14 09:09 ?1967次閱讀

    TCL 定制 Vivado 設(shè)計實現(xiàn)流程

    今天推出Xilinx已發(fā)布的《Vivado使用誤區(qū)與進階》系列:用TCL定制Vivado設(shè)計實現(xiàn)流程。 上一篇《Tcl
    發(fā)表于 06-28 19:34

    FPGA零基礎(chǔ)學習Vivado-TLC549驅(qū)動設(shè)計

    及打算進階提升的職業(yè)開發(fā)者都可以有系統(tǒng)性學習的機會。 系統(tǒng)性的掌握技術(shù)開發(fā)以及相關(guān)要求,對個人就業(yè)以及職業(yè)發(fā)展都有著潛在的幫助,希望對大家有所幫助。本次帶來Vivado系列,TLC549驅(qū)動
    發(fā)表于 08-16 19:57

    Vivado設(shè)計Tcl定制化的實現(xiàn)流程

    其實TclVivado中還有很多延展應(yīng)用,接下來我們就來討論如何利用Tcl語言的靈活性和可擴展性,在Vivado中實現(xiàn)定制化的FPGA設(shè)計流程。 基本的FPGA設(shè)計實現(xiàn)流程 FPGA
    發(fā)表于 11-18 01:48 ?3665次閱讀
    <b class='flag-5'>Vivado</b>設(shè)計<b class='flag-5'>之</b><b class='flag-5'>Tcl</b>定制化的實現(xiàn)流程

    TclVivado中的基礎(chǔ)應(yīng)用

    Xilinx的新一代設(shè)計套件Vivado相比上一代產(chǎn)品ISE,在運行速度、算法優(yōu)化和功能整合等很多方面都有了顯著地改進。但是對初學者來說,新的約束語言XDC以及腳本語言Tcl的引入則成為了快速掌握
    發(fā)表于 11-18 03:52 ?4989次閱讀
    <b class='flag-5'>Tcl</b>在<b class='flag-5'>Vivado</b>中的基礎(chǔ)應(yīng)用

    VivadoTCL腳本語言基本語法介紹

    TCL腳本語言 Tcl(Tool Command Language)是一種很通用的腳本語言,它幾乎在所有的平臺上都可以解釋運行,而且VIVADO也提供了TCL命令行。最近發(fā)現(xiàn)
    發(fā)表于 04-11 12:09 ?1w次閱讀

    如何使用Tcl命令語言讓Vivado HLS運作

    了解如何使用Tcl命令語言以批處理模式運行Vivado HLS并提高工作效率。 該視頻演示了如何從現(xiàn)有的Vivado HLS設(shè)計輕松創(chuàng)建新的Tcl批處理腳本。
    的頭像 發(fā)表于 11-20 06:06 ?3234次閱讀

    FPGA設(shè)計中TclVivado中的基礎(chǔ)應(yīng)用

    Tcl介紹 Vivado是Xilinx最新的FPGA設(shè)計工具,支持7系列以后的FPGA及Zynq 7000的開發(fā)。與之前的ISE設(shè)計套件相比,Vivado可以說是全新設(shè)計的。無論從界面
    的頭像 發(fā)表于 11-17 17:32 ?2688次閱讀

    使用Tcl命令保存Vivado工程

    一個完整的vivado工程往往需要占用較多的磁盤資源,少說幾百M,多的甚至可能達到上G,為節(jié)省硬盤資源,可以使用Tcl命令對vivado工程進行備份,然后刪除不必要的工程文件,需要時再恢復即可。
    的頭像 發(fā)表于 08-02 15:01 ?4981次閱讀

    Vivado中常用TCL命令匯總

    Vivado是Xilinx推出的可編程邏輯設(shè)備(FPGA)軟件開發(fā)工具套件,提供了許多TCL命令來簡化流程和自動化開發(fā)。本文將介紹在Vivado中常用的TCL命令,并對其進行詳細說明,
    的頭像 發(fā)表于 04-13 10:20 ?3931次閱讀

    TclVivado中的應(yīng)用

    Xilinx的新一代設(shè)計套件Vivado相比上一代產(chǎn)品 ISE,在運行速度、算法優(yōu)化和功能整合等很多方面都有了顯著地改進。但是對初學者來說,新的約束語言 XDC 以及腳本語言 Tcl 的引入則成為
    的頭像 發(fā)表于 04-15 09:43 ?1589次閱讀

    TCL定制Vivado設(shè)計實現(xiàn)流程

    今天推出Xilinx已發(fā)布的《Vivado使用誤區(qū)與進階》系列:用TCL定制Vivado設(shè)計實現(xiàn)流程。
    的頭像 發(fā)表于 05-05 09:44 ?1145次閱讀
    用<b class='flag-5'>TCL</b>定制<b class='flag-5'>Vivado</b>設(shè)計實現(xiàn)流程

    Vivado設(shè)計套件Tcl命令參考指南

    電子發(fā)燒友網(wǎng)站提供《Vivado設(shè)計套件Tcl命令參考指南.pdf》資料免費下載
    發(fā)表于 09-14 10:23 ?1次下載
    <b class='flag-5'>Vivado</b>設(shè)計套件<b class='flag-5'>Tcl</b>命令參考指南

    Vivado設(shè)計套件用戶指南:使用Tcl腳本

    電子發(fā)燒友網(wǎng)站提供《Vivado設(shè)計套件用戶指南:使用Tcl腳本.pdf》資料免費下載
    發(fā)表于 09-14 14:59 ?0次下載
    <b class='flag-5'>Vivado</b>設(shè)計套件用戶指南:使用<b class='flag-5'>Tcl</b>腳本

    Vivado Design Suite用戶指南:使用Tcl腳本

    電子發(fā)燒友網(wǎng)站提供《Vivado Design Suite用戶指南:使用Tcl腳本.pdf》資料免費下載
    發(fā)表于 09-13 15:26 ?0次下載
    <b class='flag-5'>Vivado</b> Design Suite用戶指南:使用<b class='flag-5'>Tcl</b>腳本