微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于ARM和Ethernet的现场实时信号采集分析系统

基于ARM和Ethernet的现场实时信号采集分析系统

时间:10-25 来源:互联网 点击:
随着计算机技术、网络技术和大规模集成电路的高速发展,动态信号分析系统也出现向着网络化的方向发展的趋势。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所示。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top