龔靜康,王治
(杭州應(yīng)用聲學(xué)研究所,浙江 杭州 310013)
近年來,數(shù)據(jù)通信鏈路傳輸技術(shù)發(fā)展迅速[1],無(wú)論是單向、雙向交替還是雙向同時(shí)傳輸技術(shù)均得到快速發(fā)展,但是隨著傳輸數(shù)據(jù)量的增大,容易導(dǎo)致數(shù)據(jù)通信鏈路傳輸過程中出現(xiàn)異常,異常原因包括數(shù)據(jù)丟包、鏈路中斷、傳輸時(shí)鐘不匹配等,常規(guī)通信鏈路傳輸異常檢測(cè)方法操作流程復(fù)雜,需要專業(yè)的技術(shù)人員操作。大規(guī)模傳感器陣列的數(shù)據(jù)傳輸異常檢測(cè)難度進(jìn)一步增加,常規(guī)檢修方法已不能滿足工程應(yīng)用要求。
因此確??焖儆行У貙?duì)大規(guī)模傳感器陣列進(jìn)行故障診斷、定位和排除,并確保檢測(cè)數(shù)據(jù)穩(wěn)定快速傳輸,是提高現(xiàn)場(chǎng)維修人員維修效率的根本方法。當(dāng)前市場(chǎng)也存在多種故障診斷設(shè)備[2-5],但是并不存在專門針對(duì)大規(guī)模傳感器陣列的數(shù)據(jù)鏈路故障檢測(cè)設(shè)備。
文中針對(duì)上述問題,設(shè)計(jì)并制作了一種基于網(wǎng)絡(luò)處理器的數(shù)據(jù)鏈路診斷橋接模塊,該模塊可以快速確定數(shù)據(jù)傳輸鏈路中故障的位置及故障原因。
故障診斷橋接模塊主要任務(wù)為接收待檢測(cè)設(shè)備數(shù)據(jù)和整理、下發(fā)控制命令,模擬待檢測(cè)設(shè)備數(shù)據(jù)發(fā)送、控制和檢測(cè)時(shí)鐘等。系統(tǒng)主要由處理器MPC8560及外圍設(shè)備組成,外圍設(shè)備包括網(wǎng)絡(luò)處理芯片、NOR FLASH、DDR、ETHPHY、FPGA、FIFO 和電源模塊。
故障診斷總體架構(gòu)如圖1 所示。故障診斷橋接模塊以Freescale 公司PowerQUICC III?系列高性能網(wǎng)絡(luò)處理器MPC8560 為核心設(shè)計(jì),CPU 主頻為833 MHz,支持16 位UTOPIA 2 層接口,ATM 通信數(shù)據(jù)帶寬可達(dá)622 Mbps。故障診斷橋接模塊主要接口包括與主控PC 機(jī)通信的1 000 M 以太網(wǎng)接口、與待檢測(cè)設(shè)備數(shù)據(jù)交互的100 M 以太網(wǎng)接口。通過GMII接口外擴(kuò)兩個(gè)1 000 M 以太網(wǎng)PHY,實(shí)現(xiàn)與主控PC機(jī)網(wǎng)絡(luò)通信與調(diào)試功能;通過GMII接口外擴(kuò)兩個(gè)1 00 M以太網(wǎng)PHY,實(shí)現(xiàn)與鏈路中通信功能;擴(kuò)展32 MB Flash 程序存儲(chǔ)器和64 MB DDR SDRAM 存儲(chǔ)器,并使用一片F(xiàn)PGA 作為處理器上電控制和復(fù)位,處理器通過與FPGA 進(jìn)行通信實(shí)現(xiàn)同步采集時(shí)鐘的產(chǎn)生和時(shí)鐘診斷。
圖1 故障診斷橋接模塊總體架構(gòu)示意圖
大規(guī)模傳感器陣列下的數(shù)據(jù)傳輸量大,百兆以太網(wǎng)傳輸并不能滿足數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性要求,千兆以太網(wǎng)具有速率高、成本低和穩(wěn)定性好等優(yōu)點(diǎn)。當(dāng)前信息化技術(shù)的快速發(fā)展,已有多種處理器單元下的千兆以太網(wǎng)接口設(shè)計(jì)方案[6-9]。此外還有較多的基于FPGA 的千兆以太網(wǎng)數(shù)據(jù)傳輸設(shè)計(jì)方案,但是成本相對(duì)較高[10-13]。
為了降低應(yīng)用成本,滿足并保證設(shè)備的可靠性要求,文中設(shè)計(jì)的處理器單元包括MPC8560 及其周邊電路,主要實(shí)現(xiàn)網(wǎng)絡(luò)收發(fā),命令控制等功能。處理器通過千兆網(wǎng)口與工控機(jī)主板進(jìn)行數(shù)據(jù)交互,接收主控軟件命令以及相關(guān)數(shù)據(jù)上傳。處理器通過與FPGA 交互完成時(shí)鐘的相關(guān)功能。處理器通過百兆網(wǎng)口完成與數(shù)據(jù)鏈路中的數(shù)據(jù)交互,數(shù)據(jù)鏈路檢測(cè)等功能。
1)處理器時(shí)鐘設(shè)計(jì)
MPC8560 外部時(shí)鐘為3.3 V LVTTL 電平,頻率為33 MHz,精度要求為+/-50 ppm。
2)UART 端口設(shè)計(jì)
MPC8560 有一個(gè)UART 端口,通過RJ45 插件,用于調(diào)試。
3)DDR SDRAM 設(shè)計(jì)
DDR SDRAM(Double Data Rate SDRAM,雙倍速率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器),由處理器直接控制,為系統(tǒng)程序的執(zhí)行提供內(nèi)部存儲(chǔ)資源。MPC8560 處理器外擴(kuò)了4 片DDR SDRAM 芯片MT46V16M16,組成了總?cè)萘繛? Gb,并具有64 位數(shù)據(jù)口線的DDR 模塊,以滿足系統(tǒng)對(duì)數(shù)據(jù)處理和程序運(yùn)行的需要。MPC8560 通過各信號(hào)線完成對(duì)4 片DDR SDRAM 芯片的控制與信息交互,實(shí)現(xiàn)對(duì)程序和數(shù)據(jù)的存取。處理器與4 片DDR SDRAM 芯片之間的口線連接如圖2 所示。
圖2 DDR SDRAM連接框圖
4)MPC8560 處理器的JTAG 接口信號(hào)線功能如表1 所示,主要實(shí)現(xiàn)以下3 種功能:
表1 JTAG接口信號(hào)線功能表
①獲取MPC8560 的運(yùn)行信息,以完成對(duì)處理器芯片的調(diào)試;
②通過JTAG 接口實(shí)現(xiàn)處理器的復(fù)位;
③對(duì)FLASH 芯片進(jìn)行程序燒錄,完成程序的修改與升級(jí)。
5)以太網(wǎng)接口設(shè)計(jì)MPC8560 自帶10/100/1 000 Mbps 以太網(wǎng)控制器(TSEC),該系統(tǒng)利用該控制器擴(kuò)展了兩路1 000 M 以太網(wǎng)接口和兩路100 M 以太網(wǎng)接口。TSECs 和FCC2 分別使用GMII 接口模式和MII 接口模式與以太網(wǎng)PHY 芯片進(jìn)行交互[14]。
該系統(tǒng)選用VSC8641 作為1 000 M 以太網(wǎng)PHY芯片,LXT971作為100 M以太網(wǎng)PHY芯片與MPC8560 處理器相連。以太網(wǎng)接口的連接框圖如圖3 所示。
圖3 以太網(wǎng)接口連接框圖
電源模塊以12 V直流電源輸入,通過PTH 08T220W非隔離寬輸出調(diào)節(jié)電源模塊產(chǎn)生+1.2 V、+3.3 V、+5 V的直流電壓,其中+1.2 V和3.3 V滿足MPC8560的供電需求,另外將+3.3 V 的電壓輸出通過TPS79901 和MIC29502 降壓分別得到+1.5 V和+2.5 V的輸出,其中+1.5 V的電壓輸出給A3P125供 電,+2.5 V 給MPC8560 DDR 芯片供電,同時(shí)將+2.5 V再次降壓,得到+1.25 V的電壓輸出,滿足DDR芯片的供電需求。+5 V 的電壓輸出通過ADP 3338-3.3 降壓芯片,得到正+3.3 V 的電壓輸出,滿足LXT971 的供電需求。供電架構(gòu)框圖如圖4 所示。
圖4 供電架構(gòu)框圖
FPGA 與處理器通過GPIO 進(jìn)行交互。采用5 個(gè)處理器GPIO 接口總線實(shí)現(xiàn)通信。處理器通過兩個(gè)千兆網(wǎng)口與工控機(jī)連接,獲取主控軟件命令和數(shù)據(jù)上傳,并實(shí)現(xiàn)調(diào)試功能;串口與工控機(jī)相連,實(shí)現(xiàn)處理器通信調(diào)試;兩個(gè)百兆網(wǎng)口連接數(shù)據(jù)鏈路,完成其他測(cè)試功能。
該系統(tǒng)各芯片采用的時(shí)鐘如表2 所示。
表2 各芯片采用的時(shí)鐘分配示例表
數(shù)據(jù)鏈路故障診斷橋接模塊功能復(fù)雜,模擬電路和數(shù)字電路集成在同一電路系統(tǒng)中,并統(tǒng)一供電。電源上電時(shí),需要一個(gè)復(fù)位信號(hào)初始化數(shù)字電路中的存儲(chǔ)單元,如數(shù)字寄存器,模擬電路中積分器等,以確保芯片進(jìn)入正常的工作狀態(tài),因此系統(tǒng)上電復(fù)位信號(hào)的設(shè)計(jì)至關(guān)重要[15]。
文獻(xiàn)[15-17]分別針對(duì)彈載系統(tǒng)、磁阻傳感器和電能表的系統(tǒng)復(fù)位問題設(shè)計(jì)了復(fù)位電路,成本低、但增加了系統(tǒng)復(fù)雜度。文中整個(gè)復(fù)位模塊的設(shè)計(jì)以復(fù)位芯片ADM706 為核心,配合74AHC125 和FPGA實(shí)現(xiàn)對(duì)整個(gè)系統(tǒng)的復(fù)位控制。系統(tǒng)內(nèi)的復(fù)位線路如圖5 所示。
圖5 系統(tǒng)復(fù)位信號(hào)設(shè)計(jì)框圖
其中,ADM706 是ADI 公司設(shè)計(jì)的一款電壓監(jiān)控復(fù)位芯片,可在3.3 V 電源穩(wěn)定后發(fā)送復(fù)位脈沖,實(shí)現(xiàn)對(duì)系統(tǒng)的啟動(dòng)復(fù)位。在系統(tǒng)運(yùn)行過程中,ADM706 可通過監(jiān)測(cè)按鍵開關(guān)的開關(guān)情況,當(dāng)按下按鍵開關(guān)后,ADM706 產(chǎn)生復(fù)位脈沖HREST*,并將其發(fā)往FPGA 和三態(tài)緩沖器74AHC125,實(shí)現(xiàn)對(duì)系統(tǒng)的硬復(fù)位。FPGA 通過HRESET 和調(diào)試復(fù)位信號(hào)COP_HRESET*生成處理器復(fù)位信號(hào)CPU_HRESET*,控制處理器復(fù)位。74AHC125 芯片輸出的復(fù)位信號(hào)包括1 000 M 以太網(wǎng)PHY 芯片復(fù)位信號(hào)G_RST1/2*、100 M 以太網(wǎng)PHY芯片復(fù)位信號(hào)ETH_RST1/2*、ATM PHY 復(fù)位信號(hào)ATM_RST1/2*、FIFO 芯片復(fù)位信號(hào)FIFO_RST和FLASH 復(fù)位信號(hào)FLASH_RST*。除了硬件復(fù)位外,在進(jìn)行JTAG 調(diào)試時(shí),可通過JTAG 接口的復(fù)位信號(hào)之間實(shí)現(xiàn)對(duì)MPC8560 的e500 核心的軟復(fù)位。通過多種復(fù)位方式保證系統(tǒng)運(yùn)行的可靠性與穩(wěn)定性。
按照上述設(shè)計(jì)方法,故障診斷橋接模塊設(shè)計(jì)完成布板后的成品如圖6 所示。
圖6 故障診斷橋接模塊印制板
3.2.1 時(shí)鐘狀態(tài)檢測(cè)驗(yàn)證
運(yùn)行時(shí)鐘控制與狀態(tài)分析軟件,通過信號(hào)發(fā)生器模擬時(shí)鐘信號(hào)的無(wú)時(shí)鐘、過慢、過快、正常等狀態(tài),查詢故障診斷橋接模塊獲取到的時(shí)鐘狀態(tài),觀察是否正確;將第41 個(gè)節(jié)點(diǎn)的第一路時(shí)鐘斷開,通過數(shù)據(jù)鏈路故障診斷橋接模塊及相應(yīng)的上位機(jī)軟件進(jìn)行觀測(cè),能夠顯示第一路時(shí)鐘頻率為0,即斷開狀態(tài),判斷異常。時(shí)鐘狀態(tài)異常前后檢測(cè)對(duì)比結(jié)果如圖7所示。
圖7 時(shí)鐘狀態(tài)檢測(cè)
3.2.2 數(shù)據(jù)丟包檢測(cè)
故障診斷橋接模塊接入鏈路中,運(yùn)行采集傳輸系統(tǒng)數(shù)據(jù)采集分析軟件,給所有通道輸入動(dòng)態(tài)范圍內(nèi)的信號(hào),并任意變化,觀察是否存在數(shù)據(jù)包丟失現(xiàn)象。搭建含有丟包節(jié)點(diǎn)的采集傳輸系統(tǒng),將第41 號(hào)節(jié)點(diǎn)設(shè)計(jì)為丟包節(jié)點(diǎn),連接到故障檢測(cè)數(shù)據(jù)傳輸鏈路模塊,加電測(cè)試,通過相應(yīng)的上位機(jī)軟件并進(jìn)行觀測(cè),檢測(cè)結(jié)果如圖8 所示,檢測(cè)結(jié)果表明,該節(jié)點(diǎn)的數(shù)據(jù)鏈路通信正常,但是存在丟包問題。
圖8 鏈路丟包及鏈路穩(wěn)定性
3.2.3 傳輸鏈路故障檢測(cè)
斷開鏈路中第41 號(hào)節(jié)點(diǎn)處的傳輸鏈路,通過數(shù)據(jù)鏈路故障診斷橋接模塊及相應(yīng)的上位機(jī)軟件進(jìn)行觀測(cè),斷開前后檢測(cè)對(duì)比結(jié)果如圖9所示,其中異常情況下已不能顯示第41號(hào)節(jié)點(diǎn),并指示鏈路斷開狀態(tài)。
圖9 鏈路檢測(cè)
該文針對(duì)工程應(yīng)用中數(shù)據(jù)傳輸鏈路中常見的故障問題,設(shè)計(jì)了故障診斷橋接模塊,并通過實(shí)驗(yàn)驗(yàn)證該電路的有效性。通過該模塊的設(shè)計(jì),實(shí)現(xiàn)大規(guī)模傳感器陣列故障的準(zhǔn)確檢測(cè)、數(shù)據(jù)穩(wěn)定的傳輸,進(jìn)而大大縮減了維修人員維修設(shè)備時(shí)的故障排查時(shí)間,提高了檢修效率。