分布式控制系统中单片机的串行通讯设计研究_第1页
分布式控制系统中单片机的串行通讯设计研究_第2页
分布式控制系统中单片机的串行通讯设计研究_第3页
全文预览已结束

下载本文档

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

文档简介

1、分布式控制系统中单片机的串行通讯设计研究摘要:关键词:关键词:分布式控制系统了;单片机;PC 机;串口通讯中图分类号:TP302.1文献标识码:A文章编号:1.前言分布式控制系统(Distributed Control System)在日常的运用过程中,经常会出现多项任务需要一起执行的状况,因而在现代工业中多机分布式的系统模式得到了广泛的应用。该系统模式多由MCS- 51 单片机和个人计算机构成。单片机具有体积小、功能强、应用开发方便、价格低廉等优点,同时还具备全双工的串行通讯特点,在智能仪器仪表、工业控制、数据采集、家用电器等方面广泛被采用【1】。同时,个人计算机可以对单片机外围设备及人机对

2、话的薄弱环节进行补充,从而使各单片机可以独立的完成各种数据的采集、控制及处理任务,并经过相关的通信接口把有用的数据信息传递给PC机,由PC机对该类信息进行显示、处理及打印,再将各种的相关控制命令传输至单片机,最终实现最优化控制和集中性管理。故而上位IBM- PC机同各下位MCS- 51 单片机之间的有效通信显得十分重要。2.系统硬件的相关电路设计通信技术是分布式控制系统中的关键性技术,运用通信网络使分布式控制系统的资源在地理位置上及控制上可以得到有效的分散处理,同时还能够实现统一管理、集中监视及资源共享。因而,人们通常认为分布式控制系统是在近程通信技术及微机技术得到高度发展并实现互相结合的必然

3、产物。由于分布式控制系统的各操作控制站在地域分布上比较的广泛,且相互之间的距离也相差较远,因此多选择串行通信的方式,而PC机同单片机之间的有效通信也是采用串行口将其完成的。TTL 电平是单片机系统的主要电平,同标注的RS- 232C 的不能够兼容的,再对通信的距离加以考虑,我们常选择芯片MAX232完成转换,并选择三线制对串口进行连接,即对于9针PC机串口只选择其中的3根线进行连接:第2脚RXD、第5脚GND及第3脚TXD。 单片机的第11脚同MAX232中的第10脚进行连接,第10脚同第9脚进行连接,第20脚同第15脚进行连接【2】。其参考电路图如图一所示:图一PC机与单片机串口诵讯的硬件接

4、口电路图3.通信协议为了确保通信可以安全稳定的运行,必须对相关的通信协议进行建立和完善。在分布式控制系统中,每一台单片机都有一个唯一的固定编号。当开始通信时,首先由PC机对被呼叫单片机的固定编号进行呼叫,当单片机接收到对应微机的有效呼叫后,需要对编号进行判断,看是否是自己的编号,若是,则相应的对呼叫应答信号进行发送,若不是,则不予理睬。微机在正确接收到对应的呼叫应答后,将对单片机发出有关的字符串作为通信命令。上位PC机的基本协议格式如图二。图二上位PC机协议格式在该格式中,单片机号表示与现场对应的某一台单片机,通常会占用一个有效字节,采用发送两次的方式是为了避免出现干扰。命令码则通常表示上位机

5、对下位机所发布的相关工作命令,也会占用一个有效字节,选择发送两次也是为了避免出现干扰。停止标志主要表示一次的命令还没有发送完毕,在具体的运用过程中可按照该标志对上位机发送的命令是否完毕进行判断。下位机的基本协议格式如图三。图三下位机协议格式其中,数据块表示下位机传输到上位PC机的有关数据。而校验位表示PC机对所接收的有效数据的奇偶性进行校验,通常也只占用一个有效字节。待校验完成后,可将有效的数据信息写入到内存,若校验的数据出现错误则会发出传输错误的数据信息,要求单片机对数据进行重新的传输。此外,若要使通信协议更加的完善,只采用上述的约定还是达不到应有的实践控制效果,因此,还必须在数据的发送与接

6、收的时间段上进行限制,避免在某些因素的影响下导致出现长时间等待对方回应的情况,使系统可以处于正常的工作状态,不会出现某些延误处理动作。在时间的限制方面可按照CPU处理的实际速度、通信的具体内容及余量等对其加以确定。4.PC机串行通讯的设计在Windows系统下选择VB串行通讯控件可以有效的实现多单片机同PC机之间的正常通讯,无须对其他语言加以借用便就对控制系统的通讯软件进行开发。VB所提供的串行端口对Mscomm 控件进行控制,以为应用程序有效的提供相关串行通讯。Mscomm控件可以对底层操作加以屏蔽,程序控制员可以对Mscomm 控件的事件及属性进行设置和监视,并与Timer控件相结合便可以

7、使串行口的数据初始化,并实现对相关数据的正确输入和输出。4.1对单片机命令进行发送在系统的正常运行中,主机必须可以实时的控制整个完整的检测过程,并在命令发送以后对等待时间进行设定,再通过相关条件对下一步的接收或发达命令进行判断。4.2 进行数据的接收对于数据接收而言是一个相对比较被动的过程,通常运用函数来得以实现。在接收的实际过程中,可以选择通讯协议中已明确约定的特征字符来表示,如“#”及“OK”等【3】。4.3 Timer 控件控制选择Timer控件对通讯中的有关发送命令及接收数据的过程进行控制,通常情况下需要在通讯程序中分别进行两个Timer控件的设置,实现对单片机发送命令及单片机接收数据

8、的控制。4.4 监视总线状态、自动接收及对通讯错误进行处理对总线状态进行监视,完成自动接收,对通讯错误及时的进行处理,可以运用OnComm事件加以实现。VB程序在实际的运行过程中,将MSComm1.Rthreshold设置为等于1,当接收事件出现时该程序会自动的对MSCom m 1.OnCom m()进行访问。5.单片机串行通信的设计在对单片机的串行通信程序进行设计时,必须使单片机的实际效率得到有效的发挥。单片机通常在实时性比较强的具体控制场合加以运用,在设计时还必须将响应时间加以考虑,尽量控制和减少在辅助性操作时对CPU时间进行过多的占用。因此,可以将通信程序划分为以下三个部分,即发送中断处

9、理、接收中断处理、通信处理,并将其进行有机的结合,进而构成单片机的整个科学通信程序。5.1发送中断处理程序 在分布式控制系统中,发送中断处理程序一般是用来对微机发送的有关数据进行处理,该程序通常都处于相对禁止的状态,其工作主要是在通信处理程序中把数据发送到写入单片机的相关缓冲区后,再将所有缓冲区的数据发送给相对应的微机【4】。5.2接收中断处理程序将微机需要发送至单片机接收缓冲区的数据加以接收便是接收中断处理程序的主要工作内容,当其接收到相关数据或在限定的时间内没有后续数据的传输,便可以显示接收数据完毕的标志,并请求相关通信处理程序完成数据处理。5.3 通信处理程序通信中断程序需尽量减少对CP

10、U的占用时间,通信处理程序可以放置于普通的主循环系统中进行调用。当接收完上位机传输到的所有数据后,同时在接收完毕显示“ON”标志时,程序便对其进行处理,其他情况需等待处理【5】。如此便可以运用数据传输后微机的等待回答时间对别的程序进行处理,从而便可以避免浪费过多的等待时间,使CPU的有效利用率不断得到提高。【参考文献】【1】杜太行,孙小禄,王进立.可逆冷轧机总线网络控制技术的研究及其应用.低压电器. 2012(09):202-203.【2】刘兴奎,吴庚.基于单片机的电动栏杆机控制系统.辽宁省交通高等专科学校学报. 2012(02);134-135.【3】张长海,朱勤芹,索长征,曹会彬.基于CAN总线的

温馨提示

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

评论

0/150

提交评论