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

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

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

Xilinx 7FPGA XADC如何獲取模擬信號(hào)的信息

454398 ? 來(lái)源:Xilinx ? 作者:Xilinx ? 2021-01-01 10:58 ? 次閱讀

Xilinx 7系列FPGA全系內(nèi)置了一個(gè)ADC,稱呼為XADC。

這個(gè)XADC,內(nèi)部是兩個(gè)1mbps的ADC,可以采集模擬信號(hào)轉(zhuǎn)為數(shù)字信號(hào)送給FPGA內(nèi)部使用。

XADC內(nèi)部可以直接獲取芯片結(jié)溫和FPGA的若干供電電壓(7系列不包括VCCO),用于監(jiān)控FPGA內(nèi)部狀況。同時(shí)提供了17對(duì)差分管腳,其中一對(duì)專(zhuān)用的模擬差分輸入,16對(duì)復(fù)用的模擬差分輸入,不使用的時(shí)候可以作為普通的User I/O。

關(guān)于XADC具體的結(jié)構(gòu),功能和各個(gè)參數(shù)的含義,請(qǐng)參考相關(guān)文檔。這里不做詳細(xì)描述。另外有兩點(diǎn)需要注意。

1.關(guān)于參考電壓的設(shè)置,會(huì)影響誤差范圍及采樣值的計(jì)算公式。

2.模擬差分輸入對(duì)模擬信號(hào)幅值有要求,需要外邊模擬電路進(jìn)行一定程度的轉(zhuǎn)換。

更多關(guān)于參考電壓和外部模擬電路的實(shí)現(xiàn),請(qǐng)參考設(shè)計(jì)文檔UG480:http://link.zhihu.com/?target=https%3A//www.xilinx.com/support/documenta...

假設(shè)現(xiàn)在需要用XADC來(lái)獲取幾個(gè)模擬信號(hào)的信息,那么應(yīng)該如何操作呢。下面解釋一種個(gè)人偏愛(ài)設(shè)置方式。

pIYBAF9uE5iAaycEAACQoR0U1GE565.jpg

注意紅框中的幾點(diǎn):

1.使用DRP端口獲取數(shù)字信號(hào),這樣控制似乎更簡(jiǎn)單一些。

2.使用連續(xù)采樣模式,ADC一直工作在數(shù)據(jù)采集模式,采集后就可以進(jìn)行輸出。

3.使用Channel Sequencer模式,由于只有兩個(gè)XADC而需要采樣的數(shù)據(jù)過(guò)多,所以讓XADC依次陸續(xù)進(jìn)行采樣。

4.設(shè)置好DRP端口的時(shí)鐘頻率。

o4YBAF9uE5mAFTdpAABpV8cTipA507.jpg

IP設(shè)置第二頁(yè),主要是設(shè)置Calibration、平均值和外部MUX。這幾個(gè)可以暫時(shí)跳過(guò),等熟悉XADC的使用后在進(jìn)行深入了解。

第三頁(yè)設(shè)置告警參數(shù),可以不用。如果需要的話,可以設(shè)置一下,便于使用。

pIYBAF9uE5uAIva6AAB477-LmEI940.jpg

第四頁(yè)設(shè)置需要使用的通道,這里選擇溫度和三個(gè)供電電壓,并選擇一個(gè)專(zhuān)用的模擬輸入通道和前三個(gè)復(fù)用的模擬輸入通道。

最后一頁(yè)是Summary,可以看看設(shè)置是否有問(wèn)題,沒(méi)有需要設(shè)置的地方。

這個(gè)時(shí)候最基本的一個(gè)多通道獲取數(shù)據(jù)的XADC設(shè)置好了,至于設(shè)置中沒(méi)有細(xì)說(shuō)的地方,可以等熟練使用之后進(jìn)行研究,找出最合適的使用模式。

下面是如何使用這個(gè)生成的IP。由于使用DRP端口來(lái)讀取數(shù)據(jù),所以需要設(shè)計(jì)一個(gè)DRP讀寫(xiě)控制器。不過(guò)由于XADC本身就提供了一些信號(hào),所以這個(gè)設(shè)計(jì)其實(shí)非常簡(jiǎn)單。
.di_in(di_in),
.daddr_in(daddr_in),
.den_in(den_in),
.dwe_in(dwe_in),
.drdy_out(drdy_out),
.do_out(do_out),
.dclk_in(dclk_in),

首先理一下DRP端口,主要7個(gè)信號(hào)。由于僅僅是讀取數(shù)據(jù),所以輸入部分沒(méi)有使用的必要。
.di_in (16'b0),
.dwe_in (1'b0),

時(shí)鐘信號(hào)連接DRP所使用的時(shí)鐘即可,注意頻率需要和XADC IP中的設(shè)置一樣。
.daddr_in ({2'b00,CHANNEL_OUT}),
.den_in (EOC_OUT),
.do_out (DO_OUT),
.drdy_out (DRDY_OUT),

.eoc_out (EOC_OUT),
.channel_out (CHANNEL_OUT),

余下四個(gè)DRP端口,兩個(gè)輸出兩個(gè)輸入。兩個(gè)輸出直接引出來(lái),其中do_out就是最終需要的數(shù)據(jù)。這個(gè)端口是16bit,取高12bit即可(對(duì)應(yīng)XADC中宣稱的12位)。

XADC的IP端口中還有兩個(gè),名為eoc_out和channel_out。將eoc_out連接到DRP端口的den_in端口,含義是當(dāng)多路采樣的某一路完成采樣后,則啟動(dòng)DRP端口操作,開(kāi)始進(jìn)行讀取數(shù)據(jù)。將channel_out補(bǔ)兩位之后送入daddr_in作為DRP端口操作的地址信號(hào)。這樣就完成了DRP的讀寫(xiě)操作。

不過(guò)這樣輸出的數(shù)據(jù),會(huì)周期性的在幾個(gè)端口數(shù)據(jù)之間變化。所以通常在后端加一個(gè)過(guò)濾設(shè)置,具體行為是,當(dāng)代表DRP操作完成的drdy_out拉高的時(shí)候,根據(jù)channel_out的值來(lái)判斷是哪一個(gè)通道的。
always @(posedge clk)begin
if(DRDY_OUT == 1'b1 && CHANNEL_OUT ==5'd0)begin
Temperature end else begin
Temperature end
end

關(guān)于每個(gè)采樣通道的具體地址,可以參考手冊(cè)

o4YBAF9uE5yADAL-AAFKB_7Bgwk224.jpg

至于模擬差分輸入Pin,直接送到頂層的相對(duì)應(yīng)管腳即可。注意Vivado工具可能需要對(duì)復(fù)用的模擬Pin進(jìn)行電平約束,根據(jù)VCCO的電壓值選擇相應(yīng)的lvcmos即可,例如1.8V的VCCO就選擇lvcmos18即可。

這樣就可以獲取對(duì)應(yīng)的模擬采樣數(shù)據(jù)了。由于絕大部分情況下需要檢測(cè)的模擬信號(hào)變化相對(duì)較慢,使用XADC是足夠用于檢測(cè)的。

涉及到XADC的使用問(wèn)題還有MIG IP。MIG是Memory Interface的IP,也就是DDR3之類(lèi)的DDR存儲(chǔ)器IP。由于此類(lèi)接口一般速率過(guò)高,會(huì)需要溫度信息對(duì)接口做一定的矯正。在MIG IP的配置中,會(huì)默認(rèn)啟動(dòng)XADC。

pIYBAF9uE52AZXZrAABrYIlGoug649.jpg

此時(shí)的XADC僅僅需要提供溫度信息就可以了。當(dāng)需要提供更多信息,就需要獨(dú)立配置XADC,這樣工程中就會(huì)生成兩個(gè)XADC;或者例化了兩個(gè)MIG IP,這樣各自就會(huì)需要一個(gè)XADC。由于硬件中只有一個(gè)XADC模塊,當(dāng)發(fā)現(xiàn)工程中需要多個(gè)XADC模塊的時(shí)候,工具就會(huì)提示出錯(cuò)。

解決方案也非常簡(jiǎn)單,MIG IP中去掉XADC。然后在設(shè)計(jì)中獨(dú)立例化XADC IP。根據(jù)上文的做法獲取溫度信息后送往MIG。MIG IP去掉XADC后會(huì)生成一個(gè)溫度端口用來(lái)接收數(shù)據(jù)。這樣就不會(huì)發(fā)生沖突。

另外一個(gè)非常便捷的獲取溫度信息的方案就是使用Hardware Manager。在Hardware Manager中打開(kāi)XADC就能看到溫度信息。

o4YBAF9uE56AQNUKAABCb-kRuBk752.jpg

其實(shí)XADC所有通道數(shù)據(jù)都可以通過(guò)這個(gè)方法獲取。

pIYBAF9uE6CAMSvjAABcslU3Eio899.jpg

更多的使用細(xì)節(jié),可以參考UG480文檔。

編輯:hfy


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

    關(guān)注

    1624

    文章

    21568

    瀏覽量

    600580
  • Xilinx
    +關(guān)注

    關(guān)注

    71

    文章

    2147

    瀏覽量

    120715
  • 模擬信號(hào)
    +關(guān)注

    關(guān)注

    8

    文章

    1098

    瀏覽量

    52317
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    xilinx FPGAXADC怎么用?

    各位大神好,最近在學(xué)習(xí)xilinx公司的ZYNQ7000系列的開(kāi)發(fā)板,學(xué)習(xí)XADC,有沒(méi)有用過(guò)的大神,求給一些學(xué)習(xí)指導(dǎo)。真不太會(huì)用啊!
    發(fā)表于 03-24 05:35

    如何在PS中調(diào)用Zynq內(nèi)部的XADC模塊進(jìn)行片內(nèi)溫度和電源電壓測(cè)量

    應(yīng)該是“Xilinx模擬混合信號(hào)模塊”,是FPGA中的一個(gè)硬核。在7系列FPGA中,
    發(fā)表于 12-27 06:18

    模擬信號(hào)的調(diào)制與解調(diào)

    模擬信號(hào)的調(diào)制與解調(diào)3.1 模擬信號(hào)的線性調(diào)制 3.2 模擬信號(hào)的非線性調(diào)制 3.3 模擬調(diào)制方式的性能比較
    發(fā)表于 10-22 13:30 ?0次下載

    基于FPGA模擬信號(hào)源系統(tǒng)設(shè)計(jì)

    提出了一種基于現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)的全球定位系統(tǒng)(GPS)衛(wèi)星信號(hào)模擬源系統(tǒng)的設(shè)計(jì)方案。FPGA作為一種常用的可編程器件,將其應(yīng)用到模擬信號(hào)
    發(fā)表于 05-26 20:40 ?33次下載

    什么是模擬信號(hào)?什么叫數(shù)字信號(hào)?

    什么是叫模擬信號(hào)? 信號(hào)在時(shí)間和數(shù)值上都是連續(xù)變化的信號(hào)稱為模擬信號(hào).模擬信號(hào)是指用連續(xù)變化的物理量表示的
    發(fā)表于 08-22 15:05 ?6.4w次閱讀

    模擬信號(hào),模擬信號(hào)是什么意思

    模擬信號(hào),模擬信號(hào)是什么意思 什么是模擬信號(hào)
    發(fā)表于 03-06 09:30 ?3150次閱讀

    Xilinx 7系列模擬混合信號(hào)評(píng)估平臺(tái)演示

    嵌入式世界2012的Xilinx 7系列模擬混合信號(hào)評(píng)估平臺(tái)演示
    的頭像 發(fā)表于 11-22 06:24 ?3269次閱讀

    Xilinx-ZYNQ7000:如何用XADC測(cè)外部溫度值

    XADC模擬輸入包括專(zhuān)用模擬輸入VP/VN和16組復(fù)用模擬信號(hào)輸入VAUX(15:0);XADC轉(zhuǎn)換結(jié)果可以通過(guò)動(dòng)態(tài)重配接口(DRP)或者J
    發(fā)表于 02-14 17:30 ?1.2w次閱讀
    <b class='flag-5'>Xilinx</b>-ZYNQ7000:如何用<b class='flag-5'>XADC</b>測(cè)外部溫度值

    Xilinx 7系列FPGA內(nèi)置ADC XADC獲取模擬信號(hào)

    XADC內(nèi)部可以直接獲取芯片結(jié)溫和FPGA的若干供電電壓(7系列不包括VCCO),用于監(jiān)控FPGA內(nèi)部狀況。同時(shí)提供了17對(duì)差分管腳,其中一
    發(fā)表于 03-03 10:58 ?1.9w次閱讀
    <b class='flag-5'>Xilinx</b> <b class='flag-5'>7</b>系列<b class='flag-5'>FPGA</b>內(nèi)置ADC <b class='flag-5'>XADC</b><b class='flag-5'>獲取</b><b class='flag-5'>模擬信號(hào)</b>

    模擬信號(hào)和數(shù)字信號(hào)的區(qū)別是什么

    模擬信號(hào)是什么?模擬信號(hào)是一種信號(hào)信息的不斷變化的物理量表示。例如,一個(gè)無(wú)線電信號(hào),或信號(hào),等
    發(fā)表于 08-13 17:40 ?9.4w次閱讀

    xilinx fpga開(kāi)發(fā)軟件

    今天咱們來(lái)聊一聊FPGA里面的XADC功能。XADCXilinx公司的FPGA里集成的一個(gè)ADC模塊、溫度傳感器、電壓傳感器的集合。在
    的頭像 發(fā)表于 11-23 16:02 ?4970次閱讀
    <b class='flag-5'>xilinx</b> <b class='flag-5'>fpga</b>開(kāi)發(fā)軟件

    學(xué)會(huì)Zynq(22)XADC測(cè)量片內(nèi)溫度與電源電壓

    應(yīng)該是“Xilinx模擬混合信號(hào)模塊”,是FPGA中的一個(gè)硬核。在7系列FPGA中,
    發(fā)表于 01-05 14:26 ?10次下載
    學(xué)會(huì)Zynq(22)<b class='flag-5'>XADC</b>測(cè)量片內(nèi)溫度與電源電壓

    如何用FPGA XADC來(lái)獲取幾個(gè)模擬信號(hào)信息呢?

    Xilinx 7系列FPGA全系內(nèi)置了一個(gè)ADC,稱呼為XADC。
    發(fā)表于 08-15 09:19 ?1087次閱讀
    如何用<b class='flag-5'>FPGA</b> <b class='flag-5'>XADC</b>來(lái)<b class='flag-5'>獲取</b>幾個(gè)<b class='flag-5'>模擬信號(hào)</b>的<b class='flag-5'>信息</b>呢?

    模擬信號(hào)是什么意思?怎么判斷數(shù)字信號(hào)模擬信號(hào)?

    模擬信號(hào)是什么意思?常見(jiàn)的模擬信號(hào)有哪些?怎么判斷數(shù)字信號(hào)模擬信號(hào)? 模擬信號(hào)是指采用連續(xù)變化的物理量來(lái)傳輸
    的頭像 發(fā)表于 11-22 16:32 ?7113次閱讀

    數(shù)字信號(hào)模擬信號(hào)的特點(diǎn)及應(yīng)用

    引言 數(shù)字信號(hào)模擬信號(hào)是兩種基本的信號(hào)類(lèi)型。數(shù)字信號(hào)是由離散的數(shù)值組成的信號(hào),通常用于數(shù)字設(shè)備和系統(tǒng)中。
    的頭像 發(fā)表于 08-25 15:53 ?615次閱讀