一主多从单片机间的通信方法、通信系统和存储介质与流程

未命名 09-21 阅读:83 评论:0


1.本技术涉及一主多从单片机通信领域,具体而言,涉及一种一主多从单片机间的通信方法、一主多从单片机间的通信系统和计算机可读存储介质。


背景技术:

2.一个主单片机和多个从单片机之间通过spi的通信方式进行通信时,从单片机的miso这条信号线在通信结束时,如果不能释放成高阻态,将对其他将要通信的从单片机造成信号的相互干扰,影响主单片机通过miso这条信号线接收其它将要通信的从单片机反馈的数据。


技术实现要素:

3.本技术的主要目的在于提供一种一主多从单片机间的通信方法、一主多从单片机间的通信系统和计算机可读存储介质,以至少解决现有技术中多个从单片机与一个主单片机之间通信会造成信号之间相互干扰的问题。
4.为了实现上述目的,根据本技术的一个方面,提供了一种一主多从单片机间的通信方法,包括:主单片机确定目标从单片机,所述目标从单片机为与所述主单片机通信的从单片机,所述目标从单片机为第一类从单片机或者第二类从单片机,所述第一类从单片机的miso端口被配置为推挽输出,所述第二类从单片机的miso端口被配置为开漏输出;所述主单片机接收所述目标从单片机发送的目标数据,所述目标数据的最后一个字节为高电平信号,其中,在所述目标从单片机为所述第一类从单片机的情况下,所述第二类从单片机为高阻态模式,在所述目标从单片机为所述第二类从单片机的情况下,所述第一类从单片机用于给所述第二类从单片机提供高电平信号。
5.可选地,在主单片机确定目标从单片机之后,所述主单片机接收所述目标从单片机发送的目标数据之前,所述方法还包括:所述主单片机将片选信号发送至所述目标从单片机,以使得所述目标从单片机与所述主单片机进行通信。
6.根据本技术的另一方面,提供了一种一主多从单片机间的通信系统,包括:主单片机,具有miso端口,用于执行任意一种所述的一主多从单片机间的通信方法;第一类从单片机,具有miso端口,所述第一类从单片机的miso端口被配置为推挽输出;第二类从单片机,具有miso端口,所述第二类从单片机的miso端口被配置为开漏输出,所述第二类从单片机的miso端口分别与所述主单片机的miso端口和所述第一类从单片机的miso端口电连接。
7.可选地,所述通信系统还包括:上拉电阻,具有第一端和第二端,所述上拉电阻的第一端与所述第一类从单片机的miso端口电连接,所述上拉电阻的第二端分别与所述主单片机的miso端口和所述第二类从单片机的miso端口电连接。
8.可选地,所述第一类从单片机为一个,所述第二类从单片机为多个,在目标从单片机为所述第二类从单片机的情况下,所述第一类从单片机的miso端口为高电平信号,除了所述目标从单片机以外的所述第二类从单片机均为高阻态模式,其中,所述目标从单片机
为与所述主单片机通信的从单片机。
9.可选地,所述第一类从单片机包括:第一开关器件,所述第一开关器件的第一端用于输入高电平信号,所述第一开关器件的第二端用于输入第一目标电信号,所述第一开关器件的第三端与miso端口电连接;第二开关器件,所述第二开关器件的第一端与所述第一开关器件的第三端电连接,所述第二开关器件的第二端与所述第一开关器件的第二端电连接,所述第二开关器件的第三端用于输入低电平信号,所述目标从单片机为所述第一类从单片机,所述第一目标电信号与所述目标数据的最后一个字节的信号类型相同,其中,在所述目标数据的最后一个字节为高电平信号的情况下,所述第一目标电信号为高电平信号,所述第一开关器件导通,所述第二开关器件截止,所述第一类从单片机的miso端口输出高电平信号。
10.可选地,所述第一开关器件为pmos,所述第二开关器件为nmos。
11.可选地,所述第二类从单片机包括:第三开关器件,所述第三开关器件的第一端用于输入第二目标电信号,所述第三开关器件的第二端用于输入低电平信号,所述第三开关器件的第三端和miso端口电连接,所述目标从单片机为所述第二类从单片机,所述目标电信号与所述目标数据的最后一个字节的信号相同,其中,在所述目标数据的最后一个字节为高电平信号的情况下,所述第二目标电信号为高电平信号,所述第三开关器件导通,所述第二类从单片机为高阻态模式。
12.可选地,所述第三开关器件为nmos。
13.根据本技术的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行任意一种所述的一主多从单片机间的通信方法。
14.应用本技术的技术方案,上述一种一主多从单片机间的通信方法,首先主单片机确定目标从单片机,目标从单片机为与主单片机通信的从单片机,目标从单片机为第一类从单片机或者第二类从单片机,第一类从单片机的miso端口被配置为推挽输出,第二类从单片机的miso端口被配置为开漏输出;之后主单片机接收目标从单片机发送的目标数据,目标数据的最后一个字节为高电平信号,其中,在目标从单片机为第一类从单片机的情况下,第二类从单片机为高阻态模式,在目标从单片机为第二类从单片机的情况下,第一类从单片机用于给第二类从单片机提供高电平信号。该方法通过将多个从单片机的miso针脚配置为推挽输出和开漏输出配合的模式,在数据帧传输的最后发送高电平,使得在推挽输出的从单片机与主单片机通信的情况下开漏输出的从单片机保持高阻态,不影响推挽输出的从单片机与主单片机之间的通信,解决现有技术中多个从单片机与一个主单片机之间通信会造成信号之间相互干扰的问题。
附图说明
15.构成本技术的一部分的说明书附图用来提供对本技术的进一步理解,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
16.图1示出了根据本技术的实施例提供的一种一主多从单片机间的通信方法的流程示意图;
17.图2示出了根据本技术的实施例提供的目标从单片机发送的目标数据的格式图;
18.图3示出了根据本技术的实施例提供的一种一主多从单片机间的通信系统的结构框图;
19.图4示出了根据本技术的实施例提供的一种推挽模式的原理图;
20.图5示出了根据本技术的实施例提供的一种开漏模式的原理图;
21.图6示出了根据本技术的实施例提供的一种一主多从单片机间的通信装置的结构框图。
22.其中,上述附图包括以下附图标记:
23.110、主单片机;120、第一类从单片机;121、第一开关器件;122、第二开关器件;130、第二类从单片机;131、第三开关器件;140、上拉电阻。
具体实施方式
24.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
25.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
26.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
27.为了便于描述,以下对本技术实施例涉及的部分名词或术语进行说明:
28.spi:serial peripheral interface,串行外设接口;
29.miso:master input slave output,主输入从输出;
30.mosi:master output slave input,主输出从输入;
31.pmos:p-metal oxide semiconductor,p型-金属氧化物半导体;
32.nmos:n-metal oxide semiconductor,n型-金属氧化物半导体;
33.vdd:virtual device driver,器件内部的工作电压;
34.crc:cyclic redundancy check,循环冗余校验;
35.data:数据;
36.sck:cmos clock,同步时钟;
37.ss1:slave select 1,片选1;
38.ss2:slave select 2,片选2;
39.ss3:slave select 3,片选3;
40.高组态:一种输出状态,非高低电平,电阻非常大。
41.正如背景技术中所介绍的,现有的一主多从单片机之间通过spi的通信方式进行
通信时,从单片机的miso这条信号线在通信结束时,如果不能释放成高组态,将造成信号的相互干扰,影响主单片机通过miso这条信号线接收其它从单片机反馈的数据,为解决现有技术中多个从单片机与一个主单片机之间通信会造成信号之间相互干扰的问题,本技术的实施例提供了一种一主多从单片机间的通信方法、一主多从单片机间的通信系统和电子设备。
42.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
43.在本实施例中提供了一种一主多从单片机间的通信方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
44.图1是根据本技术实施例的一主多从单片机间的通信方法的流程图。如图1所示,该方法包括以下步骤:
45.步骤s201,主单片机确定目标从单片机,上述目标从单片机为与上述主单片机通信的从单片机,上述目标从单片机为第一类从单片机或者第二类从单片机,上述第一类从单片机的miso端口被配置为推挽输出,上述第二类从单片机的miso端口被配置为开漏输出;
46.具体地,第一类从单片机只有一个,第二类从单片机可以为多个,在目标从单片机为第一类从单片机的情况下,其他从单片机的miso端口均为推挽输出,且其他从单片机均为高阻态,不会影响主单片机与目标从单片机的通信,而在目标从单片机为第二类从单片机的情况下,其他第二类从单片机为高阻态,不会影响主单片机与目标从单片机的通信,而由于开漏模式不能输出高电平,所以在目标从单片机为第二类从单片机且需要输出高电平的情况下,由第一类从单片机为其提供高电平。
47.在一种实施例中,主单片机和从单片机为一主多从的spi通信,spi(串行外设接口,serial peripheral interface)是一种高速的,全双工,同步的通信总线。总线结构包括一主设备(master)和一从设备(slave)、及一主设备和多个从设备的结构,一主设备和多个从设备结构包括常规模式及菊花链模式。主设备选择一个从设备进行同步通信,从而完成数据的交换。主单片机可以为sak-tc387qp-160f300sae、ncv97310mw33r2g等单片机,从单片机可以为tha6、thas22等单片机,miso为multiple in singe out(多单输出)。主单片机包括第一输入接口、第一输出接口、时钟信号输出接口以及第一片选接口;上述从单片机包括第二输出接口、第二输入接口、时钟信号输入接口以及第二片选接口;上述第一输入接口与上述第二输出接口相连,上述第一输出接口与上述第二输入接口相连,上述时钟信号输出接口与上述时钟信号输入接口相连,以及上述第一片选接口与上述第二片选接口相连。
48.其中,单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器cpu、随机存储器ram、只读存储器rom、多种i/o口和终端系统、定时器、计数器等功能(肯那个还包括显示驱动电路,脉宽调制电路、模拟多路转换器、a/d转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。
49.单片机又称单片微控制器,是把一个计算机系统集成到一个芯片上,相当于一个微型计算器,和计算机相比,单片机只缺少了i/o设备。其中,单片机中包括:运算器、控制器、微处理器、主要寄存器,运算器由运算部件——算术逻辑单元(arithmetic&logical unit,简称alu)、累加器和寄存器等几部分组成。alu的作用是把传来的数据进行算术或逻辑运算,输入来源为两个8位数据,分别来自累加器和数据寄存器。alu能完成对这两个数据进行加、减、与、或、比较大小等操作,最后将结果存入累加器。运算器有两个功能:(1)执行各种算术运算。(2)执行各种逻辑运算,并进行逻辑测试,如零值测试或两个值的比较。运算器所执行全部操作都是由控制器发出的控制信号来指挥的,并且,一个算术操作产生一个运算结果,一个逻辑操作产生一个判决。控制器由程序计数器、指令寄存器、指令译码器、时序发生器和操作控制器等组成,是发布命令的“决策机构”,即协调和指挥整个微机系统的操作。其主要功能有:(1)从内存中取出一条指令,并指出下一条指令在内存中的位置。(2)对指令进行译码和测试,并产生相应的操作控制信号,以便于执行规定的动作。(3)指挥并控制cpu、内存和输入输出设备之间数据流动的方向。微处理器内通过内部总线把alu、计数器、寄存器和控制部分互联,并通过外部总线与外部的存储器、输入输出接口电路联接。外部总线又称为系统总线,分为数据总线db、地址总线ab和控制总线cb。通过输入输出接口电路,实现与各种外围设备连接。主要寄存器包括:(1)累加器a,累加器a是微处理器中使用最频繁的寄存器。在算术和逻辑运算时它有双功能:运算前,用于保存一个操作数;运算后,用于保存所得的和、差或逻辑运算结果。(2)数据寄存器dr,数据寄存器通过数据总线向存储器和输入/输出设备送(写)或取(读)数据的暂存单元。它可以保存一条正在译码的指令,也可以保存正在送往存储器中存储的一个数据字节等等。(3)指令寄存器ir和指令译码器id,指令包括操作码和操作数。指令寄存器是用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存中取到数据寄存器中,然后再传送到指令寄存器。当系统执行给定的指令时,必须对操作码进行译码,以确定所要求的操作,指令译码器就是负责这项工作的。其中,指令寄存器中操作码字段的输出就是指令译码器的输入。(4)程序计数器pc,pc用于确定下一条指令的地址,以保证程序能够连续地执行下去,因此通常又被称为指令地址计数器。在程序开始执行前必须将程序的第一条指令的内存单元地址(即程序的首地址)送入pc,使它总是指向下一条要执行指令的地址。(5)地址寄存器ar,地址寄存器用于保存当前cpu所要访问的内存单元或i/o设备的地址。由于内存与cpu之间存在着速度上的差异,所以必须使用地址寄存器来保持地址信息,直到内存读/写操作完成为止。显然,当cpu向存储器存数据、cpu从内存取数据和cpu从内存读出指令时,都要用到地址寄存器和数据寄存器。同样,如果把外围设备的地址作为内存地址单元来看的话,那么当cpu和外围设备交换信息时,也需要用到地址寄存器和数据寄存器。
50.并且,单片机的体积比较小,内部芯片作为计算机系统,其结构简单,但是功能完善,使用起来十分方便,可以模块化应用。单片机有着较高的集成度,可靠性比较强,即使单片机处于长时间的工作也不会存在故障问题。单片机在应用时低电压、低能耗,是人们在日常生活中的首要选择,为生产与研发提供便利。单片机对数据的处理能力和运算能力较强,可以在各种环境中应用,且有着较强的控制能力。
51.一般情况下,8位单片机最常用的是三个系列:
52.1、51系列:以intel mcs51为核心,具体的型号主要有at89s52、stc89c52rc,等等;
53.2、avr系列:例如atmega16;
54.3、pic系列:例如pic16f877,另外还有专用的工业单片机。
55.其中,在主单片机确定目标从单片机之后,上述主单片机接收上述目标从单片机发送的目标数据之前,上述方法还包括:上述主单片机将片选信号发送至上述目标从单片机,以使得上述目标从单片机与上述主单片机进行通信。
56.具体地,主单片机可以通过不同的片选信号线来选择不同的从单片机进行通信。
57.步骤s202,上述主单片机接收上述目标从单片机发送的目标数据,上述目标数据的最后一个字节为高电平信号,其中,在上述目标从单片机为上述第一类从单片机的情况下,上述第二类从单片机为高阻态模式,在上述目标从单片机为上述第二类从单片机的情况下,上述第一类从单片机用于给上述第二类从单片机提供高电平信号。
58.具体地,如图2所示,目标数据的格式包括校验区、数据区和最后一位0xff,其中,最后一位不限于为0xff,可以根据不同的数据格式进行调整,只要最后输出为高电平即可,即对协议层进行了优化。
59.其中,在第一次传输数据的情况下,第一类从单片机和第二类从单片机由于没有上一次传输数据时对miso端口置的高电平,在目标从单片机与主单片机传输数据的情况下,其他从单片机可能会对传输过程造成影响,这样可能会导致传输的数据错误,但是主单片机会存在一个校验数据的功能,会将错误的数据清除。在此基础上,所有的从单片机均在传输过一次目标数据的情况下,miso端口置为高电平,即可实现在目标从单片机与主单片机传输数据的过程中,其他从单片机不会对传输过程造成干扰。
60.本技术的上述一种一主多从单片机间的通信方法,首先主单片机确定目标从单片机,目标从单片机为与主单片机通信的从单片机,目标从单片机为第一类从单片机或者第二类从单片机,第一类从单片机的miso端口被配置为推挽输出,第二类从单片机的miso端口被配置为开漏输出;之后主单片机接收目标从单片机发送的目标数据,目标数据的最后一个字节为高电平信号,其中,在目标从单片机为第一类从单片机的情况下,第二类从单片机为高阻态模式,在目标从单片机为第二类从单片机的情况下,第一类从单片机用于给第二类从单片机提供高电平信号。该方法通过将多个从单片机的miso针脚配置为推挽输出和开漏输出配合的模式,在数据帧传输的最后发送高电平,使得在推挽输出的从单片机与主单片机通信的情况下开漏输出的从单片机保持高阻态,不影响推挽输出的从单片机与主单片机之间的通信,解决现有技术中多个从单片机与一个主单片机之间通信会造成信号之间相互干扰的问题。
61.需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
62.本技术实施例还提供了一种一主多从单片机间的通信系统,如图3所示,包括:主单片机110,具有miso端口,用于执行任意一种上述的一主多从单片机间的通信方法;第一类从单片机120,具有miso端口,上述第一类从单片机的miso端口被配置为推挽输出;第二类从单片机130,具有miso端口,上述第二类从单片机的miso端口被配置为开漏输出,上述第二类从单片机的miso端口分别与上述主单片机的miso端口和上述第一类从单片机的miso端口电连接。
63.本技术的上述一种一主多从单片机间的通信系统,包括:主单片机,具有miso端口,用于执行任意一种上述的一主多从单片机间的通信方法;第一类从单片机,具有miso端口,上述第一类从单片机的miso端口被配置为推挽输出;第二类从单片机,具有miso端口,上述第二类从单片机的miso端口被配置为开漏输出,上述第二类从单片机的miso端口分别与上述主单片机的miso端口和上述第一类从单片机的miso端口电连接。该系统通过将多个从单片机的miso针脚配置为推挽输出和开漏输出配合的模式,在数据帧传输的最后发送高电平,使得在推挽输出的从单片机与主单片机通信的情况下开漏输出的从单片机保持高阻态,不影响推挽输出的从单片机与主单片机之间的通信,解决现有技术中多个从单片机与一个主单片机之间通信会造成信号之间相互干扰的问题。
64.在一个可选的实例中,如图3所示,上述通信系统还包括:上拉电阻140,具有第一端和第二端,上述上拉电阻的第一端与上述第一类从单片机的miso端口电连接,上述上拉电阻的第二端分别与上述主单片机的miso端口和上述第二类从单片机的miso端口电连接。
65.具体地,由于第二类从单片机的miso端口设置为开漏模式,而开漏模式无法输出高电平,所以需要第一类从单片机为第二类从单片机提供一个高电平以实现第二类从单片机与主单片机的通信,上拉电阻的设置就实现了这样的作用。并且,解决了现有技术中一主多从单片机通过spi的通信方式进行通信时,当从单片机与主单片机通信结束后,从单片机的miso信号线并不能很好的释放成高组态,影响其他从单片机与主单片机之间的通信的问题,即对物理层进行了优化,可以实现各从单片机的数据可以通过miso信号线传输给主单片机,而不会受到相互干扰。
66.作为一个可选的方案,如图3所示,上述第一类从单片机120为一个,上述第二类从单片机130为多个,在目标从单片机为上述第二类从单片机130的情况下,上述第一类从单片机120的miso端口为高电平信号,除了上述目标从单片机以外的上述第二类从单片机130均为高阻态模式,其中,上述目标从单片机为与上述主单片机通信的从单片机。这样可以在第一类从单片机与主单片机通信的情况下,其他从单片机保持高阻态模式,不影响第一类从单片机与主单片机之间的通信,且在第二类从单片机与主单片机通信的情况下,第一类从单片机为其提供高电平。
67.示例性地,如图4所示,上述第一类从单片机包括:第一开关器件121,上述第一开关器件121的第一端用于输入高电平信号,上述第一开关器件121的第二端用于输入第一目标电信号,上述第一开关器件121的第三端与miso端口电连接;第二开关器件122,上述第二开关器件122的第一端与上述第一开关器件121的第三端电连接,上述第二开关器件122的第二端与上述第一开关器件121的第二端电连接,上述第二开关器件122的第三端用于输入低电平信号,上述目标从单片机为上述第一类从单片机,上述第一目标电信号与上述目标数据的最后一个字节的信号类型相同,其中,在上述目标数据的最后一个字节为高电平信号的情况下,上述第一目标电信号为高电平信号,上述第一开关器件121导通,上述第二开关器件122截止,上述第一类从单片机的miso端口输出高电平信号。
68.具体地,推挽输出是一种使用一对选择性地从相连负载灌电流或者拉电流的器件的电路,推挽输出常常使用一对参数相同的功率三极管或mos管,以推挽方式存在于电路中。电路工作时,两只对称的开关管每次只有一个导通,所以导通损耗小、效率高。输出既可以向负载灌电流,也可以从负载抽取电流,推拉式输出级既提高电路的负载能力,又提高开
关速度。推挽输出常见的是图腾柱输出。“图腾柱输出常用于数字连读(如tll)中,由于tll与非门使用两个垂直堆砌的同类型晶体管,中间用一个钳位二极管隔开,与图腾柱的结构相类似,因此其输出级被称为图腾级。
69.推挽输出还运用与推挽放大器和互补推挽放大器中,在功率放大器电路中大量采用推挽放大器电路,这种电路中用两只三极管构成一级放大器电路,两只三极管分别放大输入信号的正半周和负半周,即用一只三极管放大信号的正半周,用另一只三极管放大信号的负半周,两只三极管输出的半周信号在放大器负载上合并后得到一个完整周期的输出信号。推挽放大器电路中,一只三极管工作在导通、放大状态时,另一只三极管处于截止状态,当输入信号变化到另一个半周后,原先导通、放大的三极管进入截止,而原先截止的三极管进入导通、放大状态,两只三极管在不断地交替导通放大和截止变化,所以称为推挽放大器。“互补”是通过采用两种不同极性的三极管,利用不同极性三极管的输入极性不同,用一个信号来激励两只不同极性的三极管,这样可以不需要有两个大小相等、相位相反的激励信号。电路中,一个是npn型三极管,另一个是pnp型三极管,两只三极管的基极相连,在两管的基极加一个音频输入信号作推动信号。两管基极和发射极并联,由于两只三极管的极性不同,基极上的输入信号电压对两管而言一个是正向偏置,一个是反向偏置。当输入信号为正半周时,两管基极同时电压升高,此时输入信号电压给一管加上正向偏置电压,所以该管进入导通和放大状态。由于基极电压升高,对另一管来讲加上反向偏置电压,所以该管处于截止状态。输入信号变化到负半周后,两管基极同时电压下降,给另一管正向偏置,使该管进入导通和放大状态,而一管又进入截止状态。这种利用npn型和pnp型三极管的互补特性,用一个信号来同时激励两只三极管的电路,称之为“互补”电路,由互补电路构成的放大器称为互补放大器电路。由于两个异极性管工作时,一只三极管导通、放大,另一只三极管截止,工作在推挽状态,所以称为互补推挽放大器。
70.其中,上述第一开关器件为pmos,上述第二开关器件为nmos。
71.具体地,第一开关器件和第二开关器件也可以设置为三极管。
72.示例性地,如图5所示,上述第二类从单片机包括:第三开关器件131,上述第三开关器件131的第一端用于输入第二目标电信号,上述第三开关器件131的第二端用于输入低电平信号,上述第三开关器件131的第三端和miso端口电连接,上述目标从单片机为上述第二类从单片机,上述目标电信号与上述目标数据的最后一个字节的信号相同,其中,在上述目标数据的最后一个字节为高电平信号的情况下,上述第二目标电信号为高电平信号,上述第三开关器件131导通,上述第二类从单片机为高阻态模式。
73.具体地,开漏输出就是不输出电压,控制输出低电平时引脚接地,控制输出高电平时引脚既不输出高电平,也不输出低电平,为高阻态。如果外接上拉电阻,则在输出高电平时电压会拉到上拉电阻的电源电压。这是方式适合在连接的外设电压比点偏激电压低的时候。
74.其中,上述第三开关器件为nmos。上述第三开关器件也可以为三极管。
75.本技术实施例还提供了一种一主多从单片机间的通信装置,需要说明的是,本技术实施例的一主多从单片机间的通信装置可以用于执行本技术实施例所提供的用于一主多从单片机间的通信方法。该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽
管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
76.以下对本技术实施例提供的一主多从单片机间的通信装置进行介绍。
77.图6是根据本技术实施例的一种主单片机的示意图。如图6所示,该主单片机包括确定单元10和接收单元20,确定单元10用于确定目标从单片机,上述目标从单片机为与上述主单片机通信的从单片机,上述目标从单片机为第一类从单片机或者第二类从单片机,上述第一类从单片机的miso端口被配置为推挽输出,上述第二类从单片机的miso端口被配置为开漏输出;接收单元20用于接收上述目标从单片机发送的目标数据,上述目标数据的最后一个字节为高电平信号,其中,在上述目标从单片机为上述第一类从单片机的情况下,上述第二类从单片机为高阻态模式,在上述目标从单片机为上述第二类从单片机的情况下,上述第一类从单片机用于给上述第二类从单片机提供高电平信号。
78.本技术的上述主单片机,包括确定单元和接收单元,确定单元用于确定目标从单片机,目标从单片机为与主单片机通信的从单片机,目标从单片机为第一类从单片机或者第二类从单片机,第一类从单片机的miso端口被配置为推挽输出,第二类从单片机的miso端口被配置为开漏输出;接收单元用于接收目标从单片机发送的目标数据,目标数据的最后一个字节为高电平信号,其中,在目标从单片机为第一类从单片机的情况下,第二类从单片机为高阻态模式,在目标从单片机为第二类从单片机的情况下,第一类从单片机用于给第二类从单片机提供高电平信号。该方法通过将多个从单片机的miso针脚配置为推挽输出和开漏输出配合的模式,在数据帧传输的最后发送高电平,使得在推挽输出的从单片机与主单片机通信的情况下开漏输出的从单片机保持高阻态,不影响推挽输出的从单片机与主单片机之间的通信,解决现有技术中多个从单片机与一个主单片机之间通信会造成信号之间相互干扰的问题。
79.作为一种可选的方案,上述主单片机还包括发送单元,发送单元用于将片选信号发送至上述目标从单片机,以使得上述目标从单片机与上述主单片机进行通信。可以通过不同的片选信号线来选择不同的从单片机进行通信。
80.上述主单片机包括处理器和存储器,上述确定单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
81.处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决现有技术中多个从单片机与一个主单片机之间通信会造成信号之间相互干扰的问题。
82.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。
83.本发明实施例提供了一种计算机可读存储介质,上述计算机可读存储介质包括存储的程序,其中,在上述程序运行时控制上述计算机可读存储介质所在设备执行上述一主多从单片机间的通信方法。
84.具体地,一主多从单片机间的通信方法包括:
85.步骤s201,主单片机确定目标从单片机,上述目标从单片机为与上述主单片机通
信的从单片机,上述目标从单片机为第一类从单片机或者第二类从单片机,上述第一类从单片机的miso端口被配置为推挽输出,上述第二类从单片机的miso端口被配置为开漏输出;
86.具体地,第一类从单片机只有一个,第二类从单片机可以为多个,在目标从单片机为第一类从单片机的情况下,其他从单片机的miso端口均为推挽输出,且其他从单片机均为高阻态,不会影响主单片机与目标从单片机的通信,而在目标从单片机为第二类从单片机的情况下,其他第二类从单片机为高阻态,不会影响主单片机与目标从单片机的通信,而由于开漏模式不能输出高电平,所以在目标从单片机为第二类从单片机且需要输出高电平的情况下,由第一类从单片机为其提供高电平。
87.步骤s202,上述主单片机接收上述目标从单片机发送的目标数据,上述目标数据的最后一个字节为高电平信号,其中,在上述目标从单片机为上述第一类从单片机的情况下,上述第二类从单片机为高阻态模式,在上述目标从单片机为上述第二类从单片机的情况下,上述第一类从单片机用于给上述第二类从单片机提供高电平信号。
88.具体地,如图3所示,目标数据的格式包括校验区、数据区和最后一位0xff,其中,最后一位不限于为0xff,可以根据不同的数据格式进行调整,只要最后输出为高电平即可。
89.可选地,在主单片机确定目标从单片机之后,上述主单片机接收上述目标从单片机发送的目标数据之前,上述方法还包括:上述主单片机将片选信号发送至上述目标从单片机,以使得上述目标从单片机与上述主单片机进行通信。
90.本发明实施例提供了一种处理器,上述处理器用于运行程序,其中,上述程序运行时执行上述一主多从单片机间的通信方法。
91.具体地,一主多从单片机间的通信方法包括:
92.步骤s201,主单片机确定目标从单片机,上述目标从单片机为与上述主单片机通信的从单片机,上述目标从单片机为第一类从单片机或者第二类从单片机,上述第一类从单片机的miso端口被配置为推挽输出,上述第二类从单片机的miso端口被配置为开漏输出;
93.具体地,第一类从单片机只有一个,第二类从单片机可以为多个,在目标从单片机为第一类从单片机的情况下,其他从单片机的miso端口均为推挽输出,且其他从单片机均为高阻态,不会影响主单片机与目标从单片机的通信,而在目标从单片机为第二类从单片机的情况下,其他第二类从单片机为高阻态,不会影响主单片机与目标从单片机的通信,而由于开漏模式不能输出高电平,所以在目标从单片机为第二类从单片机且需要输出高电平的情况下,由第一类从单片机为其提供高电平。
94.步骤s202,上述主单片机接收上述目标从单片机发送的目标数据,上述目标数据的最后一个字节为高电平信号,其中,在上述目标从单片机为上述第一类从单片机的情况下,上述第二类从单片机为高阻态模式,在上述目标从单片机为上述第二类从单片机的情况下,上述第一类从单片机用于给上述第二类从单片机提供高电平信号。
95.具体地,如图3所示,目标数据的格式包括校验区、数据区和最后一位0xff,其中,最后一位不限于为0xff,可以根据不同的数据格式进行调整,只要最后输出为高电平即可。
96.可选地,在主单片机确定目标从单片机之后,上述主单片机接收上述目标从单片机发送的目标数据之前,上述方法还包括:上述主单片机将片选信号发送至上述目标从单
片机,以使得上述目标从单片机与上述主单片机进行通信。
97.本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现至少以下步骤:
98.步骤s201,主单片机确定目标从单片机,上述目标从单片机为与上述主单片机通信的从单片机,上述目标从单片机为第一类从单片机或者第二类从单片机,上述第一类从单片机的miso端口被配置为推挽输出,上述第二类从单片机的miso端口被配置为开漏输出;
99.步骤s202,上述主单片机接收上述目标从单片机发送的目标数据,上述目标数据的最后一个字节为高电平信号,其中,在上述目标从单片机为上述第一类从单片机的情况下,上述第二类从单片机为高阻态模式,在上述目标从单片机为上述第二类从单片机的情况下,上述第一类从单片机用于给上述第二类从单片机提供高电平信号。
100.本文中的设备可以是服务器、pc、pad、手机等。
101.可选地,在主单片机确定目标从单片机之后,上述主单片机接收上述目标从单片机发送的目标数据之前,上述方法还包括:上述主单片机将片选信号发送至上述目标从单片机,以使得上述目标从单片机与上述主单片机进行通信。
102.本技术还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有至少如下方法步骤的程序:
103.步骤s201,主单片机确定目标从单片机,上述目标从单片机为与上述主单片机通信的从单片机,上述目标从单片机为第一类从单片机或者第二类从单片机,上述第一类从单片机的miso端口被配置为推挽输出,上述第二类从单片机的miso端口被配置为开漏输出;
104.步骤s202,上述主单片机接收上述目标从单片机发送的目标数据,上述目标数据的最后一个字节为高电平信号,其中,在上述目标从单片机为上述第一类从单片机的情况下,上述第二类从单片机为高阻态模式,在上述目标从单片机为上述第二类从单片机的情况下,上述第一类从单片机用于给上述第二类从单片机提供高电平信号。
105.可选地,在主单片机确定目标从单片机之后,上述主单片机接收上述目标从单片机发送的目标数据之前,上述方法还包括:上述主单片机将片选信号发送至上述目标从单片机,以使得上述目标从单片机与上述主单片机进行通信。
106.显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
107.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
108.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
109.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
110.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
111.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
112.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
113.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
114.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
115.从以上的描述中,可以看出,本技术上述的实施例实现了如下技术效果:
116.1)、本技术的上述一种一主多从单片机间的通信方法,首先主单片机确定目标从单片机,目标从单片机为与主单片机通信的从单片机,目标从单片机为第一类从单片机或者第二类从单片机,第一类从单片机的miso端口被配置为推挽输出,第二类从单片机的miso端口被配置为开漏输出;之后主单片机接收目标从单片机发送的目标数据,目标数据的最后一个字节为高电平信号,其中,在目标从单片机为第一类从单片机的情况下,第二类从单片机为高阻态模式,在目标从单片机为第二类从单片机的情况下,第一类从单片机用
于给第二类从单片机提供高电平信号。该方法通过将多个从单片机的miso针脚配置为推挽输出和开漏输出配合的模式,在数据帧传输的最后发送高电平,使得在推挽输出的从单片机与主单片机通信的情况下开漏输出的从单片机保持高阻态,不影响推挽输出的从单片机与主单片机之间的通信,解决现有技术中多个从单片机与一个主单片机之间通信会造成信号之间相互干扰的问题。
117.2)、本技术的上述一种一主多从单片机间的通信系统,包括:主单片机,具有miso端口,用于执行任意一种上述的一主多从单片机间的通信方法;第一类从单片机,具有miso端口,上述第一类从单片机的miso端口被配置为推挽输出;第二类从单片机,具有miso端口,上述第二类从单片机的miso端口被配置为开漏输出,上述第二类从单片机的miso端口分别与上述主单片机的miso端口和上述第一类从单片机的miso端口电连接。该系统通过将多个从单片机的miso针脚配置为推挽输出和开漏输出配合的模式,在数据帧传输的最后发送高电平,使得在推挽输出的从单片机与主单片机通信的情况下开漏输出的从单片机保持高阻态,不影响推挽输出的从单片机与主单片机之间的通信,解决现有技术中多个从单片机与一个主单片机之间通信会造成信号之间相互干扰的问题。
118.以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。

技术特征:
1.一种一主多从单片机间的通信方法,其特征在于,包括:主单片机确定目标从单片机,所述目标从单片机为与所述主单片机通信的从单片机,所述目标从单片机为第一类从单片机或者第二类从单片机,所述第一类从单片机的miso端口被配置为推挽输出,所述第二类从单片机的miso端口被配置为开漏输出;所述主单片机接收所述目标从单片机发送的目标数据,所述目标数据的最后一个字节为高电平信号,其中,在所述目标从单片机为所述第一类从单片机的情况下,所述第二类从单片机为高阻态模式,在所述目标从单片机为所述第二类从单片机的情况下,所述第一类从单片机用于给所述第二类从单片机提供高电平信号。2.根据权利要求1所述的通信方法,其特征在于,在主单片机确定目标从单片机之后,所述主单片机接收所述目标从单片机发送的目标数据之前,所述方法还包括:所述主单片机将片选信号发送至所述目标从单片机,以使得所述目标从单片机与所述主单片机进行通信。3.一种一主多从单片机间的通信系统,其特征在于,包括:主单片机,具有miso端口,用于执行权利要求1至2中任意一项所述的一主多从单片机间的通信方法;第一类从单片机,具有miso端口,所述第一类从单片机的miso端口被配置为推挽输出;第二类从单片机,具有miso端口,所述第二类从单片机的miso端口被配置为开漏输出,所述第二类从单片机的miso端口分别与所述主单片机的miso端口和所述第一类从单片机的miso端口电连接。4.根据权利要求3所述的通信系统,其特征在于,所述通信系统还包括:上拉电阻,具有第一端和第二端,所述上拉电阻的第一端与所述第一类从单片机的miso端口电连接,所述上拉电阻的第二端分别与所述主单片机的miso端口和所述第二类从单片机的miso端口电连接。5.根据权利要求3所述的通信系统,其特征在于,所述第一类从单片机为一个,所述第二类从单片机为多个,在目标从单片机为所述第二类从单片机的情况下,所述第一类从单片机的miso端口为高电平信号,除了所述目标从单片机以外的所述第二类从单片机均为高阻态模式,其中,所述目标从单片机为与所述主单片机通信的从单片机。6.根据权利要求3所述的通信系统,其特征在于,所述第一类从单片机包括:第一开关器件,所述第一开关器件的第一端用于输入高电平信号,所述第一开关器件的第二端用于输入第一目标电信号,所述第一开关器件的第三端与miso端口电连接;第二开关器件,所述第二开关器件的第一端与所述第一开关器件的第三端电连接,所述第二开关器件的第二端与所述第一开关器件的第二端电连接,所述第二开关器件的第三端用于输入低电平信号,所述目标从单片机为所述第一类从单片机,所述第一目标电信号与所述目标数据的最后一个字节的信号类型相同,其中,在所述目标数据的最后一个字节为高电平信号的情况下,所述第一目标电信号为高电平信号,所述第一开关器件导通,所述第二开关器件截止,所述第一类从单片机的miso端口输出高电平信号。7.根据权利要求6所述的通信系统,其特征在于,所述第一开关器件为pmos,所述第二开关器件为nmos。8.根据权利要求3所述的通信系统,其特征在于,所述第二类从单片机包括:
第三开关器件,所述第三开关器件的第一端用于输入第二目标电信号,所述第三开关器件的第二端用于输入低电平信号,所述第三开关器件的第三端和miso端口电连接,所述目标从单片机为所述第二类从单片机,所述目标电信号与所述目标数据的最后一个字节的信号相同,其中,在所述目标数据的最后一个字节为高电平信号的情况下,所述第二目标电信号为高电平信号,所述第三开关器件导通,所述第二类从单片机为高阻态模式。9.根据权利要求8所述的通信系统,其特征在于,所述第三开关器件为nmos。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1或2所述的一主多从单片机间的通信方法。

技术总结
本申请提供了一种一主多从单片机间的通信方法、通信系统和存储介质,该方法包括:确定目标从单片机,目标从单片机为与主单片机通信的从单片机,目标从单片机为第一类从单片机或者第二类从单片机,第一类从单片机的MISO端口被配置为推挽输出,第二类从单片机的MISO端口被配置为开漏输出;接收目标从单片机发送的目标数据,目标数据的最后一个字节为高电平信号,在目标从单片机为第一类从单片机的情况下,第二类从单片机为高阻态模式,在目标从单片机为第二类从单片机的情况下,第一类从单片机用于给第二类从单片机提供高电平信号。该方法解决了现有技术中多个从单片机与一个主单片机之间通信会造成信号之间相互干扰的问题。片机之间通信会造成信号之间相互干扰的问题。片机之间通信会造成信号之间相互干扰的问题。


技术研发人员:张增仁 陈娜娜 徐龙增 李富民 杜金剑 倪佳伟
受保护的技术使用者:潍坊潍柴动力科技有限责任公司
技术研发日:2023.05.08
技术公布日:2023/9/6
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐