CN110268393B - 通信装置、通信方法、程序和通信系统 - Google Patents

通信装置、通信方法、程序和通信系统 Download PDF

Info

Publication number
CN110268393B
CN110268393B CN201880010770.0A CN201880010770A CN110268393B CN 110268393 B CN110268393 B CN 110268393B CN 201880010770 A CN201880010770 A CN 201880010770A CN 110268393 B CN110268393 B CN 110268393B
Authority
CN
China
Prior art keywords
communication
bus
communication device
slave
signal line
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
Application number
CN201880010770.0A
Other languages
English (en)
Other versions
CN110268393A (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.)
Sony Semiconductor Solutions Corp
Original Assignee
Sony Semiconductor Solutions Corp
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 Sony Semiconductor Solutions Corp filed Critical Sony Semiconductor Solutions Corp
Publication of CN110268393A publication Critical patent/CN110268393A/zh
Application granted granted Critical
Publication of CN110268393B publication Critical patent/CN110268393B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4081Live connection to bus, e.g. hot-plugging
    • 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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/376Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a contention resolving method, e.g. collision detection, collision avoidance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0793Remedial or corrective actions
    • 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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • 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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/378Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a parallel poll method
    • 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/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0016Inter-integrated circuit (I2C)

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Small-Scale Networks (AREA)
  • Bus Control (AREA)

Abstract

本公开涉及利用其能够执行更可靠的通信的通信装置、通信方法、程序和通信系统。提供一种通信装置,包括:收发器单元,用于经由数据信号线和时钟信号线发送信号到至少一个其他通信装置和从至少一个其他通信装置接收信号;以及错误避免单元,在被配置为能够经由总线执行通信的通信系统已经操作的状态下,执行避免在通信装置追加连接到通信系统时发生任何错误的处理。作为实例,该技术适用于例如总线接口。

Description

通信装置、通信方法、程序和通信系统
技术领域
本公开涉及通信装置、通信方法、程序和通信系统,并且具体地涉及适于能够进一步可靠地执行通信的通信装置、通信方法、程序和通信系统。
背景技术
例如,I2C(内部集成电路)过去经常用作总线IF(接口),用于通过其中安装有多个器件的板中的总线在器件之间进行通信。此外,最近需要实现更高速的I2C,并且已经制定了I3C(改进的集成电路)条款作为下一代标准并且其修订已经进行。
例如,I2C和I3C均被配置为能够根据具有通过总线IF的通信的主动权的主设备的控制来执行与连接到总线IF的从设备的通信。此外,I3C提供诸如保持兼容性以实现与I2C从设备的通信的执行的功能和称为“热连接”的功能的功能,“热连接”功能使得从设备能够在通信处理中参与总线IF。
例如,PTL 1公开了一种数字数据处理系统,其使用I2C将主机处理器和子系统控制器彼此相互连接。此外,PTL 2公开了一种实现通信协议的方法,该通信协议在标准I2C协议的上部分层布置。
[引用清单]
[专利文献]
[PTL 1]
日本专利公开第2000-99448号
[PTL 2]
日本专利公开第2002-175269号
发明内容
[技术问题]
与上述有关,当在I3C中执行热连接时,在特定条件下可能发生新连接的从设备无法参与总线IF的死锁。因此,担心建立新连接的从设备不能正常执行任何通信的状态。
考虑到上述情况构思了本公开,并且能够更可靠地执行通信。
[解决问题的方法]
本公开的一个方面中的通信装置包括:发送和接收部,执行与至少一个以上的其他通信装置的信号的发送和接收;和错误避免部,在以通过总线执行通信的方式配置的通信系统已经操作的状态下,所述错误避免部执行避免在通信装置追加连接到所述通信系统时发生任何错误的处理。
本公开的一个方面中的通信方法或程序包括以下步骤:在被配置为能够与至少一个以上的其他通信装置执行信号的发送和接收并且通过总线执行通信的通信系统已经操作的状态下,执行避免在通信装置追加连接到通信系统时发生任何错误的处理。
本公开的一个方面中的通信系统是这样的通信系统,其被配置为能够使用具有通过总线通信的主动权的第一通信装置和根据第一通信装置的控制执行通信的第二通信装置通过总线执行通信,其中第一通信装置和第二通信装置各自包括发送和接收部,其与至少一个以上的其他通信装置执行信号的发送和接收,并且第一通信装置或第二通信装置中的至少一个包括错误避免部,该错误避免部在第一通信装置至少连接到总线并且通信系统已经操作的状态下,执行避免在通信装置追加连接到通信系统时发生任何错误的处理。
在本公开的一个方面,在被配置为能够与至少一个以上的其他通信装置执行信号的发送和接收并且通过总线执行通信的通信系统已经操作的状态下,执行避免当通信装置追加连接到通信系统时发生任何错误的处理。
[发明的有益效果]
根据本公开的一个方面,可进一步可靠地执行通信。
附图说明
图1是示出总线IF和热连接的图。
图2是示出热连接请求的流程的图。
图3是描绘应用该技术的总线IF的第一实施例的配置的实例的框图。
图4是示出热连接请求的图。
图5是示出由I3C主要主设备执行的处理的流程图。
图6是示出当I3C从设备执行热连接时由I3C从设备执行的处理的流程图。
图7是描绘应用该技术的总线IF的第二实施例的配置的实例的框图。
图8是示出HJ请求错误的检测的图。
图9是描绘在热连接请求之后发送的信号的实例的图。
图10是描绘应用该技术的总线IF的第三实施例的配置的实例的框图。
图11是描绘I3C主要主设备的安装实例的图。
图12是描绘安装I3C从设备的实例的图。
图13是示出由图11中的I3C主要主设备执行的处理的流程图。
图14是描绘应用了该技术的计算机的实施例的配置的实例的框图。
具体实施方式
将参考附图详细描述应用该技术的具体实施例。
<关于总线IF和热连接>
将参考图1描述符合I3C标准配置的总线IF和I3C从设备的热连接。
通过数据信号线16-1和时钟信号线16-2将I3C主要主设备12,I3C辅助主设备13-1和13-2,I3C从设备14-1至14-3以及I2C从设备15-1和15-2彼此连接来配置图1中描绘的总线IF 11。图1描绘了I3C从设备14-3热连接到总线IF 11的实例。
I3C主要主设备12是具有在总线IF 11中的通信主动权的设备,并且可通过数据信号线16-1和时钟信号线16-2与连接到总线IF 11的其他设备执行通信。
I3C辅助主设备13-1和13-2每个都是代替主要主设备12具有能够在总线IF 11I3C中具有通信主动权的功能的设备,并且当根据I3C主要主设备12的控制执行通信时,执行类似于I3C从设备14的那些操作。此外,在下文中,在必要时,在I3C辅助主设备13-1和13-2各自不需要彼此区分的情况下,这些辅助主设备均被简称为“I3C辅助主设备13”。
I3C从设备14-1至14-3每个都是根据I3C主要主设备12的控制执行通信的设备,并且可通过数据信号线16-1和时钟信号线16-2执行与I3C主要主设备12的通信。另外,在下文中,在必要时,在I3C从设备14-1至14-3各自不需要彼此区分的情况下,这些I3C从设备均简称为“I3C从设备14”。
I2C从设备15-1和15-2每个都是可根据I2C标准执行通信的设备,并且可根据总线IF 11中的I3C主要主设备12的控制来执行通信,因为I3C保持与I2C的兼容性。另外,在下文中,在必要时,在I2C从设备15-1和15-2各自不需要彼此区分的情况下,这些I2C从设备各自简称为“I2C从设备15”。
数据信号线16-1是传输串行数据SDA的信号线,时钟信号线16-2是传输串行时钟SCL的信号线。
如上所述,即使总线IF 11具有不仅具有符合I3C标准的I3C辅助主设备13和I3C从设备14,还具有符合混合其中的I2C标准的I2C从设备15的配置,总线IF 11也可正常运作。
此外,在I3C中,例如,对于连接到总线IF 11的多个设备中的未使用设备,通过将电源设置为断开状态,可有助于减少整个总线IF 11的电力消耗。
例如,如图1的上侧所示,当开始使用其电源被设置为处于断开状态的I3C从设备14-3时,在总线IF 11由除了I3C从设备14-3以外的设备操作的状态下,I3C从设备14-3热连接到总线IF 11。换句话说,如图1的下侧所示,在I3C从设备14-3的电源切换到其接通状态之后,执行如下所述的热连接请求,从而I3C从设备14-3可参与总线IF 11。
此外,除了接通或断开I3C从设备14-3的电源之外,通过将其电源处于接通状态的I3C从设备14-3物理连接到处于其操作状态的总线IF 11,I3C从设备14-3也可热连接。此外,除了I3C从设备14追加热连接到由I3C主要主设备12、I3C从设备14和I2C从设备15操作的总线IF 11的情况之外,例如,可存在一个I3C从设备14新热连接到仅由一个I3C主要主设备12操作的总线IF 11的情况。
接下来将参考图2描述图1中的总线IF 11中的热连接请求的流程。
对于总线IF 11,可规定,当I3C从设备识别出总线IF 11处于空闲状态时,通过将数据信号线16-1的电位从H电平切换到L电平,支持热连接的I3C从设备14执行热连接请求。此外,通过使用总线空闲计数器检测到数据信号线16-1和时钟信号线16-2各自处于H电平维持的时间段长于预定时间段的事实,I3C从设备14可识别出总线IF 11处于空闲状态。
关于以上内容,图2分别描述了当检测到宣称通过总线IF 11通信结束的停止条件(STOP)被设置为总线空闲计数器开始计数的计数开始点的条件时执行的热连接请求的实例。
如图2的A所示,当在执行总线IF 11的通信期间存在的定时t1处将支持热连接的I3C从设备14连接到总线IF 11时,I3C从设备14处于I3C从设备14等待停止条件被检测到的状态。此后,连接到总线IF 11的I3C从设备14响应于检测到停止条件而启动总线空闲计数器以开始计数。
此后,当I3C从设备14检测到数据信号线16-1和时钟信号线16-2的电位均为H电平的状态持续比预定时间段(例如1ms)长的时间段时,I3C从设备14可识别出总线IF 11处于空闲状态。因此,支持热连接的I3C从设备14通过在I3C从设备14识别出总线IF 11处于空闲状态之后的定时t2将数据信号线16-1的电位从H电平切换到L电平来执行热连接请求。
另一方面,当I3C主要主设备12识别出存在热连接请求(或中断请求)时,I3C主要主设备12通过时钟信号线16-2开始传输串行时钟SCL,并且可执行此后要执行的通信处理。
以这种方式,当在总线IF 11中执行通信期间连接I3C从设备14时,I3C从设备14检测到停止条件,此后识别出总线IF 11处于空闲状态,并且可没有任何问题地执行热连接请求。
然而,如图2的B所示,在支持热连接的I3C从设备14在没有执行总线IF 11的通信的定时t1连接到总线IF 11的情况下,因为在I3C主要主设备12和其他设备之间完成了通信,因此没有发出停止条件。在这种情况下,连接到总线IF 11的I3C从设备14达到I3C从设备14持续等待检测到停止条件的死锁。尽管连接到总线IF 11,但是I3C从设备14不能执行热连接请求,并且因此被转换到I3C从设备14不能参与总线IF 11的状态。
在如上所述检测将停止条件设置为由总线空闲计数器进行计数的开始点的条件的情况下,担心连接到总线IF 11的I3C从设备14到达死锁。因此,必须能够避免建立该状态,支持热连接的I3C从设备14在总线IF 11中的可靠参与,以及此后要执行的通信的正常执行。
<总线IF的配置的第一实例>
图3是描绘应用该技术的总线IF 11的第一实施例的配置的实例的框图。
图3中描绘的总线IF 11由通过数据信号线16-1和时钟信号线16-2彼此连接的I3C主要主设备12、I3C从设备14-1和14-2以及I2C从设备15来配置。
I3C主要主设备12包括发送和接收部21以及错误避免通信处理部22。
发送和接收部21通过数据信号线16-1和时钟信号线16-2与I3C从设备14和I2C从设备15执行信号的发送和接收。例如,发送和接收部21通过执行其定时与通过驱动时钟信号线16-2发送串行时钟SCL的定时匹配的数据信号线16-1的驱动(将电位切换到H电平或L电平)来向I3C从设备14或I2C从设备15发送信号。此外,发送和接收部21通过执行驱动由I3C从设备14或I2C从设备15将数据信号线16-1其定时与时钟信号线16-2的串行时钟SCL的定时匹配,来接收从I3C从设备14或I2C从设备15发送的信号。另外,时钟信号线16-2的驱动总是在主设备12侧执行。
在支持热连接的I3C从设备14可能连接到总线IF 11的情况下,错误避免通信处理部22定义发送和接收部21在执行与I2C从设备15的通信时的通信速度的下限。因此,错误避免通信处理部22可防止在I3C主要主设备12和I2C从设备15之间的通信期间执行非预期的热连接这一事实引起的任何通信错误的发生,如参考后面描述的图4所述。例如,如上所述,在I3C从设备14热连接时识别总线IF 11处于空闲状态需要1ms的情况下,错误避免通信处理部22将I2C从设备15的通信速度的下限限制为,例如,1kHz(H宽度=0.5mS)。简而言之,根据I2C从设备15在其通信中使用的串行时钟SCL的频率,时钟信号线16-2的电位处于H电平的时间段被限制为短于由I3C从设备14识别总线IF 11的空闲状态所需的时间段。
I3C从设备14包括发送和接收部31以及错误避免连接处理部32。
发送和接收部31通过数据信号线16-1和时钟信号线16-2执行与I3C主要主设备12的信号的发送和接收。例如,发送和接收部21通过主要主设备12执行数据信号线16-1的驱动将其定时与时钟信号线16-2的串行时钟SCL的定时匹配,接收从I3C主要主设备12发送的信号。此外,发送和接收部21通过执行数据信号线16-1的驱动与将其定时与时钟信号线16-2的串行时钟SCL的定时匹配,将信号发送到I3C主要主设备12。
错误避免连接处理部32执行连接处理以避免发生死锁,如上面参考图2所述的,并且使I3C从设备14能够可靠地执行热连接。例如,错误避免连接处理部32检测到数据信号线16-1和时钟信号线16-2的电位均为H电平的事实,该事实在此处被设置为总线空闲计数器的计数开始点的条件。
因此,错误避免连接处理部32监视数据信号线16-1和时钟信号线16-2的电位,并且在错误避免连接处理部32检测到数据信号线16-1和时钟信号线16-2的电位处于H电平的定时时,错误避免连接处理部32启动总线空闲计数器。当错误避免连接处理部32此后检测到数据信号线16-1和时钟信号线16-2的电位均为H电平的状态持续超过1ms的时间段时,错误避免连接处理部32识别出总线IF 11处于空闲状态并执行热连接请求。
I2C从设备15包括发送和接收部41,并且发送和接收部41通过数据信号线16-1和时钟信号线16-2与I3C主要主设备12执行信号的发送和接收。例如,对于I2C,提供了使用速度低于I3C中的通信速度的串行时钟SCL来执行通信,并且I2C从设备15以低于I3C从设备14的通信速度的速度执行通信。
图3中的总线IF 11中的热连接请求将参考图4描述。
如上面参考图3所述,I3C从设备14的错误避免连接处理部32检测到数据信号线16-1和时钟信号线16-2的电位均为H电平的事实,该事实在此处被设置为总线空闲计数器计数开始点的条件。此外,为I3C提供的是,当检测到数据信号线16-1和时钟信号线16-2的电位均为H电平的状态持续超过1ms的时间段的事实时,识别出总线IF 11处于空闲状态并且执行热连接请求。
例如,当I3C主要主设备12执行与I3C从设备14的通信时,数据信号线16-1和时钟信号线16-2的电位均为H电平的状态持续小于1ms。因此,在I3C主要主设备12与另一个I3C从设备14的通信期间,即使支持热连接的I3C从设备14连接到总线IF 11时,也不执行热连接请求,因为总线IF 11不处于空闲状态。因此,在这种情况下,在I3C主要主设备12完成与另一个I3C从设备14的通信的定时,连接到总线IF 11的I3C从设备14可检测到数据信号线16-1和时钟信号线16-2的电位均变为H电平并且可启动总线空闲计数器。
假设支持热连接的I3C从设备14此后在定时t1连接到总线IF 11,在该定时t1,不执行总线IF 11的通信,如图4的A所示。在这种情况下,I3C从设备14的错误避免连接处理部32检测到数据信号线16-1和时钟信号线16-2的电位均为H电平的事实,并且启动总线空闲计数器。当错误避免连接处理部32此后检测到数据信号线16-1和时钟信号线16-2的电位均为H电平的状态超过1ms的时间段的事实时,错误避免连接处理部32可识别出总线IF 11处于空闲状态。因此,错误避免连接处理部32可通过在错误避免连接处理部32识别出总线IF11处于空闲状态的定时t2将数据信号线16-1的电位从H电平切换到L电平来执行热连接请求。
可通过设置检测到数据信号线16-1和时钟信号线16-2的电位均为H电平的事实作为如上所述的总线空闲计数器的计数开始点的条件来避免如上参考图2所述的任何死锁的发生。
换句话说,支持热连接的I3C从设备14可以可靠地执行热连接以避免到达死锁,而不管在I3C从设备14连接到总线的定时是否在总线IF 11中执行任何通信。因此,总线IF 11可以可靠地使I3C从设备14参与总线IF 11,并且可正常地执行此后要执行的通信。
与上述有关,在I2C中,使用串行时钟SCL以低于I3C中的通信速度的速度执行通信,因此可以以非常低的速度执行通信,例如,0.1kHz(=10ms)等。因此,当I3C主要主设备12执行与I2C从设备15的通信时,数据信号线16-1和时钟信号线16-2的电位处于H电平的状态可持续超过1ms的时间段。
例如,如图4的B所示,取决于支持热连接的I3C从设备14连接到总线IF 11的定时t1,数据信号线16-1和时钟信号线16-2的电位均为H电平的状态可持续超过1ms的时间段。连接到总线IF 11的I3C从设备14可能在I3C从设备14错误地识别总线IF 11处于空闲状态的定时t2错误地执行热连接请求。然而,假设发生通信错误源于非预期的热连接请求,因为在定时t2,I3C主要主设备12和I2C从设备15彼此通信。
因此,在支持热连接的I3C从设备14可能连接到总线IF 11的情况下,I3C主要主设备12的错误避免通信处理部22将在I3C主要主设备12与I2C从设备15执行通信时所采用的通信速度的下限限制为,例如,1kHz(H宽度=0.5mS)。当I3C主要主设备12执行与I2C从设备15的通信时,数据信号线16-1和时钟信号线16-2各自处于H电平的状态持续超过1ms的时间段的事实可避免。
因此,在I3C主要主设备12和I2C从设备15之间的通信期间不执行任何非预期的热连接请求,并且避免任何上述通信错误的发生。
另外,当支持热连接的I3C从设备14不太可能连接到总线IF 11时,不需要限制在与I2C从设备15执行通信时采用的通信速度的下限。I3C主要主设备12的固件具有预先写入其中的信息,该信息指示支持热连接的I3C从设备14是否可能连接到总线IF 11,作为总线IF 11的系统设计工程师在该工程师执行设计时需要知道的设置信息(要求)。另外,I3C主要主设备12的固件具有写入其中的信息,作为符合连接到总线IF 11的I3C的标准的设备的数量,这些设备的静态地址以及与连接到总线IF 11的I2C从设备15相关的信息,作为设置信息。
如上所述,指示支持热连接的I3C从设备14是否可能连接到总线IF 11的信息被写入I3C主要主设备12的固件的原因是:I3C主要主设备12无法提前识别该信息。例如,假设指示I3C从设备14支持热连接的标志被设置在连接到总线IF 11的I3C从设备14内的寄存器中。然而,I3C主要主设备12不能在该I3C从设备14的电源转到其接通状态之前通过总线IF11读取该寄存器的内容。换句话说,在执行热连接之前,I3C主要主设备12不能识别支持热连接的I3C从设备14是否连接到总线IF 11。
如上所述,因此需要指示支持热连接的I3C从设备14是否可能连接到总线IF 11的信息预先写入I3C主要主设备12的固件中。关于此,除了写入固件之外,可通过例如使用设置在I3C主要主设备12中的外部连接端子设置引脚来识别支持热连接的I3C从设备14是否可能连接到总线IF11。
<I3C主要主设备和I3C从设备执行的处理>
将参考图5中描绘的流程图描述由I3C主要主设备12执行的处理。
例如,当接通I3C主要主设备12的电源时,开始处理,并且在步骤S11,错误避免通信处理部22读取写入I3C主要主设备12的固件中的设置信息。
在步骤S12,错误避免通信处理部22基于在步骤S11读取的设置信息,确定支持热连接的I3C从设备14是否可能连接到总线IF 11。
在错误避免通信处理部22在步骤S12确定支持热连接的I3C从设备14可能连接到总线IF 11的情况下,处理进入步骤S13。另一方面,在错误避免通信处理部22在步骤S12确定I3C从设备14不可能连接到总线IF11的情况下,不执行步骤S13的处理。
在步骤S13,错误避免通信处理部22为发送和接收部21定义在与I2C从设备15执行通信时采用的通信速度的下限。据此,发送和接收部21将I2C从设备15的通信速度的下限限制为例如约1kHz(H宽度=0.5mS)。
此后,在步骤S14,I3C主要主设备12执行通常的通信处理,并且发送和接收部21执行与I3C从设备14或I2C从设备15的信号的发送和接收。
在步骤S15,发送和接收部21确定是否检测到支持热连接的I3C从设备14的热连接请求。在例如当总线IF 11处于空闲状态时数据信号线16-1的电位从H电平切换到L电平的情况下,发送和接收部21确定检测到热连接请求。
在发送和接收部21在步骤S15确定没有检测到支持热连接的I3C从设备14的热连接请求的情况下,处理返回到步骤S14,此后类似地连续执行通常的通信处理。
另一方面,在发送和接收部21在步骤S15确定检测到支持热连接的I3C从设备14的热连接请求的情况下,处理进入步骤S16。
在步骤S16,发送和接收部21与请求热连接的I3C从设备14执行参与总线IF 11所需的各种类型的处理。此后,处理返回到步骤S14,此后类似地连续执行通常的通信处理。
如上所述,在支持热连接的I3C从设备14可能连接到总线IF 11的情况下,I3C主要主设备12可限制I2C从设备15的通信速度的下限。I3C主要主设备12因此可避免在I2C从设备15的通信期间执行任何非预期的热连接请求,并且可防止出现源自热连接请求的任何通信错误。因此,I3C主要主设备12可更可靠地执行总线IF 11中的通信。
将参考图6中所示的流程图描述当I3C从设备14执行热连接时由I3C从设备14执行的处理。
例如,当接通连接到总线IF 11的I3C从设备14的电源时,开始处理,并且在步骤S21,错误避免连接处理部32监视数据信号线16-1和时钟信号线16-2的电位。
在步骤S22,错误避免连接处理部32基于在步骤S21监视电位的结果,确定是否检测到由总线空闲计数器进行计数的开始点的条件。例如,如上面参考图3所述,当错误避免连接处理部32检测到数据信号线16-1和时钟信号线16-2的电位均处于H电平时,错误避免连接处理部32确定检测到总线空闲计数器的计数开始点的条件。
在步骤S22,在错误避免连接处理部32在步骤S22确定没有检测到由总线空闲计数器进行计数的开始点的条件的情况下,处理返回到步骤S21并继续执行对数据信号线16-1和时钟信号线16-2的电位的监视。
一方面,在错误避免连接处理部32在步骤S22确定检测到由总线空闲计数器进行计数的开始点的条件的情况下,错误避免连接处理部32启动总线空闲计数器开始计数,并且处理前进到步骤S23。
在步骤S23,错误避免连接处理部32判定是否确认总线IF 11处于空闲状态。例如,总线空闲计数器仅在数据信号线16-1和时钟信号线16-2各自保持在H电平的时间段期间继续计数。因此,当总线空闲计数器的计数超过1ms时,错误避免连接处理部32可确认总线IF11处于空闲状态。
在错误避免连接处理部32在步骤S23判定未确认总线IF 11处于空闲状态的情况下,处理返回到步骤S21。例如,在总线空闲计数器的计数小于1ms的时间段内数据信号线16-1或时钟信号线16-2的电位变为L电平的情况下,错误避免连接处理部32判定未确认总线IF 11处于空闲状态。简而言之,在这种情况下,总线IF 11不处于空闲状态,因此不执行热连接请求,并且处理返回到步骤S21并继续执行对数据信号线16-1和时钟信号线16-2的电位的监视。
另一方面,在错误避免连接处理部32在步骤S23确定总线IF 11处于空闲状态的情况下,处理前进到步骤S24,并且错误避免连接处理部32指示发送和接收部31执行热连接请求。响应于此,发送和接收部31通过将数据信号线16-1的电位从H电平切换到L电平来执行热连接请求。
在步骤S24的处理之后,I3C从设备14执行热连接时执行的处理结束。此后,例如,在如上所述的图5中的步骤S16,通过I3C主要主设备12执行参与总线IF 11所需的各种处理,并且I3C从设备14可参与总线IF 11。
如上所述,I3C从设备14可使用检测到数据信号线16-1和时钟信号线16-2的电位均处于H电平的事实,作为总线空闲计数器计数开始点的条件来确认总线IF 11是否处于空闲状态。由此可避免连接到总线IF 11的I3C从设备14不能开始确认总线IF 11是否处于空闲状态并且因此不能参与总线IF 11的事实。因此,连接到总线IF 11的I3C从设备14可以可靠地执行热连接请求,并且可参与总线IF 11以执行通信。
<总线IF的配置的第二实例>
图7是描绘应用该技术的总线IF 11的第二实施例的配置的实例的框图。
图7中描绘的总线IF 11A通过数据信号线16-1和时钟信号线16-2将I3C主要主设备12A和I3C从设备14-1至14-3相互连接而配置。另外,在总线IF 11A中,与图3中的总线IF11的配置相同的配置给出相同的参考标号,并且不再详细描述。
换句话说,总线IF 11A具有与参考图3描述的总线IF 11的配置不同的配置,不同点在于,总线IF 11A被禁止与I2C从设备15共存,并且被配置为不连接到I2C从设备15。
如上所述,在I3C主要主设备12和I2C从设备15之间的通信期间可能执行非预期的热连接请求,因为对于图3中的总线IF 11允许与I2C从设备15共存,因此,可能发生通信错误。图3中的总线IF 11因此需要通过限制在I3C主要主设备12执行与I2C从设备15的通信时所采用的通信速度的下限来避免发生任何通信错误。
相反,总线IF 11A被配置为不连接到I2C从设备15,因此也不执行任何非预期的热连接请求。因此,I3C主要主设备12A仅需要包括发送和接收部21,并且被配置为不需要包括图3中的错误避免通信处理部22。
而且,类似于图3中的总线IF 11的I3C从设备14,总线IF 11A的I3C从设备14包括发送和接收部31和错误避免连接处理部32,并且可执行热连接而不会达到任何死锁。换句话说,当I3C从设备14的错误避免连接处理部32检测到数据信号线16-1和时钟信号线16-2的电位均为H电平的事实时,避免错误连接处理部32使总线空闲计数器的计数开始并确认总线IF 11是否处于空闲状态。简而言之,I3C从设备14可执行与图5所示的流程图中的处理类似的处理。
如上所述,通过配置要被禁止与I2C从设备15共存的总线IF 11A,不会发生源自任何非预期的热连接请求的通信错误并且连接到总线IF11A的I3C从设备14可以可靠地执行热连接。因此,在总线IF 11A中,热连接的I3C从设备14可以可靠地执行通信。
关于上述内容,需要针对I2C从设备15连接到总线IF 11A的事实采取措施,即使禁止与I2C从设备15的任何共存。
例如,当I3C主要主设备12A执行与禁止项目连接的I2C从设备15的通信时,I3C从设备14执行热连接请求并且通信错误(在下文中,必要时,称为“HJ请求错误”)从而发生。然而,与传播延迟的发生相关联,I3C主要主设备12A可能无法检测到HJ请求错误。
将参考图8描述当在I3C主要主设备12A与I2C从设备15以0.1kHz(=10ms)的通信速度执行的通信期间发生HJ请求错误时流动的信号。
图8的A描绘了在I3C主要主设备12A可检测到HJ请求错误的情况下流动的信号的波形,并且图8的B描绘了在I3C主要主设备12A不能检测到HJ请求错误的情况下流动的信号的波形。而且,在图8的A和图8的B的每一个的上侧,描绘了I3C主要主设备12A的输出端子处的串行时钟SCLm和I3C主要主设备12A的输出端子处的串行数据SDAm。类似地,在图8的A和图8的B的每一个的下侧,描绘了I3C从设备14的输出端子处的串行时钟SCLs和I3C从设备14的输出端子处的串行数据SDAs。
如图8的A所示,当I3C主要主设备12A将串行时钟SCLm从H电平驱动到L电平时,串行时钟SCLs根据传播延迟而被延迟,并且此后从H电平切换到L电平。此后,在串行时钟SCLs和串行数据SDAs均为H电平的情况下,当支持热连接的I3C从设备14连接到总线IF 11A时,I3C从设备14启动总线空闲计数器。当1ms过后串行时钟SCLs和串行数据SDAs各自保持在H电平时,I3C从设备14将串行时钟SCLs从H电平驱动到L电平并执行热连接请求。
此时,如图8的A所示,在直到串行时钟SCLm根据传播延迟从H电平切换到L电平的时刻的定时在I3C主要主设备12A将串行时钟SCLm从H电平驱动到L电平的定时之前的情况下,I3C主要主设备12A可检测HJ请求错误。在这种情况下,I3C主要主设备12A因此在将串行时钟SCLm从H电平驱动到L电平之前根据与I2C从设备15的通信中使用的通信速度停止以与I2C从设备15的通信中使用的通信速度的串行时钟SCL的传输。然后,I3C主要主设备12A以与I3C从设备14的通信中使用的通信速度切换到串行时钟SCL的传输,并且可执行与I3C从设备14的通信。
另一方面,如图8的B所示,在直到串行时钟SCLm根据传播延迟从H电平切换到L电平的时刻的定时在I3C主要主设备12A将串行时钟SCLm从H电平驱动到L电平的定时之后的情况下,I3C主要主设备12A无法检测到HJ请求错误。简而言之,在从执行热连接请求到根据I3C主要主设备12A的驱动将串行时钟SCLs从H电平切换到L电平的切换之间的间隙小的情况下,如图8的B中的内部白色箭头所示,难以检测HJ请求错误。在这种情况下,I3C主要主设备12A因此不能与I3C从设备14执行任何通信。
对于如上所述发生HJ请求错误的状态,I3C主要主设备12A或I2C从设备15可采取下面描述的第一到第四措施。
在第一种措施中,在I3C主要主设备12A可检测到HJ请求错误的情况下,I3C主要主设备12A中断与I2C从设备15的通信,优先考虑请求热连接的I3C从设备14。之后,I3C主要主设备12A以I3C的通信中使用的通信速度发送串行时钟SCL,并执行I3C从设备14参与总线IF11A所需的处理。之后,I3C主要主设备12A以与中断之前使用的通信速度相同的通信速度重新开始与I2C从设备15的通信。另外,在第一种措施中,I3C主要主设备12A可再次检测HJ请求错误。因此,每当I3C主要主设备12A检测到HJ请求错误时,I3C主要主设备12A需要执行相同的处理。
在第二种措施中,在I3C主要主设备12A可检测到HJ请求错误的情况下,I3C主要主设备12A中断与I2C从设备15的通信,优先考虑请求热连接的I3C从设备14。之后,I3C主要主设备12A以I3C的通信中使用的通信速度发送串行时钟SCL,并执行I3C从设备14参与总线IF11A所需的处理。此后,I3C主要主设备12A将通信速度提高到高于通信中断之前的通信速度,直到没有HJ请求错误发生,将串行时钟SCL设置为例如等于或高于0.1kHz,并重新启动与I2C从设备15的通信。
在第三种措施中,在I3C主要主设备12A可检测到HJ请求错误的情况下,I3C主要主设备12A中断与I2C从设备15的通信,优先考虑请求热连接的I3C从设备14。之后,I3C主要主设备12A向I3C从设备14共同发送公共命令代码(DISEC CCC),该公共命令代码指示每个支持热连接的I3C从设备14此后不请求热连接。因此,在连接到总线IF 11A的每个I3C从设备14中,热连接请求被设置为无效(禁用热连接事件位)。之后,I3C主要主设备12A重启与I2C从设备15的中断的通信。
在第四种措施中,在I3C主要主设备12A不能检测到HJ请求错误的情况下,I3C主要主设备12A继续执行与I2C从设备15的通信。因此,必须使I3C从设备14能够识别出I3C主要主设备12A无法检测到HJ请求错误并再次执行热连接请求。
关于以上内容,将参考在图9中描绘的热连接请求之后发送的信号来描述第四种措施。
例如,在发送热连接请求(S)之后,I3C从设备14发送热连接预留地址(0×02)。另外,类似于发布开始条件(START),驱动热连接请求,即,将串行数据SDA从H电平切换到L电平的驱动。
另一方面,在I3C中,提供了其中接收到热连接请求(S)并且接下来其中接收到热连接预留地址(0×02)的I3C主要主设备12A选择并执行以下三个操作之一。
作为第一操作,I3C主要主设备12A发送指示不能正常执行信号的接收的NACK(否定确认)。其中接收到NACK的I3C从设备14可重试热连接请求。
作为第二操作,I3C主要主设备12A一旦发送指示信号的接收可正常执行的ACK(确认),并且接下来发送指示不请求任何热连接的公共命令代码(DISEC CCC)。与上述第三措施类似,在I3C从设备14中将热连接请求设置为无效(禁用热连接事件位)。
作为第三操作,如图9所示,在发送ACK之后,I3C主要主设备12A发送输入动态设备分配的ENTDAA(输入动态设备分配),从而分配地址。
如上所述,在I3C中,定义了I3C主要主设备12A响应于热连接请求执行第一到第三操作。因此,I3C从设备14可识别由以下事实引起的错误:在I3C从设备14检测到除为热连接请求定义的操作之外的任何操作被执行的情况下,执行与为热连接请求定义的操作不同的任何操作(在下文中,称为“HJ格式错误”)。
关于上述,在I3C主要主设备12A不能检测到HJ请求错误的情况下,I3C主要主设备12A继续执行与I2C从设备15的通信。另一方面,请求热连接的I3C从设备14通过执行热连接预约地址(0×02)等的发送,继续尝试之后要执行的通信。在如上所述I3C主要主设备12A连续执行与I2C从设备15的通信的情况下,请求热连接的I3C从设备14可基于不能执行上述第一至第三操作中的任何一个的事实检测HJ格式错误。
在第四种措施中,在检测到HJ格式错误之后,I3C从设备14因此一旦停止执行热连接请求的处理并且在经过足够的时间段之后再次执行热连接请求。由此可避免I3C从设备14到达死锁。
另外,作为第四种测量中的另一种方法,可采用I3C从设备14使用监视错误(现有S6错误)的方法。“监视错误”是一种原则上表示由I3C从设备14本身发送的值和在总线IF11A中发送的数据彼此不匹配的事实的错误。
例如,在I3C从设备14发送热连接请求而I3C主要主设备12A向I2C从设备15发送信号的情况下,信号在总线IF 11A中相互冲突,从而从两个信号中的每一个检测到监视错误。在检测到监视器错误之后,I3C从设备14因此一旦停止执行热连接请求的处理并且在经过足够的时间段之后再次执行热连接请求。由此可避免I3C从设备14到达死锁。
如上所述,提供为禁止其与I2C从设备15共存的总线IF 11A,以执行上述第一至第四种措施。I2C从设备15针对禁止项目连接到总线IF11A,并且即使当HJ请求错误发生时,I3C主设备12A也可响应连接到总线IF 11A的I3C从设备14的热连接请求。请求热连接的I3C从设备14可以可靠地参与总线IF 11A,并且可正常地执行此后要执行的通信。
<总线IF的配置的第三实例>
图10是描绘应用该技术的总线IF 11的第三实施例的配置的实例的框图。
图10中描绘的总线IF 11B通过数据信号线16-1和时钟信号线16-2将I3C主要主设备12B、I3C从设备14B-1和14B-2以及I2C从设备15彼此连接来配置。另外,在总线IF 11B中,与图3中的总线IF 11的配置相同的配置给出相同的参考标号,并且不再详细描述。
换句话说,总线IF 11B与图3中的总线IF 11的配置的不同点在于:I3C主要主设备12B包括错误避免通信处理部22B,其执行与图3中的错误避免通信处理部22B的处理不同的处理,并且I3C从设备14B不包括错误避免连接处理部32。
此外,I3C从设备14B检测其中设置的停止条件作为用于总线空闲计数器的计数开始点的条件以开始计数,类似于参考图2描述的情况。
为了避免I3C从设备14B的死锁,I3C主要主设备12B的错误避免通信处理部22B执行指示发送和接收部21定期发出包括停止条件的可选轮询信号的处理。根据该指令,发送和接收部21定期(例如,每10ms)执行发送轮询信号的轮询,该轮询信号不会不利地影响例如对总线IF 11B的整个系统的控制。
例如,作为指示获得设备状态的公共命令代码的get-status(GETSTATUS)可用作轮询信号。另外,也可使用指示获得48位的称为“PID(临时ID)”的信息的get-PID(GETPID)(例如,具有其中描述的设备的制造商名称等的固定值),指示获得设备的BCR(总线特性寄存器)的get-BCR(GETBCR)等。
如参考图2的B所描述的那样,即使当I3C从设备14在没有执行总线IF 11B的任何通信的定时连接时,因此通过定期发送轮询信号来避免I3C从设备14B的任何死锁。换句话说,连接到总线IF 11B的I3C从设备14B可通过检测包括在轮询信号中的停止条件来启动总线空闲计数器,并且此后可确定总线IF 11B是否处于空闲状态。
如上所述,在总线IF 11B中,I3C主要主设备12B定期发出包括停止条件的可选轮询信号,并且连接到总线IF 11B的I3C从设备14B可由此可靠地执行热连接请求。由此,支持热连接的I3C从设备14B可参与总线IF 11,并且可以可靠地执行通信。
<I3C主要主设备和I3C从设备的安装实例>
图11是描绘I3C主要主设备12的安装的实例的框图。
如图11所示,I3C主要主设备12包括第一总线空闲计数器51、第二总线空闲计数器52、选择部53,FSM(有限状态机)54、寄存器55、速度确定部56和常规传输定时器57。另外,寄存器55和速度确定部56不需要作为硬件安装。
关于上述内容,图11中描绘的I3C主要主设备12被配置为能够作为支持热连接的I3C从设备14操作,类似于图1中的I3C辅助主设备13。
图11中所示的第一总线空闲计数器51、第二总线空闲计数器52和选择部53因此仅在这些组件每个都作为支持热连接的I3C从设备14操作的情况下被驱动。由于以上原因,第一总线空闲计数器51、第二总线空闲计数器52和选择部53将在后面参考图12所示的I3C从设备14进行描述。
发送串行数据SDA的数据信号线16-1和发送串行时钟SCL的时钟信号线16-2连接到FSM 54。例如,FSM 54通过图12中所示的I3C从设备14的FMS 54驱动数据信号线16-1和时钟信号线16-2执行信号的发送和接收。
寄存器55具有记录在其上的在FSM 54执行通信时使用的各种类型的信息,并且例如具有记录在其上的速度指令值,该速度指令值指示在与如上参考图4所述的I2C从设备15执行通信时采用的通信速度的下限。
速度确定部56从寄存器55读取速度指令值,并在FSM 54中进行设置,使得通信速度不降低由速度指令值指示的通信速度的下限。此后,速度确定部56确定当I3C主要主设备12执行与I2C从设备15的通信时,其通信速度是否降低了下限。例如,在速度确定部56确定I2C从设备15的通信速度降低下限的情况下,速度确定部56在寄存器55中记录信息,指示出现降低下限的通信速度的错误。
当包括如上参照图10所述的停止条件的可选轮询信号被定期发送时,定期发送定时器57测量作为定期间隔的时间段,并指示FSM 54执行轮询信号发送的定时。例如,在操作I3C主要主设备12以定期发送包括停止条件的可选轮询信号的情况下,FSM 54向定期发送计时器57提供指示验证作为定期间隔的时间段的测量的信号(stp_timer_en)。响应于此,定期发送定时器57向FSM 54提供指示当发送轮询信号的定时到来时发送轮询信号的信号(stp_send)。
可如上安装I3C主要主设备12,并且I3C主要主设备12可控制由总线IF 11执行的通信处理,以避免发生任何死锁或如上所述的任何通信错误。
图12是描绘安装I3C从设备14的实例的框图。
如图12所示,I3C从设备14包括第一总线空闲计数器51、第二总线空闲计数器52、选择部53和FSM54。
第一总线空闲计数器51和第二总线空闲计数器52分别连接到数据信号线16-1和时钟信号线16-2,并且每个执行计数以确认总线IF 11处于空闲状态。
例如,第一总线空闲计数器51具有设定在其中的条件,用于计数开始点,以在检测到停止条件时开始计数,如参考图2所述。因此,第一总线空闲计数器51在检测到停止条件的定时开始计数,并且当数据信号线16-1和时钟信号线16-2每个都在H电平的时间段持续例如1ms,输出指示该状态的信号。例如,第一总线空闲计数器51可检测正常通信结束时发出的停止条件或者由图11中的定期发送定时器57定期发送的轮询信号中包括的停止条件。
而且,如参考图4所述,第二总线空闲计数器52具有设定在其中的计数开始点的条件,当检测到数据信号线16-1和时钟信号线16-2的电位均为H电平的事实开始计数。因此,第二总线空闲计数器52在检测到数据信号线16-1和时钟信号线16-2的电位均为H电平的事实的定时开始计数,并且当时间数据信号线16-1和时钟信号线16-2各自处于H电平的状态的时间段变为例如1ms,输出表示该状态的信号。
根据通过外部端子执行的设置(例如,使用引脚的设置),选择部53选择第一总线空闲计数器51和第二总线空闲计数器52中的任何一个的输出,并将该输出提供给FSM 54。另外,除了外部端子之外,可使用例如非易失性存储器来执行对选择部53的选择的设置,并且寄存器的设置变为无效。这是因为,例如,需要在I3C主要主设备12访问寄存器之前执行选择部53中的选择设置。
FSM 54通过用图11中的I3C主要主设备12的FSM 54驱动数据信号线16-1和时钟信号线16-2来执行信号的发送和接收。此后,FSM 54将数据信号线16-1的电位从H电平切换到L电平,并在I3C从设备14连接到总线IF 11时执行热连接请求,并且从第一总线空闲计数器51或第二总线空闲计数器52输出的信号通过选择部53提供给它。
可如上安装I3C从设备14,并且当第一总线空闲计数器51检测到停止条件时,或者当第二总线空闲计数器52检测到数据信号线16-1和时钟信号线16-的电位时均都处于H电平时,可响应其中任何一个执行热连接请求。另外,在总线IF 11的配置被确定为其中任何一个的情况下,根据该确定,I3C从设备14可包括第一总线空闲计数器51和第二总线空闲计数器52中的一个。
例如,当I3C从设备14包括第一总线空闲计数器51时,I3C从设备14用作上述图10中的I3C从设备14B。另一方面,当I3C从设备14包括第二总线空闲计数器52时,I3C从设备14用作上述图3或图7中的I3C从设备14。
由图11中的I3C主要主设备12执行的处理将参考图13描述。
例如,当接通I3C主要主设备12的电源时,开始处理,并且在步骤S31,I3C主要主设备12读取写入固件中的设置信息。
在步骤S32,I3C主要主设备12的FSM 54基于在步骤S31读取的设置信息,确定支持热连接的I3C从设备14是否可能连接到总线IF 11。
在I3C主要主设备12的FSM 54在步骤S32确定支持热连接的I3C从设备14不可能连接到总线IF 11的情况下,处理进入步骤S37并且执行通常的通信处理。换句话说,在这种情况下,执行通信处理而不发生与I3C从设备14的热连接相关联的任何死锁或任何通信错误。
另一方面,在I3C主要主设备12的FSM 54在步骤S32确定支持热连接的I3C从设备14可能连接到总线IF 11的情况下,处理进入步骤S33。
在步骤S33,I3C主要主设备12的FSM 54确定可能连接到总线IF 11的支持热连接的I3C从设备14是否包括图12中所示的第二总线空闲计数器52。另外,执行该确定所需的设置信息也由系统设计工程师预先写入I3C主要主设备12的固件中。
在步骤S33确定可能连接到总线IF 11的支持热连接的I3C从设备14不包括图12中所示的第二总线空闲计数器52的情况下,处理进入步骤S34。换句话说,在这种情况下,该I3C从设备14采用第一总线空闲计数器51检测到的停止条件作为计数开始点的条件。可能连接到总线IF 11的I3C从设备14需要避免其死锁的发生,因为假设该I3C从设备14不像上述图10所示的I3C从设备14B那样包括错误避免连接处理部32。
在步骤S34,I3C主要主设备12的FSM 54进行设置以定期发送包括停止条件的可选轮询信号。例如,I3C主要主设备12的FSM 54将指示定期间隔的时间段的测量有效的信号(stp_timer_en)提供给定期发送定时器57。此后,处理进入步骤S37,并且,在这种情况下,在通常的通信处理中定期执行轮询信号的发送。
另一方面,在步骤S33确定可能连接到总线IF 11的支持热连接的I3C从设备14包括图12所示的第二总线空闲计数器52的情况下,处理进入步骤S35。
在步骤S35,I3C主要主设备12的FSM 54基于在步骤S31读取的设置信息确定I2C从设备15是否连接到总线IF 11。
在I3C主要主设备12的FSM 54在步骤S35确定I2C从设备15未连接到总线IF 11的情况下,处理进入步骤S37并执行通常的通信处理。换句话说,在这种情况下,总线IF 11可执行通信处理而不执行上面参考图4描述的非预期的热连接请求。
另一方面,在I3C主要主设备12的FSM 54在步骤S35确定I2C从设备15连接到总线IF 11的情况下,处理进入步骤S36。换句话说,在这种情况下,总线IF 11需要避免如上面参考图2所述的任何死锁的发生。
在步骤S36,I3C主要主设备12的FSM 54限制连接到总线IF 11的I2C从设备15的通信速度的下限。例如,速度确定部56从寄存器55读取速度指令值,并且在FSM 54中设置该值,并且FSM 54由此可限制下限以根据速度指令值的指令建立通信速度。
在步骤S36的处理之后,处理进入步骤S37,并且I3C主要主设备12的FSM 54执行通常的通信处理,使得通信速度不降低在步骤S36设置的通信速度的下限。
如上所述,I3C主要主设备12可避免出现任何死锁、任何通信错误等,并且可基于当前连接到总线IF 11的设备或可能连接到总线IF 11的设备,可靠地执行通信处理。换句话说,I3C主要主设备12可使用FSM 54、速度确定部56和定期发送计时器57执行图3中的错误避免通信处理部22的功能或图10中的错误避免通信处理部22B的功能。
另外,该技术不限于符合I3C标准的总线IF 11,并且适用于符合其他标准的总线IF 11。此外,连接到总线IF 11的设备的类型和数量不限于例如图1所示的配置的实例中的那些。
<计算机的配置实例>
关于上述内容,参考上述流程图描述的处理不一定需要按照作为流程图描述的顺序按时间顺序处理,并且包括彼此并行执行或者各自单独执行的处理(例如,并行处理或每个对象的各自处理)。此外,程序可以是由单个CPU处理的程序,也可以是由多个CPU分配处理的程序。
此外,上述一系列处理(信息处理方法)可由硬件执行或可由软件执行。在通过软件执行一系列处理的情况下,构成软件的程序从其上记录有程序的程序记录介质安装到包含在专用硬件中的计算机或可通过在其中安装各种类型的程序执行各种类型功能的个人计算机,例如通用个人计算机。
图14是描绘根据程序执行上述一系列处理的计算机的硬件配置的实例的框图。
在计算机中,CPU(中央处理单元)101、ROM(只读存储器)102、RAM(随机存取存储器)103和EEPROM(电可擦除可编程只读存储器)104通过总线105彼此相互连接。总线105还连接到输入和输出接口106,输入和输出接口106连接到外部。
在如上配置的计算机中,例如,CPU 101通过总线105将存储在ROM102和EEPROM104中的程序下载到RAM 103并执行程序,从而执行上述一系列处理。此外,由计算机(CPU101)执行的程序可预先写入ROM102中,或者另外,可安装到EEPROM 104中并通过输入和输出接口105从外部更新。
<配置组合的实例>
此外,该技术还可采用以下配置。
(1)一种通信装置,包括:
发送和接收部,执行与至少一个以上的其他通信装置的信号的发送和接收;和
错误避免部,在以通过总线执行通信的方式配置的通信系统已经操作的状态下,所述错误避免部执行避免在通信装置追加连接到所述通信系统时发生任何错误的处理。
(2)根据上述(1)所述的通信装置,其中
所述通信装置包括根据第一通信装置的控制执行通信且追加连接于所述通信装置的第二通信装置,其中,所述第一通信部具有通过所述总线进行通信的主动权,
所述发送和接收部通过构成所述总线的数据信号线和时钟信号线执行与所述其他通信装置的信号的发送和接收,并且
所述错误避免部将检测到所述数据信号线和所述时钟信号线的电位均为H电平作为开始计数的条件,当所述错误避免部检测到所述数据信号线和所述时钟信号线的电位均为H电平的状态持续比预定时间段更长的时间段时,所述错误避免部使所述发送和接收部发送请求对所述通信系统追加连接的信号。
(3)根据上述(2)所述的通信装置,其中
所述通信装置包括第一通信装置,所述第一通信装置具有通过所述总线进行通信的主动权,并且
在所述第二通信装置有可能追加连接到所述通信系统的情况下,所述错误避免部限制与低速通信装置进行通信时所采用的通信速度的下限,其中,所述低速通信装置是以低于所述第二通信装置的通信中采用的通信速度的速度执行通信的通信装置。
(4)根据上述(3)所述的通信装置,其中
所述第一通信装置具有预先设置在所述第一通信装置中的信息,所述信息指示所述第二通信装置是否有可能追加连接到所述通信系统。
(5)根据上述(1)至(4)中任一项所述的通信装置,其中
所述通信装置是具有通过所述总线进行通信的主动权的第一通信装置,并且
所述错误避免部使所述发送和接收部定期发送任选的轮询信号,所述轮询信号包括声明使用所述总线的所述通信的结束的结束信号。
(6)根据上述(1)至(5)中任一项所述的通信装置,其中
所述通信装置包括第一通信装置,所述第一通信装置具有通过所述总线通信的主动权,
所述发送和接收部通过构成所述总线的数据信号线和时钟信号线执行与所述其他通信装置的信号的发送和接收,并且
所述错误避免部
在被追加连接到所述通信系统的第二通信装置不具备以检测到所述数据信号线和所述时钟信号线的电位均为H电平的事实作为计数开始来进行计数的计数部的情况下,所述错误避免部使所述发送和接收部定期发送任选的轮询信号,所述轮询信号包括声明使用所述总线的所述通信结束的结束信号,并且
在被追加连接到所述通信系统的所述第二通信装置具备以检测到所述数据信号线和所述时钟信号线的电位均为H电平的事实作为计数开始来进行计数的计数部,并且低速通信装置包括以低于连接到所述通信系统的所述第二通信装置的通信中采用的通信速度的速度执行通信的通信装置的情况下,所述错误避免部限制在利用所述低速通信装置执行通信时所采用的通信速度的下限。
(7)一种通信方法,包括以下步骤:
与至少一个以上的其他通信装置执行信号的发送和接收;和
在被配置为能够通过总线执行通信的通信系统已经操作的状态下,执行避免在通信装置追加连接到所述通信系统时发生任何错误的处理。
(8)一种使计算机执行包括以下步骤的处理的程序:
执行与至少一个以上的其他通信装置的信号的发送和接收;和
在被配置为能够通过总线执行通信的通信系统已经操作的状态下,执行避免在通信装置追加连接到所述通信系统时发生任何错误的处理。
(9)一种通信系统,被配置为能够使用具有通过总线进行通信的主动权的第一通信装置和根据所述第一通信装置的控制执行通信的第二通信装置来通过所述总线执行通信,其中
所述第一通信装置和所述第二通信装置均包括执行与至少一个以上的其他通信装置的信号的发送和接收的发送和接收部,并且
所述第一通信装置或所述第二通信装置中的至少一者包括错误避免部,在所述第一通信装置至少连接到所述总线并且所述通信系统已经操作的状态下,所述错误避免部执行避免在所述第二通信装置追加连接到所述通信系统时发生任何错误的处理。
另外,本实施例不限于上述实施例,并且可在不脱离本公开的主旨的范围内对其进行各种改变。
[参考标志清单]
11总线IF,12I3C主设备,13I3C辅助主设备,14I3C从设备,15I2C从设备,16-1数据信号线,16-2时钟信号线,21发送和接收部,22错误避免通信处理部,31发送和接收部,32错误避免连接处理部,41发送和接收部,51第一总线空闲计数器,52第二总线空闲计数器,53选择部,54FSM,55寄存器,56速度确定部,57定期发送定时器。

Claims (9)

1.一种通信装置,包括:
发送和接收部,使用通过总线执行通信的通信系统执行与至少一个以上的其他通信装置的信号的发送和接收;和
错误避免部,在所述通信系统通过所述总线执行所述通信的状态下,所述错误避免部执行避免发生错误的处理,
其中,所述错误是所述至少一个以上的其他通信装置追加地连接到所述通信系统但没有被所述通信装置检测到的错误。
2.根据权利要求1所述的通信装置,其中
所述通信装置包括根据第一通信装置的控制来执行通信且追加连接到所述通信装置的第二通信装置,其中,所述第一通信装置具有通过所述总线进行通信的主动权,
所述发送和接收部通过构成所述总线的数据信号线和时钟信号线执行与所述其他通信装置的信号的发送和接收,并且
所述错误避免部将检测到所述数据信号线和所述时钟信号线的电位均为H电平作为开始计数的条件,当所述错误避免部检测到所述数据信号线和所述时钟信号线的电位均为H电平的状态持续比预定时间段更长的时间段时,所述错误避免部使所述发送和接收部发送请求对所述通信系统追加连接的信号。
3.根据权利要求2所述的通信装置,其中
所述通信装置包括第一通信装置,所述第一通信装置具有通过所述总线进行通信的主动权,并且
在第二通信装置有可能追加连接到所述通信系统的情况下,所述错误避免部限制与低速通信装置进行通信时所采用的通信速度的下限,其中,所述低速通信装置是以低于所述第二通信装置的通信中采用的通信速度的速度执行通信的通信装置。
4.根据权利要求3所述的通信装置,其中
所述第一通信装置具有预先设置在所述第一通信装置中的信息,所述信息指示所述第二通信装置是否有可能追加连接到所述通信系统。
5.根据权利要求1所述的通信装置,其中
所述通信装置是具有通过所述总线进行通信的主动权的第一通信装置,并且
所述错误避免部使所述发送和接收部定期发送任选的轮询信号,所述轮询信号包括声明使用所述总线的通信的结束的结束信号。
6.根据权利要求1所述的通信装置,其中
所述通信装置包括第一通信装置,所述第一通信装置具有通过所述总线通信的主动权,
所述发送和接收部通过构成所述总线的数据信号线和时钟信号线执行与所述其他通信装置的信号的发送和接收,并且
所述错误避免部
在被追加连接到所述通信系统的第二通信装置不具备以检测到所述数据信号线和所述时钟信号线的电位均为H电平的事实作为计数开始来进行计数的计数部的情况下,所述错误避免部使所述发送和接收部定期发送任选的轮询信号,所述轮询信号包括声明使用所述总线的通信结束的结束信号,并且
在被追加连接到所述通信系统的所述第二通信装置具备以检测到所述数据信号线和所述时钟信号线的电位均为H电平的事实作为计数开始来进行计数的计数部,并且低速通信装置包括以低于连接到所述通信系统的所述第二通信装置的通信中采用的通信速度的速度执行通信的通信装置的情况下,所述错误避免部限制在利用所述低速通信装置执行通信时所采用的通信速度的下限。
7.一种用于通信装置的通信方法,包括以下步骤:
使用通过总线执行通信的通信系统执行与至少一个以上的其他通信装置执行信号的发送和接收;和
在所述通信系统通过所述总线执行所述通信的状态下,执行避免发生错误的处理,
其中,所述错误是所述至少一个以上的其他通信装置追加地连接到所述通信系统但没有被所述通信装置检测到的错误。
8.一种计算机可读存储介质,存储指令,当被计算装置执行时,所述指令使所述计算装置执行包括以下步骤的方法:
使用通过总线执行通信的通信系统,通信装置执行与至少一个以上的其他通信装置的信号的发送和接收;和
在所述通信系统通过所述总线执行所述通信的状态下,执行避免发生错误的处理,
其中,所述错误是所述至少一个以上的其他通信装置追加地连接到作数通信系统但没有被所述通信装置检测到的错误。
9.一种通信系统,被配置为能够使用具有通过总线进行通信的主动权的第一通信装置和根据所述第一通信装置的控制执行通信的第二通信装置来通过所述总线执行通信,其中
所述第一通信装置和所述第二通信装置均包括使用通过所述总线执行通信的所述通信系统执行与至少一个以上的其他通信装置的信号的发送和接收的发送和接收部,并且
所述第一通信装置或所述第二通信装置中的至少一者包括错误避免部,在所述第一通信装置至少连接到所述总线并且所述通信系统已经操作的状态下,所述错误避免部执行避免发生错误的处理,
其中,所述错误是所述第二通信装置追加地连接到所述通信系统但没有被所述第一通信装置检测到的错误。
CN201880010770.0A 2017-02-14 2018-01-31 通信装置、通信方法、程序和通信系统 Active CN110268393B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017-024940 2017-02-14
JP2017024940 2017-02-14
PCT/JP2018/003063 WO2018150868A1 (ja) 2017-02-14 2018-01-31 通信装置、通信方法、プログラム、および、通信システム

Publications (2)

Publication Number Publication Date
CN110268393A CN110268393A (zh) 2019-09-20
CN110268393B true CN110268393B (zh) 2024-03-08

Family

ID=63169778

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880010770.0A Active CN110268393B (zh) 2017-02-14 2018-01-31 通信装置、通信方法、程序和通信系统

Country Status (7)

Country Link
US (1) US10942885B2 (zh)
EP (1) EP3584711B1 (zh)
JP (1) JP7146650B2 (zh)
KR (1) KR102554978B1 (zh)
CN (1) CN110268393B (zh)
TW (1) TWI834603B (zh)
WO (1) WO2018150868A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6670585B2 (ja) * 2015-10-30 2020-03-25 Juki株式会社 管理装置
DE102019201533A1 (de) * 2019-02-07 2020-08-13 Robert Bosch Gmbh Systemkomponente mit konfigurierbarem Kommunikationsverhalten und Verfahren zum Betreiben einer solchen Systemkomponente
CN110990313B (zh) * 2019-11-29 2021-07-30 苏州浪潮智能科技有限公司 一种i3c总线处理时钟拉伸的方法、设备以及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6591322B1 (en) * 2000-08-01 2003-07-08 Sun Microsystems, Inc. Method and apparatus for connecting single master devices to a multimaster wired-and bus environment
JP2008197752A (ja) * 2007-02-08 2008-08-28 Sharp Corp データ通信誤動作防止装置、電子機器、データ通信誤動作防止装置の制御方法、データ通信誤動作防止装置の制御プログラム、及び当該プログラムを記録した記録媒体
CN101483544A (zh) * 2008-01-10 2009-07-15 丰田自动车株式会社 故障定位装置、通信装置及故障定位方法
CN102521187A (zh) * 2011-11-29 2012-06-27 广东东研网络科技有限公司 一种i2c总线通信死锁解决方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6356984B1 (en) 1998-06-30 2002-03-12 Sun Microsystems, Inc. Digital data processing system having a data bus and a control bus
JP3214461B2 (ja) 1998-10-20 2001-10-02 日本電気株式会社 バス制御装置
DE19850469A1 (de) * 1998-11-02 2000-05-11 Siemens Ag Automatisierungssystem und Verfahren zum Zugriff auf die Funktionalität von Hardwarekomponenten
EP1152548A1 (en) * 2000-05-05 2001-11-07 Lucent Technologies Inc. Increased data communication capacity of a high rate wireless network
US6874052B1 (en) 2000-09-29 2005-03-29 Lucent Technologies Inc. Expansion bridge apparatus and method for an I2C bus
WO2002099741A1 (en) * 2001-06-06 2002-12-12 Koninklijke Philips Electronics N.V. Data carrier comprising memory means for storing information significant for intermediate operating states
US20030174658A1 (en) * 2002-03-14 2003-09-18 John Kuo Wireless multiplexing computer network system
US7082488B2 (en) 2003-06-12 2006-07-25 Hewlett-Packard Development Company, L.P. System and method for presence detect and reset of a device coupled to an inter-integrated circuit router
EP1494125A1 (en) * 2003-07-03 2005-01-05 Thomson Licensing S.A. Method and data structure for random access via a bus connection
DE102005061392A1 (de) * 2005-12-22 2007-06-28 Robert Bosch Gmbh Bus-Guardian eines Teilnehmers eines Kommunikationssystems, sowie Teilnehmer für ein Kommunikationssystem
TWI416337B (zh) * 2010-04-21 2013-11-21 Via Tech Inc 資料傳輸系統以及資料傳輸方法
TWI474179B (zh) 2010-04-28 2015-02-21 Hon Hai Prec Ind Co Ltd 多設備連接系統
JP2012068907A (ja) 2010-09-24 2012-04-05 Nec Casio Mobile Communications Ltd バス接続回路及びバス接続方法
CN102073613B (zh) 2010-12-15 2013-05-08 创新科存储技术有限公司 一种消除i2c总线死锁的装置及方法
US20130019039A1 (en) * 2011-06-10 2013-01-17 Intersil Americas LLC System and method for operating a one-wire protocol slave in a two-wire protocol bus environment
JP6107933B2 (ja) * 2013-03-29 2017-04-05 富士通株式会社 接続制御装置、情報処理装置、及び接続制御方法
JP2014232414A (ja) 2013-05-29 2014-12-11 ルネサスエレクトロニクス株式会社 I2c通信スレーブ装置
US10237087B2 (en) * 2013-09-02 2019-03-19 Samsung Electronics Co., Ltd. Method for controlling transmission speed and electronic device thereof
EP3087795B1 (en) * 2014-03-21 2017-08-02 Sony Corporation Communications device and methods of communicating via a wireless access interface to perform device-to-device communications
US9734121B2 (en) * 2014-04-28 2017-08-15 Qualcomm Incorporated Sensors global bus

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6591322B1 (en) * 2000-08-01 2003-07-08 Sun Microsystems, Inc. Method and apparatus for connecting single master devices to a multimaster wired-and bus environment
JP2008197752A (ja) * 2007-02-08 2008-08-28 Sharp Corp データ通信誤動作防止装置、電子機器、データ通信誤動作防止装置の制御方法、データ通信誤動作防止装置の制御プログラム、及び当該プログラムを記録した記録媒体
CN101483544A (zh) * 2008-01-10 2009-07-15 丰田自动车株式会社 故障定位装置、通信装置及故障定位方法
CN102521187A (zh) * 2011-11-29 2012-06-27 广东东研网络科技有限公司 一种i2c总线通信死锁解决方法

Also Published As

Publication number Publication date
KR102554978B1 (ko) 2023-07-14
EP3584711B1 (en) 2021-11-24
JP7146650B2 (ja) 2022-10-04
US10942885B2 (en) 2021-03-09
KR20190113772A (ko) 2019-10-08
US20200012612A1 (en) 2020-01-09
JPWO2018150868A1 (ja) 2019-12-12
EP3584711A4 (en) 2020-02-12
TW201830263A (zh) 2018-08-16
EP3584711A1 (en) 2019-12-25
CN110268393A (zh) 2019-09-20
WO2018150868A1 (ja) 2018-08-23
TWI834603B (zh) 2024-03-11

Similar Documents

Publication Publication Date Title
CN110268393B (zh) 通信装置、通信方法、程序和通信系统
JP4558519B2 (ja) 情報処理装置およびシステムバス制御方法
RU2571583C2 (ru) Устройство и способ опроса адресов одного или более подчиненных устройств в системе связи
US10936524B2 (en) Bus system with slave devices
CN110908841A (zh) 一种i2c通信异常恢复方法及装置
EP2962900B1 (en) Vehicle control device
US8521932B2 (en) Arbitrator and arbitrating method applied to system management bus system
WO2012046634A1 (ja) 電子装置およびシリアルデータ通信方法
CN103530215B (zh) 一种内部集成电路主机的自检方法、装置及主机
CN101561790B (zh) 一种主控机与从机通信的方法、系统及装置
JP4646859B2 (ja) Usb機器、およびusb接続システム
JP2013236220A (ja) シリアル通信装置、シリアル通信システム、シリアル通信方法
US9432545B2 (en) Information processing apparatus, method of controlling the same, and storage medium for controlling transition to a sleep mode and setting of an interrupt setting in accordance with reception of data
CN109074343B (zh) 通信设备、通信方法、程序、以及通信系统
JP2011215855A (ja) Usbデバイス制御回路、及びusbデバイスの制御方法
JP2013045354A (ja) プリンタ装置、通信システム、通信方法
CN112445744B (zh) I2c通信
JP6136754B2 (ja) 通信制御装置及び画像形成装置
JP2016210035A (ja) 通信装置、制御方法、プログラム
JP2018055472A (ja) 情報処理装置、デバイス、情報処理方法及びプログラム
JP2008204005A (ja) 周辺装置の通信方法、コンピュータプログラム、及び周辺装置
JP4941212B2 (ja) 電子デバイス、データ処理装置、及びバス制御方法
JP2006048106A (ja) 周辺機器デバイス装置
JP2014071834A (ja) 通信装置およびプログラム
CN116827714A (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