一种软件模拟快速通信协议的制作方法

文档序号:6380892阅读:937来源:国知局
专利名称:一种软件模拟快速通信协议的制作方法
技术领域
本发明涉及一种芯片之间的通信协议。
背景技术
通信协议(communications protocol)是指双方实体完成通信或服务所必须遵循的规则和约定。协议定义了数据单元使用的格式,信息单元应该包含的信息与含义,连接方式,信息发送和接收的时序,从而确保网络中数据顺利地传送到确定的地方。目前,常用于芯片的通信协议包括I2C、SPI、UART等。I2C总线是一种用于IC器件之间连接的双向二线制总线,所谓I2C总线它上面可以挂多个器件,并且通个两根线连接,占用空间非常的小,最大传输速度可以达到300Kbit/ SoI2C总线有两根信号线,一根为SDA (数据线),一根为CLK (时钟线)。任何时候时
钟信号都是由主控器件产生。I2C总线在传送数据的过程中,主要有三种控制信号起始信号,结束信号。起始信号当CLK为高电平时,SDA由高电平转为低电平时,开始传送数据。结束信号当CLK为高电平时,SDA由低电平转为高电平时,结束数据传送。SPI通信协议通过3根信号加I根CS片选线来实现全双工通信,双传和下载数据量一样时能够获得I2C通信的2倍通信速度。SPI、UART既可以实现半双工通信,也可以实现全双工通信。这些通信协议的缺点是由于通信速度控制为开环控制,当从机端没有硬件通信端口支持而用软件模拟通信时,无法确定数据接收端是否做好接收准备,因此设计时必须预留足够的时间余量来保证通信正确进行,从而造成通信速度的严重下降。

发明内容
为了克服现有软件模拟通信技术无法确定数据接收端是否做好接收准备,通信速度慢的缺点,本发明提供了一种能够确定数据接收端的准备状态,能够提高通信速度的软件模拟快速通信协议。一种软件模拟快速通信协议,包括发送数据的主机端和接收数据的从机端,主机端和从机端之间设有传送时钟信号的时钟线和传送数据的数据线;其特征在于主机端和从机端之间设有握手线,从机端将来自主机端的时钟信号处理形成应答信号,应答信号经握手线反馈到主机端;主机端接收到应答信号后向从机端进行数据传输;主机端与从机端通过握手线同步通信包括以下阶段I)、起始阶段主机端发出的时钟信号由高电平变为低电平,从机端接收该时钟信号,从机端将初始的高电平置为低电平,该高电平向低电平的变化信号作为起始阶段的应答信号,起始阶段的应答信号经握手线输入主机端,主机端接收到该应答信号后将数据线置为低电平,并且将握手线置为高电平;2)、数据传输阶段主机端发出规律的时钟信号,从机端监测主机端发出的时钟信号,当时钟信号的电平发生变化时、从机端发出与时钟信号相反的传输阶段应答信号,并将传输阶段应答信号通过握手线输入主机端;若主机端接收到传输阶段应答信号则进行下一数据传输,若主机端未接收到传输阶段应答信号则认为数据传输异常;3)、结束阶段如上图所示,主机端CLK线 在高电平的时候,从机端检测到后产生和CLK相反的握手信号,主机端检测到从机端的状态之后,将DATA线电平产生一个由低到高的电平跳变,从机端检测到这个信号之后将握手线拉高,此时就和主机端时钟线电平一样,如此就完成了一个完整的STOP信号。进一步,步骤2)中,当时钟信号的电平由低到高跳变时,从机端发出由高到底跳变的电平信号;当时钟信号的电平由高到低跳变时,从机端发出由低到高跳变的电平信号;从机端发出的跳变信号作为传输阶段应答信号。本发明的技术构思是通过在主机端与从机端之间增设一根握手线,从机端接收到主机端发来的时钟信号后及时向主机端做出应答,使主机端能够实时掌握从机端的准备状态。由于从机端正常相应信号所需的通信时间非常短,应答时间远小于开环控制方式的预留时间,因此能够大量提高通信速度。本发明具有能够确定数据接收端的准备状态,能够提高通信速度的优点。


图I是本发明的半双工通信时的示意图。图2是本发明的全双工通信时的示意图。图3是本发明输出的波形图。
具体实施例方式参照附图,进一步说明本发明一种软件模拟快速通信协议,包括发送数据的主机端MCUl和接收数据的从机端MCU2,主机端MCUl和从机端MCU2之间设有传送时钟信号的时钟线CLK和传送数据的数据线 SDA ;主机端MCUl和从机端MCU2之间设有握手线石又,从机端MCU2将来自主机端MCUl的时钟信号处理形成应答信号,应答信号经握手线CLK反馈到主机端MCUl ;主机端MCUl接收到应答信号后向从机端MCU2进行数据传输;主机端MCUl与从机端MCU2通过握手线CLK同步通信包括以下阶段,如图3所示I)、起始阶段Start :主机端MCUl发出的时钟信号由高电平变为低电平,从机端MCU2接收该时钟信号,从机端MCU2将初始的高电平置为低电平,该高电平向低电平的变化信号作为起始阶段的应答信号,起始阶段的应答信号经握手线CLK输入主机端MCU1,主机端MCUl接收到该应答信号后将数据线SDA置为低电平,并且将握手线4为高电平;2)、数据传输阶段Data :主机端MCUl发出规律的时钟信号,从机端MCU2监测主机端MCUl发出的时钟信号,当时钟信号的电平发生变化时、从机端MCU2发出与时钟信号相反的传输阶段应答信号,并将传输阶段应答信号通过握手线行无输入主机端MCUl ;若主机端MCUl接收到传输阶段应答信号则进行下一数据传输,若主机端MCUl未接收到传输阶段应答信号则认为数据传输异常;3)、结束阶段Stop :当数据线SDA在高电平时、主机端MCUl的时钟信号从低到高的跳变,将该跳变信号作为结束信号;从机端MCU2接收到结束信号后握手线百叉持续高电平,不再发出应答信号;步骤2)中,当时钟信号的电平由低到高跳变时,从机端MCU2发出由高到底跳变的电平信号;当时钟信号的电平由高到低跳变时,从机端MCU2发出由低到高跳变的电平信号;从机端MCU2发出的跳变信号作为传输阶段应答信号。本发明可以设置3根信号线实现半双工通信,如图I所示。也可以设置4根信号线实现全双工通信,如图2所示。本发明的技术构思是通过在主机端MCUl与从机端MCU2之间增设一根握手线 CLK ,从机端MCU2接收到主机端MCUl发来的时钟信号后及时通过握手线CLK向主机端MCUl做出应答,使主机端MCUl能够实时掌握从机端MCU2的准备状态。由于从机端MCU2正常相应信号所需的通信时间非常短,应答时间远小于开环控制方式的预留时间,因此能够大量提高通信速度。步骤2)和传统的I2C协议相比,由于传统的I2C协议为开环控制协议,所以为了确认数据是否被从机端正确接收,需要产生一个ACK信号用于应答;而本发明无需产生ACK信号,所以当传输8bit的数据时只需传输8bit即可,而传统的I2C协议需要传输8bit+ACK(Ibit)0本发明传输的数据量也明显低于传统的开环控制协议。本发明具有能够确定数据接收端的准备状态,能够提高通信速度的优点。本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。
权利要求
1.一种软件模拟快速通信协议,包括发送数据的主机端和接收数据的从机端,主机端和从机端之间设有传送时钟信号的时钟线和传送数据的数据线; 其特征在于主机端和从机端之间设有握手线,从机端将来自主机端的时钟信号处理形成应答信号,应答信号经握手线反馈到主机端;主机端接收到应答信号后向从机端进行数据传输; 主机端与从机端通过握手线同步通信包括以下阶段 1)、起始阶段主机端发出的时钟信号由高电平变为低电平,从机端接收该时钟信号,从机端将初始的高电平置为低电平,该高电平向低电平的变化信号作为起始阶段的应答信号,起始阶段的应答信号经握手线输入主机端,主机端接收到该应答信号后将数据线置为低电平,并且将握手线置为高电平; 2)、数据传输阶段主机端发出规律的时钟信号,从机端监测主机端发出的时钟信号,当时钟信号的电平发生变化时、从机端发出与时钟信号相反的传输阶段应答信号,并将传输阶段应答信号通过握手线输入主机端;若主机端接收到传输阶段应答信号则进行下一数据传输,若主机端未接收到传输阶段应答信号则认为数据传输异常; 3)、结束阶段当数据线在高电平时、主机端的时钟信号从低到高的跳变,将该跳变信号作为结束信号;从机端接收到结束信号后握手线持续高电平,不再发出应答信号。
2.如权利要求I所述的软件模拟快速通信协议,其特征在于步骤2)中,当时钟信号的电平由低到高跳变时,从机端发出由高到底跳变的电平信号;当时钟信号的电平由高到低跳变时,从机端发出由低到高跳变的电平信号;从机端发出的跳变信号作为传输阶段应答信号。
全文摘要
一种软件模拟快速通信协议,包括发送数据的主机端和接收数据的从机端,主机端和从机端之间设有传送时钟信号的时钟线和传送数据的数据线;主机端和从机端之间设有握手线,从机端将来自主机端的时钟信号处理形成应答信号,应答信号经握手线反馈到主机端;主机端接收到应答信号后向从机端进行数据传输;主机端与从机端通过握手线同步通信包括起始阶段;数据传输阶段;结束阶段。本发明具有能够确定数据接收端的准备状态,能够提高通信速度的优点。
文档编号G06F13/42GK102929830SQ20121044459
公开日2013年2月13日 申请日期2012年11月8日 优先权日2012年11月8日
发明者曾飞熊, 凌金星 申请人:浙江绍兴苏泊尔生活电器有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1