多路采集七篇

2024-09-13

多路采集 篇1

1、多路图像采集设备的工作原理

多路图像采集系统主要由主控机 (采集系统) 、RAID磁盘阵列、快速交换机、供电单元、导引头采集单元、电视采集单元、短波采集单元、中波采集单元、短波采集单元等组成, 系统结构见图1。

导引头采集单元、短波采集单元、中波采集单元、长波采集单元各自采集目标的图像数据, 然后与主控机通过快速交换机形成千兆局域网进行数据交互。主控机通过串行总线和以太网实行各测试单元环境配置和管理。测试完成后各分单元将测试数据反馈至主控机进行整合, 并上传至RAID磁盘阵列进行存储。主控计算机对RAID磁盘阵列中的测试数据进行管理, 提供测试者进行分析和比较。

2、多路采集系统设计方案与实现

2.1热像仪图像的采集

热像仪的采集卡定为与原进口热像仪配套的采集卡E9800。采集卡E9800外部接口μDB68的示意图。

从Cedip’s Software系统结构来看 (见图3) , 热像仪的所有用户接口均通过Virtual Camera抽象出来, 对应用程序而言, 物理设备 (红外热像仪、FG9800数据采集卡、RS232、RS422以及USB2) 均是不可见的;类似于PC系统的IO, 对用户 (Application developer) 而言, 实际的物理IO设备不可见, 看到的是一系列抽象的对象, 譬如标准输入stdin和标准输出stdout等。Virtual Camera是由Windows服务和连接到该服务的客户端DLL组成;Vir Cam Server是ATL/COM组件运行的Windows服务, 它将所有已知的Cedip相机接口统一, 并给出了一个通用的切入点 (entry point) 供用户应用程序使用, 因此针对Cedip相机的应用程序开发也就是针对Vir Cam SDK的开发。

从图3可以看出, 有待开发的图像采集软件与生产商提供的Altair软件位于同一体系层级中, 且都是以Vir Cam DLL为基础的应用开发;因此, 只要Altair如图中所示, 是根据Vir Cam DLL开放的SDK所开发的应用程序, 而没有调用系统更底层或SDK未开放 (如果存在的话) 的部分接口, 那么有待开发的“Youre Software”--图像采集软件就完全可以实现Altari的所有功能, 包括Full Speed Recording。

2.2导引头数据的采集

要利用图1中NI的图像采集卡PCI-1422采集红外产品输出的串行数据, 必须在采集前端进行串并转换。在这里我们利用一块FPGA中 (altra的cyclone系列的ep1c12q240c8) 进行串并转换。

2.2.1凝视发送模式

所谓凝视模式即导引头在捕捉图像信号时始终按照一个方向顺序扫描。在此模式下, 首先在FPGA内部构造一块2K*16bit的FIFO (先入先出) 缓冲区, 由于图像数据的写入和读出速率不同, 采用FIFO缓冲可以实现异频域的数据读写。首先在接受到串行图像数据后根据发送时序的字同步信号可将其转换为16位并行数据, 在转换的同时将并行数据存入FIFO, 同时控制PCI-1422不断的读FIFO缓冲区。因此, 只要一有数据存入FIFO, 立即就会被1422读取, 从而节省了数据采集时间, 使采集时间尽可能短。

2.2.1线扫发送模式

对于线扫发送的模式, 图像数据是按照正逆扫交替发送的。我们的设计思想就是乒乓操作。在第一个数据缓冲周期, 将输入数据缓存到“数据缓冲模块1”中;在第二个数据缓冲周期, 将数据缓存到“数据缓冲模块2”中, 同时, “输出数据流选择单元”将“数据缓冲模块1”中缓存的数据读出, 送到“数据流运算处理模块”;在第三个数据缓冲周期, “输入数据流选择单元”再次切换将输入数据缓存至“数据缓冲模块1”中, 同时, 通过“输出数据流选择单元”将数据缓冲模块送至“数据流运算处理模块”中进行处理。依次类推, 从而实现高速数据的无间断传输处理。

将乒乓操作的基本原理稍作改动, 则可以实现正逆序交替信号的正序传输。可以在将输入信号缓存至数据缓冲模块时, 根据信号的正逆序标志, 正序或逆序缓存至不同的数据缓冲模块中, 而数据流运算处理模块则一直按正序方式对数据缓冲模块进行读取, 这样, 就可以在硬件上实现对图像信号的正序转换, 以适应PCI-1422采集板卡的采集要求。

2.3采集数据的同步

同步信号发生器 (即PCI-6259的一路D/A) 向各分单元注入时钟信号, 热像仪分系统PC中计数器卡PCI-1780U采集时钟脉冲并计数, PC从采集卡中解析当前数据并记录脉冲个数形成时标, 然后触发热像仪配套的数字采集卡进行数据的采集。每采集一帧图像数据将计数器卡采集的时统信号嵌入图像数据中。在这种方式下如果图像的帧频为100f/s, 则时统信号的误差为1÷100=10ms。另外, 考虑到实际工作中各设备启动时间差别不会超过10分钟, 所以我们把系统的时统数最大设为10*60*100=60000, 转为2进制为16位, 所以完整的数据是每一帧数据中加一个16位的时统数。而总共数据传输速率也就相应的增加了16*100=1.6K。

3、结束语

系统联试表明, 本系统能够完成3种热像仪和红外产品的图像采集, 并能实现4个分系统的数据对时功能, 完全达到了设计要求。

摘要:本文讨论的系统主要用于科研阶段的红外产品主要性能参数的测试和对照, 记录红外产品和热像仪的各种工作参数, 进行事后数据分析和对比。利用采集的数据对外场试验过程中各种数据源的采集和数据源的融合。包括红外导引头图像数据和数字量的采集及存储;中波红外热像仪图像数据的采集和存储;长波红外热像仪图像数据的采集及存储;短波红外热像仪图像数据的采集及存储。并完成以上四种采样数据的系统对时。

多路采集 篇2

1 系统硬件的实现

1.1 总体模块设计

系统硬件结构如图1所示,采用高性价比STM32F103VC作为系统主机,并将采集数据传入主机,选用CH376作为USB主机控制读写芯片,实现数据的采集存储,同时将采集到的数据在显示屏上进行显示。

1.2 功能模块的实现

采用高精度24位AD7793芯片实现了对数据的采集,使用SPI接口协议,设备使用4线双向接口从主/从模式下通信,其原理如图2所示,通过配置SPI_CNTL[22],MCU也可支持2位数据传输模式,当SPI_CNTL[22]寄存器的TWOB位使能,即可传输2位数据的输入/输出。第一位数据从SPI_TX0输出或从SPI_RX0输入,第二位数据从SPI_TX1输出或从SPI_RX0输入。

采用文件管理CH376芯片控制单片机系统的读写,芯片内置了USB通讯协议的基本固件,可处理海量存储设备的专用通讯协议,并在读写时理解传输USB协议,易于读写控制。通过串行接口,CH376可用最少的连线与STM32F103进行点对点的连接以实现USB_HOST功能,CH376芯片的RXD和TXD分别连接到单片机的串行数据输出/输入引脚,对芯片提供3.3 V电压,Y为芯片的外部晶振,管脚RST为芯片复位管脚,CH376T依靠串口收发指令通知STM32F103,故INT#输出的中断请求管脚悬空。CH376与主机连接如图3所示。

2 系统软件的实现

2.1 数据采集的实现

对数据采集的编程主要是对AD7793芯片初始化,其主要寄存器配置流程如下:(1)选定写配置寄存器,设置单极性编码,Gain=8,设置外部参考源,通道为AIN1;(2)选定写IO寄存器,恒流源1接IOUT1,恒流源2接IOUT2,激励恒流源210μA;(3)选择写模式寄存器,进行内部零电平校准,设置内部时钟,更新速率为16.7 MHz,读状态寄存器,循环判断零电平是否校准;(4)再次写模式寄存器,进行写内部满量程校准,设置内部时钟,更新速率为16.7 MHz,再次选择读状态寄存器,循环判断满量程是否校准;(5)选择写模式寄存器返回连续转换模式,设置内部时钟,更新速率为16.7 MHz,读取状态寄存器,循环判断连续返回位是否设置成功。

2.2 数据采集的存储实现

CH376T支持以Byte为最小单位进行读写。采用默认的9 600 bit·s-1速率,发送两个字节的同步码(57 H,ABH,命令码)在指令之前,用以区分指令和数据。依靠指令用一问一答的形式实现数据的存储。其流程主要包括硬件初始化、数据写入、文档的关闭,具体如图4所示。

发送CMD_CHECK_EXIST命令及5 H数据,若返回0AAH,说明硬件初始化成功。发送CMD_SET_USB_MODE命令,后续数据位选择模式,若返回为CMD_RET_SUCCESS说明选择U盘模式成功。发送CMD_DISK_CONNECT命令检查U盘,返回CMD_INT_CON-NECT说明选择成功;发送CMD_DISK_MOUNT命令初始化U盘,返回成功为CMD_INT_CONNECT,若失败,则需重复5次初始化U盘。

发送CMD_FILE_OPEN命令,若返回CMD_INT_SUCCESS说明打开成功,否则发送CMD_SET_FILE_NAME、CMD_FILE_CREAT命令设置文件名创建文档。若返回CMD_INT_SUCCESS,说明创建成功。接着发送CMD_BYTE_LOCATE命令写入4个字节的偏移量,低字节在前来确定数据读写位置,发送CMD_BYTE_WRITE命令写支持最大数据长度,返回是USB_INT_DISK_WRITE命令时,读取可向CH376中的数据长度,接着循环写数据;写完数据之后再发送CMD_BYTE_WR_GO命令,等待返回,若为USB_INT_DISK_WRITE继续返回写数据,否则此次数据将写入成功。

发送CMD_DIR_INFO_SAVE命令,接着发送数据01H(00H表示不更新文件的长度,01H表示更新长度)。若返回为CMD_INT_SUCCESS,说明保存再发送CMD_FILE_CLOSE命令,若返回CMD_INT_SUCCESS命令,则表明此次数据读写保存、关闭成功。

3 调试

系统硬软件制作完成后,针对系统运行情况进行相应的测试,当数据采集出现延时时,芯片和主机时钟现实中出现不同步,需逐步去调试程序延时达到近似同步,在数据存储时能有效地将数据在U盘中建立txt文档并写入数据,满足控制要求。

4 结束语

多路高精度温度采集装置 篇3

关键词:DS18B20;完全二叉树

引言

在许多传统行业中,多路高精度温度采集系统是不可或缺的。电厂、石化行业、钢铁厂以及制药厂等企业生产过程中,普遍存在着需要进行温度测量的场合。利用单片机和温度传感器组成的专用测温系统由于具有结构简单、工作可靠、价格低廉的优势,而得到了广泛的应用。应用在电力系统中,当电力机房中的控制柜、电缆、电容、开关过载或损坏时,都会产生巨大的热量如不及时发现处理,往往会导致事故或火灾的发生。

系统方案

本装置结构可以大致分为:采集部分、供电电源系统、通讯部分。采集部分是通过主核心芯片AT89S52单片机和DALLAS最新单线式数字温度传感器DS18820组建采集网络完成。DS18820采集温度测量范围为-55~+125E,多个DS18820可以并联在唯一的三线上,实现多点测温,可节省大量的引线和逻辑电路。DS18820非常适用于远距离多点温度检测系统,通过两种通讯方式实时上传温度数据,这两种通讯方式为RS485通讯和RS422通讯,在RS485通讯中笔者用ADI公司的串行RS485接口芯片ADM2483,它是双电源供电,输出和输入完全隔离的RS485芯片,可以加强对有效信号的接受与发送,增加了远距离通讯的可靠性。而RS422通讯实现了全双工的通讯机制,在另一端采用光耦隔离的方式,将电源和信号隔离,增加了信息传输的正确率和抗干扰性,保证了信息的完整性。

系统硬件设计

采集电路

以AT89S52单片机为核心,外置看门狗X5045和一片11.0592MHz晶振构成最小单片机系统,应用AT89S52单片机的I/O口双向传输数据的功能,P3.4与DSl8820一线总线连接,实现对DS18820进行读取和写入操作,在总线上加入一个上拉电阻,这个电阻可以根据加入网络DSl8820的多少和采集距离的长短来改变电阻阻值。利用P3.0和P3.1特殊功能I/O口定义,做为通讯的收发器。P2.0应用AMD2483的使能控制引脚。在此应用JTAG标准仿真接口设计,通过JTAG接口将程序下载到AT89S52芯片中。实现操作功能。

电源

在进行系统运行时,不可缺少的就是电源的稳定性和可靠性,AMS1117-5.0具有限流和过热自动关断保护功能,其内置的带隙基准可以保证输出电压的误差精度。在输出端需要连接一个至少10μf钽电解电容用于提高输出端的瞬态响应和稳定性。主要为单片机及周围电路供电。B0505S-W5是金升阳公司的一款专门针对线路板上分布式电源系统中需要产生一组与输入电源隔离的电源的应用场合而设计的,在此为内部隔离的ADM2483提供隔离电源和MAX488通讯提供隔离电源。从而使信号的传输更加可靠。

通讯

在通讯中分为RS485通讯和RS422通讯。RS485通讯采用的ADM2483是ADI公司的串行RS485接口芯片,采用双电源供电,输出和输入完全隔离的RS485芯片,可以加强对有效信号的接收与发送,增加了远距离通讯的可靠性。配合555的定时器的功能,EA_485在通常情况下处于低电平接收状态,当TXD_IN有信号输出时使能EA_485变为高电平,将数据发送出去。当发完这段数据时EA_485自动回到低电平接收状态,发送数据这段时间是由R5 xC5决定的,能够确定数据传输的完整性;RS422通讯上位机通过A、B端输入命令,这是RS422接收器端口,Y、z接收命令,这是RS422的发送器端口。在RS422的另一端采用光耦隔离的方式,将电源和信号隔离,增加了信息传输的正确率和抗干扰性,保证了信息的完整性。LED、LED1分别指示信息接收指示和发送指示。可以直观的监测信息的传输过程。

系统软件设计

在多路高精度测温系统中,测温单元能独立进行数据采集与上位机的数据通讯,向上位机(主机)发送测量到的温度数据,接收上位机发来控制指令,进行传输数据,与上位机通讯的指令采用定长的CDT代码指令,并有CRC纠错以保证数据正确传输。

在多点温度测量系统中,单总线数字温度传感器(例如DSl81320)因其体积小、构成的系统结构简单等优点,应用越来越广泛。每一个数字温度传感器内均有唯一的64位序列号(最低8位是产品代码,其后48位是器件序列号,最后8位是前56位循环冗余校验码),只有获得该序列号后才可能对其进行操作,也才能在多传感器系统中将它们一一识别。由于传感器序列号的最低8位为产品代号,“需要的位值”可按对应的值给出,关键是其后的48位器件序列号的识别。这里采用了“完全二叉树”的排序思想。具体思路:设在K位首次发生数据位冲突,这时所有的传感器分成两类,即该位为1的传感器和为0的传感器。“需要的位值”给1,K位为1的传感器仍挂接在总线上。若接下来K+M、K+N位发生数据位冲突,“需要的位值”仍分别给1,获得一个序列号。下一个过程在K、K+M位“需要的位值”仍给1,但在K+N位则给0,获得另一个传感器的序列号。第三个过程在K位仍给1,而在K+M位给0,在这条支路上继续识别。K位为1的传感器的序列号识别完后,回到K位时,“需要的位值”给0,按同样的方法识别该支路的传感器序列号。按此思路,多个传感器的序列号只需要分别识别一次。

建立关系表后,编制好程序,系统可投入运行。读取每个测温点的温度时,需要用到“符合”ROM命令,该命令要求将关系表中的序列号取出送到总线上,只有序列号与之相符的传感器才挂接在总线上,可读取其温度。

综上所述,用简单的硬件以及编程方法自动建立关系表,在单总线多点温度测量系统中实现了数字温度传感器的自动识别,大大有利于系统的调试、维护,减少维护工作量,并解决了过去维护工作必须由专业人员来完成,而不是由运行人员来完成的不便。

结语

多路采集 篇4

摘要:采用VHDL语言和图形输入设计方法,给出了用CPLD在远程多路数据采集系统中实现地址译码、串口扩展、模块测试、模数转换以及高位数据处理等功能的具体方法,同时简要介绍了远程多路数据采集系统的工作原理及软、硬件框架。

关键词:CPLD;单片机;译码;RS-232;VHDL; EPM7256SQC208

CPLD(Complex Programmable Logic Device?复杂可编程逻辑器件)是在传统的PAL、GAL基础上发展起来的。目前,CPLD已在通讯、DSP及微机系统中有着非常广泛的应用,它不仅可使设计的产品小型化、集成化和稳定可靠,而且还具有在系统或在芯片直接编程的能力,从而使电子系统的设计、开发、更新与维护变得更为方便,更便于装配和批量生产。因此,利用CPLD可大大缩短设计周期,减少设计费用,降低设计风险。远程多路数据采集系统,不但需要较多的片选信号,而且模块测试所占用的I/O口资源也较多,用一般的芯片较难实现,而用CPLD/FPGA则不但可以较好地实现其功能,而且还可大大提高设计能力和设计效率。

1 系统组成思路

本远程多路数据采集系统以Altera公司7000S系列CPLD产品中的EPM7256SQC208-10为控制核心,并由A/D(模拟量采集)模块、DI(数字量采集)模块、D/A(模拟量输出)模块、DO(数字量输出)模块、MCU模块、电源模块及I/O接口模块组成,其系统组成原理图如图1所示。

图中,MCU模块主要由CAN总线模块、RS-485模块、RS-232模块、时钟和复位模块、CPLD模块等组成,MCU模块的电路原理图如图2所示。该远程多路数据采集系统的I/O接口板共有14个插槽,其中12个插槽可实现A/D模块、D/A模块、DI模块、DO模块等四种模块的任意配置。因此,单个数据采集系统最大可采集192路模拟量或192路数字量,也可以提供最大96路模拟量输出或192路数字量输出。多个数据采集系统也可以根据实际和现场需要通过CAN总线、RS-485总线或RS-232总线进行连接,从而实现上百个或上千个采集频率不高的远程数据采集。该远程多路数据采集系统可采集0~5V的电压信号和4~20mA的电流信号,数字量输出电平为12V,可直接控制12V的继电器。(本网网收集整理)

显而易见,传统的设计思路不但要使用大量的外围芯片,而且需要主处理器直接控制各种采集模块和控制模块,并完成各模块和通道的自检。因此,这种解决方案需要占用主处理器大量的I/O资源和处理时间。然而,一般处理器的 I/O资源极其有限,而且又要求大量的汇编软件配合,这就使设计移植变得比较困难;此外,由于I/O的频繁操作也不利于系统调度软件的设计和其他软件模块的实时执行,因而在现场更难以组成分布式控制管理系统(FCS)。可见,如果采用传统的设计方法,不但使系统设计较为庞大,而且开发成本高、设计周期长、设计效率低。所以,传统的设计思路在远程多路数据采集系统中是不可取的,而使用CPLD或FPGA器件则可以较好地解决上述问题。

2 CPLD设计

2.1 顶层软件设计

上述功能可在MAX+PLUSII 9.5环境下设计完成。该系统的软件设计采用“自顶向下”、“软硬兼施”的设计方法,主要设计了五大功能模块,分别是DECODE?地址译码?模块、AD?模拟量输入数据处理?模块。DATA?数据处理?模块、TEST?模块自动识别?模块、UART?串口扩展?模块,其设计原理图如图3所示。其中译码模块用于完成处理器对CPLD片内和片外模块的寻址和译码,这是一种简单的`译码逻辑和触发电路,共产生34个片选信号。AD模块用于完成对10位A/D 转换芯片TLV1578高位D8、D9的处理以及实现D9/A1、D8/A0的分时复用,是一般组合逻辑电路和数据缓冲及锁存电路。TEST模块用于完成对各种模块的自动识别,包括识别某一插槽有无模块以及具体是何种模块,该模块共需处理36个测试信号。DATA模块用于简单处理各种数据,包括数据的缓冲、锁存以及驱动放大等。由于该系统中单片机的串口被RS-485占用,因此,UART模块一般用于实现RS-232串口扩展。

2.2 底层软件设计

底层软件设计是基于顶层软件中五大功能模块而设计的,其中UART模块设计采用VHDL语言描述完成,而DECODE模块、TEST模块、DATA模块和AD模块由于原理和时序相对简单,则采用图形输入设计方法,并通过编译、综合、仿真后生成底层设计文件(即生成相应的设计符号*.sym),以供顶层设计调用。

为了突出重点,这里只简单介绍UART模块的底层设计。UART模块是一个8位全双工异步接收发送器模块,该模块主要由四个子模块构成,即并入串出模块、串入并出模块、接口模块、时钟产生模块。该UART模块的主要功能是:从计算机接收8位并行数据并发送到串口输出;二是从串口读入外部串行数据并将其转换为8位并行数据送到计算机。

并入串出操作由输入信号的高电平触发的,串行输出结束后,结束信号变为‘0’。而串入并出操作则由串行输入的下降沿触发,且串行输入要保持低电平持续半个周期以上。此半周期时钟同时可作为输入移位时钟,8位数据输入结束后,结束信号变为‘0’并维持到下次数据输入。数据口是8位双向三态I/O口。

时钟产生模块产生的时钟用于并入串出模块和串入并出模块。在串入并出操作中,工作时钟只有高于移位时钟,才能检测是否开始一次新的输入过程,因此,工作时钟是移位时钟的4倍。其时钟产生模块的VHDL源程序如下:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;?

ENTITY clkgen IS

PORT (iclk,oclk:BUFFER STD_LOGIC);?

END clkgen;

ARCHITECTURE clk OF clkgen IS

SIGNAL iclk_lag,oclk_lag:TIME:=0 ns;

SIGNAL temp_iclk,temp_oclk:STD_LOGIC;

BEGIN

PROCESS(temp_iclk,temp_oclk)

BEGIN

temp_iclk<=NOT temp_iclk AFTER iclk_lag/4;

temp_oclk<=NOT temp_oclk AFTER oclk_ lag;

END PROCESS;

iclk<=temp_iclk;

oclk<=temp_oclk;

END clk;

限于篇幅,UART模块的其它底层模块设计这里不作一一介绍。

图3

3 系统仿真和验证

软件设计完成后,可根据Protel99SE中的电路原理图进行引脚锁定,然后启动编译程序来编译项目。编译器将进行错误检查、网表提取、逻辑综合和器件适配,然后进行行为仿真、功能仿真和时序仿真。最后采用并口下载电缆ByteBlaster并通过JTAG编程方式将top.pof文件下载到EPM7256SQC208-10芯片中,从而生成硬件电路。4 结束语

为了将该远程多路数据采集系统应用到污水处理自动控制系统中,笔者设计了以计算机为核心的分布式控制管理系统(FCS),从而高性价比地实现了污水处理设备的自动化控制和信息化管理,稳定可靠地发挥了污水处理设备的作用,实现了现场数据信息传递的完全数字化,同时保证了数据采集的准确性和控制功能的可靠性。

一款多路通用数据采集平台的设计 篇5

本文设计的数据采集平台以ADS6424为核心,支持四路数据同步采集,适用于多路模拟中频数据的采集处理。模/数转换器ADS6424是TI公司设计并生产的四通道、12位、最高采样速率105 MS/s的高速模/数转换器[1]。输出为串行LVDS(Low-Voltage Differential Signaling,低电压差分信号)数据接口,能够显著减少数据接口线数量。器件包含3.5 dB步进粗增益控制,以及1~6 dB步进范围增益控制,这将有助于提高其动态性能。

1 平台硬件设计

硬件平台主要由模/数转换器ADS6424、FPGA、中央处理器DSP及电源、晶振、FLASH及存储ROM组成,其组成结构如图1所示。

FPGA是整个硬件平台的数据测量和处理单元,模/数转换器ADS6424采集的中频原始数据经过FPGA串并转换、数据同步、滤波和变频之后送给中央处理器DSP,中央处理器DSP主要完成对采集数据的相关计算处理[2],DSP将数据保存到ROM并将数据送给上位机。

模/数转换器ADS6424作为本数据采集平台的核心部分,其设计的好坏直接影响数据采集平台的性能。下面将对其详细介绍。

2 模/数转换电路设计

2.1 ADS6424参数和功能

模/数转换器ADS6424为64管脚QFN封装形式,是TI公司专门为高度集成数字处理系统研制的芯片。ADS6424内部主要由采样保持、并串转换编码、配置接口、参考电压设置、PLL等组成。内部时钟PLL可将采样参考时钟转换为位时钟,用于将12位数据并串行转换。芯片提供数据帧时钟和位时钟LVDS差分输出,用于后续数据串并转换,输出位时钟上升沿保持在数据变化的中间位置。

ADS6424模拟和数字部分采用3.3 V供电;最高采样速率为105 MS/s;内部参考和外部参考可选,参考不需外部退耦;支持多种电平时钟输入;数据LVDS串行输出,带有内部端接电阻选项;LVDS输出界面为一线或双线可选,双线即每一路A/D采样数据被两组串行LVDS差分线传输,这与用一组LVDS差分线相比可将数据速率降低一倍,使总的传输速率小于1 Gb/s,提高了数据传输可靠性,便于后端接收。同时也兼容传统的一线制,能够在低采样率下应用,按位输出或按字节输出可选。

2.2 电路设计

数据采集平台由SMA射频插座输入单端模拟信号,通过变压器将单端信号转换为交流差分信号再送入芯片INX_P,INX_M输入管脚。通过对不同类型变压器配置、端接形式进行测试,发现根据输入信号带宽选择低成本的单一变压器便能实现较高的模数转换性能。单一变压器模拟信号输入连接原理图如图2所示。

模拟信号峰峰值支持2 V输入,须带有直流偏置,使用芯片自带输出的VCM偏置电压(输出电压1.5 V)。芯片可用外部参考电压,当用外部参考时,VCM作为外部参考输入管脚,范围在1.45~1.55 V之间,这时模拟信号峰峰值Vpp按如下公式计算:

平台采用低抖动方波晶振作为采样时钟,并在时钟路径上增加带通晶体滤波器降低时钟抖动。方波时钟应将芯片CLKM管脚通过0.1μF电容接地,方波时钟从CLKP管脚交流耦合输入,时钟参考电压已通过内部电阻连接到VCM上,所以可用交流耦合方式输入时钟而无需在外部增加参考电压,连接如图3所示,可采用非50%占空比的时钟,经过测试发现,采样时钟采用不同类型的时钟对ADS6424的性能影响不大[3]。

数据LVDS差分输出端DX_P,DX_M参考电压为1.2 V,与FPGA连接采用直流耦合,由于LVDS差分信号为电流型驱动,驱动电流为3.5 mA,应在接收端端接100Ω匹配电阻转化为350 mV接收电压,连接如图4所示,匹配电阻应尽量靠近LVDS接收端放置。对接收端是否端接100Ω电阻进行电路仿真,如图5和图6所示,可见,在靠近接收端放置匹配电阻信号眼图有明显改善。

本平台LVDS差分数据输出采用两线制,两线制时钟与数据相位关系如图7所示,此时,帧时钟速率等于采样时钟,位时钟速率为帧时钟的6倍。

芯片配置分并行配置和串行配置两种模式,通过将RESET脚拉高选择并行模式,拉低选择串行模式。本平台采用串行配置模式,通过SPI口(SCLK,SDATA,SEN三管脚)设置芯片内部寄存器来决定其工作模式,将SPI口与DSP通用I/O连接实现对芯片的配置,芯片配置在初始化过程中完成。串行配置寄存器功能汇总如表1所示。配置数据每16位组成一个字在SCLK下降沿送入芯片,其中前5位为寄存器地址,后11位为数据。具体寄存器配置参数详见软件设计。设置LVDS输出电流为3.5 mA、内部端接100Ω,能够改善数据眼图和信号完整性,数据高位先出,二进制补码格式。

LVDS串行数据送入FPGA后数字域无法直接应用,需先用altlvds_rx完成LVDS串行数据的串并转换。应将ADS6424芯片提供的数据帧时钟与数据同时送入FPGA作为串并转换时钟。

ADS6424提供了测试模式,通过SPI口设置测试数据,以便接收端测试模/数转换器工作的正确性。测试图形通过寄存器0X0A~0X0C设置。可选测试数据如表2所示。

2.3 布局布线

本平台可同时处理4路模拟信号,采样率最高可达105 MS/s。采用传统并行A/D芯片硬件成本和印制板面积成倍增加。芯片ADS6424每片包含4路A/D采样通道,集成度高,本平台仅需1片A/D芯片即可实现,并且A/D芯片输出为LVDS串行输出,大大提高了系统集成度。对于4路12位的采样信号,若采用并行A/D传输,则至少需要2片双路并行A/D,所需传输的信号为4×12根=48根,这增加了印制板布板难度[4]。本平台优势在于采用LVDS串行传输技术,可在一组信号线上传输12 b的数据信号,这样仅需要信号线数量为4×2根=8根,可节省信号线40根,优势明显。串行平台与传统平台比较优点如表3所示。

数据输出LVDS差分对走线应为100Ω特征阻抗的传输线,需根据印制板板层结构计算确定线宽和线间距,在PCB设计时应控制位时钟、帧时钟和串行数据线间的传输延时,三者应尽量走等长线,以确保三者之间正确的相对关系。

为避免数字部分的干扰,应将模拟地和数字地进行分割,并在电源处采用低阻抗单点连接。印制板上数字信号布线应避开器件模拟线路,有效避免对模拟信号的干扰。芯片内部包含供电的退耦,因此减小了对外部退耦的要求,根据供电电源品质确定退耦电容数量。模拟电和数字电分开供电,避免数字开关噪声影响模拟线路。

芯片全速工作功耗为0.9 W,因而,其腹部焊盘必须用过孔阵列充分连接到印制板地层,用来对芯片散热。

3 平台软件设计

数据采集处理软件属嵌入式软件,与硬件配套相互协调工作,用于接收、处理和存储中频模拟信号,为上位机提供所需信息。软件由三大部分组成,其框图如图8所示。

控制功能是整个软件的管理中心,它负责各子任务的有机协调及相互调用,将各个分散的模块连接起来共同完成系统的各项任务。控制功能由以下几个功能模块组成:主程序模块、初始化模块、FLASH数据读写模块、数据存储模块。数据处理功能包括数据同步、滤波、变频等模块。通信接口功能完成与上位机的数据信息交互,同时完成接收上位机指令的功能以及对软件的在线升级。软件工作流程图如图9所示。

各模块功能具体如下:

主程序模块负责各子模块的有机协调。

初始化模块实现硬件和软件的初始化,包括DSP、A/D芯片、FPGA、时钟芯片的设置,使得软硬件能够协同工作。其中初始化A/D芯片配置程序如下:

串并转换模块将A/D芯片采样后送入FPGA的LVDS串行数据转换为12位并行数据。串并转换模块能够同时对4路输入数据进行串并转换[5]。

数据处理功能包括数据同步、滤波、变频等功能。数据同步完成串并转换后数据与系统主时钟的同步,消除数据亚稳态效应,使采集的数据稳定可靠。采用数字滤波器抑制采集信号带外噪声干扰,提高信号信噪比。变频对中频采集信号进行下变频到基带,恢复采集数据信息,方便后续处理。

数据存储功能将A/D芯片采集并经数据处理抽样后的数据保存到ROM中。数据存储ROM采用NAND FLASH类型K9WAG08U1M芯片,容量为2 GB,并且存储器ROM可以在线软件擦除,能够重复使用。

FLASH数据读/写模块负责将数据采集平台状态信息写到FLASH中,以及从FLASH中读取保存的信息。对外接口功能负责与上位机数据通信,以及用户机程序的在线升级。

4 测试结果

通过对本数据采集平台硬件和软件的调试,本平台工作稳定。经过长时间连续工作考验,验证了平台可靠性。平台单独5 V供电,整机功耗小于5 W。对平台进行测试,分别输入20 MHz和135 MHz正弦波信号用105 MS/s时钟采样并用上位机保存采集数据,然后使用Matlab软件对数据分析,绘制出数据时域波形如图10,图11所示,经过2 048点FFT变换频谱如图12和图13所示,本平台数据采集采样速率达到105 MS/s,平台噪声低,信号灵敏度达2 mV,动态范围达到80 dB以上,输入带宽达到500 MHz,实现了ADS6424的技术指标性能。平台能够满足各种不同数据采集的应用需求。

5 结语

本文研究并设计一套面向工程应用的数据采集处理平台。采用嵌入式软件,软件更改升级灵活,便于根据不同需求进行二次开发。测试表明,平台噪声低、动态范围大,工作稳定可靠,能够应用于各种复杂残酷环境下的数据采集。本平台的设计具有重要的工程实践价值。

摘要:选取模/数转换器ADS6424设计并实现了一套数据采集平台。介绍了该平台的组成和功能,详细介绍了其核心器件ADS6424的功能、使用方法、电路设计及设置参数程序,给出了平台的测试结果。该数据采集平台对多路输入数据采集硬件设计具有重要的工程实践价值。

关键词:数据采集平台,LVDS,ADS6424,模拟信号

参考文献

[1]Texas Instruments.Quad channel,12-bit,105/80/65 MSPS ADC with serial LVDS outputs[EB/OL].[2007-06-12].http://www.ti.com.

[2]RINDER Peter.Design of a single frequency GPS software receiver[D].Aalborg:Aalborg University,2004.

[3]HEIN G W,PANY Theomas.Platforms for a future GNSS receiver a discussion of ASIC,FPGA,and DSP technologies[J].Inside GNSS,2006,4:56-62.

[4]缪军同,鲁新平.模数转换器AD9288及其应用[J].山西电子技术,2006(5):41-43.

[5]Altera Corporation.CycloneⅢdevice handbook[EB/OL].[2008-05-28].http://www.altera.com.

多路采集 篇6

Visual Basic 6.0是Microsoft公司开发的应用程序开发工具, 该工具具有良好的界面设计能力, 可以使程序设计人员在Windows环境下开发串口通信程序, 并且能够轻易的使用ADO DATA控件或者ADO对象模型与数据库建立连接, 从而可以将从串口得到的数据保存到数据库中。

利用VB设计串口通信程序主要有两种方法:一是使用MSComm串口控件, 二是调用Windows API函数。在时间应用中, 使用MSComm控件实现串口通信的方法更加方便、快捷, 而且用较少的代码可以实现相同的功能, 从而使编程效率大大提高。

本文主要是针对多路信号采集系统, 利用VB 6.0工具设计了一个用户应用软件, 其界面如图1所示。该软件使用MSComm控件实现信号采集系统与PC机之间的数据通信, 可以向信号采集系统发送控制信息, 同时也能够将接收到的数据实时显示, 并使用Picturebox控件实现绘制数据曲线, 再通过ADO对象模型将数据保存到Access数据库中。

2 用户软件的整体设计

多路信号采集系统由AT89S51单片机和模数转换芯片TLC2543等构成, 输入的模拟量为一些工业上常用的非高速变化信号, 例如温度、压力等。用户应用软件是利用VB工具和Access 2003联合开发完成的, 其整体设计框图如图2所示。

3 用户软件的设计与实现

用户应用软件主要包含4方面功能, 分别是:参数设置、串口通信、实时曲线的绘制、数据的存储。如何实现这4方面的功能是本设计的重点内容。

3.1 参数设置功能的实现

用户应用软件中通过对通道、通信速率、端口、信号类型、信号方式进行设置, 以实现多路信号采集系统的参数设定。其中, 在通道选项中有01通道-08通道八个通道, 端口选项中有COM1-COM8八个串口, 信号类型中有电压、热电偶、开关量三个选项, 信号方式选项中对应电压有0-10V、0-5V、-10V-10V、-5V-5V, 对应热电偶选项有K (<1000!) 、K (≥1000!) , 对应开关量有0-5V、0-12V、0-24V, 这些选项可供用户选择, 由此选定需要的参数。

用户设置好相应参数后, 单击“发送设置参数”命令按钮, 将该设置信息通过串口发送给多路信号采集系统的主控制器AT89S51单片机, 由单片机调用采集程序中的相关函数, 完成用户对参数的设置要求。

3.2 串口通信功能的实现

串行通信控件MSComm是微软公司提供的简化Windows下串行通信编程的Active X控件, 它可以实现通过串行端口传输和接收数据, 为应用程序提供串行通信功能。它提供了两种处理通信的方式:一是事件驱动方式, 一是查询方式, 本文中选用的是前者。该方式相当于一般程序设计中的中断方式。当串口发生事件或者产生错误时, MSComm控件会产生On Comm事件, 用户程序可以捕获该事件并进行相应处理。这种方式是处理VB与PC机之间进行交互的一种非常有效的方法。在大多情况下, 当事件发生时程序应该能处理它, 比如说, 当串口从缓冲区中接收到一个字符时, 程就都可以使用MSComm控件的On Comm事件进行事件触发, 以处理这些通信事件;On Comm事件还可以用来检查和处理通信错误。在程序的每个关键功能执行之后, 可以通过查看Comm Event属性的值来查询事件和错误。

在程序设计中, 可以在OnComm事件处理函数中加入自己的处理代码, 一旦事件发生即可自动执行这段程序。这种方法的优点是程序响应及时, 可靠性高。

在VB中串口通信功能的实现按如下步骤来进行:

(1) 添加MSComm控件, 因为该控件是非标准控件, 因此需要先把它加入到工具箱中。

(2) 设置通信端口号码, 即CommPort属性设置为程序中端口部分所选定的参数值。

(3) 设置传输速度等参数, 即Settings属性。传输速率为用户在程序中设定的值, 没有奇偶校验位, 8位数据位, 1位停止位。

(4) 打开通信端口, 即PortOpen属性设成True。

(5) 送出字符串或读入字符串, 由Input及Output属性实现。

(6) 串口通信完成后, 将通信端口关闭, 即将Port Open属性设置成False。

3.3 曲线绘制功能的实现

VB中PictureBox控件可以用来加载图片、显示文字、画图等, 本文使用该控件绘制曲线。首先需要PictureBox控件的一些属性进行设置, 如下:

接下来使用Line方法 (用于画线、画线段) 建立曲线x、y坐标及相应箭头, 使用Pset方法来画点以定义刻度, 使用Print方法在控件上显示“x”、“y”坐标轴标号及数据单位。最后, 用Line方法实现实时数据曲线的绘制。

3.4 数据存储功能的实现

VB具有强大的数据访问功能, ADO对象模型就是其提供的连接用户程序与数据库之间的一座桥梁, 它可以完成几乎所有的访问和更新数据源的操作。ADO对象模型由众多对象和集合组成, 包括Connection, Command, Recordset, Parameter, Field, Property和Error七个对象, 本文将用到的是前三种对象。

实现数据存储功能的设计步骤如下:

(1) 引用ADO的类型库。应用ADO对象模型前, 需要将ADO函数库设置为引用项目, 即单击“工程”菜单中的“引用”选项, 在弹出的对话框中进行选择。

(2) 声明Connection对象和Recordset对象。

(3) 创建对象的一个实例, 即Set cn=New Connection以及Set rs=New Recordset。

(4) 设置Connection对象的ConnectionString属性, 与数据库建立连接, 方法是:cn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=多路信号采集数据.mdb"。

(5) 使用open方法打开连接, 即cn.open。

(6) 使用open方法打开记录集, 即rs.Open"数据信息", cn, adOpenKeyset ad Lock Optimistic。

(7) 使用Recordset对象的Add New、Updata方法实现将数据存储到“多路信号采集数据.mdb”对应的数据库中。

(8) 使用close方法关闭Connection对象与物理数据源的连接, 并释放与之关联的系统资源。

4 总结

本文使用VB语言和Access数据库联合设计用户应用软件, 具有编程相对容易, 程序实现简单, 减轻了软件设计者的工作量, 并且该软件操作方便, 易于对通信对象进行控制, 解决了多路信号采集系统的参数设定、数据接收、数据实时显示、数据曲线绘制以及数据存储, 基本满足了用户对测量数据处理的要求。

参考文献

[1]郑阿奇.Visual Basic教程[M].北京:清华大学出版社, 2005.

[2]张瑜, 韩玉杰, 闵昆龙.基于VB的多路数据采集系统上位机软件设计[J].林业机械与土木设备, 2007 (1) :29-30.

[3]李长林.Visual Basic串口通信技术与典型事例[M].北京:清华大学出版社, 2006.

多路采集 篇7

多路信息采集是工控中常用的信息处理模块,它所采集的数据都是工业生产中经常需要控制的参数。因此,提出了基于μC/OS-Ⅲ的多路数据采集是应用在调整器中的一个主要功能模块,根据已给定的电压、电流、温度及功率等参数表,通过多路数据实时采集到的电压、电流、温度及功率等参数,及时进行控制可控硅的导通角来调整电压、电流、温度及功率等参数达到工业生产所需求的技术参数。多路信息采集处理方法具有可移植性,可用于任何嵌入式的多路信息采集处理设备中,具有广阔的应用前景。

2 硬件

2.1 ds PIC30F6014芯片

ds PIC30F6014是由全球领先的单片机和模拟半导体供应商Microchip的数字信号控制器,它采用高性能改进型RISC,把MCU和DSP无缝融合到一起。同时CPU模块采用16位数据位和24位指令位改良的哈佛架构,并带有增强型指令集包含对DSP的有力支持。由于ds PIC30F6014具有MCU和DSP双引擎,故其指令集有中两类指令:MCU类指令和DSP类指令。这两类指令无缝地集成到架构中并从同一个执行单元执行。处理器的整个数据空间64K字节,因芯片本身包含有DSP引擎,而DSP的许多操作都是并行执行的,因而数据空间被分成两部分,称为X和Y数据存储器。每个存储器块有各自独立的地址发生单元(Address Generation Unit,AGU)。由于MCU类指令都是通过X存储器AGU进行操作,所以将整个存储器映射空间作为一个线性数据空间访问。但是某些DSP指令支持双操作数同时读操作,这时就将数据空间分成X和Y数据存储器两个部分。ds PIC30F还具备丰富的允许器件与外界交换信息的外设。如:高灌/拉电流I/O引脚、5个16位定时器/计数器;可以把16位定时器配对形成32位定时器模块、3线SPI模块、两个可寻址并备具FIFO缓冲器的UART模块和高达200 Kips转换速率和多达16个输入通道的12位模数转换器[1](Analog-to-Digital Converter,ADC)。

2.2 A/D功能

用ds PIC30F6014芯片集成的A/D转换器(Analog-to-Digital Converter)来做信号的采集是非常方便的,主要工作就根据要采集的信号的采样速度和量化后数值的格式配置相关的寄存器,进行转换时,应遵循下列步骤[2]配置A/D模块:

(1)选择参考电压源以匹配模拟输入的预期范围。

(2)选择模拟转换时钟以便使预期的数据速率与处理器时钟匹配。

(3)确定采样发生的方式。

(4)确定输入分配到S/H通道的方式。

(5)选择转换结果出现在缓冲器中的方式。

(6)选择中断率。

(7)打开A/D模块。

3 软件

3.1 ds PIC6014初始化

ds PIC6014微处理器配置寄存器允许每个用户定制器件的某些方面以适应应用的需要。器件配置寄存器是程序存储器映射空间中的非易失性存储单元,在掉电期间它保存ds PIC6014器件的设置。这些配置寄存器保存器件的全局设置信息,如振荡器来源、看门狗定时器模式和代码保护设置等。

3.2 A/D配置

A/D转换主要是利用AN3-AN6通道分别采集电压,电流,温度,功率。然后将数据存储到ADCBUF中,然后将这些数据转送到微处理器处理,最后送LCD中显示。

A/D转换的主要寄存器配置程序如下:

A/D采样服务程序如图1所示。

3.3 μC/OS-Ⅲ裁剪和移植

μC/OS-Ⅲ的系统移植的主要工作就是有两个,中断处理程序的设计和时钟程序的设计[3,4,5,6]。中断处理程序的设计是嵌入式操作系统硬件抽象层中的重要组成部分,对于μC/OS-Ⅲ来说,每个中断程序必须用汇编语言编写。另外不同的编译器处理中断的方式是不一样的,ds PIC编译器为每个中断保留了一个中断函数名,中断发生时会自动跳到该中断函数执行。中断函数的工作流程为:先保存中断现场,如果是非中断嵌套,那么保存任务堆栈指针,清除中断位,恢复现场,调用C中断函数,中断退出,恢复现场,如果是中断嵌套,就不用保存任务堆栈指针,直接运行C中断函数并接着执行。系统时钟的设计μC/OS-III同其他大多数计算机操作系统一样,用硬件定时器产生一个周期为毫秒中断来实现系统时钟。本设计使用ds PIC的定时器1作为系统时钟,其初始化过程为:先清除定时器的计数器,选定内部时钟源;再设置预分频比、中断周期(定为10毫秒)、中断优先级;最后清除中断标志位,中断使能,开启定时器。

μC/OS-Ⅲ的主要文件结构:(1)APP.C和APP.H是主要应用程序文件;(2)*.h和*.c是生产厂商为CPU所提供库文件;(3)BSP.C和BSP.H主要包含的是目标板上的外设接口函数;(4)OS_CFG_APP.C等文件是μC/OS-Ⅲ与CPU无关的代码文件,并且是μC/OS-Ⅲ的核心文件;(5)OS_CPU H等文件是μC/OS-Ⅲ是与CPU相关的文件,在移植μC/OS-Ⅲ时,需要修改的文件;(6)CPU.H等文件的主要内容是总结了CPU的主要功能,如开启和关闭中断;(7)LIB文件提供了一系列的基础的功能,如:串的操作;(8)OS_CFG.H和OS_CFG_APP.H主要定义了μC/OS-Ⅲ的一些特性[7]。

μC/OS-Ⅲ的文件结构如图2所示。

4 结语

详细地阐述了基于μC/OS-Ⅲ的多路采集的设计和实现,使用了ds PIC30F6014作为微处理器,来实现4路信息采集。经验证,系统可以实时的采集多路信息并通过μC/OS-Ⅲ的操作系统进行多任务调度及时处理,达到调整器所需求控制的电压、电流、温度及功率等技术指标。此设计方案具有很强的通用性,只须将本系统中的ds PIC30F6014A微处理器换成其他处理芯片,按照叙述的方法做相应的修改即可实现对信号的采集和存储处理,可实现对数据的实时采集,具有很广阔的应用前景。

参考文献

[1]Microchip Technology Inc.dsPIC30F Enhanced Flash 16-BitDigital Signal Controllers General Purpose and Sensor Fam-ilies Data Sheet[EB/OL].www.microchip.com,2006.

[2]王芳.高速信号采集处理系统及其应用研究.西北工业大学硕士论文,2006.

[3]任哲.嵌入式实时操作系统μC/OS-II原理以应用[M].北京:北京航空航天大学出版社.

[4]戴琪华,戴曙光,穆平安.μC/OS实时响应问题的解决方法.上海理工大学学报,2002,24(1):73-75.

[5]陈强,王建华.μC/OS-II任务调度机制的改进.单片机与嵌入式系统应用,2004,(1):79-81.

[6]张旭,牛连强,付红旭.μC/OS-II内核任务调度模块的分析与改进.单片机与嵌入式系统应用,2005,(4):71-72.

上一篇:策略设计模式下一篇:档案评价