基于DSP和VC的網(wǎng)絡(luò)通信檢測系統(tǒng)的研究
摘要:對網(wǎng)路通信系統(tǒng)功能的維修檢測是在當(dāng)今電子通信行業(yè)不可缺少的一部分,基于此提出了一種針對網(wǎng)路通信系統(tǒng)的功能檢測的方案,該方案基于DSP和VC實現(xiàn),體系簡單,具有很強(qiáng)的可操作行和實現(xiàn)性。本方案還給出了對網(wǎng)路通信系統(tǒng)的總線通信和音頻口的性能檢測的開發(fā)流程。
關(guān)鍵詞:DSP;VC;通信;音頻口
嵌入式技術(shù)是目前電子行業(yè)研究的熱點,然而嵌入式技術(shù)在網(wǎng)路通信上的應(yīng)用更成為了一種必然的趨勢。本文針對網(wǎng)路通信系統(tǒng)的維修保障,給出了基于DSP和VC及網(wǎng)絡(luò)通信的對網(wǎng)路通信系統(tǒng)性能進(jìn)行檢測的精簡、高效的設(shè)計方案,能夠在短時間內(nèi)對網(wǎng)路通信系統(tǒng)進(jìn)行快速檢測。
1 系統(tǒng)的硬件結(jié)構(gòu)設(shè)計
系統(tǒng)的硬件結(jié)構(gòu)主要包括基于TMS320VC5510 DSP處理芯片和CS8900A的網(wǎng)卡芯片電路的設(shè)計,如圖1所示。DSP芯片是本系統(tǒng)設(shè)計的核心,它完成了對設(shè)備測量數(shù)據(jù)的解析及處理,已經(jīng)按照既定的通信協(xié)議與VC程序完成了數(shù)據(jù)的傳輸和測試控制。本系統(tǒng)采用的是美國TI公司開發(fā)的TMS320VC5510微處理芯片,它具有更高的代碼執(zhí)行效率和更低的功耗,其最高指令執(zhí)行速度可達(dá)800MIPS,它主要由CPU、外設(shè)總線控制器、DMA控制器、片上外設(shè)和片上存儲單元等幾大部分組成。網(wǎng)卡芯片采用的是Cirrus Logic公司生產(chǎn)的es8900a局域網(wǎng)處理芯片,它采用的是100 pin TQFP封裝,內(nèi)部集成了在片RAM、10BASE-T收發(fā)濾波器,并且提供8位和16位兩種接口。
2 測試方法流程
首先由VC通過串口向DSP發(fā)送各個模塊的測試命令,DSP收到這些命令后,根據(jù)命令解析函數(shù)解析命令,調(diào)用不同處理函數(shù)去完成相應(yīng)的操作,并把最終的測試結(jié)果返回給VC,并在VC界面中顯示測量結(jié)果。在DSP中主要遵循層層調(diào)用的原則,即:VC程序發(fā)送命令給DSP,進(jìn)入DSP中斷函數(shù),中斷函數(shù)調(diào)用dsp55x.c中的命令解析函數(shù),對收到的不同命令,dsp55x.c通過調(diào)用cs8900a.c中不同的處理函數(shù)來完成不同的測試功能,然后通過寫串口函數(shù)把測試結(jié)果回送給VC程序,這樣的設(shè)計與調(diào)用順序清晰明了,程序規(guī)范而易懂。
我們把測試命令分為三類:DSP模擬總線通信命令;各個接口發(fā)功能測試;各個接口收功能測試。
如果DSP收到總線連接命令,則調(diào)用cs8900a函數(shù)Send_Data(),利用以太網(wǎng)發(fā)送函數(shù)ethemet_driver_send(),模擬總線發(fā)確認(rèn)幀。
如果DSP收到的是各接口發(fā)功能測試命令,則調(diào)用cs8900a函數(shù)Send_Data(),利用以太網(wǎng)發(fā)送函數(shù)ethemet_driver_send(),模擬各接口發(fā)不同的音頻數(shù)據(jù)包,這里不同的數(shù)據(jù)包是根據(jù)不同的測試接口調(diào)用expand_packet_change()函數(shù)而改變的,主要更改的是目標(biāo)MAC地址、源MAC地址、命令字等關(guān)鍵信息,音頻數(shù)據(jù)部分可以采用同樣的數(shù)據(jù)。
如果DSP收到的是各接口收功能測試命令,則調(diào)用cs8900a函數(shù)Send_Data(),利用音頻測試函數(shù)YinPinV(intflag),根據(jù)A律轉(zhuǎn)線性函數(shù)alaw21inear()解碼出來的存放在expand_packet[]數(shù)組中的數(shù)據(jù)計算電壓幅值、調(diào)制速率等參數(shù),這里,expand_packet[]是在aria_broad cast()函數(shù)中不斷更新的。
具體的DSP程序測試流程示意圖如圖2所示:
[!--empirenews.page--]
3 軟件模塊測試函數(shù)說明
主要對VC、dsp55x.c、cs8900a.c三個源文件中包含的測試函數(shù)進(jìn)行相關(guān)的描述,及主要函數(shù)的流程說明。
3.1 VC模塊測試函數(shù)
主要包括相關(guān)的連接命令發(fā)送函數(shù)、測試命令發(fā)送函數(shù)、測試結(jié)果接受函數(shù)。通過發(fā)送連接測試命令建立與被測接口的正常通信,然后通過發(fā)送相關(guān)的測試命令控制DSP完成相應(yīng)的操作,最終顯示由DSP測試顯示的結(jié)果。
3.2 dsp55x.c模塊測試函數(shù)
本模塊主要通過讀串口信息,獲取由VC發(fā)送的測試命令,然后調(diào)用cs8900a.c中的相關(guān)測試函數(shù),通過cs8900a與被測設(shè)備建立通信方式,然后把相關(guān)的測試結(jié)果經(jīng)過DSP中的算法處理,然后通過串口發(fā)送給VC程序。
3.3 es8900a.c模塊測試函數(shù)
cs8900a.c主要完成與網(wǎng)口操作有關(guān)的工作,如DSP模擬發(fā)功能時,通過網(wǎng)口向外發(fā)送數(shù)據(jù)包,DSP模擬收功能時,通過網(wǎng)口接收數(shù)據(jù)包,還有廣播函數(shù)arp_broadcast()一直在讀以太網(wǎng)上傳來的數(shù)據(jù),并把符合條件的音頻數(shù)據(jù)通過A律轉(zhuǎn)線性函數(shù)alaw2linear()解碼,保存在特定數(shù)組中,這些數(shù)組一直在更新,在我們測試的時候可以隨時調(diào)用這些數(shù)組進(jìn)行各參數(shù)計算,并且完成了精簡協(xié)議棧在DSP中的移植,使得網(wǎng)口可以進(jìn)行數(shù)據(jù)傳輸。
3.4 關(guān)鍵函數(shù)流程圖
在測試程序中,最關(guān)鍵的函數(shù)就是各接口收/發(fā)音頻測試函數(shù),即為dsp55x.c中的YinPinTest()和cs8900a.c中的YinPinV(int flag)這兩個關(guān)鍵函數(shù)的流程圖分別如圖3、圖4所示。
4 設(shè)計結(jié)論
在本課題中提出了基于DSP和VC的對網(wǎng)絡(luò)通信系統(tǒng)性能進(jìn)行測試的方案,以及其實現(xiàn)方法,TMS320VC5510微處理芯片高效率的代碼執(zhí)行和cs8900a穩(wěn)定的網(wǎng)卡芯片可以確保最終可實現(xiàn)在短時間內(nèi)對網(wǎng)絡(luò)通信系統(tǒng)的現(xiàn)場保障和維修檢測。接下來的研究中還需要解決的問題是,如何解決不同測試命令之間的交互、測試方法的穩(wěn)定性以及VC測試流程和被測設(shè)備之間的時序調(diào)整,設(shè)置可以通過網(wǎng)絡(luò)來傳輸檢測的結(jié)果,實現(xiàn)對設(shè)備的遠(yuǎn)程檢測及分析。