一种基于单片机串口通信的多机通信方法与流程

文档序号:22627253发布日期:2020-10-23 19:35阅读:395来源:国知局
一种基于单片机串口通信的多机通信方法与流程

本发明涉及通信领域,具体是一种基于单片机串口通信的多机通信方法。



背景技术:

单片机多机通信是指两台以上的单片机组成的网络机构,可以通过串行通信方式实现数据交换和控制。多机通信的网络拓扑结构有星型、环型和主从式多种结构,其中以主从式结构应用较多。该结构系统中,一般有一台主机和多台从机,串口通信是单片机与计算机或单片机之间通信的重要方式之一。

中国专利号cn201310242709.8提供一种svg/apf并联运行的多机通信系统及方法,包括:两台或两台以上相互并联的svg设备,或者两台或两台以上相互并联的apf设备;与每台svg/apf设备相连的局域网连接设备。通过将两台或两台以上的相互并联的svg/apf设备,分别与局域网连接设备连接,大大减少了互联通信的连接线数量,通过每台svg/apf设备向局域网连接设备发送自身的状态信息,并接收其它svg/apf设备发送的状态信息,根据自身的状态信息和其它svg/apf设备的状态信息,自动计算当前并联运行的svg/apf设备的总台数和总无功,输出自身承担的补偿电流,实现了各并联svg/apf设备的协调均衡输出。

现有的单片机之间的串口通信只能一对一或通过专用设备实现一对多的串口通信,主机、从机软件设计不能真正实现从机的热拔插功能,所需要的硬件较多,布线复杂,导致主机与多从机通信的成本较高缺点,因此亟需研发一种基于单片机串口通信的多机通信方法。



技术实现要素:

本发明的目的在于提供一种基于单片机串口通信的多机通信方法,以解决上述背景技术中提出的单片机之间的串口通信只能一对一或通过专用设备实现一对多的串口通信,主机和从机软件设计不能真正实现从机的热拔插功能,所需要的硬件较多,布线复杂,导致主机与多从机通信的成本较高问题。

本发明的技术方案是:一种基于单片机串口通信的多机通信方法,包括硬件设计和软件设计,所述硬件设计中包括主机和若干从机,所述主机和从机的端口均设置有tx端口、rx端口和gnd端口,所述主机的tx端口通过导电线与若干从机的tx端口连通,且若干从机的tx端口之间并联分布,所述主机的rx端口通过导电线与若干从机的rx端口连通,且若干从机的rx端口之间并联分布,所述主机的gnd端口通过导电线与若干从机的tx端口连通,且若干从机的gnd端口之间并联分布,所述软件设计包括有从机软件设计和主机软件设计。

进一步地,所述从机软件设计包括以下步骤:

a1.地址编译:首先对每个从机用的单片机进行地址编码。

a2.连接:在a1中通过导线将主机的通信端口与从机的通信端口连通,使从机单片机连接到主机单片机网络。

a3.等待:等待来自主机单片机所发送的命令。

进一步地,所述主机软件设计包括以下步骤:

b1.存储:在主机单片机中存储所有从机单片机的地址编码。

b2.发送:当需要与从机进行通信时,通过tx端口将握手信号加地址编码信息发出。

b3.等待:等待来自从机单片机的回应。

进一步地,所述主机发送地址及任务给所有从机,所有从机均通过自身的解码器解读主机发送的信息,接收来自主机的命令并对命令进行解码,从解码信息中获得与主机通信的权利。

进一步地,所述从机从主机所解码的地址编码信息相匹配,当主机发送的地址编码与自身地址编码信息一致时,从机与主机进行串口通信,从机将接收任务。

进一步地,所述从主机所解码的地址编码信息不匹配,当主机发送的地址编码与自身地址编码信息不一致时,从机与主机不进行串口通信。

进一步地,所述从机接收到任务之后进行对任务完成,在完成任务后,本从机断开与主机通信并等待主机的联络信号。

进一步地,所述主机发送的发送地址及任务时,主机发送的地址与从机先进行匹配,之后在解读主机所发送的任务,避免所有从机都接收到任务。

进一步地,所述在主机软件设计中,主机当需要与从机进行通信时,通过tx端口将握手信号加地址编码信息发出,等待从机回应,并获得从机的设备信息。

进一步地,所述在主机软件设计中,主机可以通过轮询方式获得所有从机的设备信息并进行存储,还可定时刷新以获得新连接从机信息。

本发明通过改进在此提供一种基于单片机串口通信的多机通信方法,与现有技术相比,具有如下改进及优点:

(1)通过采用本专利设计的硬件连接方式,通过主机tx端口与所有的从机rx口相连,主机rx端口与所有的从机tx端口相连,此连接方式即可以多个单片机之间的串口通信,节省主机与多从机通信的成本,同时通过对主机、从机软件设计可以真正实现从机的热拔插功能。

(2)通过采用本专利设计的硬件,将主机的tx端口、rx端口和gnd端口直接分别与从机的tx端口、rx端口和gnd端口连接,该通信方式所需要的硬件较少,通过串口输出、串口输入及地线三根导线即可实现通信。

(3)通过主机软件的设计,通过tx端口将握手信号加地址编码信息发出,等待从机回应,并获得从机的设备信息,主机可以通过轮询方式获得所有从机的设备信息并进行存储,还可定时刷新以获得新连接从机信息。

附图说明

下面结合附图和实施例对本发明作进一步解释:

图1是本发明的单片机一对多串口通信线联方式;

图2是本发明的从机编译流程图;

图3是本发明的主机编译流程图;

图4是本发明的主机与从机之间工作流程图。

具体实施方式

下面将结合附图1至图4对本发明进行详细说明,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明通过改进在此提供一种基于单片机串口通信的多机通信方法,如图1-4图所示,包括硬件设计和软件设计,硬件设计中包括主机和若干从机,主机和从机的端口均设置有tx端口、rx端口和gnd端口,主机的tx端口通过导电线与若干从机的tx端口连通,且若干从机的tx端口之间并联分布,主机的rx端口通过导电线与若干从机的rx端口连通,且若干从机的rx端口之间并联分布,主机的gnd端口通过导电线与若干从机的tx端口连通,且若干从机的gnd端口之间并联分布,软件设计包括有从机软件设计和主机软件设计。

进一步地,从机软件设计包括以下步骤:

a1.地址编译:首先对每个从机用的单片机进行地址编码。

a2.连接:在a1中通过导线将主机的通信端口与从机的通信端口连通,使从机单片机连接到主机单片机网络。

a3.等待:等待来自主机单片机所发送的命令。

进一步地,主机软件设计包括以下步骤:

b1.存储:在主机单片机中存储所有从机单片机的地址编码。

b2.发送:当需要与从机进行通信时,通过tx端口将握手信号加地址编码信息发出。

b3.等待:等待来自从机单片机的回应。

进一步地,主机发送地址及任务给所有从机,所有从机均通过自身的解码器解读主机发送的信息,接收来自主机的命令并对命令进行解码,从解码信息中获得与主机通信的权利。

进一步地,从机从主机所解码的地址编码信息相匹配,当主机发送的地址编码与自身地址编码信息一致时,从机与主机进行串口通信,从机将接收任务。

进一步地,从主机所解码的地址编码信息不匹配,当主机发送的地址编码与自身地址编码信息不一致时,从机与主机不进行串口通信。

进一步地,从机接收到任务之后进行对任务完成,在完成任务后,本从机断开与主机通信并等待主机的联络信号。

进一步地,主机发送的发送地址及任务时,主机发送的地址与从机先进行匹配,之后在解读主机所发送的任务,避免所有从机都接收到任务。

进一步地,在主机软件设计中,主机当需要与从机进行通信时,通过tx端口将握手信号加地址编码信息发出,等待从机回应,并获得从机的设备信息。

进一步地,在主机软件设计中,主机可以通过轮询方式获得所有从机的设备信息并进行存储,还可定时刷新以获得新连接从机信息。

工作原理:硬件设计:本方案将多个单片机直接线联方式实现一对多的串口通信的硬件连接,如图1所示。通过主机tx端口与所有的从机rx口相连,主机rx端口与所有的从机tx端口相连。此连接方式即可以多个单片机之间的串口通信,也节约了单片机之间的通信成本。

软件设计:

(1)从机软件设计

首先对每个单片机进行地址编码,当从机连接到单片机网络后,接收来自主机的命令并对命令进行解码,从解码信息中获得与主机通信的权利,从而与主机进行串口通信,完成主机交付的任务。在完成任务后,断开与主机通信并等待主机的联络信号,以便再次建立联系。

(2)主机软件设计

首先在主机中存储所有从机的地址编码,当需要与从机进行通信时,通过tx端口将握手信号加地址编码信息发出,等待从机回应,并获得从机的设备信息。主机可以通过轮询方式获得所有从机的设备信息并进行存储,还可定时刷新以获得新连接从机信息。

通过对主机、从机软件设计可以真正实现从机的热拔插功能。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1