CN113961500A - 一种iic总线从控制器及其工作方法 - Google Patents

一种iic总线从控制器及其工作方法 Download PDF

Info

Publication number
CN113961500A
CN113961500A CN202111024170.XA CN202111024170A CN113961500A CN 113961500 A CN113961500 A CN 113961500A CN 202111024170 A CN202111024170 A CN 202111024170A CN 113961500 A CN113961500 A CN 113961500A
Authority
CN
China
Prior art keywords
state
iic
iic bus
information
slave 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.)
Granted
Application number
CN202111024170.XA
Other languages
English (en)
Other versions
CN113961500B (zh
Inventor
屈盼让
孙少华
朱耀国
张倩倩
蔡晓乐
肖鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Aeronautics Computing Technique Research Institute of AVIC
Original Assignee
Xian Aeronautics Computing Technique Research Institute of AVIC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xian Aeronautics Computing Technique Research Institute of AVIC filed Critical Xian Aeronautics Computing Technique Research Institute of AVIC
Priority to CN202111024170.XA priority Critical patent/CN113961500B/zh
Publication of CN113961500A publication Critical patent/CN113961500A/zh
Application granted granted Critical
Publication of CN113961500B publication Critical patent/CN113961500B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/063Address space extension for I/O modules, e.g. memory mapped I/O
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明公开一种IIC总线从控制器及其工作方法,该控制器包括:具有多种状态的状态机,且配置有数据协议;IIC总线从控制器,用于周期性的查询其所在从设备中的IP核,获取IP核的状态信息和用于对操作码赋值的数据信息,并依据状态信息和数据信息对状态机进行状态切换;还用于根据状态机的当前状态输出以下内容中的至少一项:地址信息、数据信息、读使能信息、写使能信息;还用于根据多个状态下输出的多个信息对IIC从设备中资源进行按址访问。本发明的技术方案解决了现有IIC总线的通讯方式,对于IIC总线中交联设备的种类和数量较多的情况,主、从设备控制器的复杂度和耦合度较高的问题。

Description

一种IIC总线从控制器及其工作方法
技术领域
本发明涉及但不限于数字电路技术领域,尤其涉及一种IIC总线从控制器及其工作方法。
背景技术
IIC总线是一种常用的标准总线接口,具有结构简单、灵活性高等特点。可编程逻辑器件搭载用于解析IIC总线信号的IP核的方式越来越多的应用于工业领域,进一步提高了IIC总线的适用性,扩展了IIC总线的应用场景。
目前,比较典型的IIC通讯方式是定义主、从设备间的数据ICD,通过“组包”和“解包”实现数据交互,在通过IIC总线交联的设备数量较少的情况下,这种方式简单、高效。然而,随着交联设备的种类和数量的增加,数据“组包”和“解包”导致主、从设备的控制器的复杂度和耦合度越来越高,已经不能满足要求。
发明内容
本发明的目的为:为了解决背景技术中的问题,本发明实施例提出一种IIC总线从控制器及其工作方法,以解决现有IIC总线的通讯方式,对于IIC总线中交联设备的种类和数量较多的情况,主、从设备控制器的复杂度和耦合度较高的问题。
本发明的技术方案为:本发明实施例提出一种IIC总线从控制器,IIC总线连接至少一个IIC主设备和多个IIC从设备,每个IIC从设备中配置有IIC总线从控制器和用于解析IIC总线信号的IP核,且所述IP核与所述IIC总线从控制器相连接;所述IIC总线从控制器包括:具有多种状态的状态机,且配置有数据协议;
其中,所述IIC总线从控制器,用于周期性的查询其所在IIC从设备中的IP核,获取IP核的状态信息和用于对操作码赋值的数据信息,并依据所获取的状态信息和所述数据信息对状态机进行状态切换;
所述IIC总线从控制器,还用于根据状态机的当前状态输出以下内容中的至少一项:地址信息、数据信息、读使能信息、写使能信息;
所述IIC总线从控制器,还用于根据多个状态下输出的多个信息对IIC从设备中资源进行按址访问。
可选地,如上所述的IIC总线从控制器中,
所述数据协议中包括:操作码、地址码、数据码1和数据码2,且每个码的位宽均为8比特;
其中,所述操作码用于区分IIC主设备发起的IIC总线操作为读操作或写操作,且读操作码和写操作码的汉明距离大于预设阈值。
可选地,如上所述的IIC总线从控制器中,
所述状态机的状态包括:初始化态、空闲态、接收1状态、接收2状态、接收3状态、发送1状态、发送2状态和发送3状态。
可选地,如上所述的IIC总线从控制器中,
所述IIC总线从控制器控制状态机每完成一次空闲态、发送1状态、发送2状态、发送3状态,最后返回到空闲态的切换过程,则IIC主设备完成一次对IIC从设备的按地址读操作访问;
所述IIC总线从控制器控制状态机每完成一次空闲态、接收1状态、接收2状态、接收3状态,最后返回到空闲态的切换过程,则IIC主设备完成一次对IIC从设备的按地址写操作访问。
可选地,如上所述的IIC总线从控制器中,
所述IIC总线从控制器查询IP核的周期为:依据IIC总线通讯速率所确定的。
可选地,如上所述的IIC总线从控制器中,
所述IIC总线从控制器,还用于在IIC从设备复位后,控制状态机进入初始化状态,完成对该IIC从设备中IP核的初始化工作后,并控制状态机进入空闲态。
可选地,如上所述的IIC总线从控制器中,所述IIC总线从控制器用于对状态机进行状态切换,其中,所述IIC主设备完成一次对IIC从设备的按地址读操作访问过程中的状态切换方式,包括:
1),空闲态:IIC总线从控制器周期性地获取其所在IIC从设备中IP核的状态信息;如果IP核的状态信息显示为该IP核的接收缓冲中无数据,则继续停留在该空闲态;如果状态信息显示为接收缓冲中有数据信息,则IIC总线从控制器将数据信息从IP核中读出,赋值给操作码,并进行判断:(1)如果操作码等于读操作码,则跳转至发送1状态;(2)如果操作码等于写操作码,则跳转至接收1状态;
2),发送1状态:IIC总线从控制器周期性地获取其所在IIC从设备中IP核的状态信息;如果状态信息显示为接收缓冲中无数据信息,则继续停留在该发送1状态;如果状态信息显示为接收缓冲中有数据信息,则IIC总线从控制器将数据信息从IP核中读出,赋值给地址码,并产生读使能信息,在该IIC从设备中按地址码所指示的资源读取16比特数据,并跳转至发送2状态;
3),发送2状态:IIC总线从控制器周期性地获取其所在IIC从设备中IP核的状态信息;如果状态信息显示为IIC主设备没有发起读操作,则继续停留在该发送2状态;如果状态信息显示为IIC主设备正在发起一次读操作,则将发送1状态中按地址码读取的16比特数据的高8位写入发送缓冲中;
IIC总线从控制器周期性地获取其所在IIC从设备中IP核的状态信息;如果状态信息显示为本次读操作未结束,则继续停留在该发送状态2;如果状态信息显示为本次读操作结束,则跳转至发送3状态;
4),发送3状态:IIC总线从控制器周期性地获取其所在IIC从设备中IP核的状态信息;如果状态信息显示为IIC主设备没有发起读操作,则继续停留在该发送3状态;如果状态信息显示为IIC主设备正在发起一次读操作,则将发送1状态中按地址码读取的16比特数据的低8位写入发送缓冲中;
IIC总线从控制器周期性地获取其所在IIC从设备中IP核的状态信息;如果状态信息显示为本次读操作未结束,则继续停留在该发送状态3;如果状态信息显示为本次读操作结束,则跳转至空闲态。
可选地,如上所述的IIC总线从控制器中,所述IIC总线从控制器用于对状态机进行状态切换,其中,所述IIC主设备完成一次对IIC从设备的按地址写操作访问过程中的状态切换方式,包括:
1),空闲态:IIC总线从控制器周期性地获取其所在IIC从设备中IP核的状态信息;如果IP核的状态信息显示为该IP核的接收缓冲中无数据,则继续停留在该空闲态;如果状态信息显示为接收缓冲中有数据信息,则IIC总线从控制器将数据信息从IP核中读出,赋值给操作码,并进行判断:(1)如果操作码等于读操作码,则跳转至发送1状态;(2)如果操作码等于写操作码,则跳转至接收1状态;
2),接收1状态:IIC总线从控制器周期性地获取其所在IIC从设备中P核的状态信息;如果状态信息显示为接收缓冲中无数据信息,则继续停留在该接收1状态;如果状态信息显示为接收缓冲中有数据信息,则IIC总线从控制器将数据信息从IP核中读出,赋值给地址码,并跳转至接收2状态;
3)接收2状态:IIC总线从控制器周期性地获取其所在IIC从设备中IP核的状态信息;如果状态信息显示为接收缓冲中无数据信息,则继续停留在该接收2状态;如果状态信息显示为接收缓冲中有数据信息,则IIC总线从控制器将数据信息从IP核中读出,赋值给数据码1,并跳转至接收3状态;
4)接收3状态:IIC总线从控制器周期性地获取其所在IIC从设备中IP核的状态信息;如果状态信息显示为接收缓冲中无数据信息,则继续停留在该接收3状态;如果状态信息显示为接收缓冲中有数据信息,则IIC总线从控制器将数据信息从IP核中读出,赋值给数据码2,并产生写使能信息,按接收1状态赋值的地址码写入16比特数据,并跳转至空闲状态。
本发明实施例还提供一种IIC总线从控制器的工作方法,采用如上述任一项所述的IIC总线从控制器执行的工作方法,所述方法包括:
步骤1,周期性的查询其所在从设备中的IP核,获取IP核的状态信息和用于对操作码赋值的数据信息,并依据状态信息和所述数据信息对状态机进行状态切换;
步骤2,根据状态机的当前状态输出以下内容中的至少一项:地址码、数据码、读使能信息、写使能信息;
步骤3,根据多个状态下输出的地址码、数据码,以及读使能信息或写使能信息,按照地址码对IIC从设备中对应的资源进行按址访问。
可选地,如上所述的IIC总线从控制器的工作方法中,所述步骤3中,所述按照地址码对IIC从设备中对应的资源进行按址访问,包括:
通过控制状态机完成一次空闲态、发送1状态、发送2状态、发送3状态,最后返回到空闲态的切换过程,则IIC主设备完成一次对IIC从设备的按地址读操作访问;
通过控制状态机完成一次空闲态、接收1状态、接收2状态、接收3状态,最后返回到空闲态的切换过程,则IIC主设备完成一次对IIC从设备的按地址写操作访问。
可选地,如上所述的IIC总线从控制器的工作方法中,所述步骤1之前,还包括:
步骤a,IIC从设备复位后,IIC总线从控制器控制状态机进入初始化态,完成对其所在IIC从设备中IP核的初始化工作后,控制状态机进入空闲态。
本发明的有益效果为:本发明实施例提出一种IIC总线从控制器及其工作方法,其中的IIC总线从控制器基于可编程逻辑器件实现,在现有IIC从设备中IP核的基础上,创新性的提出了IIC主、备设备间的数据协议和控制状态机,使得该IIC总线从控制器通过周期性地查询其所在IIC从设备中IP核的状态寄存器,控制状态机实现初始化态、空闲态、多个发送状态和多个接收状态这8个状态之间的切换,同时依据通讯协议输出地址、数据、片选、读写使能等信号,有效实现了IIC主设备通过IIC总线从控制器对IIC从设备的“按地址读写访问”。本发明实施例提供的技术方案,显著提高了IIC总线的适用性,降低了交联设备间的耦合度,提高了系统健壮性,可广泛应用于工业领域。
附图说明
图1为本发明实施例提供的一种IIC总线从控制器的结构示意图;
图2为本发明实施例提供的IIC总线从控制器控制状态机进行状态切换的原理示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
上述背景技术中已经说明,现有IIC总线的通讯方式,由于主、从设备之间通过“组包”和“解包”实现数据交互,随着交联设备的种类和数量的增加,数据“组包”和“解包”导致主、从设备的控制器的复杂度和耦合度越来越高,已经不能满足IIC总线的通讯的可靠性要求。
为了降低主、从设备的控制器的复杂度和耦合度,考虑提出一种新的IIC通讯方案,基于上述需求,本发明实施例提出一种IIC总线从控制器及其工作方法,可以实现IIC主设备对IIC从设备的“按址访问”,并且实现IIC主控制器对从控制器交联设备的“点对点”控制和采集。
本发明提供以下几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图1为本发明实施例提供的一种IIC总线从控制器的结构示意图。本发明实施例提供的IIC总线从控制器应用于通过IIC总线连接的IIC主设备和IIC从设备的使用场景中。通常的,IIC总线连接至少一个IIC主设备和多个IIC从设备,每个IIC从设备中配置有IIC总线从控制器和用于解析IIC总线信号的IP核;且IP核与IC总线从控制器相连接,两者之间可以实现信息交互。
图1中仅示意出通过IIC总线与IIC主设备相连接的一个IIC从设备,以及该IIC从设备和内部IIC总线从控制器的具体结构,通过IIC总线相连接的其它IIC从设备和IIC总线从控制器的结构与此相同。
如图1所示IIC总线从控制器的结构中,可以包括:具有多种状态的状态机,且IIC总线从控制器中配置有数据协议。另外,可以看出,IIC从设备中的IP核具有……
基于本发明实施例中IIC总线从控制器的结构和配置方式,首先,本发明实施例中的IIC总线从控制器,可以周期性的查询其所在IIC从设备中的IP核,获取IP核的状态信息和用于对操作码赋值的数据信息,并依据所获取的状态信息和数据信息对状态机进行状态切换。
其次,本发明实施例提供的IIC总线从控制器,还用于根据状态机的当前状态输出以下内容中的至少一项:地址信息、数据信息、读使能信息、写使能信息。
再者,本发明实施例提供的IIC总线从控制器,还用于根据多个状态下输出的多个信息对IIC从设备中资源进行按址访问。
需要说明的是,本发明实施例提供的IIC总线从控制器,可以基于可编程逻辑器件实现,具体在其所属的IIC从设备的IP核的基础上实现,主要包括上述数据协议和状态机两个部分,并且其状态机具有多个状态。
在本发明实施例中,IIC总线从控制器所配置的数据协议中以下包括信息:操作码、地址码、数据码1和数据码2,其中地址码具体指该IIC总线从控制器所属从设备中各资源的地址。
需要说明的是,上述每个码的位宽均为8比特;其中,操作码用于区分IIC主设备发起的IIC总线操作为读操作或写操作,要求读操作码和写操作码的汉明距离尽可能大;在具体实施时,读操作码和写操作码的汉明距离大于预设阈值,例如要求上述汉明距离大于2,以避免操作码的误判。
本发明上述实施例已经说明,IIC总线从控制器中的状态机具有多种状态,在本发明实施例的一种实现方式中,该状态机可以包括以下8种状态,包括:初始化态、空闲态、接收1状态、接收2状态、接收3状态、发送1状态、发送2状态和发送3状态。
如图2所示,为本发明实施例提供的IIC总线从控制器控制状态机进行状态切换的原理示意图,可以看出,初始化状态可以切换为空闲态,空闲态的切换具有以下两条切换回路:
切换回路1,空闲态切换为发送1状态,发送1状态切换为发送2状态,发送2状态切换为发送3状态;
切换回路2,空闲态切换为接收1状态,接收1状态切换为接收2状态,接收2状态切换为接收3状态。
进而,无论是上述两种情况中的发送3状态,还是接收3状态,后续都切换为空闲态;从而形成如图2所示的两条状态切换回路。
基于本发明实施例中状态机的上述各种状态,以及图2所示各种状态的切换方式。本发明实施例提供的IIC总线从控制器,一方面,控制状态机每完成一次空闲态、发送1状态、发送2状态、发送3状态,最后返回到空闲态的切换过程,即完成一次切换回路1的切换过程,则IIC主设备完成一次对IIC从设备的按地址读操作访问;另一方面,控制状态机每完成一次空闲态、接收1状态、接收2状态、接收3状态,最后返回到空闲态的切换过程,即完成一次切换回路2的切换过程,则IIC主设备完成一次对IIC从设备的按地址写操作访问。
在本发明实施例的一种实现方式中,IIC总线从控制器查询其所在IIC从设备中IP核的周期为:依据IIC总线通讯速率所确定的。
在本发明实施例的一种实现方式中,上述已经说明IIC总线从控制器进入空闲态后的两条状态切换回路,对于该IIC总线从控制器,其首次进入空闲态的形式为:在IIC从设备复位后,控制状态机进入初始化状态,完成对该IIC从设备中IP核的初始化工作后,并控制状态机进入空闲态。
以下对本发明实施例提供的IIC总线从控制器中,状态机的各个状态的具体切换方式和状态跳转条件,进行详细说明:
切换过程一,对于上述状态切换回路1为IIC主设备完成一次对IIC从设备的按地址读操作访问过程的状态切换过程,该过程中的具体切换方式流程包括:
1),空闲态:IIC总线从控制器周期性地获取其所在IIC从设备中IP核的状态信息;如果IP核的状态信息显示为该IP核的接收缓冲中无数据,则继续停留在该空闲态;如果状态信息显示为接收缓冲中有数据信息,则IIC总线从控制器将数据信息从IP核中读出,赋值给操作码,并进行判断:(1)如果操作码等于读操作码,则跳转至发送1状态;(2)如果操作码等于写操作码,则跳转至接收1状态;在该切换过程一中,具体判断出操作码等于读操作码,调整至发送1状态;
2),发送1状态:IIC总线从控制器周期性地获取其所在IIC从设备中IP核的状态信息;如果状态信息显示为接收缓冲中无数据信息,则继续停留在该发送1状态;如果状态信息显示为接收缓冲中有数据信息,则IIC总线从控制器将数据信息从IP核中读出,赋值给地址码,并产生读使能信息,在该IIC从设备中按地址码所指示的资源读取16比特数据,并跳转至发送2状态;
3),发送2状态:IIC总线从控制器周期性地获取其所在IIC从设备中IP核的状态信息;如果状态信息显示为IIC主设备没有发起读操作,则继续停留在该发送2状态;如果状态信息显示为IIC主设备正在发起一次读操作,则将发送1状态中按地址码读取的16比特数据的高8位写入发送缓冲中;
IIC总线从控制器周期性地获取其所在IIC从设备中IP核的状态信息;如果状态信息显示为本次读操作未结束,则继续停留在该发送状态2;如果状态信息显示为本次读操作结束,则跳转至发送3状态;
4),发送3状态:IIC总线从控制器周期性地获取其所在IIC从设备中IP核的状态信息;如果状态信息显示为IIC主设备没有发起读操作,则继续停留在该发送3状态;如果状态信息显示为IIC主设备正在发起一次读操作,则将发送1状态中按地址码读取的16比特数据的低8位写入发送缓冲中;
IIC总线从控制器周期性地获取其所在IIC从设备中IP核的状态信息;如果状态信息显示为本次读操作未结束,则继续停留在该发送状态3;如果状态信息显示为本次读操作结束,则跳转至空闲态。
切换过程二,对于上述状态切换回路2为IIC主设备完成一次对IIC从设备的按地址写操作访问过程的状态切换过程,该过程中的具体切换方式流程包括:
1),空闲态:IIC总线从控制器周期性地获取其所在IIC从设备中IP核的状态信息;如果IP核的状态信息显示为该IP核的接收缓冲中无数据,则继续停留在该空闲态;如果状态信息显示为接收缓冲中有数据信息,则IIC总线从控制器将数据信息从IP核中读出,赋值给操作码,并进行判断:(1)如果操作码等于读操作码,则跳转至发送1状态;(2)如果操作码等于写操作码,则跳转至接收1状态;在该切换过程二中,具体判断出操作码等于写操作码,调整至接收1状态;
2),接收1状态:IIC总线从控制器周期性地获取其所在IIC从设备中P核的状态信息;如果状态信息显示为接收缓冲中无数据信息,则继续停留在该接收1状态;如果状态信息显示为接收缓冲中有数据信息,则IIC总线从控制器将数据信息从IP核中读出,赋值给地址码,并跳转至接收2状态;
3)接收2状态:IIC总线从控制器周期性地获取其所在IIC从设备中IP核的状态信息;如果状态信息显示为接收缓冲中无数据信息,则继续停留在该接收2状态;如果状态信息显示为接收缓冲中有数据信息,则IIC总线从控制器将数据信息从IP核中读出,赋值给数据码1,并跳转至接收3状态;
4)接收3状态:IIC总线从控制器周期性地获取其所在IIC从设备中IP核的状态信息;如果状态信息显示为接收缓冲中无数据信息,则继续停留在该接收3状态;如果状态信息显示为接收缓冲中有数据信息,则IIC总线从控制器将数据信息从IP核中读出,赋值给数据码2,并产生写使能信息,按接收1状态赋值的地址码写入16比特数据,并跳转至空闲状态。
根据上述切换过程一和切换过程二的具体切换方式可以看出,控制状态机每完成一次空闲态、发送1状态、发送2状态、发送3状态,最后返回到空闲态的切换回路,IIC主设备便实现一次对IIC从设备的读操作访问;控制状态机每完成一次空闲态、接收1状态、接收2状态和接收3状态,最后返回到空闲态的切换回路,IIC主设备便实现一次对IIC从设备的写操作访问。因为地址码、数据码1和数据码2的位宽均为8比特,IIC总线从控制器的“按址访问”空间大小为512Byte。在实际应用中,可根据访问空间大小需要,对数据协议和控制状态机进行修改,以增强适用性。
现有IIC总线的连接结构中,IIC主设备和IIC从设备之间只有IIC连接,这个连接是串行总线,不能直接实现对从设备的按地址访问,本发明实施例提供在IIC从设备中设计了一个IIC总线从控制器,将串行总线改为并行总线,间接实现对从设备的按地址访问。
本发明实施例提供的IIC总线从控制器,基于可编程逻辑器件实现,在现有IIC从设备中IP核的基础上,创新性的提出了IIC主、备设备间的数据协议和控制状态机,使得该IIC总线从控制器通过周期性地查询其所在IIC从设备中IP核的状态寄存器,控制状态机实现初始化态、空闲态、多个发送状态和多个接收状态这8个状态之间的切换,同时依据通讯协议输出地址、数据、片选、读写使能等信号,有效实现了IIC主设备通过IIC总线从控制器对IIC从设备的“按地址读写访问”。本发明实施例提供的技术方案,显著提高了IIC总线的适用性,降低了交联设备间的耦合度,提高了系统健壮性,可广泛应用于工业领域。
基于本发明上述各实施例提供的IIC总线从控制器,本发明实施例还提供该IIC总线从控制器的工作方法,具体采用本发明上述任一实施例提供的的IIC总线从控制器所执行的工作方法,该工作方法包括:
步骤1,周期性的查询其所在从设备中的IP核,获取IP核的状态信息和用于对操作码赋值的数据信息,并依据状态信息和数据信息对状态机进行状态切换;
步骤2,根据状态机的当前状态输出以下内容中的至少一项:地址码、数据码、读使能信息、写使能信息;
步骤3,根据多个状态下输出的地址码、数据码,以及读使能信息或写使能信息,按照地址码对IIC从设备中对应的资源进行按址访问。
本发明实施例提供的IIC总线从控制器的工作方法中,其IIC总线从控制器的数据协议中包括:操作码、地址码、数据码1和数据码2,且每个码的位宽均为8比特,且控制机具有初始化态、空闲态、接收1状态、接收2状态、接收3状态、发送1状态、发送2状态和发送3状态这8个状态。
在本发明实施例中,IIC总线从控制器查询IP核的周期为,依据IIC总线通讯速率所确定的。举例来说,当IIC总线通讯速率为400KHz时,(即2.5us传输一个比特),因此,查询周期应小于2.5us(则不会存在数据丢失现象)。
本发明实施例提供的工作方法中,上述步骤1之前,还包括:在IIC从设备复位后,IIC总线从控制器控制状态机进入初始化态,完成对该IIC从设备中IP核的初始化工作后,控制状态机进入空闲态;随后依据周期性查询出的IP核的状态信息和数据信息对状态机进行状态切换,包括以下两种切换过程:
切换过程一,通过控制状态机完成一次空闲态、发送1状态、发送2状态、发送3状态,最后返回到空闲态的切换,则IIC主设备完成一次对IIC从设备的按地址读操作访问;
切换过程二,通过控制状态机完成一次空闲态、接收1状态、接收2状态、接收3状态,最后返回到空闲态的切换,则IIC主设备完成一次对IIC从设备的按地址写操作访问。
上述两个切换过程的具体实施过程和跳转条件如下说明:
1),空闲态:IIC总线从控制器周期性地获取其所在IIC从设备中IP核的状态信息;如果IP核的状态信息显示为该IP核的接收缓冲中无数据,则继续停留在该空闲态;如果状态信息显示为接收缓冲中有数据信息,则IIC总线从控制器将数据信息从IP核中读出,赋值给操作码,并进行判断:(1)如果操作码等于读操作码,则跳转至发送1状态;(2)如果操作码等于写操作码,则跳转至接收1状态;
2),发送1状态:IIC总线从控制器周期性地获取其所在IIC从设备中IP核的状态信息;如果状态信息显示为接收缓冲中无数据信息,则继续停留在该发送1状态;如果状态信息显示为接收缓冲中有数据信息,则IIC总线从控制器将数据信息从IP核中读出,赋值给地址码,并产生读使能信息,在该IIC从设备中按地址码所指示的资源读取16比特数据,并跳转至发送2状态;
3),发送2状态:IIC总线从控制器周期性地获取其所在IIC从设备中IP核的状态信息;如果状态信息显示为IIC主设备没有发起读操作,则继续停留在该发送2状态;如果状态信息显示为IIC主设备正在发起一次读操作,则将发送1状态中按地址码读取的16比特数据的高8位写入发送缓冲中;
IIC总线从控制器周期性地获取其所在IIC从设备中IP核的状态信息;如果状态信息显示为本次读操作未结束,则继续停留在该发送状态2;如果状态信息显示为本次读操作结束,则跳转至发送3状态;
4),发送3状态:IIC总线从控制器周期性地获取其所在IIC从设备中IP核的状态信息;如果状态信息显示为IIC主设备没有发起读操作,则继续停留在该发送3状态;如果状态信息显示为IIC主设备正在发起一次读操作,则将发送1状态中按地址码读取的16比特数据的低8位写入发送缓冲中;
IIC总线从控制器周期性地获取其所在IIC从设备中IP核的状态信息;如果状态信息显示为本次读操作未结束,则继续停留在该发送状态3;如果状态信息显示为本次读操作结束,则跳转至空闲态;
5),接收1状态:IIC总线从控制器周期性地获取其所在IIC从设备中P核的状态信息;如果状态信息显示为接收缓冲中无数据信息,则继续停留在该接收1状态;如果状态信息显示为接收缓冲中有数据信息,则IIC总线从控制器将数据信息从IP核中读出,赋值给地址码,并跳转至接收2状态;
6)接收2状态:IIC总线从控制器周期性地获取其所在IIC从设备中IP核的状态信息;如果状态信息显示为接收缓冲中无数据信息,则继续停留在该接收2状态;如果状态信息显示为接收缓冲中有数据信息,则IIC总线从控制器将数据信息从IP核中读出,赋值给数据码1,并跳转至接收3状态;
7)接收3状态:IIC总线从控制器周期性地获取其所在IIC从设备中IP核的状态信息;如果状态信息显示为接收缓冲中无数据信息,则继续停留在该接收3状态;如果状态信息显示为接收缓冲中有数据信息,则IIC总线从控制器将数据信息从IP核中读出,赋值给数据码2,并产生写使能信息,按接收1状态赋值的地址码写入16比特数据,并跳转至空闲状态。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (10)

1.一种IIC总线从控制器,其特征在于,IIC总线连接至少一个IIC主设备和多个IIC从设备,每个IIC从设备中配置有IIC总线从控制器和用于解析IIC总线信号的IP核,且所述IP核与所述IIC总线从控制器相连接;所述IIC总线从控制器包括:具有多种状态的状态机,且配置有数据协议;
其中,所述IIC总线从控制器,用于周期性的查询其所在IIC从设备中的IP核,获取IP核的状态信息和用于对操作码赋值的数据信息,并依据所获取的状态信息和所述数据信息对状态机进行状态切换;
所述IIC总线从控制器,还用于根据状态机的当前状态输出以下内容中的至少一项:地址信息、数据信息、读使能信息、写使能信息;
所述IIC总线从控制器,还用于根据多个状态下输出的多个信息对IIC从设备中资源进行按址访问。
2.根据权利要求1所述的IIC总线从控制器,其特征在于,
所述数据协议中包括:操作码、地址码、数据码1和数据码2,且每个码的位宽均为8比特;
其中,所述操作码用于区分IIC主设备发起的IIC总线操作为读操作或写操作,且读操作码和写操作码的汉明距离大于预设阈值。
3.根据权利要求2所述的IIC总线从控制器,其特征在于,
所述状态机的状态包括:初始化态、空闲态、接收1状态、接收2状态、接收3状态、发送1状态、发送2状态和发送3状态;
所述IIC总线从控制器控制状态机每完成一次空闲态、发送1状态、发送2状态、发送3状态,最后返回到空闲态的切换过程,则IIC主设备完成一次对IIC从设备的按地址读操作访问;
所述IIC总线从控制器控制状态机每完成一次空闲态、接收1状态、接收2状态、接收3状态,最后返回到空闲态的切换过程,则IIC主设备完成一次对IIC从设备的按地址写操作访问。
4.根据权利要求1~3中任一项所述的IIC总线从控制器,其特征在于,
所述IIC总线从控制器查询IP核的周期为:依据IIC总线通讯速率所确定的。
5.根据权利要求1~3中任一项所述的IIC总线从控制器,其特征在于,
所述IIC总线从控制器,还用于在IIC从设备复位后,控制状态机进入初始化状态,完成对该IIC从设备中IP核的初始化工作后,并控制状态机进入空闲态。
6.根据权利要求5所述的IIC总线从控制器,其特征在于,所述IIC总线从控制器用于对状态机进行状态切换,其中,所述IIC主设备完成一次对IIC从设备的按地址读操作访问过程中的状态切换方式,包括:
1),空闲态:IIC总线从控制器周期性地获取其所在IIC从设备中IP核的状态信息;如果IP核的状态信息显示为该IP核的接收缓冲中无数据,则继续停留在该空闲态;如果状态信息显示为接收缓冲中有数据信息,则IIC总线从控制器将数据信息从IP核中读出,赋值给操作码,并进行判断:(1)如果操作码等于读操作码,则跳转至发送1状态;(2)如果操作码等于写操作码,则跳转至接收1状态;
2),发送1状态:IIC总线从控制器周期性地获取其所在IIC从设备中IP核的状态信息;如果状态信息显示为接收缓冲中无数据信息,则继续停留在该发送1状态;如果状态信息显示为接收缓冲中有数据信息,则IIC总线从控制器将数据信息从IP核中读出,赋值给地址码,并产生读使能信息,在该IIC从设备中按地址码所指示的资源读取16比特数据,并跳转至发送2状态;
3),发送2状态:IIC总线从控制器周期性地获取其所在IIC从设备中IP核的状态信息;如果状态信息显示为IIC主设备没有发起读操作,则继续停留在该发送2状态;如果状态信息显示为IIC主设备正在发起一次读操作,则将发送1状态中按地址码读取的16比特数据的高8位写入发送缓冲中;
IIC总线从控制器周期性地获取其所在IIC从设备中IP核的状态信息;如果状态信息显示为本次读操作未结束,则继续停留在该发送状态2;如果状态信息显示为本次读操作结束,则跳转至发送3状态;
4),发送3状态:IIC总线从控制器周期性地获取其所在IIC从设备中IP核的状态信息;如果状态信息显示为IIC主设备没有发起读操作,则继续停留在该发送3状态;如果状态信息显示为IIC主设备正在发起一次读操作,则将发送1状态中按地址码读取的16比特数据的低8位写入发送缓冲中;
IIC总线从控制器周期性地获取其所在IIC从设备中IP核的状态信息;如果状态信息显示为本次读操作未结束,则继续停留在该发送状态3;如果状态信息显示为本次读操作结束,则跳转至空闲态。
7.根据权利要求5所述的IIC总线从控制器,其特征在于,所述IIC总线从控制器用于对状态机进行状态切换,其中,所述IIC主设备完成一次对IIC从设备的按地址写操作访问过程中的状态切换方式,包括:
1),空闲态:IIC总线从控制器周期性地获取其所在IIC从设备中IP核的状态信息;如果IP核的状态信息显示为该IP核的接收缓冲中无数据,则继续停留在该空闲态;如果状态信息显示为接收缓冲中有数据信息,则IIC总线从控制器将数据信息从IP核中读出,赋值给操作码,并进行判断:(1)如果操作码等于读操作码,则跳转至发送1状态;(2)如果操作码等于写操作码,则跳转至接收1状态;
2),接收1状态:IIC总线从控制器周期性地获取其所在IIC从设备中P核的状态信息;如果状态信息显示为接收缓冲中无数据信息,则继续停留在该接收1状态;如果状态信息显示为接收缓冲中有数据信息,则IIC总线从控制器将数据信息从IP核中读出,赋值给地址码,并跳转至接收2状态;
3)接收2状态:IIC总线从控制器周期性地获取其所在IIC从设备中IP核的状态信息;如果状态信息显示为接收缓冲中无数据信息,则继续停留在该接收2状态;如果状态信息显示为接收缓冲中有数据信息,则IIC总线从控制器将数据信息从IP核中读出,赋值给数据码1,并跳转至接收3状态;
4)接收3状态:IIC总线从控制器周期性地获取其所在IIC从设备中IP核的状态信息;如果状态信息显示为接收缓冲中无数据信息,则继续停留在该接收3状态;如果状态信息显示为接收缓冲中有数据信息,则IIC总线从控制器将数据信息从IP核中读出,赋值给数据码2,并产生写使能信息,按接收1状态赋值的地址码写入16比特数据,并跳转至空闲状态。
8.一种IIC总线从控制器的工作方法,其特征在于,采用如权利要求1~7中任一项所述的IIC总线从控制器执行的工作方法,所述方法包括:
步骤1,周期性的查询其所在从设备中的IP核,获取IP核的状态信息和用于对操作码赋值的数据信息,并依据状态信息和所述数据信息对状态机进行状态切换;
步骤2,根据状态机的当前状态输出以下内容中的至少一项:地址码、数据码、读使能信息、写使能信息;
步骤3,根据多个状态下输出的地址码、数据码,以及读使能信息或写使能信息,按照地址码对IIC从设备中对应的资源进行按址访问。
9.根据权利要求8所述的IIC总线从控制器的工作方法,其特征在于,所述步骤3中,所述按照地址码对IIC从设备中对应的资源进行按址访问,包括:
通过控制状态机完成一次空闲态、发送1状态、发送2状态、发送3状态,最后返回到空闲态的切换过程,则IIC主设备完成一次对IIC从设备的按地址读操作访问;
通过控制状态机完成一次空闲态、接收1状态、接收2状态、接收3状态,最后返回到空闲态的切换过程,则IIC主设备完成一次对IIC从设备的按地址写操作访问。
10.根据权利要求9所述的IIC总线从控制器的工作方法,其特征在于,所述步骤1之前,还包括:
步骤a,IIC从设备复位后,IIC总线从控制器控制状态机进入初始化态,完成对其所在IIC从设备中IP核的初始化工作后,控制状态机进入空闲态。
CN202111024170.XA 2021-09-01 2021-09-01 一种iic总线从控制器及其工作方法 Active CN113961500B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111024170.XA CN113961500B (zh) 2021-09-01 2021-09-01 一种iic总线从控制器及其工作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111024170.XA CN113961500B (zh) 2021-09-01 2021-09-01 一种iic总线从控制器及其工作方法

Publications (2)

Publication Number Publication Date
CN113961500A true CN113961500A (zh) 2022-01-21
CN113961500B CN113961500B (zh) 2024-04-09

Family

ID=79460760

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111024170.XA Active CN113961500B (zh) 2021-09-01 2021-09-01 一种iic总线从控制器及其工作方法

Country Status (1)

Country Link
CN (1) CN113961500B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5907689A (en) * 1996-12-31 1999-05-25 Compaq Computer Corporation Master-target based arbitration priority
US20020056063A1 (en) * 2000-05-31 2002-05-09 Nerl John A. Power saving feature during memory self-test
CN102184148A (zh) * 2011-04-18 2011-09-14 北京航空航天大学 一种基于fpga的at96总线控制器ip核及其构建方法
CN103729165A (zh) * 2014-01-16 2014-04-16 哈尔滨工业大学 应用于高速运动控制系统的pci从设备核心控制模块
CN107911391A (zh) * 2017-12-14 2018-04-13 天津光电通信技术有限公司 一种基于fpga的axi协议与spi协议转换的方法
CN112286852A (zh) * 2019-07-25 2021-01-29 杭州海康汽车技术有限公司 基于iic总线的数据通信方法和数据通信装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5907689A (en) * 1996-12-31 1999-05-25 Compaq Computer Corporation Master-target based arbitration priority
US20020056063A1 (en) * 2000-05-31 2002-05-09 Nerl John A. Power saving feature during memory self-test
CN102184148A (zh) * 2011-04-18 2011-09-14 北京航空航天大学 一种基于fpga的at96总线控制器ip核及其构建方法
CN103729165A (zh) * 2014-01-16 2014-04-16 哈尔滨工业大学 应用于高速运动控制系统的pci从设备核心控制模块
CN107911391A (zh) * 2017-12-14 2018-04-13 天津光电通信技术有限公司 一种基于fpga的axi协议与spi协议转换的方法
CN112286852A (zh) * 2019-07-25 2021-01-29 杭州海康汽车技术有限公司 基于iic总线的数据通信方法和数据通信装置

Also Published As

Publication number Publication date
CN113961500B (zh) 2024-04-09

Similar Documents

Publication Publication Date Title
CN106951388B (zh) 一种基于PCIe的DMA数据传输方法及系统
US6862643B2 (en) USB compound device operates a plurality of devices by using the same USB logic circuit and the method for implementation thereof
US10007628B2 (en) Dynamically adjustable multi-line bus shared by multi-protocol devices
US10241955B2 (en) Dynamically adjustable multi-line bus shared by multi-protocol devices
CN114048164B (zh) 芯片互联方法、系统、设备及可读存储介质
CN108228492B (zh) 一种多通道ddr交织控制方法及装置
KR20010051014A (ko) 데이터 전송 제어 장치 및 전자 기기
CN112272130B (zh) 半导体测试机通信总线系统
JPH1083375A (ja) Scsiシステム
CN111552658B (zh) 一种通信方法、通信控制装置及i2c总线系统
CN105786736A (zh) 一种多芯片级联的方法、芯片和装置
CN110912836A (zh) 使转发设备转发数据的方法、控制设备、存储介质和系统
CN112749113A (zh) 一种数据交互的方法、系统、设备及介质
CN107748509B (zh) 基于单片机收发控制的asi通信从机实施方法
KR20000005301A (ko) 주국과 적어도 하나의 종국을 갖는 통신시스템
CN111948971A (zh) 一种智能卡管理装置及其数据转接方法
CN113051204A (zh) 串行背板总线通信方法及系统
CN113961500A (zh) 一种iic总线从控制器及其工作方法
CN103488601B (zh) 一种时钟延时、数据访问方法、系统及设备
CN113961496A (zh) 通信电路系统、方法、芯片以及存储介质
CN113722261A (zh) Spi扩展片选数目和增强读写响应时间灵活性的方法
CN112764385A (zh) 小型plc总线的实现系统及方法
CN116561041B (zh) 一种单总线通信系统及方法
CN210609213U (zh) 可配置化协议转换网关
CN212411050U (zh) 一种智能卡管理装置和智能卡系统

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
GR01 Patent grant
GR01 Patent grant