本原創(chuàng)教程由芯驛電子科技(上海)有限公司(ALINX)創(chuàng)作,版權(quán)歸本公司所有,如需轉(zhuǎn)載,需授權(quán)并注明出處(http://www.alinx.com)。
適用于板卡型號(hào):
PGL22G
1. 實(shí)驗(yàn)簡(jiǎn)介
本實(shí)驗(yàn)練習(xí)使用ADC的以太網(wǎng)傳輸,實(shí)驗(yàn)中使用的ADDA模塊型號(hào)為AN108,ADC最大采樣率32Mhz,精度為8位。基于前面講到的以太網(wǎng)實(shí)驗(yàn),在本實(shí)驗(yàn)中把AN108的采集數(shù)據(jù)以千兆以太網(wǎng)方式傳輸?shù)?a target="_blank">上位機(jī)軟件,我們可以用更加直觀的方式觀察波形,是一個(gè)數(shù)字示波器雛形,并且可以保存ADC數(shù)據(jù)。
ADDA模塊
![pIYBAGBuaduALOEnAABSb9ku1jY499.jpg](https://file.elecfans.com//web1/M00/E9/D5/pIYBAGBuaduALOEnAABSb9ku1jY499.jpg)
2. 實(shí)驗(yàn)原理
2.1 制定UDP包協(xié)議
為了體現(xiàn)上位機(jī)的靈活性,基于UDP傳輸,制定了以下通訊協(xié)議,此協(xié)議包含在UDP數(shù)據(jù)包中。
一、獲取板卡信息
(1)詢問(wèn)命令(共5字節(jié),由上位機(jī)通過(guò)以太網(wǎng)發(fā)送)
字節(jié)數(shù) | 1 | 4 |
命令信息 | Header | 32’h00000000 或32’h00010001 |
(2)應(yīng)答命令(共27字節(jié),由開(kāi)發(fā)板通過(guò)以太網(wǎng)發(fā)送)
字節(jié)數(shù) | 命令信息 |
1 | Header|8’h01 |
4 | 32’h00010001 |
6 | 板卡MAC地址 |
4 | 板卡IP地址 |
1 | 符號(hào)位8’h00:無(wú)符號(hào)數(shù) 8’h01有符號(hào)數(shù)(設(shè)置無(wú)效,上位機(jī)要求為有符號(hào)數(shù)) |
1 | ADC有效數(shù)據(jù)長(zhǎng)度,比如AD9280為8位,即8’d8 |
1 | 采集一次ADC的字節(jié)數(shù)(設(shè)置無(wú)效,上位機(jī)要求ADC數(shù)據(jù)位寬為兩個(gè)字節(jié)) |
1 | 采樣通道(此功能上位機(jī)未實(shí)現(xiàn)) |
4 | 采樣率,即采樣的頻率,程序中設(shè)為32M |
4 | 緩存的ADC數(shù)據(jù)長(zhǎng)度,單位為字節(jié) |
二、獲取數(shù)據(jù)
(1)控制命令(由上位機(jī)發(fā)送數(shù)據(jù)請(qǐng)求)
字節(jié)數(shù) | 命令信息 |
1 | Header |
4 | 32’h00010002 |
6 | 板卡MAC地址,確認(rèn)是本地的MAC地址 |
4 | 采樣通道(此功能未實(shí)現(xiàn)) |
4 | 采樣次數(shù)(采集數(shù)據(jù)為16位,采樣次數(shù)為緩存數(shù)據(jù)長(zhǎng)度的一半) |
(2)應(yīng)答命令(由開(kāi)發(fā)板發(fā)送)
字節(jié)數(shù) | 命令信息 |
1 | Header|8’h01 |
4 | 32’h00010002 |
1024 | ADC數(shù)據(jù) |
每個(gè)UDP包都包含有Header,在第一個(gè)字節(jié),其格式如下:
比特位 | 值(0) | 值(1) |
bit 0 | 查詢或控制 | 應(yīng)答 |
bit1~bit7 | 隨機(jī)數(shù)據(jù) |
注:當(dāng)應(yīng)答時(shí),高7位隨機(jī)數(shù)據(jù)保持不變,bit0設(shè)置為1
2.2 程序?qū)崿F(xiàn)
首先在空閑狀態(tài),上位機(jī)會(huì)通過(guò)以太網(wǎng)廣播發(fā)送詢問(wèn)命令,因此在IP層接收時(shí)要加上判斷是否是廣播UDP數(shù)據(jù),如果是,也接收數(shù)據(jù),此段代碼在ip_rx.v中,如下所示:
![o4YBAGBuadyAHjULAAASP3k7LW0498.jpg](https://file.elecfans.com//web1/M00/E9/59/o4YBAGBuadyAHjULAAASP3k7LW0498.jpg)
之后在eth_cmd.v文件中判斷接收到的數(shù)據(jù)信息,是否是詢問(wèn)命令或控制命令,從而產(chǎn)生出命令的應(yīng)答請(qǐng)求信號(hào)cmd_reply_req,或請(qǐng)求數(shù)據(jù)的信號(hào)ad_data_req。
信號(hào)名稱 | 方向 | 寬度(bit) | 說(shuō)明 |
clk | in | 1 | 系統(tǒng)時(shí)鐘 |
rst_n | in | 1 | 異步復(fù)位,低電平復(fù)位 |
udp_rec_data_valid | in | 1 | UDP接收數(shù)據(jù)有效 |
udp_rec_ram_rdata | in | 8 | UDP接收到的數(shù)據(jù) |
udp_rec_ram_read_addr | out | 11 | UDP接收數(shù)據(jù)RAM地址 |
udp_rec_data_length | in | 16 | UDP接收數(shù)據(jù)長(zhǎng)度 |
udp_rd_en | in | 1 | UDP發(fā)送讀使能信號(hào) |
reply_data | out | 8 | 命令應(yīng)答數(shù)據(jù) |
local_ip_addr | in | 32 | 本地IP地址 |
local_mac_addr | in | 48 | 本地MAC地址 |
ch_sel | out | 32 | 通道選擇(未使用) |
sample_num | out | 32 | 采樣長(zhǎng)度 |
header | out | 8 | 命令頭 |
cmd_reply_ack | in | 1 | 命令應(yīng)答響應(yīng) |
cmd_reply_req | out | 1 | 命令應(yīng)答請(qǐng)求 |
cmd_send_len | out | 16 | 命令應(yīng)答數(shù)據(jù)長(zhǎng)度 |
ad_data_ack | in | 1 | ADC數(shù)據(jù)應(yīng)答信號(hào) |
ad_data_req | out | 1 | ADC數(shù)據(jù)請(qǐng)求信號(hào) |
mac_ctrl.v文件實(shí)現(xiàn)以太網(wǎng)的傳輸控制,在IDLE狀態(tài)下等待一定時(shí)間,進(jìn)入CMD_WAIT狀態(tài),判斷是否有命令請(qǐng)求cmd_reply_req或數(shù)據(jù)請(qǐng)求ad_data_req,之后進(jìn)入CHECK_ARP狀態(tài),檢查對(duì)應(yīng)的IP地址是否在緩存列表中,如果沒(méi)有,將發(fā)送ARP請(qǐng)求,等待應(yīng)答。之后根據(jù)命令請(qǐng)求或數(shù)據(jù)請(qǐng)求進(jìn)入相應(yīng)的數(shù)據(jù)發(fā)送狀態(tài),CMD_SEND或AD_SEND狀態(tài)。
信號(hào)名稱 | 方向 | 寬度(bit) | 說(shuō)明 |
clk | in | 1 | 系統(tǒng)時(shí)鐘 |
rst_n | in | 1 | 異步復(fù)位,低電平復(fù)位 |
udp_send_data_length | out | 16 | UDP發(fā)送數(shù)據(jù)長(zhǎng)度 |
ip_rec_source_ip_addr | in | 32 | UDP接收到的廣播IP地址 |
destination_ip_addr | out | 32 | 目的IP地址 |
fifo_data | in | 16 | 從FIFO中讀出的ADC數(shù)據(jù) |
fifo_data_count | in | 11 | FIFO中可讀數(shù)據(jù)數(shù)量 |
fifo_rd_en | out | 1 | FIFO讀信號(hào) |
udp_rd_en | in | 1 | UDP發(fā)送讀請(qǐng)求信號(hào) |
header | in | 8 | 命令頭 |
sample_num | in | 32 | 采樣長(zhǎng)度 |
sample_len | out | 32 | 采樣長(zhǎng)度latch |
reply_data | in | 8 | 命令應(yīng)答數(shù)據(jù) |
cmd_reply_ack | out | 1 | 命令應(yīng)答響應(yīng) |
cmd_reply_req | in | 1 | 命令應(yīng)答請(qǐng)求 |
cmd_send_len | in | 16 | 命令應(yīng)答數(shù)據(jù)長(zhǎng)度 |
ad_data_ack | out | 1 | ADC數(shù)據(jù)應(yīng)答信號(hào) |
ad_data_req | in | 1 | ADC數(shù)據(jù)請(qǐng)求信號(hào) |
ad_sample_req | out | 1 | ADC采集請(qǐng)求信號(hào) |
ad_sample_ack | in | 1 | ADC采集應(yīng)答信號(hào) |
mac_send_end | in | 1 | MAC發(fā)送結(jié)束信號(hào) |
mac_not_exist | in | 1 | IP對(duì)應(yīng)MAC不存在 |
arp_found | in | 1 | 接收到MAC |
udp_tx_req | out | 1 | UDP發(fā)送請(qǐng)求 |
arp_request_req | out | 1 | ARP發(fā)送請(qǐng)求 |
udp_data | out | 8 | UDP發(fā)送數(shù)據(jù) |
read_req_ack | in | 1 | 讀FIFO應(yīng)答 |
read_req | out | 1 | 讀FIFO請(qǐng)求 |
identify_code | out | 16 | IP序列號(hào) |
注意:上位機(jī)設(shè)置的緩存空間為1M字節(jié),請(qǐng)求數(shù)據(jù)間隔為100ms,因此在設(shè)置采樣深度時(shí)要考慮到這兩點(diǎn)。在eth_top.v程序中設(shè)置為32'h00040000,即256K字節(jié),采樣頻率為32MHz,ADC采樣端數(shù)據(jù)為兩個(gè)字節(jié)長(zhǎng)度,因此采樣長(zhǎng)度為采樣字節(jié)除以2,即32’h00020000,計(jì)算得到4ms即可采集完成。ad9280_sample.v中將8位數(shù)據(jù)擴(kuò)展16位,便于存儲(chǔ)。移除了UDP發(fā)送數(shù)據(jù)的檢驗(yàn)和。
![pIYBAGBuadyAS-Z2AAAfnwIogfM307.jpg](https://file.elecfans.com//web1/M00/E9/D5/pIYBAGBuadyAS-Z2AAAfnwIogfM307.jpg)
3. 實(shí)驗(yàn)現(xiàn)象
1)首先要確保PC的網(wǎng)卡速度為千兆,否則無(wú)法顯示。在網(wǎng)絡(luò)連接中找到本地以太網(wǎng), 雙擊出現(xiàn)如下界面,千兆網(wǎng)絡(luò)默認(rèn)連接如下圖:
![o4YBAGBuad2AWdLoAACKIicwvI8273.jpg](https://file.elecfans.com//web1/M00/E9/59/o4YBAGBuad2AWdLoAACKIicwvI8273.jpg)
如未出現(xiàn)如上所述界面,先確認(rèn)是否是千兆網(wǎng)線連接的和網(wǎng)卡是否支持千兆,網(wǎng)卡判別則右鍵屬性
![pIYBAGBuad2Aed_eAAC6R7mMAz4041.jpg](https://file.elecfans.com//web1/M00/E9/D5/pIYBAGBuad2Aed_eAAC6R7mMAz4041.jpg)
點(diǎn)擊配置,可看到網(wǎng)卡型號(hào)查下是否支持千兆。
![o4YBAGBuad2AZjBGAAB1lACwKgw753.jpg](https://file.elecfans.com//web1/M00/E9/59/o4YBAGBuad2AZjBGAAB1lACwKgw753.jpg)
![pIYBAGBuad2AMd6sAAB5-78MSi4088.jpg](https://file.elecfans.com//web1/M00/E9/D5/pIYBAGBuad2AMd6sAAB5-78MSi4088.jpg)
在鏈接速度中,可以看到目前的鏈接狀態(tài)是多大速度,可在下拉菜單中查找鏈接選項(xiàng),務(wù)必確保鏈接速度為1.0Gbps 全雙工,如果沒(méi)有這個(gè)選項(xiàng),說(shuō)明網(wǎng)卡不支持千兆以太網(wǎng)。
2)將AN108模塊插入開(kāi)發(fā)板的擴(kuò)展口J8,注意1腳對(duì)齊,不要插錯(cuò)、插偏,不能帶電操作。不清楚連接的可參考“ADDA測(cè)試?yán)獭钡慕坛獭?/p>
3)連接AN108的ADC的輸入到信號(hào)發(fā)生器的輸出,這里使用的是專用屏蔽線,如果使用其他線可能會(huì)有較大干擾。
AN108連接示意圖
4)下載程序,調(diào)節(jié)信號(hào)發(fā)生器的頻率和幅度,AN108輸入范圍-5V-5V,因此幅度最大設(shè)置為10Vpp,為了便于觀察波形數(shù)據(jù),建議信號(hào)輸入頻率1Khz到1Mhz。打開(kāi)示波器.exe即可自動(dòng)顯示波形。此實(shí)驗(yàn)不需要設(shè)置PC的IP地址,連接PC和開(kāi)發(fā)板即可。
![pIYBAGBuad6AA7IiAABMPZmjL90348.jpg](https://file.elecfans.com//web1/M00/E9/D5/pIYBAGBuad6AA7IiAABMPZmjL90348.jpg)
附:上位機(jī)軟件說(shuō)明
![o4YBAGBuad-AcOT6AABTAUH-GsQ239.jpg](https://file.elecfans.com//web1/M00/E9/59/o4YBAGBuad-AcOT6AABTAUH-GsQ239.jpg)
綠色框顯示發(fā)送板卡的MAC和IP地址。
紅色框中為控制按鈕,功能如下:
復(fù)位:點(diǎn)擊復(fù)位可使波形顯示到初始狀態(tài),如下圖
![pIYBAGBuad6AA7IiAABMPZmjL90348.jpg](https://file.elecfans.com//web1/M00/E9/D5/pIYBAGBuad6AA7IiAABMPZmjL90348.jpg)
自動(dòng):沒(méi)有用處
垂直:“垂直“與“水平”切換,點(diǎn)擊此按鈕可進(jìn)行水平垂直方向縮放的切換,在垂直狀態(tài)下,滾動(dòng)鼠標(biāo)滾軸可進(jìn)行垂直方向的縮放,水平狀態(tài)下,進(jìn)行水平方向的縮放。
暫停:“暫停“與”繼續(xù)“切換,點(diǎn)擊暫停波形,可再點(diǎn)擊“繼續(xù)”顯示波形。
保存:保存ADC數(shù)據(jù)為TXT文檔,保存路徑在“路徑”按鈕處設(shè)置,默認(rèn)為軟件所在路徑。
數(shù)值:“數(shù)值”與“電壓”切換,Y方向坐標(biāo)單位為原始值,即接收到的原始數(shù)據(jù)值,點(diǎn)擊“電壓”則顯示電壓值。
路徑:選擇保存路徑
打開(kāi):打開(kāi)已保存的TXT波形文件
-
FPGA
+關(guān)注
關(guān)注
1630文章
21801瀏覽量
606355 -
以太網(wǎng)
+關(guān)注
關(guān)注
40文章
5465瀏覽量
172821 -
adc
+關(guān)注
關(guān)注
99文章
6536瀏覽量
545868 -
AD9280
+關(guān)注
關(guān)注
1文章
5瀏覽量
12050 -
紫光同創(chuàng)
+關(guān)注
關(guān)注
5文章
88瀏覽量
27579
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
【紫光同創(chuàng)國(guó)產(chǎn)FPGA教程】【第二十七章】千兆以太網(wǎng)視頻傳輸實(shí)驗(yàn)
![【<b class='flag-5'>紫光</b><b class='flag-5'>同創(chuàng)</b><b class='flag-5'>國(guó)產(chǎn)</b><b class='flag-5'>FPGA</b>教程】【<b class='flag-5'>第二十</b>七章】千兆<b class='flag-5'>以太網(wǎng)視頻傳輸</b>實(shí)驗(yàn)](https://file.elecfans.com/web1/M00/EA/17/o4YBAGBz92WAL5M_AAAZW5sCUJk498.png)
【紫光同創(chuàng)國(guó)產(chǎn)FPGA教程】【第二十三章】千兆以太網(wǎng)傳輸實(shí)驗(yàn)
![【<b class='flag-5'>紫光</b><b class='flag-5'>同創(chuàng)</b><b class='flag-5'>國(guó)產(chǎn)</b><b class='flag-5'>FPGA</b>教程】【<b class='flag-5'>第二十</b>三章】千兆<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>傳輸</b>實(shí)驗(yàn)](https://file.elecfans.com/web1/M00/E9/30/o4YBAGBtJe2AIha4AAGUwAmCtBg901.png)
【紫光同創(chuàng)國(guó)產(chǎn)FPGA教程】【第二十四章】AD9238以太網(wǎng)傳輸
![【<b class='flag-5'>紫光</b><b class='flag-5'>同創(chuàng)</b><b class='flag-5'>國(guó)產(chǎn)</b><b class='flag-5'>FPGA</b>教程】【<b class='flag-5'>第二十</b>四章】AD9238<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>傳輸</b>](https://file.elecfans.com//web1/M00/E9/D0/pIYBAGBuWM-ADyAOAABSb9ku1jY348.jpg)
【紫光同創(chuàng)國(guó)產(chǎn)FPGA教程】【第二十五章】AD7606以太網(wǎng)傳輸
![【<b class='flag-5'>紫光</b><b class='flag-5'>同創(chuàng)</b><b class='flag-5'>國(guó)產(chǎn)</b><b class='flag-5'>FPGA</b>教程】【<b class='flag-5'>第二十</b>五章】AD7606<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>傳輸</b>](https://file.elecfans.com/web1/M00/E9/B7/o4YBAGBvxOWALSbqAAAR3t-kUIc983.png)
國(guó)產(chǎn)FPGA介紹-紫光同創(chuàng)
【正點(diǎn)原子FPGA連載】第二十六章以太網(wǎng)UDP測(cè)試實(shí)驗(yàn)-領(lǐng)航者ZYNQ之FPGA開(kāi)發(fā)指南
第二十六講 寄存器和移位寄存器
![<b class='flag-5'>第二十六</b>講 寄存器和移位寄存器](https://file1.elecfans.com//web2/M00/A4/AE/wKgZomUMNUKABx0eAAAhi-Hi3Ts894.gif)
模擬電路網(wǎng)絡(luò)課件 第二十六節(jié):差分式放大電路
![模擬電路網(wǎng)絡(luò)課件 <b class='flag-5'>第二十六</b>節(jié):差分式放大電路](https://file1.elecfans.com//web2/M00/A5/43/wKgZomUMN6OAbb4TAAAB2XAGNeU135.gif)
AD9280 完整8位、32 MSPS AD
![<b class='flag-5'>AD9280</b> 完整8位、32 MSPS AD](https://file.elecfans.com/web1/M00/85/14/o4YBAFxrbcOAVedNAABOJ8B-pqg309.gif)
納雷科技將攜兩大交通家族產(chǎn)品參加第二十六屆CEIC中國(guó)高速公路展
第二十六屆高交會(huì)將于11月舉辦 科技盛宴亮點(diǎn)紛呈
![<b class='flag-5'>第二十六</b>屆高交會(huì)將于11月舉辦 科技盛宴亮點(diǎn)紛呈](https://file1.elecfans.com/web2/M00/E5/E7/wKgZomZFcsyAcT-5AAA2A4dQRkQ217.png)
開(kāi)放原子開(kāi)源基金會(huì)亮相第二十六屆中國(guó)國(guó)際軟件博覽會(huì)
上海貝嶺榮獲第二十六屆上市公司金信披獎(jiǎng)
潤(rùn)和軟件亮相第二十六屆中國(guó)國(guó)際軟博會(huì)
ALINX 多系列 FPGA 產(chǎn)品亮相第二十六屆高交會(huì),攜手紫光同創(chuàng)助力 FPGA 國(guó)產(chǎn)化發(fā)展
![ALINX 多系列 <b class='flag-5'>FPGA</b> 產(chǎn)品亮相<b class='flag-5'>第二十六</b>屆高交會(huì),攜手<b class='flag-5'>紫光</b><b class='flag-5'>同創(chuàng)</b>助力 <b class='flag-5'>FPGA</b> <b class='flag-5'>國(guó)產(chǎn)</b>化發(fā)展](https://file1.elecfans.com//web1/M00/F5/43/wKgZoWc6ppSAeUdvAANd1nK9_gA996.jpg)
評(píng)論