基于DSP和VC的网络通信检测系统的研究
扫描二维码
随时随地手机看文章
摘要:对网路通信系统功能的维修检测是在当今电子通信行业不可缺少的一部分,基于此提出了一种针对网路通信系统的功能检测的方案,该方案基于DSP和VC实现,体系简单,具有很强的可操作行和实现性。本方案还给出了对网路通信系统的总线通信和音频口的性能检测的开发流程。
关键词:DSP;VC;通信;音频口
嵌入式技术是目前电子行业研究的热点,然而嵌入式技术在网路通信上的应用更成为了一种必然的趋势。本文针对网路通信系统的维修保障,给出了基于DSP和VC及网络通信的对网路通信系统性能进行检测的精简、高效的设计方案,能够在短时间内对网路通信系统进行快速检测。
1 系统的硬件结构设计
系统的硬件结构主要包括基于TMS320VC5510 DSP处理芯片和CS8900A的网卡芯片电路的设计,如图1所示。DSP芯片是本系统设计的核心,它完成了对设备测量数据的解析及处理,已经按照既定的通信协议与VC程序完成了数据的传输和测试控制。本系统采用的是美国TI公司开发的TMS320VC5510微处理芯片,它具有更高的代码执行效率和更低的功耗,其最高指令执行速度可达800MIPS,它主要由CPU、外设总线控制器、DMA控制器、片上外设和片上存储单元等几大部分组成。网卡芯片采用的是Cirrus Logic公司生产的es8900a局域网处理芯片,它采用的是100 pin TQFP封装,内部集成了在片RAM、10BASE-T收发滤波器,并且提供8位和16位两种接口。
2 测试方法流程
首先由VC通过串口向DSP发送各个模块的测试命令,DSP收到这些命令后,根据命令解析函数解析命令,调用不同处理函数去完成相应的操作,并把最终的测试结果返回给VC,并在VC界面中显示测量结果。在DSP中主要遵循层层调用的原则,即:VC程序发送命令给DSP,进入DSP中断函数,中断函数调用dsp55x.c中的命令解析函数,对收到的不同命令,dsp55x.c通过调用cs8900a.c中不同的处理函数来完成不同的测试功能,然后通过写串口函数把测试结果回送给VC程序,这样的设计与调用顺序清晰明了,程序规范而易懂。
我们把测试命令分为三类:DSP模拟总线通信命令;各个接口发功能测试;各个接口收功能测试。
如果DSP收到总线连接命令,则调用cs8900a函数Send_Data(),利用以太网发送函数ethemet_driver_send(),模拟总线发确认帧。
如果DSP收到的是各接口发功能测试命令,则调用cs8900a函数Send_Data(),利用以太网发送函数ethemet_driver_send(),模拟各接口发不同的音频数据包,这里不同的数据包是根据不同的测试接口调用expand_packet_change()函数而改变的,主要更改的是目标MAC地址、源MAC地址、命令字等关键信息,音频数据部分可以采用同样的数据。
如果DSP收到的是各接口收功能测试命令,则调用cs8900a函数Send_Data(),利用音频测试函数YinPinV(intflag),根据A律转线性函数alaw21inear()解码出来的存放在expand_packet[]数组中的数据计算电压幅值、调制速率等参数,这里,expand_packet[]是在aria_broad cast()函数中不断更新的。
具体的DSP程序测试流程示意图如图2所示:
[!--empirenews.page--]
3 软件模块测试函数说明
主要对VC、dsp55x.c、cs8900a.c三个源文件中包含的测试函数进行相关的描述,及主要函数的流程说明。
3.1 VC模块测试函数
主要包括相关的连接命令发送函数、测试命令发送函数、测试结果接受函数。通过发送连接测试命令建立与被测接口的正常通信,然后通过发送相关的测试命令控制DSP完成相应的操作,最终显示由DSP测试显示的结果。
3.2 dsp55x.c模块测试函数
本模块主要通过读串口信息,获取由VC发送的测试命令,然后调用cs8900a.c中的相关测试函数,通过cs8900a与被测设备建立通信方式,然后把相关的测试结果经过DSP中的算法处理,然后通过串口发送给VC程序。
3.3 es8900a.c模块测试函数
cs8900a.c主要完成与网口操作有关的工作,如DSP模拟发功能时,通过网口向外发送数据包,DSP模拟收功能时,通过网口接收数据包,还有广播函数arp_broadcast()一直在读以太网上传来的数据,并把符合条件的音频数据通过A律转线性函数alaw2linear()解码,保存在特定数组中,这些数组一直在更新,在我们测试的时候可以随时调用这些数组进行各参数计算,并且完成了精简协议栈在DSP中的移植,使得网口可以进行数据传输。
3.4 关键函数流程图
在测试程序中,最关键的函数就是各接口收/发音频测试函数,即为dsp55x.c中的YinPinTest()和cs8900a.c中的YinPinV(int flag)这两个关键函数的流程图分别如图3、图4所示。
4 设计结论
在本课题中提出了基于DSP和VC的对网络通信系统性能进行测试的方案,以及其实现方法,TMS320VC5510微处理芯片高效率的代码执行和cs8900a稳定的网卡芯片可以确保最终可实现在短时间内对网络通信系统的现场保障和维修检测。接下来的研究中还需要解决的问题是,如何解决不同测试命令之间的交互、测试方法的稳定性以及VC测试流程和被测设备之间的时序调整,设置可以通过网络来传输检测的结果,实现对设备的远程检测及分析。