《电子技术应用》
您所在的位置:首页 > 模拟设计 > 设计应用 > 通用数据采集和通讯仪的设计与实现
通用数据采集和通讯仪的设计与实现
摘要: 本文利用8位单片机设计的通用数据采集系统,可以作为工业现场的远程监控终端来使用,也可以方便的设计成便携式智能数据采集和通讯仪表,由于数据传输采用了无线方式,使其能够非常广泛的应用于工业上需要数据采集的场合,具有比较高的实际应用价值,给未来创新打下基础。
Abstract:
Key words :

0 引言

  单片机自动完成赋予它的任务的过程,也就是单片机执行程序的过程,即一条条执行的指令的过程,所谓指令就是把要求单片机执行的各种操作用的命令的形式写下来,这是在设计人员赋予它的指令系统所决定的,一条指令对应着一种基本操作;单片机所能执行的全部指令,就是该单片机的指令系统,不同种类的单片机,其指令系统亦不同。为使单片机能自动完成某一特定任务,必须把要解决的问题编成一系列指令(这些指令必须是选定单片机能识别和执行的指令),这一系列指令的集合就成为程序,程序需要预先存放在具有存储功能的部件——存储器中。存储器由许多存储单元(最小的存储单位)组成,就像大楼房有许多房间组成一样,指令就存放在这些单元里,单元里的指令取出并执行就像大楼房的每个房间的被分配到了唯一一个房间号一样,每一个存储单元也必须被分配到唯一的地址号,该地址号称为存储单元的地址,这样只要知道了存储单元的地址,就可以找到这个存储单元,其中存储的指令就可以被取出,然后再被执行。

  1 系统硬件设计

  本文设计的通用数据采集和通讯仪能够对各种现场设备的标准输出信号进行采集,包括传感器输出的0-5V/4-20mA模拟信号;开关量信号;频率量信号;此外系统还具有RS-485接口,以便能够与现场具有485接口的智能仪表相连接。为了实现良好的人机交互,系统扩展了键盘输入,液晶显示,实时时钟以及现场故障报警指示电路等模块。系统总体框图如图1所示。

  1.1 电源模块电路设计

  在单片机数据采集系统中,电源的设计是非常关键的。本仪表设计采用电网和充电电池双电源供电。电源设计如图2所示。

  当电网电压正常时,220V交流电经过24V稳压电源,电解电容器C1滤波后的电压经二极管D1后分成两路,一路通过三极管Q1到7805三端稳压芯片,完成稳压输出+5V电压,供单片机W77E58等芯片所需的电源;另一路通过电阻R1对镍镉电池9V进行充电,充电电流选择约40mA。如果电网停电, C1放电为0V,这时,电池通过D2、Q1到7805向电路供电,使输出端仍有+5V电压,从而完成电网短时停电时,单片机后备电源的功能。

  二极管D1起隔离作用,使得当电网偶尔停电时,能够阻止电池电流流向24V稳压电源。稳压管D3(5.6V)的作用,是防止电池(+9V)过放电,即当电池放电下降到约6V时,因D3作用,三极管Q1截止,电池放电停止,此时单片机将停电。

  1.2 实时时钟芯片DS12887

  为了能够实时显示系统时间以及实现按时间日期保存采集到的数据的功能,系统扩展了一片并行实时时钟日历芯片DS12887。DS12887是DALLAS半导体公司推出的实时时钟芯片,采用CMOS技术制成,把时钟芯片所需的晶振和外部锂电池相关电路集成于芯片内部。DS12887芯片具有微功耗、外围接口简单、精度高、工作稳定可靠等优点,在现代工业控制及智能仪器仪表中有着广泛的用途。

  1.3 键盘接口电路

  为便于人机交互,采用专用键盘接口芯片8279,配合74LS138译码器,系统扩展了3×8=24键的键盘。键盘上设置有0~9数字键,以便输入各种信息。同时还设有各种控制按键。通过键盘能够控制对各种类型数据进行采集。为提高CPU的效率,键盘采用中断方式。

  1.4 LCD液晶显示模块

  LCD投影机按内部液晶板的片数可分为单片式和三片式两种,现代液晶投影机大都采用3片式LCD板。三片式LCD投影机是用红、绿、蓝三块液晶板分别作为红、绿、蓝三色光的控制层。光源发射出来的白色光经过镜头组后会聚到分色镜组,红色光首先被分离出来,投射到红色液晶板上,液晶板“记录”下的以透明度表示的图像信息被投射生成了图像中的红色光信息。绿色光被投射到绿色液晶板上,形成图像中的绿色光信息,同样蓝色光经蓝色液晶板后生成图像中的蓝色光信息,三种颜色的光在棱镜中会聚,由投影镜头投射到投影幕上形成一幅全彩色图像。三片式LCD投影机比单片式LCD投影机具有更高的图像质量和更高的亮度。LCD投影机体积较小、重量较轻,制造工艺较简单,亮度和对比度较高,分辨率适中,现在LCD投影机占有的市场份额约占总体市场份额的70%以上,是目前市场上占有率最高、应用最广泛的投影机。

  为便于实时显示采集的数据及人机交互,系统扩展了图文液晶显示模块MGLS-12032,MGLS-12032是由香港精电公司生产的内置SED1520控制驱动器的LCD模块,使用简单方便。液晶显示模块MGLS-12032与W77E58的硬件接口

  其中D0~D7与单片机的数据总线相连,A0、A1为单片机的P0口经74LS373地址锁存器后产生的低两位地址线,系统用74LS138译码器产生的Y5、Y6作为MGLS12032两个控制驱动器工作的选通信号。

  1.5 模拟信号采集电路

  系统采用12位并行A/D转换器MAX197对传感器输出的0-5v/4-20mA 模拟电信号进行采集。MAX197是美国Maxim公司推出的多量程(本系统采用0-5V量程)、8通道、12位快速A/D转换器,采用逐次逼近工作方式,片内含有高精度的参考电压源和时钟电路,使它可以在不需要任何外部电路和时钟的情况下完成一切A/D转换功能,应用非常方便。并且MAX197内部具有输入跟踪/采样保持电路,其并行输出口很容易与单片机连接,仅需外接几个电容即可。

  MAX197与单片机的典型接口电路如图4所示。设计采用MAX197的CH0-CH6通道采集7路0-5V电压信号。而4-20mA电流信号则经过8选 1模拟开关CD4051轮流选通,再经灵敏电阻,放大器转化为0-5V电压信号后,进入MAX197的CH7通道进行模数转换,从而系统可以采集8路电流信号。

  1.6 开关量采集电路设计

  系统通过一片8255芯片来扩展并行口。编程使8255的A口为输入,用于采集8路开关信号。B口为输出,用于8路开关量的输出。为了增强系统抗干扰能力,开关量输入/输出通道都采用光电隔离。开关量采集电路图略。

  1.7 频率信号测量电路设计

  本系统利用8253芯片的定时器/计数器1和2对两路待测脉冲个数进行记数,8253的定时器/计数器0用来定时,利用W77E58有多个中断源的特性,定时结束产生中断,在中断服务程序中,读取8253定时器/计数器1和2的当前记数值,通过计算便可得到待测频率量。

  频率信号测量电路如图5所示。其中D0-D7与W77E58数据总线相连,单片机P2口高三位经138译码器译出的Y0与8253的CS引脚相连,用来选通8253芯片,8253的A0、A1直接与低二位地址线相连,因此8253的端口地址为1FFCH~1FFFH。

  1.8 串行通讯设计

  一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯。串行通讯的特点是:数据位传送,传按位顺序进行,最少只需一根传输线即可完成,成本低但送速度慢。串行通讯的距离可以从几米到几千米。 根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种。信息只能单向传送为单工;信息能双向传送但不能同时双向传送称为半双工;信息能够同时双向传送则称为全双工。 串行通讯又分为异步通讯和同步通讯两种方式。在单片机中,主要使用异步通讯方式。

  为了使设计的数据采集仪应用方便,系统利用PTR2000无线数据传输模块与上位机进行通讯,以便能随时响应控制中心的PC机的数据上传命令,将采集到的数据实时上传给控制中心。PTR2000是一种超小型、低功耗、高速率的无线收发数据传输模块。其通讯速率最高可达20Mbit/s,也可工作在其他速率,如4800bit/s、9600bit/s。系统无线数据传输原理图如图6所示。

  PTR2000可直接与单片机的串口TXD、RXD相连接。PTR2000无线MODEM的DO和DI引脚分别连接单片机串口的RXD和TXD,这样单片机就可以和无线数据传输模块进行串行通信。由于上位机串口通常采用RS-232 电平,而单片机串口使用的是TTL电平,故PTR2000与上位机连接时必须将TTL电平转换成RS-232电平,系统采用MAXM公司的MAX232芯片进行转换。上位机用串口的RTS与PTR2000的TXEN连接来控制PTR2000无线收发模块的收发状态转换。

  2 系统软件设计

  系统软件采用模块化设计,主程序首先对各接口芯片进行初始化,然后分别调用各个子程序模块以进入各个数据采集子系统,并将采集到的数据存储在32K字节的串行E2PROM AT24C256中,以备控制中心查询,同时将对应的数据在液晶显示器上显示。如果系统接收到上位机的数据上传命令,就将存储在E2PROM中的数据通过 PTR2000发送给PC机。系统主程序流程如图7所示。

  串口通信程序中双方通信协议是至关重要的,这关系到无线数据传输的可靠性,本系统约定双方的通信协议格式如下:串行通信使用单片机的内部定时器/计数器1 作为波特率发生器,本系统波特率设定为4800 bit/s;帧格式为1位起始位,8位数据位,1位停止位,无奇偶校验;通信采用中断方式;上位机采用COM 1通信。当接收到上位机的命令后,中断服务程序将数据从单片机数据缓冲区取出,同时将模块的接收状态切换为发射状态,转换过程所需时间约5ms,然后将这些数据以FSK的调制形式发射出去, PTR2000模块随后恢复为接收状态。如果数据在传输的过程中有数据丢失,上位机将要求单片机系统重新发送数据,直到数据全部正确为止,串行中断服务程序如图8所示。

  3 结束语

  本文利用8位单片机设计的通用数据采集系统,可以作为工业现场的远程监控终端来使用,也可以方便的设计成便携式智能数据采集和通讯仪表,由于数据传输采用了无线方式,使其能够非常广泛的应用于工业上需要数据采集的场合,具有比较高的实际应用价值,给未来创新打下基础。



 

此内容为AET网站原创,未经授权禁止转载。