掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本发明涉及集成电路技术领域,特别涉及一种I

背景技术

I

然而,在实际项目开发过程中,由于现有的接口电路多采用状态机设计,所以往往需要中央处理器CPU频繁地给接口电路内部的寄存器写入配置数据,从而实现状态机根据传输格式进行跳转。这使得软件操作十分复杂,电路面积大、功耗高。同时,由于I

发明内容

本发明提供了一种I

为了达到上述目的,本发明提供了一种I

I

SCL生成电路,用于根据I

状态机,根据SCL时钟信号和SDA数据信号进行状态跳变,并发送控制信号,状态机的状态包括主机模式状态和从机模式状态;

控制逻辑电路,用于对控制总线传输的数据进行串并行转换,并检测状态机开始/停止信号;

I

进一步来说,I

状态寄存器,状态寄存器的信号传输端与控制总线的第一信号传输端连接;

地址寄存器,地址寄存器的信号传输端与控制总线的第二信号传输端连接;

速度寄存器,速度寄存器的信号传输端与控制总线的第三信号传输端连接;

控制寄存器,控制寄存器的第一信号传输端与控制总线的第四信号传输端连接,控制寄存器的第二信号传输端与SCL生成电路的第一信号传输端连接。

进一步来说,SCL生成电路包括SCL时钟生成模块和第一OUTPUT模块;

将SCL时钟生成模块的第一信号传输端为SCL生成电路的第一信号传输端,并与控制寄存器的第二信号传输端连接,SCL时钟生成模块的第二信号传输端与状态机的信号传输端,SCL时钟生成模块的第三信号传输端与第一OUTPUT模块的输入端连接,第一OUTPUT模块的输出端与第一缓存器的第一输入端连接,将SCL0信号传递至第一缓存器。

进一步来说,控制逻辑电路包括:同步逻辑模块、I2CDAT寄存器、匹配检测模块、第二OUTPUT模块和ACK模块;

同步逻辑模块的第一信号传输端与状态机的第四信号传输端连接,同步逻辑模块的第二信号传输端与I2CDAT寄存器的第一信号传输端连接,同步逻辑模块的第三信号传输端与第二OUTPUT模块的输入端连接,第二OUTPUT模块的输出端与第二缓存器的第二输入端连接,第二缓存器的输出端与ACK模块的输入端连接,ACK模块的输入端与状态机的第七信号传输端连接,ACK模块的输出端与I2CDAT寄存器的输入端连接,I2CDAT寄存器的第二信号传输端与控制总线连接,I2CDAT寄存器的输出端与匹配检测模块的输入端连接,匹配检测模块的输出端与状态机的第六信号传输端连接。

本发明还提供了一种I

将处于主机模式状态下的状态机设计为12个状态,分别是:空闲状态、主机起始状态、发送地址状态、应答地址状态、第一等待状态、主机发送数据状态、应答发送数据状态、第二等待状态、主机接收数据状态、第三等待状态、应答接收数据状态和停止状态;

主机模式状态下的状态机包括如下状态跳转过程:

中央处理器CPU上电或重启后,I

I

I

I

当处于第一等待状态时,SCL生成电路停止输出SCL时钟信号,中央处理器CPU通过控制总线对控制逻辑电路写入数据,待写入数据后自动跳转到主机发送数据状态;

控制逻辑电路向控制总线串行发送数据,发送完数据后自动跳转到应答发送数据状态;

在应答发送数据状态时,I

当处于第二等待状态时,SCL生成电路停止输出SCL时钟信号,等待中央处理器CPU通过控制总线对控制逻辑电路写入数据后,跳转到主机发送数据状态,若I

在主机接收数据状态时,控制逻辑电路从控制总线中串行接收数据后,自动跳转到第三等待状态,待中央处理器CPU通过控制总线读取完控制逻辑电路的数据后,跳转到应答接收数据状态;

在应答接收数据状态,当I

在停止状态,I

进一步来说,还包括:

将处于从机模式状态下的状态机设计为11个状态,分别是:空闲状态、从机起始状态、接收从机地址状态、应答地址状态、第一等待状态、从机发送数据状态、应答发送数据状态、第二等待状态、从机接收数据状态、应答接收数据状态和第三等待状态;

从机模式状态下的状态机包括如下状态跳转过程:

中央处理器CPU上电或重启后,I

I

在接收从机地址状态,控制总线串行发送从机器件地址和读写控制字,当接收到的从机地址与自身配置的地址或通用广播地址不一致时,跳转至从机起始状态,当接收到的从机地址与自身配置的地址或通用广播地址一致且读写控制字为“写”时,则跳转至应答地址状态,当接收到的从机地址与自身配置的地址或通用广播地址一致且读写控制字为“读”时,则根据I

在应答地址状态时,I

当处于第一等待状态时,I

控制逻辑电路向控制总线串行发送数据,发送完数据后,自动跳转到应答发送数据状态;

在应答发送数据状态时,I

当处于第二等待状态时,I

在从机接收数据状态,控制逻辑电路接收控制总线发送的数据,接收完成后,根据I

在应答接收数据状态,I

在第三等待状态,I

本发明的上述方案有如下的有益效果:

本发明所提供的I

本发明的其它有益效果将在随后的具体实施方式部分予以详细说明。

附图说明

图1为本发明实施例中I

图2中(a)为本发明实施例在主机发送模式的示意图,(b)为本发明实施例在主机接收模式的示意图,(c)为本发明实施例在从机发送模式的示意图,(d)为本发明实施例在从机接收模式的示意图;

图3为本发明实施例中主机模式状态下的状态机的跳转流程图;

图4为本发明实施例中从机模式状态下的状态机的跳转流程图。

具体实施方式

为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是锁定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。

本发明针对现有的问题,提供了一种I

如图1所示,本发明的实施例提供了一种I

I

SCL生成电路,用于根据I

状态机,根据SCL时钟信号和SDA数据信号进行状态跳变,并发送控制信号,状态机的状态包括主机模式状态和从机模式状态;

控制逻辑电路,用于对控制总线传输(发送或接收)的数据进行串并行转换,并检测状态机发送的开始/停止信号;

I

具体来说,I

状态寄存器,状态寄存器的信号传输端与控制总线的第一信号传输端连接;

地址寄存器,地址寄存器的信号传输端与控制总线的第二信号传输端连接;

速度寄存器,速度寄存器的信号传输端与控制总线的第三信号传输端连接;

控制寄存器,控制寄存器的第一信号传输端与控制总线的第四信号传输端连接,控制寄存器的第二信号传输端与SCL生成电路的第一信号传输端连接。

具体来说,SCL生成电路包括SCL时钟生成模块和第一OUTPUT模块;

将SCL时钟生成模块的第一信号传输端为SCL生成电路的第一信号传输端,并与控制寄存器的第二信号传输端连接,SCL时钟生成模块的第二信号传输端与状态机的信号传输端,SCL时钟生成模块的第三信号传输端与第一OUTPUT模块的输入端连接,第一OUTPUT模块的输出端与第一缓存器的第一输入端连接,将SCL0信号传递至第一缓存器。

具体来说,控制逻辑电路包括:同步逻辑模块、I2CDAT寄存器、匹配检测模块、第二OUTPUT模块和用于确认发来的数据已接收的ACK模块,(ACKnowledgeCharacter,ACK);

同步逻辑模块的第一信号传输端与状态机的第四信号传输端连接,同步逻辑模块的第二信号传输端与I2CDAT寄存器的第一信号传输端连接,同步逻辑模块的第三信号传输端与第二OUTPUT模块的输入端连接,第二OUTPUT模块的输出端与第二缓存器的第二输入端连接,第二缓存器的输出端与ACK模块的输入端连接,ACK模块的输入端与状态机的第七信号传输端连接,ACK模块的输出端与I2CDAT寄存器的输入端连接,I2CDAT寄存器的第二信号传输端与控制总线连接,I2CDAT寄存器的输出端与匹配检测模块的输入端连接,匹配检测模块的输出端与状态机的第六信号传输端连接。

本发明实施例还提供了一种I

当读写控制位为0时,主机报告中断信息并停止发送SCL时钟信号,中央处理器CPU通过控制总线向控制逻辑电路中的I2CDAT寄存器写入数据,待I2CDAT寄存器写入数据后,主机向控制总线发送8比特的数据,收到从机的应答信号后,主机报告中断信息,停止发送SCL时钟信号,待I2CDAT寄存器写入数据后;主机向控制总线发送8比特的数据,知道最后1比特数据发送完,主机在收到从机应答信号后,主机发送停止信号。

当读写控制位为1时,在接收到8比特数据后,停止发送SCL时钟信号,并报告中断信息,待I2CDAT寄存器读取完数据后,响应从机的应答信号,然后从控制总线上接收8比特数据,停止发送SCL时钟信号后,并报告中断信息,直到最后1比特数据发送完,主机不会响应从机应答信号,主机发送停止信号。

当I

当读写控制位为0时,在控制总线上接收到8比特数据,响应主机应答信号后,将SCL时钟信号拉低,发出中断信号,直到对I2CDAT寄存器读取完数据后,释放SCL时钟信号,然后继续在控制总线上接收数据,知道接收到停止信号,结束传输。

当读写控制位为1时,对控制总线发送8比特的数据,待主机响应应答信号后,将SCL时钟信号拉低,发出中断信号,直到对I2CDAT寄存器写入数据完成后,释放SCL时钟信号,然后对控制总线发送数据,知道主机不响应应答信号或接收到停止信号时,结束传输。

需要说明的是,本发明实施例中所出现的信号0值对应数字电位的低电平,信号1值对应数字电位的高电平。

具体来说,本发明实施例将处于主机模式状态下的状态机设计为12个状态,分别是:空闲状态、主机起始状态、发送地址状态、应答地址状态、第一等待状态、主机发送数据状态、应答发送数据状态、第二等待状态、主机接收数据状态、第三等待状态、应答接收数据状态和停止状态;

如图3所示,主机模式状态下的状态机的状态跳转过程如下:

中央处理器CPU上电或重启后,I

I

I

I

当处于第一等待状态时,SCL生成电路停止输出SCL时钟信号,中央处理器CPU通过控制总线对控制逻辑电路写入数据,待写入数据后自动跳转到主机发送数据状态;

控制逻辑电路向控制总线串行发送数据,发送完数据后自动跳转到应答发送数据状态;

在应答发送数据状态时,I

当处于第二等待状态时,SCL生成电路停止输出SCL时钟信号,等待中央处理器CPU通过控制总线对控制逻辑电路写入数据后,跳转到主机发送数据状态,若I

在主机接收数据状态时,控制逻辑电路从控制总线中串行接收数据后,自动跳转到第三等待状态,待中央处理器CPU通过控制总线读取完控制逻辑电路的数据后,跳转到应答接收数据状态;

在应答接收数据状态,当I

在停止状态,I

具体来说,本发明实施例将处于从机模式状态下的状态机设计为11个状态,分别是:空闲状态、从机起始状态、接收从机地址状态、应答地址状态、第一等待状态、从机发送数据状态、应答发送数据状态、第二等待状态、从机接收数据状态、应答接收数据状态和第三等待状态;

如图4所示,从机模式状态下的状态机的状态跳转过程如下:

中央处理器CPU上电或重启后,I

I

在接收从机地址状态,控制总线串行发送从机器件地址和读写控制字,当接收到的从机地址与自身配置的地址或通用广播地址不一致时,跳转至从机起始状态,当接收到的从机地址与自身配置的地址或通用广播地址一致且读写控制字为“写”时,则跳转至应答地址状态,当接收到的从机地址与自身配置的地址或通用广播地址一致且读写控制字为“读”时,则根据I

在应答地址状态时,I

当处于第一等待状态时,I

控制逻辑电路向控制总线串行发送数据,发送完数据后,自动跳转到应答发送数据状态;

在应答发送数据状态时,I

当处于第二等待状态时,I

在从机接收数据状态,控制逻辑电路接收控制总线发送的数据,接收完成后,根据I

在应答接收数据状态,I

在第三等待状态,I

本发明实施例所提供的I

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

技术分类

06120116338247