




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-摘要 本系统是利用单片机及 RS-485 半双工通信网构成现代化住宅的自动抄表记 费系统的前端数据采集模块和通信控制模块。能够实现对同一单元中一层楼的两 家住户的水、电、气使用量的采集和集中存储及发送。 本文首先介绍了自动抄表系统的发展情况,接着对本自动抄表系统进行了简 要的描述。然后阐述了数据采集模块和通信控制模块的通信方式及使用的通信介 质。最后重点介绍了数据采集模块和通信控制模块的硬件构成和软件设计。 关键词:89c51 单片机,自动抄表系统,串行通信,RS-485 接口标准,数据采集 ABSTRACT This system is about the technology of using the 89c51 single chip computer and RS-485 half-duplex transportation network to compose the system of automatic recording and charging. This system is used for modern residence .They can pick , storage and transmit the amount of water、electricity and gas of the two users in the same storey. This thesis first introduce the current development status of automatic recording and charging system, then simply introduce this automatic recording and charging system. Then emphatically present the design and accomplish of the hardware and software of the data collect module, communication control module and electrify control module . Finally introduce the simulation and the fail test of the whole system. Key words: 89c51single chip computer, automatic recording system, Serial communication RS-485 standard interface and data collect module. III / 45 目 录 第 1 章 引言.1 1.1 本课题的研究意义 .1 1.2 本课题的研究内容 .2 第 2 章 系统概述.3 2.1 前端数据采集处理装置 .3 2.2 传输线路 .5 2.2.1 上层传输线路 .5 2.2.2 底层传输线路 .7 2.3 中心控制平台 .13 第 3 章 系统设计.14 3.1 通信与控制模块 .15 3.2 数据采集模块 .28 3.3 供电控制模块 .29 第 4 章 结论.34 参考文献.35 致谢.36 外文原文资料.37 译文.40 第 1 章 引言 1.1 本课题的研究意义 中国近 30 年来的住宅产业发展可以用这样的话来描述:70 年代解决有无房间 的问题;80 年代解决住房大小的问题;90 年代是追求房型和环境优美;21 世纪 应是智能化的时代。 随着我国改革开发推动国民经济的发展以及计算机普及和信息产业的发展, 人们对居住环境要求的不断提高, “智能化”逐渐被引入了住宅小区和家庭建设 中.因为同传统的住宅相比,智能小区在安全防范设施、家居管理设施、家居办公 娱乐设施等三方面的优势非常明显。智能住宅小区的自动化系统结构的重点在于 以下几个方面:安全防范、物业管理及社区服务、信息通信。传统的住宅小区的 弱电配套系统包括电话网和有线电视系统(CATV),在安全防范方面也可采用电视 监控系统以及门铃对讲等等。智能住宅小区的系统结构有这样的特点:首先采用 先进的、符合标准的技术和设备;同时所有的系统均采用集散式的构造方式,既 具有分散于各个住户的终端或设备,又通过网络集中到一个管理或控制中心,中 心提供公共信息资源,或者对各个住户提供集中安全监控;最后,所有的智能系 统既可独立,又可以在计算机网络的基础上实现集中管理.这是传统住宅无法比 拟的. 在我国新的国家发展战略中,党中央和国务院将我国的房地产业作为新的国 民经济发展的热点,同时建设部也将建设智能化小康示范小区列入国家重点的发 展方向;国家建设部明确指出住宅小区智能化势在必行。据不完全统计,到 2001 年,国内已经建成的智能建筑约有 1500 栋,其中上海约 400 栋,北京约 300 栋, 广东约 250 栋,江苏约 200 栋。可以预见,随着我国综合国力的增强,人民生活 水平的逐步提高,计算机使用的普及小区智能技术的日渐成熟,智能技术应用于 住宅及小区的做法将被逐步推广应用,并将最终成为一个新型小区是否完整的重 要标志。智能小区的出现是房地产业与计算机网络通信技术相结合的产物。网络 通信技术所带来的应用前景是不可限量的,而且普及应用的速度和网络技术本身 的发展速度也是无法预言的。 住宅小区智能化系统由如下几个子系统组成: 1、楼宇设备监控管理系统; 2、安全防范系统; 3、物业管理系统; 4、信息自动化系统; 5、计算机网络系统; 6、布线系统等。 其中本论文所涉及的三表远传系统就是属于物业管理系统的一部分,但是就 目前国内实际情况而言,对于智能小区住宅所必须提供的三表自动抄表收费功能, 真正能做到水电气等远程抄表的并不多见,比例为 15.9. 而据 1998 年统 计我国城市人口约 4 亿人,城市家庭约 1.4 亿户,居民家用水表、电表各约 1 亿 只,煤气表约 4000 万只。这三种表分属三个部门管理,目前基本上都是靠人工 每月入户抄表进行计费。这二亿四千万只表按每个抄表员每月抄 3000 只表,共 需 80 万名抄表员,按每个抄表员一年费用 1 万员计,则每年仅抄表一项费用就 达到 80 亿元。人工抄表不仅浪费的巨大的人力资源,而且随着高层建筑的不断 增加,居民家中有人时间的不确定,使抄表员的工作变得非常繁重,用户对抄表 员入室抄表干扰正常生活意见较大,同时因抄表入室现象也引发了一些不安全社 会问题. 随着计算机技术和网络技术的发展,自动抄表记费系统就是在这一背景 应运而生. 自动抄表记费系统是一种把多个分散单元信息(电表,水表,气表等) 准确传送到一个基站(数据处理中心)的通讯技术。它的出现将替代长期以来供 电,供水,及煤气公司对水,电,气用户的使用量的统计一直沿用的人工抄表的工作 方式.可以预见,在智能小区即将大力推广的 21 世纪,自动抄表记费系统将会拥有 广阔的市场空间和良好的市场前景. 1.2 本课题的研究内容 本设计的课题:三表数据远程传输系统(数据采集模块)设计及相关的课题:三 表数据远程传输系统(通信及控制模块),一起构成了自动抄表系统的数据采集单 元.设计的主要内容为:完成系统的设计,完整的系统框图,数据采集器的电路原理 图,用汇编语言编写实现系统功能所需的全部程序,以及仿真调试. 第 2 章 系统概述 自动抄表技术是一种把多个分散单元信息(电表,水表,气表等)准确传送到 一个基站(数据处理中心)的通讯技术。它一般分为三个部分:前端数据采集处 理装置、传输线路、中心控制平台。 在这里分别对它们进行大体介绍。 2.1 前端数据采集处理装置 前端数据采集处理装置指的是从表头数据采集到数据集中器的部分。 目前,远传三表基本上是在原有机械基表上加装传感电路形成的。 下面对几种远传电路进行阐述: 1. 光电转换型 这种传感形式一般是在基表的旋转部件上加装一面反射镜面, 在与反射镜面相对应的部位固定安装一只光电传感器,当旋转部件上镜面转至传 感器位置时,传感器就产生光感应,发出一次脉冲信号。 这种传感形式有三个 缺点:a.传感器本身要耗电,不利于后备电池的微耗供电。b.反射面污染退色后 反射失灵。C.在反射面的边缘上颤动产生误信号。d.至少 4 条引线。 2. 霍尔传感型在基表旋转部件上加装感应磁钢,在与感应磁钢相对应的位置 上固定安装一只霍尔元件。 3. 干簧管传感型 是目前应用最多的一种形式,其最大优点在于无需耗电。但 仍存在感应点颤动误发信号和外磁人为干扰问题,外加一只防磁报警干簧管也解 决不了不发信号的问题,且常常引发“是系统不可靠误报警还是磁干扰偷水”的 纠纷。 这种传感器虽在目前应用最多,但从现场使用情况看,也是出问题最多 的。 4. 自保持开关型 具有 A、B 两个感应头,若 A 头感应使开关打开了,开关就 一直打开着。直到 B 头转来后开关才闭合,再到 A 头转来再打开,以此周而复始. 这种形式成功的克服了颤动、磁干扰、耗电、引线多的所有缺点,仅用两条线就 可实现信号开、信号关、断线、短线四种状态的检测,是目前最为理想的远传传 感方式。 在电表、水表、气表数据的远程抄录方面,电表在技术上较为成熟,通常是采 用专用的电能数据采集模块计量电度的脉冲信号(来自电能计量的专用集成电路芯 片),而这个电能数据采集器通常就是采用的单片机系统,将脉冲信号通过光电耦合 和斯迷特触发器整形后送入 51 单片机的记数输入端 T0 或 T1 进行采集.但技术无 法移植到气表、水表抄收系统中。水表和气表的户外抄表工作难度较大,主要用 于水表和气表本身没有供电电源, 如采用传统的脉冲累计法,则要连续不断地读 取数据,还要额外增加供电线路。如供电中断或出现读数故障,则会造成数据丢 失。而且只要是采用对脉冲信号的积累计量来采集用户的水、电、气用量有两个 无法避免的缺陷。第一必须使用电子水表,电子电表,电子煤气表,以上三种表 均为电子脉冲输出,对表的计量只需累计电子表输出的脉冲数即可,在抄表节点中 只需用数字 I/O 口即可实现脉冲计数。固而它的缺陷是很明显的,就是必须进行实 时统计,这对供电系统的依赖性高,一旦出现如供电中断或出现读数故障,则会造 成数据丢失,而且丢失的数据无法恢复,会出现用户读表数与系统读数产生误差。 尤其是水,电的计量,在停电是用户仍然可以用水用气,而数据采集模块却无法对其 使用量进行计量,从而会使水,气经营公司无可避免的蒙受损失。第二个缺陷就是 目前所有的脉冲表均有一定的误差(0.1%-1%),这是因为当电度表的常数和脉冲 常数确定后,通过计算可得一度电,一吨水,一方气对应输出的脉冲数 K 为常数,则 0.1 度电,0.1 方气,0.1 吨水对应输出得脉冲常数为 K/10,既有 K/10 个脉冲到来,水、 电、气得用量递增 0.1 个单位值。若对 0.1 个单位值进行进位递增,因为 K/10 不一 定正好为整数,若舍去小数或者对小数进行进位取整,必然产生累计误差。长时间 后累计误差较大, 传统的做法是在 PC 机中进行修改,这将导致系统内数据不统 一,且差别会越来越大。因而传统得脉冲计量精度是有很大得不可靠性,促使我们 想要选择其它得采集计量方式,以提高计量精度. 在这里我们的数据采集模块的前端,即传感器和 A/D 转换模块采用了一专利 产品,它具有独创的位置采样传感器可同步跟踪机械计数器运转, 无需电源维持, 即使出现断电或故障,在重新供电或修复后数据仍会保留在表的机械部分,经重 新读取后累计数据仍是正确的,而且能够输入转换好的 5 位 BCD 码。首先它克服 了采用传统的脉冲累计法的电子水表,电子电表,电子煤气表的两大缺陷,即摆 脱了对电力的依赖性和脉冲计量的累计误差.第二,因为无论断电还是其它故障,它 的采集数据都会保留在机械部分,能够从新读取。所以数据采集模块不用采用实时 统计的设计,只须定时或不定时的采集用户的水、电、气用量即可.这样数据采集 模块不用处于长期供电运行状态,减少了整个系统的功耗和运行出错的概率。不必 担心因为停电而必须增加相应的后备电源模块,以备停电时继续计量。也不用增加 FLASHROM 或者 EEPROM 来存储发生故障时的统计到的用户使用量,因为系统 5 / 45 复位后或故障排除后,只须重新采集一次表内数据即可. 所以这一产品的出现及使 用对我们整个系统设计带来了巨大的性能提高和简化后端数据采集模块、通信控 制模块的结构,降低了系统成本。这样就就大为提高了本系统的采集精度. 2.2 传输线路 在这里,传输线路有两部分,一部分是从数据集中器到控制中心的上层传输 线路,另外一部分是从表头到数据集中器的底层传输线路。 2.2.1 上层传输线路 在这里简要介绍目前投入实用的几种传输技术:电力线载波通讯、卫星通讯、 电话线通讯,无线数据传输等。 一、电力线载波通讯: 电力线载波抄表已经使用了较长时间,其间也经历了一些反复。其远抄远控 系统的关键技术之一为数据的传远,通过电力线载波通信传远有着无可比拟的优 势,比如,采用原有的电力线作为通信媒质,节省大量的人力、物力和财力资源; 电力线遍布城乡,组网方便;所采用的扩频技术具有很强的抗干扰和抗衰减能力 等等。高频载波在高压输电线上对继电控制信号和声音信息传送方面的应用十分 成功。高压输电线输送距离长、系统结构简单、被很好的维护,所以高频载波在 其上应用效果非常好. 用电力线传输优点是比较节省开支,用于自动抄表的集中 器位置固定,不必移动抄表.但是电力载波系统在配电线上的传输可能会遇到诸多 困难。由于支线和分接头、线路从高架到地下的过渡、电容箱、甚至负荷自身大 小等都将或多或少改变网络阻抗,从而引起高频波的偏离。所有上述偏离在一些 地方有增强的倾向,而另一些地方会抵消,这都使高频电力载波在经常变化的配 电线上非常难以预料和控制。为了解决这一问题,配电线上的电力载波系统逐渐 向低频方向发展,频率已从 100kHz 范围降到 10kHz 范围。100Hz 范围的纹波控 制系统已经被极好地普及,曾经成功地应用在大负荷管理方面许多年。这都曾使 电力载波技术的应用更容易,但一个一直未被解决的问题就是输送距离还不够长。 固而载波通讯的缺点也是很突出的: 噪音大,受电网干扰误码较严重;低压载波 只能局限在一个变压器的范围内,无法跨越变压器通讯;如果不同的用户的三表 安装在不同的相线上,隔相信号衰减大于 40db,通信质量很差。如安装电缆到煤 气表和水表会带来附加的安全问题。目前已有几种用于电力线载波通信的模块或 产品,但总的来说通信的可靠性较差. 二、电话线通讯 基于电话的自动抄表技术的应用已超过 25 年了。电表脉冲或编码信号通过 安装在现场的遥测接口单元(TIU)采集。电话线允许双向通讯,用电数据可从 现场到接收器及客户之间来回传送,因此在程序控制的访问时间里能够通过电话 传送信号或先记录然后传送信号。当传送抄表数据时,可以提供新的访问时间表 给 TIU 数据,传送次数可以在现场重新编程,也可以在远方重新编程。 因为电话线早已存在,电话拨入抄表系统(从电表端到目的地)是最经济的 和使用面最广泛的。这意味着电话系统的运行和维护由当地的电话公司负责,因 此安装费用和每月的服务费用可以节省下来,对于住宅、商业及工业客户,电话 拨入通信是适宜的。 1请求式电话抄表 有两种请求抄表方法,如果本地公共交换电话网(PSTN)已经使用了“无铃” (或 UTS)技术,不需电话振铃,抄表请求电话能够直接与现场通信。如果没有 使用 UTS,则在预定振铃数响起的时候,要求客户不要拿起电话听筒,这个特定 的振铃数即是向 TIU 发出开始传送抄表数据的信号。 此拨出抄表系统(从数据接收器到电表端)限制了用途,并买断了电话专线。 当大量信息在工作期间按要求被汇集时,这种技术是优选的。此拨出抄表系统运 行和客户电话使用没有冲突,并且与“非测试”及公用遥测中继(UTT)交换技 术兼容。在这些情况下,都能良好运行。 2一种无干扰的系统 基于电话的自动抄表系统通讯是相互无干扰的。即他们运行时,与客户使用 电话没有冲突。使用电话检查器来识别电话是否占线或客户是否拿起电话听筒, 如果系统传送数据时,客户电话占线,系统自动停止传送,稍后重新联系传送。 一个合理安排的基于电话的自动抄表系统节省成本之处,可以通过许多方面说明, 首先一点就是避免了无线电、光缆、电缆及其他系统的高成本大规模基本的建设, 因为基于电话的系统使用了现存的通信网络。 基于电话的自动抄表系统诸多重要的优点之一是能在任意场所安装自动抄表 装置,而不必在邻近现场安装。此系统还避免了为支撑大量电表群体的基础建设 (一项造价昂贵的远程抄表方式) 。 但是这种造价相对低廉,而且性能良好的自动抄表系统在国内却尚未得到过推 广,甚至知道的人也很少,究其原因,应该和中国电信的长期垄断经营,以及我国特 殊的水、电、气经营管理体制不无关系.因为它出现的时期正是我国改革之初。所 7 / 45 以没有得到发展也就不足为怪了。在今天网络化时代,利用电话进行自动抄表技术 对智能小区是不太适应了,但是可以广泛利用于旧式住宅的抄表系统的改造。 三、无线数据传输技术 无线抄表在发达国家和地区早已盛行,抄表车在用户电表附近行走一遍,电表 的各种数据就抄入抄表车电脑中。然而无线抄表在国内才刚起步,在集抄过程中 数据传输的通讯规约,也是多种多样。虽然电力部在 1998 年发布了其行业标准 多功能电能规约,但由于各种原因,到目前普及并不理想。主要原因是实现 无线数传的包容性和开放透明还有待加强。我国运行的众多电能表通信规约,固而 必须有一个统一的,与当前社会经济相适应的标准。而且收费汽车在行走中通过无 线信号抄表,缺点是相当明显的:准确度不高,准确性可低到 70%。而这是抄表系 统最为重要的性能指标,而且占用无线电资源,设备投资也大。 无线抄表还有一种方式,既近距离红外线抄表。而这种方式对表的要求高,投 资大,尤其对用户来讲,他们是很不原接受这种昂贵的电表。所以使用的更不广泛。 对于无线抄表技术,成熟的是对于用电的计量。对于水表、气表的无线抄送 技术并不成熟,所以应用于智能小区暂不可行的。 2.2.2 底层传输线路 底层传输线路即表头到集中器的一段线路,通常使用的装置是单片机。 IBM-PC 机和 MCS-51 单片机是我国目前应用最广泛的两种微型计算机.MCS-51 单片机功能强、价格低廉、开发应用方便, 尤其是单片机网络系统的出现,使单 片机的应用水平达到了一个新的高度.在工业控制、数据采集、智能仪器仪表、 家用电器等方面都得到了广泛的应用.由于单片机应用系统人机对话和外围设备 比较薄弱,没有像磁盘一样永久保存大量信息的存储设备,因此,由多个单片机构 成的网络一般都使用 IBM-PC 机作为上位机,网络结构一般采用总线分布式结构. 标准通信总线又称为外总线,用于控制机和各终端设备,仪器或其他设备间通 信,主要分为并行总线和串行总线两种。并行总线数据传输速率高,适用于短距离 传输,缺点是与串行总线相比要用较多的导线或电缆,成本较高.而串行总线适合 远距离通信,缺点是速率比并行总线满,但成本底。考虑到本抄表系统的通信控 制模块与采集模块距离较远,以及现在的单片机在结构、性能和经济上为实现远 程串行通信特别是多机系统提供了很好的条件,所以我们决定采用串行通信总线 作为本系统的通信方式. 串行通行总线标准接口串行通行总线标准接口 标准异步串行通信接口有以下几类: RS-232C,RS-232E RS-449(RS-422,RS-423,RS-485) 20mA 电流环 所谓标准接口,就是明确定义若干信号线,使接口电路标准化,通用化,借助串 行通信标准接口,不同类型的数据通信设备可以很容易的实现它们之间的串行通 信连接. RS-232C 是由美国电子工业协会(EIA)正式公布的,在异步串行通信中应用的 最广泛的标准总线.它包括了按位串行传输的电器和机械方面的规定。适合于短 距离或带调制解调器的通信场合,为了提高数据的传输速度和通信距离,EIA 又公 布了 RS-422,RS-423,RS-485 串行总线接口标准。20mA 电流环是一种非标准的串 行接口电路,但由于它具有简单,对电器噪声不敏感的优点,因而在串行通信领域 也得到了广泛使用,但是该总线标准不适用于多站互联,故不选用。为了保证可靠 性高的通信要求,在选择接口标准时,必须注意两点:1)通信速度和通信距离.2)抗 干扰能力。同时出于本系统的需要还要考虑该接口标准是否适合于多站互联.下 面将简要分析 RS-232 和 RS-499 这两类种总线标准,并从中选出本系统最适合的 总线标准. RS-232CRS-232C 标准接口标准接口 目前最常用的串行通信总线接口是 EIA 于 1969 年推荐的 RS-232C。 RS-232C 标准接口的全称是:使用二进制进行交换的数据终端设备和数据通信 设备(DEC)之间的接口。计算机,外设,显示等都属于数据终端设备,而调制解调器 则是数据通信设备.常用的连接方式如图 2.1 所示。 DTE RS-232 DCE 电话线 DCE RS-232C DTE 25 线 25 线 25 线 图 2.1 RS-232C 接口电路 RS-232C 定义了 20 根信号线,通常使用 25 芯的接插件(DB25 插头和插座)来 实现 RS-232C 的标准接口的连接. 9 / 45 RS-232CRS-232C 的电气特性的电气特性 由于 RS-232C 是早期(1969 年)为了促进公用电话网络进行数据通信而制定的 标准,其逻辑电平对地是对称的,与 TTL、MOS 逻辑电平完全不同。逻辑 0 电平规 定为+5V+15V 之间,逻辑 1 电平为-5V-15V之间,因此 RS-232C 与 TTL 电平 连接必须经过电平转换.RS-232C 由于发送器和接受器之间有公共信号地,不能使 用双端信号,因而共模噪声会耦合到信号系统中,这是迫使 RS-232C 使用较高传输 电压的原因.即使如此,该标准的信号传输速率也只能达到 20Kb/s.而且最大距离 仅 15m.只有在这种条件下才可能可靠的进行数据传输.下表列出 RS-232C 的主要 电气性能。 表 2.1 RS-232C 主要电气特性 不带负载时驱动器输出电平 V025V(-25+25V) 负载电阻 Rl 范围37K 负载电容(包括线间电容)Cl+3V 传号(mark)或逻辑“1”时驱动器输出电平-5-15V 在负载端-3V 输出短路电流0.5A 驱动器转换速率30V/S 驱动器输出电阻 R0200mV,RO=1,A-B0.2V1 19 / 45 00 0.2V0 00 输入开路1 10X高阻 可见由 MAX487 收发器组成的差分平衡系统,抗干扰能力强,接收器可以检测 到低达 200mV 的信号,传输的数据可以在千米外得到恢复,因此特别适用于远距 离通信.因此选用 MAX487 组成满足 RS-485 标准的通信网络.值得注意的是传输 线地选择和阻抗匹配.在差分平衡系统中,一般选择双绞线作为信号传输线,因为 双绞线在长度,方向上完全对称,因此它们受到外界干扰程度完全相同,干扰信号 以共模方式出现.在接收机地输出端由于共模干扰受到抑制,所以实现了信号的可 靠传送。而由于信号在传输线上传送,若遇到阻抗不连续的情况,会出现反射现 象,从而影响信号的远距离传送,尽管 MAX487 能够减少反射的影响,但是还是 要采用匹配的方法来消除反射。因此通常会在传输线的末端接 120 的电阻,进 行阻抗匹配。 由于在本设计中主机只用来接收数据,从机只用来发送数据,因此完全可以 将主机连接的 MAX487 芯片的/RE 和 DE 两使能引脚接地,而将与从机相连的 MAX487 芯片的两使能端接高电平,从而实现两机的串行通讯。电路模型如图 3.3 所示。一层楼中的两用户应有 8 个表头,这里只画出一路,其余的与该路完 全相同。 通信控制模块的电路连接原理如下图所示: 图 3.3 通信控制模块连接图 下面重点介绍串行通讯中主机和从机的工作原理和相关程序。 1.1. 单片机串行工作方式单片机串行工作方式 单片机的串行工作方式有四种,这里我们选用工作方式 3。此时串行口为 9 位异步通讯口,发送和接收一桢信息由 11 位组成,即 1 位起始位,8 位数据位 (低在先) ,一位可编位(第 9 位数据位)和一位停止位。发送时可编程位 (TB8)根据需要设置为 0 或 1,接收时,可编程位被送入 SCON 中的 RB8。 方式 3 发送 在方式 3 发送时,数据由 TXD 端输出,附加的第 9 位数据为 SCON 中的 TB8,CPU 执行一条写 SBUF 的指令后,便立即启动发送器发送,送完一桢信息后, TI 被置 1。在发送下一桢信息之前,TI 必须由软件清零。 方式 3 接收 当 REN=1 时,允许串行口接收数据。数据由 RXD 端输入,接收 11 位信息。 当接收器采样到 RXD 端的负跳变,并判断起始位有效后,便开始接收一桢信息。 当接收器接收到第 9 位数据后,若同时满足以下两个条件: RI=0 SM2=0 或接收到的第 9 位数据=1 则接受数据有效,8 位数据装入 SBUF,第 9 位数据装入 RB8,并置 RI=1。若 不满足这两个条件,接收的信息将丢失。 方式 3 的波特率=定时器 T1 的溢出率/32(或 16) ,具体由 PCON 中的 SMOD 决 定。这里选择 T1 工作在模式 2 下,所以:定时器 T1 的溢出率=Fosc/12(2 的 8 次幂-N) 式中:Fosc 位系统的时钟频率; N 为时间常数,即 TH1 的预置值。 本设计中采用的晶振频率 Fosc=11.1MHZ,TH1=N=F3,此时的波特率为 4800 波特。 2.2. 单片机多机通讯单片机多机通讯 多机通讯原理 多机通讯中,要保证主机与从机之间可靠的通讯,必须保证通讯接口具有识别功 能,而串行口控制寄存器 SCON 中的控制位 SM2 就是为满足这一要求而设置的。 当串行口以方式 3 工作时,发送和接收的每一桢数据都是 11 位,其中第 9 位数 据是可编程位,通过对 SCON 的 TB8 赋予 0 或 1,以区别发送的是地址桢还是数据 桢(规定地址桢的第 9 位为 1,数据桢的第 9 位为 0) 。若从机的控制位 SM2=1, 21 / 45 则当接收的是地址桢时,数据装入 SBUF,并置 RI=1 向 CPU 发出中断请求;若接 收的是数据桢,则不产生中断标志,信息将抛弃。若 SM2=0,则无论是数据桢还 是地址桢都产生 RI=1 中断标志。鉴于此,可规定具体的通讯过程如下: 1. 使所有从机的 SM2 位置 1,处于只接收地址桢的状态。 2. 主机发送一桢地址信息,其中包含 8 位地址,第 9 位为 1,以表示发送的是 地址。 3. 。从机接收到地址桢后,各自将接收到的地址与其本身的地址相比较。 4. 。被寻址的从机,清除其 SM2,未被寻址的从机仍保持 SM2=1 不变。 5. 。主机发送数据或控制信息(第 9 位为 0),对于已被寻址的从机,因 SM2=0,故可以接收主机发来的信息。而对于其他从机,因 SM2 维持为 1,对 主机发来的数据将不予理睬,直至发来新的地址桢。 6. 。当主机改为与另外的从机联系时,可再发出地址桢寻址从机。而先前被寻 址过的从机在分析出主机是对其它的从机寻址时,恢复其 SM2=1,对随后主 机发来的数据不加理睬。 多机通讯的软件协议 通讯必须符合一定的规范。一般通讯协议都有通用标准,协议较完善,但很复杂。 为叙述方便起见,这里只规定几条不完善的协议: 1. 系统中允许接有 255 台从机,其地址分别为 00HFEH 2. 地址 FFH 是对所有从机都起作用的一条控制命令,命令 8 个从机恢复 SM2=1 状态。 3. 主机和从机的联络过程:主机首先发送地址桢,被寻址从机返回本机的地址 给主机,在判断地址相符后主机给被寻址的从机发送控制命令,被寻址从机 根据其命令向主机回送自己的状态,若主机判断状态正常,主机开始发送或 接收数据,发送或接收的第一个字节是数据块长度。 4. 假设主机发送的控制命令代码为: 00:要求从机接收数据块 01:要求从机发送数据块 其它:非法命令 从机状态字格式为: D7 D6 D5 D4 D3 D2 D1 D0 ERR 0 0 0 0 0 TRDY RRDY 其中:若 ERR=1,从机接收到非法命令; 若 TRDY=1,从机发送准备就绪; 若 RRDY=1,从机接收准备就绪。 在实际的应用中,经常采用主机查询,从机中断的通讯方式,本设计也采用这种 方式。主机程序部分以子程序方式给出,要进行串行通讯时,可直接调用;从机 部分以串行口中断服务方式给出,其中断入口地址为 0023H。若从机未作好接收 或发送的准备,就从中断程序返回,在主程序中作好准备。主机应重新和从机联 络,使从机再次进入串行口中断。下面分别写出二者的程序清单以及框图。 3.3.主机查询方式通讯程序主机查询方式通讯程序 主机程序部分以子程序的方法给出,要和从机通讯时,可以直接调用子程序。 主机在接收或发送完一个数据块后可返回主程序,以便完成其它的任务。但在调 用这个程序之前,必须在相关的寄存器内预置入口参数,现规定: 入口参数:(R2)- 被寻址从机地址 (R3)- 主机命令(00H 或 01H) (R4)- 数据块长度 (R0)- 主机发送数据首址 (R1)- 主机接收数据首址 主机主程序主机主程序 本设计中接收的数据放在 60H 开始的单元中,每个从机发送的数据应为 4 组,则 在主程序中调用通讯子程序的方法如下: ORG 0000H LJMP MAIN ;跳转到主程序 ORG 0030H MAIN: MOV R0,#60H ;接收数据首址 NT: MOV R1,#07H ;第一从机地址 MOV R3,#01H ;主机接收数据 MOV R0,#50H ;发送数据首址 MOV R4,#04H ;数据块长度 MOVX R1,A ;分别给各从机通电 LCALL MCOM DEC R1 JC NT ;8 个没都传送完则继续传下一个 HERE: SJMP HERE ;等待 主程序应完成的功能有:1)分时的给 8 个从机供电 2)为子程序作好准备并调用通讯子程序 MCOM 3)实现和上一级 PC 机的通讯 23 / 45 由于论文只涉及主机和采集模块间的通讯,所以设计的主程序只完成前两个功能。 主机串行通讯子程序主机串行通讯子程序 MCOMMCOM 下面给出了程序的清单,程序流程图如图 3.4 图 3.4 主机查询方式程序框图 MCOM: MOV TMOD,#20H ;初始化 T1 为定时器方式,模式 2 MOV TL1,#0F3H ;置计数常数 MOV TH1,#0F3H SETB TR1 ;启动定时器 1 MOV PCON,#80H ;SMOD=1 MOV SCON,#0D8H ;串行口方式 3,允许接收,TB8=1 TX_ADDR: MOV A,R2 ;发送地址祯 MOV SBUF,A LOOP1: JNB TI,LOOP1 CLR TI RX_REPLY: JBC RI,IF_AGREE ;等待从机应答 SJMP RX_REPLY IF_AGREE: MOV A,SBUF ;判断应答地址是否相符? XRL A,R2 JZ TX_COMD COMEBAKE: MOV A,#0FFH ;重新联络 SETB TB8 MOV SBUF,A LOOP2: JNB TI,LOOP2 CLR TI SJMP TX_ADDR TX_COMD: CLR TB8 ;地址符合,给 TB8 置 0,准备送命令 MOV A,R3 ;R3 中的内容为控制代码 MOV SBUF,A ;送命令 LOOP3: JNB TI,LOOP3 CLR TI RX_STATE: JBC RI,IF_RIGHT ;准备接收从机状态字节 SJMP RX_STATE IF_RIGHT: MOV A,SBUF ;判断从机是否接到非法命令 JNB ACC.7,GO_ON ;若从机正确接收到命令就继续,否则返回重 新联络 SJMP COMEBAKE GO_ON: CJNE R3,#00H,RECEIVE ;要求从机发送就跳转 JNB ACC.0,COMEBAKE ;从机接收未准备就绪,返回重新联络 TX_BYTES: MOV A,R4 ;发送数据块长度,R4 内容为入口参数 MOV SBUF,A WAIT1: JBC TI,TX_DATA SJMP WAIT1 TX_DATA: MOV A,R0 ;发送数据块 MOV SBUF,A WAIT2: JNB TI,WAIT2 CLR TI INC R0 ;指针指向下一个要发送的数据 DJNZ R4,TX_DATA ;数据未发送完,继续发送 RET ;数据发送完,返回主程序 RECEIVE: JNB ACC.1,COMEBAKE ;从机发送未准备就绪则跳转 RX_BYTES: JNB RI,RX_BYTES ;接收数据块长度 CLR RI MOV A,SBUF 25 / 45 MOV R4,A ;数据块长度暂时存 R4,以作计数 MOV R1,A ;数据块长度保存 INC R1 ;指向存储数据地址 RX_DATA: JNB RI,RX_DATA ;准备接收数据 CLR RI MOV A,SBUF MOV R1,A ;存放数据 INC R1 ;存放指针加 1 DJNZ R4,RX_DATA ;数据未接收完就继续 RET ;返回主程序 4.4.从机中断方式通讯程序从机中断方式通讯程序 从机的串行通讯采用中断启动方式。在串行通讯启动后仍采用查询方式来接 收或发送数据块。初始化程序安排在主程序中,中断服务程序选用工作寄存器区 1。本程序中利用标志位为 PSW.1 作为发送准备就绪标志,PSW.5 作为接收准备就 绪标志,由主程序置位。程序中发送数据放置在片内 RAM 内,首地址为 50H,第 一个数据为发送数据块长度;接收数据存放在片内 RAM 中,首地址为 60H,接收 的第一个数据为数据块长度。 1)从机主程序 ORG 0000H LJMP START ORG 0023H LJMP SERVE ;串行口中断服务程序入口 ORG 0030H START: MOV TMOD,#20H ;定时器 T1 初始化,方式 2 MOV TL1,#0F3H MOV TH1,#0F3H SETB TR1 ;启动定时器 MOV PCON,#80H ;SMOD=1 MOV SCON,#0FH ;串行口工作方式 3,允许接收,SM2=1 MOV R0,#50H ;发送数据首址 MOV R1,#60H ;接收数据首址 SETB EA ;开中断 SETB ES ;允许串行口中断 LJMP MAIN ;转主程序,等待串行口中断 MAIN: CLR P0.4 ;供电检验 SETB PSW.1 ;发送准备就绪标志置位 SETB PSW.5 ;接收准备就绪标志置位 MOV 50H,#04H ;应有 4 组数据 MOV 51H,P1 ;数据的百分位和十分位写入 50H MOV 52H,P2 ;数据的各位和十位写入 51H MOV 53H,P0 ;数据百位写入 52H ANL 53H,#0FH HERE: SJMP HERE 主程序应完成的功能有:1)串行口初始化及标志位的置位 2)从机对采集数据的存储 3)检查主机是否可以对从机供电 2).从机中断服务程序 下面列出了中断服务程序清单,程序框图如图 3.5 图 3.5 多机通讯从机中断方式程序框图 SERVE: CLR RI 27 / 45 PUSH ACC ;保护现场 PUSH PSW CLR RS0 ;选工作寄存器区 1 SETB RS1 MOV A, SBUF XRL A, #MYADDR ;MYADDR 为本从机地址 JZ IS_ME ;地址相符,跳转 RETURN: POP PSW ;恢复现场 POP ACC RETI ;中断返回 IS_ME: CLR SM2 ;地址符合,继续与主机通讯 MOV SBUF,#MYADDR ;从机地址返回主机 LOOP1: JNB TI,LOOP1 CLR TI RX_COMD: JNB RI, RX_COMD ;接收主机命令 CLR RI IF_RESET: JNB RB8,DO_WHAT ;是命令祯跳转 SETB SM2 ;RB8=1 是复位信号,置 SM2=1,向主机 返回本机状态 LJMP RETURN DO_WHAT: MOV A,SBUF ;命令分析 SUBB A,#02H JC NEXT ;(A)02H,是控制命令,跳转 MOV A,#80H ;非法命令,置 ERR=1,向主机返回本 机状态 MOV SBUF,A LOOP2: JNB TI,LOOP2 CLR TI SETB SM2 LJMP RETURN ;返回 NEXT: JZ READY_RX ;(A)=00H,是接收命令,跳转 READY_TX: JB PSW.1,TX_TRDY ;PSW.1=1,发送准备就绪,跳转 MOV A,#00H ;PSW.1=0,未准备好,置 TRDY=0 回送给 主机 MOV SBUF,A LOOP3: JNB TI,LOOP3 CLR TI SETB SM2 LJMP RETURN TX_TRDY: MOV A,#02H ;向主机返回发送准备就绪标志 MOV SBUF,A C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 华三考试题库及答案
- 森林火警法律知识培训课件
- 桩基全护筒跟进施工课件
- 桥脑病变MRI课件
- 桥梁隧道冲刺课件
- 2025年技能提升跨行业通-用招聘笔试模拟题及答案
- 2025年陪诊师考试知识点探讨与试题及答案
- 2025年验船师考试(C级船舶检验专业实务)复习题及答案二
- 2025年航空公司面试空中乘务员能力预测试题集
- 2025年物流经理专业面试题解答技巧
- 供应商改善计划表
- DLT 5285-2018 输变电工程架空导线(800mm以下)及地线液压压接工艺规程
- 中国省市县行政区划
- DB11-T 1253-2022 地埋管地源热泵系统工程技术规范
- 管道工程施工重难点分析及应对措施
- JBT 7043-2006 液压轴向柱塞泵
- 体育公园运营可行性方案
- 《直升机构造与系统》课件-直升机的类型
- 成都第四十九中学数学新初一分班试卷含答案
- 《平方根》(第1课时)示范公开课教学设计【北师大版八年级数学上册】
- 《信息检索与处理(修订版)》课件下 第2单元第二课 分析信息-第3单元 综合探究实践活动
评论
0/150
提交评论