CN112269338A - 基于gpio的数字控制器通信方法及系统 - Google Patents
基于gpio的数字控制器通信方法及系统 Download PDFInfo
- Publication number
- CN112269338A CN112269338A CN202011146260.1A CN202011146260A CN112269338A CN 112269338 A CN112269338 A CN 112269338A CN 202011146260 A CN202011146260 A CN 202011146260A CN 112269338 A CN112269338 A CN 112269338A
- Authority
- CN
- China
- Prior art keywords
- period
- controller
- signal
- slave
- master controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
Abstract
本发明提供了一种基于GPIO的数字控制器通信方法及系统,主控制器通过第一GPIO引脚向从控制器周期性发送符合预设格式的同步信号,该预设格式用于区分同步信号发送周期,从控制器根据同步信号的格式能够确定同步信号发送周期的开始时刻,进而确定接收到的主控制器发送的第一数据信号的数据包周期的开始时刻,使从控制器同步准确、完整的接收第一数据信号。本发明仅需通过第一GPIO引脚周期性发送同步信号就能保证数据信号同步传输,在保证主控制器与从控制器间通信数据信号接收的准确性和完整性的同时,节约了数字控制器通信系统的硬件资源。
Description
技术领域
本发明涉及数控技术领域,更具体的,涉及一种基于GPIO的数字控制器通信方法及系统。
背景技术
随着电力电子领域的数字控制系统的功能逐渐丰富,数字控制器,如MCU(Microcontroller Unit,微控制单元)间的通讯需求激增。
目前,GPIO(英文全称:General Purpose Input/Output,中文名称:通用输入/输出)口在数字控制器中得到极为广泛的应用,数字控制器使用DSP、FPGA、单片机等具有GPIO功能的微处理器,用户可以通过编程控制GPIO输出预期的高低电平来实现数字控制器间的传递信息。
但是,目前通过GPIO实现主从数字控制器之间通信时需要占用4个GPIO引脚来分别传输时钟信号、同步信号、从机输入信号以及从机输出信号,占用硬件资源较多。
发明内容
有鉴于此,本发明提供了一种基于GPIO的数字控制器通信方法及系统,降低了数字控制器通信所需占用的硬件资源。
为了实现上述发明目的,本发明提供的具体技术方案如下:
一种基于GPIO的数字控制器通信方法,应用于数字控制器通信系统,所述数字控制器通信系统包括主控制器和从控制器,所述主控制器通过第一GPIO引脚、第二GPIO引脚以及第三GPIO引脚与所述从控制器相连接;所述方法包括:
所述主控制器通过所述第一GPIO引脚向所述从控制器周期性发送符合预设格式的同步信号;
所述主控制器在需要向所述从控制器发送数据的情况下,在所述同步信号发送周期的开始时刻通过所述第二GPIO引脚向所述从控制器发送第一数据信号;
所述从控制器根据所述同步信号的格式确定所述同步信号发送周期的开始时刻,并在所述同步信号发送周期的开始时刻开始接收所述第一数据信号。
可选的,所述同步信号的发送周期包括多个比特位周期和一个空闲周期,所述空闲周期在多个所述比特位周期之后,且所述空闲周期大于所述比特位周期,所述同步信号在所述比特位周期内的第一时间段内为X电平信号,在所述比特位周期内的第二时间段内为Y电平信号,在所述空闲周期内为Y电平信号,X电平信号与Y电平信号互补。
可选的,所述从控制器根据所述同步信号的格式确定所述同步信号发送周期的开始时刻,包括:
所述从控制器获取所述同步信号从X电平信号到Y电平信号的跳变,判断该跳变之前的Y电平信号的时间是否小于所述空闲周期,若该跳变之前的Y电平信号的时间不小于所述空闲周期,确定该跳变的开始时刻为所述同步信号的发送周期的开始时刻。
可选的,所述从控制器在所述同步信号发送周期的开始时刻开始接收所述第一数据信号,包括:
所述从控制器在所述同步信号发送周期的开始时刻开始接收所述第一数据信号中各个比特位周期的电平信号,并根据各个所述比特位周期的电平信号记录所述第一数据信号中各个比特位的值,所述同步信号发送周期与所述第一数据信号的数据包周期相同。
可选的,所述从控制器在需要向所述主控制器发送数据信号的情况下,在所述同步信号发送周期的开始时刻通过所述第三GPIO引脚向所述主控制器发送第二数据信号,所述第二数据信号的数据包周期与所述同步信号发送周期相同;
所述主控制器在所述同步信号发送周期的开始时刻接收所述第二数据信号。
一种数字控制器通信系统,包括主控制器和从控制器;
所述主控制器通过第一GPIO引脚、第二GPIO引脚以及第三GPIO引脚与所述从控制器相连接;
所述主控制器,用于通过所述第一GPIO引脚向所述从控制器周期性发送符合预设格式的同步信号;
所述主控制器,还用于在需要向所述从控制器发送数据的情况下,在所述同步信号发送周期的开始时刻通过所述第二GPIO引脚向所述从控制器发送第一数据信号;
所述从控制器,用于根据所述同步信号的格式确定所述同步信号发送周期的开始时刻,并在所述同步信号发送周期的开始时刻开始接收所述第一数据信号。
可选的,所述同步信号的发送周期包括多个比特位周期和一个空闲周期,所述空闲周期在多个所述比特位周期之后,且所述空闲周期大于所述比特位周期,所述同步信号在所述比特位周期内的第一时间段内为X电平信号,在所述比特位周期内的第二时间段内为Y电平信号,在所述空闲周期内为Y电平信号,X电平信号与Y电平信号互补。
可选的,所述从控制器,用于获取所述同步信号从X电平信号到Y电平信号的跳变,判断该跳变之前的Y电平信号的时间是否小于所述空闲周期,若该跳变之前的Y电平信号的时间不小于所述空闲周期,确定该跳变的开始时刻为所述同步信号的发送周期的开始时刻。
可选的,所述从控制器,用于在所述同步信号发送周期的开始时刻开始接收所述第一数据信号中各个比特位周期的电平信号,并根据各个所述比特位周期的电平信号记录所述第一数据信号中各个比特位的值,所述同步信号发送周期与所述第一数据信号的数据包周期相同。
可选的,所述从控制器,还用于在需要向所述主控制器发送数据信号的情况下,在所述同步信号发送周期的开始时刻通过所述第三GPIO引脚向所述主控制器发送第二数据信号,所述第二数据信号的数据包周期与所述同步信号发送周期相同;
所述主控制器,还用于在所述同步信号发送周期的开始时刻接收所述第二数据信号。
可选的,当所述数字控制器通信系统中包括一个以上所述从控制器时,每个所述从控制器通过同一个所述第一GPIO引脚与所述主控制器相连,每个所述从控制器还通过同一个所述第二GPIO引脚与所述主控制器相连,每个所述从控制器还分别通过不同的所述第三GPIO引脚与所述主控制器相连;
所述主控制器通过所述第一GPIO引脚分别向各个所述从控制器发送所述同步信号;
所述主控制器通过所述第二GPIO引脚分别向各个所述从控制器发送所述第一数据信号;
每个所述从控制器分别通过与其对应的所述第三GPIO引脚向所述主控制器发送数据信号。
可选的,当所述数字控制器通信系统中包括一个以上所述从控制器时,每个所述从控制器通过同一个所述第一GPIO引脚与所述主控制器相连,每个所述从控制器还分别通过不同的所述第二GPIO引脚与所述主控制器相连,每个所述从控制器还分别通过不同的所述第三GPIO引脚与所述主控制器相连;
所述主控制器通过所述第一GPIO引脚分别向各个所述从控制器发送所述同步信号;
所述主控制器分别通过不同的所述第二GPIO引脚向各个所述从控制器发送数据信号;
每个所述从控制器分别通过与其对应的所述第三GPIO引脚向所述主控制器发送数据信号。
可选的,当所述数字控制器通信系统中包括一个以上所述从控制器时,每个所述从控制器分别通过不同的所述第一GPIO引脚与所述主控制器相连,每个所述从控制器还分别通过不同的所述第二GPIO引脚与所述主控制器相连,每个所述从控制器还分别通过不同的所述第三GPIO引脚与所述主控制器相连;
所述主控制器分别通过不同的第一GPIO引脚向各个所述从控制器发送所述同步信号;
所述主控制器分别通过不同的所述第二GPIO引脚向各个所述从控制器发送数据信号;
每个所述从控制器分别通过与其对应的所述第三GPIO引脚向所述主控制器发送数据信号。
相对于现有技术,本发明的有益效果如下:
本发明公开的一种基于GPIO的数字控制器通信方法,主控制器通过第一GPIO引脚向从控制器周期性发送符合预设格式的同步信号,该预设格式用于区分同步信号发送周期,因此,从控制器根据同步信号的格式能够确定同步信号发送周期的开始时刻,进而确定接收到的主控制器发送的第一数据信号的数据包周期的开始时刻,使从控制器同步准确的接收第一数据信号。可以看出,本发明仅需通过第一GPIO引脚周期性发送同步信号就能保证数据信号同步传输,避免现有技术中需要两个引脚分别传输时钟信号和同步信号,且需要时钟信号和同步信号配合保证数据信号同步传输而造成的硬件资源占用,因此,本发明在保证了主控制器与从控制器间通信数据信号接收的准确性和完整性的同时,节约了数字控制器通信系统的硬件资源。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的一种数字控制器通信系统的通信示意图;
图2为本发明实施例公开的一种基于GPIO的数字控制器通信方法的流程示意图;
图3为本发明实施例公开的一种同步信号的结构示意图;
图4为本发明实施例公开的一种主发从收数据信号结构示意图;
图5为本发明实施例公开的另一种基于GPIO的数字控制器通信方法的流程示意图;
图6为本发明实施例公开的一种从发主收数据信号结构示意图;
图7为本发明实施例公开的另一种数字控制器通信系统的通信示意图;
图8为本发明实施例公开的另一种数字控制器通信系统的通信示意图;
图9为本发明实施例公开的另一种数字控制器通信系统的通信示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种基于GPIO的数字控制器通信方法,仅需通过第一GPIO引脚周期性发送同步信号就能保证数据信号同步传输,在保证主控制器与从控制器间通信数据信号接收的准确性和完整性的同时,节约了数字控制器通信系统的硬件资源。
具体的,本实施例公开的一种基于GPIO的数字控制器通信方法,应用于数字控制器通信系统,该系统包括主控制器和从控制器,主控制器的数量至少为一个,一个主控制器对应至少一个从控制器,主控制器和从控制器为DSP、FPGA、单片机等具有GPIO功能的微处理器。请参阅图1,以主控制器为MCU1,从控制器为MCU2为例,MCU1通过GPIO1(第一GPIO引脚)、GPIO2(第二GPIO引脚)以及GPIO3(第三GPIO引脚)与MCU2相连接,其中,MCU1通过GPIO1向MCU2发送同步信号,MCU1通过GPIO2向MCU2发送数据信号,MCU2通过GPIO3向MCU1发送数据信号。请参阅图2,基于GPIO的数字控制器通信方法包括以下步骤:
S101:主控制器通过第一GPIO引脚向从控制器周期性发送符合预设格式的同步信号。
数字控制器通信系统中以数据包为基本单位进行数据收发,每个数据包由多个比特位构成,比特位的持续时间长度为比特位周期Tbit,每个数据包的有效比特位数为n。
通讯功能使能后,主控制器通过第一GPIO引脚向从控制器周期性发送符合预设格式的同步信号,同步信号的发送周期包括多个比特位周期和一个空闲周期,空闲周期在多个比特位周期之后,且空闲周期大于比特位周期,同步信号在比特位周期内的第一时间段内为X电平信号,在比特位周期内的第二时间段内为Y电平信号,在空闲周期内为Y电平信号,X电平信号与Y电平信号互补,即如果X电平信号为高电平信号,则Y电平信号为低电平信号,如果X电平信号为低电平信号,则Y电平信号为高电平信号。一种可选的同步信号波形如图3所示,从控制器根据该同步信号的格式进行正确的数据接收和解析。
具体地,主控制器发送同步信号时,在每个高电平时间段Thigh内控制第一GPIO引脚输出高电平,在每个低电平时间段Tlow内控制第一GPIO引脚输出低电平,其中,0<Thigh<Tbit,Tlow=Tbit-Thigh,如此周期性翻转n次。在第n个时间间隔后,主控制器在空闲周期控制第一GPIO引脚输出时间长度为Tidl(Tidle>Tbit)的低电平信号,以此作为一个完整数据包通讯进程的结束。也就是说,同步信号的发送周期包括多个比特位周期和一个空闲周期,空闲周期在多个比特位周期之后,且空闲周期大于比特位周期。
结合上述同步信号逻辑可知,一个完整的数据包通讯进程总的时间长度称为数据包周期,其值Tdata=n*Tbit+Tidle。当下一个数据包通讯进程(数据包周期)开始后,第一GPIO引脚进行同样的操作。
S102:主控制器在需要向从控制器发送数据的情况下,在同步信号发送周期的开始时刻通过第二GPIO引脚向从控制器发送第一数据信号。
主控制器除了通过第一GPIO引脚向从控制器发送不同信号以外,还通过控制第二GPIO引脚的电平来向从控制器发送数据,即第一数据信号。
请参阅图4,第一数据信号,即主发从收数据信号GPIO2中每个Tbit内的电平保持不变,从而表征一个数据比特位的值。为了使从控制器能够根据同步信号正确接收和解析第二GPIO引脚传来的数据信号,主控制器发送的GPIO2信号需要和第一GPIO引脚传送的同步信号保持时间上的同步。具体地,在每个数据包周期中的第1个比特位周期将GPIO2电平控制为预期的电平(如高电平可代表数值1,低电平可代表数值0),在第2个比特位周期根据实际待发送的数据调整或维持GPIO2的电平,以此类推,直到第n个比特位周期中将GPIO2电平控制为预期的电平。在这n个比特位周期后的Tidle时间内,GPIO2可以维持之前的电平,也可设置为高电平或低电平,在此不作具体要求。
S103:从控制器根据同步信号的格式确定同步信号发送周期的开始时刻,并在同步信号发送周期的开始时刻开始接收第一数据信号。
从控制器捕捉同步信号从X电平信号到Y电平信号的跳变,在捕捉到跳变后判断该跳变之前的Y电平信号的时间是否大于或等于空闲周期Tidle,此举可以通过中断计时等多种方式实现,在此不作规定。以X电平信号为高电平信号,Y电平信号为低电平信号为例,从X电平信号到Y电平信号的跳变即为同步信号的上升沿。
若该跳变之前的Y电平信号的时间大于或等于空闲周期Tidle,则表明该跳变是一个新的同步信号数据包周期中的第1个比特位周期的跳变,即确定该跳变的开始时刻为同步信号的发送周期的开始时刻。
从控制器在同步信号发送周期的开始时刻接收第一数据信号中各个比特位周期的电平信号,并根据各个比特位周期的电平信号记录第一数据信号中各个比特位的值,X电平信号可记录为数值1,Y电平信号可记录为数值0。依此类推完成从控制器对所有n个比特位的接收,并按照以上第一数据信号的数据格式将这n个比特位的信息解析为一个完整的数据包信息。
通过上述步骤,从控制器依据一个同步信号即可完成数据包中各个比特位的分辨、接收和解析。
可见,本实施例公开的一种基于GPIO的数字控制器通信方法,主控制器通过第一GPIO引脚向从控制器周期性发送符合预设格式的同步信号,该预设格式用于区分同步信号发送周期,因此,从控制器根据同步信号的格式能够确定同步信号发送周期的开始时刻,进而确定接收到的主控制器发送的第一数据信号的数据包周期的开始时刻,使从控制器同步准确的接收第一数据信号。可以看出,本实施例仅需通过第一GPIO引脚周期性发送同步信号就能保证数据信号同步传输,避免现有技术中需要两个引脚分别传输时钟信号和同步信号,且需要时钟信号和同步信号配合保证数据信号同步传输而造成的硬件资源占用,因此,本实施例在保证了主控制器与从控制器间通信数据信号接收的准确性和完整性的同时,节约了数字控制器通信系统的硬件资源。
进一步,本实施例公开的基于GPIO的数字控制器通信方法,不仅能实现主控制器向从控制发送数据信号,还可以实现从控制器向主控制器发送数据信号。请参阅图5,本实施例公开的一种基于GPIO的数字控制器通信方法如下:
S201:主控制器通过第一GPIO引脚向从控制器周期性发送符合预设格式的同步信号。
S202:主控制器在需要向从控制器发送数据的情况下,在同步信号发送周期的开始时刻通过第二GPIO引脚向从控制器发送第一数据信号。
S203:从控制器根据同步信号的格式确定同步信号发送周期的开始时刻,并在同步信号发送周期的开始时刻开始接收第一数据信号。
S204:从控制器在需要向主控制器发送数据信号的情况下,在同步信号发送周期的开始时刻通过第三GPIO引脚向主控制器发送第二数据信号,第二数据信号的数据包周期与同步信号发送周期相同;
作为从控制器也具备向主控制器发送数据的功能。在具体实现上,在同步信号发送周期的开始时刻通过第三GPIO引脚向主控制器发送第二数据信号,即从发主收数据信号GPIO3。请参阅图6,当从控制器捕获到第x个同步信号上升沿后,一方面读取GPIO1的电平信息;另一方面,根据要发给主控制器的数据的第x位的值,控制第三GPIO引脚输出相应的电平,如数值1为高电平,数值0为低电平。在n个比特位周期后的Tidle时间内,GPIO3可以维持之前的电平,也可设置为高电平或低电平,在此不作具体要求。
S205:主控制器在同步信号发送周期的开始时刻接收第二数据信号。
作为主控制器同样具备通过检测第三GPIO引脚传输信号电平,解析从控制器发送的数据的功能。具体实现上,主控制器在同步信号发送周期的开始时刻接收第二数据信号,即从发主收数据信号GPIO3,在第x个比特位周期里,主控制器检测电平信号,作为接收到的数据包的第x位数值。依此类推完成主控制器对所有n个比特位的接收,并按照预定的数据格式将这n个比特位的信息解析为一个完整的数据包信息。
可见,本实施例公开的一种基于GPIO的数字控制器通信方法,主控制器通过第一GPIO引脚向从控制器周期性发送符合预设格式的同步信号,该预设格式用于区分同步信号发送周期,且同步信号发送周期、第一数据信号的数据包周期与第二数据信号的数据包周期相同,因此,从控制器根据同步信号的格式能够确定同步信号发送周期的开始时刻,进而确定接收到的主控制器发送的第一数据信号的数据包周期的开始时刻,使从控制器同步准确的接收第一数据信号,并使从控制器在同步信号发送周期的开始时刻向主控制器发送第二数据信号,从而使主控制器能够同步准确、完整的接收第二数据信号。
基于上述实施例公开的一种基于GPIO的数字控制器通信方法,本实施例对应公开了一种数字控制器通信系统,包括主控制器和从控制器;
所述主控制器通过第一GPIO引脚、第二GPIO引脚以及第三GPIO引脚与所述从控制器相连接;
所述主控制器,用于通过所述第一GPIO引脚向所述从控制器周期性发送符合预设格式的同步信号;
所述主控制器,还用于在需要向所述从控制器发送数据的情况下,在所述同步信号发送周期的开始时刻通过所述第二GPIO引脚向所述从控制器发送第一数据信号;
所述从控制器,用于根据所述同步信号的格式确定所述同步信号发送周期的开始时刻,并在所述同步信号发送周期的开始时刻开始接收所述第一数据信号。
可选的,所述从控制器,还用于在需要向所述主控制器发送数据信号的情况下,在所述同步信号发送周期的开始时刻通过所述第三GPIO引脚向所述主控制器发送第二数据信号,所述第二数据信号的数据包周期与所述同步信号发送周期相同;
所述主控制器,还用于在所述同步信号发送周期的开始时刻接收所述第二数据信号。
其中,所述同步信号的发送周期包括多个比特位周期和一个空闲周期,所述空闲周期在多个所述比特位周期之后,且所述空闲周期大于所述比特位周期,所述同步信号在所述比特位周期内的第一时间段内为X电平信号,在所述比特位周期内的第二时间段内为Y电平信号,在所述空闲周期内为Y电平信号,X电平信号与Y电平信号互补。
具体的,所述从控制器,用于获取所述同步信号从X电平信号到Y电平信号的跳变,判断该跳变之前的Y电平信号的时间是否小于所述空闲周期,若该跳变之前的Y电平信号的时间不小于所述空闲周期,确定该跳变的开始时刻为所述同步信号的发送周期的开始时刻。
进一步,所述从控制器,用于在所述同步信号发送周期的开始时刻开始接收所述第一数据信号中各个比特位周期的电平信号,并根据各个所述比特位周期的电平信号记录所述第一数据信号中各个比特位的值,所述同步信号发送周期与所述第一数据信号的数据包周期相同。
需要说明的是,本实施例公开的数字控制器通信系统具有灵活的扩展性,可以实现一主多从的通信,当所述数字控制器通信系统中包括一个以上所述从控制器时,以下提供三种可选的数字控制器通信系统结构。
数字控制器通信系统一
每个从控制器通过同一个第一GPIO引脚与主控制器相连,每个从控制器还通过同一个第二GPIO引脚与主控制器相连,每个从控制器还分别通过不同的第三GPIO引脚与主控制器相连。主控制器通过第一GPIO引脚分别向各个从控制器发送同步信号,主控制器通过第二GPIO引脚分别向各个从控制器发送第一数据信号,每个从控制器分别通过与其对应的第三GPIO引脚向主控制器发送数据信号。
具体的,请参阅图7,MCU1为主控制器、MCU2……MCUn为从控制器。MCU2……MCUn共用同样的同步信号(GPIO1)和主发从收数据信号(GPIO2),所有的从控制器接收的同步信号和数据信号相同;MCU2通过GPIO3引脚给MCU1发送数据;MCUn通过GPIO(n+1)引脚给MCU1发送数据;MCU1可以同时接收并解析MCU2……MCUn的数据而互不干扰。
数字控制器通信系统二
每个从控制器通过同一个第一GPIO引脚与主控制器相连,每个从控制器还分别通过不同的第二GPIO引脚与主控制器相连,每个从控制器还分别通过不同的第三GPIO引脚与主控制器相连。主控制器通过第一GPIO引脚分别向各个从控制器发送同步信号,主控制器分别通过不同的第二GPIO引脚向各个从控制器发送数据信号,每个从控制器分别通过与其对应的第三GPIO引脚向主控制器发送数据信号。
具体的,请参阅图8,MCU1为主控制器、MCU2……MCUn为从控制器。MCU2……MCUn共用同样的同步信号(GPIO1),所有从控制器接收的同步信号相同;MCU2通过GPIO21引脚从MCU1接收数据,通过GPIO22引脚给MCU1发送数据;MCUn通过GPIOn1引脚从MCU1接收数据,通过GPIOn2引脚给MCU1发送数据。MCU1可以同时接收并解析MCU2……MCUn的数据,MCU2……MCUn的数据接收和发送互不干扰。
数字控制器通信系统三
每个从控制器分别通过不同的第一GPIO引脚与主控制器相连,每个从控制器还分别通过不同的第二GPIO引脚与主控制器相连,每个从控制器还分别通过不同的第三GPIO引脚与主控制器相连。主控制器分别通过不同的第一GPIO引脚向各个从控制器发送同步信号,主控制器分别通过不同的第二GPIO引脚向各个从控制器发送数据信号,每个从控制器分别通过与其对应的第三GPIO引脚向主控制器发送数据信号。
具体的,请参阅图9,MCU1为主控制器、MCU2……MCUn为从控制器。MCU2……MCUn分别通过不同的3个GPIO引脚与MCU1相连接。MCU2……MCUn与MCU1的通讯,包括同步信号的接收、数据的接收和发送完全独立,互不相关。
可见,本发明公开的数字控制器通信系统可以根据通信需求和硬件要求进行灵活扩展,满足不同的通信需求和硬件要求。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (13)
1.一种基于GPIO的数字控制器通信方法,其特征在于,应用于数字控制器通信系统,所述数字控制器通信系统包括主控制器和从控制器,所述主控制器通过第一GPIO引脚、第二GPIO引脚以及第三GPIO引脚与所述从控制器相连接;所述方法包括:
所述主控制器通过所述第一GPIO引脚向所述从控制器周期性发送符合预设格式的同步信号;
所述主控制器在需要向所述从控制器发送数据的情况下,在所述同步信号发送周期的开始时刻通过所述第二GPIO引脚向所述从控制器发送第一数据信号;
所述从控制器根据所述同步信号的格式确定所述同步信号发送周期的开始时刻,并在所述同步信号发送周期的开始时刻开始接收所述第一数据信号。
2.根据权利要求1所述的方法,其特征在于,所述同步信号的发送周期包括多个比特位周期和一个空闲周期,所述空闲周期在多个所述比特位周期之后,且所述空闲周期大于所述比特位周期,所述同步信号在所述比特位周期内的第一时间段内为X电平信号,在所述比特位周期内的第二时间段内为Y电平信号,在所述空闲周期内为Y电平信号,X电平信号与Y电平信号互补。
3.根据权利要求2所述的方法,其特征在于,所述从控制器根据所述同步信号的格式确定所述同步信号发送周期的开始时刻,包括:
所述从控制器获取所述同步信号从X电平信号到Y电平信号的跳变,判断该跳变之前的Y电平信号的时间是否小于所述空闲周期,若该跳变之前的Y电平信号的时间不小于所述空闲周期,确定该跳变的开始时刻为所述同步信号的发送周期的开始时刻。
4.根据权利要求1所述的方法,其特征在于,所述从控制器在所述同步信号发送周期的开始时刻开始接收所述第一数据信号,包括:
所述从控制器在所述同步信号发送周期的开始时刻开始接收所述第一数据信号中各个比特位周期的电平信号,并根据各个所述比特位周期的电平信号记录所述第一数据信号中各个比特位的值,所述同步信号发送周期与所述第一数据信号的数据包周期相同。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述从控制器在需要向所述主控制器发送数据信号的情况下,在所述同步信号发送周期的开始时刻通过所述第三GPIO引脚向所述主控制器发送第二数据信号,所述第二数据信号的数据包周期与所述同步信号发送周期相同;
所述主控制器在所述同步信号发送周期的开始时刻接收所述第二数据信号。
6.一种数字控制器通信系统,其特征在于,包括主控制器和从控制器;
所述主控制器通过第一GPIO引脚、第二GPIO引脚以及第三GPIO引脚与所述从控制器相连接;
所述主控制器,用于通过所述第一GPIO引脚向所述从控制器周期性发送符合预设格式的同步信号;
所述主控制器,还用于在需要向所述从控制器发送数据的情况下,在所述同步信号发送周期的开始时刻通过所述第二GPIO引脚向所述从控制器发送第一数据信号;
所述从控制器,用于根据所述同步信号的格式确定所述同步信号发送周期的开始时刻,并在所述同步信号发送周期的开始时刻开始接收所述第一数据信号。
7.根据权利要求6所述的系统,其特征在于,所述同步信号的发送周期包括多个比特位周期和一个空闲周期,所述空闲周期在多个所述比特位周期之后,且所述空闲周期大于所述比特位周期,所述同步信号在所述比特位周期内的第一时间段内为X电平信号,在所述比特位周期内的第二时间段内为Y电平信号,在所述空闲周期内为Y电平信号,X电平信号与Y电平信号互补。
8.根据权利要求7所述的系统,其特征在于,所述从控制器,用于获取所述同步信号从X电平信号到Y电平信号的跳变,判断该跳变之前的Y电平信号的时间是小于为所述空闲周期,若该跳变之前的Y电平信号的时间不小于所述空闲周期,确定该跳变的开始时刻为所述同步信号的发送周期的开始时刻。
9.根据权利要求7所述的系统,其特征在于,所述从控制器,用于在所述同步信号发送周期的开始时刻开始接收所述第一数据信号中各个比特位周期的电平信号,并根据各个所述比特位周期的电平信号记录所述第一数据信号中各个比特位的值,所述同步信号发送周期与所述第一数据信号的数据包周期相同。
10.根据权利要求6所述的系统,其特征在于,
所述从控制器,还用于在需要向所述主控制器发送数据信号的情况下,在所述同步信号发送周期的开始时刻通过所述第三GPIO引脚向所述主控制器发送第二数据信号,所述第二数据信号的数据包周期与所述同步信号发送周期相同;
所述主控制器,还用于在所述同步信号发送周期的开始时刻接收所述第二数据信号。
11.根据权利要求6所述的系统,其特征在于,当所述数字控制器通信系统中包括一个以上所述从控制器时,每个所述从控制器通过同一个所述第一GPIO引脚与所述主控制器相连,每个所述从控制器还通过同一个所述第二GPIO引脚与所述主控制器相连,每个所述从控制器还分别通过不同的所述第三GPIO引脚与所述主控制器相连;
所述主控制器通过所述第一GPIO引脚分别向各个所述从控制器发送所述同步信号;
所述主控制器通过所述第二GPIO引脚分别向各个所述从控制器发送所述第一数据信号;
每个所述从控制器分别通过与其对应的所述第三GPIO引脚向所述主控制器发送数据信号。
12.根据权利要求6所述的系统,其特征在于,当所述数字控制器通信系统中包括一个以上所述从控制器时,每个所述从控制器通过同一个所述第一GPIO引脚与所述主控制器相连,每个所述从控制器还分别通过不同的所述第二GPIO引脚与所述主控制器相连,每个所述从控制器还分别通过不同的所述第三GPIO引脚与所述主控制器相连;
所述主控制器通过所述第一GPIO引脚分别向各个所述从控制器发送所述同步信号;
所述主控制器分别通过不同的所述第二GPIO引脚向各个所述从控制器发送数据信号;
每个所述从控制器分别通过与其对应的所述第三GPIO引脚向所述主控制器发送数据信号。
13.根据权利要求6所述的系统,其特征在于,当所述数字控制器通信系统中包括一个以上所述从控制器时,每个所述从控制器分别通过不同的所述第一GPIO引脚与所述主控制器相连,每个所述从控制器还分别通过不同的所述第二GPIO引脚与所述主控制器相连,每个所述从控制器还分别通过不同的所述第三GPIO引脚与所述主控制器相连;
所述主控制器分别通过不同的第一GPIO引脚向各个所述从控制器发送所述同步信号;
所述主控制器分别通过不同的所述第二GPIO引脚向各个所述从控制器发送数据信号;
每个所述从控制器分别通过与其对应的所述第三GPIO引脚向所述主控制器发送数据信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011146260.1A CN112269338A (zh) | 2020-10-23 | 2020-10-23 | 基于gpio的数字控制器通信方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011146260.1A CN112269338A (zh) | 2020-10-23 | 2020-10-23 | 基于gpio的数字控制器通信方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112269338A true CN112269338A (zh) | 2021-01-26 |
Family
ID=74342534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011146260.1A Pending CN112269338A (zh) | 2020-10-23 | 2020-10-23 | 基于gpio的数字控制器通信方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112269338A (zh) |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101499046A (zh) * | 2008-01-30 | 2009-08-05 | 鸿富锦精密工业(深圳)有限公司 | Spi设备通信电路 |
CN101874241A (zh) * | 2007-11-27 | 2010-10-27 | 微软公司 | 无线收发器的接口协议和api |
TW201131375A (en) * | 2010-03-09 | 2011-09-16 | Nuvoton Technology Corp | Data transmission systems and programmable serial peripheral interface controller |
CN102722462A (zh) * | 2012-05-05 | 2012-10-10 | 美的集团有限公司 | 一种同步通信装置及其控制方法 |
CN103297163A (zh) * | 2012-02-22 | 2013-09-11 | 安凯(广州)微电子技术有限公司 | 一种通过gpio口模拟pcm通信的方法及装置 |
CN104933004A (zh) * | 2015-06-24 | 2015-09-23 | 上海市共进通信技术有限公司 | 使用spi总线扩展cpu模块的系统及方法 |
CN205121271U (zh) * | 2015-11-02 | 2016-03-30 | 北汽福田汽车股份有限公司 | 一种主从控制芯片同步电路、控制器及车辆 |
CN105637433A (zh) * | 2013-10-15 | 2016-06-01 | 欧姆龙株式会社 | 控制装置及控制方法 |
WO2017032911A1 (es) * | 2015-08-21 | 2017-03-02 | Universidad De Valladolid | Sistema y procedimiento de generación de imágenes en pantallas tft |
CN107703815A (zh) * | 2017-10-29 | 2018-02-16 | 北京联合大学 | 循环地址式三线spi通讯系统 |
EP3314449A1 (en) * | 2015-06-29 | 2018-05-02 | Thomson Licensing | Initialization method for use in i2c system and master device |
CN108170044A (zh) * | 2016-12-07 | 2018-06-15 | 上海协同科技股份有限公司 | 可实现模块之间时间同步的装置及其时间同步实现方法 |
US20190026240A1 (en) * | 2017-07-24 | 2019-01-24 | American Megatrends, Inc. | System and method for controlling multi-function pins in management controller stack |
CN109344098A (zh) * | 2018-09-04 | 2019-02-15 | 广州视源电子科技股份有限公司 | 主从设备间的数据操作方法和装置 |
CN110765058A (zh) * | 2019-09-12 | 2020-02-07 | 深圳震有科技股份有限公司 | Gpio实现spi从机功能方法、系统、设备及介质 |
CN110795369A (zh) * | 2019-09-19 | 2020-02-14 | 深圳震有科技股份有限公司 | 基于gpio管脚实现mido从机功能的方法及终端 |
CN110955625A (zh) * | 2019-11-22 | 2020-04-03 | 上海麦腾物联网技术有限公司 | 一种基于spi的全双工实时通信的方法及装置 |
-
2020
- 2020-10-23 CN CN202011146260.1A patent/CN112269338A/zh active Pending
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101874241A (zh) * | 2007-11-27 | 2010-10-27 | 微软公司 | 无线收发器的接口协议和api |
CN101499046A (zh) * | 2008-01-30 | 2009-08-05 | 鸿富锦精密工业(深圳)有限公司 | Spi设备通信电路 |
TW201131375A (en) * | 2010-03-09 | 2011-09-16 | Nuvoton Technology Corp | Data transmission systems and programmable serial peripheral interface controller |
CN103297163A (zh) * | 2012-02-22 | 2013-09-11 | 安凯(广州)微电子技术有限公司 | 一种通过gpio口模拟pcm通信的方法及装置 |
CN102722462A (zh) * | 2012-05-05 | 2012-10-10 | 美的集团有限公司 | 一种同步通信装置及其控制方法 |
CN105637433A (zh) * | 2013-10-15 | 2016-06-01 | 欧姆龙株式会社 | 控制装置及控制方法 |
CN104933004A (zh) * | 2015-06-24 | 2015-09-23 | 上海市共进通信技术有限公司 | 使用spi总线扩展cpu模块的系统及方法 |
EP3314449A1 (en) * | 2015-06-29 | 2018-05-02 | Thomson Licensing | Initialization method for use in i2c system and master device |
WO2017032911A1 (es) * | 2015-08-21 | 2017-03-02 | Universidad De Valladolid | Sistema y procedimiento de generación de imágenes en pantallas tft |
CN205121271U (zh) * | 2015-11-02 | 2016-03-30 | 北汽福田汽车股份有限公司 | 一种主从控制芯片同步电路、控制器及车辆 |
CN108170044A (zh) * | 2016-12-07 | 2018-06-15 | 上海协同科技股份有限公司 | 可实现模块之间时间同步的装置及其时间同步实现方法 |
US20190026240A1 (en) * | 2017-07-24 | 2019-01-24 | American Megatrends, Inc. | System and method for controlling multi-function pins in management controller stack |
CN107703815A (zh) * | 2017-10-29 | 2018-02-16 | 北京联合大学 | 循环地址式三线spi通讯系统 |
CN109344098A (zh) * | 2018-09-04 | 2019-02-15 | 广州视源电子科技股份有限公司 | 主从设备间的数据操作方法和装置 |
CN110765058A (zh) * | 2019-09-12 | 2020-02-07 | 深圳震有科技股份有限公司 | Gpio实现spi从机功能方法、系统、设备及介质 |
CN110795369A (zh) * | 2019-09-19 | 2020-02-14 | 深圳震有科技股份有限公司 | 基于gpio管脚实现mido从机功能的方法及终端 |
CN110955625A (zh) * | 2019-11-22 | 2020-04-03 | 上海麦腾物联网技术有限公司 | 一种基于spi的全双工实时通信的方法及装置 |
Non-Patent Citations (1)
Title |
---|
曹俊侠: "单片机串行外围接口电路的三线式结构设计", 《现代电子技术》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101390072B (zh) | 具有自动时间加戳的通信控制器 | |
US6570945B1 (en) | Reception interface unit in transmission system | |
EP1525693B1 (en) | Clock synchronizing method over fault-tolerant etherent | |
US9639500B2 (en) | Single wire bus communication protocol | |
US20080279320A1 (en) | Bi-directional single wire interface | |
CN101032113B (zh) | 单线双向通信装置和系统 | |
JPS6365178B2 (zh) | ||
US9461937B2 (en) | Method and device for a serial data transmission with additionally inserted data | |
US20060251046A1 (en) | Master-slave synchronization communication method | |
JP2008518497A (ja) | シリアルデータバスのためのスレーブバスサブスクライバ | |
CN105278413B (zh) | 上位机与同类can设备的通信方法 | |
US6763413B2 (en) | Method for the serial transfer of data between two electronic bus stations and bus station for use in said method | |
KR20150128658A (ko) | 직렬 데이터 송신용 디더링 회로 | |
CN109062850B (zh) | 一种单片机的数据发送和接收方法 | |
JP4582932B2 (ja) | 同期補正回路 | |
CN112269338A (zh) | 基于gpio的数字控制器通信方法及系统 | |
US10476504B1 (en) | Signal interface system and data transmission method thereof | |
JP2000269988A (ja) | 同報通信データ転送システム | |
US5751770A (en) | Data transmission system | |
US6570666B1 (en) | Printer detecting data precisely in response to change in data transmission speed | |
US20050044276A1 (en) | Asynchronous data receiver comprising means for standyby mode switchover | |
EP1128272B1 (en) | Method for the serial transfer of data between two electronic bus stations and bus station for use in said method | |
JP2006033490A (ja) | データ通信装置及び通信システム | |
CN116157786A (zh) | 同步数据处理方法及设备 | |
JP2839832B2 (ja) | ディジタルデータ通信システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210126 |