作者:毛轶锋 周富大 陈华志 朱洪兴
摘要:介绍了一种基于DSP和以太网的数据采集处理系统。
论述了数据采集处理系统中的以太网应用,介绍了系统的硬件设计方案,提出了基于实时操作系统DSP/BIOS进行软件设计的思路和实现方法。
要害词:DSP以太网数据采集实时
随着测试技术的不断发展,低功耗、高性能的DSP逐渐取代了通用单片机在数据采集处理系统中的地位;同时,以太网技术也在数据采集、测试测量技术中发挥越来越大的作用。本文从软件、硬件出发,介绍一种基于DSP和以太网的数据采集处理系统的设计思想及实现。
1 基于以太网的数据采集处理系统
生产和科研领域对测试的要求越来越高,所需测试和处理的数据量也越来越巨大,有时需要多个测试仪器同时进行测试,各测试仪器之间又需要进行数据交换;而且测试领域也越来越广泛,有些现场不适合工作人员亲临,这时就需要通过网络进行控制。以太网技术在数据采集处理系统中的应用如图1所示。
与工业现场应用比较多的现场总线比较,以太网最大的特点是开发性好、成本低。通过把复杂的TCP/ip协议封装而提供各种网络测试技术,使网络测试的开发变得不再复杂。同时,由于网络测试带来巨大效益,使网络测试在测试自动化领域得到广泛应用。以太网作为分布式测试的一个网络方案,其潜力无疑是巨大的。
图1 数据采集处理系统中的以太网应用
以太网接口控制器和DSP微处理器的价格不断下降,使得将以太网直接集成到基于DSP等嵌入式系统的测试、采集、工业I/O设备中成为越来越明显的趋势。基于以太网的I/O设备是将以太网接口直接嵌入到设备内部,所以使得设备更简洁,体积更小,安装也更灵活。和一些目前应用于工业的其它通信方案比较,以太网方式通常需要功能更强大的微处理器和更大的内存。而网络和计算机技术的发展,非凡是DSP技术的应用,可以大大降低这方面的成本。
2 数据采集处理系统的硬件设计
该系统以TI公司的TMS320C6000系列DSP中的TMS320C6211和10/100M自适应以太网控制芯片MX98728EC为核心,主要包括ADC数据采集、DSP数据处理和以太网接口三个部分。图2为数据采集处理系统框图。
2.1TMS320C6000DSP
TMS320C6000是美国TI公司于1997年推出的新一代高性能DSP芯片。这种芯片是定点、浮点兼容的DSP。其定点系列是TMS32C62XX,浮点系列是TMS320C67XX。TMS320C6000片内有8个并行的处理单元,分为相同的两组,芯片的最高时钟频率可以达到300MHz。当芯片仙部8个处理单元同时运行时,其最大处理能力可以达到2400MIPs。本数据采集处理系统采用TMS320C6211,其主要非凡如下:
相±
·每个周期8条32位指令
·8个高度独立的功能单元,包括6个32/40位的运算器和2个16位的乘法器(32bit结果)
·32个32位通用寄存器
图2 数据采集处理系统框图
·灵活自由的数据/程序定位,L1/L2存储器结果:4K字节L1P程序Cache、4K字节的L1D数据Cache、64K字节L2通用RAM/Cache
·32位外部存储器接口(EMIF):对异步存储器的无缝接口,如SRAM、EPROM;对同步存储器的无缝接口,如SDRAM、SBSRAM;共512M字节外部存储器可寻址空间
·增强的DMA(EDMA控制):16个独立通道
·两个32位通用定时器
·支持JTAG边界扫描标准,调试时可以方便可靠地控制DSP上面的所有资源
2.2以太网控制器MX98728EC
MX98728EC是一个通用的单片10/100M快速以太网控制器,通过它的主机总线接口,可以实现各种各样的应用,而不需要或者只需极少的外部控制逻辑。单片机的解决方案可以减小电路板的尺寸,减少板上芯片的数量,以降低系统的成本。MX98728EC的特点如下:
·32位通用异步总线结构,支持频率最高达33MHz
·单片解决方案,集成了10/100MTP收发器
·可选的外部收发器MII接口
·完全兼容IEEE802.3u协议
·支持16/8bit打包缓冲数据宽度和32/16bit主机总线数据宽度
·分离的TX和RXFIFO,支持全双工模式,独立的TX和RX通道
·丰富的片上寄存器,支持各种各样的网络治理功能
·支持16/8bit的用于打包缓冲器的SRAM接口、支持片上FIFO的突发DMA模式
·自动设置网络速度和协议的NWAY功能
·可选的EEPROM设置,支持1kbit和4kbit的EEPROM接口
·支持软件EEPROM接口,方便升级EEPROM的内容
图3 DSP和以太网接口部分硬件设计
2.3系统结构
2.3.1ADC数据采集部分
CPLD1由DSP提供时钟信号,主要作用是提供扫描表SRAM的地址,扫描表SRAM的数据由DSP写入。扫描表输出的数据用来设定A/D转换的通道和仪表放大器的增益。ADC采用14位的LTC1416。32路模拟信号通过多路复用器后,其中一路信号被选中,进入仪表放大器,放大之后进入ADC。ADC的转换时钟由DSP的定时器提供。
2.3.2DSP数据处理部分
ADC转换后的14位数据通过FIFO进入DSP进行处理,FIFO采用4片CY7C425形成乒乓结构,以实现模拟信号的不间断采样。DSP扩展一片FlashMemory作为DSP的程序存储器,另外还扩展了一片SRAM作为程序缓存。脱机运行时,DSP将Flash中的程序写入SRAM,再写入DSP内部RAM。CPLD2主要用于控制FIFO的读写,并且提供以太网接口部分的控制信号。DSP系统中的数字信号处理算法主要实现滤波、采样率变换、非线性修正、温漂修正等。
2.3.3以太网接口部分
以太网主控芯片MX98728EC通过RJ45接口连接以太网,扩展一片SRAM作为以太网数据收发存储器,另外又扩展一片EEPROM以存储以太网卡的MAC地址、IO基地址、中断线选择等配置寄存器的初始化数据。CPLD3通过DSP高位地址线的译码控制以太网芯片的片选并提供以太网接口部分的复位信号等。DSP和以太网的接口部分硬件如图3所示。
3 数据采集处理系统的软件设计
软件编程时应该充分利用硬件资源及开发工具,使代码达到所期望的性能,并且在DSP嵌入式系统的基础上集成已经封装的TCP/IP协议栈,增加网络连接代码。由于DSP系统硬件以及以太网协议的复杂性,本系统中的软件编程是一个难点。
在本系统的软件设计过程中,采用了TI公司的基于C6000系列DSP的实时操作系统DSP/BIOS以及DSP/BIOS提供的实时数据交换功能RTDX(Real-Time-Data-eXchange)。DSP/BIOS针对DSP的应用环境,通过一系列的对象模块向开发者提供了一个实用优秀的实时操作系统。它可以寿命用户提高软件的模块化程度、并行性和可维护性等,有利于降低系统成本和缩短开发周期,运行于该操作系统之上的应用程序在开发时间、软件维护、升级等方面都有了极大的提高。实时数据交换功能是DSP/BIOS提供的一个全新的功能。在很多应用中要求DSP不停下来,而需要从主机中实时地读取数据或者向主机实时地输出数据。
因为本系统的软件结构较为复杂,涉及的算法较多,故应采用模块化、由顶向下、逐步细化的结构化程序设计方法。这一方法可节省软件工作量、提高工作效率。图4为简化的数据采集处理程序流程图。
实践证实,根据以上方案设计基于DSP和以太网的数据采集处理系统,可以很好地实现对模拟信号的采集和处理。在此基础上,也可以将其作为其于DSP和以太网的网络测试平台开发过程中的调试工具,从而加速把以太网集成到测试、采集和工业I/O仪器中的开发进程。
新闻热点
疑难解答