找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3612|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

千兆以太網(wǎng)設(shè)計

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:900023 發(fā)表于 2021-4-2 16:10 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
包含硬件PCB硬件設(shè)計和FPGA的Verilog代碼的編寫,下圖為主要功能框圖。FPGA作為處理單元,實現(xiàn)了包括電流和電壓的采集、千兆以太網(wǎng)通訊、SD卡本地存儲和串口通訊等。已經(jīng)打PCB板實際驗證和Verilog代碼在硬件上的實際測試,測試部分包含:千兆網(wǎng)通訊收發(fā)測試、AD采集的數(shù)據(jù)驗證、SD卡存儲驗證、RTC實時時鐘讀取和RTC的RAM突發(fā)讀取等。
PCB設(shè)計采用的是AD軟件,Verilog程序通過quartus II軟件編寫,F(xiàn)由硬件和軟件兩個方面簡單介紹。
![主要功能框圖](?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NTIxNTQx,size_16,color_FFFFFF,t_70)
一、硬件設(shè)計
                下圖分別為硬件的正面和反面,純手工焊。綜合考慮千兆以太網(wǎng)中的高速數(shù)據(jù)線的差分阻抗100MΩ、數(shù)字電源和模擬電源的劃分等,PCB主要采用四層板的設(shè)計方案。頂層和底層為信號走線層;第二層為完整的地層,分為數(shù)字地(DGND)和模擬地(AGND),為頂層的信號層和電位電流模擬量的采集提供參考;第三層為電源層,本層提供較為完整的3.3V電源平面和模擬地平面,還有1.2V和2.5V的電源平面。
                其中硬件設(shè)計中最要小心的是千兆以太網(wǎng)的設(shè)計和電流采集部分。千兆網(wǎng)部分采用的是ETL8211EG芯片,支持千兆以太網(wǎng),要實現(xiàn)千兆網(wǎng)絡(luò),要保證查分阻抗100Ω,就需要考慮蛇形走線和線寬線距、參考層等因素。電流采集部分要考慮模擬地的劃分和電流的放大倍數(shù)、高精度電阻等,這里我選的是INA240A系列,包含20、50、100、200四種增益可以選擇。數(shù)模轉(zhuǎn)換是8通道,每通道16位,支持并行的200SPS的AD7606芯片。SD卡就是最常見的Micro SD Card,買的閃迪的16G的卡。RTC是常見的DS1302?紤]版面問題,數(shù)碼管只留了一個。硬件下載AD源文件下載鏈接:https://download.csdn.net/download/qq_39521541/15110220


![實際硬件正面](?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NTIxNTQx,size_16,color_FFFFFF,t_70)
![實際硬件反面](?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NTIxNTQx,size_16,color_FFFFFF,t_70)
![運行硬件正面](?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NTIxNTQx,size_16,color_FFFFFF,t_70)
AD中的三維圖如下:
![三維圖正面](?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NTIxNTQx,size_16,color_FFFFFF,t_70)
![三維圖反面](?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NTIxNTQx,size_16,color_FFFFFF,t_70)

各模塊的原理圖如下,這是初版 的原理圖,實際的硬件在此基礎(chǔ)上進(jìn)行了修改,但是變化不大,就不再截圖了。
![主芯片及外圍電路1](?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NTIxNTQx,size_16,color_FFFFFF,t_70)
![主芯片及外圍電路2](?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NTIxNTQx,size_16,color_FFFFFF,t_70)
![電源管理部分電路](?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NTIxNTQx,size_16,color_FFFFFF,t_70)
![千兆以太網(wǎng)部分電路](?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NTIxNTQx,size_16,color_FFFFFF,t_70)[存儲通訊和顯示電路](?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NTIxNTQx,size_16,color_FFFFFF,t_70)![電壓和電流采集電路](?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NTIxNTQx,size_16,color_FFFFFF,t_70)
二、軟件程序編寫
                在以上硬件的基礎(chǔ)上編寫了程序,總程序5000余行。實現(xiàn)了AD7606電壓和電流數(shù)據(jù)的采集和RTC的時間和內(nèi)部RAM突發(fā)讀寫,然后并行的存儲和通過千兆以太網(wǎng)與串口發(fā)送到電腦上。
                程序的頂層模塊設(shè)計如下圖:
                ![程序頂層模塊圖](?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NTIxNTQx,size_16,color_FFFFFF,t_70)
通過電腦上的網(wǎng)絡(luò)助手同時采集到的串口數(shù)據(jù)、千兆以太網(wǎng)數(shù)據(jù)和用Winhex查看的SD卡內(nèi)存儲的數(shù)據(jù)如下圖,數(shù)據(jù)完全一致。串口數(shù)據(jù)為什么也用網(wǎng)絡(luò)助手顯示呢,因為我板子上的串口上可以插上一個網(wǎng)絡(luò)模塊,這樣串口數(shù)據(jù)也可以通過無線發(fā)送到電腦了,當(dāng)然硬件上也有有線的串口端子,也進(jìn)行了驗證,不再截圖贅述。
![數(shù)據(jù)驗證](?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NTIxNTQx,size_16,color_FFFFFF,t_70)
程序主要難點在于邏輯與時序的處理,程序中進(jìn)行了一些時序的操作。為了方便我理清思路也進(jìn)行了主要的時序圖的繪制,如下圖所示,畫時序圖的軟件可以在這里下載https://download.csdn.net/download/qq_39521541/14951291,破解版很好用。![主要邏輯時序圖](?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NTIxNTQx,size_16,color_FFFFFF,t_70)
程序的模塊結(jié)構(gòu)如下圖所示,其中4G其實就是串口,為了進(jìn)行跨時鐘域和SD的閃存,用了雙口FIFO、雙口RAM、單口RAM、ROM等IP核。
![程序模塊結(jié)構(gòu)圖](?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NTIxNTQx,size_16,color_FFFFFF,t_70)
接下來是編譯后的資源占用情況和編譯信息,從圖中可以看出基本不存在警告,其實現(xiàn)存的三個警告,完全不影響結(jié)果,而且知道警告存在的原因即可。
![編譯結(jié)果](?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NTIxNTQx,size_16,color_FFFFFF,t_70)
時序約束部分截圖如下,時鐘主要約束了50M的系統(tǒng)時鐘、25M的SD卡時鐘和125M的千兆網(wǎng)時鐘。
![時鐘約束]()

最后的最后附上總的程序源碼:https://download.csdn.net/download/qq_39521541/15110143
感謝大家的批評指正

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏4 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表