紫光同創(chuàng)國產(chǎn)FPGA教程第二十五章AD7606以太網(wǎng)傳輸_第1頁
紫光同創(chuàng)國產(chǎn)FPGA教程第二十五章AD7606以太網(wǎng)傳輸_第2頁
紫光同創(chuàng)國產(chǎn)FPGA教程第二十五章AD7606以太網(wǎng)傳輸_第3頁
紫光同創(chuàng)國產(chǎn)FPGA教程第二十五章AD7606以太網(wǎng)傳輸_第4頁
紫光同創(chuàng)國產(chǎn)FPGA教程第二十五章AD7606以太網(wǎng)傳輸_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

【紫光同創(chuàng)國產(chǎn)FPGA教程】【第二十五章】AD7606以太網(wǎng)傳輸

本原創(chuàng)教程由芯驛電子科技(上海)有限公司(ALINX)創(chuàng)作,版權(quán)歸本公司所有,如需轉(zhuǎn)載,需授權(quán)并注明出處()。適用于板卡型號:PGL22G1.實驗簡介本實驗練習(xí)使用ADC的以太網(wǎng)傳輸,實驗中使用的ADC模塊型號為AN706,最大采樣率200Khz,精度為16位?;谇懊嬷v到的以太網(wǎng)實驗,在本實驗中把AN706的采集數(shù)據(jù)以千兆以太網(wǎng)方式傳輸?shù)缴衔粰C軟件,我們可以用更加直觀的方式觀察波形,是一個數(shù)字示波器雛形,并且可以保存ADC數(shù)據(jù)。8路200K采樣16位ADC模塊實驗預(yù)期結(jié)果2.實驗原理2.1制定UDP包協(xié)議為了體現(xiàn)上位機的靈活性,基于UDP傳輸,制定了以下通訊協(xié)議,此協(xié)議包含在UDP數(shù)據(jù)包中。一、獲取板卡信息(1)詢問命令(共5字節(jié),由上位機通過以太網(wǎng)發(fā)送)字節(jié)數(shù)14命令信息Header32’h00000000或32’h00010001(2)應(yīng)答命令(共27字節(jié),由開發(fā)板通過以太網(wǎng)發(fā)送)字節(jié)數(shù)命令信息1Header|8’h01432’h000100016板卡MAC地址4板卡IP地址1符號位8’h00:無符號數(shù)8’h01有符號數(shù)(設(shè)置無效,上位機要求為有符號數(shù))1ADC有效數(shù)據(jù)長度,比如AD7606為16位,即8’d161采集一次ADC的字節(jié)數(shù)(設(shè)置無效,上位機要求ADC數(shù)據(jù)位寬為兩個字節(jié))1采樣通道(此功能上位機未實現(xiàn))4采樣率,即采樣的頻率,程序中設(shè)為200K4緩存的ADC數(shù)據(jù)長度,單位為字節(jié)二、獲取數(shù)據(jù)(1)控制命令(由上位機發(fā)送數(shù)據(jù)請求)字節(jié)數(shù)命令信息1Header432’h000100026板卡MAC地址,確認(rèn)是本地的MAC地址4采樣通道(此功能未實現(xiàn))4采樣次數(shù)(采集數(shù)據(jù)為16位,采樣次數(shù)為緩存數(shù)據(jù)長度的一半)(2)應(yīng)答命令(由開發(fā)板發(fā)送)字節(jié)數(shù)命令信息1Header|8’h01432’h000100021024ADC數(shù)據(jù)每個UDP包都包含有Header,在第一個字節(jié),其格式如下:比特位值(0)值(1)bit0查詢或控制應(yīng)答bit1~bit7隨機數(shù)據(jù)注:當(dāng)應(yīng)答時,高7位隨機數(shù)據(jù)保持不變,bit0設(shè)置為12.2程序?qū)崿F(xiàn)首先在空閑狀態(tài),上位機會通過以太網(wǎng)廣播發(fā)送詢問命令,因此在IP層接收時要加上判斷是否是廣播UDP數(shù)據(jù),如果是,也接收數(shù)據(jù),此段代碼在ip_rx.v中,如下所示:之后在eth_cmd.v文件中判斷接收到的數(shù)據(jù)信息,是否是詢問命令或控制命令,從而產(chǎn)生出命令的應(yīng)答請求信號cmd_reply_req,或請求數(shù)據(jù)的信號ad_data_req。信號名稱方向?qū)挾?bit)說明clkin1系統(tǒng)時鐘rst_nin1異步復(fù)位,低電平復(fù)位udp_rec_data_validin1UDP接收數(shù)據(jù)有效udp_rec_ram_rdatain8UDP接收到的數(shù)據(jù)udp_rec_ram_read_addrout11UDP接收數(shù)據(jù)RAM地址udp_rec_data_lengthin16UDP接收數(shù)據(jù)長度udp_rd_enin1UDP發(fā)送讀使能信號reply_dataout8命令應(yīng)答數(shù)據(jù)local_ip_addrin32本地IP地址local_mac_addrin48本地MAC地址ch_selout32通道選擇(未使用)sample_numout32采樣長度headerout8命令頭cmd_reply_ackin1命令應(yīng)答響應(yīng)cmd_reply_reqout1命令應(yīng)答請求cmd_send_lenout16命令應(yīng)答數(shù)據(jù)長度ad_data_ackin1ADC數(shù)據(jù)應(yīng)答信號ad_data_reqout1ADC數(shù)據(jù)請求信號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)。信號名稱方向?qū)挾?bit)說明clkin1系統(tǒng)時鐘rst_nin1異步復(fù)位,低電平復(fù)位udp_send_data_lengthout16UDP發(fā)送數(shù)據(jù)長度ip_rec_source_ip_addrin32UDP接收到的廣播IP地址destination_ip_addrout32目的IP地址fifo_datain16從FIFO中讀出的ADC數(shù)據(jù)fifo_data_countin11FIFO中可讀數(shù)據(jù)數(shù)量fifo_rd_enout1FIFO讀信號udp_rd_enin1UDP發(fā)送讀請求信號headerin8命令頭sample_numin32采樣長度sample_lenout32采樣長度latchreply_datain8命令應(yīng)答數(shù)據(jù)cmd_reply_ackout1命令應(yīng)答響應(yīng)cmd_reply_reqin1命令應(yīng)答請求cmd_send_lenin16命令應(yīng)答數(shù)據(jù)長度ad_data_ackout1ADC數(shù)據(jù)應(yīng)答信號ad_data_reqin1ADC數(shù)據(jù)請求信號ad_sample_reqout1ADC采集請求信號ad_sample_ackin1ADC采集應(yīng)答信號mac_send_endin1MAC發(fā)送結(jié)束信號mac_not_existin1IP對應(yīng)MAC不存在arp_foundin1接收到MACudp_tx_reqout1UDP發(fā)送請求arp_request_reqout1ARP發(fā)送請求udp_dataout8UDP發(fā)送數(shù)據(jù)read_req_ackin1讀FIFO應(yīng)答read_reqout1讀FIFO請求identify_codeout16IP序列號注意:上位機設(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ù)的檢驗和。2.3實驗現(xiàn)象1)首先要確保PC的網(wǎng)卡速度為千兆,否則無法顯示。在網(wǎng)絡(luò)連接中找到本地以太網(wǎng),雙擊出現(xiàn)如下界面,千兆網(wǎng)絡(luò)默認(rèn)連接如下圖:如未出現(xiàn)如上所述界面,先確認(rèn)是否是千兆網(wǎng)線連接的和網(wǎng)卡是否支持千兆,網(wǎng)卡判別則右鍵屬性點擊配置,可看到網(wǎng)卡型號查下是否支持千兆。在鏈接速度中,可以看到目前的鏈接狀態(tài)是多大速度,可在下拉菜單中查找鏈接選項,務(wù)必確保鏈接速度為1.0Gbps全雙工,如果沒有這個選項,說明網(wǎng)卡不支持千兆以太網(wǎng)。2)將AN706模塊插入開發(fā)板的擴展口J8,注意1腳對齊,不要插錯、插偏,不能帶電操作。不清楚連接的可參考“AD7606波形顯示例程”的教程。3)連接AN706的CH1輸入到信號發(fā)生器的輸出,AN706模塊本身沒有焊接SMA插頭,本實驗為了方便,自行焊接了一個SMA插頭。AN706連接信號源示意圖4)下載程序,調(diào)節(jié)信號發(fā)生的頻率和幅度,AN706輸入范圍-5V-5V,因此幅度最大設(shè)置為10Vpp,為了便于觀察波形數(shù)據(jù),建議信號輸入頻率50hz到10Khz。打開示波器.exe即可自動顯示波形。此實驗不需要設(shè)置PC的IP地址,用千兆網(wǎng)線連接PC和開發(fā)板即可。附:上位機軟件說明綠色框顯示發(fā)送板卡的MAC和IP地址。紅色框中為控制按鈕,功能如下:復(fù)位:點擊復(fù)位可使波形顯示到初始狀態(tài),如下圖自動:沒有用處垂直:“垂直“與“水平”切換,點擊此按鈕可進行水平垂直方向縮放的切換,在垂直狀態(tài)下,滾動鼠標(biāo)滾軸可進行垂直方向的縮放,水平狀態(tài)下,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論