访问手机版页面
你的位置:老古开发网 > 其他 > 正文  
多机串行通信结点设计
内容导读:
多机串行通信结点设计 浙江工业大学信息工程学院洪一池 中国软件技术服务总公司杭州分公司袁一萍 摘要介绍一种在工业应用环境下用于主从型多机系统串行通信的结点设计,连接在结点上的各个处理机可以随时发送数据而不需要总线仲裁。 关键词多处理器串行通信结点热插拔 计算机在工业领域的应用中,常采用以单片机为前端机构成的多处理机系统形式,这随之带来了多机间的通信连接问题。目前国内普遍使用IBM\ PC机型,它的串行通信接口采用的是RS\ 232规范,不适应长距离数据通信,特别是不能直接与多机通信;但由于诸多程序开发环境都提供了对标准微机串行通信的支持,在通信速率能满足要求的情况下还是尽量利用它。实用中可将RS\ 232信号电平转换为TTL信号电平,再将TTL信号电平转换为RS\ 485信号电平,这样就可利用RS\ 485规范实现多机通信;也可将RS\ 232信号电平转换为电流信号实现长距离通信。但在多处理机使用通信通道的方式上,许多系统采用的是用软件控制查询应答、轮流使用的方法,使系统在通道管理上花费不少的时间。虽然标称的通信速率有几千bps,但实际达到的有效通信的平均速率要低。本文介绍一种在工业应用环境下经过长期应用考验,性能良好的多机串行通信结点设计,用于上下位机的连接。连接在结点上的各个处理机可以随时发送数据而不需要总线仲裁。 除了一般的通信性能指标,工业应用环境下的通信接口电路还要求以下性能:① 有较强的抗干扰能力;② 某单机通信故障不影响连接在一起的其它微机正常工作;③ 能方便地进行在线维护与更换。 一、 设计要求 1. 通信结点的连接形式 对于大多数上下位主从型监测控制系统,其工作特点是实时收集现场数据。各级处理机具备一定的自主性,但必须向上位机通报现场信息,下位机向上位机发送的上行数据量大;上位机依据获取的信息,在必要时向下位机发布控制指令与参数,下行数据量小。由于上行数据量与时间的不确定性,应保证每个下位机具有独立的上行通道,避免数据堵塞,所以上行通道与通信结点以星形方式连接,所有的下位机均可随时上送数据;下行数据则可采用广播形式发布,能满足一般应用要求。 结点电路以89C2051单片机为硬件核心,用其标准串行口与上位机连接;用P1口的8位线与下位机作星形连接;用P3口的1位线发送下行数据,设计软件并行接收多路上行数据和发送下行数据。采用24MHz晶振时,指令周期为0.5μs。 2. 通信速率与距离指标 取普通微机串行口最高通信速率为9600bps。设定通信结点与上位机的连接距离不超过10m,当两者以9600bps连接时,为保持数据流的动态平衡,取通信结点与每台下位机的通信速率为1200bps,距离不小于100m,允许8台下位机同时以1200bps全速发送上行数据。若下位机数据流不集中在同时发送,则利用通信结点的数据缓冲区,通信结点与微机的连接也可低于9600bps。 3. 通信媒介抗干扰性能 通信线路可采用带屏蔽外套的多股线或双绞线,采用高动态内阻的恒流源为信号载体以减弱电磁感应干扰。考虑到通信线处于干扰较大的场合,因此,通信线与下位机和通信结点的连接均用光耦隔离,长距离引线被完全悬浮,消除共地干扰。只要系统的实时性满足要求,应适当降低通信速率以提高抗干扰性。 4. 可靠性与在线维护 工业应用系统通常须连续工作,所以系统组件的可靠性要好。同时,设计时应注意,即使某一组件故障,也不能影响或较少影响其它组件或使故障蔓延;进而,应考虑系统组件的在线维护与更换。这需要从硬件和软件两方面予以保证。 图1通信结点电路图二、 硬件设计 接口硬件设计方面,下位机通过光耦连接于单片机的各口线上,由软件解调数据编码。任何下位机的硬件故障都不会影响其它下位机硬件,也不会影响通信结点的正常工作。 上位机向下位机发送数据采用广播形式,因此,要保证任何下位机在任意时刻发生短路或断路故障;人为接入通信结点或与通信结点分离时,均不能影响接在通信结点的其它微机正常工作。考虑到广播线采用电流信号以及通过光耦与下位机连接,利用电流的分流特性,设计电路如图1所示。 由图1可见,当下位机未接入广播线路时,信号电流从二极管支路构成回路。取信号电流为6mA左右,此时每个二极管的压降约0.6V,则16个二极管的总管压降约96V。设光耦器件发光二极管在6mA左右工作点时的管压降为0.8V,当有一台下位机接入时,二极管回路的总管压降减至约9.2V。恒流源可采用恒流二极管,它所需的工作电压约2~3V,为电流开关三极管保留1V左右的工作电压。因此,为保证即使只有一台下位机接入广播线路也能正常接收,广播线路所需的工作电压约13V,可采用15V标称电压值。根据上述参数值推算,若广播线路使用12V标称电压值,则至少应有3台下位机接入广播线路。当8台下位机全部接入时,二极管回路的总管压降减至约6.4V。注意P1.0和P1.1两个口位作输入时需要外接上拉电阻。 若没有现成的恒流二极管,也可采用如图1所示的三极管恒流源电路,但性能稍差。因为,当有相同幅值的干扰信号叠加到电源上时,采用恒流二极管的电路中,干扰信号被恒流二极管所吸收;而在图示电路中,由于作为基准电压的二极管正向伏安特性,干扰信号将引起基准电压变化,造成输出回路电流变化,即干扰信号成为信号电流送往下位机。虽然该电流值很小,实用时影响不大,但应估计其对系统工作的干扰程度。另一方面,使用该电路也有好处:恒流源部分所需的工作电压只需0.6V,所以,即使只有1台下位机接入广播线路,广播线路所需的工作电压也可使用标称值12V。 三、 软件设计 通信结点中的软件主要由与上位机的通信控制以及与下位机的通信控制两部分组成。 与下位机的通信控制包含:① 8端口同速率但不同步的串行信号接收与解码;② 转发上位机的命令与参数。其中主要的任务是信号解码,对每个口位信号经7次检测、积分、判断后恢复其原信号“0”或“1”,将10位或11位的位信号恢复成字节数据。编制出相应程序后,统计其各种情况下所需的指令周期数,得知每次检测在最复杂情况所需的最长平均处理时间约20个指令周期。设8个通道均处于最长处理情况,则共计为160个指令周期/(8通道×位数),按每个指令周期0.5μs计,对应最快的标称通信速率为1200bps/8通道。 解码算法中最重要的是正确检测出位同步信号。此外,算法中要能够处理信号非正常中断,提供对下位机热插拔的支持,便于在线变更通信连接数目,即发生口位短路、断路或正当下位机向上发送数据时被切断而造成数据不完整。软件应能识别数据传输出错并予以处理,给出报警信息。 转发上位机的命令与参数也采用1200bps的通信速率,由软件控制一个口位发送。 与上位机的通信控制使用标准串行口通信方法,此处不再赘述。程序设计中,要仔细考虑的是与上位机的通信规约,尤其是8台下位机同时以1200bps全速发送上行数据时,由于89C2051中只有少量的内存,无法设置较大的数据缓冲区,进出通信结点的数据流必须动态平衡。通信规约中要制定必要的数据同步信息,保证各个下位机的数据不混淆错位。 结束语 本设计在一个电动机频繁启停的工业车间实用多年,工作正常,有较强的抗干扰能力;电路简单,故障概率极低;整机体积小,功耗也很小。MES 参考文献 1何立民.MCS\ 51系列单片机应用系统设计.北京:北京航空航天大学出版社,1990 2ATMEL数据手册.http://www.atmel.com
标签:
来源:单片机与嵌入式系统应用 作者:浙江工业大学信息工程学院 洪一池;中国软件技术服务总公司杭州分公司 袁一萍 时间:2006/2/12 0:00:00
相关阅读
推荐阅读
阅读排行
最近更新
商品推荐