多路数据采集系统设计方案_第1页
多路数据采集系统设计方案_第2页
多路数据采集系统设计方案_第3页
多路数据采集系统设计方案_第4页
多路数据采集系统设计方案_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

I 多路数据采集系统 设计 设计任务书 1、 设计任务 设计一个八路数据采集系统,系统框图如图所示。 图 1 八路数据采集系统框图 主控系统能对 100 米外的各路数据采集器的数据进行巡呼接收,通过串行传输线(测试可以用 100 米电缆线代替)进行采集和显示。具体设计任务是 : ( 1)设计现场信号产生器 ( 2)设计八路数据采集器 ( 3)设计主控器,不允许使用 替代 2、设计要求 本要求: ( 1)、设计一台现场信号产生器,能够产生稳定可调的 0 2V 直流信号 ,并保证输出低阻抗特性,能够在带 10K 电阻负载后输出无明显变化。 ( 2)、设计数据采集器(不要求显示功能),能够采集自己设计的 0 2V 直流信号,支持与主机通讯,就能够将采集的数据上传。数据传输采用串行方式,传输的电器特性自己选择。系统能够容纳 8 台子机,实际要求制作 2 台子机即可,但要求 2 台子机能够模拟 1 8 号中的任意一台子机。 ( 3)设计一台主控器,主控器通过串行传输线对各路数据采集器进行采集存储。采集方式暴扣循环采集(即 1 路、 2 路、 8 路、 1 路)和选择采集(任选一路)两种方式。如果采用循 环现场信号 1 数据采集 器 1 主控系统 数据存储 现场信号 2 数据采集 器 2 现场信号 8 数据采集 器 8 数据显示 式,采集 8 路信号的采集周期为 1S。设计主控器显示功能,要求能够显示:采集器路数 1 8;能够显示各路数据 0 持手动显示和自动巡回显示。 ( 4)所有电源要求自制。 挥部分: ( 1)、提高数据采集器的采集精度到 上。 ( 2)、主机具有历史数据保存功能,每 10S 保存 1 点。要求煤炉可以连续保存 20 点,循环刷新,要求数据存储在非易失数据存储器中,人机界面支持历史数据查看。 ( 3)支持 8 路采集器上限报警功能,上限数据可以任意设定,要求数据存储在非易失数据存储器中,掉电不丢失,要求显示 界面能够清晰显示报警状态。 ( 4)、其他功能的改进。 路数据采集系统 摘 要 本 设计是一个主从系统,采用单片机控制,从机负责采集八路数据,采集精度可以达到 上,同时应答主机发送的命令,将采集的数据上传; 主 机 进行数据处理,数据显示,键盘输入,系统报警 。在主 机 与从 机 的通讯中,采用国际标准的 分方式接口,使通讯的速率和传输距离均大于 且用线最少(只要两根) 。本设计通讯距离可达 100 米。 关键词 数据采集系统;单片机 ; is a CM so of of at as as of of up 00 5 目 录 设计任务书 . I 摘 要 . . 、系统方案 . 6 统概述 . 6 案论证 . 6 号源产生电路 . 6 、理论分析与计算 . 7 量与控制方法 . 7 号源 . 7 号采集 . 8 信 . 8 论计算 . 9 号源制作 . 9 据采集器 . 9 3、电路与程序设计 . 9 路设计 . 10 号源 . 10 据采集器 . 10 机 . 11 体电路图 . 11 序设计 . 13 序流程图 . 13 要程序分析 . 14 4、结果分析 . 14 参考文献 . 16 附录 . 17 1、系统方案 统概述 本系统可模拟远距离多路采集的现场,实现多路模拟信号同时采样, A/D 采集、主从 据处理、键盘控制与数据显示。 系统结构框图如图 1示: 图 1统结构框图 1 案论证 号源产生电路 方案一、 制作一个稳压直流电源,在输出端通过电位器分压获得 0 2V 连续可调的直流信号,此方法简便易行,缺点是通过电位器分压输出,输出阻抗较大,带负载能力弱,并且不能得到 0V 电压。 方案二、 通过基准源获得稳定的电压,再经运算放大器反相,最后再在输出端采用运放跟随输出,这样经反相既可以获得 0V 电压输出,采用运放跟随 输出又保证了低输出阻抗的特点。 考虑到设计任务中要求信号源低输出阻抗,并且要求包括 0 2V 可调输出,故 本设计采用方案二。 、采用 产 513位( )单片双积分式 A/D 转换器,模拟输入电压范围为 0 0 为它有一个超量程标志,所以可以认为当显示超量程标志位时为 点是不能 测量超过 电压 2。 方案二、采用214位 A/D, 量精度可达 可以轻松满足测量精度 上的要求, 具有精度高和价格低的特点 。 本设计采用方案二。 现场数据 A/D 从机 口 主机 键盘与显示 存储器 监控 温度 度采集 方案一、采用一线式数字温度传感器 于只有一根线控制, 可节省大量的引线和逻辑电路 ,但也正是由于只有一根线控制,对它进行操作不允许被打断,同时占用的机时较长。 方案二、采用 成温度传感器, 功耗低 , 具有三线串行接口 线,在操作过程中 不受中断影响,因此使用更为方便。 故本设计采用方案二。 信 方案一、采用 信,但 可靠通信距离仅为 15 米。 方案二、采用 线,它采 用平衡发送和差分接收,因此具有抑制共模干扰的能力。加上总线收发器具有高灵敏度,能检测低至 200电压,故传输信号能在千米以外得到恢复。 由于本设计要求主控器能对 100 米以外的数据采集器的数据进行采集和控制,故本设计采用 线。 盘与显示 由于本设计要显示的内容较多, 不能胜任,故采用图形液晶显示模块 12864, 显示分辨率 为 128 64 点 。由于功能按键数量较少,故直接使用 I/O 口控制。 控 方案一、对 用手动复位,此方法电路简单,但需要操作者每时每刻注意 工作状态,很不方便。 方案二、采用监控电路 以对电源电压及 作状态进行监控,当电源电压降低或工作状态不正常时,便会输出一个复位信号,使 位,此方法大大增加系统可靠性。 本设计采用方案二。 储器 方案一、采用 4储空间有 256K,足以满足每路每 10S 存一点,一共存20 点的要求,但是读写速度较慢。 方案二、使用 门狗芯片 部有 512 字节的存储空间,每一路存 20 点,一共 8 路,需要存储 160 点,每一点需要 2 个字节,所需内存为 320 字节。 所以本设计采用方案二,并且 读写速度较快。 2、理论分析与计算 量与控制方法 号源 信号源要求能够产生稳定可调的 0 2V 直流信号,并保证输出低阻抗特性。首先信号源必 须涵盖 0V 和 2V 这两个临界值 ,所以可以用运放将信号反相,得到负值,再将输出信号通过一级运放跟随,便可以得到 0 2V 的低输出 阻抗的信号源。由于电源的电压波动较大,故不能直接用来作为运放的输入,这时就需要用到基准源芯片。它能在 负载电流、温度和时间变化时电压保持稳定不变 。 号采集 信号采集主要通过 输入模拟量转换成数字量, 芯片的积分过程包括了对测量信号的积分阶段及对基准电压的放电阶段,对测量信号积分时间固定为 10000 个时钟周期,而对基准放电的时间计数就是 A/D 转换结果。只要对 号的高电平进行时钟同步计数,再减掉 10000 就能够得到 A/D 结果。具体的设计是使用单片机 数, 门 控,同时使用 后沿中断获得 A/D 转换结果。 接口及 号波形参见图 2 图 2脚排列、接口及积分波形图 信 一种应用十分广泛的通信协议。其显著特点是信号采用“差分”的方式传输,因此抗干扰能力很强,通信距离也比 得多。 信一般是半双工的,仅需要 2 根信号线,也可以是全双工的,需要 4 根信号线。 在 信中,发送过程主要采取了总线仲裁机制: 在向 485 总线写数据时,主设备先写一字节的地址请求,所有的从设备均 会收到,只有地址与之相等的从设备端口打开,其他设备全部关闭。这样,主设备与从设备之间的通信就是点对点的。每一个从设备均有一根请求线与主设备相连,若从设备需要与主设备通信时,先通过请求线进行请求,当请求成功后,从设备应能检测到总线上的地址与自身地址相同,从设备才能打开发送中断,才能发送消息,发送完之后必须关闭发送中断,释放总线,以保证其他从设备这段时间能与主设备正常通信,提高通信效率。 数据接收时,采用中断方式,当有数据来到的时候该任务会立刻自动响应,提高系统的实时性 。 接收方判断开始 485 通信帧的条件是,设备 不报告接收错误的情况下,接收到 结束标志之后的第一个非 结束标志 。判断帧结束的条件是,帧接收已经开始,遇到第一个尾标志字符。当链路层的通信帧接收已经开始的情况下,设备报告字符接收错误,此时应当丢弃本帧,结束帧的接收,重新开始搜索下一帧。 长度字段后面的字节个数不等于长度字段指示,并且也不等于长度字段加 2 时,指示长度错误,作无效帧。帧长度小于帧头的长度的帧视为无效帧。当接收的字符个数超过最大的 485通信帧字节数 262 时,也认为接收错误,重新开始搜索头标志,检出下一帧数据。 超时保护:如果接收收方在接收一帧数据 时,在未接收完一帧时,超过 202 个 未有数据到达,则认为本帧数据接收结束,并将其丢弃。 论计算 号源制作 信号源输出要求 0 2V 稳定的电压,所以不能用电源直接提供基准电压,应该使用基准源芯片。 要求信号源输出包括 0V,便需要用到运放反相来获得负电压,从而保证信号源能够输出0V。故要采用双电源对运放供电,这里采用双 5V 电源。 考虑到最大输出电压为 2V,应留有一定的余量,故采用 基准源。选用 准源只要流过 1电流便能稳定工作。由于采用 5V 电源供电,在基准源上的压降为 以为保证基准源能够稳定工作,应该串一个 的限流电阻。 据采集器 准电压的大小 与满度值的关系 是: 为了留出一定的余量这里选用基准电压 为 输入电压最大值可以达到 求每秒钟至少进行 3 次 A/D 转换,每次转换需要 40000 个时钟脉冲,因此晶振频率应大于 120里取 250以有 2晶振经过 8 分频得到。 以输入电压 例 ,“ 出端( 21 脚)高电平的宽度等于积分和反积分时间之和 ,如图 2示 。 部规定积分时间固定为 10001 个时钟脉冲时间 ,反积分时间长度与被测电压的大小成比例。如果利用单片机内部的计数器对 时钟脉冲计数 ,利用“ 为计数器门控信号 ,控制计数器只能在 高电平时计数 ,将这段 0001,其余数便等于被测电压的数值。 3、电路与程序设计 路设计 号源 信号源电路如图 3示: 图 3流信号源电路图 图中 基准源,只要有 1电流流过 输出端便会输出稳定的 压。经过 相,在 下端输出 电压,在 上端输出 +电压,这样通过调节 可以得到 V 的输出电压,再经过一级电压跟随,便得到了低输出阻抗的信号源。 据采集器 图 3据采集器电路图 图中 214位 A/D, 只有三根线控制,其中 时钟输入端, 输出数据的符号位, 数据输出端。 号是由 2振经过 8 分频而得到的 250温度传感器, 测温范围为 150,温度分辨率为 测温精度在 150范围内为 电源电压为 具有三线串行接口容接口,容易和微处理器连接。图 3 串行时钟 行输入输出 、片选 别与单片机的 连,用来监测机箱内温度。 司推出的低成本微处理器监控芯 片,它用来监测单片机的电源电压,当电源电压降到 +下时, 出高电平,对单片机进行复位 ,从而保证单片机正常工作。 以设定子机的地址,当开关导通时 I/O 口为低电平,四位拨码开关可以设定 16个地址。 信芯片 75 机 图 3机电路图 主机能对 8 路子机进行巡呼,能够将子机发送上来的数据进行显示。图中 本设计中当作存 储器使用。 看门狗电路,用来监测电源电压,当电源电压下降时,给 个信号,单片机便进入掉电保护程序,将当前数据写入 。 5 为设置用的功能按键。 超限报警指示灯,当某一路或某几路的值超过设定值时,便会闪烁。 体电路图 图 3体电路图 本系统的所有设计电路如图 3示,其中共有四个模块,信号源、主机和两个子机,每个模块都是一个独立的整体,都自带电源。 序设计 序流程图 图 3子机的程序流程图,图 3主机的程序流程图。 图 3机程序流程框图 串口中断入口 接收标志 清 字 节,按收计数器存缓冲区 发计数 送完毕? 发送完标志 并启动,同时开中断 中断返回 发下 1字节 关计数器,关中断 收计数 =3、符合 子机 地址、校验正确 ? 清除接收计数器 制作返回信息数据,发送首字节 中断返回 N N N Y Y Y 图 3机程序流程框图 要程序分析 4、结果分析 通讯开始 置发送计数器 =0 发送当前数据,计数 +1 发送完 1字节? 全部发送完毕? 延时固定时间后接收 成功收到数据? 准备返回失败信息 准备返回接收的信息 将接收的数据结果返回 通 讯开始 参考文献 1 冯涛 , 秦永左 , 赵巍 J2003,26(2):83 2 赵茂泰 原理及应用 M 7 月第 1 版 京: 电子工业出版社 ,28 3 张萌 , 和湘 , 姜斌 . 单 片 机 应 用 系 统 开 发 综 合 实 例 M 7 月第 1版 京: 清华大学 出版社 ,117 附录 1、主机源程序 #: /I 循环发送时存放的通道数 /于循环显示电压的变量值 / 128描一次的时间标志位 屏幕刷新的频率,大约是 16 时累计时间为 1 秒 /属性变量寄存器,即页面属性的变量寄存器 /为 菜单状态寄存器和显示结果的状态标志位,根据不同的情况调出不同的菜单 /别代表的是十位,个位,即计数的个数 /,; ,代表的是 双字节读写时数据和地址。以及读取出数字数据暂存变量 e=0, /秒的十位 ; 0; /在所存的数值 (掉电 ) w = 0; /调时标志位 ; /用于作为通道的标志位 t10=0,0,0,0,0,0,0,0; /作为温度显示 =0,0,0,0,0,0,0,0,6=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0; / 于循环显示的通道数目 /键盘引脚定义 20; 21; ; /485 数据传输和接收使能端。 ; /左上 功能:退出 显示数据功能 ; /左下 功能:加一 ; /右上 功能:设置时间 ; /右下 功能:减一 22; 23; 35; 34; /向 5045 中写入数据 v) ; /写入高字节 x); x=56; /写入低字节 x); ; ; ; /双字节读子程序,本函数返回整形结果 x; ; ; if(;/数据在此上升沿被写入 ;/其实答案非常简单,就是按照时序进行编码,根据时序,在这个时候数据被写入芯片 1; /* 从 读出 1据 */ i; i=8;i0; 1; _; ;/数据在此下降沿被读出 /* 单字节写 ,向 地址中写入命令 /数据 ,先写地址后写命令 /数据 , 单字节写 ,向 命令 /数据 ,先写地址后写命令 /数据,在完成一个字节的读写操作之后,都要将电平拉低以停止读写操作,使 高组态 , 在这里的 读写一个字节的时候必须首先是拉低的,由于其在读写单个数据或者字节的时候, 是一个高脉冲 , 不然的话。系统就是感觉不到读写操作了 */ _1302( ; ; ; ; ; /* 单字节读 ,从 地址中读 出数据 ,先写地址后写命令 /数据 */ _1302( ; ; ; ; ; ; /* 设置初始时间, 向初始时间地址 格式为 : 秒,分,时,日,月,星期,年 */ /* 读取 前时间, 格式为 : 秒,分,时,日,月,星期,年 这是由于在 存器的各位内容所代表的意思所决定的 如:在秒寄存器中, 654 位地址所存放的是 10 3210 位所存放是则是其 数据,因此需要转换 在内存区域所存放的都是十进制数。因此直接是乘以 10 就可以了。 */ (4)*10 + ( (4)*10 + ( (4)*10 + ( (4)*10 + ( (4)*10 + ( / / (4)*10 + ( (4)*10 + ( (4)*10 + ( (4)*10 + ( /将十进制数转换为液晶显示的数值 = 0 + 0;/这里的 0 只是为了后面的在显示部分 可以比较方便的判断是不是输出到了最后一个字母 = 0 + 0; = -; = 0 + 0; = 0 + 0; = -; = 0 + 0; = 0 + 0; = 0; /将十进制数转换为液晶显示的数值 = 0 + 0; = 0 + 0; = :; =0 + 0; = 0+ 0; = :; = 0 + 0; = 0+ 0; = 0; /0; / /动结束 / /调时用加 1 程序 /*/ 功能:主要是用于设置第二界面 */ / ; if(0) 循环工作 ); ; /设置工作模式 if(1) 选择工作 ); ; /设置工作模式 if(2) 报警通道 ); ; /设置报警温度 if(3) 电压设定 );00; ; if(4) 历史通道 )

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论