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