|
包含硬件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)由硬件和軟件兩個方面簡單介紹。

一、硬件設(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



AD中的三維圖如下:


各模塊的原理圖如下,這是初版 的原理圖,實際的硬件在此基礎(chǔ)上進(jìn)行了修改,但是變化不大,就不再截圖了。



[存儲通訊和顯示電路]( ?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è)計如下圖:

通過電腦上的網(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)行了驗證,不再截圖贅述。

程序主要難點在于邏輯與時序的處理,程序中進(jìn)行了一些時序的操作。為了方便我理清思路也進(jìn)行了主要的時序圖的繪制,如下圖所示,畫時序圖的軟件可以在這里下載https://download.csdn.net/download/qq_39521541/14951291,破解版很好用。
程序的模塊結(jié)構(gòu)如下圖所示,其中4G其實就是串口,為了進(jìn)行跨時鐘域和SD的閃存,用了雙口FIFO、雙口RAM、單口RAM、ROM等IP核。

接下來是編譯后的資源占用情況和編譯信息,從圖中可以看出基本不存在警告,其實現(xiàn)存的三個警告,完全不影響結(jié)果,而且知道警告存在的原因即可。

時序約束部分截圖如下,時鐘主要約束了50M的系統(tǒng)時鐘、25M的SD卡時鐘和125M的千兆網(wǎng)時鐘。

最后的最后附上總的程序源碼:https://download.csdn.net/download/qq_39521541/15110143
感謝大家的批評指正
|
評分
-
查看全部評分
|