国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

FPGA采集AD7606數(shù)據(jù)UDP網(wǎng)絡(luò)傳輸 提供工程源碼和技術(shù)支持 附帶上位機接收軟件

這篇具有很好參考價值的文章主要介紹了FPGA采集AD7606數(shù)據(jù)UDP網(wǎng)絡(luò)傳輸 提供工程源碼和技術(shù)支持 附帶上位機接收軟件。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1、前言

目前網(wǎng)上的fpga實現(xiàn)udp基本生態(tài)如下:
1:verilog編寫的udp收發(fā)器,但不帶ping功能,這樣的代碼功能正常也能用,但不帶ping功能基本就是廢物,在實際項目中不會用這樣的代碼,試想,多機互聯(lián),出現(xiàn)了問題,你的網(wǎng)卡都不帶ping功能,連基本的問題排查機制都不具備,這樣的代碼誰敢用?
2:帶ping功能的udp收發(fā)器,代碼優(yōu)秀也好用,但基本不開源,不會提供源碼給你,這樣的代碼也有不足,那就是出了問題不知道怎么排查,畢竟你沒有源碼,無可奈何;
3:使用了Xilinx的三速網(wǎng)IP實現(xiàn),這樣的代碼也很優(yōu)秀,但還是那個問題,沒有源碼,且三速網(wǎng)IP需要licence,官方提供的licence有效期只有120天,其實三速網(wǎng)IP僅僅實現(xiàn)了rgmii到gmii再到axis的轉(zhuǎn)換,完全可以不用這個ip;
本設(shè)計使用的UDP方案使用Micrel公司的KSZ9031RNX作為網(wǎng)絡(luò)PHY芯片,使用verilog代碼設(shè)計UDP協(xié)議,并帶有用戶接口,使得用戶無需關(guān)心復(fù)雜的UDP協(xié)議而只需關(guān)心簡單的用戶接口時序即可操作UDP收發(fā),非常簡單;

本設(shè)計使用UDP傳輸FPGA采集的AD7606數(shù)據(jù),上位機通過接收網(wǎng)口的 UDP 數(shù)據(jù)包,將AD7606的波形數(shù)據(jù)數(shù)據(jù)顯示在電腦上。我們可以用更加直觀的方式觀察波形,是一個數(shù)字示波器雛形,并且可以保存 ADC 數(shù)據(jù)。

2、我這里已有的UDP方案

目前我這里有如下幾種UDP方案和應(yīng)用實例:
我的博客主頁有個FPGA以太網(wǎng)通信專欄,專欄是免費的,里面有很多FPGA實現(xiàn)的UDP應(yīng)用,對網(wǎng)絡(luò)通信有需求的兄弟可以去看看:直接點擊前往

3、AD7606采集詳解

AD7606輸出有串行和并行兩種模式,要想玩兒轉(zhuǎn)AD7606,首先要讀懂?dāng)?shù)據(jù)手冊,基于數(shù)據(jù)手冊設(shè)計接口時許,我這里既有串行模式也有并行模式的采集,之前已經(jīng)寫過一篇文章詳細(xì)講解了,兄弟們可以先回頭看看我那篇文章,打打基礎(chǔ):直接點擊前往

4、UDP設(shè)計方案

本實驗以千兆以太網(wǎng) RGMII 通信為例來設(shè)計 verilog 程序,UDP分為兩部分,分別為發(fā)送和接收,實現(xiàn)了 動態(tài)ARP,UDP,Ping 和10/100/1000M網(wǎng)速自動協(xié)商仲裁功能。以下為原理實現(xiàn)框圖:詳細(xì)的設(shè)計請參考我之前寫的文章:直接點擊前往

5、AD7606 UDP傳輸詳細(xì)設(shè)計方案

AD7606 UDP傳輸詳細(xì)設(shè)計方案如下:
FPGA采集AD7606數(shù)據(jù)UDP網(wǎng)絡(luò)傳輸 提供工程源碼和技術(shù)支持 附帶上位機接收軟件
用示波器產(chǎn)生一個正弦波作為輸入源給到AD7606,AD7606數(shù)據(jù)采集支持并行和串行模式,在工程代碼的頂層文件里做了整合,如下:
FPGA采集AD7606數(shù)據(jù)UDP網(wǎng)絡(luò)傳輸 提供工程源碼和技術(shù)支持 附帶上位機接收軟件
采集后的AD數(shù)據(jù)送DDR3緩存,這個數(shù)據(jù)緩存模塊不僅可以緩存AD數(shù)據(jù),還可以緩存圖像數(shù)據(jù),并做了4幀緩存模式,因為本設(shè)計主要介紹UDP的組包,所以數(shù)據(jù)緩存模塊不做過多介紹,感興趣的可以查看詳細(xì)的源碼。

UDP應(yīng)用的設(shè)計思路

UDP本身只是一種通信協(xié)議,用verilog實現(xiàn)并不難,他的精髓在于應(yīng)用,而UDP應(yīng)用的要點在于數(shù)據(jù)的組包與拆包,就本設(shè)計而言,F(xiàn)PGA作為發(fā)送者,需要將AD7606采集的數(shù)據(jù)進行組包,拆包是上位機軟件干的事兒。
注意!?。?br> 這里的組包指的是在以太網(wǎng)幀格式的UDP有效數(shù)據(jù)段人為的組包,并非UDP協(xié)議里固定的幀頭等信息的組包,這里的組包是為了兩個節(jié)點之間的收發(fā)對應(yīng)。。。
通信開始后,上位機會發(fā)送查詢命令給FPGA,F(xiàn)PGA則將本地網(wǎng)卡的基本信息和AD7606的數(shù)據(jù)信息發(fā)送給上位機,上位機得到FPGA網(wǎng)卡的信息后會選擇對應(yīng)的拆包和現(xiàn)實程序,F(xiàn)PGA會按照自己定義的UDP數(shù)據(jù)包向上位機發(fā)送數(shù)據(jù),這樣一來,一個簡單的UDP通信應(yīng)用就組件完成了。。。
本設(shè)計組包協(xié)議如下:

獲取FPGA網(wǎng)卡信息

詢問命令(共 5 字節(jié),由上位機通過以太網(wǎng)發(fā)送)
FPGA采集AD7606數(shù)據(jù)UDP網(wǎng)絡(luò)傳輸 提供工程源碼和技術(shù)支持 附帶上位機接收軟件
應(yīng)答命令(共 27 字節(jié),由開發(fā)板通過以太網(wǎng)發(fā)送)
FPGA采集AD7606數(shù)據(jù)UDP網(wǎng)絡(luò)傳輸 提供工程源碼和技術(shù)支持 附帶上位機接收軟件
代碼層面表現(xiàn)如下:(eth_cmd.v)
FPGA采集AD7606數(shù)據(jù)UDP網(wǎng)絡(luò)傳輸 提供工程源碼和技術(shù)支持 附帶上位機接收軟件

獲取數(shù)據(jù)

控制命令(由上位機發(fā)送數(shù)據(jù)請求)
FPGA采集AD7606數(shù)據(jù)UDP網(wǎng)絡(luò)傳輸 提供工程源碼和技術(shù)支持 附帶上位機接收軟件
每個 UDP 包都包含有 Header,在第一個字節(jié),其格式如下:
FPGA采集AD7606數(shù)據(jù)UDP網(wǎng)絡(luò)傳輸 提供工程源碼和技術(shù)支持 附帶上位機接收軟件

UDP發(fā)送數(shù)據(jù)組包

注意?。。?br> 注意?。。?br> 注意?。?!
這里是整個工程的重點,AD7606的數(shù)據(jù)就是以這個格式發(fā)送出去的:
FPGA采集AD7606數(shù)據(jù)UDP網(wǎng)絡(luò)傳輸 提供工程源碼和技術(shù)支持 附帶上位機接收軟件
代碼層面表現(xiàn)如下:(mac_ctrl.v)
FPGA采集AD7606數(shù)據(jù)UDP網(wǎng)絡(luò)傳輸 提供工程源碼和技術(shù)支持 附帶上位機接收軟件

UDP發(fā)送流程

首先在空閑狀態(tài),上位機會通過以太網(wǎng)廣播發(fā)送詢問命令,因此在 IP 層接收時要加上判斷是否是廣播 UDP 數(shù)據(jù),如果是,也接收數(shù)據(jù),此段代碼在 ip_rx.v 中,如下所示:
FPGA采集AD7606數(shù)據(jù)UDP網(wǎng)絡(luò)傳輸 提供工程源碼和技術(shù)支持 附帶上位機接收軟件
之后在 eth_cmd.v 文件中判斷接收到的數(shù)據(jù)信息,是否是詢問命令或控制命令,從而產(chǎn)生出
命令的應(yīng)答請求信號 cmd_reply_req,或請求數(shù)據(jù)的信號 ad_data_req。
eth_cmd.v 模塊頂層接口如下:
FPGA采集AD7606數(shù)據(jù)UDP網(wǎng)絡(luò)傳輸 提供工程源碼和技術(shù)支持 附帶上位機接收軟件
mac_ctrl.v 文件實現(xiàn)以太網(wǎng)的傳輸控制,在 IDLE 狀態(tài)下等待一定時間,進入 CMD_WAIT 狀態(tài),判斷是否有命令請求 cmd_reply_req 或數(shù)據(jù)請求 ad_data_req,之后進入 CHECK_ARP 狀態(tài),檢查對
應(yīng)的 IP 地址是否在緩存列表中,如果沒有,將發(fā)送 ARP 請求,等待應(yīng)答。之后根據(jù)命令請求或數(shù)據(jù)請求進入相應(yīng)的數(shù)據(jù)發(fā)送狀態(tài),CMD_SEND 或 AD_SEND 狀態(tài)。
mac_ctrl.v 模塊頂層接口如下:
FPGA采集AD7606數(shù)據(jù)UDP網(wǎng)絡(luò)傳輸 提供工程源碼和技術(shù)支持 附帶上位機接收軟件
上位機設(shè)置的緩存空間為 1M 字節(jié),請求數(shù)據(jù)間隔為 100ms,因此在設(shè)置采樣深度時要考慮到這兩點。在 eth_top.v 程序中設(shè)置為 32’h00008000,即 32K 字節(jié),采樣頻率為 200KHz,ADC 采樣端數(shù)據(jù)為兩個字節(jié)長度,因此采樣長度為采樣字節(jié)除以 2,即 32’h00004000,計算需要82ms 可采集完成。移除了 UDP 發(fā)送數(shù)據(jù)的檢驗和。
代碼層面表現(xiàn)如下:(eth_top.v)
FPGA采集AD7606數(shù)據(jù)UDP網(wǎng)絡(luò)傳輸 提供工程源碼和技術(shù)支持 附帶上位機接收軟件

6、vivado工程詳解

工程介紹:
開發(fā)板:Xilinx Artix7開發(fā)板;
開發(fā)環(huán)境:vivado2019.1;
網(wǎng)絡(luò)PHY:KSZ9031;
輸入:AD7606;
輸出:UDP-RJ45網(wǎng)口;
工程代碼架構(gòu)如下:
FPGA采集AD7606數(shù)據(jù)UDP網(wǎng)絡(luò)傳輸 提供工程源碼和技術(shù)支持 附帶上位機接收軟件
FPGA資源消耗和功耗預(yù)估如下:
FPGA采集AD7606數(shù)據(jù)UDP網(wǎng)絡(luò)傳輸 提供工程源碼和技術(shù)支持 附帶上位機接收軟件

7、上板調(diào)試驗證并演示

上位機軟件位置如下:
FPGA采集AD7606數(shù)據(jù)UDP網(wǎng)絡(luò)傳輸 提供工程源碼和技術(shù)支持 附帶上位機接收軟件
上位機未收到數(shù)據(jù)時如下:
FPGA采集AD7606數(shù)據(jù)UDP網(wǎng)絡(luò)傳輸 提供工程源碼和技術(shù)支持 附帶上位機接收軟件
用示波器產(chǎn)生一個5V的正弦波接入AD7606轉(zhuǎn)接板,上位機現(xiàn)實波形如下:
FPGA采集AD7606數(shù)據(jù)UDP網(wǎng)絡(luò)傳輸 提供工程源碼和技術(shù)支持 附帶上位機接收軟件
綠色框顯示發(fā)送板卡的 MAC 和 IP 地址;
復(fù)位:點擊復(fù)位可使波形顯示到初始狀態(tài);
垂直:“垂直“與“水平”切換,點擊此按鈕可進行水平垂直方向縮放的切換,在垂直狀態(tài)下,滾動鼠標(biāo)滾軸可進行垂直方向的縮放,水平狀態(tài)下,進行水平方向的縮放;
暫停:“暫?!芭c”繼續(xù)“切換,點擊暫停波形,可再點擊“繼續(xù)”顯示波形;
保存:保存 ADC 數(shù)據(jù)為 TXT 文檔,保存路徑在“路徑”按鈕處設(shè)置,默認(rèn)為軟件所在路徑;
數(shù)值:“數(shù)值”與“電壓”切換,Y 方向坐標(biāo)單位為原始值,即接收到的原始數(shù)據(jù)值,點擊“電壓”則顯示電壓值;
路徑:選擇保存路徑;
打開:打開已保存的 TXT 波形文件;

8、福利:工程代碼的獲取

福利:工程代碼的獲取
代碼太大,無法郵箱發(fā)送,以某度網(wǎng)盤鏈接方式發(fā)送,
資料獲取方式:私,或者文章末尾的V名片。
網(wǎng)盤資料如下:
FPGA采集AD7606數(shù)據(jù)UDP網(wǎng)絡(luò)傳輸 提供工程源碼和技術(shù)支持 附帶上位機接收軟件文章來源地址http://www.zghlxwxcb.cn/news/detail-423628.html

到了這里,關(guān)于FPGA采集AD7606數(shù)據(jù)UDP網(wǎng)絡(luò)傳輸 提供工程源碼和技術(shù)支持 附帶上位機接收軟件的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • FPGA 圖像縮放 千兆網(wǎng) UDP 網(wǎng)絡(luò)視頻傳輸,基于RTL8211 PHY實現(xiàn),提供工程和QT上位機源碼加技術(shù)支持

    FPGA 圖像縮放 千兆網(wǎng) UDP 網(wǎng)絡(luò)視頻傳輸,基于RTL8211 PHY實現(xiàn),提供工程和QT上位機源碼加技術(shù)支持

    沒玩過UDP協(xié)議棧都不好意思說自己玩兒過FPGA,這是CSDN某大佬說過的一句話,鄙人深信不疑。。。UDP協(xié)議棧在實際項目中應(yīng)用廣泛,特別是在醫(yī)療和軍工行業(yè);本文使用Xilinx的Artix7 FPGA基于RTL8211 網(wǎng)絡(luò)PHY芯片實現(xiàn)千兆網(wǎng)UDP視頻傳輸(視頻縮放后再傳輸),視頻源有兩種,分別對應(yīng)

    2024年02月07日
    瀏覽(19)
  • 基于FPGA的數(shù)據(jù)采集、編碼、通訊和存儲系統(tǒng)設(shè)計(即FPGA+RTL8211千兆以太網(wǎng)+SD卡存儲+RTC+Uart+AD7606數(shù)模轉(zhuǎn)換+電流放大采集等硬件設(shè)計與程序驗證)

    基于FPGA的數(shù)據(jù)采集、編碼、通訊和存儲系統(tǒng)設(shè)計(即FPGA+RTL8211千兆以太網(wǎng)+SD卡存儲+RTC+Uart+AD7606數(shù)模轉(zhuǎn)換+電流放大采集等硬件設(shè)計與程序驗證)

    介紹一個小項目,加強對FPGA相關(guān)接口的整體把握。 硬件及軟件代碼梳理: 硬件系統(tǒng)的主要功能框圖,其中FPGA作為處理單元,實現(xiàn)了包括電流和電壓的采集、千兆以太網(wǎng)通訊、SD卡本地數(shù)據(jù)存儲和串口通訊等。已經(jīng)過板級測試,測試包含:千兆網(wǎng)通訊收發(fā)測試、AD采集的數(shù)據(jù)

    2024年04月13日
    瀏覽(49)
  • 數(shù)據(jù)鏈路層(MAC)、網(wǎng)絡(luò)層(IP)、傳輸層(TCP/UDP)抓包分析

    數(shù)據(jù)鏈路層(MAC)、網(wǎng)絡(luò)層(IP)、傳輸層(TCP/UDP)抓包分析

    OSI模型(OSI model),開放式系統(tǒng)互聯(lián)通信參考模型(英語:Open System Interconnection Reference Model,縮寫為 OSI)。 抓包通常抓取數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層的包。 OSI主要關(guān)注5層,數(shù)據(jù)從上至下逐級封裝,加入每層的頭部信息,在物理層轉(zhuǎn)換為比特率發(fā)送; 接收端使用逆向順序

    2024年02月16日
    瀏覽(31)
  • FPGA基于1G/2.5G Ethernet PCS/PMA or SGMII實現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機源碼加技術(shù)支持

    FPGA基于1G/2.5G Ethernet PCS/PMA or SGMII實現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機源碼加技術(shù)支持

    沒玩過UDP協(xié)議棧都不好意思說自己玩兒過FPGA,這是CSDN某大佬說過的一句話,鄙人深信不疑。。。UDP協(xié)議棧在實際項目中應(yīng)用廣泛,特別是在醫(yī)療和軍工行業(yè);本文使用Xilinx的Artix7 FPGA基于1G/2.5G Ethernet PCS/PMA or SGMII實現(xiàn)千兆網(wǎng)UDP視頻傳輸,視頻源有兩種,分別對應(yīng)開發(fā)者手里有

    2024年02月07日
    瀏覽(22)
  • FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機源碼加技術(shù)支持

    FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機源碼加技術(shù)支持

    沒玩過UDP協(xié)議棧都不好意思說自己玩兒過FPGA,這是CSDN某大佬說過的一句話,鄙人深信不疑。。。本文使用Xilinx的Artix7 FPGA基于1G/2.5G Ethernet PCS/PMA or SGMII實現(xiàn)千兆網(wǎng)UDP視頻傳輸(視頻縮放后再傳輸),視頻源有兩種,分別對應(yīng)開發(fā)者手里有沒有攝像頭的情況,一種是使用板載的

    2024年02月08日
    瀏覽(27)
  • FPGA XDMA 中斷模式實現(xiàn) PCIE X8 AD7606采集 提供2套工程源碼和QT上位機源碼

    FPGA XDMA 中斷模式實現(xiàn) PCIE X8 AD7606采集 提供2套工程源碼和QT上位機源碼

    PCIE(PCI Express)采用了目前業(yè)內(nèi)流行的點對點串行連接,比起 PCI 以及更早期的計算機總線的共享并行架構(gòu),每個設(shè)備都有自己的專用連接,不需要向整個總線請求帶寬,而且可以把數(shù)據(jù)傳輸率提高到一個很高的頻率,達(dá)到 PCI 所不能提供的高帶寬,是目前各行業(yè)高速接口的優(yōu)

    2024年02月12日
    瀏覽(20)
  • FPGA XDMA 中斷模式實現(xiàn) PCIE3.0 AD7606采集 提供2套工程源碼和QT上位機源碼

    FPGA XDMA 中斷模式實現(xiàn) PCIE3.0 AD7606采集 提供2套工程源碼和QT上位機源碼

    PCIE(PCI Express)采用了目前業(yè)內(nèi)流行的點對點串行連接,比起 PCI 以及更早期的計算機總線的共享并行架構(gòu),每個設(shè)備都有自己的專用連接,不需要向整個總線請求帶寬,而且可以把數(shù)據(jù)傳輸率提高到一個很高的頻率,達(dá)到 PCI 所不能提供的高帶寬,是目前各行業(yè)高速接口的優(yōu)

    2024年02月13日
    瀏覽(22)
  • 【網(wǎng)絡(luò)】傳輸層協(xié)議-UDP協(xié)議

    【網(wǎng)絡(luò)】傳輸層協(xié)議-UDP協(xié)議

    回憶數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)的過程 之前在學(xué)習(xí)HTTP等應(yīng)用層協(xié)議時為了方便理解:我們簡單的認(rèn)為HTTP協(xié)議是將請求和響應(yīng)直接發(fā)送到了網(wǎng)絡(luò)當(dāng)中 實際上: 應(yīng)用層需要先將數(shù)據(jù)交給傳輸層,由傳輸層對數(shù)據(jù)做進一步處理后再將數(shù)據(jù)繼續(xù)向下進行交付,該過程貫穿整個網(wǎng)絡(luò)協(xié)議棧,最終才能將

    2024年02月03日
    瀏覽(24)
  • 【計算機網(wǎng)絡(luò) 】傳輸層——UDP

    【計算機網(wǎng)絡(luò) 】傳輸層——UDP

    在學(xué)習(xí)HTTP等應(yīng)用層協(xié)議時,為了便于理解,可以簡單的認(rèn)為HTTP協(xié)議是將請求和響應(yīng)直接發(fā)送到了網(wǎng)絡(luò)當(dāng)中。但實際應(yīng)用層需要先將數(shù)據(jù)交給傳輸層,由傳輸層對數(shù)據(jù)做進一步處理后再將數(shù)據(jù)繼續(xù)向下進行交付,該過程貫穿整個網(wǎng)絡(luò)協(xié)議棧,最終才能將數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)當(dāng)中。

    2024年02月06日
    瀏覽(25)
  • 【Linux】【網(wǎng)絡(luò)】傳輸層協(xié)議:UDP

    【Linux】【網(wǎng)絡(luò)】傳輸層協(xié)議:UDP

    UDP傳輸?shù)倪^程類似于寄信。 無連接:知道對端的IP和端口號就直接進行傳輸,不需要建立連接。 不可靠:沒有確認(rèn)機制,沒有重傳機制;如果因為網(wǎng)絡(luò)故障該段無法發(fā)到對方,UDP協(xié)議層也不會給應(yīng)用層返回任何錯誤信息。 面向數(shù)據(jù)報: 不能夠靈活的控制讀寫數(shù)據(jù)的次數(shù)和數(shù)量

    2024年02月07日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包