CN103814363B - 从装置、主装置及通信方法 - Google Patents
从装置、主装置及通信方法 Download PDFInfo
- Publication number
- CN103814363B CN103814363B CN201280045774.5A CN201280045774A CN103814363B CN 103814363 B CN103814363 B CN 103814363B CN 201280045774 A CN201280045774 A CN 201280045774A CN 103814363 B CN103814363 B CN 103814363B
- Authority
- CN
- China
- Prior art keywords
- time
- parameter
- value
- order
- case
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Information Transfer Systems (AREA)
- Communication Control (AREA)
- Bus Control (AREA)
- Maintenance And Management Of Digital Transmission (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
从装置(130)具有:参数设定部(133),其按照从主装置发送的每个命令的内容,设定不同的值作为用于检测异常的参数的值;以及异常检测部(134),其通过对与由参数设定部(133)设定的参数的值对应的时间、和在根据命令进行的处理中计测出的时间进行比较来检测异常。
Description
技术领域
本发明涉及依照IIC(Inter Integrated Circuit:集成电路总线)协议进行通信的从装置、主装置以及通信方法。
背景技术
一直以来,采用了使用IIC协议的通信方式,即用被称作SCL的串行时钟线和被称作SDA的串行数据线这两条信号线进行电子设备内的器件彼此的通信。在IIC通信中,从装置在命令处理中将SCL的信号固定为低电平,作为忙状态,从而能够保留向主装置的数据发送。
但是,在从装置无法正常接收从主装置发送的SCL的信号和SDA的信号的情况下,从装置有时将SCL的信号固定为低电平。针对于此,在专利文献1中记载了由用于通知产生了异常的通知线连接主装置与从装置之间的通信系统。在专利文献1所记载的通信系统中,在由对IIC通信中产生的异常进行检测的检测手段检测到异常的情况下,一方的器件经由该通知线向另一方的器件通知异常的产生。
现有技术文献
专利文献
专利文献1:日本特开2011-70282号公报
发明内容
发明所要解决的课题
在专利文献1所记载的通信系统中,在SCL的信号在规定时间以上维持规定电平的情况下,检测为异常的产生。但是,在从装置中,将SCL的信号维持在低电平的时间根据从主装置接收到的命令的内容而不同,因此根据命令的内容,有时会错误检测为异常的产生,从而在正常动作中进行器件的复原处理。
因此,本发明的目的在于防止错误检测为异常产生。
用于解决课题的手段
本发明的一个方式的从装置是依照IIC协议在从模式下进行动作的从装置,其特征在于,具有:参数设定部,其针对从主装置发送的每个命令的内容,设定不同的值,作为用于检测异常的参数的值,其中该主装置依照所述IIC协议在主模式下进行动作;以及异常检测部,其通过对与所述参数设定部设定的参数的值对应的时间、和在根据所述命令进行的处理中计测出的时间进行比较来检测异常。
此外,本发明的一个方式的主装置是依照IIC协议在主模式下进行动作的主装置,其特征在于,具有:参数设定部,其针对发送给从装置的每个命令的内容,设定不同的值,作为用于检测异常的参数的值,其中该从装置依照所述IIC协议在从模式下进行动作;以及异常检测部,其通过对与所述参数设定部设定的参数的值对应的时间、和在根据所述命令进行的处理中计测出的时间进行比较来检测异常。
并且,本发明的一个方式的通信方法是依照IIC协议在从模式下进行动作的从装置执行的通信方法,其特征在于,具有:参数设定步骤,针对从主装置发送的每个命令的内容,设定不同的值,作为用于检测异常的参数的值,其中该主装置依照所述IIC协议在主模式下进行动作;以及异常检测步骤,通过对由所述参数设定步骤设定的参数的值对应的时间、和在根据所述命令进行的处理中计测出的时间进行比较来检测异常。
而且,本发明的一个方式的通信方法是依照IIC协议在主模式下进行动作的主装置执行的通信方法,其特征在于,具有:参数设定步骤,针对发送给从装置的每个命令的内容,设定不同的值,作为用于检测异常的参数的值,其中该从装置依照所述IIC协议在从模式下进行动作;以及异常检测步骤,通过对与由所述参数设定步骤设定的参数的值对应的时间、和在根据所述命令进行的处理中计测出的时间进行比较来检测异常。
发明效果
根据本发明的一个方式,能够防止对异常的误检测。
附图说明
图1是示出实施方式1~4的通信系统的结构的概略图。
图2是概略地示出实施方式1中的主装置的结构的框图。
图3是概略地示出实施方式1中的从装置的结构的框图。
图4是概略地示出实施方式1中的命令保持部的结构的框图。
图5是概略地示出实施方式1和3中的异常检测部的结构的框图。
图6是示出在实施方式1中主装置发出读的命令而取得数据时的序列的概略图。
图7是示出在实施方式1中主装置发出写的命令而送出数据时的序列的概略图。
图8是示出实施方式1的从装置中的处理的流程图。
图9是概略地示出实施方式2中的从装置的结构的框图。
图10是概略地示出实施方式2和4中的异常检测部的结构的框图。
图11是示出实施方式2的从装置中的处理的流程图。
图12是概略地示出实施方式3中的主装置的结构的框图。
图13是示出实施方式3的主装置中的处理的流程图。
图14是概略地示出实施方式4中的主装置的结构的框图。
图15是示出实施方式4的主装置中的处理的流程图。
具体实施方式
实施方式1.
图1是示出实施方式1的通信系统100的结构的概略图。通信系统100具有主装置110和从装置130。另外,图1的括号内的标号表示实施方式2~4中的结构。
主装置110是以主模式(master mode)进行动作的通信装置。此外,从装置130是以从模式(slave mode)进行动作的通信装置。主装置110与从装置130由作为串行数据线的SDA和作为串行时钟线的SCL相互连接,按照IIC协议进行通信。在图1中,从装置130仅示出了1个,但也可以是多个。
图2是概略地示出主装置110的结构的框图。主装置110具有控制部111和接口部(以下称作I/F部)112。
控制部111对依照IIC协议进行的通信进行控制。例如,控制部111进行处理,即使得经由I/F部112发送被称作开始条件的唯一状态、进行通信的从装置130的从地址、和表示使该从装置130进行的处理的内容的命令,并根据由该命令示出的内容进行所需的处理。另外,控制部111在与从装置130进行通信时,经由I/F部112改变SCL中的时钟信号。
此外,控制部111在依照IIC协议与从装置130进行通信的过程中从装置130进行了通信的初始化(重置)的情况下,进行重新开始初始化后的通信的处理。
I/F部112根据来自控制部111的控制,经由SDA和SCL执行通信。
图3是概略地示出从装置130的结构的框图。从装置130具有控制部131、命令保持部132、参数设定部133、异常检测部134、时钟生成部135、初始化部136、I/F部137和运算处理部138。
控制部131控制依照IIC协议进行的通信。
此外,控制部131在从初始化部136接收到重置信号时,对通信处理进行初始化(重置),并再次转移到等待来自主装置110的命令的状态。
并且,控制部131将与来自主装置110的命令内容相应的参数的值通知给参数设定部133。例如,控制部131根据与运算处理部138之间的通信量、和运算处理部138中的运算负荷等,将“读”或“写”中的最佳值通知给参数设定部133。例如,在控制部131与运算处理部138之间进行通信的数据量较多、且它们之间的通信延迟的情况下,控制部131将延迟量越大其值越大(成为越长的时间)的参数通知给参数设定部133。例如,在运算处理部138中的运算处理负荷变高的情况下,控制部131将负荷越高其值越大的参数通知给参数设定部133。控制部131可以考虑这两方来确定参数的值。
命令保持部132保持信息,该信息表示从主装置110发送并经由I/F部137接收到的命令的内容。例如,在IIC通信的情况下,在表示从地址的位之后存在表示命令内容的位,因此命令保持部132保持表示该命令内容的位的值。此处,在IIC通信的情况下,当表示该命令内容的位的值为“0”时,主装置110指示了“写”,当该位的值为“1”时,主装置110指示了“读”。
图4是概略地示出命令保持部132的结构的框图。命令保持部132具有开始条件识别部132a、内部计数器132b和寄存器132c。
开始条件识别部132a在主装置110发送的且由I/F部137接收到的数据中检测开始条件。
内部计数器132b在开始条件识别部132a检测到开始条件时,确定表示从该开始条件起配置于规定的位数后的命令的内容的位,并将该位的值存储到寄存器132c中。例如在从地址是7位的情况下,内部计数器132b通过对SCL的时钟数进行计数,确定从开始条件起8个时钟后到来的命令内容位。另外,内部计数器132b在对寄存器132c的值进行了更新时,向参数设定部133输出使能信号。
寄存器132c对从内部计数器132b送来的位的值(命令内容位的值)进行存储。
返回图3的说明,参数设定部133根据表示命令保持部132所保持的命令内容的信息,对用于检测通信异常的参数的值进行变更。如图4所示,参数设定部133在从命令保持部132接收到了使能信号时,对异常检测部134设定参数的值。另外,在本实施方式中,用于检测通信异常的参数的值是与SCL的时钟信号维持低电平的时间对应的阈值。该阈值例如可设为与SCL的时钟信号维持低电平的最大时间对应的值。此处,由于命令保持部132所保持的命令内容是“读”或“写”,因此参数设定部133在命令保持部132所保持的命令内容是“读”的情况、和命令内容是“写”的情况下,使该参数的值不同。所设定的参数的值优选可适当变更,从控制部131进行通知。
异常检测部134在根据命令进行的处理中计测时间。例如异常检测部134对SCL的时钟信号被固定为低电平的时间进行计测。异常检测部134进行计测出的时间、和与由参数设定部133设定的参数的值对应的最大时间的比较。并且,异常检测部134在该计测出的时间超过了最大时间的情况下,判定为通信异常,并将通信异常通知给初始化部136。
图5是概略地示出异常检测部134的结构的框图。异常检测部134具有内部计数器134a和比较部134b。另外,图5的括号内的标号是实施方式3的主装置中的结构。
内部计数器134a以相比SCL频率高至2倍以上的专用时钟锁存SCL的状态,对SCL的时钟信号变为低电平的时间进行计数。另外,由参数设定部133设定的表示最大时间的参数的值成为在以作为内部计数器134a的动作时钟的专用时钟对该最大时间进行了计数的情况下的计数值。
比较部134b在内部计数器134a中的计数值超过了参数设定部133所设定的参数的值时,将用于通知通信异常的通信异常信号提供给初始化部136。
返回图3的说明,时钟生成部135生成异常检测部134进行计数所需的专用时钟。并且,时钟生成部135将该专用时钟提供给异常检测部134。
初始化部136在从异常检测部134被提供了通信异常信号时,将重置信号输出到控制部131。
接着,对以上所记载的通信系统100的动作进行说明。
图6是示出通过IIC通信主装置110发出读的命令而取得数据时的序列的概略图。另外,在图6中将从装置130的地址宽度设为了7位。
在IIC通信中,主装置110的控制部111经由I/F部112生成被称作开始条件的唯一的状态(S1),之后,接着将进行通信的从装置的地址、和表示“读”的命令内容的位发送到从装置130(S2、S3)。
在从装置130中,控制部131经由I/F部137识别开始条件,并判定从主装置110发送的从地址是否与自身的地址匹配。在其结果是匹配的情况下,控制部131与SCL的时钟信号同步地,经由I/F部137将ACK信号发送到主装置110(S4)。然后,控制部131进行与运算处理部138之间的通信,并将使用运算处理部138进行复杂的运算处理后的结果发送到主装置110(S5)。此处,控制部131从发送ACK信号起(S4),到运算处理部138的运算处理结束、运算结果的准备完成之前,作为忙状态将SCL的时钟信号强制地固定为低电平。由此,从装置130能够在SCL的时钟信号为低电平的期间停止数据的发送。之后,控制部131在已准备好读数据时,经由I/F部137解除SCL的忙状态,而进行读数据的发送(S5)。
在接收到读数据后,在主装置110中,控制部111经由I/F部112向从装置130回送ACK信号(S6)。于是,在从装置130中,控制部131经由I/F部137进行读数据的发送(S7)。与此相对,在主装置110中,控制部111经由I/F部112向从装置130回送ACK信号(S8)。
图7是示出通过IIC通信主装置110发出写的命令而送出数据时的序列的概略图。
主装置110的控制部111经由I/F部112生成开始条件(S10),之后,接着将进行通信的从装置的地址、和表示“写”的命令内容的位发送到从装置130(S11、S12)。
在从装置130中,控制部131经由I/F部137识别开始条件,并判定从主装置110发送的从地址是否与自身的地址匹配。在其结果是匹配的情况下,控制部131与SCL的时钟信号同步地,经由I/F部137将ACK信号发送到主装置110(S13)。在发送了ACK信号后,在用于进行下一数据的接收准备例如将未图示的接收缓冲器内的数据写入到RAM等存储器的期间内等,控制部131将SCL的时钟信号强制地固定为低电平。主装置110在SCL的时钟信号为低电平的期间内停止数据的发送。
在接收到ACK信号后,在主装置110中,控制部111经由I/F部112,与SCL的时钟信号的上升沿同步地将写数据发送到从装置130(S14)。
然后,在接收到写数据的从装置130中,控制部131经由I/F部137进行ACK信号的回送(S15)。此外,控制部131为了接收准备等将SCL的时钟信号固定为低电平,在接收准备等完成后,解除将SCL的时钟信号固定为低电平。与此相对,在主装置110中,控制部111经由I/F部112向从装置130发送写数据(S16)。从装置130经由I/F部137回送ACK信号(S17)。
图8是示出从装置130中的处理的流程图。
首先,从装置130的控制部131经由I/F部137识别开始条件,并接收从主装置110发送的从地址和命令(S20)。
控制部131在接收到的从地址与自身地址匹配的情况下,与SCL的时钟信号同步地,经由I/F部137将ACK信号发送到主装置110(S21)。
此外,在图4所示的命令保持部132的开始条件识别部132a识别到主装置110所生成的开始条件时,内部计数器132b通过对SCL的时钟数进行计数,来确定从开始条件起8个时钟后到来的命令内容位。然后,内部计数器132b将所确定的位的值保持到寄存器132c中(S23)。在读的情况下,命令内容位的值是“1”,在写的情况下,命令内容位的值是“0”。并且,内部计数器132b在对命令保持部132内的寄存器132c的值进行了更新时,向参数设定部133输出使能信号。
参数设定部133通过来自命令保持部132的使能信号,参照寄存器132c所保持的命令内容位。并且,参数设定部133根据所参照的位内容(此处为“读”或“写”),对异常检测部134设定用于判定通信异常的、与SCL的时钟信号维持低电平的最大时间对应的参数的值(S23)。此处,在命令内容位的值是“1”的情况下,参数设定部133在处理读数据时,对异常检测部134设定与SCL的时钟信号保持低电平的最大时间对应的参数的值。该参数的值最适于“读”时。另一方面,在命令内容位的值是“0”的情况下,参数设定部133在处理写数据时,对异常检测部134设定与SCL的时钟信号保持低电平的最大时间对应的参数的值。该参数的值最适于“写”时。
接着,在图5所示的异常检测部134中,以相比SCL的时钟信号频率高至2倍以上的专用时钟对SCL的时钟信号的状态进行锁存,由内部计数器134a对变为了低电平的时间进行计数。并且,比较部134b确认由内部计数器134a所计数的计数值是否超过了由参数设定部133设定的、与SCL的时钟信号保持低电平的最大时间对应的参数的值(S24)。例如在图6所示的读的例子中,控制部131在经由I/F部137发送了ACK信号(S4)后,将SCL的时钟信号强制设为低电平。此外,在图7所示的写的例子中,控制部131在经由I/F部137发送了ACK信号(S13、S15、S17)后,将SCL的时钟信号强制设为低电平。并且,比较部134b在计数值超过了参数的值的情况下(S24:是),进入步骤S25的处理,在计数值未超过参数的值的情况下(S24:否),进入步骤S26的处理。
在步骤S25中,比较部134b判断为通信异常,并将通信异常信号输出到初始化部136。初始化部136在确证(assert)到来自异常检测部134的通信异常信号时,输出对控制部131进行初始化的重置信号。
此处,在从主装置110发送了读的命令的情况下,当通过从初始化部136输出的重置信号对从装置130的通信进行了初始化时,解除忙状态,SCL变得有效。该情况下,从装置130的控制部131变为了初始状态,因此不进行经由I/F部137向SDA发送读数据的处理。SDA在外部被上拉(pull up),因此输入到主装置110的读数据为“0xFF”。
通过在主装置110与从装置130之间规定为不在通常的通信中收发“0xFF”的数据,主装置110在被连续输入了“0xFF”的读数据的情况下,识别为在从装置130中通信进行了初始化,再次生成开始条件,输出从地址和命令的内容,并重新开始与从装置130的通信。
另外,作为识别为在从装置130中通信进行了初始化的“0xFF”的读数据的连续输入次数在主装置110具备的未图示的内部寄存器中进行设定。并且,例如主装置110的控制部111比较该内部寄存器的值、和对成为“0xFF”的读数据的连续输入次数进行增计数的计数器的值,判断是否在从装置130中通信进行了初始化。
此外,在从主装置110发送了写的命令的情况下,当通过从初始化部136输出的重置信号对从装置130的通信进行了初始化时,控制部131变为了初始状态,因此即使从主装置110发送写数据,也无法回送ACK信号。因此,在规定的时间内未由从装置130返回ACK信号的情况下,主装置110识别为在从装置130中通信进行了初始化,再次生成开始条件,输出从地址和命令的内容,并重新开始与从装置130的通信。
另一方面,在步骤S26中,控制部131继续与主装置110的通信处理。
然后,控制部131经由I/F部137确认是否识别到了主装置110生成的停止条件(S27)。并且,控制部131在识别到了停止条件的情况下(S27:是),结束流程,在未识别到停止条件的情况下(S27:否),返回步骤S24的处理。
如上所述,在命令内容为读的情况和写的情况下,从装置130内的处理内容不同,依照该情况,控制部131将SCL的时钟信号强制地固定到低电平的时间也不同。一般在读的情况下,与写的情况相比,处理比较耗时间。例如是因为在读的情况下,存在为了准备读数据,而需要控制部131与运算处理部138之间的通信时间的情况、需要运算处理部138中的运算处理的情况、以及需要控制部131中的运算处理的情况等。因此,在读的情况下,控制部131将SCL的时钟信号维持在低电平的时间比写的情况长。
因此,当读和写中用于检测异常的参数的值是相同值时,在该参数的值较小的情况下,会在正常的读处理中误检测到异常而进行重置。另一方面,在参数的值较大的情况下,异常的检测过于耗费时间,通信系统100内的处理速度减慢。
因此,根据实施方式1中的从装置130,根据来自主装置110的命令内容,将用于进行异常检测的参数的值设定为最佳的值,因此能够根据读和写这样的命令内容适当检测异常。因此,能够防止在正常动作时误检测为异常而进行重置的情况。并且,还能够防止异常的检测耗费时间、从而通信系统100内的处理速度减慢的情况。
在实施方式1中,运算处理部138与控制部131连接,但不限于这样的结构。例如也可以在控制部131的内部设置运算处理装置138。此外,在异常检测部134中,为了检测SCL的时钟信号变为低电平的时间而设置有内部计数器134a,但只要是能够检测SCL的时钟信号的低电平时间的结构即可,不限于该结构。
在实施方式1中,主装置110在读的情况下被连续输入了“0xFF”的数据时,并且在写的情况下在一定期间内未返回ACK信号时,识别为在从装置130中通信进行了初始化,但不限于这样的例子。例如,也可以追加用于由从装置130向主装置110通知进行了初始化的情况的通知线。能够通过使用这样的通知线进行初始化的通知,更迅速地将进行了初始化的情况通知给主装置110。
实施方式2.
接着说明实施方式2。如图1所示,实施方式2的通信系统200具有主装置110和从装置230。实施方式2的通信系统200在从装置230方面与实施方式1的通信系统100不同。实施方式2中的从装置230在命令的内容是读的情况下,对从接收命令起到发送读数据为止的时间、和与设定为“读”用的参数的值对应的时间进行比较,并且在命令的内容是写的情况下,对从接收命令起到接收写数据为止的时间、和与设定为“写”用的参数的值对应的时间进行比较。
图9是概略地示出从装置230的结构的框图。从装置230具有控制部231、命令保持部132、参数设定部233、异常检测部234、时钟生成部135、初始化部136、I/F部137和运算处理部138。实施方式2中的从装置230在控制部231、参数设定部233和异常检测部234中的处理方面与实施方式1中的从装置130不同。此外,在实施方式2的从装置230中,新设置了用于对控制部231和异常检测部234进行连接的信号线即IRQ1和IRQ2。
控制部231对依照IIC协议进行的通信进行控制。
此外,控制部231在从初始化部136接收到重置信号时,对通信处理进行初始化(重置),并再次转移到等待来自主装置110的命令的状态。
并且,控制部231将与来自主装置110的命令内容相应的参数的值通知给参数设定部233。例如,控制部231根据与运算处理部138之间的通信量、和运算处理部138中的运算负荷等,将“读”或“写”的最佳值通知给参数设定部233。另外,在本实施方式中,命令是“读”的情况下的参数的值是与接收来自主装置110的命令起到发送与该命令对应的读数据为止的时间对应的阈值。该阈值可设为与接收来自主装置110的命令起到发送与该命令对应的读数据为止的最大时间对应的值。此外,命令是“写”的情况下的参数的值是与接收来自主装置110的命令起到接收与该命令对应的写数据为止的时间对应的阈值。该阈值可设为与接收来自主装置110的命令起到接收与该命令对应的写数据为止的最大时间对应的值。
此外,控制部231经由I/F部137识别来自主装置110的开始条件,在接收到了本装置的从地址的情况下,将表示命令的接收的命令接收通知提供给异常检测部234。例如控制部231通过在IRQ1中确证信号,进行命令接收通知。
并且,控制部231在经由I/F部137从主装置110接收“读”的命令,并发送了针对该命令的读数据时,将表示发送了读数据的情况的读数据发送通知提供给异常检测部234。例如,控制部231通过在控制部231内的发送缓冲器231a中存储读数据,进行经由I/F部137将该读数据发送到主装置110的处理,且在该发送缓冲器231a变空时(发送完成时),通过在IRQ2中确证信号,进行读数据发送通知。
而且,控制部231在经由I/F部137从主装置110接收“写”的命令,并接收到了针对该命令的写数据时,将表示接收到了写数据的情况的写数据接收通知提供给异常检测部234。例如,控制部231通过将经由I/F部137取得的写数据存储到控制部231内的接收缓冲器231b中,并将该写数据提供给运算处理部138或未图示的存储器等,且在该接收缓冲器231b变空时(接收完成时),通过在IRQ2中确证信号,进行写数据接收通知。
参数设定部233根据表示命令保持部132所保持的命令内容的信息,对用于检测通信异常的参数的值进行变更。如图4所示,参数设定部233在从命令保持部132接收到使能信号时,对异常检测部234设定参数的值。另外,在本实施方式中,用于检测通信异常的参数的值是与到发送完成和接收完成为止的时间对应的阈值。该阈值可设为与到发送完成和接收完成为止的最大时间对应的值。此处,由于命令保持部132所保持的命令内容是“读”或“写”,因此参数设定部233在命令保持部132所保持的命令内容是“读”的情况、和命令内容是“写”的情况下,使该参数的值不同。所设定的参数的值优选可适当变更,从控制部231给出。
异常检测部234在根据命令进行的处理中计测时间。例如,异常检测部234对从控制部231接收到命令接收通知起的时间进行计测。并且,异常检测部234进行计测出的时间、和与由参数设定部233设定的参数的值对应的最大时间的比较。并且,异常检测部234在该计测出的时间超过了最大时间的情况下,判定为通信异常,并将通信异常通知给初始化部136。
另外,异常检测部234在接收到来自控制部231的读数据发送通知或写数据接收通知的情况下,结束时间的计测。
图10是概略地示出异常检测部234的结构的框图。异常检测部234具有内部计数器234a和比较部234b。另外,图10的括号内的标号是实施方式4的主装置中的结构。
内部计数器234a利用专用时钟对从确证IRQ1的信号起的时间进行计数。另外,由参数设定部233设定的表示最大时间的参数的值成为了在以作为内部计数器234a的动作时钟的专用时钟对该最大时间进行计数的情况下的计数值。此外,内部计数器234a在确证到IRQ2的信号的情况下,停止计数。
比较部234b在内部计数器234a中的计数值超过了参数设定部233所设定的参数的值时,将用于通知通信异常的通信异常信号提供给初始化部136。
图11是示出从装置230中的处理的流程图。
首先,从装置230的控制部231经由I/F部137识别开始条件,并接收从主装置110发送的从地址和命令内容(S30)。
此处,控制部231经由I/F部137识别开始条件,在判断为接收到的从地址是本装置的地址的情况下,确证IRQ1的信号。然后,异常检测部234的内部计数器234a检出IRQ1的确证而开始计数(S31)。
此外,控制部231在接收到的从地址与自身地址匹配的情况下,与SCL的时钟信号同步地,经由I/F部137将ACK信号发送到主装置110(S32)。
此外,在图4所示的命令保持部132的开始条件识别部132a识别到主装置110所生成的开始条件时,内部计数器132b通过对SCL的时钟数进行计数,确定从开始条件起8个时钟后到来的命令内容位。然后,内部计数器132b将所确定的位的值保持到寄存器132c中(S33)。内部计数器132b在对命令保持部132内的寄存器的值进行了更新时,向参数设定部233输出使能信号。
参数设定部233通过来自命令保持部132的使能信号,参照寄存器132c所保持的命令内容位。并且,参数设定部233根据所参照的位内容,对异常检测部234设定用于判定通信异常的、与处理的最大时间对应的参数的值(S34)。此处,在命令内容位的值是“1”的情况下,参数设定部233对异常检测部234设定最适于读时的、与处理的最大时间对应的参数的值。另一方面,在命令内容位的值是“0”的情况下,参数设定部233对异常检测部234设定最适于写时的、与处理的最大时间对应的参数的值。
接着,在图10所示的异常检测部234中,以相比SCL的时钟信号频率高至2倍以上的专用时钟对SCL的时钟信号的状态进行锁存,由内部计数器234a对检测到IRQ1的确证起的时间进行计数。并且,比较部234b确认由内部计数器234a计数出的计数值是否超过了由参数设定部233设定的、表示处理的最大时间的参数的值(S35)。并且,比较部234b在计数值超过了参数的值的情况下(S35:是),进入步骤S36的处理,在计数值未超过参数的值的情况下(S35:否),进入步骤S37的处理。
在步骤S36中,比较部234b判断为通信异常,并将通信异常信号输出到初始化部136。初始化部136在确证到来自异常检测部234的通信异常信号时,输出对控制部231进行初始化的重置信号。由此,控制部231解除忙状态,再次恢复到等待接收来自主装置110的命令的状态。
另一方面,在步骤S37中,控制部231继续与主装置110的通信处理。
然后,控制部231经由I/F部137确认与主装置110之间的通信是否已完成(S38)。例如,在来自主装置110的命令是“读”的情况下,存储在发送缓冲器231a中的读数据被发送,在发送缓冲器231a变空时,判断为与主装置110之间的通信完成。此外,在来自主装置110的命令是“写”的情况下,存储在接收缓冲器231b中的写数据被处理,在接收缓冲器231b变空时,判断为与主装置110之间的通信完成。并且,控制部231在判断为通信完成的情况下(S38:是),结束流程,在判断为通信未完成的情况下(S38:否),返回步骤S35的处理。另外,控制部231在判断为通信完成的情况下(S38:是),确证IRQ2的信号。异常检测部234的内部计数器234a在检测到IRQ2的确证时,停止计数。
如上所述,根据实施方式2的通信系统200,对在从主装置110发送的命令接收时确证的命令接收中断、与在收发缓冲器变空的情况下确证的收发缓冲器空闲中断之间的处理时间进行计数,并对该计数值与参数的值进行比较,因此能够更准确地检测异常。
在实施方式2的通信系统200中,运算处理部138与控制部231连接,但不限于这样的结构,也可以在控制部231的内部设置运算处理部138。并且,异常检测部234为了计测从IRQ1到IRQ2为止的时间而设置了内部计数器234a,但只要是能够计测从IRQ1到IRQ2为止的时间的结构即可,并不限于该结构。
在实施方式2中,在命令的内容是读的情况下,参数设定部233设定的参数的值是与接收命令起到读数据的发送完成为止的最大时间对应的值,但不限于这样的值。例如,参数设定部233设定的参数的值可以设为接收命令起到开始读数据的发送为止的最大时间。在这样的情况下,例如控制部231在控制部231内的发送缓冲器231a中存储读数据,在开始经由I/F部137将该读数据发送到主装置110时,通过在IRQ2中确证信号,进行读数据发送通知。
此外,在实施方式2中,在命令的内容是写的情况下,参数设定部233设定的参数的值是与接收命令起到写数据的接收完成为止的最大时间对应的值,但不限于这样的值。例如,参数设定部233设定的参数的值可以设为接收命令起到开始写数据的接收为止的最大时间。在这样的情况下,例如控制部231在开始向控制部231内的接收缓冲器231b存储写数据时,通过在IRQ2中确证信号,进行写数据接收通知。
并且,在实施方式2中,在命令的内容是写的情况下,控制部231通过将经由I/F部137取得的写数据存储到控制部231内的接收缓冲器231b中,并将该写数据提供给运算处理部138或未图示的存储器等,在该接收缓冲器231b变空时,通过在IRQ2中确证信号,进行写数据接收通知,但例如也可以在接收缓冲器231b中完成了写数据的存储时,在IRQ2中确证信号,进行写数据接收通知。
实施方式3.
接着说明实施方式3。如图1所示,实施方式3的通信系统300具有主装置310和从装置130。实施方式3的通信系统300在主装置310方面与实施方式1的通信系统100不同。在实施方式3中,在主装置310中也进行初始化处理。
图12是概略地示出主装置310的结构的框图。主装置310具有控制部311、I/F部112、命令保持部313、参数设定部314、异常检测部315、时钟生成部316和初始化部317。实施方式3中的主装置310在控制部311进行的处理方面,以及还设置有命令保持部313、参数设定部314、异常检测部315、时钟生成部316和初始化部317的方面与实施方式1中的主装置110不同。
控制部311控制依照IIC协议进行的通信。
此外,控制部311在从初始化部317接收到重置信号时,对通信处理进行初始化(重置),而再次开始重置后的通信处理。
并且,控制部311在依照IIC协议与从装置130进行通信的过程中,从装置130进行了通信的初始化(重置)的情况下,进行重新开始初始化后的通信的处理。
此外,控制部311将与发送给从装置130的命令内容相应的参数的值通知给参数设定部314。例如,控制部311根据与从装置130之间的通信量,将“读”或“写”的最佳值通知给参数设定部314,虽然在图1中仅示出了1个从装置130,但在连接有多个从装置130的情况下,还根据与其他从装置130之间的通信量等,将“读”或“写”的最佳值通知给参数设定部314。例如,控制部311在与从装置130或其他从装置130之间进行通信的数据量较多、它们之间的通信延迟的情况下,控制部311将延迟量越大其值越大的参数的值通知给参数设定部314。
并且,控制部311将经由I/F部112发送给从装置130的命令内容提供给命令保持部313。
命令保持部313具备寄存器,该寄存器保持表示从控制部311提供的读或写的命令内容的位的信息。另外,命令保持部313在对保持在寄存器中的位值进行了更新时,向参数设定部314给出使能信号。
参数设定部314根据命令保持部313所保持的表示命令内容的信息,对用于检测通信异常的参数的值进行变更。此处,参数设定部314在从命令保持部313接收到了使能信号时,对异常检测部315设定参数的值。另外,在本实施方式中,用于检测通信异常的参数的值是与SCL的时钟信号维持低电平的时间对应的阈值。该阈值可设为与SCL的时钟信号维持低电平的时间对应的值。此处,由于命令保持部313所保持的命令内容是“读”或“写”,因此参数设定部314使该参数的值在命令保持部313所保持的命令内容是“读”的情况和命令内容是“写”的情况下不相同。所设定的参数的值优选可适当变更,从控制部311进行通知。
异常检测部315在根据命令进行的处理中计测时间。例如异常检测部315对SCL的时钟信号被固定为低电平的时间进行计测。异常检测部315对计测出的时间、和与由参数设定部314设定的参数的值对应的最大时间进行比较。并且,异常检测部315在该计测出的时间超过了最大时间的情况下,判定为通信异常,并将通信异常通知给初始化部317。如图5所示,异常检测部315具有内部计数器315a和比较部315b。
内部计数器315a以相比SCL频率高至2倍以上的专用时钟对SCL的状态进行锁存,对SCL的时钟信号成为低电平的时间进行计数。另外,由参数设定部314设定的表示最大时间的参数的值成为了在以作为内部计数器315a的动作时钟的专用时钟对该最大时间进行了计数的情况下的计数值。
比较部315b在内部计数器315a中的计数值超过了参数设定部314所设定的参数的值时,将用于通知通信异常的通信异常信号提供给初始化部317。
返回图12的说明,时钟生成部316生成异常检测部315进行计数所需的专用时钟。并且,时钟生成部316将该专用时钟提供给异常检测部315。
初始化部317在被从异常检测部315提供了通信异常信号时,将重置信号输出给控制部311。
图13是示出实施方式3的主装置310中的处理的流程图。
控制部311经由I/F部112生成开始条件,接着进行发送从地址和命令内容的处理(S40)。
此时,控制部311将所发送的命令内容也提供给命令保持部313。命令保持部313对寄存器的值进行更新,以示出被提供的命令内容(S41)。在读的情况下,寄存器的值是“1”,在写的情况下,寄存器的值是“0”。并且,命令保持部313向参数设定部314输出使能信号。
参数设定部314通过来自命令保持部313的使能信号,参照寄存器所保持的命令内容位。并且,参数设定部314根据所参照的位内容,对异常检测部315设定用于判定通信异常的、与SCL的时钟信号维持低电平的最大时间对应的参数的值(S42)。其中,在命令内容位的值是“1”的情况下,参数设定部314对异常检测部315设定在处理读数据时与SCL的时钟信号保持低电平的最大时间对应的参数的值。该参数的值最适于“读”时。另一方面,在命令内容位的值是“0”的情况下,参数设定部314对异常检测部315设定在处理写数据时与SCL的时钟信号保持低电平的最大时间对应的参数的值。该参数的值最适于“写”时。
接着,控制部311经由I/F部112进行接收来自从装置130的ACK信号的处理(S43)。在接收到ACK信号时,控制部311进行与在步骤S40中发送给从装置130的命令内容相应的处理。例如,在步骤S40中发送的命令内容是读的情况下,控制部311在处于控制部311内的接收缓冲器311a中蓄积经由I/F部112接收到的读数据。并且,控制部311在读数据的接收完成时,经由I/F部112进行将ACK信号发送给从装置130的处理。此外,在步骤S40中发送的命令内容是写的情况下,控制部311经由I/F部112进行发送处于控制部311内的发送缓冲器311b所蓄积的写数据的处理。
接着,在图5所示的异常检测部315中,以相比SCL的时钟信号频率高至2倍以上的专用时钟对SCL的时钟信号的状态进行锁存,由内部计数器315a对变为了低电平的时间进行计数。进而,比较部315b确认由内部计数器315a计数出的计数值是否超过了由参数设定部314设定的、表示SCL的时钟信号保持低电平的最大时间的参数的值(S44)。并且,比较部315b在确认到超过了表示SCL的时钟信号保持低电平的最大时间的参数的值的情况下(S44:是),进入步骤S45的处理,在未超过表示SCL的时钟信号保持低电平的最大时间的参数的值的情况下(S44:否),进入步骤S46的处理。
在步骤S45中,比较部315b判断为通信异常,而将通信异常信号输出到初始化部317。初始化部317在确证到来自异常检测部315的通信异常信号时,输出对控制部311进行初始化的重置信号。由此,控制部311被初始化,并再次开始IIC通信。
另一方面,在步骤S46中,控制部311继续与从装置130的通信处理。
然后,控制部311确认与从装置130的通信是否已完成(S47)。并且,控制部311在通信完成的情况下(S47:是),经由I/F部112生成停止条件,并结束流程。另一方面,控制部311在通信未完成的情况下(S47:否),返回步骤S44的处理。
如上所述,根据实施方式3,在主装置310和从装置130中,分别根据命令内容将用于进行异常检测的参数的值设定为最佳值,在使用该值检测到了异常的情况下,主装置310和从装置130分别进行初始化,因此不需要在主装置310与从装置130之间追加用于通知进行了初始化的新的信号线。
在实施方式3中,异常检测部134、315为了检测SCL的低电平时间而具有内部计数器134a、315a,但只要是能够检测SCL的低电平时间的结构即可,并不限于该结构。
此外,可以对实施方式3中说明的主装置310连接在实施方式2中说明的从装置230。
实施方式4.
接着说明实施方式4。如图1所示,实施方式4的通信系统400具有主装置410和从装置230。实施方式4的通信系统400在主装置410方面与实施方式2的通信系统200不同。在实施方式4的主装置410中,在读的情况下,对从发送读的命令起到接收读数据为止的时间、与由被设定为“读”用的参数所示的时间进行比较,并且在写的情况下,对从发送写的命令起到发送写数据为止的时间、与由被设定为“写”用的参数所示的时间进行比较。
图14是概略地示出主装置410的结构的框图。主装置410具有控制部411、I/F部112、命令保持部313、参数设定部414、异常检测部415、时钟生成部316和初始化部317。实施方式4中的主装置410在控制部411、参数设定部414和异常检测部415的方面与实施方式3中的主装置310不同。另外,在实施方式4的主装置410中,新设置了用于对控制部411和异常检测部415进行连接的信号线即IRQ3和IRQ4。
控制部411控制依照IIC协议进行的通信。
此外,控制部411在从初始化部317接收到重置信号时,对通信处理进行初始化(重置),并再次开始重置后的通信处理。
并且,控制部411在依照IIC协议与从装置230进行通信的过程中,从装置230进行了通信的初始化(重置)的情况下,进行重新开始初始化后的通信的处理。
而且,控制部411将经由I/F部112发送到从装置230的命令内容提供给命令保持部313。
此外,控制部411将与发送给从装置230的命令内容相应的参数的值通知给参数设定部414。另外,在本实施方式中,命令是“读”的情况下的参数的值是与向从装置230发送命令起到接收与该命令对应的读数据为止的时间对应的阈值。该阈值可设为与向从装置230发送命令起到接收到与该命令对应的读数据为止的最大时间对应的值。此外,命令是“写”的情况下的参数的值是与向从装置230发送命令起到发送与该命令对应的写数据为止的时间对应的阈值。该阈值是与向从装置230发送命令起到发送与该命令对应的写数据为止的最大时间对应的值。
并且,控制部411在经由I/F部112生成了开始条件的情况下,将表示命令发送的命令发送通知提供给异常检测部415。例如控制部411通过在IRQ3中确证信号,进行命令发送通知。
此外,控制部411在经由I/F部112向从装置230提供了“读”的命令,并接收到针对该命令的读数据时,将表示接收到了读数据的读数据接收通知提供给异常检测部415。例如,控制部411在开始将经由I/F部112接收到的读数据存储到控制部411内的接收缓冲器411b中时(开始了接收时),通过在IRQ4中确证信号,进行读数据接收通知。
而且,控制部411在经由I/F部112向从装置230提供“写”的命令,并发送了针对该命令的写数据时,将表示发送了写数据的情况的写数据发送通知提供给异常检测部415。例如,控制部411在控制部411内的发送缓冲器411a中存储写数据,在开始了经由I/F部137将该写数据发送到主装置410的处理时(开始了发送时),通过在IRQ4中确证信号,进行写数据发送通知。
参数设定部414根据表示命令保持部313所保持的命令内容的信息,对用于检测通信异常的参数的值进行变更。参数设定部414在从命令保持部313接收到了使能信号时,对异常检测部415设定参数的值。另外,在本实施方式中,用于检测通信异常的参数的值是与到发送开始或接收开始为止的最大时间对应的值。此处,由于命令保持部313所保持的命令内容是“读”或“写”,因此参数设定部414使该参数的值在命令保持部313所保持的命令内容是“读”的情况、和命令内容是“写”的情况下不相同。所设定的参数的值优选可适当变更,从控制部411给出。
异常检测部415在根据命令进行的处理中对时间进行计测。例如,异常检测部415对来自控制部411的命令接收通知起的时间进行计测。异常检测部415进行计测出的时间、和与由参数设定部414设定的参数的值对应的最大时间的比较。并且,异常检测部415在该计测时间超过了最大时间的情况下,判定为通信异常,并将通信异常通知给初始化部317。
另外,异常检测部415在接收到了来自控制部411的读数据接收通知或写数据发送通知的情况下,结束时间的计测。
如图10所示,异常检测部415具有内部计数器415a和比较部415b。
内部计数器415a使用专用时钟对从确证IRQ3的信号起的时间进行计数。另外,由参数设定部414设定的表示最大时间的参数的值成为了在以作为内部计数器415a的动作时钟的专用时钟对该最大时间进行了计数的情况下的计数值。此外,内部计数器415a在确证到IRQ4的信号的情况下,停止计数。
比较部415b在内部计数器415a中的计数值超过了参数设定部414所设定的参数的值时,将用于通知通信异常的通信异常信号提供给初始化部317。
图15是示出实施方式4的主装置410中的处理的流程图。
控制部411经由I/F部112生成开始条件,接着进行发送从地址和命令内容的处理(S50)。
此时,控制部411将所发送的命令内容也提供给命令保持部313。命令保持部313对寄存器的值进行更新,以示出被提供的命令内容(S51)。在读的情况下,寄存器的值是“1”,在写的情况下,寄存器的值是“0”。并且,命令保持部313向参数设定部414输出使能信号。
参数设定部414通过来自命令保持部313的使能信号,参照寄存器所保持的命令内容位。并且,参数设定部414根据所参照的位内容,对异常检测部415设定用于判定通信异常的、与到发送开始或接收开始为止的最大时间对应的参数的值(S52)。此处,在命令内容位的值是“1”的情况下,参数设定部414对异常检测部415设定最适于读时的、与处理的最大时间对应的参数的值。另一方面,在命令内容位的值是“0”的情况下,参数设定部414对异常检测部415设定最适于写时的、与处理的最大时间对应的参数的值。
此外,控制部411在经由I/F部112向从装置230进行了命令发送的情况下,确证IRQ3的信号。然后,异常检测部415的内部计数器415a检出IRQ3的确证而开始计数(S53)。
接着,控制部411经由I/F部112进行接收来自从装置230的ACK信号的处理(S54)。在接收到ACK信号时,控制部411进行与在步骤S50中发送给从装置230的命令内容相应的处理。
接着,在图10所示的异常检测部415中,由内部计数器415a使用专用时钟对从检测到IRQ3的确证起的时间进行计数。并且,比较部415b确认由内部计数器415a计数出的计数值是否超过了由参数设定部414设定的、表示处理的最大时间的参数的值(S55)。并且,比较部415b在计数值超过了参数的值的情况下(S55:是),进入步骤S56的处理,在计数值未超过参数的值的情况下(S55:否),进入步骤S57的处理。
在步骤S56中,比较部415b判断为通信异常,而将通信异常信号输出到初始化部317。初始化部317在确证到来自异常检测部415的通信异常信号时,输出对控制部411进行初始化的重置信号。由此,控制部411被初始化,并再次开始IIC通信。
另一方面,在步骤S57中,控制部411继续与从装置230的通信处理。
控制部411经由I/F部112确认是否已执行与从装置230之间的通信(S58)。例如,在对从装置230的命令是“读”的情况下开始将读数据存储到接收缓冲器411b中时,判断为执行了与从装置230之间的通信。此外,在来自从装置230的命令是“写”的情况下开始了存储在发送缓冲器411a中的写数据的发送时,判断为执行了与从装置230之间的通信。并且,控制部411在判断为已执行通信的情况下(S58:是),结束流程,在判断为未执行通信的情况下(S58:否),返回步骤S55的处理。另外,控制部411在判断为已执行通信的情况下(S58:是),确证IRQ4的信号。异常检测部415的内部计数器415a在检测到IRQ4的确证时,停止计数。
如上所述,根据实施方式4的通信系统400,在主装置410中,作为用于进行异常检测的参数,使用在主装置410进行命令发送时所确证的命令发送中断、在接收缓冲器411b中开始存储读数据的情况下所确证的接收缓冲器中断、在开始发送存储在发送缓冲器411a中的写数据的情况下所确证的发送缓冲器中断,因此能够测定从主装置410实际发送命令到执行数据的收发为止的准确间隔。
在实施方式4中,异常检测部415具有从IRQ3起开始计数的内部计数器415a,但只要是能够计测从IRQ3起的处理时间的结构即可,并不限于该结构。
此外,也可以对实施方式4中说明的主装置410连接在实施方式1中说明的从装置130。
在实施方式4中,在命令的内容是读的情况下,参数设定部414设定的参数的值是与发送命令起到开始读数据的接收为止的最大时间对应的值,但不限于这样的值。例如,参数设定部414设定的参数的值也可以设为发送命令起到完成读数据的接收为止的最大时间。在这样的情况下,例如控制部411在控制部411内的接收缓冲器411b中存储读数据,在通过向未图示的存储器等输出读数据而接收缓冲器411b变空时,通过在IRQ4中确证信号,进行读数据接收通知。
此外,在实施方式4中,在命令的内容是写的情况下,参数设定部414设定的参数的值是与发送命令起到开始写数据的发送为止的最大时间对应的值,但不限于这样的值。例如,参数设定部414设定的参数的值可以设为发送命令起到写数据的发送完成为止的最大时间。在这样的情况下,例如控制部411在控制部411内的发送缓冲器411a中存储写数据,经由I/F部112将该写数据发送到从装置由此发送缓冲器411a变空时,通过在IRQ4中确证信号,进行写数据发送通知。
在以上所记载的实施方式1~4中,从控制部131、231、311、411向参数设定部133、233、314、414通知了参数的值,但写的情况和读的情况下的各个参数的值也可以是固定值。在这样的情况下,在参数设定部133、233、314、414的未图示的存储器中存储参数的值即可。
标号说明
100、200、300、400:通信系统;110、310、410:主装置;111、311、411:控制部;311a、411a:发送缓冲器;311b、411b:接收缓冲器;112:I/F部;313:命令保持部;314:参数设定部;315、415:异常检测部;315a、415a:内部计数器;315b、415b:比较部;316:时钟生成部;317:初始化部;130、230:从装置;131、231:控制部;131a、231a:发送缓冲器;131b、231b:接收缓冲器;132:命令保持部;132a:开始条件识别部;132b:内部计数器;132c:寄存器;133:参数设定部;134、234:异常检测部;134a、234a:内部计数器;134b、234b:比较部;135:时钟生成部;136:初始化部;137:I/F部;138:运算处理部。
Claims (20)
1.一种从装置,其依照IIC协议在从模式下进行动作,该从装置的特征在于,具有:
参数设定部,其针对从主装置发送的每个命令的内容,设定不同的值,作为用于检测异常的参数的值,其中该主装置依照所述IIC协议在主模式下进行动作;以及
异常检测部,其通过对与所述参数设定部设定的所述参数的值对应的时间、和在根据所述命令进行的处理中计测出的时间进行比较来检测异常。
2.根据权利要求1所述的从装置,其特征在于,
所述参数设定部将与在所述命令的内容是读的情况下设定的参数的值对应的时间设为比与在所述命令的内容是写的情况下设定的参数的值对应的时间长。
3.根据权利要求1或2所述的从装置,其特征在于,
所述从装置还具有经由串行时钟线和串行数据线与所述主装置进行通信的接口部,
在所述命令的内容是写的情况下,所述参数的值是与在处理写数据时所述串行时钟线的信号维持规定的电平的时间对应的阈值,
在所述命令的内容是读的情况下,所述参数的值是与在处理读数据时所述串行时钟线的信号维持规定的电平的时间对应的阈值,
所述异常检测部对所述串行时钟线的信号维持规定的电平的时间进行计测。
4.根据权利要求1或2所述的从装置,其特征在于,
在所述命令的内容是写的情况下,
所述参数的值是与从接收到所述命令起到接收到写数据为止的时间对应的阈值,
所述异常检测部从接收到所述命令起到接收到写数据为止对时间进行计测,
在所述命令的内容是读的情况下,
所述参数的值是与从接收到所述命令起到发送读数据为止的时间对应的阈值,
所述异常检测部从接收到所述命令起到发送读数据为止对时间进行计测。
5.根据权利要求1或2所述的从装置,其特征在于,
所述异常检测部具有计测时间的计数器,在所述计数器的值超过了所述参数的值的情况下,检测为异常。
6.根据权利要求1或2所述的从装置,其特征在于,
所述从装置还具有初始化部,所述初始化部在所述异常检测部检测出异常的情况下,对与所述主装置之间的通信进行重置。
7.一种主装置,其依照IIC协议在主模式下进行动作,该主装置的特征在于,具有:
参数设定部,其针对发送给从装置的每个命令的内容,设定不同的值,作为用于检测异常的参数的值,其中该从装置依照所述IIC协议在从模式下进行动作;以及
异常检测部,其通过对与所述参数设定部设定的所述参数的值对应的时间、和在根据所述命令进行的处理中计测出的时间进行比较来检测异常。
8.根据权利要求7所述的主装置,其特征在于,
所述参数设定部将与在所述命令的内容是读的情况下设定的参数的值对应的时间设为比与在所述命令的内容是写的情况下设定的参数的值对应的时间长。
9.根据权利要求7或8所述的主装置,其特征在于,
所述主装置还具有经由串行时钟线和串行数据线与所述从装置进行通信的接口部,
在所述命令的内容是写的情况下,所述参数的值是与在处理写数据时所述串行时钟线的信号维持规定的电平的时间对应的阈值,
在所述命令的内容是读的情况下,所述参数的值是与在处理读数据时所述串行时钟线的信号维持规定的电平的时间对应的阈值,
所述异常检测部对所述串行时钟线的信号维持规定的电平的时间进行计测。
10.根据权利要求7或8所述的主装置,其特征在于,
在所述命令的内容是写的情况下,
所述参数的值是与从发送所述命令起到发送写数据为止的时间对应的阈值,
所述异常检测部从发送所述命令起到发送写数据为止对时间进行计测,
在所述命令的内容是读的情况下,
所述参数的值是与从发送所述命令起到接收读数据为止的时间对应的阈值,
所述异常检测部从发送所述命令起到接收到读数据为止对时间进行计测。
11.根据权利要求7或8所述的主装置,其特征在于,
所述异常检测部具有计测时间的计数器,在所述计数器的值超过了所述参数的值的情况下,检测为异常。
12.根据权利要求7或8所述的主装置,其特征在于,
所述主装置还具有初始化部,所述初始化部在所述异常检测部检测出异常的情况下,对与所述从装置之间的通信进行重置。
13.一种通信方法,其由依照IIC协议在从模式下进行动作的从装置执行,该通信方法的特征在于,具有:
参数设定步骤,针对从主装置发送的每个命令的内容,设定不同的值,作为用于检测异常的参数的值,其中该主装置依照所述IIC协议在主模式下进行动作;以及
异常检测步骤,通过对由所述参数设定步骤设定的所述参数的值对应的时间、和在根据所述命令进行的处理中计测出的时间进行比较来检测异常。
14.根据权利要求13所述的通信方法,其特征在于,
在所述参数设定步骤中,将与在所述命令的内容是读的情况下设定的参数的值对应的时间设为比与在所述命令的内容是写的情况下设定的参数的值对应的时间长。
15.根据权利要求13或14所述的通信方法,其特征在于,
在所述命令的内容是写的情况下,所述参数的值是与在对写数据进行处理时串行时钟线的信号维持规定的电平的时间对应的阈值,其中所述串行时钟线用于和所述主装置进行通信,
在所述命令的内容是读的情况下,所述参数的值是与在对读数据进行处理时所述串行时钟线的信号维持规定的电平的时间对应的阈值,
在所述异常检测步骤中,对所述串行时钟线的信号维持规定的电平的时间进行计测。
16.根据权利要求13或14所述的通信方法,其特征在于,
在所述命令的内容是写的情况下,
所述参数的值是与从接收到所述命令起到接收到写数据为止的时间对应的阈值,
在所述异常检测步骤中,从接收到所述命令起到接收到写数据为止对时间进行计测,
在所述命令的内容是读的情况下,
所述参数的值是与从接收到所述命令起到发送读数据为止的时间对应的阈值,
在所述异常检测步骤中,从接收到所述命令起到发送读数据为止对时间进行计测。
17.一种通信方法,其由依照IIC协议在主模式下进行动作的主装置执行,该通信方法的特征在于,具有:
参数设定步骤,针对发送给从装置的每个命令的内容,设定不同的值,作为用于检测异常的参数的值,其中该从装置依照所述IIC协议在从模式下进行动作;以及
异常检测步骤,通过对与由所述参数设定步骤设定的所述参数的值对应的时间、和在根据所述命令进行的处理中计测出的时间进行比较来检测异常。
18.根据权利要求17所述的通信方法,其特征在于,
在所述参数设定步骤中将与在所述命令的内容是读的情况下设定的参数的值对应的时间设为比与在所述命令的内容是写的情况下设定的参数的值对应的时间长。
19.根据权利要求17或18所述的通信方法,其特征在于,
在所述命令的内容是写的情况下,所述参数的值是与在处理写数据时串行时钟线的信号维持规定的电平的时间对应的阈值,其中所述串行时钟线用于和所述从装置进行通信,
在所述命令的内容是读的情况下,所述参数的值是与在处理读数据时所述串行时钟线的信号维持规定的电平的时间对应的阈值,
在所述异常检测步骤中,对所述串行时钟线的信号维持规定的电平的时间进行计测。
20.根据权利要求17或18所述的通信方法,其特征在于,
在所述命令的内容是写的情况下,
所述参数的值是与从发送所述命令起到发送写数据为止的时间对应的阈值,
在所述异常检测步骤中,从发送所述命令起到发送写数据为止对时间进行计测,
在所述命令的内容是读的情况下,
所述参数的值是与从发送所述命令起到接收到读数据为止的时间对应的阈值,
在所述异常检测步骤中,从发送所述命令起到接收读数据为止对时间进行计测。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011211339 | 2011-09-27 | ||
JP2011-211339 | 2011-09-27 | ||
PCT/JP2012/051193 WO2013046734A1 (ja) | 2011-09-27 | 2012-01-20 | スレーブ装置、マスター装置及び通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103814363A CN103814363A (zh) | 2014-05-21 |
CN103814363B true CN103814363B (zh) | 2016-08-24 |
Family
ID=47994807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280045774.5A Active CN103814363B (zh) | 2011-09-27 | 2012-01-20 | 从装置、主装置及通信方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9778971B2 (zh) |
JP (1) | JP5680212B2 (zh) |
CN (1) | CN103814363B (zh) |
DE (1) | DE112012004029T5 (zh) |
WO (1) | WO2013046734A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9298521B1 (en) * | 2013-04-29 | 2016-03-29 | Seagate Technology Llc | Command sets and functions |
DK2997740T3 (da) | 2013-05-14 | 2019-11-18 | Widex As | En fremgangsmåde til fjerntilpasning af et høreapparatsystem, et system til fjerntilpasning af et høreapparat og et høreapparat |
US10055376B1 (en) * | 2015-01-15 | 2018-08-21 | Maxim Integrated Products, Inc. | Serial peripheral interface system with slave expander |
US10489337B2 (en) * | 2016-06-30 | 2019-11-26 | Intel Corporation | Method, apparatus and system for dynamic optimization of signal integrity on a bus |
JP6985791B2 (ja) * | 2016-09-27 | 2021-12-22 | 株式会社村田製作所 | データ転送デバイス及び無線通信回路 |
DE102016219663B4 (de) * | 2016-10-11 | 2018-08-02 | Conti Temic Microelectronic Gmbh | Verfahren zur Überwachung eines Netzwerks auf Anomalien |
CN109976297B (zh) * | 2017-12-27 | 2021-11-09 | 西安远智电子科技有限公司 | 一种失控保护的检测方法、装置及无人机 |
MX2021005849A (es) | 2018-12-03 | 2021-07-15 | Hewlett Packard Development Co | Circuitos logicos. |
CN111629368B (zh) * | 2020-05-19 | 2022-10-18 | 歌尔科技有限公司 | 耳机与充电盒的通信方法、充电盒、耳机及可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1845525A (zh) * | 2005-04-08 | 2006-10-11 | 华为技术有限公司 | 主从设备系统 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19501800A1 (de) | 1995-01-21 | 1996-07-25 | Zahnradfabrik Friedrichshafen | Fehlererkennung und Fehlerbeseitigung bei einem seriellen Datenbussystem |
JPH08314814A (ja) | 1995-05-19 | 1996-11-29 | Toshiba Corp | 通信装置 |
JPH08316973A (ja) | 1995-05-23 | 1996-11-29 | Hitachi Ltd | 通信処理手段 |
US6145102A (en) * | 1998-01-20 | 2000-11-07 | Compaq Computer Corporation | Transmission of an error message over a network by a computer which fails a self-test |
JP2000137983A (ja) * | 1998-08-26 | 2000-05-16 | Toshiba Corp | 半導体記憶装置 |
US6597197B1 (en) * | 1999-08-27 | 2003-07-22 | Intel Corporation | I2C repeater with voltage translation |
JP2001075878A (ja) * | 1999-09-06 | 2001-03-23 | Fujitsu General Ltd | バスエラー検出処理装置 |
US6728908B1 (en) * | 1999-11-18 | 2004-04-27 | California Institute Of Technology | I2C bus protocol controller with fault tolerance |
US6691257B1 (en) * | 2000-04-13 | 2004-02-10 | Stratus Technologies Bermuda Ltd. | Fault-tolerant maintenance bus protocol and method for using the same |
JP2002063080A (ja) * | 2000-08-15 | 2002-02-28 | Sony Corp | インターフェース装置 |
JP2004139528A (ja) | 2002-10-21 | 2004-05-13 | Matsushita Electric Ind Co Ltd | Iic転送エラー検出装置 |
JP2005354158A (ja) * | 2004-06-08 | 2005-12-22 | Yokogawa Electric Corp | エラー検出回路 |
US7478286B2 (en) * | 2005-04-08 | 2009-01-13 | Linear Technology Corporation | Circuit and method of detecting and resolving stuck I2C buses |
US7502991B2 (en) * | 2005-06-30 | 2009-03-10 | International Business Machines Corporation | Redundant 3-wire communication system |
JP2007164765A (ja) * | 2005-11-15 | 2007-06-28 | Matsushita Electric Ind Co Ltd | Iicバス通信システム、スレーブ装置およびiicバス通信制御方法 |
JP5160100B2 (ja) * | 2007-02-08 | 2013-03-13 | シャープ株式会社 | データ通信誤動作防止装置、電子機器、データ通信誤動作防止装置の制御方法、データ通信誤動作防止装置の制御プログラム、及び当該プログラムを記録した記録媒体 |
US8407401B2 (en) * | 2008-11-26 | 2013-03-26 | Core Wireless Licensing S.A.R.L. | Methods, apparatuses, and computer program products for enhancing memory erase functionality |
JP5298185B2 (ja) * | 2009-02-24 | 2013-09-25 | 富士通テレコムネットワークス株式会社 | I2c監視シーケンシャルリードデータ記憶装置 |
JP2011070282A (ja) | 2009-09-24 | 2011-04-07 | Furukawa Electric Co Ltd:The | 通信システム、マスタ装置、および、スレーブ装置 |
TWI428756B (zh) | 2010-02-08 | 2014-03-01 | Hon Hai Prec Ind Co Ltd | 主從設備通訊電路 |
JP5682392B2 (ja) * | 2011-03-22 | 2015-03-11 | 富士通株式会社 | 情報処理装置、制御装置および異常ユニット判定方法 |
WO2013077012A1 (ja) * | 2011-11-25 | 2013-05-30 | 三菱電機株式会社 | 通信装置、通信方法、及び通信システム |
DE102011087472B4 (de) * | 2011-11-30 | 2016-10-20 | Continental Automotive Gmbh | Verfahren zur Synchronisation von Uhren in Knoten eines Fahrzeugnetzes und zur Durchführung des Verfahrens eingerichteter Knoten |
US20150248373A1 (en) * | 2014-02-28 | 2015-09-03 | Qualcomm Incorporated | Bit allocation over a shared bus to facilitate an error detection optimization |
-
2012
- 2012-01-20 CN CN201280045774.5A patent/CN103814363B/zh active Active
- 2012-01-20 WO PCT/JP2012/051193 patent/WO2013046734A1/ja active Application Filing
- 2012-01-20 DE DE112012004029.5T patent/DE112012004029T5/de active Pending
- 2012-01-20 JP JP2013535946A patent/JP5680212B2/ja active Active
- 2012-01-20 US US14/131,717 patent/US9778971B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1845525A (zh) * | 2005-04-08 | 2006-10-11 | 华为技术有限公司 | 主从设备系统 |
Also Published As
Publication number | Publication date |
---|---|
US9778971B2 (en) | 2017-10-03 |
US20140149805A1 (en) | 2014-05-29 |
JPWO2013046734A1 (ja) | 2015-03-26 |
CN103814363A (zh) | 2014-05-21 |
JP5680212B2 (ja) | 2015-03-04 |
WO2013046734A1 (ja) | 2013-04-04 |
DE112012004029T5 (de) | 2014-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103814363B (zh) | 从装置、主装置及通信方法 | |
JP4885316B2 (ja) | 試験装置および試験方法 | |
US20040078179A1 (en) | Logic verification system | |
US9645898B2 (en) | Storage control device and control device for detecting abnormality of signal line | |
CN101231628A (zh) | 控制串行数据线的状态转换的定时的方法和设备 | |
US8589717B1 (en) | Serial peripheral interface | |
CN103879149A (zh) | 一种统计耗墨量的系统 | |
JP2008059409A (ja) | Usb通信システム,usbデバイス,及びusb通信システムの異常検出方法 | |
CN103404029A (zh) | 物体检测系统 | |
TW201432278A (zh) | 自動化檢測系統及其自動化檢測方法 | |
AU2011313404B2 (en) | Electronic device and serial data communication method | |
CN109495663A (zh) | 图像处理装置以及故障诊断控制方法 | |
CN101567850A (zh) | 分组处理装置 | |
CN101458305B (zh) | 嵌入式模块测试与维护总线系统 | |
CN108737160B (zh) | 通信电路、通信系统及通信电路的自我诊断方法 | |
CN115459865A (zh) | 误码率测量装置及误码率测量方法 | |
CN114730283A (zh) | 以锁步方式操作的监测处理器 | |
CN101645057B (zh) | 一种防止cpu局域总线挂死的方法及装置 | |
CN102298416A (zh) | 一种服务器系统 | |
US7602422B2 (en) | Serial camera interface | |
CN105677474A (zh) | 一种基于fpga的中断聚合装置和方法 | |
CN106528431A (zh) | 一种悬挂物管理系统测试设备用测试数据显示控制方法 | |
US8443274B2 (en) | Test circuit for testing execution of a handshake protocol and method for testing execution of handshake protocol | |
CN100392542C (zh) | 通信控制装置 | |
CN105630455A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |