基于FPGA與ARM的遙測數據網(wǎng)絡(luò )化采集
摘要:現有的遙測接收機為PCI接口,需安裝在工控機上使用,為實(shí)現設備小型化、便攜化,設計實(shí)現了小型網(wǎng)絡(luò )接口遙測解調模塊,可配合帶有網(wǎng)口的計算機使用。采用FPGA進(jìn)行遙測數據的幀同步與IRIG—B時(shí)碼解調,將接收到的遙測數據添加時(shí)碼后發(fā)送給ARM處理器中的Linux系統,并編寫(xiě)Linux 2.6下的FPGA驅動(dòng)程序,實(shí)現FPGA數據的讀取,然后通過(guò)網(wǎng)卡以TCP/IP格式發(fā)給主機,主機實(shí)現數據存儲與顯示。
關(guān)鍵詞:FPGA;幀同步;ARM;遙測數據;網(wǎng)絡(luò )化;Linux
以太網(wǎng)接口通信速度快,傳輸可靠,使用和配置方便,對于20 Mb/s以下的碼速率,100 Mb/s的網(wǎng)卡可以進(jìn)行不丟包轉發(fā),采用TCP包格式還可使設備小型化,便于數據的轉發(fā),因此有必要擴展設備的以太網(wǎng)功能。
1 整體模塊設計
1.1 系統設計
系統設計框圖如圖1所示。其中,采編器或接收機解調輸出的PCM信號及時(shí)鐘輸入到FPGA中進(jìn)行幀同步,IRIG—B碼信息也送到FPGA中進(jìn)行解調,得到時(shí)間信息。數據與時(shí)間一起存入SRAM乒乓緩沖區中,達到一定大小后,FPGA向ARM處理器發(fā)器中斷,ARM中運行的Linux系統,將數據取走,進(jìn)行TCP/IP打包,發(fā)送給接收計算機。
在設備開(kāi)始工作前,需要在計算機端進(jìn)行參數設置,計算機TCP/IP包將參數發(fā)送給ARM處理器,由ARM處理器轉發(fā)給FPGA。幀同步器的設計中,碼速率為100b/s~10Mb/s,幀長(cháng)為4~4 096Word,幀同步碼組為4~32,ARM網(wǎng)卡為100Mb/s。
1.2 硬件實(shí)現
PCB采用6層結構,相鄰布線(xiàn)層,水平垂直交叉,電路層與電源層單獨分開(kāi),提供良好的電磁兼容特性。
1.2.1 FPGA
FPGA選擇EP1C12,為實(shí)現乒乓緩沖結構,采用SRAM為IS61LV25616。輸入信號使用SMA線(xiàn)纜連接,在傳輸過(guò)程中會(huì )引入衰減,信號輸入輸出易出現阻抗不匹配的情況,選用AD8556構成射隨器,對輸入信號進(jìn)行匹配,同時(shí)也增大模擬源的輸出能力。
1.2.2 ARM
在此采用S3C2440,內核為ARM920T,最高頻率為400 MHz,帶MMU支持操作系統。內存采用2×32 MB的SDRAM,存儲采用128 MB NAND FLASH,網(wǎng)卡采用DM9000A。
1.2.3 ARM與FPGA的接口連接
這里采用總線(xiàn)接口,將FPGA作為一個(gè)存儲設備掛在A(yíng)RM的存儲器總線(xiàn)上,如圖2所示。
FPGA在A(yíng)RM中起始地址為0x18000000,以4 B對齊,占用0x80個(gè)地址,地址范圍為0x18000000~Ox1800007C,中斷為EINT0。
在FPGA內部采用讀/寫(xiě)指針來(lái)模擬FIFO,用一個(gè)地址來(lái)讀取FPGA數據,其余地址用于配置幀同步器與模擬源的參數。
2 幀同步與B碼解調
FPGA完成PCM數據的幀同步和解調B碼,寫(xiě)入到乒乓SRAM緩沖區中,實(shí)現如圖3所示。
評論