大型电子投票表决系统通信协议的设计与实现_第1页
大型电子投票表决系统通信协议的设计与实现_第2页
大型电子投票表决系统通信协议的设计与实现_第3页
大型电子投票表决系统通信协议的设计与实现_第4页
大型电子投票表决系统通信协议的设计与实现_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1/9大型电子投票表决系统通信协议的设计与实现大型电子投票表决系统通信协议的设计与实现1引言大型电子投票表决系统支持大型会议的电子表决功能,采集和统计大量重要的短时表决数据必须准确稳定,实时性好,能够实现大规模、中距离、高速率、低成本的多机通信。目前,对大型电子投票表决系统的研究和应用成为智能会议系统的重点和难点,而系统通信的可靠性在很大程度上依赖于是否有一个好的通信协议。本文重点研究大型电子投票表决系统的通信协议。2通信协议设计在集散控制系统中,上位机与下位机之间如何本文由论文联盟HTTP/收集整理进行数据传输,怎么提高通信的效率和可靠性,以及对通信过程中的故障处理,帧格式的约定,都需要一套详尽的通信协议。通常,一个集散控制系统由一个主控计算机和一系列单片机构成,它们之间再通过一定的物理媒介连接在一起,以完成必要的通信功能。对于一个特定的测控系统而言,所要测控的对象和所采取的测控算法是个有个性的东西;而上位机和下位机之间的通信可以看作是一系列命令2/9流和数据流的流动,所采用的通信协议是用来保证传输过程的可靠和高效,是具有共性的,能够也应该有一个统一的设计标准1。通信协议的分层结构通信协议的设计通常采用分层的机构,如ISO的OSI参考模型2。基于RS485串行接口的电气标准属于七层OSI模型物理层的协议标准,如图1所示。物理层是利用物理媒介实现物理连接的功能描述和执行连接的规程,提供用于建立、保持和断开物理连接的机械的、电气的、功能的和过程的条件;数据链路层用于建立、维持和拆除链路连接,实现无差错传输的功能;应用层针对不同的应用,利用链路层提供的服务,完成不同通信节点之间的通信。通信协议的分层设计1)物理层协议设计上位机和下位机都挂在通信总线上,物理层的通信协议由RS485标准和多单片机通信方式共同实现。物理层要完成发送及接收字节流的任务,但对传输过程的可靠性不做出保证,而由高层协议来保证。物理层为链路层提供接口,包括SEND子程序及RECEIVE子程序。2)数据链路层协议设计链路层可以引入帧长度域、冗余字节和CRC校验等3/9方法进行差错处理3。链路层向上层提供的接口为SENDFRAME和RECEIVEFRAME,其中利用了下层提供的接口。3)应用层协议设计应用层是协议的最高层,它的设计对于不同的应用可以有所不同,但是也存在很多通用性的原则。应用层也个有一定的差错检查能力首先,它引入了冗余类型字节;其次,数据域字节也可以采用CRC校验等方法进行校验3。通信协议的机制规范基于本协议的通信可以有两种机制。一种是面向握手的,即每发出一帧,总是要等待确认帧,否则将认为是通信出错。这是一种可靠的通信方式,适合传输系统命令和一些非常重要的系统参数。另一种是无握手的,即发送方假设接收方总是接收正确,从而无须等待确认帧就不停地发送,适合大量前端采集数据的发送。在计算机与单片机实现编程通信之前,两者之间需要规定握手协议,以保证数据收发的正确性4。在本系统中,单片机与单片机之间采用同样格式的通信协议。在上位机呼叫下位机地址之后,就可利用本协议的规范来设计具体的通信流程。另外,设计一套完整的通信协议还要求结构简单、功能完备、高效可靠,同时要求具有通用性、兼容性与可4/9扩充性,并且尽量标准化。3通信协议实现电子投票表决系统从本质上来讲,可认为是一个分布式的数据采集与集散控制系统。在集散控制系统中,普遍采用RS485总线作为底层通信接口5。大型电子投票表决系统以RS485半双工通信协议为基础,由计算机、主控制器、分支控制器和表决器构成一个多级分层的总线型网络结构。下位机采用AT89CXX系列单片机实现,构成了一个符合RS485通信规范的主从分布、三级驱动、串行连接的多机网络6。软件系统设计主要包括基于WINDOWS操作系统的计算机统计管理软件设计和采用单片机技术的主控制器、分支控制器和表决器的通信程序编写。系统采用异步串行通信、主从呼叫响应的通信方式,完成下位机通信、上位机通信和上下位机间的通信等功能。主控制器、分支控制器和表决器基于RS485通信协议,采用查询和地址数据回送的方式实现相互通信和统计功能。最后由主控制器对数据进行收集、统计和处理,并回送计算机。通信协议的实现主要包括下位机通信协议、上位机通信协议、上下位机间的通信过程等几个部分。下位机通信协议主控制器通信协议5/9主控制器核心芯片89C52对应的主控制器的通信协议。主控制器至PC机通信协议1)一般约定采用RS485标准串行接口,完成主控制器至PC机通信。波特率为9600BIT/S。1位起始位,8位数据,1位停止位,无校验。2)帧数据结构起始码命令码数据校验码3)命令码定义表1命令码定义表命令名称命令码1表决器测试开始“C”2表决器测试结束“E”3表决开始6/9“B”4计票数据“P”5表决结束“X”分支控制器通信协议电子投票表决系统的分支控制器核心芯片89C51对应的分支控制器的通信协议。通信协议约定对于晶振,波特率设定为14400,倍速为28800,单字节传输时间为47US,延时为1MS。表决器通信协议电子投票表决系统的表决器核心芯片89C2051对应的表决器的通信协议。通信协议约定对于晶振,波特率设定为600,延时为10MS。接受和发送数据为定长8字节。表决时改为按键短时保持。上位机通信协议VISUALBASIC提供三种通信编程方式。一是使用MSCOMM控件;二是使用WINDOWSAPI;另外一个就是使用INP和OUT直接对端口读写方式7。本论文利用MSCOMM控件实现计算机与主控制器的通信。在上位机开始表决子程序的通信协议中,包含以下7/9过程1)设置打开通信端口1,并设置通信参数为19200波特,不校验,8个数据位,一个停止位。2)发送单片机命令为了使主机能够对整个检测过程进行实时控制,须要在发送命令以后设定等待的时间,也可以通过条件判断下一步是发达还是接收命令。对发送的命令,可能是文本方式或二进制代码。发送命令过程是一个带参过程,这样可使发送命令简便易行。3)接收数据接收数据是一个被动的过程,可以通过函数来实现,由定时器开启。在接收过程中,多数用特征字符,如“OK”、“”等。这些需要在通信协议中约定。4)TIMER控件控制通过TIMER控件来控制通信中的发送命令和接收数据过程,在通信程序中设置两个TIMER控件分别控制发送单片机命令和接收单片机数据。5)自动接收、监视总线状态和通信错误的处理自动接收、监视总线状态和通信错误的处理可以通过ONCOMM事件实现。通过控件中的ONCOMM事件可以捕捉和处理错误。当COMMEVENT属性值发生改变时,表明有通信错误,就会产生ONCOMM事件。这样可以监视通信线路状8/9态,得到单片机和主机及单片机和单片机之间的通信进程。综合以上分析,我们可知利用VISUALBASIC的串行通信控件实现了计算机与多单片机之间的通信。同时,采用定时器控件控制收发过程,在必要的地方自动接收,使定时控制和通信过程完美地结合起来,大大加快了进程,克服了往多“握手”协议造成的通信速度缓慢的缺点。上下位机间的通信过程计算机与多单片机之间的串行通信采用RS485总线标准,半双工传输方式。1)通信均有上位机发起,下位机不主动申请通信。2)当处于轮询状态时,上位机依据下位机地址,定时向下位机发送呼叫指令。此时,每台下位机都中断接受并判断,地址不相符的下位机中断返回,执行其他下位机任务;反之则把本机地址及其状态作为应答信号发送给上位机。上位机接收到应答信号后,可以作进一步的处理。4结论大型电子投票表决系统的软件设计主要集中在通信协议的设计。通信协议是保证通信畅通的关键,在一定程度上也影响着网络通信的可靠性。本论文设计了一种以单9/9片机为主控机的基于帧的通信协议,本通信协议适用于计算机和单片机点对点通信的情况。需要注意的是,数据通信只是整个系统的一部分内容,要占用尽量少的时间,以求达到整个系统的高效率。在通信数据量一定的情况下,采用较高的波特率虽然比较好,

温馨提示

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

评论

0/150

提交评论