Board logo

标题: PC机与单片机多机主从互通的实现 [打印本页]

作者: 520503    时间: 2015-5-4 23:55     标题: PC机与单片机多机主从互通的实现

关键字:PC   单片机   多机主从互通  
0 引言
PC机与单片机组成的主从系统很常见,在很多领域中都得到了应用。在这些系统中,PC机与单片机之间一般采用串行通信方式,按照一定的格式,进行数据、指令的交换,完成PC机对单片机的控制、数据前送,或者单片机上数据、状态等信息的回送。

当单片机数量较多时,比较容易实现PC机对所有单片机的控制。一般在这种情况下,采用广播的方式。

所有单片机都挂在一条串行数据总线上,只需对单片机进行地址编码,PC机将地址数据和控制报文进行广播,单片机接收广播数据后进行地址比对,筛选出所需的数据,完成相应的数据传送。

如果PC机要对单片机多机进行广播,并回传所有单片机的信息,即单片机还要发送数据至PC机,再加上单片机数量较多(大于100个单片机),则要实现PC机与单片机多机的互相通信,难度是比较大的。

本文提出了一种切实可行的方法,通过实际电路搭建和调试,实现了PC机与单片机多机的互相通信,达到了预定的目标,使该系统具有如下功能:

(1)PC机可以对所有100多个单片机进行控制,根据需要,发送不同控制字到达每个单片机;

(2)PC机对单片机的状态修改是随机的、没有规律的;

(3)所有单片机将自身的一些状态信息按照顺序回传至PC机。3 系统的软件构成

软件分为3个部分:PC机上位机程序、单片机通用程序和专用单片机程序。专用单片机的程序运行在复位监视与读写转换电路中,该程序较为简单,就是在上电后,一直按照约定的波特率和数据格式接收PC机送出的串行数据,若得到的数据符合约定的复位格式,则送出复位信号;若接收到的数据符合总线切换的格式,则送出相应的切换信号。PC机上位机程序比较复杂,可以根据用户的实际需要,编写相关的应用程序。在本文中,采用Delphi编写了应用程序,实现了对单片机群的参数设置、状态调整、信息反馈和系统控制。

单片机通用程序分别运行在100多个单片机上,是实现系统功能的基础。图3为单片机程序流程图。




单片机初始化后,接收PC机送来的初始指令,然后开始运行主程序,执行单片机的主功能。同时开放串行接收中断,一旦接收到PC机发来的指令,就进行对比判断,如果是PC机对自己的点名,则响应PC机的回送指令,开始占用总线,向PC机传送数据,结束后向PC机发送结束状态字,结束占用总线,回到主程序,同时等待接收串行数据。

4 结语

经过大量试验,课题组应用点名式总线控制方式,成功解决了PC机与大量单片机的双向互通问题,实现了100多个单片机与主控PC机之间的互通信,达到了设计要求。电路经过长时间运行,实际情况表明,该系统运行稳定、控制灵活、可靠性高,采用的点名式总线控制方式具有很好的实用价值。





欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0