當(dāng)前位置:首頁(yè) > 工業(yè)控制 > 電路設(shè)計(jì)項(xiàng)目集錦
[導(dǎo)讀]與傳統(tǒng)的微控制器相比,F(xiàn)PGA(現(xiàn)場(chǎng)可編程門(mén)陣列)是獨(dú)一無(wú)二的,因?yàn)樗鼈儾粓?zhí)行順序指令。相反,它們由一組可配置的邏輯塊組成,這些邏輯塊可以被重新編程以執(zhí)行自定義的數(shù)字邏輯功能。這使得FPGA可以并行執(zhí)行多個(gè)操作,使其在信號(hào)處理、數(shù)據(jù)處理和實(shí)時(shí)控制等特定任務(wù)中非常高效。

介紹

與傳統(tǒng)的微控制器相比,FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)是獨(dú)一無(wú)二的,因?yàn)樗鼈儾粓?zhí)行順序指令。相反,它們由一組可配置的邏輯塊組成,這些邏輯塊可以被重新編程以執(zhí)行自定義的數(shù)字邏輯功能。這使得FPGA可以并行執(zhí)行多個(gè)操作,使其在信號(hào)處理、數(shù)據(jù)處理和實(shí)時(shí)控制等特定任務(wù)中非常高效。

為了定義FPGA的功能,我們使用硬件描述語(yǔ)言(HDL),它指定了邏輯元素應(yīng)該如何配置和互連。在這個(gè)項(xiàng)目中,我將使用SystemVerilog,這是Verilog的高級(jí)版本,它引入了額外的特性,如增強(qiáng)的類型安全、斷言和面向?qū)ο缶幊坦δ?,使其更適合FPGA設(shè)計(jì)。

對(duì)于硬件,我使用的是Arty S7-25,這是一個(gè)基于Xilinx Spartan-7 FPGA的開(kāi)發(fā)板。它在尺寸、性能和可負(fù)擔(dān)性之間提供了一個(gè)很好的平衡,使其成為初學(xué)者的絕佳選擇。該板具有雙Arduino頭,便于原型設(shè)計(jì),以及PMOD頭,允許擴(kuò)展額外的外設(shè)。當(dāng)我使用這個(gè)特定的板時(shí),如果您遵循這個(gè)項(xiàng)目,任何來(lái)自Spartan-7家族或更高版本的Xilinx FPGA都應(yīng)該兼容。

XADC (Xilinx模數(shù)轉(zhuǎn)換器)

XADC是Xilinx FPGA中的集成模數(shù)轉(zhuǎn)換器(ADC),使其能夠處理模擬信號(hào)和數(shù)字邏輯。該功能對(duì)于電壓監(jiān)測(cè)、傳感器數(shù)據(jù)采集和實(shí)時(shí)模擬信號(hào)處理等應(yīng)用特別有用。通過(guò)將ADC直接集成到FPGA中,減少了對(duì)外部ADC組件的需求,簡(jiǎn)化了硬件設(shè)計(jì)并提高了系統(tǒng)集成度。

XADC的主要特性:

?雙12位adc能夠以高達(dá)1 MSPS(每秒百萬(wàn)采樣)的速度采樣,允許高速數(shù)據(jù)采集。

?支持多達(dá)16個(gè)外部模擬輸入通道(根據(jù)FPGA封裝不同而不同),支持多個(gè)傳感器或信號(hào)連接。

?用于FPGA溫度監(jiān)測(cè)和電源電壓跟蹤的片上傳感器,有助于系統(tǒng)可靠性和熱管理。

?靈活的接口選項(xiàng):支持AXI Lite,動(dòng)態(tài)重新配置端口(DRP)或直接寄存器控制,允許與不同的FPGA設(shè)計(jì)集成。

?支持單極(0V至1V)和雙極(-0.5V至0.5V)輸入模式,適應(yīng)各種模擬信號(hào)范圍。

?可配置報(bào)警閾值,使自動(dòng)警報(bào)電壓或溫度異常。

XADC通過(guò)彌合模擬和數(shù)字域之間的差距,增強(qiáng)了FPGA的多功能性,使其成為需要在基于FPGA的系統(tǒng)中進(jìn)行實(shí)時(shí)模擬信號(hào)處理的應(yīng)用的理想選擇。

Vivado:賽靈思的FPGA設(shè)計(jì)軟件

Vivado是Xilinx的綜合FPGA設(shè)計(jì)套件,用于設(shè)計(jì)、模擬、合成和編程基于FPGA的系統(tǒng)。它為HDL開(kāi)發(fā)提供了一個(gè)完整的工具鏈,包括邏輯分析儀、IP集成器和調(diào)試工具,使其成為FPGA開(kāi)發(fā)必不可少的工具。無(wú)論您是實(shí)現(xiàn)簡(jiǎn)單的邏輯電路還是復(fù)雜的數(shù)字系統(tǒng),Vivado都可以通過(guò)其高級(jí)合成(HLS),基于塊的設(shè)計(jì)方法和硬件調(diào)試工具簡(jiǎn)化設(shè)計(jì)流程。

下載安裝程序

訪問(wèn)AMD/Xilinx官方網(wǎng)站并導(dǎo)航到下載部分。

下載最新版本的統(tǒng)一安裝程序,選擇與您的操作系統(tǒng)(Windows或Linux)兼容的版本。

注意:您需要登錄或創(chuàng)建一個(gè)免費(fèi)的AMD/Xilinx帳戶才能訪問(wèn)下載。

安裝過(guò)程

運(yùn)行安裝程序并按照屏幕上的說(shuō)明操作。

在安裝過(guò)程中,您可以選擇完全安裝或自定義安裝,這取決于您是否需要額外的工具,如Vitis(用于嵌入式開(kāi)發(fā))或僅用于FPGA設(shè)計(jì)的Vivado。

準(zhǔn)備好大量下載(幾gb),因此建議使用穩(wěn)定且快速的互聯(lián)網(wǎng)連接。

創(chuàng)建第一個(gè)項(xiàng)目

一旦安裝了Vivado,下一步就是在AMD Vivado設(shè)計(jì)套件中創(chuàng)建一個(gè)新項(xiàng)目。本項(xiàng)目將作為工作空間,您將在其中編寫(xiě),模擬和合成您的FPGA設(shè)計(jì)。

步驟1:創(chuàng)建項(xiàng)目

打開(kāi)Vivado并從歡迎屏幕中選擇Create New Project。

選擇一個(gè)項(xiàng)目名稱(例如,DisplayXADC)并選擇一個(gè)方便的位置來(lái)保存項(xiàng)目文件。

單擊Next繼續(xù)。

步驟2:選擇項(xiàng)目類型

當(dāng)提示項(xiàng)目類型時(shí),選擇RTL項(xiàng)目(注冊(cè)-傳輸級(jí)別),因?yàn)檫@允許您使用SystemVerilog編寫(xiě)設(shè)計(jì)。

啟用“此時(shí)不指定源”復(fù)選框,除非您已經(jīng)準(zhǔn)備好了源文件。

單擊Next繼續(xù)。

步驟3:創(chuàng)建源文件和約束文件

進(jìn)入項(xiàng)目后,創(chuàng)建一個(gè)新的源文件:選擇create file→選擇SystemVerilog作為文件類型。將其命名為任何您喜歡的名稱(例如,xadc_display.sv)。

創(chuàng)建空約束文件:選擇“創(chuàng)建文件”→確保文件類型為XDC (Xilinx Design Constraints)。將其命名為您喜歡的任何名稱(例如,constraints.xdc)。稍后將使用該文件定義引腳映射、時(shí)鐘約束和定時(shí)設(shè)置。

步驟4:選擇FPGA板

將出現(xiàn)一個(gè)對(duì)話框,提示您在零件和電路板之間進(jìn)行選擇。

選擇Boards選項(xiàng)卡并鍵入您的FPGA板型號(hào)(例如,Arty S7-25)。如果沒(méi)有顯示您的單板,請(qǐng)單擊“刷新”或確保安裝了單板文件。

單擊Next,然后單擊Finish以完成設(shè)置。

配置XADC

要在FPGA設(shè)計(jì)中使用XADC (Xilinx模數(shù)轉(zhuǎn)換器),需要在Vivado中添加和配置XADC IP核。按照以下步驟正確設(shè)置:

步驟1:添加X(jué)ADC IP核

在Vivado的左側(cè),找到并單擊IP Catalog。

在搜索欄中,輸入“XADC”。

選擇“XADC向?qū)А?,然后雙擊打開(kāi)其配置設(shè)置。

步驟2:自定義XADC IP

將出現(xiàn)一個(gè)對(duì)話框,允許您配置XADC核心。

選擇接口類型:配置接口模式為DRP (Dynamic Reconfiguration Port)。這允許通過(guò)寄存器實(shí)時(shí)訪問(wèn)ADC轉(zhuǎn)換。

選擇轉(zhuǎn)換模式:在模式選擇下,選擇“單通道”,設(shè)置為“連續(xù)模式”。這確保了ADC連續(xù)采樣單個(gè)模擬輸入,而不是通過(guò)多個(gè)通道循環(huán)。

禁用告警(本項(xiàng)目不需要):導(dǎo)航到“告警”頁(yè)簽。禁用所有警報(bào),因?yàn)榇藨?yīng)用程序不需要它們。這些告警通常用于監(jiān)控電源電平和FPGA溫度。

選擇模擬輸入引腳:在單通道選項(xiàng)卡下,找到外部模擬輸入部分。為A0引腳(或FPGA上相應(yīng)的ADC引腳)選擇VAUXP0/VAUXN0。確切的引腳映射可能因FPGA板而異,因此請(qǐng)檢查約束文件(.xdc)以驗(yàn)證正確的引腳。

步驟3:生成XADC IP核

保留所有其他設(shè)置為默認(rèn)值,除非您的應(yīng)用程序需要進(jìn)一步定制。

單擊OK關(guān)閉自定義窗口。

在下一個(gè)對(duì)話框中,選擇“生成輸出產(chǎn)品”,然后單擊“生成”。

此時(shí),將生成XADC IP核并準(zhǔn)備將其集成到您的設(shè)計(jì)中。該模塊將允許您的FPGA與模擬信號(hào)接口,例如從電位器或其他傳感器讀取電壓電平。

代碼

ConstrainFile

約束文件(.xdc)在FPGA設(shè)計(jì)中至關(guān)重要,因?yàn)樗x了項(xiàng)目的I/O引腳映射、時(shí)鐘約束和時(shí)序要求。該文件告訴FPGA使用哪個(gè)物理引腳進(jìn)行輸入和輸出,確保您的設(shè)計(jì)與外部硬件(如按鈕,led,傳感器或通信接口)正確交互。

每個(gè)FPGA板都有一個(gè)唯一的約束文件,因?yàn)椴煌陌逵胁煌囊_分配和硬件配置。

七段模塊

該子模塊設(shè)計(jì)用于一次控制單個(gè)七段LED顯示屏。它需要一個(gè)輸入時(shí)鐘信號(hào)來(lái)同步顯示更新和一個(gè)輸入數(shù)字(十六進(jìn)制0-F)。

高層模塊

主模塊被指定為源文件層次結(jié)構(gòu)中的“頂層”模塊。這個(gè)頂層模塊作為設(shè)計(jì)的入口,類似于C語(yǔ)言編程中的主要功能。通過(guò)用清晰的層次結(jié)構(gòu)構(gòu)建設(shè)計(jì),頂層模塊確保所有組件有效地協(xié)同工作,使調(diào)試和擴(kuò)展系統(tǒng)更容易。

頂層模塊的角色

?它充當(dāng)集成和連接設(shè)計(jì)中所有其他子模塊的最高級(jí)模塊。

?它定義了與FPGA外部引腳接口的I/O端口。

?它實(shí)例化其他模塊的實(shí)例,在它們之間傳遞信號(hào)以確保正確的通信。

初始化模塊實(shí)例

在頂部模塊中,您將創(chuàng)建項(xiàng)目中定義的其他模塊的實(shí)例。這些實(shí)例的行為類似于軟件編程中的函數(shù)調(diào)用,但它們不是按順序執(zhí)行,而是并行操作。

我們首先定義它的輸入和輸出端口,這決定了FPGA如何與外部硬件組件交互。

時(shí)鐘輸入(用于同步)

模擬輸入(用于從XADC讀取數(shù)據(jù))

輸出控制七段顯示

實(shí)例化XADC模塊

接下來(lái),我們實(shí)例化XADC模塊,該模塊連續(xù)采樣模擬輸入信號(hào)并將其轉(zhuǎn)換為16位數(shù)字值。然后對(duì)這些數(shù)據(jù)進(jìn)行處理,以提取相關(guān)信息進(jìn)行顯示。

實(shí)例化七段顯示模塊

由于我們正在使用兩個(gè)七段顯示,因此我們創(chuàng)建了sevenSegment模塊的兩個(gè)實(shí)例。這些實(shí)例接收處理過(guò)的數(shù)據(jù)并驅(qū)動(dòng)相應(yīng)的顯示段。

數(shù)據(jù)處理和路由

來(lái)自XADC的原始數(shù)據(jù)是16位寬,但是一個(gè)7段的顯示器通常一次只顯示一個(gè)數(shù)字。

為了顯示有意義的值,我們對(duì)16位數(shù)據(jù)進(jìn)行切片,只提取高階位,它們代表ADC轉(zhuǎn)換結(jié)果的最高有效數(shù)字。

切片后的數(shù)據(jù)被發(fā)送到七段模塊,在那里被轉(zhuǎn)換成二進(jìn)制編碼格式(BCD)顯示。

構(gòu)建和編程

一旦編碼階段完成,我們就進(jìn)入構(gòu)建和編程過(guò)程,在此過(guò)程中,設(shè)計(jì)被合成、實(shí)現(xiàn)并轉(zhuǎn)移到FPGA硬件。

步驟1:生成比特流

?在Vivado中,找到左側(cè)面板中的“構(gòu)建和調(diào)試”部分。

?點(diǎn)擊“生成比特流”來(lái)啟動(dòng)這個(gè)過(guò)程。

?如果出現(xiàn)提示,單擊“Yes”繼續(xù)。

該過(guò)程包括三個(gè)主要步驟:綜合:將SystemVerilog代碼轉(zhuǎn)換為門(mén)級(jí)表示。實(shí)現(xiàn):將邏輯映射到FPGA的物理資源上。比特流生成:創(chuàng)建將加載到FPGA上的最終二進(jìn)制文件。

此過(guò)程可能需要一些時(shí)間,具體取決于設(shè)計(jì)的復(fù)雜性和系統(tǒng)的性能。

步驟2:連接FPGA板

?一旦比特流成功生成,轉(zhuǎn)到“打開(kāi)硬件管理器”。

?現(xiàn)在,使用微型USB電纜將FPGA板連接到計(jì)算機(jī)。確保單板已上電。

?在硬件管理器中,點(diǎn)擊“自動(dòng)連接”。這將掃描連接的FPGA設(shè)備。將出現(xiàn)檢測(cè)到的硬件設(shè)備列表。

步驟3:FPGA編程

?在列表中找到您的FPGA設(shè)備。

?右鍵單擊設(shè)備,選擇“程序設(shè)備”。

?將出現(xiàn)一個(gè)對(duì)話框,確認(rèn)要使用的比特流文件(.bit)。

?點(diǎn)擊“Program”將設(shè)計(jì)加載到FPGA上。

該程序在FPGA中是臨時(shí)的,一旦電源被切斷,它就會(huì)回到工廠或以前燒毀的程序。如果您想將程序刻錄到FPGA中,則選擇“程序eFUSE寄存器”,這將刻錄程序,并且在電源周期后不會(huì)丟失。

布線

在這個(gè)項(xiàng)目中,我使用IO0到IO13引腳連接兩個(gè)七段LED顯示屏。這些引腳被分配來(lái)控制單個(gè)LED段。

連接七段顯示器

?根據(jù)您的設(shè)計(jì)將7段LED段連接到IO0-IO13。

?應(yīng)相應(yīng)地連接公共地(用于公共陰極顯示器)或公共電源(VCC)(用于公共陽(yáng)極顯示器)。

?確保顯示模塊的地與FPGA的地相連,完成電路。

自定義Pin分配

?可以根據(jù)項(xiàng)目需要更改這些pin分配。

?如果修改了pin分配,則必須相應(yīng)地更新約束文件(.xdc)以反映新的連接。

?驗(yàn)證七段顯示器與FPGA的I/O電壓水平的電壓兼容性(例如,3.3V邏輯用于Arty S7-25)。

連接X(jué)ADC電位器

?您可以使用任何通用的10K電位器作為模擬輸入設(shè)備。

?連接方式:一端接VCC (3.3V)。另一端到GND。中間(雨刷)引腳到XADC輸入引腳(VAUXP0/VAUXN0,如約束文件中定義)。

本文編譯自hackster.io

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉