最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

走近FPGA - 板卡介紹

2020-07-17 11:34 作者:硬木課堂  | 我要投稿

開發(fā)板概述

在走近FPGA預(yù)告篇中,我們已經(jīng)提到了系列文章使用的開發(fā)平臺,硬木課堂Xilinx Artix 7 FPGA板,如下圖所示。它使用的FPGA芯片型號為Xilinx?Artix-7?XC7A75T,具有電平開關(guān)、LED、矩陣鍵盤、數(shù)碼管等基本外設(shè),同時還有高速ADC/DAC,音頻Codec,SD卡,32位DDR3L(共1GB)外設(shè)用于SoC設(shè)計的進(jìn)階實驗,另外,上方的I/O插槽可以直接插入特定型號的LCD屏幕與攝像頭,極大地方便了圖像處理相關(guān)應(yīng)用的實現(xiàn)。


硬木課堂出品的Xilinx Artix-7板卡,XC7A75T起步,向上最高兼容到XC7A200T

該FPGA板采用的芯片型號為XC7A75T,從Xilinx官網(wǎng)的數(shù)據(jù)手冊中可以找到7系列FPGA芯片的資源對比,可以看出75T在所有Artix-7系列的FPGA中資源量屬于中上,雖然相比于100T和200T而言資源量還是少了許多,但是完成基礎(chǔ)的FPGA實驗和進(jìn)階的SoC設(shè)計實驗(包括圖像處理相關(guān))是足夠的。75T和100T, 200T的FPGA芯片是兼容的,硬木課堂同時還提供有200T的FPGA板,以應(yīng)對更復(fù)雜的應(yīng)用場景需求。

Xilinx Artix-7系列FPGA資源表

Artix-7系列FPGA芯片采用下圖所示的基本可配置邏輯塊(CLB),其中包括6輸入查找表、可選的雙向5輸入查找表、分布式存儲、移位寄存器、高速進(jìn)位算術(shù)邏輯功能以及大量多路復(fù)用器?;究膳渲眠壿媺K(CLB)是用于實現(xiàn)時序電路和組合電路的主要邏輯資源。每個CLB都連接到一個交換矩陣(Switch?Matrix),以訪問通用路由矩陣。每個CLB內(nèi)部包含兩個slice。7系列FPGA中的LUT可以配置為具有一個輸出的6輸入LUT,也可以配置為具有獨立輸出但共享地址或邏輯輸入的兩個5輸入LUT。 每個5輸入LUT輸出都可以選擇在觸發(fā)器中寄存。每個slice由4個這樣的6輸入LUT、8個觸發(fā)器、多路復(fù)用器和算術(shù)運算單元構(gòu)成。每片四個觸發(fā)器可以選擇配置為鎖存器。但在這種情況下,該片中其余的四個觸發(fā)器必須保持未使用狀態(tài)。

Artix-7系列FPGA的CLB

更多關(guān)于FPGA內(nèi)部原理結(jié)構(gòu)的介紹,可以閱讀《FPGA原理與結(jié)構(gòu)》[日]天野英晴主編,趙謙譯 這本書,這本書對FPGA的內(nèi)部原理闡釋得比較清楚,對于初學(xué)者也比較友好。另外,如果能夠找到《FPGA設(shè)計指南-器件、工具和流程》 [美] Clive "Max" Maxfield 著, 杜生海 邢聞 譯 這本書也不錯,感覺作者的語氣比較幽默,但是似乎已經(jīng)買不到新書了(略有遺憾)。在《FPGA原理與結(jié)構(gòu)》中文版出版之前我就是看的《FPGA設(shè)計指南》一書,都很好地幫助理解FPGA的原理結(jié)構(gòu),從而更好地利用FPGA學(xué)習(xí)電路設(shè)計。?

FPGA調(diào)試器和UART

在本系列文章使用的FPGA板上的右下方有兩個接口,如下圖。其中上方的接口(FPGA-Jtag)為FPGA下載接口,通過該接口下載比特流到FPGA中進(jìn)行配置,功耗較小時,供電也是PC機通過該接口給板卡供電。如果功耗較大,則需要使用FPGA板右上角的輔助供電接口(POWER),可以使用手機5V充電器給板卡供電。

FPGA調(diào)試器接口和Arm調(diào)試器接口

DAP-JTAG是在板卡用在SoC設(shè)計時,調(diào)試FPGA內(nèi)部的Arm內(nèi)核用的,在未來的走近SoC系列中會應(yīng)用到。

FPGA-JTAG和DAP-JTAG各自帶了一個UART轉(zhuǎn)USB接口。在UART實驗中會用到此功能。

FPGA-JTAG除了提供FPGA的調(diào)試外,還提供了UART轉(zhuǎn)USB功能

set_property PACKAGE_PIN Y21 [get_ports FTDI_RX]

set_property PACKAGE_PIN Y22?[get_ports FTDI_TX]

電平開關(guān)和LED

本系列所使用的FPGA板提供了12個直接由FPGA控制的LED燈LED11-LED0,每一個LED燈都由FPGA芯片的一個引腳直接驅(qū)動,如圖所示。當(dāng)FPGA的引腳輸出高電平時LED燈點亮,反之則熄滅。在LED燈旁邊也有12個電平開關(guān),可以作為輸入信號,當(dāng)電平開關(guān)處在DOWN位置(靠近開發(fā)板邊緣)時向FPGA相應(yīng)引腳輸入低電平,當(dāng)電平開關(guān)在UP位置時向FPGA相應(yīng)引腳輸入高電平,如圖。

開發(fā)板上實體LED和撥動開關(guān)

撥動開關(guān)的對應(yīng)FPGA引腳在XDC文件中描述如下,開關(guān)撥向上方輸出高電平,撥向下方輸出低電平:

set_property PACKAGE_PIN E16 [get_ports {SW_In[11]}]

set_property PACKAGE_PIN A15 [get_ports {SW_In[10]}]

set_property PACKAGE_PIN B15 [get_ports {SW_In[9]}]

set_property PACKAGE_PIN D15 [get_ports {SW_In[8]}]

set_property PACKAGE_PIN A14 [get_ports {SW_In[7]}]

set_property PACKAGE_PIN D14 [get_ports {SW_In[6]}]

set_property PACKAGE_PIN A13 [get_ports {SW_In[5]}]

set_property PACKAGE_PIN B13 [get_ports {SW_In[4]}]

set_property PACKAGE_PIN C13 [get_ports {SW_In[3]}]

set_property PACKAGE_PIN E13 [get_ports {SW_In[2]}]

set_property PACKAGE_PIN E14 [get_ports {SW_In[1]}]

set_property PACKAGE_PIN B16 [get_ports {SW_In[0]}]

LED的對應(yīng)FPGA引腳在XDC文件中描述如下,F(xiàn)PGA引腳輸出高電平,LED被點亮,F(xiàn)PGA引腳輸出低,LED熄滅:

set_property PACKAGE_PIN AA20 [get_ports {led[11]}]

set_property PACKAGE_PIN V22 [get_ports {led[10]}]

set_property PACKAGE_PIN W21 [get_ports {led[9]}]

set_property PACKAGE_PIN W22 [get_ports {led[8]}]

set_property PACKAGE_PIN U22 [get_ports {led[7]}]

set_property PACKAGE_PIN U21 [get_ports {led[6]}]

set_property PACKAGE_PIN T21 [get_ports {led[5]}]

set_property PACKAGE_PIN T20 [get_ports {led[4]}]

set_property PACKAGE_PIN R19 [get_ports {led[3]}]

set_property PACKAGE_PIN P20 [get_ports {led[2]}]

set_property PACKAGE_PIN P19 [get_ports {led[1]}]

set_property PACKAGE_PIN AA21 [get_ports {led[0]}]

矩陣鍵盤

FPGA板帶有一個4x4的矩陣鍵盤,可以用于一些外界的控制交互,如圖所示。

實體矩陣鍵盤
矩陣鍵盤原理圖

鍵盤一般設(shè)為輸入(默認(rèn)下拉),列鍵盤設(shè)為輸出。需要注意的是,按下按鍵時信號存在抖動,所以需要設(shè)計按鍵消抖模塊以免按鍵抖動帶來未預(yù)期的系統(tǒng)錯誤。

set_property PACKAGE_PIN AA10 [get_ports {row[0]}]

set_property PACKAGE_PIN V10 [get_ports {row[1]}]

set_property PACKAGE_PIN W10 [get_ports {row[2]}]

set_property PACKAGE_PIN AA9 [get_ports {row[3]}]

set_property PACKAGE_PIN AB10 [get_ports {col[0]}]

set_property PACKAGE_PIN W11 [get_ports {col[1]}]

set_property PACKAGE_PIN AA11 [get_ports {col[2]}]

set_property PACKAGE_PIN T14 [get_ports {col[3]}]

set_property PULLDOWN true [get_ports {row[3]}]

set_property PULLDOWN true [get_ports {row[2]}]

set_property PULLDOWN true [get_ports {row[1]}]

set_property PULLDOWN true [get_ports {row[0]}]


數(shù)碼管

FPGA板上配有配有6個七段數(shù)碼管DIG1-DIG6(當(dāng)正放FPGA開發(fā)板時,從左至右為1-6),每個數(shù)碼管都由一個專用片選信號(DIG1- DIG6)控制,如圖所示。七段數(shù)碼管的每個引腳均通過共陰模式連接到 FPGA芯片上,當(dāng)FPGA輸出高電壓時,對應(yīng)的字碼段點亮,反之則熄滅。數(shù)碼管的片選信號也直接與FPGA引腳相連,當(dāng)FPGA輸出低電壓時,對應(yīng)的數(shù)碼管選中,反之則不選中。

6位數(shù)碼管實物
數(shù)碼管原理圖

set_property PACKAGE_PIN Y16 [get_ports {Digitron_Out[7]}]

set_property PACKAGE_PIN W14 [get_ports {Digitron_Out[4]}]

set_property PACKAGE_PIN Y17 [get_ports {Digitron_Out[5]}]

set_property PACKAGE_PIN AA15 [get_ports {Digitron_Out[6]}]

set_property PACKAGE_PIN AB17 [get_ports {Digitron_Out[3]}]

set_property PACKAGE_PIN AB16 [get_ports {Digitron_Out[2]}]

set_property PACKAGE_PIN AB15 [get_ports {Digitron_Out[1]}]

set_property PACKAGE_PIN AA16 [get_ports {Digitron_Out[0]}]

set_property PACKAGE_PIN AA14 [get_ports {DigitronCS_Out[0]}]

set_property PACKAGE_PIN AB11 [get_ports {DigitronCS_Out[1]}]

set_property PACKAGE_PIN Y13 [get_ports {DigitronCS_Out[2]}]

set_property PACKAGE_PIN AA13 [get_ports {DigitronCS_Out[3]}]

set_property PACKAGE_PIN AB13 [get_ports {DigitronCS_Out[4]}]

set_property PACKAGE_PIN Y14 [get_ports {DigitronCS_Out[5]}]


3組IO的介紹

FPGA板上方有3組IO接口,可以用于LCD顯示屏和攝像頭的直插(對于示例中用到的攝像頭和LCD顯示屏,分別可以直接插到右邊和左邊的IO接口組,效果如圖。在我之前寫過的一篇文章中(https://zhuanlan.zhihu.com/p/98980911)對使用攝像頭和LCD顯示屏進(jìn)行開發(fā)的過程有更多的描述,另外,在后續(xù)系列文章中也會對相關(guān)的實驗進(jìn)行詳細(xì)的介紹

3組對外IO,可以直接插2.4寸并口屏,串口屏,攝像頭等模塊
在對外IO上插接LCD和攝像頭(兼容多種分辨率,多種引腳分布)


高速ADC/DAC

FPGA開發(fā)板的左上方是高速ADC/DAC芯片,該芯片是來自?MAXIM公司(Now ADI)的超低功耗模擬前端,最高工作頻率達(dá)到20MHz,芯片型號為Max5864。Max5864集成了雙路的8位ADC以及雙路的10位DAC,其數(shù)字輸出電平為+1.8V至+3.3V(TTL/CMOS兼容),且該芯片的ADC和DAC既可以同時工作也可以獨立工作。其關(guān)斷與工作模式由三線的串行接口來控制。高速ADC/DAC芯片左側(cè)的一組黃色貼片排母IO接口包含兩組ADC輸入接口,分別標(biāo)識為ADC1和ADC2,還包含兩組DAC輸出接口,分別標(biāo)識為DAC1和DAC2,可通過導(dǎo)線與示波器、信號源等儀器相連進(jìn)行實驗。

高速數(shù)據(jù)采集Codec,包括兩路8位20MSPS ADC和兩路10位20MSPS DAC

##ADC_data

set_property PACKAGE_PIN E18 [get_ports {ADC_data[0]}]

set_property PACKAGE_PIN F18 [get_ports {ADC_data[1]}]

set_property PACKAGE_PIN F19 [get_ports {ADC_data[2]}]

set_property PACKAGE_PIN F20 [get_ports {ADC_data[3]}]

set_property PACKAGE_PIN C20 [get_ports {ADC_data[4]}]

set_property PACKAGE_PIN D20 [get_ports {ADC_data[5]}]

set_property PACKAGE_PIN A19 [get_ports {ADC_data[6]}]

set_property PACKAGE_PIN A20 [get_ports {ADC_data[7]}]

##DAC_data

set_property PACKAGE_PIN A18 [get_ports {DAC_data[0]}]

set_property PACKAGE_PIN B20 [get_ports {DAC_data[1]}]

set_property PACKAGE_PIN G21 [get_ports {DAC_data[2]}]

set_property PACKAGE_PIN F21 [get_ports {DAC_data[3]}]

set_property PACKAGE_PIN E21 [get_ports {DAC_data[4]}]

set_property PACKAGE_PIN D21 [get_ports {DAC_data[5]}]

set_property PACKAGE_PIN A21 [get_ports {DAC_data[6]}]

set_property PACKAGE_PIN B21 [get_ports {DAC_data[7]}]

set_property PACKAGE_PIN C22 [get_ports {DAC_data[8]}]

set_property PACKAGE_PIN B22 [get_ports {DAC_data[9]}]

##AD_DA_clk 、SPI

set_property PACKAGE_PIN D19 [get_ports AD_DA_clk]

set_property PACKAGE_PIN E22 [get_ports AD_DA_SCLK]

set_property PACKAGE_PIN D22 [get_ports AD_DA_DIN]

set_property PACKAGE_PIN G22 [get_ports AD_DA_CSn]

音頻和SD卡

FPGA開發(fā)板的左下側(cè)載有立體聲多媒體數(shù)字信號編譯碼器芯片WM8978。WM8978是Wolfson推出的一款全功能音頻處理器,帶有一個HI-FI級數(shù)字信號處理內(nèi)核,支持增強3D硬件環(huán)繞音效,以及5頻段的硬件均衡器,可以有效改善音質(zhì)。在音頻編譯碼芯片的左側(cè)有兩個音頻接口,位于上側(cè)的是音頻輸入接口,可通過音頻連接線連接音頻播放設(shè)備(如手機)來輸入音頻信號,位于下側(cè)的是音頻輸出接口,可以連接耳機播放音樂。另外,在FPGA開發(fā)板相同位置的背面,還有一個Micro SD卡的插槽,可放置SD卡。

24位音頻Codec芯片

set_property PACKAGE_PIN D16 [get_ports aud_bclk]

set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets aud_bclk_IBUF]

set_property PACKAGE_PIN A16 [get_ports aud_lrc]

set_property PACKAGE_PIN E19 [get_ports aud_adcdat]

set_property PACKAGE_PIN C18 [get_ports aud_mclk]

set_property PACKAGE_PIN C17 [get_ports aud_dacdat]

set_property PACKAGE_PIN C19 [get_ports aud_scl]

set_property PACKAGE_PIN D17 [get_ports aud_sda]


DDR3L

開發(fā)板上FPGA正下方是兩片DDR3L SDRAM存儲器芯片,產(chǎn)自Micron公司。DDR SDRAM的全稱是雙倍速率同步動態(tài)隨機存儲器(Double Data Rate Synchronous Dynamic Random Access Memory),其在時鐘的上升沿和下降沿都能進(jìn)行數(shù)據(jù)傳輸。DDR3是DDR2的后繼者,提供了相較于DDR2 SDRAM更高的運行效能與更低的電壓。而DDR3L的L是Low Voltage的縮寫,DDR3的工作電壓為1.5V,而DDR3L工作電壓為1.35V。

32位寬,1GB DDR3L存儲器

開發(fā)板上DDR3L SDRAM芯片的型號為MT41K256M16TW,即一片該DDR3L?SDRAM存儲器芯片的深度為256M,寬度為16bit (2Byte),故存儲器容量為512MB(256M×2Byte),兩片DDR3L芯片地址線已經(jīng)連在了一起,相當(dāng)于一片深度不變但數(shù)據(jù)寬度翻倍(32bit)的DDR3L SDRAM,兩片存儲器芯片構(gòu)成的存儲器總?cè)萘繛?GB。

DDR3L的引腳較多,我們將在DDR3L的章節(jié)中專門介紹。

?

千兆以太網(wǎng)

在FPGA開發(fā)板的右上側(cè)載有千兆以太網(wǎng)PHY芯片以及網(wǎng)口。該芯片為Realtek公司的RTL8211E,支持1000Mbps的網(wǎng)絡(luò)傳輸速率,通過RGMII接口與FPGA進(jìn)行數(shù)據(jù)通信,傳輸時鐘為125MHz,4bit的發(fā)送數(shù)據(jù)TXD與接收數(shù)據(jù)RXD在時鐘的上升沿和下降沿采樣。開發(fā)版上板載的RTL8211E已配置好RX與TX延遲,工作電壓為3.3V。

千兆以太網(wǎng)接口和PHY芯片,我們采用RGMII接口,節(jié)約引腳

set_property PACKAGE_PIN V17 [get_ports {rgmii_rxd[3]}]

set_property PACKAGE_PIN AB20 [get_ports {rgmii_rxd[2]}]

set_property PACKAGE_PIN AA19 [get_ports {rgmii_rxd[1]}]

set_property PACKAGE_PIN V19 [get_ports {rgmii_rxd[0]}]

set_property PACKAGE_PIN U18 [get_ports {rgmii_txd[3]}]

set_property PACKAGE_PIN U17 [get_ports {rgmii_txd[2]}]

set_property PACKAGE_PIN AB18 [get_ports {rgmii_txd[1]}]

set_property PACKAGE_PIN AA18 [get_ports {rgmii_txd[0]}]

set_property PACKAGE_PIN R14 [get_ports e_mdc]

set_property PACKAGE_PIN P14 [get_ports e_mdio]

set_property PACKAGE_PIN Y18 [get_ports rgmii_rxc]

set_property PACKAGE_PIN V18 [get_ports rgmii_rxctl]

set_property PACKAGE_PIN Y19 [get_ports rgmii_txc]

set_property PACKAGE_PIN W17 [get_ports rgmii_txctl]


VGA接口

如果需要連接擴展顯示,也可以通過FPGA板右邊的VGA接口連接擴展顯示設(shè)備,VGA接口共有15針,分成3排,每排5個孔,接口原理圖如下。VGA接口具有分辨率高、顯示速率快、顏色豐富等優(yōu)點。VGA接口不但是CRT顯示設(shè)備的標(biāo)準(zhǔn)接口,同樣也是LCD液晶顯示設(shè)備的標(biāo)準(zhǔn)接口,具有廣泛的應(yīng)用范圍。

VGA接口實物
VGA接口原理圖

VGA與FPGA的引腳對應(yīng)關(guān)系:

VGA_R0? ?R17;VGA_R1? ?W16;VGA_R2? ?W15;VGA_R3? ?U16;VGA_G0? ?T16;VGA_G1? ? V15;VGA_G2? ? U15;VGA_G3? ?V14;VGA_B0? AB12;VGA_B1?? P16;VGA_B2?? W12;?VGA_B3? ?Y12VGA_HS? T15;? VGA_VS? V13;

下期預(yù)告

本期文章介紹了[走近FPGA]系列所使用的開發(fā)平臺,下方為板子的鏈接。下期文章將介紹相關(guān)開發(fā)工具的使用,敬請期待。

https://item.taobao.com/item.htm?id=612427051465


走近FPGA - 板卡介紹的評論 (共 條)

分享到微博請遵守國家法律
贵德县| 哈巴河县| 中方县| 织金县| 西吉县| 洛南县| 定结县| 工布江达县| 屏东县| 洛南县| 灵璧县| 若尔盖县| 三台县| 兖州市| 双流县| 临澧县| 治县。| 永吉县| 仙居县| 枣庄市| 越西县| 襄城县| 江孜县| 左云县| 九龙坡区| 三明市| 随州市| 静安区| 新巴尔虎左旗| 循化| 浦东新区| 淮安市| 伊金霍洛旗| 康马县| 共和县| 邮箱| 谷城县| 康乐县| 嘉兴市| 黄冈市| 彩票|