智能采集设备仿真系统设计与实现
扫描二维码
随时随地手机看文章
摘要:为了提高采集软件开发与测试周期,在此设计了一种可模拟多型号智能采集设备的仿真系统。系统采用高性能、低功耗的ARM微处理器,有丰富的通信接口模块。只需通过在上位PC机进行相应设置,这种仿真系统可提供与某些设备相同通信协议的数据格式,并可同时模拟多种型号的智能采集设备。在采集软件开发中,可替代智能设备测试采集程序。在此结合了嵌入式技术和仿真技术,开发了一种新型采集软件测试系统。利用所开发的原型系统验证了设计方案的有效性。
关键词:智能设备;数据采集;ARM;仿真系统
随着控制领域科技的发展,数据采集已经成为测控系统重要的组成部分。智能设备在数据采集系统中发挥着重要的作用。数据采集程序的测试过程需要在实验室部署不同型号的智能仪表,延长了开发周期,降低数据采集程序的测试效率。本文设计的智能设备仿真系统解决了测试过程中部署设备繁琐的问题。它可以同时模拟多种智能采集设备,通过软件仿真就可以替代真实的智能采集设备,显著降低了项目开发周期,提高了测试开发效率。
1 仿真系统总体设计
1.1 仿真系统功能
智能采集设备仿真系统的功能是用于实现各种型号数据采集智能仪表的模拟。不同型号的智能采集设备内部体系结构不同,外围硬件接口和通信协议不同,功能也不同。因为只是用于测试采集程序,该仿真系统没有硬件采集模块,也没有连接传感器采集真实的数据,所有的数据都由软件来实现。
图1是数据采集系统结构图。数据采集服务器是采集系统的中心。它通过不同接口与数据采集设备相连,控制智能设备采集数据,通过互联网将采集到的数据传输到数据后台处理中心和显示端。
图2的结构中用智能设备仿真系统替代了各种型号智能设备。该系统有多种通信接口,提供的数据格式与对应型号的设备完全相同,通信协议也相同。在采集程序开发过程中,如果增加一种型号的智能采集仪表,只需在该系统中新增设备的仿真程序,测试阶段不用布置真实设备,用该仿真程序测试采集程序的可靠性与稳定性。[!--empirenews.page--]
1.2 仿真系统体系结构
智能采集设备仿真系统由3层结构组成。体系结构如图3所示。最底层是硬件部分,硬件核心控制器采用ARM9架构的32位CMOS微控制器,还有内存SDRAM、闪存FLASH以及通信接口硬件部分。中间层是系统层,它负责整个系统的资源调配,主要包含系统内核、硬件驱动程序,以及通信协议部分。最上层是运行仿真程序和CVM虚拟机的应用层,CVM虚拟机是运行仿真程序运行必不可少的部分,CVM具有完好的网络功能,支持Java编写的仿真程序。
2 系统硬件设计
系统硬件部分主要由5个模块组成如图4所示。包括:协议处理模块、电源电路模块、网络接口模块、串行通信接口模块和JTAG接口模块。
协议处理模块是系统的控制中心,任务调度、通信协议、功能协调都需要这个模块的支持,该模块具有较高的可靠性和稳定性。它由微控制器S3C2440AL-40,内存SDRAM,闪存NAND FLASH,NOR FALSH以及电源稳压芯片构成。
网络接口模块采用DAVICOM公司的芯片DM9000。由于S3C24如AL-40芯片内部并没有以太网的处理模块,所以使用DM9000作为100 MHz的网
络接口芯片。该芯片是一款完全集成的快速以太网MAC控制器,支持32位接口访问内部存储器。此外该模块还有一个型号为H1102NL的网络滤波器芯片,起到信号过滤、隔离的作用。串口通信模块采用应用最广泛的RS 232串口标准。JTAG接口模块在系统软件的移植和调试时起到重要作用,通过外部的JTAG调试电缆或仿真器与该系统连接。
系统中的协议处理模块使用天嵌公司的TQ2440核心板,采用6层军工布线设计,运行稳定。该模块通过192个外围引脚引出了S3C2440AL-40控制器的大部分功能。其他硬件电路选择了天嵌TQ2440开发板底板的部分功能,根据其底板自主设计了仿真系统硬件部分。
2.1 电源电路模块
S3C2440AL-40 CPU的内核供电电压是1.25 V,I/O接口是3.3 V供电,在核心板上使用经过低噪声、低压差线性稳压源MAX8860EUA稳压芯片,为CPU内核提供所需电压1.25 V。I/O接口使用的3.3 V电压由稳压芯片AS2815AR-3.3提供,仿真系统采用的输入电源是5 V,经过稳压芯片稳压,可为系统提供3.3 V的电源。
2.2 网络接口模块
现如今很多智能采集设备都是采用网络接口作为数据传送通道,例如温度采集设备DA100,MX100,DA100的采集模块DS600或DS400也都是通过网口串联的。网络接口是仿真设备必不可少的接口。
DM9000芯片作为网络通信的主芯片,它是100Mb/s自适应以太网芯片,采用的封装是QFP-100P,支持16位数据总线宽度,具有低功耗的特性,有很强的数据处理性能。
它和微控制器的引脚连接如图5所示,IOR,IOW分别为处理器读写信号;AEN为片选信号与NGCS4连接;IOWAIT引脚为处理器命令就绪信号,低电平时候说明上一条处理器命令还没有结束,这条指令等待;LDATA(0-15)是16位数据总线、NRESET是复位信号;CMD是访问类型信号,低电平访问地址端口,高电平访问数据端口;EINT7是外部中断信号。
[!--empirenews.page--]
3 仿真系统软件设计
Linux具有稳定性、开源性、可裁剪的特性,所以选择将Linux内核作为仿真系统的系统核心。移植大体步骤如下:
(1)U-boot移植:若没有U-boot,两种启动方式都无法在超级终端上显示。U-boot是系统运行时启动的第一段代码,负责调整系统到启动内核的最佳条件,移植时使用JTAG接口下载U-boot。
(2)Linux内核编译:首先要获取内核并配置编译,通过Make menuconfig命令打开系统配置单,根据具体的硬件设置(硬件上面已说明),去除不需要编译的硬件驱动模块,保存配置单。用Make zImage命令编译出zlmage镜像,通过网口烧写到NANDFLASH中。
(3)构建文件系统:使用的软件是busboy,先配置之后编译,过程和Linux内核很像。把构建好的文件系统镜像烧写到系统中,系统就可以正常启动。
(4)CVM移植,CVM是JAVA虚拟机JVM压缩版,系统中没有内置CVM,需要移植CVM虚拟机支持仿真程序。
4 系统验证与测试
大量智能设备都采用RS485串口通信协议,下面以串口采集没备8775A仿真程序测试系统性能。
8775A是青智仪器公司的电参数测量智能仪表,它通过串口与采集主机通信。当它接收到命令格式帧为10H,03H,A1 A2 A3连续帧时会回送数据:7DHA1A2A3D1D2…D52P1P2P37EH。其中7DH,7EH分别代表固定的数据头和数据尾。A1A2A3代表设备地址,30H,31H,35H代表地址15。D1~D52代表该设备提供的数据,分别为电压(D1~D5)、电流(D8~D12)、功率(D15~D19)、功率因数(D22~D29)、频率(D30~D33)、时间(D37~D42)和电能(D43~D49),P1P2P3是送回数据的校验和。采集程序在获取数据后会对连续的数据进行分析,获取有用的数据。该仿真系统在收到发送数据的命令后,判断是否为有效的命令格式,如果是则回送程序模拟的数据,数据格式完全相同。仿真程序流程如图6所示。
仿真程序设置串口的波特率、校验位、数据位等信息。采集程序中的设置应与其一样。保证采集程序和仿真设备有相同的串口设置。通过验证,采集程序可以从该系统采集到电压、电流、功率等数据。图7是通过串口小助手向仿真系统发送的采集命令后收到模拟软件返回的数据。经验证,与8775A设备提供的参数类型一致。同样,为网络接口的设备也可以通过该系统实现仿真。
5 结语
本系统首次应用在了国内某大型家电产品公司冰箱测试软件中数据采集部分的测试阶段,通过把编写的智能仪表DA100,UT351,8775A仿真程序下载到本系统中完成了冰箱测试软件采集程序的可靠性测试。