电脑桌面
添加盘古文库-分享文档发现价值到电脑桌面
安装后可以在桌面快捷访问

多路数据采集系统设计

来源:文库作者:开心麻花2025-11-191

多路数据采集系统设计(精选10篇)

多路数据采集系统设计 第1篇

随着物联网技术的发展与应用,A/D数据采集是其中一项重要的研究课题,A/D多路采集系统实现方案可以多种,通过对三种实现方案进行比较,最终采用STM32系列ARM芯片进行设计。STM32是基于ARM Cortex-M3内核的32位处理器,具有杰出的功耗控制以及众多的外设,并具有极高的性价比,目前正逐渐抢占了电子领域原有的51、AVR的市场。本设计中采用STM32F103RBT6作为主控制器[1],该芯片配置丰富,便于今后的系统功能扩展。

1 方案比较与论证

为实现多路数据采集要求,提出如下三种设计方案:

(1) 基于单片机的数据采集系统[2,3]

本方案采用双单片机的方法,即在数据采集的远端、近端均采用单片机控制,远端完成数据的采集、抽样、发送;近端完成数据的接收、校验、处理和显示等,键盘控制数据显示。在近端与远端的通信中,采用RS 485差分方式接口,以提高通信速度与传输距离。该方案存在不足之处是:A/D接口和RS 485接口编程不方便,采集信号的频率范围和速率较低,实用性不大。

(2) 基于CPLD的数据采集系统[4]

采用CPLD对A/D芯片的采集控制,通过USB接口传输给上位机,优点是可以实现高的采集速率和采集精度,有着较大的实用性,但难点之处是CPLD对A/D模块的控制,及单片机对USB的配置。

(3) 基于ARM的数据采集系统

本方案主控器采用STM32系列的ARM芯片,方案如图1所示。

此方案中A/D转换器为ARM芯片内置,采集的方式、起始时间和持续时间由上位机通过RS 232口控制,数据通过USB接口传输至上位机保存。考虑到使用笔记本作为控制上位机时没有232接口,使用USB转232的电缆提供RS 232控制信息。

由于A/D芯片内置,芯片价格也便宜,电路设计较前面的简单,且ARM自带的A/D采集方式多样,并可以通过配置ARM芯片内相应的寄存器就可以实现,因此实现简便。考虑到后面的扩展需要和应用的广泛与实用性,本设计采用此方案。

2 系统设计原理[5,6,7]

电路设计原理如图2所示。

该电路主要由电源模块, 主控器模块, 显示模块,SD卡模块,USB转232模块等几个部分组成。

(1) 主控制器

采用STM32F103RBT6作为MCU,其性价比很高,该芯片具有20 KB SRAM、128 KB FLASH、3个普通的16位定时器、1个16位的高级定时器、2个SPI、2个I2C、3个串口、1个USB、1个CAN、2个12位的ADC、51个通用I/O口。因为主控器STM32是3.3 V供电的,所以需要将USB的5 V电压转换为3.3 V。这里采用电源线性稳压芯片AMS1117-3.3,将5 V转换为3.3 V。

(2) 液晶显示

电路中采用通用的LCD接口,支持8位或者16位总线或者SPI的液晶屏。该模块采用TFTLCD面板(薄膜晶体管液晶显示器),可以显示16位色的真彩图片,提高数据显示效果,同时也可以将采集数据以图形曲线的方式形象的表现出来。该模块有2.4′/2.8′两种大小的屏幕可选,320240的分辨率,16位真彩显示,自带触摸屏。接口采用80并口与外部连接,采用16位数据线。

(3) JTAG

采用标准的JTAG接法,STM32的SWD接口与JTAG是共用的,只要接上JTAG,也可以使用SWD模式下载并调试代码,多数情况下使用SWD来下载调试代码,节省资源、而且下载速度也快。

(4) SD卡

利用SD卡,扩大容量存储设备,用来实时保存采集的数据,既可以弥补没有上位机的情况,也更方便于事后对大量的数据的分析与处理。

(5) A/D采集

STM32本身拥有1~3个ADC,这些ADC可以独立使用,也可以使用双重模式(提高采样率)。STM32的ADC是12位逐次逼近型的模拟数字转换器。它有18个通道,可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中。最大的转换速率为1 MHz,也就是转换时间为1 μs。

3 软硬件综合调试结果

编写数据采集、触摸屏控制、上位机控制程序和液晶显示模块程序主要几个模块,将程序下载并进行系统调试,最终效果如图3,图4所示。

系统可以通过触摸屏选择实现对8路数据的单路采集或多路循环采集模式,数据采集的结果可在液晶屏上显示,也可传输给上位机或保存在SD卡中。通过比较被测电压和数据采集到的电压值,测量精度符合设计要求。

4 结 语

本系统电路简单,成本低,并具有一定的可扩展性和实用性。ARM自带的A/D采集方式多样,可以通过配置ARM芯片内相应的寄存器就可以实现,因此实现简便。主控器STM32芯片是基于ARM Cortex-M3内核的32位处理器,具有杰出的功耗控制以及众多的外设,具有极高的性价比,在工业控制、消费类电子产品、通信系统、网络系统、无线系统等多个领域具有广泛的应用前景,因此值得研究和推广。

参考文献

[1]意法半导体.STM32中文参考手册[M].10版.上海:意法半导体(中国)投资有限公司,2010.

[2]全国大学生电子设计竞赛组委会.全国大学生电子设计竞赛获奖作品选编(1994—1999)[M].北京:北京理工大学出版社,1997.

[3]黄智伟.全国大学生电子设计竞赛系统设计[M].北京:北京航空航天大学出版社,2008.

[4]王振红,张斯伟.电子电路综合设计实例集萃[M].北京:化学工业出版社,2008.

[5]刘军.例说STM32[M].北京:北京航空航天大学出版社,2011.

[6]刘同法,肖志刚,彭继卫.ARM Cortex-M3内核微控制器快速入门与应用[M].北京:北京航空航天大学出版社,2008.

[7]李宁.基于MDK的STM32处理器开发应用[M].北京:北京航空航天大学出版社,2008.

[8]陈尚松.电子测量与仪器[M].北京:电子工业出版社,2005.

[9]蔡畅,戚文军.数据采集系统设计[J].现代电子技术,2012,35(1):128-130.

多路数据采集系统设计 第2篇

基于PCI总线的多路数据总线接口设计与实现

提出了一种主处理机可以直接控制的1553B总线接口模块的设计与实现方案,并简要介绍了其硬件结构、工作过程和软件开发.利用PCI协议芯片实现PCI局部总线与军用1553B总线的.桥接,采用WDM技术编写驱动程序.所设计的总线接口模块符合MIL-STD-1553B总线标准,具有结构简单、成本低廉、操作方便等特点,可用于仿真,开发1553B总线产品.

作 者:张伟 吴勇 ZHANG Wei WU Yong 作者单位:西北工业大学,陕西,西安,710072刊 名:火力与指挥控制 ISTIC PKU英文刊名:FIRE CONTROL AND COMMAND CONTROL年,卷(期):200732(1)分类号:V247.1 V247.1+9关键词:1553B 总线接口 开放式体系结构

多路数据采集系统设计 第3篇

关键词:气象数据;Linux ARM;串行通信

中图分类号:TP368.2 文献标识码:A文章编号:1007-9599 (2011) 15-0000-02

Multi-Channel Weather Data Serial Communication Design Based on ARM System

Huang Jiansong,Wu Yue,Hu Hanfeng

(Institute of Atmospheric Physics,Nanjing University of Information&Technology,Nanjing210044,China)

Abstract:In this paper,multi-field weather observation data transfer and storage requirements,a core processor with ARM9 S3C2440 development platform,focusing on the serial communication interface is designed.Paper describes meteorological data multiple serial communication research background and significance of structures based on the ARM S3C2440 processor hardware platform and Linux-based development environment,and established under Linux cross-compiler for ARM board environment,prepared serial communication applications and its structure was analyzed.

Keywords:Meteorological data;Linux ARM;Serial communication

一、引言

隨着大气探测科学研究的深入和传感器技术的进步,各类气象传感器和大气探测设备在科学试验和日常业务中正在发挥日益重要的作用。如今在进行外场试验时,通常会使用较多类型的探测设备观测各种气象要素和环境参数。这些探测设备一般具有串行通信接口,以便向上位机传输数据。如果使用普通计算机接收各类观测数据,通常需要多台PC机,并且数据的收集和存储将会变得非常麻烦。而以ARM核为处理器的嵌入式数据采集系统具有功耗低、体积小、接口多、程序编写调试方便等特点。因此,鉴于国内外气象数据采集系统的发展趋势,结合串行通信技术和ARM系统的特点,本文在一款以ARM9 S3C2440为核心处理器的开发平台上,重点对串口进行设计,以实现多路气象数据串行通信数据的传输和存储。

二、嵌入式系统硬件部分设计

作为嵌入式系统的核心,选择一款合适型号的ARM芯片非常重要。经过多方调研,本文的硬件部分采用以三星公司生产的S3C2440芯片为处理器的ARM9开发板。该开发板提供3个独立UART接口,可外接多路串行通信智能传感器,实现传感器与开发板间的数据传输与控制。

利用RS232串口线以及USB数据线连接好宿主机和目标,通过执行BIOS功能指令和运行dnw.exe软件,即可实现数据的烧写和下载。在windowsXP系统中,通过建立一个超级终端,设置好串口参数,进入BIOS模式界面。之后安装好ARM板的USB驱动,配合使用dnw.exe软件,就可以实现ARM板和电脑之间的Linux系统和应用程序文件的移植和烧写。

三、嵌入式系统软件开发平台的搭建

建立嵌入式系统开发平台,首先要在宿主机和目标机上安装指定的操作系统。根据本文设计要求选择Linux系统。对于一般的PC机,通常都带有windows系统,因此,宿主机的操作系统选择虚拟系统Red Hat Linux5.0,使用虚拟机(Vmware-workstation)的方式建立开发环境。

安装好Vmware,即可在宿主机上安装Red Hat 5.0 Linux系统。首先根据宿主机的配置来确定虚拟机的内存和硬盘配置。虚拟机硬盘大小根据目标需求分配,默认为8G。本文选择利用虚拟光驱来安装系统。系统安装完毕后即可设置ARM板的交叉编译环境,在Linux系统下安装arm-linux-gcc编译器。

构建嵌入式系统的软件开发平台,需要在ARM板上安装Linux系统。利用之前安装好的USB驱动和dnw.exe软件,通过操作BIOS模式的指令完成Linux系统的安装。Linux系统的安装过程主要包括以下几个步骤[1]:对Nand Flash进行分区、安装BootLoader、安装Linux内核文件、安装根文件系统。

四、数据采集功能程序设计

本文的设计目的是利用RS-232串口实现气象仪器与嵌入式系统之间的数据传输和存储。因此,设计的嵌入式系统的工作流程[2,3]是:首先系统上电进行初始化操作系统和外设模块操作,然后就可以运行特定的应用程序,流程图如图1所示。

图1:嵌入式系统串口通信应用程序流程图

其中初始化部分由设备驱动程序来完成。RS-232串口驱动程序主要包括串口初始化,字符发送程序,字符接受程序等。应用程序部分包括打开串口和文件,重新设置串口参数,读取数据,将数据存储到SD卡中,关闭串口和文件。由于驱动程序代码无需自行编译,因此,以下只对应用程序关键部分进行分析。

(一)打开串口和文件:通过使用标准的文件打开函数open(参数1,参数2)来实现的[4]。设备的打开方式本文选择可读可写方式。程序中三个串口的打开方式都一样,只是路径不同,所以在程序的开始,将设备和文件的路径定义为字符串常量,将其分别放在两个数组中,从而简化应用程序。

(二)设置串口信息:Linux系统中定义了一个查询和操纵各种终端的标准接口,称为termios。它包含了各终端特性的完整描述,相关联的函数可以查询和修改这些特性。在本设计中,串口参数分别设置为:波特率115200、8位数据位、无校验方式、无数据流控制、1位停止位。

(三)串口数据的读写:串口数据的读写类似于文件数据的读写。向串口发送数据,使用write()函数;而读取串口数据,使用read()函数。读写函数的返回值分别为函数读到或写入的数据的字节数。若返回值为-1,则表示出错。对于read函数,若返回值为0,则表示已经到达文件尾[5,6,7]。在打开串口和文件并设置好串口信息之后,每隔一段时间依次读取三路串口的数据,同时将读取数据存在SD卡中,存储格式为二进制。

应用程序编写完成后,在arm-Linux-gcc交叉编译环境中编译。利用交叉调试器进行分析和调试,使得该应用程序能够在开发板上运行,从而实现气象传感器与嵌入式系统之间的通信。

五、结论与展望

本论文利用嵌入式技术,搭建了基于ARM芯片S3C2440的硬件平台和基于嵌入式Linux系统的软件平台,并在Linux系统下建立了针对ARM板的交叉编译环境。根据实际需要,编写了嵌入式Linux系统下的串口通信应用程序,初步实现了多路RS-232串口的数据传输和储存。其应用程序还有待于进一步开发,例如实现应用程序的界面化、实时分析显示数据等功能。

参考文献:

[1]张景璐,杜辉,吴友兰.ARM9嵌入式系统设计与应用案例[M].中国电力出版社,2008,16

[2]李筠,邬登风.基于linux的RS-232C串口通信的研究[J].仪表技术,2010,7:43-47

[3]云霞,曾连荪.基于VC++6.0的RS-422串口通信设计[J].信息技术,2010,9:73-75

[4]刘盛辉.嵌入式多路数据采集平台的开发与研究[D].长安大学硕士学位论文,2006,47-55

[5]刘小成,朱佳华,林峰.Linux下串口通信在工业控制方面的应用技术[J].机械制造与自动化,2010,12,39(6):96-98

[6]马洪连.嵌入式系统设计实验教程[M].大连理工大学出版社,2007,6:65-79

多路图像采集系统的设计 第4篇

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个分系统的数据对时功能, 完全达到了设计要求。

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

一种多路温度检测系统的设计 第5篇

[关键词] 温度检测 设计 巡回检测 RS-485

多路温度的检测在现代许多场合,在工业、农业、日常生活等方面都广泛应用,如程控交换机室对温度的限制,粮仓中粮温的检测以及区域性森林防火等,都需要大范围集散分布检测点对温度等进行监测。

该系统以8051单片机系统为核心,采用RS-485串行通讯标准,通过上位PC机发出各种控制命令,对各从单片机控制系统从机进行现场温度采集,然后将数据送回主控PC机中进行数据处理。

一、系统整体设计

温度检测系统以8051单片机系统为核心,能对温度进行实时控制检测。检测单元测量结果通过显示电路显示出来,而且可以利用单片机串行口。系统框图如图1:

图1原理框架

本系统可实现多机互联,用来检测多点温度,并进行统一观察,具有实时检测功能,能够检测温度范围0℃~400℃。而且使用12位AD转换,采用过采样和工频周期求均值技术,分辨率达到16位,检测温度变化最小值达到0.007℃。可设置温度报警上下限,进行设置系统时间和温度修正值,具有声光报警功能,可显示当前温度、时间、报警阈值等信息,多机互联时从机之间可通过主机中转进行通信,根据用户需要观察其他从机实时温度值。

二、温度检测系统设计和温度信号的放大

热电阻测温是基于金属导体的电阻值随温度的增加而增加这一特性来进行温度测量的。所以通常将其放在电桥桥臂上,温度变化时,热电阻两端的电压信号被送到仪器放大器AD620的输入端,经过仪器放大器放大后的电压输出送给A/D转换芯片,从而把热电阻的阻值转换成数字量。电路原理图如图2所示。对信号放大,我使用了低价格、高精度的仪器放大器AD620,它运用方便,可以通过外接电阻方便的进行各种增益(1-1000)的调整。其增益计算公式为:。由于A/D检测到的模拟电压值,计算可到RT值,然后利用公式求出温度值:其中。

实际测量中,为提高测量精度,我们分两挡进行测量,当温度处于0℃~199.9℃时,继电器J2所在桥臂电阻为 ,继电器J1选择AD620的反馈电阻R5,温度处于-199.9~0℃时,控制继电器J2将电阻R31串接上,并相应控制继电器J1选择R6做为AD620的反馈电阻,在切换桥臂电阻时同步改变放大倍数,从而达到自动改变量程、提高测量精度的目的。

图2热电阻测温电路图

三、系统主要电路设计

1.通讯电路的设计

由于单片机串行口输出的是TTL电平,要想实现多机通讯,必须要将其转换成常用的串行通信总线标准接口电平,如RS-232或RS-485。其中RS-232适于短距离或带调制解调器的通信场合,其逻辑电平与TTL、MOS逻辑电平完全不同,需要用MAX232驱动芯片进行电平转换。其主要缺点是数据传输速率慢、传送距离短(不超过30m),抗干扰能力差。RS-485标准接口为差分驱动结构,它通过传输线驱动器把逻辑电平变换为电位差,完成信号的传递,具有传输速率快、传送距离长(可传1200m)、抗干扰能力强等优点,允许一对双绞线上一个发送器驱动多个负载设备。所以本系统使用RS-485总线进行传输,采用MAX485驱动芯片进行电平转换。

2.主机电路的设计

主控机主要负责控制从机,包括设置从机信息和收集从机检测信号,然后将收集到的数据进行存储、分析、显示、打印,并能根据用户设置的报警阈值进行声光报警。这部分的硬件电路设计除了键盘、液晶、打印机等常规外设外,增加了一片24C04用来保存温度数据,另外,增加了一片日历时钟芯片PCF8563。

24C04是基于I2C总线的串行E2PROM,存储容量512个字节,它占用单片机资源很少,仅占用了两根I/O线,数据一旦写入可保存100年,避免了普通RAM掉电保护的麻烦,非常适合于各类仪器仪表和控制装置的参数保存。

主控机每个整点收集一次数据,并将数据保存到E2PROM。每个温度数据占用2个字节,这样,我们设计共保存24组历史数据,占用192个字节。当存满24组数据后,整点再次接收数据时,将最早保存的数据删除,其他数据依次前移为新数据空出位置。

PCF8563是低功耗的CMOS实时时钟或日历芯片,它提供一个可编程时钟输出,一个中断输出和掉电检测器,所有的地址和数据通过I2C总线串行传递。

四、结论

在本设计中,实现了用PC机代替单片机作为检测系统的主控制器,可实现在各种环境下对多点温度的远距离测量,另外通过系统的软件控制可随时设置系统时间及温度的修正;具有实时检测功能,具有巡检速度快,扩展性好的特点。

参考文献:

[1]李朝青:单片机原理及接口技术[M].北京:北京航空航天大学出版社,2003

[2]李文英刘星:微机原理与接口技术[M].北京:清华大学出版社,2001

基于单片机的多路数据采集系统设计 第6篇

1 硬件结构设计

整个数据采集模块主要有五大部分组成, 分别为ATmega8单片机组的控制电路、LCD12864显示电路、由MAX487组成的485通信电路、AT24C64组成的数据存储电路、键盘电路、A/D转换电路, 电源部分没有在电路图上表示出来, 整个系统的硬件电路如图1所示。

ATmega16单片机是整个系统的控制核心, 其是一款高性能、低功耗的8位微处理器, 其采用先进的RISC结构;运算速度快, 当工作于16MHz时性能高达16MIPS;带有16K字节的系统内可编程Flash (具有同时读写的能力, 即RWW) , 512字节EEPROM, 1K字节SRAM, 32个通用I/O口线, 32个通用工作寄存器, 支持片内调试与编程, 有起始条件检测器的通用串行接口, 8路10位具有可选差分输入级可编程增益的ADC。ATmega16驱动能力强, 当工作在5V时其I/O口的输出电压可达5 V, 每个I/O口的输出电流可达40 mA。数据采集是整个系统的核心, 由于ATmega16单片机自带8路10位A/D, 所以系统不再需要单独的ADC芯片。变送器、传感器的输出回路通常是4~20mA的电流信号, 要将其变为1~5V的电压信号才送到单片机AD, 所以需要在回路上添加一个250欧的精密电阻。ATmega16有一个10位的逐次逼近型ADC。ADC与一个8通道的模拟多路复用器连接, 能对来自端口A的8路单端输入电压进行采样。单端电压输入以0V (GND) 为基准。ADC由AVCC引脚单独提供电源, AVCC与VCC之间的偏差不能超过±0.3V。基准电压可以通过在AREF引脚上加一个电容进行解耦, 以便更好地抑制噪声。

现场显示通过LCD12864来实现, 其是一种具有4位/8位并行、2线或3线串行多种接口方式, 内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块。其显示分辨率为12864, 内置8192个16*16点汉字和128个16*8点ASCII字符集, 利用该模块灵活的接口方式和简单、方便的操作指令, 可构成全中文人机交互图形界面。可以显示84行1616点阵的汉字, 也可完成图形显示。单片机的PD口作为LCD12864的数据线, PC3~PC7口为控制总线, 可变电阻RV1用来调节显示屏的亮度。单片机的PB5~PB7为键盘电路, 可以用来输入信息, 每个引脚接1K的上拉电阻, 可以在程序中设置为沿触发。

现场采集的信号通过AT24C64存储, AT24C64是一个64K位串行CMOS E2PROM, 内部含有8k个8位字节, CATALYST公司的先进CMOS技术实质上减少了器件的功耗。该器件通过IIC总线接口进行操作, 有一个专门的写保护功能。AT24C02支持I2C, 总线数据传送协议I2C, 总线协议规定任何将数据传送到总线的器件作为发送器。任何从总线接收数据的器件为接收器。数据传送是由产生串行时钟和所有起始停止信号的主器件控制的。主器件和从器件都可以作为发送器或接收器, 但由主器件控制传送数据 (发送或接收) 的模式, 由于A0、A1和A2可以组成000~111八种情况, 即通过器件地址输入端A0、A1和A2可以实现将最多8个AT24C64器件连接到总线上, 通过进行不同的配置进行选择器件。在本设计中由于只接一个AT24C64, 所以将A0、A1和A2同时接地。

为了将现场采集的信号送到主机, 本设计选择RS485总线, RS485总线是一种基于平衡发送和差分接收的串行总线, 具有很强的抗共模干扰能力, 在适当的波特率下传输距离远。同时由于其硬件设计简单而广泛使用在工业控制中。RS485接口电路采用MAX487实现TTL与RS485间的电平转换。

2 软件设计

在整个系统中, ATmega16单片机控制整个电路系统的协同工作。ATmega16首先进行初始化设置, 其中包含系统初始化 (这主要是引脚寄存器的设置) 、AT24C64、LCD12864以及MAX487的初始化操作。初始化完成后, 单片机将依次通过PA口读取各路的模拟电压, 将其通过转换为数字量, 并将其在LCD12864上显示, 同时AT24C64实现数据的存储, 数据也可以通过485总线将信号发送至主机。限于篇幅, 以下只描述ATmega16单片机的AD转换和MAX487的通信过程, 其他模块将不在描述。

ADC通过逐次逼近的方法将输入的模拟电压转换成一个10位的数字量。最小值代表GND, 最大值代表AREF引脚上的电压再减去1 LSB。通过写ADMUX寄存器的REFSn位可以把AVCC或内部2.56V的参考电压连接到AREF引脚。在AREF上外加电容可以对片内参考电压进行解耦以提高噪声抑制性能。模拟输入通道可以通过写ADMUX寄存器的MUX位来选择, 任何ADC输入引脚, 都可以作为ADC的单端输入。通过设置AD-CSRA寄存器的ADEN即可启动ADC。向ADC启动转换位ADSC位写"1”可以启动单次转换。在转换过程中此位保持为高, 直到转换结束, 然后被硬件清零设置ADCSRA寄存器的ADC自动触发允许位ADATE可以使能自动触发。设置ADCSRB寄存器的ADC触发选择位ADTS可以选择触发源。当所选的触发信号产生上跳沿时, ADC预分频器复位并开始转换, 转换结束后, 即使触发信号仍然存在, 也不会启动一次新的转换。

MAX487有2个控制端RE和DE, 1个TTL (CMOS) 数据接收RO端和1个TTL (CMOS) 数据发送端DI, 以及1对RS485差分信号端A和B。当TXD为高电平时, 经74HC04反向为低电平, 使得RE=0且DE=0, 接收器R打开, 驱动器D关闭, 此时MAX487处于数据接收允许状态;当TXD为低电平时, 经74HC04反向后, DE/RE为高电平, 使接收器R关闭, 驱动器D打开, 此时MAX487处于数据发送允许状态。

3 结语

给出一种多路数据采集系统的设计方案, 其具有低成本、结构简单、通用性强、易于维护等特点, 特别适合在工业控制中, 具有广泛的应用前景。

摘要:数据采集系统在石油化工行业广泛应用, 文章给出一种ATmega16单片机控制的多路数据采集系统的设计方案。单片机将现场采集的多路模拟信号转换为数字量, 通过LCD12864将其在现场显示, 通过AT24C64将数据进行存储, 现场采集的信号还可以通过485总线传输至上位机。

关键词:单片机,总线,多路数据采集

参考文献

[1]ATMEL.ATmega16 datasheet[EB/OL].http://www.atmel.com/Images/Atmel 2486 8 bit AVR microcontroller ATmega16_L_datasheet.pdf.

[2]AT24C64 DataSheet.pdf.http://www.icfull.com/AT2_datasheet/AT24C64.html

多路数据采集系统设计 第7篇

数据采集技术是信息科学的重要分支之一, 它研究信息数据的采集、存储、处理以及控制等问题。它是对传感器信号的测量与处理, 以微型计算机等高技术为基础而形成的一门综合应用技术。数据采集也是从一个或多个信号获取对象信息的过程。随着微型计算机技术的飞速发展和普及, 数据采集监测已成为日益重要的检测技术, 广泛应用于工农业等需要同时监控温度、湿度和压力等场合。数据采集是工业控制等系统中的重要环节, 通常采用集成的FPGA系统来实现, 作为测控系统不可缺少的部分, 数据采集的性能特点直接影响到整个系统。

2 系统总体设计

系统用ADC0809对模拟信号进行采样, 转换为数字信号, 由可编程逻辑器件读入, 再送到CB模块中, 将数字信号转换为模拟信号。用可编程逻辑器件实现对ADC0809的控制, 由于采用查询信号EOC的方式, 所以可达到ADC0809的最高速度。

数据处理单元就是主控器, 其主要包括键盘控制模块、显示控制模块、串并数据转换模块、数据转换模块、数据显示控制模块设计。八路数据采集器将各路模拟信号分别转换成8位二进制数字信号, 用串行码送入传输线路。主控器串行传输线路对各路数据进行采集和显示, 采集方式包括循环采集 (即1路、2路8路、1路、) 和选择采集 (任意一路) 。显示部分能同时显示地址和相应的数据。

2.1 键盘控制模块

键盘模块的功能是:按9号键循环显示各路地址和数据;按1 ~ 8号任意键显示任意一路的地址和数据, 该控制模块中DISP_DATA是数码管显示译码输出, 它的工作由CLK信号和KEY_LIE (列输入) 决定, KEY_HANG为行输出, 将会和KEY_LIE相并然后在输出, DATA_P和DATA_PP为二一十进制数的输出和小数点, 键盘控制模块包括:行键值输出、键值锁存和键值合成。键值锁存模块将按下按键的行、列信息锁存, 并交由键值合成模块, 该模块配合行键输出模块输出的结果, 最终确定键值并输出。

2.2 显示控制模块

显示控制模块CONTROL主要是由键盘输入来的数据进行选择通路进行键盘值的数据输出。当键盘值是9的时候, 循环输出选择通路地址000、001、010、011、100、101、110、111和1、2、3、4、5、6、7、8通道号。当键盘值是0——8任意值的时候, 单独数据采集显示;如当键盘值是1时, 选择通路地址d_out输出001, key输出1数字。

2.3 串并数据转换模块

串并数据转换模块的主导思想是将串行数据变成并行数据输出。对上一模块中的通道数据的串行输入进行串并转换, 然后输出PAR_OUT ( 通道地址加通道数据 ) 。

2.4 数据转换模块

数据转换模块将采集的个通道数据存储下来, 并根据键盘所选择的通道选择对应通道的数据, 用U0=-U0×D/28将其转换成与模拟电压对应的二进制数据, 其中D为数字量的十进制数, 再将二进制转换成二一十进制数, 在传到下一模块。

2.5 数据显示控制模块

由数据转换模块中传过来的二一十进制数据和键盘数据经由数码管数据的循环控制, 并在数码管中选通, 最后在数码管上显示数据。串并转换模块的输出端PAR_OUT与数据转换模块中的输入端C_IN连接, 键盘模块的输出端DATA_P ( 二一十进制数输出 ) 与显示控制模块的输入端D_IN (二一十进制数输入) 连接, 显示控制模块的输出端D_OUT (通路数据输出) 和KEY (键盘值数据输出) 分别与数据转换模块的D_IN (键盘选择的通道数据输入) 和KEY_IN (键盘值的数据输入) 连接, 最后数据转换模块的输出端KEY_OUT (键值的显示输出) 、C_OUT1、C_OUT2、C_OUT3、C_OUT4 (数据的显示输出) 与数据显示模块的KEY_IN ( 键盘数据输入 ) 、D_IN1、D_IN2、D_IN3、D_IN4 (二一十进制数据) 连接, DISP_OUT为数码管显示数据。

3 仿真结果分析

(1) 键盘模块设计仿真, 此模块的主要功能是按9号键循环显示各路地址和数据, 按1 ~ 8号任意键显示任意一路的地址和数据。Key_lie为列输入, key_hang为行输出, 循环输出行信号1110、1101、1011、0111, disp_data为数码管显示译码输出。

(2) 显示控制模块设计仿真, 当键盘值是9的时候, 循环输出选择通路地址000、001、010、011、100、101、110、111和1、2、3、4、5、6、7、8通道号。当键盘值是0 ~ 8任意值的时候, 单独数据采集显示。如当键盘值是1的时候, 选择通路地址d_out输出001, key输出1数字。

(3) 数据转换模块设计仿真, 根据键盘所选择的通道选择对应通道的数据, 将二进制数转换成十进制数 . 如键入key_in=1001, 键盘选择通道数据输入111, 则key_out输出0111。

(4) 数据显示控制模块设计仿真, 将会在数码管上显示数据。disp为数码管扫描, disp_out为数码管数据, 八位分别为小数点 .g..a, 如当disp_out=00111111时, 数码管显示0, 当disp_out=00000110时, 数码管显示1。

(5) 系统总体仿真图

4 结论

在顶层设计实体中将各子功能模块相连, 通过设计输入、综合分析、仿真验证等步骤后, 仿真结果验证了系统的核心模块都能正常工作, 实现了8路数据的采集功能。

参考文献

[1]王振红, 赵新建.数据采集以及监控系统[M].北方工业大学出版社, 2003.

多路矩阵开关信号采集系统设计研究 第8篇

关键词:矩阵信号,单片机,HD7279

1 引言

多路矩阵开关信号采集传输系统可广泛应用于各种场合,但一般来说必须具有以下功能才能够达到我们实用的目的。首先必须具有数据采集功能,该功能部分能够完成数据的有效采集和编码,将模拟信号转化为二进制信号,其次,数据传输部分能够完成对数据的可靠传输;第三,该系统的处理单元要能够完成集中控制和数据管理储存,并完成向计算机的数据传输;第四,该系统要能够实时显示采集的数据。基于这些要求我们对系统进行设计。

2 系统概要设计

开关信号采集的系统传统上采用分立元件,如利用74LS148芯片进行设计,但系统不具备足够的信息储存能力,对信息的记忆能力较差。如果信号输入过快,就会造成信息丢失,达不到效果。

考虑到系统的实际需求和设计完整性,我们采用带有储存单元的HD7279芯片和单片机AT89S51来完成系统设计。芯片集成度高,数据信息不会丢失,可以提高信号传输的有效性和可靠性,更好的达到有效的采集和传输数据的目的,而且比较经济。多片HD7279之间都是并行关系,可同时对若干个终端进行信号的采集与传输,单片机主要是对多片HD7279进行控制,并将HD7279传输来的信号暂时储存在单片机中,由单片机实现与计算机之间的通信,把HD7279来得信息传输到计算机中。该系统的原理图如图1。

该系统由数据采集单元、单片机控制单元,通信传输单元组成。DB25接口可以外接所需的矩阵开关信号终端,扩大此系统的应用范围。数据采集单元有信号输入时,就向单片机发出中断请求,通过键盘扫描单片机对数据进行采集并储存在各个串口的寄存器中,然后由单片机通过串行通讯接口逐个将各路信号数据传输到计算机中。

3 主要芯片功能

3.1 AT89S51单片机

AT89S51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。其主要管脚说明如下:[1]

VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口。

3.2 HD7279芯片

HD7279是一片具有串行接口的,可同时驱动8位共阴极式数码(或64支独立LED)的智能显示驱动芯片,该芯片同时还可连接多达64键的键盘矩阵,单片即可完成LED显示、键盘接口的全部功能。HD7279内部含有译码器,可直接接受BCD码或16进制码,并同时具有2种译码方式,此外,还具有多种控制指令,如消隐、闪烁、左移、右移、段寻址等。HD7279具有片选信号,可方便地实现多于8位的显示或多于64键的键盘接口。其特点如下:[2]

1)串行接口,无需外围元件可直接驱动LED

2)各位独立控制译码/不译码及消隐和闪烁属性

3)(循环)左移/(循环)右移指令

4)具有段寻址指令,方便控制独立LED

5)64键键盘控制器,内含去抖动电路

HD7279A需要一外接的RC振荡电路以供系统工作,其典型值分别为R=1.5KΩ,C=15p F。

4 电路设计

4.1 单片机控制电路设计

由于单片机AT89S51有P0、P1、P2、P3四个I/O接口组,一共有32个独立的I/O通道。应此我们采用单片机的P0作为数据端口,P0口的每个I/O口分别和HD7279的DATA口相连,作为数据传输通道。P1口与HD7279的片选CS相连,每个口接一个HD7279的片选端。P2口接HD7279的KEY端子,P1口给出片选信号,让对应终端进行数据的采集,让后将采的的数据传输到P0端口,并保存在P0端口的寄存器当中。同时,单片机将数据进行转移到单片机的串口当中,由串口和计算机进行数据的传输。[3,4,5]

该部分的电路设计如图2。

4.2 数据采集单元的设计

数据采集单元主要是由HD7279芯片来完成,通过接入64位键盘,对所采集到的数据具有保存的功能。图3是对这部分的具体设计。

4.3 按键部分设计

按键部分的原理电路下图所示。键值赋值的最直接办法是将行、列线按二进制顺序排列,当某一键按下时,键盘扫描程序执行到给该列置0电平,读出各行状态为非全1状态,这时的行、列数据组合成键值。以上图为例,从左到右、从下到上依次是77,7B,7D,7E;B7,BB,BD,BE;;E7,EB,ED,EE。这时键值依次为88,84,82,81;48,44,42,41;;18,14,12,11。

其主要工作方式主要包括:

4.3.1 编程扫描工作方式

编程扫描工作方式是利用CPU在完成其它工作的空余,调用键盘扫描子程序,来响应键输入要求。在执行键功能时,CPU不再响应键输入要求。键盘扫描子程序完成下述几个功能:

1)判断键盘上有无键按下。

2)去键的机械抖动影响。

3)求按下的键号。

4)键闭合一次仅进行一次键功能

4.3.2 定时扫描工作方式

定时扫描工作方式是利用单片机内部定时器产生定时中断,CPU响应中断后对键盘进行扫描、并在有键按下时转入键功能处理程序。

当键盘中有键按下时,先检查KM标志,KM=0时,表示尚未作去抖动影响处理,此时中断返回同时KM置1。因为中断返回后要经10ms才能再次中断,相当于实现了10ms延时效果,因而程序中不需要演示。当再次定时中断后检查KP标志,由于开始时KP=0,程序进入查找键号,并使KP置1,执行键功能程序,然后返回。在KM,KP均为1时,表示键处理完毕,再次定时中断时,都返回原来CPU状态。

4.4 串行通信及系统硬件设计

为了和计算机之间进行快速有效的通信,我们采用串行通信方式,这种方式有两种协议,分别为RS232和RS485协议。232适合于短距离的串行通信,485适合于长距离的通信,可根据需要进行选择使用。

5 软件设计

5.1 单片机控制程序设计

单片机对HD7279的控制程序流程图如下。当然,单片机还对收发的数据进行进行编码和传输。其原理框图如图5所示:[6,7]

5.2 数据采集程序设计

对开关信息采集系统的软件编程,主要是单片机对HD7279的操作进行的编程,,主要完成读键盘程序、接收一个字节等功能。其程序流程图如图6。

5.3 串行通信程序设计

串行通信的程序设计主要指对串口的初始化,设定串口的工作方式,波特率,打开那个中断源,以及中断的优先级等。

6 小结

系统设计原理正确可靠,采用HD7279芯片和一片AT89S51单片机完成了硬件的设计,相比于采用74LS148芯片和RS485芯片设计的电路,数据存储及时可靠,系统鲁棒性强,信号传输的有效性和可靠性好,但是本文所设计的电路是理想条件下的基础电路,对一些特殊情况没有进行处理,如多路数据同时输入单片机处理机制等。在实际应用中需要结合应用领域背景对其进行扩展,加以完善。

参考文献

[1]Baidu Encyclopedia[OL].[2009-03-23].http://baike.baidu.com/view/1641206.htm.

[2]Baidu Encyclopedia[OL].[2009-03-23].http://baike.baidu.com/view/2383834.htm

[3]张侃谕,王亚哲,袁亚丽.ARM和CPLD实现温室多路数据采集控制系统[J].微计算机信息,2006,10(2):19-21.

[4]李正岱.多路信号采集器的硬件电路设计[J].微计算机信息.2008(24):60-63.

[5]赵曙光.可编程逻辑器件原理开发与应用.[M].西安:西安电子科技大学出版社,2002.

[6]张齐,杜群桂.单片机应用系统设计技术——基于C语言编程[M].北京:电子工业出版社,2004.

多路数据采集系统设计 第9篇

关键词:MAX6675,CPLD,K型热电偶,多路温度采集,Matlab

K型热电偶是当前工业生产、科学实验较为常用的一种温度传感器,它可以直接测量各种生产中0~1 300 ℃范围内的液体蒸汽,气体介质和固体表面温度。由于它的测量范围及其较高的性价比,使得K型热电偶应用广泛[2]。然而K型热电偶存在非线性、冷补偿等问题,特别是在处理补偿问题时,需要付出较高的代价且难以有较好的成效。所以本文介绍的MAX6675温度采集芯片,弥补了K型热电偶上述缺陷。将MAX6675和K型热电偶结合并用于工业生产和实验,能为工程带来诸多便利且减少繁琐的附加电路。本文给出了基于CPLD的多路温度采集系统电路、内部逻辑设计模块、误差分析和实验统计报告,以及MAX6675多路温度采集系统的应用过程和性能报告。

1 MAX6675介绍

MAX6675 是美国Maxim公司生产的带有冷端补偿、线性校正、热电偶断线检测的串行K型热电偶模数转换器,它的温度分辨能力为0.25 ℃;冷端补偿范围为-20~+80 ℃;工作电压为3.0~5.5 V。

根据热电偶测温原理,热电偶的输出热电势不仅与测量端的温度有关,而且与冷端的温度有关。在以往的应用中,有多种冷端补偿方法,如冷端冰点法或电桥补偿法等,但调试较复杂。另外,由于热电偶的非线性,以往是采用微处理器表格法或线性电路等方法,来减小热电偶本身非线性带来的测量误差,但这些增加了程序编制及调试电路的难度。而MAX6675 对其内部元器件的参数进行了激光修正,从而对热电偶的非线性进行了内部修正。同时,MAX6675 内部集成的冷端补偿电路、非线性校正电路、断线检测电路都给K型热电偶的使用带来了便利。MAX6675 的特点有:(1)内部集成有冷端补偿电路;(2)带有简单的3 位串行接口;(3)可将温度信号转换成12 位数字量,温度分辨率达0.25 ℃;(4)内含热电偶断线检测电路[2]。其内部原理图如图1所示。

2 系统构架

系统框架如图2所示,该系统以CPLD为核心,由多路K型热电偶和MAX6675将外界温度模拟信号采集并转换成数字信号,并将数据传入CPLD进行相应的处理,然后通过通信模块将数据传送给计算机,最后用计算机做数据统计及处理。系统中的通信模块可以根据工程或实验环境的不同使用不同通信方法,如串口通信、PCI传输卡等。由于工程应用的原因,本文使用PCI传输卡作为数据传输方式。

3 CPLD内部逻辑

如图2所示,K型热电偶将采集的模拟信号传送给MAX6675,再由它转化成数字信号传入CPLD,CPLD根据MAX6675芯片的时序进行数据处理得到需要的信号,最后由传输模块传到计算机进行数据显示和统计、处理。所以本文的重点工作便在CPLD内部逻辑的设计。在进行内部逻辑设计之前,须了解MAX6675的工作时序与原理:当CS引脚由高电平变为低电平时,MAX6675停止任何信号的转换,并在时钟SCK的作用下向外输出已转换的数据;当CS引脚从低电平变到高电平时,MAX6675将进行下一轮数据的转换。一个完整的数据读取需要16个时钟周期,数据的读取在SCK的下降沿进行[1]。MAX6675的工作时序图如图3所示[1]。

如图3所示,根据芯片手册tCSS是CS下降到SCK上升的时间,规定其最小值为100 ns,tCH+tCL为SCK的一个时钟周期,规定最小周期为200 ns,tDV为CS下降沿到数据输出的时间,规定最大不超过100 ns,tDO为SCK下降到输出有效数据的时间,tTR为CS上升沿到数据停止输出地时间,规定最大值均为100 ns。根据这些手册上的这些时间规定,在设计CPLD内部逻辑电路时便严格按照要求,将SCK时钟周期设为1 000 ns即1 MHz,tCSS设为1 000 ns,tDVtTR都设为100 ns。图中还可以看出SO是16位的输出数据,其中只有D14~D3位为温度数据,D15位为无用位,D2位为热电偶断线测试位,D1位为MAX6675标识符,D0位为三态,所以从16位数据中取出D14~D3这12位数据进行转换和处理。基于以上分析,设计了如图4所示的内部逻辑模块。

CPLD内部逻辑如图4所示,为了将12位有效数据提取出来,先要将串行的SO输入信号转换成并行的,利于有效数据的提取。图中的CLK是指总时钟,用一个40 MHz的晶振,通过分频为芯片提供时钟。根据芯片数据手册和上述分析,给SCK信号1 MHz频率。以芯片时序要求,给RST信号2.5 Hz时钟,即0.4 s完成一次数据采集和数据传输。图中数据寄存模块的功能是为了寄存各路并行输入信号,便于后期上传。采集控制模块的主要作用是便于通过给系统的总时钟分频,为MAX6675芯片提供时钟信号SCK和RST。而传输控制模块是为了调试时利于信号的检测。此模块的作用是为输出信号添加帧头,利于后期对输出信号的确认;以及为传输模块提供合理的同步时钟,使得每一个数据的传输能够和相应时钟对应。

4 后期测试

按照上述原理进行硬件电路设计和CPLD内部逻辑设计,完成了一个可以多路同时进行温度采集系统。通过常温下对该温度采集系统进行的多次采集试验,随机抽取了其中一路温度采集统计图作为试验结果,如图5所示。

图5是一次常温下经过约20 min共3 500帧的采样结果,从图中首先观察到最高温度和最低温度分别达到24.25 ℃和22 ℃,相减得到温度波动为2.5 ℃。芯片手册中,芯片的温度测量每一个数据位为0.25 ℃,而测量的显示精度为8个数据位,所以该芯片的测量误差为8×0.25=2 ℃。同时再考虑到整个系统的误差,包括电源噪声、电路噪声,误差能达到 2~2.5 ℃。综上所述,根据图5所示温度曲线的 2.5 ℃的波动,这个结果完全符合芯片手册要求。

另外,还利用瞬时高温对该系统进行了测试,测试结果如图6所示,给出其中6路同时采集的数据,6种线型代表6路温度采集。曲线图中离瞬时高温产生范围较近的,如通道63、通道64,在产生高温的前500帧时间里变化较为明显,达到了100 ℃以上,而离瞬时高温产生范围较远的,如通道61和通道62,在产生高温的前500帧时间里,则温度变化较舒缓,该图将瞬时高温打击下的高低温区域明显区分开,充分证明了MAX6675以及文中多路温度采集系统的良好性能。

5 结束语

通过MAX6675芯片应用和实验,验证了MAX6675多路温度采集系统的良好性能和较高的性价比。另外,利用CPLD或者FPGA实现多路温度采集拥有设计简单、体积小、操作简洁方便,干扰因素少,可靠性高等优点,对工程应用具有一定的实用价值。

参考文献

[1]MAXIM.MAX6675芯片手册[R].USA:MAXIM,2002.

[2]虞致国,徐健健.MAX6675的原理及应用[J].国外电子元器件,2002(12):41-43.

[3]Stephen Brown.Fundamentals of Digital Logic with VerilogDesign[M].北京:机械工业出版社,2007.

[4]刘延飞,郭锁利.基于Altera FPGA/CPLD的电子系统设计及工程实践[M].北京:人民邮电出版社,2009.

[5]孙肖子,徐少莹.现代电子线路和技术试验简明教程[M].北京:高等教育出版社,2009.

多路数据采集系统设计 第10篇

短距离无线通信以其抗干扰能力强、可靠性高、安全性好、节省传输线、安装使用方便等优点被广泛应用在自动测试系统、无线抄表、遥测遥控设备、运输监控系统和住宅小区管理等场合。挪威Nordic公司的无线通信芯片nRF401具有收发合一、通用频段、低发射功率、高灵敏接收、串口通信等优点, 十分适合低成本的短距离无线通信场合。电流参数的采集是最普遍最重要的测控项目之一。本文介绍一种基于nRF401的多路电流采集系统的设计。

1系统组成

该系统由上位机、通信处理模块和单片机电流采集模块3个部分组成, 如图1所示。

上位机由PC机构成, 位于整个系统的最上层, 主要负责控制和管理整个系统中的所有通信及处理收集到的各个模块的数据。

通信处理模块由W77E58控制单片机构成, 一方面与上位机通信, 另一方面利用nRF401与电流采集模块通信。

单片机电流采集模块采用单片机AT89S52实现对电流信号采集和nRF401收发功能的控制。

2系统硬件设计

2.1 nRF401与单片机接口的设计

nRF401使用433 MHz IGM频段, 集成了高频发射、高频接收、PLL合成、FSK调制、FSK解调、多频道切换等功能, 具有性能优异、功耗低、使用方便等特点。通过nRF401的外部引脚, 可以使其随时在发送模式和接收模式之间切换, 无需任何初始化设置。nRF401通过单片机串口直接与MCU通信, 无需对数据进行曼彻斯特编码。

nRF401与W77E58单片机接口电路如图2所示。电路的工作模式由nRF401的19脚TXEN控制, 19脚为高电平时发送数据, 为低电平时接收数据。发送数据时, 信号从W77E58的串口P1.3输送给nRF401的9脚DIN端口, 该二进制串行数据被调制后通过天线发射出去;接收时, 信号从天线接收并转换为二进制串行数据后, 通过10脚DOUT端口输送给W77E58的串口P1.2。nRF401的12脚CS=0时, 工作于433.92 MHz频段, CS=1时, 工作于434.33 MHz频段。nRF401的18脚PWR_UP端口为低功耗控制, 当其为高电平时, 处于工作状态;为低电平时, 处于待机状态。

2.2 通信处理模块

通信处理模块电路如图3所示。该模块由于要使用2个串口分别与上层和下层通信, 因此主控制器使用华邦公司的W77E58单片机。

W77E58单片机[1]内含2个增强型串口和32 KB大容量FLASH存储器。指令集与51系列单片机完全兼容, 非常适合在智能化监控系统中使用。W77E58的连线非常方便, 电路所需要的外部元件仅仅是1个晶振加2个电容驱动片内振荡器、1个连接到复位脚的电阻、电容。使用片内上电复位电路, XTAL1、XTAL2 是参考振荡器端, 晶振频率为11.059 MHz。其中串口0通过RS232总线接口与PC机相连, 串口1则负责连接nRF401。W77E58 自带有看门狗定时器, 该定时器是一个独立于CPU 自行运行的定时器, 系统可通过编程将其设置为系统监控器、时基发生器或事件定时器。因为单片机的信号电平符合TTL/CMOS标准, PC机的串口RS232 信号在正负电平之间摆动, 因此需要MAX202芯片实现电平的转换。

2.3 单片机电流采集模块

单片机电流采集模块电路如图4所示, 它需要完成2个方面的工作:一方面通过I/O接口读取外部设备的电流信息, 另一方面通过nRF401响应主控机发送的查询请求, 回送当前的电流信息。单片机电流采集模块由从控AT89S52单片机、电流采集部分、A/D转换电路、无线收发电路等组成。

电流采集部分将电流信号转换为AT89S52能够处理的数字信号[2], 由LTS25-NP传感器和模数转换芯片ADC0832 组成。LTS25-NP是瑞士莱姆 (LEM) 公司生产的电流互感器模块, 该传感器具有较好的频率响应, 可将取样电流信号转换为0~5 V的电压信号, 使用5 V电源, 电流量程为0~12 A。

ADC0832[3]转换器是一种带有串行输入输出8位逐次逼近式的模数转换器, 其转换时间为80 μs, 有2个模拟量输入通道为可编程通道, 可以由串行输入口DI的3位控制字指定通道。LTS25-NP将电流信号以电压信号的形式提供给ADC0832。选择ADC0832的CH1为单端输入工作方式, CH0为不工作。所以, 由DI端输入的控制字为“111”, 可将DI端固定接高电平。当AT89S52的P1.2 口将ADC0832的CS脚置为低电平时, CLK的前3个脉冲上升, 从DI端输入控制字“111”, 接下来的8个脉冲完成转换过程, 转换后的8位数据从P1.0口读入到AT89S52中。

3系统软件设计

系统软件设计的主要部分为通信处理模块和单片机电流采集模块的设计。

通信处理模块的软件设计主要有程序初始化部分、RS232通信部分和无线通信部分。串口初始化:W77E58的串口0工作在工作方式1, 通过RS232与PC机通信;串口1工作在工作方式1, 控制nRF401的通信。2个串口均使用定时器1控制通信波特率, 波特率定为9 600 bps。

由于无线通信的特殊性, 外部干扰使得误码率较高。因此, 软件设计首先要保证能够识别噪声和有效数据, 通信协议的设计就显得十分重要。设计中采用如下通信协议[1]:

(1) 数据发送使用查询方式, 数据接收使用中断方式。

(2) 数据帧包含帧首、帧尾、地址、数据及校验部分。帧首采用双字节0x55和0xAA, 帧尾使用0x01结束;地址为双字节地址, 共有16位, 在地址分配上, 各个电流采集模块地址互不相连, 使其保持一定的容错性;数据部分为单字节;地址部分和数据部分使用16进制ASCⅡ传送;帧的校验部分使用CRC4校验。

(3) 接收方检测到连续的0x550xAA 字节, 表示接收到有效的数据帧, 如果帧校验通过, 接收方根据命令请求后发送相应数据, 若该帧结构非法, 则丢弃该帧, 不作任何处理。

(4) 发送方在发送查询请求后, 将启动监控定时器并等待接收应答, 如果在规定的时间内没有收到相应的数据应答, 发送方将重新发送请求, 并进行错误计数, 以免数据丢失。如果错误计数达到一定值, 发送方则停止发送请求, 进入错误处理。

单片机电流采集模块的软件设计:当从机 (AT89S52单片机) 收到自己的地址并向主机 (W77E58) 应答后, 转为接收模式。如随后一段时间内再没有收到主机的查询信号, 则认为主机已经正确接收到该从机发送回的应答信号, 完成一次正确通信, 从机转为接收模式。电流采集模块的程序流程如图6所示。

4实验数据

4.1 传输距离测试

采用环形PCB天线, 测得室内传输距离不小于50 m, 室外传输距离可达150 m。如果采用外接天线距离可更远。

4.2 准确度测试

在实验室条件下, 采用本系统对10 kW三相电阻炉进行电流测试, 测得的数据如表1所示 (其中, 电流标准值采用交流0.2级电流表测得) 。从表1中可看出, 电流误差在1.2%以内, 满足了一般电流测试的要求。

5结语

本文设计的电流数据采集系统由于采用无线通信芯片nRF401, 无需铺设昂贵的电缆系统, 使系统成本大为降低, 特别适用于无法布线场所的电流采集和传输。系统适用范围较为广泛, 如改变传感器类型, 还可用于温度、压力、流量等参数的多点数据采集。

参考文献

[1]求是科技.单片机通信技术与工程实践[M].北京:人民邮电出版社, 2005.

[2]杜冬高, 张彦锋.基于微机和CAN总线的学生宿舍用电管理系统[J].焦作大学学报, 2006 (3) :73~75.

多路数据采集系统设计

多路数据采集系统设计(精选10篇)多路数据采集系统设计 第1篇 随着物联网技术的发展与应用,A/D数据采集是其中一项重要的研究课题,A/D多...
点击下载文档文档内容为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部