CN104050116A - 集成电路总线控制器及集成电路总线操作的处理方法 - Google Patents
集成电路总线控制器及集成电路总线操作的处理方法 Download PDFInfo
- Publication number
- CN104050116A CN104050116A CN201210580766.2A CN201210580766A CN104050116A CN 104050116 A CN104050116 A CN 104050116A CN 201210580766 A CN201210580766 A CN 201210580766A CN 104050116 A CN104050116 A CN 104050116A
- Authority
- CN
- China
- Prior art keywords
- cpu
- iic
- controller
- control operation
- control
- 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
Landscapes
- Programmable Controllers (AREA)
Abstract
本发明公开了一种集成电路总线控制器及集成电路总线操作的处理方法,IIC控制器中设置有控制存储器、写存储器和读存储器,可以接收并存储CPU的多个操作。当CPU中有操作产生时,就可以直接将该操作发送到本发明的控制器中的相应存储器中,并在存储器中进行保存,等待执行处理。因此,本发明可以使得CPU中的操作存储在控制器的存储器中,将要写入IIC外部设备的数据和从IIC外部设备中读取的数据也存储在控制器的存储器中。本发明可以使得多个操作无需在CPU中存储,从而避免了CPU可用存储空间变小、负载加重、运行速度降低的问题。
Description
技术领域
本发明涉及集成电路总线技术领域,特别是涉及集成电路总线控制器及集成电路总线操作的处理方法。
背景技术
集成电路总线(IIC,Inter-Integrated Circuit)是一种多主多从的总线,它可以连接多个作为主设备的CPU,同时连接多个作为从设备的其他外部设备,如:电源管理芯片、实时时钟芯片、触摸屏等。
IIC采用数据(SDA)和时钟(SCL)两根线通过IIC控制器来完成数据的传输及外部设备的扩展。如图1所示,IIC主设备001通过SDA和SCL连接IIC从设备002、003和004。SDA和SCL都是双向线路,分别通过上拉电阻R1和R2到电源电压VCC以保证当IIC总线空闲时,SDA和SCL为高电平。当有IIC操作到达时,IIC总线处于被占用状态,SDA和SCL为低电平。IIC主设备001包括CPU001a和IIC控制器001b。IIC总线在任何一个时刻,仅能被一个IIC操作占用。因此,当有多个IIC操作到达时,将导致这多个IIC操作对IIC总线的竞争。
现有技术下,CPU将等待处理的操作暂时存储在寄存器中。然而,大量操作在CPU中等待执行将使CPU的可用存储空间变小,导致CPU负载加重,进一步也使得CPU的运行速度受到影响。
发明内容
为解决上述技术问题,本发明实施例提供了集成电路总线控制器及集成电路总线操作的处理方法,以增大CPU的可用存储空间,减小CPU的负载,技术方案如下:
一种集成电路总线IIC控制器,与CPU和IIC外部设备相连接,包括:控制存储器、写存储器、读存储器、时钟生成器和数据收发单元,
其中,所述控制存储器分别与所述CPU和所述时钟生成器连接,存储所述CPU发出的控制操作,所述时钟生成器用于生成所述IIC控制器所需的时钟信号;
所述写存储器和所述CPU连接,存储所述CPU需写入所述IIC外部设备的数据;
所述读存储器和所述CPU连接,存储所述IIC外部设备返回的数据;
所述数据收发单元与所述写存储器、所述读存储器、所述控制存储器连接,根据所述控制存储器中的控制操作控制所述所述写存储器、所述读存储器与所述IIC外部设备之间的数据传输,并对所述IIC外部设备返回的数据进行串行数据到并行数据的转换,或对所述CPU写入所述IIC外部设备的数据进行并行数据到串行数据的转换。
优选的,还包括:仲裁器,所述控制存储器通过所述仲裁器与所述时钟生成器连接,所述控制存储器、所述读存储器和所述写存储器通过所述仲裁器与所述数据收发单元连接,所述仲裁器根据第一执行顺序选择所述控制存储器中的控制操作进行执行处理。
优选的,与所述控制器相连接的所述CPU为多个,一个控制存储器、一个写存储器和一个读存储器组成存储器组,每一个所述存储器组均与一个所述CPU相对应,并与所述CPU连接。
一种集成电路总线IIC操作的处理方法,应用于上述的控制器中,所述方法包括:
按照预设的第一执行顺序选取所述CPU所对应的控制存储器中的控制操作进行执行处理。
优选的,当所述CPU的数量为一个时,所述第一执行顺序为按照所述控制存储器中的控制操作的写入顺序选取控制存储器中的控制操作进行执行处理。
优选的,在所述控制器还包括仲裁器的情况下,当所述CPU的数量为一个时,所述第一执行顺序为按照所述控制存储器中的控制操作的优先级选取控制存储器中的控制操作进行执行处理。
优选的,在所述控制器还包括仲裁器的情况下,当所述CPU的数量为多个时,所述第一执行顺序为依次选取各CPU所对应的控制存储器中的一个控制操作进行执行处理。
优选的,在所述控制器还包括仲裁器的情况下,所述第一执行顺序为依次选取各CPU所对应的控制存储器为待执行存储器,对所述待执行存储器中的写入时间最早的一个控制操作进行执行处理。
优选的,在所述控制器还包括仲裁器的情况下,所述第一执行顺序为依次选取各CPU所对应的控制存储器为待执行存储器,对所述待执行存储器中的优先级最高的一个控制操作进行执行处理。
优选的,在所述控制器还包括仲裁器的情况下,当所述CPU的数量为多个时,所述第一执行顺序为按照所述多个CPU所对应的所述控制存储器中的全部控制操作的优先级选取全部控制操作中优先级最高的控制操作进行执行处理。
优选的,在所述控制器还包括仲裁器的情况下,当所述CPU的数量为多个时,所述第一执行顺序为按照所述多个CPU的优先级选取控制存储器为待执行存储器,选取所述待执行存储器中的控制操作进行执行处理。
优选的,在所述控制器还包括仲裁器的情况下,当CPU所对应的所述控制存储器中的控制操作的数量不低于第一阈值时,提高该CPU的优先级。
优选的,在所述控制器还包括仲裁器的情况下,当CPU所对应的所述控制存储器中的控制操作的数量低于第一阈值时,降低该CPU的优先级。
优选的,在所述控制器还包括仲裁器的情况下,当所述CPU的数量为多个时,所述第一执行顺序为按照所述多个CPU所对应的所述控制存储器中的控制操作的数量选取控制存储器为待执行存储器,选取所述待执行存储器中的控制操作进行执行处理。
本发明实施例提供的一种集成电路总线控制器及集成电路总线操作的处理方法中,IIC控制器中设置有控制存储器、写存储器和读存储器,可以接收并存储CPU的多个操作。当CPU中有操作产生时,就可以直接将该操作发送到本发明的控制器中的相应存储器中,并在存储器中进行保存,等待执行处理。因此,本发明可以使得CPU中的操作存储在控制器的存储器中,将要写入IIC外部设备的数据和从IIC外部设备中读取的数据也存储在控制器的存储器中。本发明可以使得多个操作无需在CPU中存储,从而避免了CPU可用存储空间变小、负载加重、运行速度降低的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中的IIC操作执行所需的系统构架;
图2为本发明实施例的一种集成电路总线IIC控制器的结构示意图;
图3为本发明实施例的另一种集成电路总线IIC控制器的结构示意图;
图4为本发明实施例的另一种集成电路总线IIC控制器的结构示意图;
图5为本发明实施例的一种集成电路总线IIC任务的处理顺序;
图6为本发明实施例的另一种集成电路总线IIC任务的处理顺序;
图7为本发明实施例的另一种集成电路总线IIC任务的处理顺序;
图8至图10为本发明实施例的另一种集成电路总线IIC任务的处理顺序;
图11至图13为本发明实施例的另一种集成电路总线IIC任务的处理顺序;
图14至图16为本发明实施例的另一种集成电路总线IIC任务的处理顺序;
图17至图19为本发明实施例的另一种集成电路总线IIC任务的处理顺序。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图2所示,本发明实施例提供的一种集成电路总线IIC控制器001,与CPU002和IIC外部设备003相连接,该控制器001可以包括:控制存储器100、写存储器200、读存储器300、时钟生成器400和数据收发单元500,
其中,所述控制存储器100分别与所述CPU002和所述时钟生成器400连接,存储所述CPU002发出的控制操作,所述时钟生成器400用于生成所述IIC控制器001所需的时钟信号;
所述写存储器200和所述CPU002连接,存储所述CPU002需写入IIC外部设备003的数据;
所述读存储器300和所述CPU002连接,存储所述IIC外部设备003返回的数据;
所述数据收发单元500与所述写存储器200、所述读存储器300、所述控制存储器100连接,根据所述控制存储器100中的控制操作控制所述所述写存储器200、所述读存储器300与所述IIC外部设备003之间的数据传输,并对所述IIC外部设备003返回的数据进行串行数据到并行数据的转换,或对所述CPU002写入IIC外部设备003的数据进行并行数据到串行数据的转换。
其中,所述时钟生成器400可以和时钟信号线SCL连接,所述数据收发单元500可以和所述数据信号线SDA连接。
可以理解的是,相比寄存器,存储器是一种存储容量很大的数据存储器件,使用存储器可以存储更多的操作。
可以理解的是,读存储器可以采用先入先出队列(FIFO,First Input FirstOutput)方式进行存储。先入先出队列是一种传统的按序执行方法,先写入的指令先完成并引退,然后才执行第二条指令。采用FIFO可以简化操作,CPU只需要直接从读存储器中读取数据即可,不需考虑从哪个地址读取。由于数据是按写入的时间顺序读出的,因此采用FIFO仅需要一个读地址即可操作。
写存储器用于存放CPU写入IIC外部设备的相关数据,这些相关数据可以包括:IIC外部设备地址、IIC寄存器地址和IIC数据。根据操作的类型的不同,写存储器中需要进行传输的数据的格式也有所区别,但每次数据传输都以包为单位,如表1至表3所示。
其中,具体的操作类型至少有复合读、顺序读和复合写三种。
表1为复合读的写数据包
写入序号 | 大小(字节) | 说明 |
1 | 4 | IIC从设备地址(写) |
2 | 4 | IIC从设备寄存器地址 |
3 | 4 | IIC从设备地址(读) |
表1
表2为顺序读的写数据包
写入序号 | 大小(字节) | 说明 |
1 | 4 | IIC从设备地址(写) |
表2
表3复合写的写数据包
表3
控制存储器用于存放IIC传输的数据长度、IIC的读写模式、传输优先级控制数据,每条控制信息的长度根据传输总长度和优先级的等级数进行设计,表4为优先级总数为8,每次传输数据最大为512字节的控制数据包格式。
表4
可以理解的是,设置控制存储器100、写存储器200和读存储器300这三个存储器来分别存储控制操作、所需写入IIC外部设备003的数据和从IIC外部设备003中读取的数据,可以使得这三种数据的存储和使用更有针对性,防止这三种数据之间出现干扰。
时钟生成器(Clk generation)可以生成IIC外部接口时钟信号SCL。
数据收发单元,用于实现外部数据和内部存储器数据之间的串行数据和并行数据的相互转换,并根据控制操作执行数据传输,如:将CPU发送过来的并行数据按比特串行发送到IIC总线上。
可以理解的是,时钟生成器和数据收发单元的作用及其使用方法是本领域技术人员所公知的技术,不再赘述。
本发明实施例提供的一种集成电路总线IIC控制器中设置有控制存储器、写存储器和读存储器,可以接收并存储CPU的多个操作。当CPU中有操作产生时,就可以直接将该操作发送到本发明的控制器中的相应存储器中,并在存储器中进行保存,等待执行处理。因此,本发明可以使得CPU中的操作存储在控制器的存储器中,将要写入IIC外部设备的数据和从IIC外部设备中读取的数据也存储在控制器的存储器中。本发明可以使得多个操作无需在CPU中存储,从而避免了CPU可用存储空间变小、负载加重、运行速度降低的问题。
如图3所示,本发明实施例提供的另一种集成电路总线IIC控制器001中,还可以包括:仲裁器600,所述控制存储器100通过所述仲裁器600与所述时钟生成器400连接,所述控制存储器100、所述读存储器300和所述写存储器200通过所述仲裁器600与所述数据收发单元500连接,所述仲裁器600根据第一执行顺序选择所述控制存储器100中的操作进行执行处理。
其中,控制存储器100中的操作的执行顺序可以为多种,如仲裁器600可以对控制存储器100中的操作进行优先级排序,并按照优先级的高低选择操作进行执行。
可以理解的是,当不存在仲裁器600时,IIC控制器001可以按照操作的写入顺序依次对控制存储器100中的操作进行处理。当IIC控制器001中存在仲裁器600时,仲裁器600可以使得控制存储器100中的控制操作按照更为复杂的执行顺序进行执行。
如图4所示,本发明实施例提供的另一种集成电路总线IIC控制器001中,与所述控制器001相连接的所述CPU002可以为多个,一个控制存储器100、一个写存储器200和一个读存储器300组成存储器组,每一个所述存储器组均与一个所述CPU002相对应,并与所述CPU002连接。
由于IIC是一种多主多从的总线,因此连接多个CPU是完全可行的。可以理解的是,图4所示实施例中每一个CPU均与一个控制存储器100、一个写存储器200和一个读存储器300连接,可以使得每一个CPU均有单独的存储器与之对应,从而不会出现各CPU操作之间的干扰。
本发明实施例还提供了一种集成电路总线IIC任务的处理方法,应用于图2至图4所示的IIC控制器中,所述方法可以包括:
按照预设的第一执行顺序选取所述CPU所对应的控制存储器中的控制操作进行执行处理。
可以理解的是,控制操作的执行顺序可以有多种,如按照控制操作写入的先后顺序执行,或按照优先级执行。当然,针对与IIC控制器连接的CPU数目的不同,控制操作的执行顺序也可以不同。其中,第一执行顺序可以是根据IIC系统的结构预先设置的。
请结合图2及图5,当所述CPU002的数量为一个时,所述第一执行顺序为按照所述控制存储器100中的控制操作的写入顺序选取控制存储器100中的控制操作进行执行处理。
假设控制存储器100中存储有四个控制操作:A、B、C和D。这四个操作的写入顺序为:A早于B,B早于C,C早于D。则这四个控制操作的执行顺序可以为S1到S4:首先执行A,然后执行B,然后执行C,然后执行D;也即:S1为A,S2为B,S3为C,S4为D,其中,S1、S2、S3和S4标识依次执行的控制操作。
请结合图3及图6,在所述控制器还包括仲裁器600的情况下,当所述CPU002的数量为一个时,所述第一执行顺序为按照所述控制存储器100中的控制操作的优先级选取控制存储器100中的控制操作进行执行处理。
可以理解的是,按照预设的第一执行顺序选取所述CPU所对应的控制存储器中的控制操作进行执行处理的步骤可以由仲裁器600执行。
如图6所示,控制存储器100中存储有四个控制操作:A、B、C和D。这四个控制操作的优先级分别为图6中括号内的数字,也即:A的优先级为4,B的优先级为1,C的优先级为3,D的优先级为2。在本申请中,优先级的高低可以为:1>2>3>4。则按照优先级执行这四个控制操作的顺序为:B、D、C、A。也即:S1为B,S2为D,S3为C,S4为A。
当然,如果在同一个控制存储器100中存储的控制操作中有多个控制操作的优先级相同时,可以按照优先级相同的这多个控制操作的写入选择这多个控制操作进行处理。
如图7所示,A的优先级为3,B的优先级为1,C的优先级为3,D的优先级为2。则这四个控制操作的执行顺序为:B、D、A、C,也即:S1为B,S2为D,S3为A,S4为C。可以看出,由于A的优先级和C的优先级相同,因此可以按照写入顺序首先执行A,然后再执行C。
请结合图4、图8、图9和图10,在所述控制器还包括仲裁器600的情况下,当所述CPU002的数量为多个时,所述第一执行顺序为依次选取各CPU002所对应的控制存储器100中的一个控制操作进行执行处理。
具体的,所述第一执行顺序可以为依次选取各CPU所对应的控制存储器为待执行存储器,对所述待执行存储器中的写入时间最早的一个控制操作进行执行处理;所述第一执行顺序也可以为依次选取各CPU所对应的控制存储器为待执行存储器,对所述待执行存储器中的优先级最高的一个控制操作进行执行处理。
如图8至图10所示,假设CPU002的数量为三个,分别为CPU1、CPU2和CPU3。其中,CPU1所对应的控制存储器中存储有两个控制操作:A和B,A和B的优先级均为1。CPU2所对应的控制存储器中存有三个控制操作:C、D和E,C的优先级为3,D的优先级为2,E的优先级为3。CPU3所对应的控制存储器中存在两个控制操作:F和G,F的优先级为1,G的优先级为3。
那么,依次选取CPU1、CPU2和CPU3所对应的控制存储器100为待执行存储器,并对待执行存储器中的一个控制操作进行执行处理的方法可以有多种,如:依次选取CPU1、CPU2和CPU3所对应的控制存储器100中优先级最高的一个控制操作进行执行处理。
如图8至图10所示,首先选取CPU1所对应的控制存储器100中的一个优先级最高的控制操作进行执行,由于CPU1所对应的控制存储器100中的控制操作A和控制操作B的优先级相等,因此选取A或B均可。优选的,当CPU所对应的控制存储器100中存在至少两个相同优先级的控制操作时,优先选择该至少两个相同优先级的控制操作中首先写入的控制操作进行执行。对于CPU1所对应的控制存储器100中,可以首先选择控制操作A执行,因此S1为A。
在选择CPU1所对应的控制存储器100中的一个控制操作进行执行后,可以选择CPU2所对应的控制存储器100中的一个控制操作进行执行,然后再选择CPU3所对应的控制存储器100中的一个控制操作执行,然后再选择CPU1所对应的控制存储器100中的一个控制操作执行,依次循环。
可以理解的是,CPU2所对应的控制存储器100中的控制操作D的优先级在CPU2所对应的控制存储器100中的三个控制操作中最高,因此S2为D。CPU3所对应的控制存储器100中的F优先级最高,因此S3为F。依照上述执行顺序,可以得到:S4为B,S5为C,S6为G,S7为E。可以理解的是,当某CPU所对应的控制存储器中不再存在控制操作时,可以跳过该CPU所对应的控制存储器100,直接执行下一CPU所对应的控制存储器100中的控制操作。
当然,以上执行顺序仅仅是多个执行顺序中的一种。
请结合图4、图11、图12和图13,在所述控制器还包括仲裁器600的情况下,当所述CPU的数量为多个时,所述第一执行顺序可以为按照所述多个CPU所对应的所述控制存储器中的全部控制操作的优先级选取全部控制操作中优先级最高的控制操作进行执行处理。
可以看出,图11中的控制操作数量及控制操作优先级与图8相同,图12中的控制操作数量及控制操作优先级与图9相同,图13中的控制操作数量及控制操作优先级与图10相同。
在三个CPU所对应的控制存储器所保存的多个控制操作中,CPU1所对应的控制存储器100和CPU3所对应的控制存储器100中均包括有优先级最高的控制操作,可以选择CPU1所对应的控制存储器100中优先级最高的控制操作或选择CPU3所对应的控制存储器100中优先级最高的控制操作进行执行。优选的,首先选择CPU1所对应的控制存储器100中的一个优先级最高的控制操作进行执行,因此S1为A。然后选择CPU3所对应的控制存储器100中优先级最高的控制操作进行执行,因此S2为F。然后再次选择CPU1所对应的控制存储器100中优先级最高的控制操作进行执行,因此S3为B。
在优先级为1的三个控制操作执行完毕后,优先级最高为2。那么选择优先级为2的控制操作进行执行,为CPU2所对应的控制存储器100中的控制操作D,因此S4为D。
剩余控制操作中,优先级相同,且均为3,因此,可以随意选择剩余的控制操作进行执行,如:依次选择每个CPU所对应的控制存储器100中的一个控制操作进行执行。
因此,S5为G,S6为3,S7为E。
请结合图4、图14、图15和图16,在所述控制器还包括仲裁器600的情况下,当所述CPU的数量为多个时,所述第一执行顺序为按照所述多个CPU所对应的所述控制存储器中的控制操作的数量选取控制存储器为待执行存储器,选取所述待执行存储器中的控制操作进行执行处理。
假设CPU002的数量为三个,分别为CPU1、CPU2和CPU3。其中,CPU1的控制存储器中存储有一个控制操作:A,A的优先级为1。CPU2的控制存储器中存有三个控制操作:B、C和D,B的优先级为3,C的优先级为2,D的优先级为3。CPU3的控制存储器中存在三个控制操作:E、F和G,E的优先级为1,F的优先级为3,G的优先级为3。
那么,可以看出,CPU2和CPU3所对应的控制存储器中的存储的控制操作数量较多,可以选取CPU2和CPU3为待执行存储器,首先处理CPU2和CPU3所对应的控制存储器中的控制操作。优选的,可以首先执行CPU2和CPU3中优先级较高的控制操作。因此S1为C,S2为E,S3为B,S4为B。可以理解的是,在选择控制操作B进行执行后,CPU1、CPU2、CPU3所对应的控制存储器中存储的控制操作的数量相同,均为一个控制操作。在多个CPU所对应的控制存储器中存储的控制操作数量相同的情况下,可以随意选择多个CPU中的控制操作进行执行。如:按照优先级进行执行,或按照CPU的排列顺序进行选择。因此,S5为A,S6为D,S7为G。
请结合图4、图17、图18和图19,在所述控制器还包括仲裁器600的情况下,当所述CPU的数量为多个时,所述第一执行顺序可以为按照所述多个CPU的优先级选取控制存储器为待执行存储器,选取所述待执行存储器中的控制操作进行执行处理。
图17中CPU1的优先级为1,图18中CPU2的优先级为2,图19中CPU3的优先级为3,其中,优先级顺序为1>2>3。
那么,按照CPU的优先级执行的顺序为:首先选取CPU1所对应的控制存储器为待执行存储器,执行CPU1所对应的控制存储器中的所有控制操作,然后选取CPU2所对应的控制存储器为待执行存储器,执行CPU2所对应的控制存储器中所有控制操作,最后选取CPU3所对应的控制存储器为待执行存储器,执行CPU3所对应的控制存储器中所有控制操作。
在执行各CPU所对应的控制存储器中的所有控制操作时,可以按照控制操作的写入顺序或控制操作优先级顺序进行执行,本发明在此不做限定。
可以理解的是,按照CPU的优先级执行控制操作可以保证具有更高优先级的CPU所对应的控制存储器中的控制操作首先得到执行。
当然,这种方法也导致了优先级较低的CPU所对应的控制存储器中的控制操作的等待时间过长,出于这种考虑,当CPU所对应的所述控制存储器中的控制操作的数量不低于第一阈值时,可以提高该CPU的优先级。相应的,当CPU所对应的所述控制存储器中的控制操作的数量低于第一阈值时,降低该CPU的优先级。
设第一阈值为2,如图18和图19所示,CPU2所对应的控制存储器和CPU3所对应的控制存储器中的控制操作个数为3个,均大于第一阈值。那么相应提高CPU2的优先级,将CPU2的优先级提高为1,同样,CPU3中的优先级提高为2。这样,就避免了优先级较低的CPU所对应的控制存储器中的控制操作等待时间过长。当然,每次对CPU优先级提高和降低的等级可以根据实际需要进行设定和修改,本发明在此不作限定。
可以理解的是,一个任务可以包括多个控制操作,一种任务中也可以包括有多种类型的控制操作。本申请的一种集成电路总线IIC任务的处理方法可以依次处理不同任务的部分控制操作,相比于现有技术中执行完一个任务的所有控制操作后再执行另一个任务的所有控制操作的方案,可以保证多个任务被及时执行,防止部分任务等待执行的时间过长。
通过以上的方法实施例的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (14)
1.一种集成电路总线IIC控制器,与CPU和IIC外部设备相连接,其特征在于,包括:控制存储器、写存储器、读存储器、时钟生成器和数据收发单元,
其中,所述控制存储器分别与所述CPU和所述时钟生成器连接,存储所述CPU发出的控制操作,所述时钟生成器用于生成所述IIC控制器所需的时钟信号;
所述写存储器和所述CPU连接,存储所述CPU需写入所述IIC外部设备的数据;
所述读存储器和所述CPU连接,存储所述IIC外部设备返回的数据;
所述数据收发单元与所述写存储器、所述读存储器、所述控制存储器连接,根据所述控制存储器中的控制操作控制所述所述写存储器、所述读存储器与所述IIC外部设备之间的数据传输,并对所述IIC外部设备返回的数据进行串行数据到并行数据的转换,对所述CPU写入所述IIC外部设备的数据进行并行数据到串行数据的转换。
2.根据权利要求1所述的控制器,其特征在于,还包括:仲裁器,所述控制存储器通过所述仲裁器与所述时钟生成器连接,所述控制存储器、所述读存储器和所述写存储器通过所述仲裁器与所述数据收发单元连接,所述仲裁器根据第一执行顺序选择所述控制存储器中的控制操作进行执行处理。
3.根据权利要求1或2所述的控制器,其特征在于,与所述控制器相连接的所述CPU为多个,一个控制存储器、一个写存储器和一个读存储器组成存储器组,每一个所述存储器组均与一个所述CPU相对应,并与所述CPU连接。
4.一种集成电路总线IIC操作的处理方法,其特征在于,应用于权利要求1至3所述的控制器中,所述方法包括:
按照预设的第一执行顺序选取所述CPU所对应的控制存储器中的控制操作进行执行处理。
5.根据权利要求4所述的方法,其特征在于,当所述CPU的数量为一个时,所述第一执行顺序为按照所述控制存储器中的控制操作的写入顺序选取控制存储器中的控制操作进行执行处理。
6.根据权利要求4所述的方法,其特征在于,在所述控制器还包括仲裁器的情况下,当所述CPU的数量为一个时,所述第一执行顺序为按照所述控制存储器中的控制操作的优先级选取控制存储器中的控制操作进行执行处理。
7.根据权利要求4所述的方法,其特征在于,在所述控制器还包括仲裁器的情况下,当所述CPU的数量为多个时,所述第一执行顺序为依次选取各CPU所对应的控制存储器中的一个控制操作进行执行处理。
8.根据权利要求7所述的方法,其特征在于,在所述控制器还包括仲裁器的情况下,所述第一执行顺序为依次选取各CPU所对应的控制存储器为待执行存储器,对所述待执行存储器中的写入时间最早的一个控制操作进行执行处理。
9.根据权利要求7所述的方法,其特征在于,在所述控制器还包括仲裁器的情况下,所述第一执行顺序为依次选取各CPU所对应的控制存储器为待执行存储器,对所述待执行存储器中的优先级最高的一个控制操作进行执行处理。
10.根据权利要求4所述的方法,其特征在于,在所述控制器还包括仲裁器的情况下,当所述CPU的数量为多个时,所述第一执行顺序为按照所述多个CPU所对应的所述控制存储器中的全部控制操作的优先级选取全部控制操作中优先级最高的控制操作进行执行处理。
11.根据权利要求4所述的方法,其特征在于,在所述控制器还包括仲裁器的情况下,当所述CPU的数量为多个时,所述第一执行顺序为按照所述多个CPU的优先级选取控制存储器为待执行存储器,选取所述待执行存储器中的控制操作进行执行处理。
12.根据权利要求11所述的方法,其特征在于,在所述控制器还包括仲裁器的情况下,当CPU所对应的所述控制存储器中的控制操作的数量不低于第一阈值时,提高该CPU的优先级。
13.根据权利要求11或12所述的方法,其特征在于,在所述控制器还包括仲裁器的情况下,当CPU所对应的所述控制存储器中的控制操作的数量低于第一阈值时,降低该CPU的优先级。
14.根据权利要求4所述的方法,其特征在于,在所述控制器还包括仲裁器的情况下,当所述CPU的数量为多个时,所述第一执行顺序为按照所述多个CPU所对应的所述控制存储器中的控制操作的数量选取控制存储器为待执行存储器,选取待执行存储器中的控制操作进行执行处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210580766.2A CN104050116A (zh) | 2012-12-27 | 2012-12-27 | 集成电路总线控制器及集成电路总线操作的处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210580766.2A CN104050116A (zh) | 2012-12-27 | 2012-12-27 | 集成电路总线控制器及集成电路总线操作的处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104050116A true CN104050116A (zh) | 2014-09-17 |
Family
ID=51502991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210580766.2A Pending CN104050116A (zh) | 2012-12-27 | 2012-12-27 | 集成电路总线控制器及集成电路总线操作的处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104050116A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105975412A (zh) * | 2016-05-13 | 2016-09-28 | Tcl移动通信科技(宁波)有限公司 | 一种基于iic总线的设备优先级控制方法、装置及系统 |
CN107168897A (zh) * | 2017-04-18 | 2017-09-15 | 深圳市有芯半导体技术有限公司 | 一种实现i2c重复读写控制的装置 |
-
2012
- 2012-12-27 CN CN201210580766.2A patent/CN104050116A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105975412A (zh) * | 2016-05-13 | 2016-09-28 | Tcl移动通信科技(宁波)有限公司 | 一种基于iic总线的设备优先级控制方法、装置及系统 |
CN107168897A (zh) * | 2017-04-18 | 2017-09-15 | 深圳市有芯半导体技术有限公司 | 一种实现i2c重复读写控制的装置 |
CN107168897B (zh) * | 2017-04-18 | 2019-12-13 | 深圳市有芯半导体技术有限公司 | 一种实现i2c重复读写控制的装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11042297B2 (en) | Techniques to configure a solid state drive to operate in a storage mode or a memory mode | |
US9043541B2 (en) | Storage control device, storage device, and control method for controlling storage control device | |
CN102428451B (zh) | 用于数据存储装置的命令及中断分组 | |
CN103677665B (zh) | 嵌入式多媒体卡、控制其的主机及操作其系统的方法 | |
CN105867840B (zh) | 闪存组件及非易失性半导体存储器组件 | |
CN101957726A (zh) | 双列直插式存储模块中的相变存储器 | |
CN103064795B (zh) | 一种存储设备的控制方法及相关装置 | |
CN103019810A (zh) | 具有不同执行优先级的计算任务的调度和管理 | |
CN102063943A (zh) | Nand闪存参数自动检测系统 | |
CN102187323A (zh) | 多核存储器模块中的功率下降模式的动态利用 | |
JP5309703B2 (ja) | 共有メモリの制御回路、制御方法及び制御プログラム | |
US9304952B2 (en) | Memory control device, storage device, and memory control method | |
US9569381B2 (en) | Scheduler for memory | |
CN109859780B (zh) | 半导体存储器 | |
CN108156823A (zh) | 一种闪存介质的访问方法及控制器 | |
CN104991737B (zh) | 一种基于存储卡阵列架构的硬盘实现方法 | |
CN102053914A (zh) | 记忆装置以及存储器的数据存取方法 | |
CN109901785B (zh) | 命令排序方法、降低读时延方法及固态硬盘ssd控制器 | |
CN101930407B (zh) | 闪速存储器控制电路及其存储系统与数据传输方法 | |
CN107870866A (zh) | Io命令调度方法与nvm接口控制器 | |
CN104050116A (zh) | 集成电路总线控制器及集成电路总线操作的处理方法 | |
CN103019624A (zh) | 一种相变内存装置 | |
CN103365783A (zh) | 存储控制装置、存储装置、信息处理系统和处理方法 | |
CN206178765U (zh) | Ssd单元及ssd设备 | |
CN106293491A (zh) | 写请求的处理方法和内存控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20170302 Address after: 401336 Chongqing Nan'an District Tea Garden Road, No. 8, software Incubation Park, building 1 Applicant after: Keen (Chongqing) Microelectronics Technology Co., Ltd. Address before: 400065 Chongqing Nan'an District huangjuezhen pass Fort Park No. 1 Applicant before: Chongqing City Communication & Technology Co., Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140917 |