探讨采用单片机通讯时信息差错的自检与校正

来源 :电力技术 | 被引量 : 0次 | 上传用户:shying
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘要】MCS-51单片机为用户提供了一个全双工的串行接口,可以应用于各种情况的串行数据传送。尤以使用异步串行通讯更为普遍。异步串行通讯虽然速度较慢,但是经济实用,传送和接收又不需要严格保持同步,因此,异步串行通讯现已大量地应用于计算机接口技术之中。
  【关键词】单片机; 串行通讯; 检验; 纠错
  引言
  在控制工程和其他应用电子系统中, 单片机得到了广泛应用, 它为用户提供了一个全双工的串行接口, 尤以异步串行通讯更占优势, 虽然异步串行通讯速度较慢, 由于在数据的发送和接收过程中不需要保持严格同步, 现已大量地应用于计算机接口技术之中。但是, 异步串行通讯由于距离长, 以及单片机在电气、结构、环境及干扰等方面的原因, 常会使传送的数码信息发生差错, 要保证单片机系统的正确、可靠, 必须对这些传送的数码信息进行自动的检错与纠错。
  我们常用的通讯一般是串口,常用的串口通讯有三种,一种是TTL,一种是232,一种是485,这三个是用得最多的,其他的通讯五花八门,基本那些大公司,像飞利浦,三菱,都有自己的一套,而且还是不透明的,使用他们的还得交费用。TTL和232是电平编码,TTL的1就是5V,0就是0V,而232电平1是负电压,0是正电压。串口上每次只能发送一位数据,一个字节有八位,一般发送还有起始位和结束位,还可以选择校验位,我们只要把数据一位一位的送到总线上就可以了,一位的数据要在总线上保持多长时间,这个就是波特率控制了。接收方按相同的波特率,就可以收到相同数据了。这个就是一帧数据。
  1海明校验原理
  这是由Richard Hamming于1950年提出、目前还被广泛采用的一种很有效的校验方法,是只要增加少数几个校验位,就能检测出二位同时出错、亦能检测出一位出错并能自动恢复该出错位的正确值的有效手段,后者被称为自动纠错。它的实现原理,是在k个数据位之外加上r个校验位,从而形成一个k+r位的新的码字,使新的码字的码距比较均匀地拉大。把数据的每一个二进制位分配在几个不同的偶校验位的组合中,当某一位出错后,就会引起相关的几个校验位的值发生变化,这不但可以发现出错,还能指出是哪一位出错,为进一步自动纠错提供了依据。
  海明校验则克服了前述单片机串行通讯中的缺点, 它不仅可以同时测量出一组信息中的两重错, 而且能够定位和自动纠正一重错, 既经济实用, 又具有高可靠性。海明校验原理为在一组代码中加人一定位数的校验位, 使每一位信息都参加几组不同码元的奇偶校验。如果有一位信息出错, 就会引起有关的几组奇偶校验结果出错, 这样就可以根据哪些组校错,来确定出错误信息的位置及出错性质, 从而自动进行纠正。
  下面举例说明海明校验原理, 并讨论它为什么不仅能检错, 而且可以定位和自动纠正一重错。假设有一个四位的二进制数码需要传输:
  M=A4A3A2A1为了实现海明校验, 增加了三位奇偶校验位Bl ,B2,B3 , 于是构成新的代码有七位, 其中三位海明校验位的排列位置有一定规则。海明校验位所处的位置归纳起来在2i 处( i=0,1,2, … ), 即B1 置于20=1处,B2置于21=2处,B3置于22=4处,这样一来, 需传输的数码就变成表1 中所示的海明码, 由于采用了三位奇偶校验位, 所以这些编码要编组进行奇偶校验。
  如果采用奇性校验, 则编码方法如表2 所示, 其中,B1,B2, B3的取值根据各组中“1” 的个数而定。例如: A 组中A1,A2,A3 的“l”的个数是偶数时,Bl 取“1” , 否则取“0” 。也就是说, 海明奇偶校验位B1,B2 ,B3 必须保证各组中“l”的个数均为奇数。在正确无误的通讯传送情况下,A、B、C 三次校验的结果都应该是奇性的。如果三次校验中有一次或几次出现偶性, 则说明传送中有错码, 现在以一位错的情况进行分析, 因为两个以上码位同时出错的概率极低。假设A、B 两组校验结果为偶性,C 组校验结果为奇性, 即A、B 两组中有错码, 而C 组中没有错码, 那么由表2 可判定, 必然是A! 码位错了, 因为只有A, 是C 组中没有而A、B 兩组中共有的。再假设C 组校验结果为偶性,A、B 两组校验结果为奇性, 由表2 可知, 必定是B3 码位错了, 因为, 只有B3码才是C 组所独有的, 信息没有错, 仅是校验位B3 在传送过程中出了错。通过三组奇性校验, 只考虑一位出错情况, 可以唯一地判定是哪个码发生了错码, 如果校验的结果为奇性( 没有错码)用“0’ 表示, 校验的结果为偶性( 有错码)用“1” 表示, 那么, 用三次校验的结果, 就可以自动判断7 位海明码中任一错码位。例如,校验结果为CB A=011, 则C 组中无错码,A、B 两组中有错, 则说明是AI 码错了, 而AI 码恰好位于海明码的第三位, 与CB A 的结果“0 11” 相吻合, 又如C BA=010, 即C、A 两组中没有错码, 只有B 组中有错码, , 则说明是B2 码错了, 而B2码在海明码中的位置与校验结果一致, 这样, 就可以实现错误的自动定位并予以纠正。只有当校验结果CBA=000, 才表示传输没有错误。
  2软件实现
  在单片机系统中实现海明校验, 就必须完成编码、译码、检测和纠错这样几个功能, 在传送的一方只需完成编码任务, 而接收一方需要完成译码、检错和纠错三个步骤, 现分述如下。
  2.1编码阶段
  在计算机硬件中,编码(coding)是指用代码来表示各组数据资料,使其成为可利用计算机进行处理和分析的信息。代码是用来表示事物的记号,它可以用数字、字母、特殊的符号或它们之间的组合来表示将数据转换为代码或编码字符,并能译为原数据形式。是计算机书写指令的过程,程序设计中的一部分。在地图自动制图中,按一定规则用数字与字母表示地图内容的过程,通过编码,使计算机能识别地图的各地理要素。
  仍以传送四位信息为例。首先, 将需要传送的信息取出, 并按海明校验要求完成编码工作。假设N UM I 是需要传送的信息存放地址, 编码则可以有程序PROGI 来完成:
  PROGI;MOV,DPTR,NUMI
  MOVX,A,@,DPTR
  ANL,A,#OFH
  ......
  RL,A
  MOV B,A
  2.2 译码
  检错和纠错单片机从串行口接到一个海明码后, 首先对其进行译码, 再进行检错和纠错, 程序如下:
  PROG2: MOV,DPTR,NUM2
  MOVX,A,@,DPTR
  MOV,B,#00H
  ANL,A#55H
  JB,0D0H,NEXTI
  SETB,OF1H
  ......
  RLC,A
  ANL,A,#OFH,RET
  结论
  目前, 在单片机串行通讯中, 检验的方式大多采用奇偶检验的方法, 这种方法只能判断错误的发生, 然后要求重新发送( ARQ), 它不能指出错误所在, 更不能纠正错误, 一旦在通讯中发生错误信息, 极易使通讯系统处于死机状态, 这就极大地阻碍了单片机串行通讯的广泛应用。在单片机通讯中若以该方式为主,再结合其他的检验方式, 则能取得更满意的效果, 同时, 还可以提高系统的可靠性和稳定性。
  参考文献
  【1】何为民.低功耗单片微机系统设计IM] J匕京:北京航空航天大学出版社,19 9 3.
  【2】通信网的安全一理论与技术[M] 西安: 西安电子科技大学出版社,1999
  作者简介;唐宇(1983.8-),女,四川达州人,西华师范大学本科,江西省科技师范大学在职研究生,助理讲师,单位:江西省电子信息技师学院,研究方向:信号与信息处理,关于单片机的通讯
其他文献
摘要:配电网信息与数据的传输枢纽为通信自动化系统,该系统是否可靠,对配电网稳定性和安全性的影响是决定性的。笔者在本文中,设计了基于OFDM调制技术的通信自动化系统,并对比了各种配电通信方式,实践证明,系统信号定义明确、质量好,值得在配电网系统中推广应用。  关键词:通信自动化系统;配电网;OFDM技术;技术应用  配电网是直接面向电力用户的中低压电网,作为电力系统的重要组成部分,事关电网运行的安全
期刊
在北方的城市生活中,暖气是冬天必不可少的,随着现代化建设的进行,人们的生活水平逐渐提高,对暖气的要求也越来越高,古老的供暖模式与我们的日常需求冲突便显现出来。例如:暖气供暖温度的不均匀,暖气计费的不合理,暖气调节的不规范及暖气供暖的不节约等。暖气控制的智能化和节能性的要求越来越明显。当然,要想达到暖气控制的智能和节能,改变其供暖模式所需的投资量是庞大的,我们不得不考虑一种更经济,更实际的方法,即改
期刊
摘要:随着电力体制改革的不断深入,打破垄断、引入竞争、优质服务、提高效益,成为供电企业发展的必由之路。要做到客户满意,提供安全、优质、清洁、方便的电能只是基本条件,更重要的是提供优质服务,为客户提供全方位的“大服务”。服务质量的好坏不仅影响到企业的形象,而且影响电力市场的开拓,直接影响企业的生存发展。  因此传统的抄表模式已远远无法满足现代电网企业发展要求,供电企业亟待开发引进新一代抄表系统,适应
期刊
摘要:在综合已有直驱永磁发电机组低电压穿越方法的基础上,提出了一种新的低电压穿越控制策略,即将飞轮储能模块和减少发电机出力控制应用于直驱永磁风力发电系统,在电网电压跌落时防止直流电容过电压,保证直流侧电容的运行安全。使用PSCAD/EMTDC搭建直驱永磁风力发电系统,设计算例对新型直驱永磁发电机组低电压穿越控制策略进行仿真,仿真结果验证了控制策略的有效性和正确性。  关键词:直驱永磁;低电压穿越;
期刊
摘要:广义的工程质量管理,泛指建设全过程的质量管理。其管理的范围贯穿于工程建设的决策、勘察、设计、施工的全过程。一般意义的质量管理,指的是工程施工阶段的管理。随着我国经济水平的不断提升和电力工程整体水平的不断进步,电力工程施工质量对于电力工程的正常运行起着越来越重要的保障作用。文章从阐述电力工程施工质量管理入手,对电力工程施工质量控制进行了分析。  关键词:质量控制;电力施工;相关措施  电力工程
期刊
摘要:建立完善的智能电网是我国未来电网发展的目标,智能变电站是智能电网的基础和有力支撑,有绿色、可靠、高效特点,智能变电站是数字化的变电站,是变电站发展史上的新篇章。智能变电站是坚强智能电网的重要基础和支撑.阐述了智能变电站与数字化变电站的主要区别,介绍了智能变电站的体系结构、智能一次设备的功能和智能设备与顺序控制的特点,重点研究了智能变电站对应的高级应用功能.针对智能变电站运行维护及应急事故处理
期刊
摘要:随着我国经济社会的蓬勃发展,人们对于电力的需求越来越大,在城市的发展中,为了使电网规划和电网建设具较强的实用性和操作性,就要将电网规划纳入城市规划的体系中,使城市规划与电网规划有机结合。下文笔者结合实际工作经验,从电网规划和城市规划的角度出发,并提出使电网规划与城市规划的协调发展的措施,以供参考。  关键词:电网规划;城市规划;协调性  引言  为了使我国城市电网规划和电网建设有很强的操作性
期刊
摘要:电力工程(electric power engineering),即与电能的生产、输送、分配有关的工程。当前,我国电力工程的建设有了迅速的发展,这也推动了我国的经济建设。电力工程是关乎国计民生的基础设施建设,其工程建设项目繁多、投资巨大、收益期长。本文通过我国电力工程的一些管理现状和相关造价控制问题的分析,提出其几点合理建议。  关键词:电力工程造价;现状;造价控制;管理  1、引言  造价
期刊
【摘要】企业年金,又称企业补充养老保险,是指在政府强制实施的基本养老保险制度之外,企业在国家政策的指导下,根据自身经济势力和经济状况建立的,旨在为本企业职工提供一定程度退休收入保障的制度。  【关键词】企业年金;发展;原因  引言  目前我国企业年金发展的现状是由很多层次的制度性问题造成的,需要企业年金结合众多因素协调发展加以解决。企业年金制度不是独立的理论体系或商业产品,而是社会保障体系的组成部
期刊
摘要:本文介绍了仓储管理信息系统技术,并结合电力物资管理系统,论述了仓储管理信息系统模块在电力物资管理中的应用,针对电力系统提出了一整套设计思路,以供同行借鉴。  关键词:仓储管理信息系统;电力物资管理;应用  1、引 言  基于移动PDA和条码自动识别技术的物资仓储管理信息系统利用上海索勤公司LES软件技术启动SAP软件中WM(仓库管理)模块,通过WIFI,3G等数据通讯方式,搭建公司库存物资信
期刊