一种同步通信装置及其控制方法

文档序号:6369180阅读:173来源:国知局
专利名称:一种同步通信装置及其控制方法
技术领域
本发明属于基于微控制器的电子产品的技术领域,特别是涉及ー种同步通信装置及其控制方法。
背景技术
现有的电子产品在比较复杂的电子控制系统中,往往集成了多个微控制器。它们各司其职,分别处理各自的功能。微控制器之间经常有信息交換的需要,此时就要求參与通信的微控制器有统ー的通信接ロ。通信接ロ分为同步通信和异步通信两种。对于同步通信,要求通信双方共享ー个同步时钟信号,比如SPI通信接ロ、IIC通讯接ロ。而对于异步通信,因没有同步信号,则要求通信双方的收发时序高度一致,且对起始信号和停止信号都有严格的要求,UART接ロ是较为常见的异步通信接ロ。一般的SPI通信接ロ包含了如下通信总线若干根CS片选信号线、一根CLOCK时钟线、一根MISO数据线和一根MOSI数据线。MISO数据线是主机的数据接收线,同时也是从机的数据发送线。而MOSI数据线是主机的数据发送线,同时也是从机的数据接收线。若ー个主机对应N个从机,则需N根CS片选信号线。当主机需访问某个从机时,对应的CS片选信号线拉低,其他的CS片选线则保持高电平,以此表明一帧新的通信开始。然而,这样传统的一対一的SPI通信接ロ存在如下的缺点首先,通信中必须保留CS片选信号线,当微控制器的GPIO比较紧张时,这样的要求难以满足。其次,主机的发送数据和接收数据,或从机的发送数据和接收数据,不是同时进行的,这样就限制了通信的带宽,使得通信接ロ难以满足实时性要求高或者数据量比较庞大的应用的需要。

发明内容
本发明的一个发明目的在于克服现有技术的缺点与不足,提供一种以较少的通信总线而又能获得更高通信带宽的一対一的同步通信装置。
本发明另一个发明目的在于克服现有技术的缺点与不足,提供一种以较少的通信总线而又能获得更高通信带宽的一対一的同步通信控制方法。为了实现上述第一个发明目的,本发明采用的技术方案如下
一种同步通信装置,包括第一通讯端和至少ー个的第二通讯端,所述第一通讯端控制第二通讯端,所述第一通讯端和第二通讯端均设有同步通信端ロ,所述第一通讯端和第二通讯端通过同步通信端ロ进行连接,所述同步通信端ロ包括同步端ロ、数据接收端口和数据发送端ロ,其中第一通讯端的数据接收端ロ与第二通讯端的数据发送端ロ连接,第一通讯端的哦数据发送端与第二通讯端的数据接收端连接,所述数据发送端ロ在同步端ロ输出的同步信号由高电平转向低电平时进行发送数据,所述数据接收端ロ在同步信号由低电平转向高电平时进行接收数据。为了实现上述第二个发明目的,本发明采用的技术方案如下
一种同步通信控制方法,包括第一通讯端和至少ー个的第二通讯端,所述第一通讯端控制第二通讯端,包括以下步骤
检测同步信号的步骤;
检测通信发生的信号的步骤;
进行通信的步骤;
所述进行通信的步骤包括在检测到通信发生的信号后,在同步信号由高电平转向低电平时进行发送数据的步骤,在同步信号由低电平转向高电平时进行接收数据的步骤。进ー步地,所述检测通信发生的信号的步骤具体为检测同步信号在时间T内是否始終保持在高电平,若是则判断为通讯发生,若否则不进行通讯。进ー步地,在进行通信的步骤,毎次接收和发送的数据的大小为lbit。 进ー步地,所述发送和接收的数据由命令字节、数据域字节数、数据域和校验和组成。进ー步地,所述的通信的步骤中,毎次通信的数据总量取决于本次通信中第一通讯端发送的数据帧字节数和上次通信中第二通讯端发送的数据帧字节数的较大者。进ー步地,所述第一通讯端首次向第二通讯端发送数据时均重复发送一次,第二通讯端首次发送的数据为无效数据。进ー步地,第二通讯端发送的数据均为对第一通讯端发送的数据的应答。与现有技术相比,本发明具有以下优点
本发明減少了通信总线,同时通过主从机均在CLOCK时钟的下降沿发送Ibit数据,在CLOCK时钟的上升沿接收Ibit数据,提高了通信带宽。因而这种新型的同步通信装置及其控制方法扩展了传统SPI接ロ的应用范围,特别适用于一対一的同步通信装置。


图I为同步通信装置接ロ的原理 图2为同步通信的时序;
图3为同步通信帧的数据结构;
图4为实施例主机I收发数据流程 图5为实施例从机2解析数据流程 图6为实施例从机2查询起始信号流程 图7为实施例从机2中断收发数据流程图。
具体实施例方式下面结合附图和具体实施方式
对本发明作进ー步详细的说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用干限定本发明。如图I所示,本发明所述的ー种同步通信装置,包括第一通讯端和至少ー个的第二通讯端,所述第一通讯端控制第二通讯端,所述第一通讯端和第二通讯端均设有同步通信端ロ,所述第一通讯端和第二通讯端通过同步通信端ロ进行连接,所述同步通信端ロ包括同步端ロ、数据接收端口和数据发送端ロ,其中第一通讯端的数据接收端ロ与第二通讯端的数据发送端ロ连接,第一通讯端的数据发送端与第二通讯端的数据接收端连接,所述数据发送端ロ在同步端ロ输出的同步信号由高电平转向低电平时进行发送数据,所述数据接收端ロ在同步信号由低电平转向高电平时进行接收数据。同时本发明还提供一种同步通信控制方法,包括以下步骤
检测同步信号的步骤;
检测通信发生的信号的步骤;
其中,所述检测通信发生的信号的步骤具体为检测同步信号在时间T内是否始終保持在高电平,若是则判断为通讯发生,若否则不进行通讯。进行通信的步骤;
所述进行通信的步骤包括在检测到通信发生的信号后,在同步信号由高电平转向低 电平时进行发送数据的步骤,在同步信号由低电平转向高电平时进行接收数据的步骤。其中,在进行通信的步骤,毎次接收和发送的数据的大小为lbit。所述发送和接收的数据由命令字节、数据域字节数、数据域和校验和组成。进ー步地,所述的通信的步骤中,,毎次通信的数据总量取决于本次通信中第一通讯端发送的数据帧字节数和上次通信中第二通讯端发送的数据帧字节数的较大者。进ー步地,所述第一通讯端首次向第二通讯端发送数据时均重复发送一次,第二通讯端首次发送的数据为无效数据。进ー步地,第二通讯端发送的数据均为对第一通讯端发送的数据的应答。具体地,同步通信装置可以为由一台主机(第一通讯端)I和一台从机(第二通讯端)2组成(这并不限定对于主机与从机的连接数量),它们均嵌入了一个同步通信端ロ,端ロ的总线包含一根CLOCK时钟线,一根MISO数据线,一根MOSI数据线。特别地,该接ロ无需CS片选信号线。如图2所示,CLOCK时钟线由主机I发生,通信双方根据该时钟信号实现同步收发数据。MISO数据线系主机I的数据接收接ロ,它同时是从机2的数据发送接ロ。MOSI数据线系主机I的数据发送接ロ,它同时也是从机2的数据接收接ロ。在图2中,当接ロ总线的CLOCK时钟线保持高电平一定的时间则视为起始信号,一帧新的通信即将开始。通信装置的主从机2均在CLOCK时钟的下降沿发送Ibit数据,在CLOCK时钟的上升沿接收Ibit数据。其中,从机2发送的数据是对主机I上次发送指令的应答。特别地,当通信双发首次通信时,主机I为了正确获取从机2对首次发送指令的应答,应将首次发送指令重发一次;从机2在首次通信中发送的数据为无效数据。如图3所示,通信帧的数据格式为命令字节+数据域字节数+数据域+校验和,通讯帧无需添加帧头及帧尾。命令字节用于告诉从机2该通讯帧的类型,取值范围为0x00 OxFF,即最多允许有256个不同的命令。数据域字节数由实际的数据域大小确定,该字节的取值范围也是0x00 OxFF,即数据域最多允许出现255个字节。数据域由若干个字节的数据组成,它提供命令字节的ー些补充信息。如命令字无需补充信息,则数据域可以为空。校验和用于接收方对数据接收正确与否的判断,它的计算方法是为从命令字开始到数据域最后ー个字节的代数和,计算时可以溢出,取值范围是0x00 OxFF。如图4所示,当主机I的时间片轮询到同步通信接ロ时,主机I启动一次通讯。主机I首先将CLOCK时钟线保持高电平一定的时间,比如15ms,以此作为ー帧通信的起始信号。接着,主机I产生一系列的时钟信号,同时,在时钟信号的下降沿,主机I发送Ibit数据,如图2所示,I字节数据的发送顺序为从低位到高位。另外,在时钟信号的上升沿,主机I接收lbit数据,该数据是从机2对上ー帧通信帧的应答。此时,主机I要产生足够多的时钟信号,完成本次主发帧及上次应答帧的传送。如图5所示,从机2以IOms时间片轮询的方式在主循环里解析ー个通信帧。当接收到ー个完整的通信帧时,从机2解析主机I的命令,并执行相应的动作。最后,准备好该通信帧的应答帧数据。 如图6所示,从机2 —直在检测15ms起始信号。当检测到一个起始信号吋,则初始化接收数据缓冲区,准备接收一个新的通信帧数据。特别地,当从机2尚未接收完ー帧数据,但由接收到起始信号吋,则须结束该次通信,准备接收另ー个通信帧。如图7所示,从机2将CLOCK输入引脚设为外部中断接收ロ,中断的模式设为边沿触发模式,且该中断的优先级设为较高优先级。当ー个CLOCK触发信号被检测到吋,从机2的系统会自动进入中断服务程序。当检测到时CLOCK的下降沿时,从机2发送Ibit数据,如图2所示,I字节数据的发送顺序为从低位到高位。另外,在时钟信号的上升沿,从机2接收Ibit数据。当从机2接收完ー帧数据时,如还有CLOCK时钟信号,则不再接收任何数据。当从机2发送完ー帧数据时,如还有CLOCK信号,则发送无效数据,比如发送O。
权利要求
1.一种同步通信控制方法,包括第一通讯端和至少ー个的第二通讯端,所述第一通讯端控制第二通讯端,其特征在于,包括以下步骤 检测同步信号的步骤; 检测通信发生的信号的步骤; 进行通信的步骤; 所述进行通信的步骤包括在检测到通信发生的信号后,在同步信号由高电平转向低电平时进行发送数据的步骤;在同步信号由低电平转向高电平时进行接收数据的步骤。
2.根据权利要求I所述的同步通信控制方法,其特征在于,所述检测通信发生的信号的步骤具体为检测同步信号在预设时间T内是否始終保持在高电平,若是则判断为通讯发生,若否则不进行通讯。
3.根据权利要求I所述的同步通信控制方法,其特征在于,在进行通信的步骤,毎次接收和发送的数据的大小为lbit。
4.根据权利要求I所述的同步通信控制方法,其特征在于,所述发送和接收的数据由命令字节、数据域字节数、数据域和校验和组成。
5.根据权利要求I所述的同步通信控制方法,其特征在于,所述的通信的步骤中,毎次通信的数据总量取决于本次通信中第一通讯端发送的数据帧字节数和上次通信第二通讯端发送的数据帧字节数的较大者。
6.根据权利要求I所述的同步通信控制方法,其特征在于,所述第一通讯端首次向第二通讯端发送数据时均重复发送一次,第二通讯端首次发送的数据为无效数据。
7.根据权利要求I所述的同步通信控制方法,其特征在于,第二通讯端发送的数据均为对第一通讯端发送的数据的应答。
8.一种同步通信装置,包括第一通讯端和至少ー个的第二通讯端,所述第一通讯端控制第二通讯端,所述第一通讯端和第二通讯端均设有同步通信端ロ,所述第一通讯端和第二通讯端通过同步通信端ロ进行连接,其特征在于,所述同步通信端ロ包括同步端ロ、数据接收端口和数据发送端ロ,所述数据发送端ロ在同步端ロ输出的同步信号由高电平转向低电平时进行发送数据,所述数据接收端ロ在同步信号由低电平转向高电平时进行接收数据。
9.根据权利要求8所述的同步通信装置,其特征在干,所述同步端ロ的信号由所述第一通讯端输出。
全文摘要
本发明公开了一种同步通信装置及其控制方法,该装置包括了一台主机和至少一台丛机,它们都嵌入了一个同步通信接口,接口的总线包括一根CLOCK时钟线、一根MISO数据线和一根MOSI数据线,无需CS片选信号线。CLOCK时钟由主机发生。当CLOCK时钟线保持高电平一定的时间,便视为通信的起始信号,一帧通信即将开始;在CLOCK的下降沿,主从机均发送1bit数据,而在其上升沿,主从机则都接收1bit数据。其中,从机发送的数据是对主机发送的上一帧数据的应答。该同步通信装置适用于单台主机控制单台从机的情形,特别是通信双方都有信息交换的场合。该装置极大的提高了通信的带宽,以及通信的实时性。
文档编号G06F13/42GK102722462SQ20121013950
公开日2012年10月10日 申请日期2012年5月5日 优先权日2012年5月5日
发明者肖敏生 申请人:美的集团有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1