随着计算机技术、网络技术和大规模集成电路的高速发展,动态信号分析系统也出现向着网络化的方向发展的趋势。ETHERNET已经成为LAN中的主导协议,随着ETHERNET技术日益成熟,在现场信号采集与分析系统、测试测量以及工业I/O设备中,ETHERNET技术已经或者将要发挥其巨大的作用。传统的实时信号分析系统数据通讯接口一般采用串行口、并行口、PCI总线或USB的方式。与其相比,ETHERNET的优势在于性能价格比高、远距离数据传输和分布式运行等特点,而且可以将网络技术应用到信号分析系统领域。在基于以太网的信号分析系统中,由于数据的传送可以通过TCP/IP协议进行,其所具有的网络功能并不要求作为上位机的PC机与下位机(数据采集分析仪)处在同一局域网内,只要能连上Internet而且带宽满足要求,便可以在任何地点、任何时间采集和分析数据,并进行远程测试、诊断。基于以上分析,结合重点基金项目研发,本文给出了一种基于ETHERNET的实时动态信号采集分析系统的软硬件实现。
1 信号分析系统硬件框架
图1 数采分析仪系统结构图
数据采集分析仪系统结构图见图1,从功能上看,它由信号采集与处理、以太网数据通讯两大部分组成。
1.1 数据采集与信号处理
为了增强系统的数据采集与信号处理能力,采用了ARM+DSP主从结构。ARM采用三星公司的S3C4510B作为主处理器,完成系统管理及网络通讯。DSP采用TI公司的TMS320VC5416作为协处理器,完成信号处理、分析包括FFT、互谱、平均等信号处理任务及特征抽取任务。这样的任务划分有利于让主从处理器都能充分发挥处理能力,从而使系统的数据采集与信号处理能力达到最大。其增强的外部存储器接口,使得对外部数据的预处理更加方便,存储器接口电路的设计也更灵活,因此在实时数据采集和信号处理系统中得到了应用。
1.2 以太网数据通讯
系统控制器向外提供1个10M/100M以太网口,通过宽带可以接入Internet或局域网;S3C4510B内嵌一个可以以10M/100M的速率工作在半双工或全双工模式下的以太网控制器,其MAC层支持媒体独立接口(MII)和带缓冲的DMA接口(BDI)。MAC层由发送模块、接收模块、流控模块、用于存储网络地址的匹配地址存储器(CAM)以及一些命令寄存器、状态寄存器、错误计数器寄存器构成。MII支持在25MHZ时钟下以100M速率的发送与接收操作,和在2.5MHz时钟下以10M速率的发送与接收操作。特别适用于通讯和网络产品。TCP/IP协议的使用将提高基于以太网的通讯软件实现的可靠性来降低其复杂度。在主处理器内嵌的uClinux带有一个完整的TCP/IP协议,同时它还支持许多其他网络协议。uClinux对于嵌入式系统来说是一个网络完备的操作系统。
1.3 主从模块通讯接口设计
主从处理器之间应尽量加快通讯速度,并保持可靠性和实时性。uClinux需要读取数据处理模块中的RAM,所以最好是把数据处理模块中的RAM作为uClinux的内存地址的一部分,采用HPI技术可以满足此要求。用Altera公司的FPGA芯片EP1C6作为系统的逻辑控制单元及主从系统配置电路,完成TMS320C5416与ARM处理器相关控制连接。
从系统硬件采用TI公司的TMS320C5416作信号处理器,用Altera公司的FPGA芯片EP1C6作为系统的逻辑控制单元及主从系统配置电路,同时利用HPI技术,完成TMS320C5416与ARM处理器S3C4510B的数据交换。
C5416与S3C4510B接口简单,DSP通过HPI8与主机设备相连时,除了8位HPI数据总线及控制信号线外,不需更多地附加其它逻辑电路,只需将C5416控制的引脚和S3C4510B的GPIO口引脚相连,这样对C5416的控制就只需设置相应的GPIO口线即可。
在嵌入式系统设计中,用S3C4510B作为主控制器,用C5416进行数据采集运算处理,然后通过HPI8接口进行数据通信。试验表明,用HPI接口技术在C5416和S3C4510B间实现通信满足嵌入式系统的实时性要求。
2 系统软件设计
2.1 嵌入式操作系统及其应用程序开发
实时信号分析系统中数据采集和信号处理的任务全部由DSP完成。S3C4510B与PC机之间的以太网通讯,其软件实现所要求的实时性、可靠性和复杂性使得选择一种带有TCP/IP协议包的嵌入式实时操作系统成为必需。对系统实时性特别是硬实时有特殊的要求,uCLinux可加入实时RT-Linux模块以满足对嵌入式操作系统的实时性要求。
2.2 驱动和应用程序的开发
硬件驱动和应用程序的开发在交叉编译环境中进行,先在PC机上开发,然后移植到目标机上进行调试并最终固化到目标机上。开发硬件驱动时要充分了解硬件特点[1],掌握嵌入式Linux 硬件驱动的开发技术。所开发的硬件驱动有:以太网卡控制器驱动,LCD驱动,A/D采集等驱动程序。然后在嵌入式操作系统的基础上开发应用程序,通过开发微型GUI,编写动态网页和CGI程序,实现嵌入式Web技术,嵌入式通信协议等应用程序[2-5],系统软件结构如图2所示。
图2 系统软件结构
在uClinux上运行了三个任务:读取采集数据、通过以太网发送数据、接收和执行来自远端PC的命令。其中的读取采集数据任务对实时性有要求,把它用中断处理程序来实现,而其它的两个任务则通过用户进程来实现。以太网发送数据的任务和读取采集数据的任务共享一个缓冲区,通过ioctl函数在其间传递缓冲区双向链表的地址。所以还需要为数据处理模块上的通讯接口,即HPI注册一个驱动程序,注册驱动程序的函数是:result= register_chrdev(HPI_MAJOR,"hpi",&hpi_fops);可见,这里把数据处理模块上的通讯接口,即HPI,作为一个字符型的设备。
由上述设计方案,可使嵌入式系统实现产品化。该系统具有网关功能和嵌入式Web功能,能确保系统安全接入Internet,控制终端通过普通的浏览器可浏览网页,查询并控制信息运行状态,当系统发生故障时提示报警,为智能检测与诊断实现提供了可能。且该系统成本低,便于推广应用。
3 结语
本系统采用了ARM+DSP主从结构。ARM作为主处理器,完成系统管理及网络通讯;DSP作为协处理器,完成信号处理、分析。这种结构中DSP的快速数据处理能力和ARM卓越的以太网通讯能力保证了动态信号采集分析系统的实时性要求。由于其性价比高、体积小、且嵌入式操作系统支持的软件丰富、裁剪灵活,它将形成数据采集与信号处理技术领域及制造领域新的应用趋势。