譚學(xué)林
摘 要:為解決物聯(lián)網(wǎng)和工業(yè)設(shè)備不同接口無法直接進(jìn)行數(shù)據(jù)交互的問題,設(shè)計(jì)了一種基于ZYNQ7035的多接口交換板。該接口板具備多種常用工業(yè)接口,可實(shí)現(xiàn)不同接口之間數(shù)據(jù)透?jìng)鳎噲D解決物聯(lián)網(wǎng)、工業(yè)設(shè)備不同接口數(shù)據(jù)交互的痛點(diǎn)。
關(guān)鍵詞:ZYNQ7035;FPGA;接口交換;工業(yè)接口;物聯(lián)網(wǎng)
0 引言
目前存在的大量工業(yè)設(shè)備中,硬件接口多種多樣,通信方式和軟件協(xié)議各不相同。僅常用的接口形式就包括Ethernet、CAN、USB、PCI、PCIE、光纖、高速LVDS、TTL、異步422/485/232串口、同步422、模擬信號(hào)等。通信協(xié)議更是數(shù)不勝數(shù),通信速率難以兼容,這些問題已成為阻礙工業(yè)設(shè)備數(shù)據(jù)交互的痛點(diǎn)。而為了解決這個(gè)痛點(diǎn),定制化的數(shù)據(jù)交互設(shè)備往往因?yàn)榱可賰r(jià)高,系統(tǒng)難以兼容、協(xié)議復(fù)雜等,無法最終解決實(shí)際問題,反而造成維護(hù)成本高昂。
1 硬件詳細(xì)設(shè)計(jì)
本文以Xilinx的ZYNQ7035為核心器件,ZYNQ7035是以ARM核(簡(jiǎn)稱PS)為處理器,以高性能FPGA(簡(jiǎn)稱PL)為接口和邏輯處理器。其中ARM核裝載linux開源系統(tǒng),F(xiàn)PGA實(shí)現(xiàn)接口處理和邏輯處理。下圖1為硬件原理圖的簡(jiǎn)化框圖。從圖中可以看出,虛線方框內(nèi)為子板,通過高速連接器與下面的母板相連,為了匹配不同接口的項(xiàng)目,只需要增加母板的接口芯片和接口數(shù)量就可以任意擴(kuò)展,從而最大限度滿足場(chǎng)景需求。
2 軟件詳細(xì)設(shè)計(jì)
ARM內(nèi)核運(yùn)行Linux內(nèi)核,上電自動(dòng)運(yùn)行應(yīng)用程序,并接收上位機(jī)軟件控制,執(zhí)行PS端功能程序,其中主要功能包括定時(shí)控制、協(xié)議解析、數(shù)據(jù)流控制、多種運(yùn)算等,并通過AXI總線實(shí)時(shí)與PL端進(jìn)行信息交互。PL端程序完成邏輯運(yùn)算、時(shí)序控制、數(shù)據(jù)采集、接口匹配、數(shù)據(jù)緩存、組包解包等功能。
2.1 ARM軟件詳細(xì)設(shè)計(jì)
ARM軟件包括應(yīng)用程序、Linux系統(tǒng)、Linux下接口驅(qū)動(dòng)。ARM與FPGA軟件的交互通過Xilinx的AXI總線進(jìn)行數(shù)據(jù)交互,需要FPGA進(jìn)行PS、AXI、PL相互的接口配置。ARM軟件的軟件層級(jí)圖如圖2所示:
2.2 FPGA軟件詳細(xì)設(shè)計(jì)
FPGA軟件功能強(qiáng)大,具有大量的IP核可以使用,Ethernet、GTX、PCIE、PCI、RAM、FIFO、CAN等,可用于實(shí)現(xiàn)接口匹配。圖3為PL端功能接口框圖。FPGA不僅可以實(shí)現(xiàn)接口匹配及協(xié)議解析轉(zhuǎn)換等,還可以進(jìn)行邏輯運(yùn)算、計(jì)算、時(shí)序控制、數(shù)據(jù)采集和處理等功能。
2.3 上位機(jī)軟件詳細(xì)設(shè)計(jì)
上位機(jī)軟件是安裝在計(jì)算機(jī)上的應(yīng)用軟件,擁有圖形化界面和控制界面,負(fù)責(zé)完成與本板進(jìn)行控制信息交互、故障反饋、圖形化顯示、數(shù)據(jù)存儲(chǔ)等功能。上位機(jī)軟件可安裝在linux或winxp以上操作系統(tǒng)中,采用VC6.0、VS2010、QT或Python編寫,通過網(wǎng)絡(luò)、串口或PCIE與本板通信。
3 結(jié)語(yǔ)
該多接口轉(zhuǎn)換板具有良好的硬件接口適配性擴(kuò)展性,軟件功能可重構(gòu)性。該設(shè)計(jì)極大地簡(jiǎn)化了硬件接口兼容的問題,子板和母板的組合形式極大地方便了硬件的可擴(kuò)展可定制,從而針對(duì)特定使用場(chǎng)景進(jìn)行優(yōu)化,減少了整個(gè)項(xiàng)目開發(fā)的周期和成本。同時(shí),不同接口形式、通信速率、通信協(xié)議的相關(guān)轉(zhuǎn)換,通過上位機(jī)加載配置文件下發(fā)到本板PS端應(yīng)用程序,由PS端驅(qū)動(dòng)PL端的接口處理和邏輯處理,從而實(shí)現(xiàn)物聯(lián)網(wǎng)和工業(yè)設(shè)備不同接口之間直接透明地進(jìn)行數(shù)據(jù)交互。
參考文獻(xiàn):
[1]何賓,張艷輝.Xilinx Zynq-7000嵌入式系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[M].電子工業(yè)出版社,2016.