在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

Vivado系列之TCL549驅(qū)動(dòng)設(shè)計(jì)

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

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

TCL549驅(qū)動(dòng)設(shè)計(jì)

在生活中,數(shù)模轉(zhuǎn)換的例子到處可見。但是在我們做FPGA設(shè)計(jì)時(shí),需要對數(shù)字信號進(jìn)行處理,但是,不是所有的信號都是以數(shù)字信號的形式體現(xiàn)的,比如光信號、聲信號、電信號等等。那么此時(shí)就需要我們先進(jìn)行一下模數(shù)轉(zhuǎn)換之后再進(jì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)換時(shí)間為17us。

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

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

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

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

在這段描述中,大致說出了這個(gè)芯片的一些控制。比如:TLC548和TLC549都是8bit的模數(shù)轉(zhuǎn)換器。這個(gè)芯片使用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的控制下才能進(jìn)行。

芯片示意圖:

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

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

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

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

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

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

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

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

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

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

5、CS_N拉高時(shí)間最小為17us。

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

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

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

選擇好之后點(diǎn)擊完成,新建文件寫代碼。

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進(jìn)制為8’ha6。與波形中顯示一致,仿真正確。

責(zé)任編輯:彭菁

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

    關(guān)注

    3

    文章

    108

    瀏覽量

    29061
  • 驅(qū)動(dòng)設(shè)計(jì)

    關(guān)注

    1

    文章

    111

    瀏覽量

    15324
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    815

    瀏覽量

    66923
  • TCL549
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    3102
收藏 人收藏

    評論

    相關(guān)推薦

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

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

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

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

    FPGA零基礎(chǔ)學(xué)習(xí)Vivado-TLC549驅(qū)動(dòng)設(shè)計(jì)

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

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

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

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

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

    VivadoTCL腳本語言基本語法介紹

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

    如何使用Tcl命令語言讓Vivado HLS運(yùn)作

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

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

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

    使用Tcl命令保存Vivado工程

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

    Vivado中常用TCL命令匯總

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

    TclVivado中的應(yīng)用

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

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

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

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

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

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

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

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

    電子發(fā)燒友網(wǎng)站提供《Vivado Design Suite用戶指南:使用Tcl腳本.pdf》資料免費(fèi)下載
    發(fā)表于 09-13 15:26 ?0次下載
    <b class='flag-5'>Vivado</b> Design Suite用戶指南:使用<b class='flag-5'>Tcl</b>腳本
    主站蜘蛛池模板: 欧美3区| 手机看片久久青草福利盒子 | 亚洲美女高清一区二区三区 | 欧美午夜视频 | 甘婷婷一级毛片免费看 | 白嫩美女在线啪视频观看 | 伦理一区二区三区 | 人人艹在线 | 你懂的免费在线观看 | 巨乳色网址 | 国产精品高清一区二区三区不卡 | 免费看欧美一级片 | 天天艹天天艹 | 国产小视频在线看 | 永久免费在线观看视频 | 午夜在线免费观看 | 欧美特黄三级在线观看 | 夜夜狠狠| 久久综合亚洲 | 色盈盈| 台湾一级毛片 | 亚洲网站视频 | 老色批午夜免费视频网站 | 成人免费aaaaa毛片 | 成在线人视频免费视频 | 天天干天天澡 | 日本黄色网址免费 | 国产午夜精品福利久久 | 毛片123| 最新在线视频 | 午夜亚洲 | 中文天堂在线观看 | 午夜视频在线免费看 | 小说老卫陈红张敏陈法蓉 | 1024你懂的国产在线播放 | 国产亚洲papapa | 91热成人精品国产免费 | 51精品国产 | 成年男人午夜片免费观看 | 天天综合天天 | 伊人www|