WO2018150868A1 - 通信装置、通信方法、プログラム、および、通信システム - Google Patents

通信装置、通信方法、プログラム、および、通信システム Download PDF

Info

Publication number
WO2018150868A1
WO2018150868A1 PCT/JP2018/003063 JP2018003063W WO2018150868A1 WO 2018150868 A1 WO2018150868 A1 WO 2018150868A1 JP 2018003063 W JP2018003063 W JP 2018003063W WO 2018150868 A1 WO2018150868 A1 WO 2018150868A1
Authority
WO
WIPO (PCT)
Prior art keywords
communication
bus
communication device
slave
signal line
Prior art date
Application number
PCT/JP2018/003063
Other languages
English (en)
French (fr)
Inventor
高橋 宏雄
横川 峰志
俊久 百代
直弘 越坂
Original Assignee
ソニーセミコンダクタソリューションズ株式会社
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 ソニーセミコンダクタソリューションズ株式会社 filed Critical ソニーセミコンダクタソリューションズ株式会社
Priority to KR1020197019878A priority Critical patent/KR102554978B1/ko
Priority to US16/482,637 priority patent/US10942885B2/en
Priority to EP18754893.8A priority patent/EP3584711B1/en
Priority to CN201880010770.0A priority patent/CN110268393B/zh
Priority to JP2018568088A priority patent/JP7146650B2/ja
Publication of WO2018150868A1 publication Critical patent/WO2018150868A1/ja

Links

Images

Classifications

    • 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
    • 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
    • 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
    • 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)

Definitions

  • the present disclosure relates to a communication device, a communication method, a program, and a communication system, and more particularly, to a communication device, a communication method, a program, and a communication system that can perform communication more reliably.
  • I2C Inter-Integrated Circuit
  • bus IF Interface
  • I3C Inter Integrated Integrated Circuit
  • I2C and I3C are configured to be able to communicate with slaves connected to the bus IF according to control by a master having the initiative of communication via the bus IF.
  • I3C also has a function to maintain compatibility so that it can communicate with I2C slaves, and a function called hot join that allows slaves to participate in the bus IF from the middle. Provided.
  • Patent Document 1 discloses a digital data processing system in which a host processor and a subsystem controller are interconnected by I2C.
  • Patent Document 2 discloses a method for realizing a communication protocol arranged in a layer on top of a standard I2C protocol.
  • the present disclosure has been made in view of such a situation, and is intended to enable more reliable communication.
  • a communication apparatus is configured to be capable of communicating with a transmission / reception unit that transmits and receives signals to and from at least one other communication apparatus via a bus.
  • an error avoidance unit that performs processing for avoiding the occurrence of an error when a communication device is additionally connected to the communication system in a state where is already operating.
  • a communication method or program includes a communication system configured to transmit and receive signals to and from at least one other communication device and perform communication via a bus.
  • a communication system includes: a first communication device having the initiative of communication via a bus; and a second communication device that performs communication according to control by the first communication device.
  • each of the first communication device and the second communication device transmits / receives a signal to / from at least one other communication device.
  • An error avoiding unit is provided that performs processing for avoiding an error when the second communication device is additionally connected to the communication system.
  • a communication system configured to transmit / receive signals to / from at least one other communication device and perform communication via a bus is already in operation. In such a state, processing for avoiding an error when a communication device is additionally connected to the communication system is performed.
  • communication can be performed more reliably.
  • bus IF and hot join It is a figure explaining the flow of a hot join request. It is a block diagram showing an example of composition of a 1st embodiment of bus IF to which this art is applied. It is a figure explaining a hot join request. It is a flowchart explaining the process which an I3C main master performs. It is a flowchart explaining the process performed when an I3C slave performs a hot join. It is a block diagram showing an example of composition of a 2nd embodiment of bus IF to which this art is applied. It is a figure explaining the detection of an HJ request error. It is a figure which shows an example of the signal transmitted following a hot join request.
  • FIG. 18 is a block diagram illustrating a configuration example of an embodiment of a computer to which the present technology is applied.
  • the bus IF 11 shown in FIG. 1 includes an I3C main master 12, I3C secondary masters 13-1 and 13-2, I3C slaves 14-1 to 14-3, and I2C slaves 15-1 and 15-2. 16-1 and a clock signal line 16-2.
  • FIG. 1 shows an example in which the I3C slave 14-3 is hot-joined to the bus IF 11.
  • the I3C main master 12 is a device having the initiative of communication in the bus IF 11, and communicates with other devices connected to the bus IF 11 via the data signal line 16-1 and the clock signal line 16-2. Can do.
  • the I3C secondary masters 13-1 and 13-2 are devices having a function capable of taking the initiative of communication in the bus IF 11 in place of the I3C main master 12, and perform communication according to control by the I3C main master 12. When it is disconnected, the same operation as the I3C slave 14 is performed.
  • the I3C secondary master 13 when it is not necessary to distinguish between the I3C secondary masters 13-1 and 13-2 as appropriate, they are simply referred to as the I3C secondary master 13.
  • the I3C slaves 14-1 to 14-3 are devices that perform communication in accordance with control by the I3C main master 12, and communicate with the I3C main master 12 via the data signal line 16-1 and the clock signal line 16-2. be able to.
  • the I3C slaves 14-1 to 14-3 are simply referred to as the I3C slave 14.
  • the I2C slaves 15-1 and 15-2 are devices capable of performing communication in accordance with the I2C standard. Since the I3C maintains compatibility with the I2C, the bus IF11 follows the control by the I3C main master 12. Communication can be performed. Hereinafter, when it is not necessary to distinguish between the I 2 C slaves 15-1 and 15-2 as appropriate, they are simply referred to as I 2 C slave 15.
  • the data signal line 16-1 is a signal line for transmitting the serial data SDA
  • the clock signal line 16-2 is a signal line for transmitting the serial clock SCL.
  • the bus IF 11 can operate normally even in a configuration in which not only the I3C secondary master 13 and the I3C slave 14 compliant with the I3C standard but also the I2C slave 15 compliant with the I2C standard is mixed.
  • the power consumption of the bus IF 11 as a whole can be reduced by turning off the power. it can.
  • the bus IF11 in a state of being operated by a device other than the I3C slave 14-3 is used.
  • the I3C slave 14-3 is hot-joined. That is, as shown in the lower side of FIG. 1, after the power supply of the I3C slave 14-3 is switched to the on state, a hot join request as described later is performed, so that the I3C slave 14-3 is connected to the bus IF11. Can participate in.
  • the I3C slave 14-3 with the power on can be physically connected to the bus IF 11 that is operating.
  • the I3C slave 14-3 can be hot-joined.
  • the I3C slave 14 is additionally joined to the bus IF 11 that is operated by the I3C main master 12, the I3C slave 14, and the I2C slave 15, and for example, only one I3C main master 12 is operated.
  • a new I3C slave 14 may be hot-joined to the existing bus IF 11.
  • the I3C slave 14 corresponding to the hot join switches the potential of the data signal line 16-1 from the H level to the L level when the bus IF 11 recognizes that the bus IF 11 is in the idle state. It can be prescribed to do. Further, the I3C slave 14 detects, by the bus idle counter, that the state in which the data signal line 16-1 and the clock signal line 16-2 are at the H level continues for a longer period than the predetermined period, whereby the bus IF11 Can be recognized as being idle.
  • FIG. 2 shows the hot join request when the detection of the stop condition (STOP) declaring the end of communication on the bus IF 11 is set as the count starting condition for the bus idle counter to start counting. An example is shown.
  • the I3C slave 14 corresponding to the hot join is connected to the bus IF11 at the timing t1 during the communication of the bus IF11, the I3C slave 14 is in a stop condition. It will be in the state which waits for to be detected. Then, the I3C slave 14 connected to the bus IF 11 activates the bus idle counter in response to detection of the stop condition and starts counting.
  • the I3C slave 14 detects that the potentials of the data signal line 16-1 and the clock signal line 16-2 are at the H level for longer than a predetermined period, for example, longer than 1 ms, It can be recognized that the IF 11 is in an idle state. Therefore, the I3C slave 14 corresponding to the hot join switches the potential of the data signal line 16-1 from the H level to the L level at the timing t2 after recognizing that the bus IF 11 is in the idle state. It can be performed.
  • a predetermined period for example, longer than 1 ms
  • the I3C main master 12 when the I3C main master 12 recognizes that there is a hot join request (or an interrupt request), it starts transmission of the serial clock SCL via the clock signal line 16-2 and performs subsequent communication processing. be able to.
  • the I3C slave 14 recognizes that the bus IF 11 is in an idle state after detecting the stop condition, and there is no problem. A hot join request can be made.
  • the I3C slave 14 connected to the bus IF 11 may be deadlocked when the detection of the stop condition is set as the condition of the count starting point of the bus idle counter. Therefore, it is necessary to avoid such a state so that the I3C slave 14 corresponding to hot join can surely participate in the bus IF 11 and perform subsequent communication normally.
  • FIG. 3 is a block diagram illustrating a configuration example of the first embodiment of the bus IF 11 to which the present technology is applied.
  • the bus IF 11 shown in FIG. 3 is configured by connecting an I3C main master 12, I3C slaves 14-1 and 14-2, and an I2C slave 15 via a data signal line 16-1 and a clock signal line 16-2. Is done.
  • the I3C main master 12 includes a transmission / reception unit 21 and an error avoidance communication processing unit 22.
  • the transmission / reception unit 21 transmits / receives signals to / from the I3C slave 14 and the I2C slave 15 via the data signal line 16-1 and the clock signal line 16-2.
  • the transmission / reception unit 21 drives the data signal line 16-1 in accordance with the timing of the serial clock SCL to be transmitted by driving the clock signal line 16-2 (switches the potential to H level or L level).
  • a signal is transmitted to the I3C slave 14 or the I2C slave 15.
  • the transmission / reception unit 21 drives the data signal line 16-1 with the I3C slave 14 or the I2C slave 15 in accordance with the timing of the serial clock SCL of the clock signal line 16-2, whereby the I3C slave 14 or the I2C slave The signal transmitted from 15 is received.
  • the driving for the clock signal line 16-2 is always performed by the master 12 side.
  • the error avoidance communication processing unit 22 sets the lower limit of the communication speed when communicating with the I2C slave 15 to the transmission / reception unit 21. Stipulate. As a result, the error avoidance communication processing unit 22 causes a communication error due to an unintended hot join request being made during communication between the I3C main master 12 and the I2C slave 15, as described later with reference to FIG. Can be prevented. For example, as described above, when it takes 1 ms to recognize that the bus IF 11 is idle when the I3C slave 14 is hot-joined, the error avoidance communication processing unit 22 sets the lower limit of the communication speed of the I2C slave 15.
  • Is limited to, for example, 1 kHz (H width 0.5 mS). That is, the time that the potential of the clock signal line 16-2 is at the H level according to the frequency of the serial clock SCL used for communication by the I2C slave 15 is longer than the time required for the I3C slave 14 to recognize the idle state of the bus IF11. Limited to be shorter.
  • the I3C slave 14 includes a transmission / reception unit 31 and an error avoidance connection processing unit 32.
  • the transmission / reception unit 31 transmits / receives a signal to / from the I3C main master 12 via the data signal line 16-1 and the clock signal line 16-2.
  • the transmission / reception unit 31 is transmitted from the I3C main master 12 when the I3C main master 12 drives the data signal line 16-1 in accordance with the timing of the serial clock SCL of the clock signal line 16-2.
  • Receive a signal The transmission / reception unit 31 transmits a signal to the I3C main master 12 by driving the data signal line 16-1 in accordance with the timing of the serial clock SCL of the clock signal line 16-2.
  • the error avoidance connection processing unit 32 performs a connection process for avoiding the occurrence of deadlock as described with reference to FIG. 2 and ensuring that the I3C slave 14 can perform hot join. Do. For example, in the error avoidance connection processing unit 32, detection that the potentials of the data signal line 16-1 and the clock signal line 16-2 are at the H level is set as a condition of the count start point of the bus idle counter.
  • the error avoidance connection processing unit 32 monitors the potentials of the data signal line 16-1 and the clock signal line 16-2, and the potentials of the data signal line 16-1 and the clock signal line 16-2 are at the H level.
  • the bus idle counter is activated at the timing when the signal is detected.
  • the error avoidance connection processing unit 32 detects that the state in which the data signal line 16-1 and the clock signal line 16-2 are at the H level continues for longer than 1 ms, the bus IF 11 is in the idle state. And make a hot join request.
  • the I2C slave 15 includes a transmission / reception unit 41, and the transmission / reception unit 41 transmits / receives a signal to / from the I3C main master 12 via the data signal line 16-1 and the clock signal line 16-2.
  • the transmission / reception unit 41 transmits / receives a signal to / from the I3C main master 12 via the data signal line 16-1 and the clock signal line 16-2.
  • communication is performed using a serial clock SCL that is slower than communication in I3C, and the I2C slave 15 performs communication at a lower speed than the I3C slave 14.
  • the error avoidance connection processing unit 32 of the I3C slave 14 detects that the potentials of the data signal line 16-1 and the clock signal line 16-2 are at the H level. It is set as a condition for the count start point of the counter. Further, when I3C detects that the state in which the data signal line 16-1 and the clock signal line 16-2 are at the H level continues for longer than 1 ms, the I3C recognizes that the bus IF11 is in the idle state, It is specified to make a hot join request.
  • the I3C main master 12 when the I3C main master 12 is communicating with the I3C slave 14, the state in which the data signal line 16-1 and the clock signal line 16-2 are at the H level is less than 1 ms. Therefore, when the I3C main master 12 is communicating with another I3C slave 14, even if the I3C slave 14 corresponding to hot join is connected to the bus IF 11, the bus IF 11 is not in an idle state, so a hot join request Is not done. Therefore, in this case, at the timing when the I3C main master 12 finishes communication with the other I3C slaves 14, the I3C slave 14 connected to the bus IF 11 receives the potentials of the data signal line 16-1 and the clock signal line 16-2. , The bus idle counter can be activated.
  • the error avoidance connection processing unit 32 of the I3C slave 14 detects that the potentials of the data signal line 16-1 and the clock signal line 16-2 are at the H level, and starts the bus idle counter.
  • the error avoidance connection processing unit 32 detects that the state in which the data signal line 16-1 and the clock signal line 16-2 are at the H level continues for longer than 1 ms, the error avoidance connection processing unit 32 recognizes that the bus IF 11 is in the idle state. can do. Therefore, the error avoidance connection processing unit 32 makes a hot join request by switching the potential of the data signal line 16-1 from the H level to the L level at the timing t2 after the bus IF 11 is recognized as being in the idle state. be able to.
  • the detection that the potentials of the data signal line 16-1 and the clock signal line 16-2 are at the H level is set as the condition of the count start point of the bus idle counter, so that it is described above with reference to FIG. Such a deadlock can be avoided.
  • the timing at which the I3C slave 14 corresponding to hot join is connected to the bus IF 11 is sure to prevent the I3C slave 14 from becoming deadlocked regardless of whether or not communication is performed in the bus IF 11.
  • hot joins can be performed. Therefore, in the bus IF 11, the I3C slave 14 can surely participate in the bus IF 11, and the subsequent communication can be normally performed.
  • the data signal line 16-1 and the clock signal line 16-2 are at the H level depending on the timing t1 at which the I3C slave 14 corresponding to hot join is connected to the bus IF11. May last longer than 1 ms. Therefore, the I3C slave 14 connected to the bus IF 11 may make a hot join request at the timing t2 when the bus IF 11 is erroneously recognized as being in an idle state. However, since the I3C main master 12 and the I2C slave 15 are communicating at the timing t2, it is assumed that a communication error occurs due to such an unintended hot join request.
  • I3C slave 14 corresponding to hot join is connected to bus IF 11 as setting information (requirements) that the system designer of bus IF 11 needs to know in the firmware of I3C main master 12.
  • Information indicating whether or not there is a possibility of being written is written in advance.
  • the firmware of the I3C main master 12 includes the number of devices conforming to the I3C standard connected to the bus IF 11, the static addresses of those devices, information about the I2C slave 15 connected to the bus IF 11, and the like. It is written as setting information.
  • the I3C main master 12 writes the information indicating whether or not the I3C slave 14 corresponding to the hot join may be connected to the bus IF 11 in the firmware of the I3C main master 12. This is because it cannot be recognized in advance. For example, suppose that a flag indicating that the I3C slave 14 supports hot join is set in a register inside the I3C slave 14 connected to the bus IF 11. However, the I3C main master 12 cannot read the contents of the register via the bus IF 11 before the power supply of the I3C slave 14 is turned on. That is, the I3C main master 12 cannot recognize whether the I3C slave 14 corresponding to hot join is connected to the bus IF 11 before hot join is performed.
  • information indicating whether or not the I3C slave 14 corresponding to hot join may be connected to the bus IF 11 needs to be written in the firmware of the I3C main master 12 in advance.
  • the firmware for example, by setting a pin using an external connection terminal provided in the I3C main master 12, there is a possibility that the I3C slave 14 corresponding to hot join is connected to the bus IF11. It can be recognized whether there is.
  • the error avoidance communication processing unit 22 reads the setting information written in the firmware of the I3C main master 12 in step S11.
  • step S12 the error avoidance communication processing unit 22 determines whether there is a possibility that the I3C slave 14 corresponding to hot join is connected to the bus IF 11 based on the setting information read in step S11.
  • step S12 when the error avoidance communication processing unit 22 determines that there is a possibility that the I3C slave 14 corresponding to hot join is connected to the bus IF 11, the process proceeds to step S13. On the other hand, if it is determined that there is no such possibility, the process of step S13 is skipped.
  • step S14 the I3C main master 12 executes normal communication processing, and the transmission / reception unit 21 transmits / receives a signal to / from the I3C slave 14 or the I2C slave 15.
  • step S15 the transmission / reception unit 21 determines whether or not a hot join request by the I3C slave 14 corresponding to hot join has been detected. For example, when the bus IF 11 is in an idle state and the potential of the data signal line 16-1 is switched from the H level to the L level, the transmission / reception unit 21 determines that a hot join request has been detected.
  • step S15 when the transmitting / receiving unit 21 determines that the hot join request by the I3C slave 14 corresponding to hot join has not been detected, the process returns to step S14, and the normal communication process continues in the same manner. Done.
  • step S15 when the transmitting / receiving unit 21 determines in step S15 that a hot join request by the I3C slave 14 corresponding to hot join has been detected, the process proceeds to step S16.
  • step S16 the transmission / reception unit 21 performs various processes necessary for participation in the bus IF 11 with the I3C slave 14 that has requested hot join. Thereafter, the process returns to step S14, and the normal communication process is continuously performed in the same manner.
  • the I3C main master 12 can limit the lower limit of the communication speed with the I2C slave 15 when there is a possibility that the I3C slave 14 corresponding to hot join is connected to the bus IF 11. Thereby, the I3C main master 12 can avoid the occurrence of an unintended hot join request during communication of the I2C slave 15, and can prevent the occurrence of a communication error due to such a hot join request. Therefore, the I3C main master 12 can perform communication on the bus IF 11 more reliably.
  • step S21 the error avoidance connection processing unit 32 determines the potentials of the data signal line 16-1 and the clock signal line 16-2. To monitor.
  • step S22 the error avoidance connection processing unit 32 determines whether or not the condition of the count start point of the bus idle counter is detected based on the monitoring result of the potential in step S21. For example, when the error avoidance connection processing unit 32 detects that the potentials of the data signal line 16-1 and the clock signal line 16-2 are at the H level as described with reference to FIG. It is determined that the condition of the count start point of the idle counter has been detected.
  • step S22 when the error avoidance connection processing unit 32 determines that the condition of the count start point of the bus idle counter is not detected, the process returns to step S21, and the data signal line 16-1 and the clock signal line 16-2 are returned. Is continuously monitored.
  • step S22 when the error avoidance connection processing unit 32 determines in step S22 that the condition of the count start point of the bus idle counter has been detected, the error avoidance connection processing unit 32 activates the bus idle counter to start counting, The process proceeds to step S23.
  • step S23 the error avoidance connection processing unit 32 determines whether or not the bus IF 11 is confirmed to be in an idle state. For example, the bus idle counter continues counting only while the data signal line 16-1 and the clock signal line 16-2 are maintained at the H level. Therefore, the error avoidance connection processing unit 32 can confirm that the bus IF 11 is in an idle state when the count by the bus idle counter exceeds 1 ms.
  • step S23 when the error avoidance connection processing unit 32 determines that the bus IF 11 is not confirmed to be in an idle state, the process returns to step S21.
  • the process returns to step S21.
  • the potential of the data signal line 16-1 or the clock signal line 16-2 becomes L level while the count by the bus idle counter is less than 1 ms, it is not confirmed that the bus IF 11 is in the idle state. Determined. That is, in this case, since the bus IF 11 is not in an idle state, a hot join request is not made, and the processing returns to step S21, and monitoring of the potentials of the data signal line 16-1 and the clock signal line 16-2 is continued. Done.
  • step S23 if the error avoidance connection processing unit 32 determines in step S23 that the bus IF 11 has been confirmed to be idle, the process proceeds to step S24, and the error avoidance connection processing unit 32 Instruct to make a hot join request.
  • the transmitter / receiver 31 makes a hot join request by switching the potential of the data signal line 16-1 from the H level to the L level.
  • step S24 the processing executed when the I3C slave 14 performs hot join is terminated. Thereafter, for example, in step S16 of FIG. 5 described above, various processes necessary for participation in the bus IF 11 are performed with the I3C main master 12, and the I3C slave 14 may participate in the bus IF 11. it can.
  • the I3C slave 14 detects that the potentials of the data signal line 16-1 and the clock signal line 16-2 are at the H level, and the bus IF 11 is in the idle state with the condition of the count start point of the bus idle counter. It can be confirmed whether or not. This prevents the I3C slave 14 connected to the bus IF 11 from starting to check whether or not the bus IF 11 is in an idle state and cannot participate in the bus IF 11. it can. Therefore, the I3C slave 14 connected to the bus IF 11 can surely make a hot join request and can communicate by participating in the bus IF 11.
  • FIG. 7 is a block diagram illustrating a configuration example of the second embodiment of the bus IF 11 to which the present technology is applied.
  • the bus IF 11A shown in FIG. 7 is configured by connecting an I3C main master 12A and I3C slaves 14-1 to 14-3 via a data signal line 16-1 and a clock signal line 16-2.
  • the bus IF 11A components that are the same as those in the bus IF 11 in FIG. 3 are given the same reference numerals, and detailed descriptions thereof are omitted.
  • the bus IF 11A is different from the bus IF 11 described with reference to FIG. 3 in that the coexistence of the I 2 C slave 15 is prohibited and the I 2 C slave 15 is not connected.
  • the I3C main master 12A only needs to include the transmission / reception unit 21, and does not need to include the error avoidance communication processing unit 22 of FIG.
  • the I3C slave 14 of the bus IF 11A includes a transmission / reception unit 31 and an error avoidance connection processing unit 32, and performs hot join without causing a deadlock. be able to. That is, when the error avoidance connection processing unit 32 of the I3C slave 14 detects that the potentials of the data signal line 16-1 and the clock signal line 16-2 are at the H level, the bus idle counter starts counting, and the bus It is confirmed whether the IF 11 is in an idle state. That is, the I3C slave 14 can perform the same processing as the flowchart shown in FIG.
  • the bus IF 11A has a configuration in which the coexistence of the I2C slave 15 is prohibited, so that a communication error due to an unintended hot join request does not occur, and the I3C slave 14 connected to the bus IF 11A. Can reliably perform hot joins. Therefore, on the bus IF 11A, the hot-joined I3C slave 14 can reliably communicate.
  • the I3C main master 12A when the I3C main master 12A is communicating with the I2C slave 15 connected against the prohibited items, the I3C slave 14 issues a communication error (hereinafter referred to as an HJ request error as appropriate) by making a hot join request. Occurs). However, as the propagation delay occurs, the I3C main master 12A may not be able to detect the HJ request error.
  • an HJ request error a communication error
  • FIG. 8A shows a signal waveform when the I3C main master 12A can detect an HJ request error.
  • FIG. 8B shows a signal waveform when the I3C main master 12A shows an HJ request error.
  • the waveform of the signal when it cannot be detected is shown.
  • 8A and 8B the serial clock SCLm at the output terminal of the I3C main master 12A and the serial data SDAm at the output terminal of the I3C main master 12A are shown.
  • serial clock SCLs at the output end of the I3C slave 14 and serial data SDAs at the output end of the I3C slave 14 are shown.
  • the I3C main master 12A drives the serial clock SCLm from the H level to the L level
  • the serial clock SCLs is switched from the H level to the L level after being delayed according to the propagation delay.
  • the I3C slave 14 corresponding to hot join is connected to the bus IF 11A when the serial clock SCLs and the serial data SDAs are at the H level
  • the I3C slave 14 starts the bus idle counter.
  • 1 ms elapses while the serial clock SCLs and the serial data SDAs are maintained at the H level
  • the I3C slave 14 drives the serial clock SCLs from the H level to the L level to make a hot join request.
  • the I3C main master 12A drives the serial clock SCLm from the H level to the L level until the serial clock SCLm is switched from the H level to the L level according to the propagation delay. If the timing is earlier than the I3C main master 12A, the H3 request error can be detected. Therefore, in this case, the I3C main master 12A communicates with the I2C slave 15 before driving the serial clock SCLm from the H level to the L level according to the communication speed used for the communication with the I2C slave 15. Stop sending the speed serial clock SCL.
  • the I3C main master 12 ⁇ / b> A can communicate with the I3C slave 14 by switching to transmission of the serial clock SCL at a communication speed used for communication with the I3C slave 14.
  • the I3C main master 12A drives the serial clock SCLm from the H level to the L level until the serial clock SCLm is switched from the H level to the L level according to the propagation delay. If it is later than the timing, the I3C main master 12A cannot detect the HJ request error. That is, as indicated by the white arrow in FIG. 8B, when the interval from when the hot join request is made until the serial clock SCLs is switched from the H level to the L level according to the driving of the I3C main master 12A, It is difficult to detect an HJ request error. Therefore, in this case, the I3C main master 12A cannot communicate with the I3C slave 14.
  • the I3C main master 12A or the I2C slave 15 can take the following first to fourth countermeasures against the situation where the HJ request error occurs as described above.
  • the I3C main master 12A when the I3C main master 12A can detect the HJ request error, the I3C slave 14 that has requested hot join gives priority to interrupting the communication with the I2C slave 15. Then, the I3C main master 12A transmits a serial clock SCL at a communication speed used for I3C communication, and performs processing necessary for the I3C slave 14 to participate in the bus IF 11A. Thereafter, the I3C main master 12A resumes communication with the I2C slave 15 at the same communication speed as before the interruption. Note that in the first countermeasure, the I3C main master 12A may detect the HJ request error again. For this reason, the I3C main master 12A needs to perform the same processing every time it detects an HJ request error.
  • the I3C main master 12A when the I3C main master 12A can detect the HJ request error, the I3C slave 14 that has requested the hot join is prioritized and the communication with the I2C slave 15 is interrupted. Then, the I3C main master 12A transmits a serial clock SCL at a communication speed used for I3C communication, and performs processing necessary for the I3C slave 14 to participate in the bus IF 11A. After that, the I3C main master 12A increases the communication speed to the extent that no HJ request error occurs, and resumes communication with the I2C slave 15 by increasing the communication speed, for example, by setting the serial clock SCL to 0.1 kHz or higher. To do.
  • the I3C main master 12A when the I3C main master 12A can detect the HJ request error, the I3C slave 14 that has requested hot join gives priority to interrupting the communication with the I2C slave 15. Then, the I3C main master 12A simultaneously transmits a common command code (DISEC CCC) instructing that the I3C slave 14 corresponding to hot join does not request hot join thereafter. Thereby, in each I3C slave 14 connected to the bus IF 11A, the hot join request is set to invalid (Hot-Join Event bit is disabled). Thereafter, the I3C main master 12A resumes communication with the interrupted I2C slave 15.
  • DISEC CCC common command code
  • the I3C main master 12A continues to communicate with the I2C slave 15 when the HJ request error cannot be detected. For this reason, it is necessary for the I3C slave 14 to recognize that the H3 request error cannot be detected in the I3C main master 12A and to make a hot join request again.
  • the I3C slave 14 transmits the hot join reservation address (0x02) following the transmission of the hot join request (S).
  • the hot join request that is, the drive for switching the serial data SDA from the H level to the L level, is driven in the same manner as the issuance of the start condition (START).
  • the I3C main master 12A that receives the hot join request (S) and subsequently receives the hot join reservation address (0x02) selects and performs one of the following three operations. It is prescribed.
  • the I3C main master 12A transmits a NACK (Negative Acknowledgment) indicating that the signal could not be normally received.
  • NACK Negative Acknowledgment
  • the I3C slave 14 that has received NACK can retry the hot join request.
  • the I3C main master 12A once transmits an ACK (Acknowledgement) indicating that the signal can be normally received, and then instructs a common command not to request hot join. Send the code (DISEC CCC).
  • ACK Acknowledgement
  • DISEC CCC Send the code
  • the I3C slave 14 sets the hot join request to invalid (Hot-Join Event bit is disabled).
  • the I3C main master 12A transmits an ENTDAA (Enter Dynamic Assignment) for inputting the dynamic device assignment and assigns an address as shown in FIG.
  • ENTDAA Enter Dynamic Assignment
  • I3C IV it is defined that the I3C main master 12A performs the first to third operations in response to a hot join request. Therefore, if the I3C slave 14 detects that an operation other than these is performed, an error (hereinafter referred to as an HJ format error) due to an operation different from the operation defined for the hot join request being performed. Can be recognized.
  • an error hereinafter referred to as an HJ format error
  • the I3C main master 12A if the I3C main master 12A cannot detect the HJ request error, the I3C main master 12A continues to communicate with the I2C slave 15. On the other hand, the I3C slave 14 that has requested hot join transmits the hot join reserved address (0x02) and tries to continue communication thereafter. In this way, when the I3C main master 12A continues to communicate with the I2C slave 15, the I3C slave 14 that has requested hot join is based on the fact that none of the first to third operations described above is performed. Thus, an HJ format error can be detected.
  • the I3C slave 14 detects an HJ format error, it temporarily stops the process of making a hot join request, and makes a hot join request again after a sufficient time has elapsed. Thereby, it is possible to avoid deadlock of the I3C slave 14.
  • the monitoring error is an error indicating that the value transmitted by the I3C slave 14 itself does not match the data transmitted on the bus IF 11A.
  • the I3C slave 14 transmits a hot join request while the I3C main master 12A transmits a signal to the I2C slave 15, a monitoring error is detected in either signal due to a signal collision on the bus IF 11A. The Therefore, after detecting a monitoring error, the I3C slave 14 temporarily stops the process of making a hot join request, and makes a hot join request again after a sufficient time has elapsed. Thereby, it is possible to avoid deadlock of the I3C slave 14.
  • the bus IF 11A in which the coexistence of the I2C slave 15 is prohibited is defined to perform the first to fourth measures as described above.
  • the I3C main master 12A should respond to the hot join request by the I3C slave 14 connected to the bus IF 11A. Can do. Therefore, the I3C slave 14 requesting hot join can surely participate in the bus IF 11A, and the subsequent communication can be normally performed.
  • FIG. 10 is a block diagram illustrating a configuration example of the third embodiment of the bus IF 11 to which the present technology is applied.
  • the bus IF 11B shown in FIG. 10 is configured by connecting an I3C main master 12B, I3C slaves 14B-1 and 14B-2, and an I2C slave 15 via a data signal line 16-1 and a clock signal line 16-2. Is done.
  • the bus IF 11B components that are the same as those in the bus IF 11 in FIG. 3 are given the same reference numerals, and detailed descriptions thereof are omitted.
  • the I3C main master 12B is configured to include an error avoidance communication processing unit 22B that performs processing different from the error avoidance communication processing unit 22 of FIG. 3, and the I3C slave 14B includes the error avoidance communication processing unit 22B of FIG.
  • the configuration is different from the bus IF 11 of FIG. 3 in that the bypass connection processing unit 32 is not provided.
  • detecting the stop condition is set as a condition of the count starting point at which the bus idle counter starts counting.
  • the error avoidance communication processing unit 22B of the I3C main master 12B periodically issues an arbitrary polling signal including a stop condition to the transmission / reception unit 21 in order to avoid deadlock of the I3C slave 14B.
  • the transmission / reception unit 21 performs polling that periodically transmits a polling signal that does not adversely affect the control of the entire system of the bus IF 11B (for example, every 10 ms).
  • a get command which is a common command code for instructing device status acquisition
  • a get PID for instructing acquisition of information called a 48-bit PID (Provisional ID) (for example, a fixed value in which the name of a device manufacturer is described), or a BCR (Bus Characteristics Register) of the device ) Or the like may be used.
  • the I3C slave 14B connected to the bus IF 11B can start the bus idle counter by detecting the stop condition included in the polling signal, and then whether or not the bus IF 11B is in the idle state. Can be determined.
  • the I3C main master 12B periodically issues an arbitrary polling signal including a stop condition, so that the I3C slave 14B connected to the bus IF 11B reliably makes a hot join request. be able to. Thereby, the I3C slave 14B corresponding to the hot join can participate in the bus IF 11 and reliably communicate.
  • FIG. 11 is a block diagram illustrating an implementation example of the I3C main master 12.
  • the I3C main master 12 includes a first bus idle counter 51, a second bus idle counter 52, a selection unit 53, an FSM (Finite State State Machine) 54, a register 55, a speed determination unit 56, and A periodic transmission timer 57 is provided. Note that the register 55 and the speed determination unit 56 need not be implemented as hardware.
  • FSM Finite State State Machine
  • the I3C main master 12 shown in FIG. 11 is configured to be able to operate as an I3C slave 14 corresponding to hot join in the same manner as the I3C secondary master 13 of FIG. Therefore, the first bus idle counter 51, the second bus idle counter 52, and the selection unit 53 shown in FIG. 11 are driven only when operating as the I3C slave 14 corresponding to hot join. Accordingly, the first bus idle counter 51, the second bus idle counter 52, and the selection unit 53 will be described later with reference to the I3C slave 14 shown in FIG.
  • the FSM 54 is connected with a data signal line 16-1 for transmitting serial data SDA and a clock signal line 16-2 for transmitting serial clock SCL.
  • the FSM 54 transmits and receives signals by driving the data signal line 16-1 and the clock signal line 16-2 with the FSM 54 of the I3C slave 14 shown in FIG.
  • Various kinds of information used when the FSM 54 performs communication is recorded in the register 55. For example, the lower limit of the communication speed when communicating with the I2C slave 15 as described above with reference to FIG. 4 is instructed. Speed indication value is recorded.
  • the speed determination unit 56 reads the speed instruction value from the register 55 and performs settings for the FSM 54 so as not to fall below the lower limit of the communication speed specified by the speed instruction value. Then, when the I3C main master 12 communicates with the I2C slave 15, the speed determination unit 56 determines whether or not the communication speed has fallen below the lower limit. For example, if the speed determination unit 56 determines that the communication speed with the I2C slave 15 is lower than the lower limit, the speed determination unit 56 records information indicating that an error has occurred in which the communication speed is lower than the lower limit in the register 55.
  • the periodic transmission timer 57 When the periodic transmission timer 57 periodically transmits an arbitrary polling signal including the stop condition as described above with reference to FIG. 10, the periodic transmission timer 57 measures the periodic interval and transmits the polling signal.
  • the FSM 54 For example, when the I3C main master 12 is operated so as to periodically transmit an arbitrary polling signal including a stop condition, the FSM 54 is a signal (stp_timer_en) instructing to enable the timing of the periodic interval. Is supplied to the periodic transmission timer 57. In response to this, the periodic transmission timer 57 supplies a signal (stp_send) instructing transmission of the polling signal to the FSM 54 when it is time to transmit the polling signal.
  • stp_send instructing transmission of the polling signal to the FSM 54 when it is time to transmit the polling signal.
  • the I3C main master 12 can be mounted, and the I3C main master 12 can control the communication processing by the bus IF 11 so as to avoid the occurrence of the deadlock or communication error as described above. .
  • FIG. 12 is a block diagram showing an implementation example of the I3C slave 14.
  • the I3C slave 14 includes a first bus idle counter 51, a second bus idle counter 52, a selection unit 53, and an FSM 54.
  • the first bus idle counter 51 and the second bus idle counter 52 are connected to the data signal line 16-1 and the clock signal line 16-2, respectively, for confirming that the bus IF 11 is in an idle state. Count.
  • the first bus idle counter 51 is set with a count starting condition so that counting is started when a stop condition is detected. Therefore, the first bus idle counter 51 starts counting at the timing when the stop condition is detected, and the time during which the state where the data signal line 16-1 and the clock signal line 16-2 are at the H level is continued. For example, when 1 ms is reached, a signal indicating that is output.
  • the first bus idle counter 51 receives a stop condition issued when normal communication ends or a stop condition included in a polling signal periodically transmitted by the periodic transmission timer 57 in FIG. Can be detected.
  • the second bus idle counter 52 counts when it detects that the potentials of the data signal line 16-1 and the clock signal line 16-2 are at the H level, as described with reference to FIG.
  • the count starting condition is set to start the process. Accordingly, the second bus idle counter 52 starts counting at the timing when it detects that the potentials of the data signal line 16-1 and the clock signal line 16-2 are at the H level, and the data signal line 16-1 and the clock signal line 16-2.
  • the time during which the state of the signal line 16-2 is at the H level is, for example, 1 ms, a signal indicating that is output.
  • the selection unit 53 selects one of the outputs from the first bus idle counter 51 and the second bus idle counter 52 according to the setting (for example, setting using a pin) performed via the external terminal.
  • the selection setting for the selection unit 53 can be performed using, for example, a non-volatile memory in addition to the external terminal, and cannot be set by a register. This is because, for example, before the I3C main master 12 accesses the register, it is necessary to set selection for the selection unit 53.
  • the FSM 54 transmits and receives signals by driving the data signal line 16-1 and the clock signal line 16-2 with the FSM 54 of the I3C main master 12 of FIG. 11 described above.
  • the I3C slave 14 When the I3C slave 14 is connected to the bus IF 11 and the signal output from the first bus idle counter 51 or the second bus idle counter 52 is supplied via the selector 53, the FSM 54 receives the data signal.
  • the hot join request is made by switching the potential of the line 16-1 from the H level to the L level.
  • the I3C slave 14 can be mounted, and when the stop condition is detected by the first bus idle counter 51 or when the second bus idle counter 52 detects the data signal line 16-1 and the clock signal line 16- When it is detected that the potential of 2 is at the H level, a hot join request can be made corresponding to either of them.
  • the I3C slave 14 may be configured to include one of the first bus idle counter 51 and the second bus idle counter 52 according to the determination. .
  • the I3C slave 14 when the I3C slave 14 is configured with the first bus idle counter 51, it functions as the I3C slave 14B of FIG. On the other hand, when the I3C slave 14 is configured with the second bus idle counter 52, it functions as the I3C slave 14 of FIG. 3 or FIG.
  • step S31 the I3C main master 12 reads the setting information written in the firmware.
  • step S32 the FSM 54 of the I3C main master 12 determines whether or not there is a possibility that the I3C slave 14 corresponding to hot join is connected to the bus IF 11 based on the setting information read in step S31.
  • step S32 when the FSM 54 of the I3C main master 12 determines that there is no possibility that the I3C slave 14 corresponding to hot join is connected to the bus IF 11, the processing proceeds to step S37, and normal communication processing is executed. Is done. That is, in this case, the communication process is performed without causing a deadlock or a communication error due to hot joining of the I3C slave 14.
  • step S32 when the FSM 54 of the I3C main master 12 determines in step S32 that the I3C slave 14 corresponding to hot join may be connected to the bus IF 11, the process proceeds to step S33.
  • step S33 the FSM 54 of the I3C main master 12 determines whether or not the I3C slave 14 corresponding to hot join that may be connected to the bus IF 11 includes the second bus idle counter 52 shown in FIG. Determine. Note that setting information necessary for this determination is also written in advance in the firmware of the I3C main master 12 by the system designer.
  • step S33 If it is determined in step S33 that the I3C slave 14 corresponding to the hot join that may be connected to the bus IF 11 does not include the second bus idle counter 52 illustrated in FIG. 12, the process proceeds to step S34. Proceed to In other words, in this case, the I3C slave 14 uses the detection of the stop condition by the first bus idle counter 51 as a condition for starting the count. Therefore, it is assumed that the I3C slave 14 that may be connected to the bus IF 11 does not include the error avoidance connection processing unit 32 unlike the I3C slave 14B illustrated in FIG. 10 described above. It is necessary to avoid the occurrence of locks.
  • step S34 the FSM 54 of the I3C main master 12 performs setting to periodically transmit an arbitrary polling signal including a stop condition.
  • the FSM 54 of the I3C main master 12 supplies the periodic transmission timer 57 with a signal (stp_timer_en) instructing to make the time measurement of the regular interval valid.
  • the process proceeds to step S37.
  • a polling signal is periodically transmitted in a normal communication process.
  • step S33 if it is determined in step S33 that the I3C slave 14 corresponding to the hot join that may be connected to the bus IF 11 includes the second bus idle counter 52 shown in FIG. Proceed to step S35.
  • step S35 the FSM 54 of the I3C main master 12 determines whether or not the I2C slave 15 is connected on the bus IF 11 based on the setting information read in step S31.
  • step S35 when the FSM 54 of the I3C main master 12 determines that the I2C slave 15 is not connected to the bus IF 11, the process proceeds to step S37, and normal communication processing is executed.
  • the bus IF 11 can perform communication processing without making an unintended hot join request as described above with reference to FIG.
  • step S35 the FSM 54 of the I3C main master 12 determines in step S35 that the I2C slave 15 is connected to the bus IF 11, the process proceeds to step S36. That is, in this case, the bus IF 11 needs to avoid the occurrence of the deadlock described above with reference to FIG.
  • step S36 the FSM 54 of the I3C main master 12 limits the lower limit of the communication speed with the I2C slave 15 connected to the bus IF11.
  • the speed determination unit 56 reads the speed instruction value from the register 55 and sets it in the FSM 54, the FSM 54 can limit the lower limit so that the communication speed conforms to the instruction by the speed instruction value.
  • step S36 After the process of step S36, the process proceeds to step S37, and the FSM 54 of the I3C main master 12 executes a normal communication process so as not to fall below the lower limit of the communication speed set in step S36.
  • the I3C main master 12 avoids the occurrence of a deadlock or a communication error based on a device connected to the bus IF 11 or a device that may be connected to the bus IF 11. Communication processing can be executed reliably. That is, the I3C main master 12 executes the function as the error avoidance communication processing unit 22 in FIG. 3 or the error avoidance communication processing unit 22B in FIG. 10 by the FSM 54, the speed determination unit 56, and the periodic transmission timer 57. Can do.
  • the present technology is not limited to the bus IF 11 according to the I3C standard, and can be applied to the bus IF 11 according to other standards. Also, the type or number of devices connected to the bus IF 11 is not limited to the configuration example as shown in FIG.
  • the above-described series of processing can be executed by hardware or can be executed by software.
  • a program constituting the software executes various functions by installing a computer incorporated in dedicated hardware or various programs.
  • the program is installed in a general-purpose personal computer from a program recording medium on which the program is recorded.
  • FIG. 14 is a block diagram showing an example of a hardware configuration of a computer that executes the above-described series of processing by a program.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • EEPROM Electrically Erasable Memory and Programmable Read Only Memory
  • the CPU 101 loads the program stored in the ROM 102 and the EEPROM 104 to the RAM 103 via the bus 105 and executes the program, thereby performing the above-described series of processing.
  • a program executed by the computer (CPU 101) can be written in the ROM 102 in advance, and can be installed or updated from the outside in the EEPROM 104 via the input / output interface 105.
  • this technique can also take the following structures.
  • a transmission / reception unit that transmits / receives signals to / from at least one other communication device; Processing to avoid occurrence of an error when a communication device is additionally connected to the communication system in a state where a communication system configured to be able to perform communication via the bus is already operating.
  • An error avoidance unit for performing communication is also taken the following structures.
  • the communication device is a second communication device that performs communication according to control by a first communication device having the initiative of communication via the bus and is additionally connected to the communication system,
  • the transmission / reception unit transmits and receives signals to and from the other communication device via a data signal line and a clock signal line configuring the bus,
  • the error avoiding unit detects that the potentials of the data signal line and the clock signal line are at the H level, and the potentials of the data signal line and the clock signal line are at the H level, based on the start condition of the count.
  • the communication device is a first communication device having initiative of communication via the bus
  • the error avoidance unit is a communication device that performs communication at a lower speed than a communication speed in communication of the second communication device when there is a possibility that the second communication device is additionally connected to the communication system.
  • the communication device according to (2) wherein a lower limit of a communication speed when communicating with a low-speed communication device is limited.
  • Information indicating whether or not the second communication device may be additionally connected to the communication system is set in advance in the first communication device. Communication according to (3) above apparatus.
  • the communication device is a first communication device having initiative of communication via the bus, The communication according to any one of (1) to (4), wherein the error avoidance unit causes the transmitting / receiving unit to periodically transmit an arbitrary polling signal including an end signal declaring the end of communication on the bus. apparatus.
  • the communication device is a first communication device having initiative of communication via the bus, The transmission / reception unit transmits and receives signals to and from the other communication device via a data signal line and a clock signal line configuring the bus, The error avoidance unit
  • the second communication device additionally connected to the communication system includes a counting unit that counts that the detection of the potentials of the data signal line and the clock signal line at the H level is started.
  • the second communication device additionally connected to the communication system includes a counting unit that counts that the detection of the potentials of the data signal line and the clock signal line at the H level is started.
  • a low-speed communication device that is a communication device that performs communication at a lower speed than the communication speed in the communication of the second communication device is connected to the communication system, communication when performing communication with the low-speed communication device.
  • Send and receive signals to and from at least one other communication device Processing to avoid occurrence of an error when a communication device is additionally connected to the communication system in a state where a communication system configured to be able to perform communication via the bus is already operating.
  • a communication method including a step of performing.
  • Send and receive signals to and from at least one other communication device Processing to avoid occurrence of an error when a communication device is additionally connected to the communication system in a state where a communication system configured to be able to perform communication via the bus is already operating.
  • a program that causes a computer to execute processing including steps.
  • Communication can be performed via the bus by the first communication device having the initiative of communication via the bus and the second communication device performing communication according to the control by the first communication device.
  • Each of the first communication device and the second communication device includes a transmission / reception unit that transmits / receives signals to / from at least one other communication device, At least one of the first communication device and the second communication device is connected to the communication system in a state where the first communication device is connected to at least the bus and the communication system is already operating.
  • a communication system comprising an error avoidance unit that performs processing for avoiding the occurrence of an error when additional communication devices are additionally connected.

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

本開示は、より確実に通信を行うことができるようにする通信装置、通信方法、プログラム、および、通信システムに関する。 少なくとも1台以上の他の通信装置との間で、データ信号線およびクロック信号線を介して信号の送受信を行う送受信部と、バスを介して通信を行うことができるように構成されている通信システムが既に稼働している状態で、その通信システムに通信装置が追加的に接続される際におけるエラーの発生を回避する処理を行うエラー回避部とを備える。本技術は、例えば、バスIFに適用できる。

Description

通信装置、通信方法、プログラム、および、通信システム
 本開示は、通信装置、通信方法、プログラム、および、通信システムに関し、特に、より確実に通信を行うことができるようにした通信装置、通信方法、プログラム、および、通信システムに関する。
 従来、複数のデバイスが実装されたボード内でバスを介したデバイス間の通信に用いられるバスIF(Interface)として、例えば、I2C(Inter-Integrated Circuit)が多く利用されている。また、近年、I2Cの高速化を実現することが求められており、次世代の規格としてI3C(Improved Inter Integrated Circuit)の規定が策定され、その改定が進められている。
 例えば、I2CおよびI3Cは、バスIFを介した通信の主導権を有するマスタによる制御に従って、バスIFに接続されているスレーブと通信を行うことができるように構成される。また、I3Cでは、I2Cのスレーブと通信を行うことができるように互換性を維持するための機能や、バスIFに途中からスレーブが参加することを可能とするホットジョインと称される機能などが提供される。
 例えば、特許文献1には、ホスト・プロセッサとサブシステム・コントローラとを、I2Cにより相互接続するディジタル・データ処理システムが開示されている。また、特許文献2には、標準I2Cプロトコルの上部に層状に配置された通信プロトコルを実現する方法が開示されている。
特開2000-99448号公報 特開2002-175269号公報
 ところで、I3Cにおいてホットジョインが行われるとき、ある特定の条件下において、新たに接続されたスレーブがバスIFに参加することができなくなるデッドロックが発生する可能性があった。そのため、新たに接続されたスレーブが、通信を正常に行うことができない状態となることが懸念される。
 本開示は、このような状況に鑑みてなされたものであり、より確実に通信を行うことができるようにするものである。
 本開示の一側面の通信装置は、少なくとも1台以上の他の通信装置との間で信号の送受信を行う送受信部と、バスを介して通信を行うことができるように構成されている通信システムが既に稼働している状態で、前記通信システムに通信装置が追加的に接続される際におけるエラーの発生を回避する処理を行うエラー回避部とを備える。
 本開示の一側面の通信方法またはプログラムは、少なくとも1台以上の他の通信装置との間で信号の送受信を行い、バスを介して通信を行うことができるように構成されている通信システムが既に稼働している状態で、前記通信システムに通信装置が追加的に接続される際におけるエラーの発生を回避する処理を行うステップを含む。
 本開示の一側面の通信システムは、バスを介した通信の主導権を有する第1の通信装置、および、前記第1の通信装置による制御に従って通信を行う第2の通信装置によって、前記バスを介して通信を行うことができるように構成される通信システムにおいて、前記第1の通信装置および前記第2の通信装置それぞれは、少なくとも1台以上の他の通信装置との間で信号の送受信を行う送受信部を備え、前記第1の通信装置および前記第2の通信装置うち少なくとも一方が、前記第1の通信装置が少なくとも前記バスに接続されて通信システムが既に稼働している状態で、前記通信システムに前記第2の通信装置が追加的に接続される際におけるエラーの発生を回避する処理を行うエラー回避部を備える。
 本開示の一側面においては、少なくとも1台以上の他の通信装置との間で信号の送受信が行われ、バスを介して通信を行うことができるように構成されている通信システムが既に稼働している状態で、前記通信システムに通信装置が追加的に接続される際におけるエラーの発生を回避する処理が行われる。
 本開示の一側面によれば、より確実に通信を行うことができる。
バスIFおよびホットジョインについて説明する図である。 ホットジョイン要求の流れについて説明する図である。 本技術を適用したバスIFの第1の実施の形態の構成例を示すブロック図である。 ホットジョイン要求について説明する図である。 I3Cメインマスタが実行する処理を説明するフローチャートである。 I3Cスレーブがホットジョインを行う際に実行する処理を説明するフローチャートである。 本技術を適用したバスIFの第2の実施の形態の構成例を示すブロック図である。 HJ要求エラーの検出について説明する図である。 ホットジョイン要求に続いて伝送される信号の一例を示す図である。 本技術を適用したバスIFの第3の実施の形態の構成例を示すブロック図である。 I3Cメインマスタの実装例を示す図である。 I3Cスレーブの実装例を示す図である。 図11のI3Cメインマスタが実行する処理を説明するフローチャートである。 本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
 以下、本技術を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
 <バスIFおよびホットジョインについて>
 まず、図1を参照して、I3C規格に準じて構成されるバスIF、および、I3Cスレーブのホットジョインについて説明する。
 図1に示すバスIF11は、I3Cメインマスタ12、I3Cセカンダリマスタ13-1および13-2、I3Cスレーブ14-1乃至14-3、並びに、I2Cスレーブ15-1および15-2が、データ信号線16-1およびクロック信号線16-2を介して接続されて構成される。そして、図1では、I3Cスレーブ14-3が、バスIF11にホットジョインされる例が示されている。
 I3Cメインマスタ12は、バスIF11における通信の主導権を有するデバイスであり、データ信号線16-1およびクロック信号線16-2を介して、バスIF11に接続される他のデバイスと通信を行うことができる。
 I3Cセカンダリマスタ13-1および13-2は、I3Cメインマスタ12に替わって、バスIF11における通信の主導権を有することができる機能を備えたデバイスであり、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スレーブ14と称する。
 I2Cスレーブ15-1および15-2は、I2C規格に準じて通信を行うことができるデバイスであり、I3CがI2Cと互換性を維持していることより、バスIF11においてI3Cメインマスタ12による制御に従って通信を行うことができる。なお、以下適宜、I2Cスレーブ15-1および15-2を区別する必要がない場合、単に、I2Cスレーブ15と称する。
 データ信号線16-1は、シリアルデータSDAを伝送する信号線であり、クロック信号線16-2は、シリアルクロックSCLを伝送する信号線である。
 このように、バスIF11は、I3C規格に準拠したI3Cセカンダリマスタ13およびI3Cスレーブ14だけでなく、I2C規格に準拠したI2Cスレーブ15が混在した構成であっても正常に稼働することができる。
 また、I3Cでは、例えば、バスIF11に接続されている複数のデバイスのうち、使用されていないデバイスについては、電源をオフ状態とすることによって、バスIF11全体としての低消費電力化を図ることができる。
 例えば、図1の上側に示すように、電源がオフ状態とされているI3Cスレーブ14-3の使用を開始するとき、I3Cスレーブ14-3以外のデバイスによって稼働している状態のバスIF11に対して、I3Cスレーブ14-3がホットジョインされる。即ち、図1の下側に示すように、I3Cスレーブ14-3の電源がオン状態に切り替えられた後、後述するようなホットジョイン要求が行われることで、I3Cスレーブ14-3が、バスIF11に参加することができる。
 なお、このようにI3Cスレーブ14-3の電源をオン/オフさせる他、稼働している状態のバスIF11に対して、電源がオン状態のI3Cスレーブ14-3を物理的に接続することによっても、I3Cスレーブ14-3をホットジョインさせることができる。また、I3Cメインマスタ12とI3Cスレーブ14およびI2Cスレーブ15とによって稼働しているバスIF11に、追加的にI3Cスレーブ14がホットジョインされる他、例えば、1台のI3Cメインマスタ12だけによって稼働しているバスIF11に、新たに1台のI3Cスレーブ14がホットジョインされることもある。
 次に、図2を参照して、図1のバスIF11におけるホットジョイン要求の流れについて説明する。
 バスIF11では、ホットジョインに対応したI3Cスレーブ14が、バスIF11がアイドル状態であることを認識したときにデータ信号線16-1の電位をHレベルからLレベルに切り替えることによって、ホットジョイン要求を行うと規定することができる。また、I3Cスレーブ14は、バスアイドルカウンタによって、データ信号線16-1およびクロック信号線16-2がHレベルである状態が所定期間よりも長く継続されていることを検出することで、バスIF11がアイドル状態であることを認識することができる。
 ここで、図2には、バスIF11での通信の終了を宣言するストップコンディション(STOP)の検出が、バスアイドルカウンタがカウントを開始するカウント起点の条件として設定されているときにおけるホットジョイン要求の一例が示されている。
 図2のAに示すように、バスIF11の通信が行われている最中のタイミングt1において、ホットジョインに対応したI3Cスレーブ14がバスIF11に接続されると、そのI3Cスレーブ14は、ストップコンディションが検出されるのを待機する状態となる。そして、バスIF11に接続されたI3Cスレーブ14は、ストップコンディションの検出に応じてバスアイドルカウンタを起動してカウントを開始する。
 その後、I3Cスレーブ14は、データ信号線16-1およびクロック信号線16-2の電位がHレベルである状態が所定期間より長く、例えば、1msよりも長く継続することを検出したときに、バスIF11がアイドル状態であると認識することができる。従って、ホットジョインに対応したI3Cスレーブ14は、バスIF11がアイドル状態であると認識した後のタイミングt2において、データ信号線16-1の電位をHレベルからLレベルに切り替えることによって、ホットジョイン要求を行うことができる。
 一方、I3Cメインマスタ12は、ホットジョイン要求(または、割り込みの要求)があったことを認識すると、クロック信号線16-2を介してシリアルクロックSCLの送信を開始し、その後の通信処理を行うことができる。
 このように、バスIF11で通信が行われているときにI3Cスレーブ14が接続されると、そのI3Cスレーブ14は、ストップコンディションを検出した後にバスIF11がアイドル状態であることを認識し、問題なくホットジョイン要求を行うことができる。
 ところが、図2のBに示すように、バスIF11の通信が行われていないタイミングt1において、ホットジョインに対応したI3Cスレーブ14がバスIF11に接続された場合、I3Cメインマスタ12と他のデバイスとの間で通信が完了しているため、ストップコンディションが発行されることがない。この場合、バスIF11に接続されたI3Cスレーブ14は、ストップコンディションが検出されるのを待機し続けるデッドロックとなってしまう。従って、バスIF11に接続されたにも関わらず、I3Cスレーブ14は、ホットジョイン要求を行うことができなくなる結果、バスIF11に参加することができない状態となってしまう。
 このように、ストップコンディションの検出が、バスアイドルカウンタのカウント起点の条件として設定されている場合、バスIF11に接続されたI3Cスレーブ14がデッドロックしてしまうことが懸念される。そのため、このような状態となることを回避し、ホットジョインに対応したI3Cスレーブ14がバスIF11に確実に参加し、その後の通信を正常に行うことができるようにする必要がある。
 <バスIFの第1の構成例>
 図3は、本技術を適用したバスIF11の第1の実施の形態の構成例を示すブロック図である。
 図3に示すバスIF11は、I3Cメインマスタ12、I3Cスレーブ14-1および14-2、並びに、I2Cスレーブ15が、データ信号線16-1およびクロック信号線16-2を介して接続されて構成される。
 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は、クロック信号線16-2のシリアルクロックSCLのタイミングに合わせて、I3Cスレーブ14またはI2Cスレーブ15がデータ信号線16-1に対する駆動を行うことによって、I3Cスレーブ14またはI2Cスレーブ15から送信されてくる信号を受信する。なお、クロック信号線16-2に対する駆動は、常に、マスタ12側により行われる。
 エラー回避通信処理部22は、ホットジョインに対応したI3Cスレーブ14がバスIF11に接続される可能性がある場合、送受信部21に対して、I2Cスレーブ15と通信を行う際の通信速度の下限を規定する。これにより、エラー回避通信処理部22は、後述する図4を参照して説明するように、I3Cメインマスタ12およびI2Cスレーブ15の通信中に意図しないホットジョイン要求が行われることに起因した通信エラーが発生することを防止することができる。例えば、上述したように、I3Cスレーブ14がホットジョインする際に、バスIF11がアイドル状態であると認識するのに1msを要する場合、エラー回避通信処理部22は、I2Cスレーブ15の通信速度の下限を、例えば、1kHz(H幅=0.5mS)に制限する。つまり、I2Cスレーブ15が通信に用いるシリアルクロックSCLの周波数に応じてクロック信号線16-2の電位がHレベルである時間が、I3Cスレーブ14がバスIF11のアイドル状態を認識するのに要する時間より短くなるように制限される。
 I3Cスレーブ14は、送受信部31およびエラー回避接続処理部32を備えて構成される。
 送受信部31は、データ信号線16-1およびクロック信号線16-2を介して、I3Cメインマスタ12と信号の送受信を行う。例えば、送受信部31は、クロック信号線16-2のシリアルクロックSCLのタイミングに合わせて、I3Cメインマスタ12がデータ信号線16-1に対する駆動を行うことによって、I3Cメインマスタ12から送信されてくる信号を受信する。また、送受信部31は、クロック信号線16-2のシリアルクロックSCLのタイミングに合わせて、データ信号線16-1に対する駆動を行うことによって、I3Cメインマスタ12に信号を送信する。
 エラー回避接続処理部32は、上述の図2を参照して説明したようなデッドロックの発生を回避して、I3Cスレーブ14がホットジョインを確実に行うことができるようにするための接続処理を行う。例えば、エラー回避接続処理部32には、データ信号線16-1およびクロック信号線16-2の電位がHレベルであることの検出が、バスアイドルカウンタのカウント起点の条件として設定されている。
 従って、エラー回避接続処理部32は、データ信号線16-1およびクロック信号線16-2の電位を監視し、データ信号線16-1およびクロック信号線16-2の電位がHレベルであることを検出したタイミングでバスアイドルカウンタを起動する。そして、エラー回避接続処理部32は、データ信号線16-1およびクロック信号線16-2がHレベルである状態が1msよりも長く継続することを検出したときに、バスIF11がアイドル状態であると認識して、ホットジョイン要求を行う。
 I2Cスレーブ15は、送受信部41を備えて構成され、送受信部41は、データ信号線16-1およびクロック信号線16-2を介して、I3Cメインマスタ12と信号の送受信を行う。例えば、I2Cでは、I3Cにおける通信よりも低速のシリアルクロックSCLを用いて通信を行うように規定されており、I2Cスレーブ15は、I3Cスレーブ14よりも低速で通信を行う。
 図4を参照して、図3のバスIF11におけるホットジョイン要求について説明する。
 図3を参照して上述したように、I3Cスレーブ14のエラー回避接続処理部32では、データ信号線16-1およびクロック信号線16-2の電位がHレベルであることの検出が、バスアイドルカウンタのカウント起点の条件として設定されている。また、I3Cでは、データ信号線16-1およびクロック信号線16-2がHレベルである状態が1msよりも長く継続することを検出したときに、バスIF11がアイドル状態であると認識して、ホットジョイン要求を行うように規定されている。
 例えば、I3Cメインマスタ12がI3Cスレーブ14と通信を行っているときには、データ信号線16-1およびクロック信号線16-2がHレベルである状態は1ms未満となっている。そのため、I3Cメインマスタ12が他のI3Cスレーブ14と通信を行っているときに、ホットジョインに対応したI3Cスレーブ14がバスIF11に接続されても、バスIF11がアイドル状態ではないため、ホットジョイン要求は行われない。従って、この場合、I3Cメインマスタ12が他のI3Cスレーブ14との通信を終了したタイミングで、バスIF11に接続されたI3Cスレーブ14は、データ信号線16-1およびクロック信号線16-2の電位がHレベルとなったことを検出し、バスアイドルカウンタを起動することができる。
 そして、図4のAに示すように、バスIF11の通信が行われていないタイミングt1で、ホットジョインに対応したI3Cスレーブ14がバスIF11に接続されたとする。この場合、I3Cスレーブ14のエラー回避接続処理部32は、データ信号線16-1およびクロック信号線16-2の電位がHレベルであることを検出して、バスアイドルカウンタを起動する。そして、エラー回避接続処理部32は、データ信号線16-1およびクロック信号線16-2がHレベルである状態が1msよりも長く継続することを検出すると、バスIF11がアイドル状態であると認識することができる。従って、エラー回避接続処理部32は、バスIF11がアイドル状態であると認識した後のタイミングt2において、データ信号線16-1の電位をHレベルからLレベルに切り替えることによって、ホットジョイン要求を行うことができる。
 このように、データ信号線16-1およびクロック信号線16-2の電位がHレベルであることの検出を、バスアイドルカウンタのカウント起点の条件として設定することで、図2を参照して上述したようなデッドロックの発生を回避することができる。
 即ち、ホットジョインに対応したI3Cスレーブ14がバスIF11に接続されるタイミングが、バスIF11において通信が行われているか否かに関わらず、I3Cスレーブ14は、デッドロックとなることを回避して確実に、ホットジョインを行うことができる。従って、バスIF11では、I3Cスレーブ14がバスIF11に確実に参加して、その後の通信を正常に行うことができる。
 ところで、I2Cでは、I3Cでの通信よりも低速のシリアルクロックSCLで通信が行われるため、例えば、0.1kHz(=10ms)などの非常に低速で通信が行われることもある。従って、I3Cメインマスタ12がI2Cスレーブ15と通信を行っているときに、データ信号線16-1およびクロック信号線16-2がHレベルである状態が1msよりも長く継続することがある。
 例えば、図4のBに示すように、ホットジョインに対応したI3Cスレーブ14がバスIF11に接続されるタイミングt1によっては、データ信号線16-1およびクロック信号線16-2がHレベルである状態が1msよりも長く継続することがある。そのため、バスIF11に接続されたI3Cスレーブ14が、バスIF11はアイドル状態であると誤認識したタイミングt2において、ホットジョイン要求を行ってしまうことがある。しかしながら、タイミングt2においてI3Cメインマスタ12およびI2Cスレーブ15が通信中であるため、そのような意図しないホットジョイン要求に起因して通信エラーが発生してしまうことが想定される。
 そこで、I3Cメインマスタ12のエラー回避通信処理部22は、ホットジョインに対応したI3Cスレーブ14がバスIF11に接続される可能性がある場合、I2Cスレーブ15と通信を行う際の通信速度の下限を、例えば、1kHz(H幅=0.5mS)に制限する。これにより、I3Cメインマスタ12がI2Cスレーブ15と通信を行っているときに、データ信号線16-1およびクロック信号線16-2がHレベルである状態が1msよりも長く継続することを回避することができる。
 従って、I3Cメインマスタ12およびI2Cスレーブ15の通信中に意図しないホットジョイン要求が行われることがなく、上述したような通信エラーが発生することは回避される。
 なお、ホットジョインに対応したI3Cスレーブ14がバスIF11に接続される可能性がなければ、I2Cスレーブ15と通信を行う際の通信速度の下限を制限する必要はない。そこで、I3Cメインマスタ12のファームウェアには、バスIF11のシステム設計者が設計を行う際に知っている必要がある設定情報(要件)として、ホットジョインに対応したI3Cスレーブ14がバスIF11に接続される可能性があるか否かを示す情報が予め書き込まれている。その他、I3Cメインマスタ12のファームウェアには、バスIF11に接続されるI3Cの規格に準拠したデバイスの個数や、それらのデバイスのスタティックアドレス、バスIF11に接続されているI2Cスレーブ15に関する情報などが、設定情報として書き込まれている。
 このように、ホットジョインに対応したI3Cスレーブ14がバスIF11に接続される可能性があるか否かを示す情報をI3Cメインマスタ12のファームウェアに書き込むのは、I3Cメインマスタ12が、その情報を事前に認識することができないためである。例えば、仮に、バスIF11に接続されるI3Cスレーブ14の内部のレジスタに、そのI3Cスレーブ14がホットジョインに対応していることを示すフラグが設定されていたとする。しかしながら、I3Cメインマスタ12は、そのI3Cスレーブ14の電源がオン状態となる前に、バスIF11を介してレジスタの内容を読み出すことができない。即ち、I3Cメインマスタ12は、ホットジョインに対応したI3Cスレーブ14がバスIF11に接続されるかどうかを、ホットジョインが行われる前に認識することはできない。
 従って、上述したように、ホットジョインに対応したI3Cスレーブ14がバスIF11に接続される可能性があるか否かを示す情報をI3Cメインマスタ12のファームウェアに予め書き込む必要がある。なお、このようにファームウェアに書き込む他、例えば、I3Cメインマスタ12に設けられる外部接続端子を利用してピンを設定することで、ホットジョインに対応したI3Cスレーブ14がバスIF11に接続される可能性があるか否かを認識させることができる。
 <I3CメインマスタおよびI3Cスレーブによる処理>
 図5に示すフローチャートを参照して、I3Cメインマスタ12が実行する処理について説明する。
 例えば、I3Cメインマスタ12に電源が投入されると処理が開始され、ステップS11において、エラー回避通信処理部22は、I3Cメインマスタ12のファームウェアに書き込まれている設定情報を読み出す。
 ステップS12において、エラー回避通信処理部22は、ステップS11で読み出した設定情報に基づいて、ホットジョインに対応したI3Cスレーブ14がバスIF11に接続される可能性があるか否かを判定する。
 ステップS12において、エラー回避通信処理部22が、ホットジョインに対応したI3Cスレーブ14がバスIF11に接続される可能性があると判定した場合、処理はステップS13に進む。一方、その可能性がないと判定された場合には、ステップ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によるホットジョイン要求が検出されたか否かを判定する。例えば、バスIF11がアイドル状態であるときに、データ信号線16-1の電位がHレベルからLレベルに切り替えられた場合、送受信部21は、ホットジョイン要求が検出されたと判定する。
 ステップS15において、送受信部21が、ホットジョインに対応したI3Cスレーブ14によるホットジョイン要求が検出されていないと判定した場合、処理はステップS14に戻り、以下同様に、通常の通信処理が継続して行われる。
 一方、ステップS15において、送受信部21が、ホットジョインに対応したI3Cスレーブ14によるホットジョイン要求が検出されたと判定した場合、処理はステップS16に進む。
 ステップS16において、送受信部21は、ホットジョインを要求したI3Cスレーブ14との間で、バスIF11への参加に必要となる各種の処理を行う。その後、処理はステップS14に戻り、以下同様に、通常の通信処理が継続して行われる。
 以上のように、I3Cメインマスタ12は、ホットジョインに対応したI3Cスレーブ14がバスIF11に接続される可能性がある場合には、I2Cスレーブ15との通信速度の下限を制限することができる。これにより、I3Cメインマスタ12は、I2Cスレーブ15の通信中に意図しないホットジョイン要求が行われることを回避して、そのようなホットジョイン要求に起因した通信エラーの発生を防止することができる。従って、I3Cメインマスタ12は、バスIF11における通信を、より確実に行うことができる。
 図6に示すフローチャートを参照して、I3Cスレーブ14がホットジョインを行う際に実行する処理について説明する。
 例えば、バスIF11に接続されたI3Cスレーブ14に電源が投入されると処理が開始され、ステップS21において、エラー回避接続処理部32は、データ信号線16-1およびクロック信号線16-2の電位を監視する。
 ステップS22において、エラー回避接続処理部32は、ステップS21における電位の監視結果に基づいて、バスアイドルカウンタのカウント起点の条件が検出されたか否かを判定する。例えば、エラー回避接続処理部32は、上述の図3を参照して説明したように、データ信号線16-1およびクロック信号線16-2の電位がHレベルであることを検出したとき、バスアイドルカウンタのカウント起点の条件が検出されたと判定する。
 ステップS22において、エラー回避接続処理部32が、バスアイドルカウンタのカウント起点の条件が検出されていないと判定した場合、処理はステップS21に戻り、データ信号線16-1およびクロック信号線16-2の電位の監視が継続して行われる。
 一方、ステップS22において、エラー回避接続処理部32が、バスアイドルカウンタのカウント起点の条件が検出されたと判定した場合、エラー回避接続処理部32はバスアイドルカウンタを起動してカウントを開始させて、処理はステップS23に進む。
 ステップS23において、エラー回避接続処理部32は、バスIF11がアイドル状態であることが確認されたか否かを判定する。例えば、バスアイドルカウンタは、データ信号線16-1およびクロック信号線16-2がHレベルである状態を維持している間だけカウントを継続する。従って、エラー回避接続処理部32は、バスアイドルカウンタによるカウントが1msを超えたとき、バスIF11がアイドル状態であると確認することができる。
 ステップS23において、エラー回避接続処理部32が、バスIF11がアイドル状態であることが確認されていないと判定した場合、処理はステップS21に戻る。例えば、バスアイドルカウンタによるカウントが1ms未満のうちにデータ信号線16-1またはクロック信号線16-2の電位がLレベルになった場合、バスIF11がアイドル状態であることが確認されていないと判定される。つまり、この場合、バスIF11はアイドル状態ではないため、ホットジョイン要求が行われず、処理はステップS21に戻って、データ信号線16-1およびクロック信号線16-2の電位の監視が継続して行われる。
 一方、ステップS23において、エラー回避接続処理部32が、バスIF11がアイドル状態であることが確認されたと判定した場合、処理はステップS24に進み、エラー回避接続処理部32は、送受信部31に対してホットジョイン要求を行うように指示する。これに応じ、送受信部31は、データ信号線16-1の電位をHレベルからLレベルに切り替えることにより、ホットジョイン要求を行う。
 ステップS24の処理後、I3Cスレーブ14がホットジョインを行う際に実行する処理は終了される。その後、例えば、上述した図5のステップS16において、I3Cメインマスタ12との間で、バスIF11への参加に必要となる各種の処理が行われ、I3Cスレーブ14は、バスIF11に参加することができる。
 以上のように、I3Cスレーブ14は、データ信号線16-1およびクロック信号線16-2の電位がHレベルであることの検出を、バスアイドルカウンタのカウント起点の条件として、バスIF11がアイドル状態であるか否かを確認することができる。これにより、バスIF11に接続されたI3Cスレーブ14が、バスIF11がアイドル状態であるか否かの確認を開始することができずに、バスIF11に参加することができなくなることを回避することができる。従って、バスIF11に接続されたI3Cスレーブ14は、ホットジョイン要求を確実に行うことができ、バスIF11に参加して通信を行うことができる。
 <バスIFの第2の構成例>
 図7は、本技術を適用したバスIF11の第2の実施の形態の構成例を示すブロック図である。
 図7に示すバスIF11Aは、I3Cメインマスタ12A、および、I3Cスレーブ14-1乃至14-3が、データ信号線16-1およびクロック信号線16-2を介して接続されて構成されている。なお、バスIF11Aにおいて、図3のバスIF11と共通する構成については、同一の符号を付し、その詳細な説明は省略する。
 即ち、バスIF11Aは、I2Cスレーブ15の共存が禁止されており、I2Cスレーブ15が接続されない構成となっている点で、図3を参照して説明したバスIF11と異なる構成となっている。
 上述したように、図3のバスIF11では、I2Cスレーブ15の共存が許可されていることより、I3Cメインマスタ12およびI2Cスレーブ15の通信中に意図しないホットジョイン要求が行われることがあり、これによって通信エラーが発生することがあった。そのため、図3のバスIF11では、I3Cメインマスタ12がI2Cスレーブ15と通信を行う際の通信速度の下限を制限して、通信エラーの発生を回避する必要があった。
 これに対し、バスIF11Aでは、I2Cスレーブ15が接続されない構成となっているため、意図しないホットジョイン要求が行われることもない。従って、I3Cメインマスタ12Aは、送受信部21を備えるだけでよく、図3のエラー回避通信処理部22を備える必要がない構成となっている。
 また、バスIF11AのI3Cスレーブ14は、図3のバスIF11のI3Cスレーブ14と同様に、送受信部31およびエラー回避接続処理部32を備えて構成され、デッドロックが発生することなくホットジョインを行うことができる。即ち、I3Cスレーブ14のエラー回避接続処理部32は、データ信号線16-1およびクロック信号線16-2の電位がHレベルであることを検出したとき、バスアイドルカウンタのカウントを開始させ、バスIF11がアイドル状態であるか否かを確認する。つまり、I3Cスレーブ14は、上述の図5に示したフローチャートと同様の処理を行うことができる。
 以上のように、バスIF11Aは、I2Cスレーブ15の共存が禁止された構成とすることで、意図しないホットジョイン要求に起因した通信エラーが発生することがなく、バスIF11Aに接続されるI3Cスレーブ14は、ホットジョインを確実に行うことができる。従って、バスIF11Aでは、ホットジョインされたI3Cスレーブ14は確実に通信を行うことができる。
 ところで、I2Cスレーブ15の共存が禁止されているにも拘らず、バスIF11Aに対して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がバスIF11Aに接続されると、そのI3Cスレーブ14は、バスアイドルカウンタを起動する。そして、シリアルクロックSCLsおよびシリアルデータSDAsがHレベルを維持したまま1msが経過すると、I3Cスレーブ14は、シリアルクロックSCLsをHレベルからLレベルに駆動してホットジョイン要求を行う。
 このとき、図8のAに示すように、伝播遅延に応じてシリアルクロックSCLmがHレベルからLレベルに切り替えられるまでのタイミングが、I3Cメインマスタ12AがシリアルクロックSCLmをHレベルからLレベルに駆動するタイミングよりも早ければ、I3Cメインマスタ12Aは、HJ要求エラーを検出することができる。従って、この場合、I3Cメインマスタ12Aは、I2Cスレーブ15との通信で使用する通信速度に従ってシリアルクロックSCLmをHレベルからLレベルに駆動するよりも前に、I2Cスレーブ15との通信で使用する通信速度のシリアルクロックSCLの送信を停止する。そして、I3Cメインマスタ12Aは、I3Cスレーブ14との通信で使用する通信速度のシリアルクロックSCLの送信に切り替えて、I3Cスレーブ14と通信を行うことができる。
 一方、図8のBに示すように、伝播遅延に応じてシリアルクロックSCLmがHレベルからLレベルに切り替えられるまでのタイミングが、I3Cメインマスタ12AがシリアルクロックSCLmをHレベルからLレベルに駆動するタイミングよりも遅ければ、I3Cメインマスタ12Aは、HJ要求エラーを検出することができない。つまり、図8のBにおいて白抜きの矢印で示すように、ホットジョイン要求を行ってから、I3Cメインマスタ12Aの駆動に従ってシリアルクロックSCLsがHレベルからLレベルに切り替えられるまでの間隔が短い場合、HJ要求エラーを検出することは困難である。従って、この場合、I3Cメインマスタ12Aは、I3Cスレーブ14と通信を行うことはできない。
 このようにHJ要求エラーが発生する事態に対して、I3Cメインマスタ12AまたはI2Cスレーブ15は、次に示すような第1乃至第4の対策を行うことができる。
 第1の対策では、I3Cメインマスタ12Aは、HJ要求エラーを検出することができた場合、ホットジョインを要求してきたI3Cスレーブ14を優先して、I2Cスレーブ15との通信を中断する。そして、I3Cメインマスタ12Aは、I3Cの通信で使用する通信速度のシリアルクロックSCLを送信して、I3Cスレーブ14がバスIF11Aに参加するのに必要な処理を行う。その後、I3Cメインマスタ12Aは、中断する前と同じ通信速度でI2Cスレーブ15との通信を再開する。なお、第1の対策では、I3Cメインマスタ12Aが、再度、HJ要求エラーを検出する可能性がある。このため、I3Cメインマスタ12Aは、HJ要求エラーを検出するたびに、同様の処理を行う必要がある。
 第2の対策では、I3Cメインマスタ12Aは、HJ要求エラーを検出することができた場合、ホットジョインを要求してきたI3Cスレーブ14を優先して、I2Cスレーブ15との通信を中断する。そして、I3Cメインマスタ12Aは、I3Cの通信で使用する通信速度のシリアルクロックSCLを送信して、I3Cスレーブ14がバスIF11Aに参加するのに必要な処理を行う。その後、I3Cメインマスタ12Aは、HJ要求エラーが発生しない程度に、通信を中断する前よりも通信速度を上げて、例えば、シリアルクロックSCLを0.1kHz以上にして、I2Cスレーブ15との通信を再開する。
 第3の対策では、I3Cメインマスタ12Aは、HJ要求エラーを検出することができた場合、ホットジョインを要求してきたI3Cスレーブ14を優先して、I2Cスレーブ15との通信を中断する。そして、I3Cメインマスタ12Aは、ホットジョインに対応しているI3Cスレーブ14が以降、ホットジョインを要求しないように指示するコモンコマンドコード(DISEC CCC)を一斉に送信する。これにより、バスIF11Aに接続されている各I3Cスレーブ14では、ホットジョイン要求が無効(Hot-Join Event bitがdisable)に設定される。その後、I3Cメインマスタ12Aは、中断したI2Cスレーブ15との通信を再開する。
 第4の対策では、I3Cメインマスタ12Aは、HJ要求エラーを検出することができなかった場合、I2Cスレーブ15との通信を継続して行うことになる。このため、I3Cスレーブ14が、I3Cメインマスタ12AにおいてHJ要求エラーを検出することができなかったことを認識して、再度、ホットジョイン要求を行うことができるようにする必要がある。
 ここで、図9に示すホットジョイン要求に続いて伝送される信号を参照して、第4の対策について説明する。
 例えば、I3Cスレーブ14は、ホットジョイン要求(S)を送信するのに続いて、ホットジョイン予約アドレス(0x02)を送信する。なお、ホットジョイン要求、即ち、シリアルデータSDAをHレベルからLレベルに切り替える駆動は、スタートコンディション(START)の発行と同様に駆動される。
 一方、I3Cでは、ホットジョイン要求(S)を受信し、続いてホットジョイン予約アドレス(0x02)を受信したI3Cメインマスタ12Aは、以下の3つの動作のうちの1つを選択して行うように規定されている。
 第1の動作として、I3Cメインマスタ12Aは、信号の受信を正常に行うことができなかったことを示すNACK(Negative Acknowledgement)を送信する。そして、NACKを受信したI3Cスレーブ14は、ホットジョイン要求をリトライすることができる。
 第2の動作として、I3Cメインマスタ12Aは、一旦、信号の受信を正常に行うことができたことを示すACK(Acknowledgement)を送信し、続いて、ホットジョインを要求しないように指示するコモンコマンドコード(DISEC CCC)を送信する。これにより、上述した第3の対策と同様に、I3Cスレーブ14では、ホットジョイン要求が無効(Hot-Join Event bitがdisable)に設定される。
 第3の動作として、I3Cメインマスタ12Aは、ACKを送信した後、図9に示すように、ダイナミックデバイス割り当てを入力するENTDAA(Enter Dynamic Device Assignment)を送信して、アドレスをアサインする。
 このように、I3C では、ホットジョイン要求に対して、I3Cメインマスタ12Aが、第1乃至第3の動作を行うことが定義されている。従って、I3Cスレーブ14は、これら以外の動作が行われたことを検出した場合、ホットジョイン要求に対して定義されている動作とは異なる動作が行われたことによるエラー(以下、HJフォーマットエラーと称する)を認識することができる。
 ここで、I3Cメインマスタ12AがHJ要求エラーを検出することができなかった場合、I3Cメインマスタ12Aは、I2Cスレーブ15との通信を継続して行うことになる。一方、ホットジョインを要求したI3Cスレーブ14は、ホットジョイン予約アドレス(0x02)などの送信を行って、その後の通信を続けようとする。このように、I3Cメインマスタ12AがI2Cスレーブ15との通信を継続して行う場合、ホットジョインを要求したI3Cスレーブ14は、上述した第1乃至第3の動作がいずれも行われないのに基づいて、HJフォーマットエラーを検出することができる。
 従って、第4の対策では、I3Cスレーブ14が、HJフォーマットエラーを検出した後、ホットジョイン要求を行う処理を一旦停止し、十分な時間が経過した後に、再度、ホットジョイン要求を行う。これにより、I3Cスレーブ14がデッドロックすることを回避することができる。
 なお、第4の対策における他の方法として、I3Cスレーブ14がモニタリングエラー(既存のS6エラー)を用いる方法を採用してもよい。モニタリングエラーとは、原則として、I3Cスレーブ14が自ら送信した値と、バスIF11A上に送信したデータとが不一致であることを示すエラーである。
 例えば、I3Cスレーブ14がホットジョイン要求を送信する一方、I3Cメインマスタ12AがI2Cスレーブ15に信号を送信する場合、バスIF11A上で信号が衝突することによって、どちらの信号にもモニタリングエラーが検出される。従って、I3Cスレーブ14は、モニタリングエラーを検出した後、ホットジョイン要求を行う処理を一旦停止し、十分な時間が経過した後に、再度、ホットジョイン要求を行う。これにより、I3Cスレーブ14がデッドロックすることを回避することができる。
 以上のように、I2Cスレーブ15の共存が禁止されたバスIF11Aでは、上述したような第1乃至第4の対策を行うように規定する。これにより、禁止事項に反してバスIF11AにI2Cスレーブ15が接続され、HJ要求エラーが発生したとしても、I3Cメインマスタ12Aは、バスIF11Aに接続されたI3Cスレーブ14によるホットジョイン要求に対応することができる。従って、ホットジョインを要求するI3Cスレーブ14がバスIF11Aに確実に参加することができ、その後の通信を正常に行うことができる。
 <バスIFの第3の構成例>
 図10は、本技術を適用したバスIF11の第3の実施の形態の構成例を示すブロック図である。
 図10に示すバスIF11Bは、I3Cメインマスタ12B、I3Cスレーブ14B-1および14B-2、並びに、I2Cスレーブ15が、データ信号線16-1およびクロック信号線16-2を介して接続されて構成される。なお、バスIF11Bにおいて、図3のバスIF11と共通する構成については、同一の符号を付し、その詳細な説明は省略する。
 即ち、バスIF11Bでは、I3Cメインマスタ12Bが、図3のエラー回避通信処理部22とは異なる処理を行うエラー回避通信処理部22Bを備えて構成されるとともに、I3Cスレーブ14Bが、図3のエラー回避接続処理部32を備えずに構成される点で、図3のバスIF11と異なる構成となっている。
 また、I3Cスレーブ14Bでは、図2を参照して説明したのと同様に、ストップコンディションを検出することが、バスアイドルカウンタがカウントを開始するカウント起点の条件として設定されている。
 そして、I3Cメインマスタ12Bのエラー回避通信処理部22Bは、I3Cスレーブ14Bのデッドロックを回避するために、送受信部21に対して、ストップコンディションを含む任意のポーリング信号を定期的に発行するように指示する処理を行う。この指示に従って、送受信部21は、例えば、バスIF11Bのシステム全体に対する制御に悪影響を与えることのないポーリング信号を、定期的(例えば、10msごと)に送信するポーリングを行う。
 例えば、ポーリング信号として、デバイスの状態の取得を指示するコモンコマンドコードであるゲットステータス(GETSTATUS)を使用することができる。その他、48ビットのPID(Provisional ID)と称される情報(例えば、デバイスの製造メーカ名などが記述された固定値)の取得を指示するゲットPID(GETPID)や、デバイスのBCR(Bus Characteristics Register)の取得を指示するゲットBCR(GETBCR)などを使用してもよい。
 従って、上述の図2のBを参照して説明したように、バスIF11Bの通信が行われていないタイミングにおいてI3Cスレーブ14が接続されたとしても、ポーリング信号が定期的に送信されることによって、I3Cスレーブ14Bがデッドロックすることは回避される。即ち、バスIF11Bに接続されたI3Cスレーブ14Bは、ポーリング信号に含まれているストップコンディションを検出することで、バスアイドルカウンタを起動することができ、その後、バスIF11Bがアイドル状態であるか否かを判定することができる。
 以上のように、バスIF11Bでは、I3Cメインマスタ12Bが、ストップコンディションを含む任意のポーリング信号を定期的に発行することによって、バスIF11Bに接続されたI3Cスレーブ14Bは、ホットジョイン要求を確実に行うことができる。これにより、ホットジョインに対応したI3Cスレーブ14Bは、バスIF11に参加して確実に通信を行うことができる。
 <I3CメインマスタおよびI3Cスレーブの実装例>
 図11は、I3Cメインマスタ12の実装例を示すブロック図である。
 図11に示すように、I3Cメインマスタ12は、第1のバスアイドルカウンタ51、第2のバスアイドルカウンタ52、選択部53、FSM(Finite State Machine)54、レジスタ55、速度判定部56、および定期送信用タイマ57を備えて構成される。なお、レジスタ55および速度判定部56は、ハードウエアとして実装する必要はない。
 ここで、図11に示すI3Cメインマスタ12は、図1のI3Cセカンダリマスタ13と同様に、ホットジョインに対応したI3Cスレーブ14としても動作することができるように構成されている。従って、図11に示されている第1のバスアイドルカウンタ51、第2のバスアイドルカウンタ52、および選択部53は、ホットジョインに対応したI3Cスレーブ14として動作する場合にのみ駆動する。このことより、第1のバスアイドルカウンタ51、第2のバスアイドルカウンタ52、および選択部53については、図12に示すI3Cスレーブ14を参照して後述する。
 FSM54には、シリアルデータSDAを伝送するデータ信号線16-1、および、シリアルクロックSCLを伝送するクロック信号線16-2が接続されている。例えば、FSM54は、後述する図12に示すI3Cスレーブ14のFSM54との間で、データ信号線16-1およびクロック信号線16-2を駆動することによる信号の送信および受信を行う。
 レジスタ55には、FSM54が通信を行う際に用いる各種の情報が記録されており、例えば、図4を参照して上述したようなI2Cスレーブ15と通信を行う際の通信速度の下限を指示する速度指示値が記録されている。
 速度判定部56は、レジスタ55から速度指示値を読み出し、速度指示値により指示されている通信速度の下限を下回らないようにFSM54に対する設定を行う。そして、速度判定部56は、I3Cメインマスタ12がI2Cスレーブ15と通信を行う際に、その通信速度が下限を下回ったか否かを判定する。例えば、速度判定部56は、I2Cスレーブ15との通信速度が下限を下回ったと判定した場合には、通信速度が下限を下回るエラーが発生したことを示す情報をレジスタ55に記録する。
 定期送信用タイマ57は、図10を参照して上述したようなストップコンディションを含む任意のポーリング信号を定期的に送信する際に、その定期的な間隔を計時し、ポーリング信号の送信を行うタイミングをFSM54に対して指示する。例えば、I3Cメインマスタ12が、ストップコンディションを含む任意のポーリング信号を定期的に送信するように運用される場合、FSM54は、定期的な間隔の計時を有効にすることを指示する信号(stp_timer_en)を、定期送信用タイマ57に供給する。これに応じて、定期送信用タイマ57は、ポーリング信号を送信するタイミングになると、ポーリング信号の送信を指示する信号(stp_send)を、FSM54に供給する。
 このようにI3Cメインマスタ12を実装することができ、I3Cメインマスタ12は、上述したようなデッドロックまたは通信エラーが発生することを回避するように、バスIF11による通信処理を制御することができる。
 図12は、I3Cスレーブ14の実装例を示すブロック図である。
 図12に示すように、I3Cスレーブ14は、第1のバスアイドルカウンタ51、第2のバスアイドルカウンタ52、選択部53、およびFSM54を備えて構成される。
 第1のバスアイドルカウンタ51および第2のバスアイドルカウンタ52は、それぞれデータ信号線16-1およびクロック信号線16-2に接続されており、バスIF11がアイドル状態であることを確認するためのカウントを行う。
 例えば、第1のバスアイドルカウンタ51には、図2を参照して説明したように、ストップコンディションを検出したときにカウントを開始するようにカウント起点の条件が設定されている。従って、第1のバスアイドルカウンタ51は、ストップコンディションを検出したタイミングでカウントを開始し、データ信号線16-1およびクロック信号線16-2がHレベルである状態が継続している時間が、例えば、1msとなったときに、その旨を示す信号を出力する。例えば、第1のバスアイドルカウンタ51は、通常の通信が終了したときに発行されるストップコンディション、または、図11の定期送信用タイマ57によって定期的に送信されるポーリング信号に含まれるストップコンディションを検出することができる。
 また、第2のバスアイドルカウンタ52には、図4を参照して説明したように、データ信号線16-1およびクロック信号線16-2の電位がHレベルであることを検出したときにカウントを開始するようにカウント起点の条件が設定されている。従って、第2のバスアイドルカウンタ52は、データ信号線16-1およびクロック信号線16-2の電位がHレベルであることを検出したタイミングでカウントを開始し、データ信号線16-1およびクロック信号線16-2がHレベルである状態が継続している時間が、例えば、1msとなったときに、その旨を示す信号を出力する。
 選択部53は、外部端子を介して行われる設定(例えば、ピンを利用した設定)に従って、第1のバスアイドルカウンタ51および第2のバスアイドルカウンタ52のうち、いずれか一方の出力を選択してFSM54に供給する。なお、選択部53に対する選択の設定は、外部端子の他、例えば、不揮発性メモリを利用して行うことができ、レジスタによる設定は不可となる。これは、例えば、I3Cメインマスタ12がレジスタにアクセスする前に、選択部53に対する選択の設定を行う必要があるためである。
 FSM54は、上述した図11のI3Cメインマスタ12のFSM54との間で、データ信号線16-1およびクロック信号線16-2を駆動することによる信号の送信および受信を行う。そして、FSM54は、I3Cスレーブ14がバスIF11に接続され、第1のバスアイドルカウンタ51または第2のバスアイドルカウンタ52から出力される信号が、選択部53を介して供給されると、データ信号線16-1の電位をHレベルからLレベルに切り替えてホットジョイン要求を行う。
 このようにI3Cスレーブ14を実装することができ、第1のバスアイドルカウンタ51によりストップコンディションを検出したとき、または、第2のバスアイドルカウンタ52によりデータ信号線16-1およびクロック信号線16-2の電位がHレベルであることを検出したとき、いずれかに対応して、ホットジョイン要求を行うことができる。なお、バスIF11の構成が、どちらか一方に決定されている場合、I3Cスレーブ14は、その決定に従って、第1のバスアイドルカウンタ51および第2のバスアイドルカウンタ52の一方を備える構成としてもよい。
 例えば、I3Cスレーブ14が第1のバスアイドルカウンタ51を備えて構成されるときには、上述した図10のI3Cスレーブ14Bとして機能する。一方、I3Cスレーブ14が第2のバスアイドルカウンタ52を備えて構成されるときには、上述した図3または図7のI3Cスレーブ14として機能する。
 図13を参照して、図11のI3Cメインマスタ12が実行する処理について説明する。
 例えば、I3Cメインマスタ12に電源が投入されると処理が開始され、ステップS31において、I3Cメインマスタ12は、ファームウェアに書き込まれている設定情報を読み出す。
 ステップS32において、I3Cメインマスタ12のFSM54は、ステップS31で読み出した設定情報に基づいて、ホットジョインに対応したI3Cスレーブ14がバスIF11に接続される可能性があるか否かを判定する。
 ステップS32において、I3Cメインマスタ12のFSM54が、ホットジョインに対応したI3Cスレーブ14がバスIF11に接続される可能性がないと判定した場合、処理はステップS37に進んで、通常の通信処理が実行される。即ち、この場合、I3Cスレーブ14のホットジョインに伴うデッドロックまたは通信エラーが発生することなく通信処理が行われる。
 一方、ステップS32において、I3Cメインマスタ12のFSM54が、ホットジョインに対応したI3Cスレーブ14がバスIF11に接続される可能性があると判定した場合、処理はステップS33に進む。
 ステップS33において、I3Cメインマスタ12のFSM54は、バスIF11に接続される可能性があるホットジョインに対応したI3Cスレーブ14は、図12に示した第2のバスアイドルカウンタ52を備えているか否かを判定する。なお、この判定を行うために必要な設定情報も、システム設計者によりI3Cメインマスタ12のファームウェアに予め書き込まれている。
 ステップS33において、バスIF11に接続される可能性があるホットジョインに対応したI3Cスレーブ14は、図12に示した第2のバスアイドルカウンタ52を備えていないと判定された場合、処理はステップS34に進む。即ち、この場合、そのI3Cスレーブ14は、第1のバスアイドルカウンタ51によるストップコンディションの検出をカウント起点の条件としている。従って、バスIF11に接続される可能性があるI3Cスレーブ14は、上述の図10に示されているI3Cスレーブ14Bのようにエラー回避接続処理部32を備えていないことが想定されるため、デッドロックの発生を回避させる必要がある。
 ステップS34において、I3Cメインマスタ12のFSM54は、ストップコンディションを含む任意のポーリング信号を定期的に送信するように設定を行う。例えば、I3Cメインマスタ12のFSM54は、定期的な間隔の計時を有効にすることを指示する信号(stp_timer_en)を、定期送信用タイマ57に供給する。その後、処理はステップS37に進んで、この場合、通常の通信処理において定期的にポーリング信号の送信が行われる。
 一方、ステップS33において、バスIF11に接続される可能性があるホットジョインに対応したI3Cスレーブ14は、図12に示した第2のバスアイドルカウンタ52を備えていると判定された場合、処理はステップS35に進む。
 ステップS35において、I3Cメインマスタ12のFSM54は、ステップS31で読み出した設定情報に基づいて、バスIF11上にI2Cスレーブ15が接続されているか否かを判定する。
 ステップS35において、I3Cメインマスタ12のFSM54が、バスIF11上にI2Cスレーブ15が接続されていないと判定した場合、処理はステップS37に進んで、通常の通信処理が実行される。即ち、この場合、バスIF11では、図4を参照して上述したような意図しないホットジョイン要求が行われることはなく通信処理を行うことができる。
 一方、ステップS35において、I3Cメインマスタ12のFSM54が、バスIF11上にI2Cスレーブ15が接続されていると判定した場合、処理はステップS36に進む。即ち、この場合、バスIF11では、図2を参照して上述したようなデッドロックの発生を回避させる必要がある。
 ステップS36において、I3Cメインマスタ12のFSM54は、バスIF11に接続されているI2Cスレーブ15との通信速度の下限を制限する。例えば、速度判定部56が、レジスタ55から速度指示値を読み出してFSM54に設定することで、FSM54は、速度指示値による指示に従った通信速度となるように下限を制限することができる。
 ステップS36の処理後、処理はステップS37に進み、I3Cメインマスタ12のFSM54は、ステップS36で設定された通信速度の下限を下回らないように、通常の通信処理を実行する。
 以上のように、I3Cメインマスタ12は、バスIF11に接続されているデバイス、または、バスIF11に接続される可能性のあるデバイスに基づいて、デッドロックや通信エラーなどの発生を回避して、通信処理を確実に実行することができる。即ち、I3Cメインマスタ12は、FSM54、速度判定部56、定期送信用タイマ57により、図3のエラー回避通信処理部22、または、図10のエラー回避通信処理部22Bとしての機能を実行することができる。
 なお、本技術は、I3Cの規格に従ったバスIF11に限定されることはなく、その他の規格に従ったバスIF11に適用することができる。また、バスIF11に接続されるデバイスの種類または個数は、例えば、図1に示したような構成例に限定されることはない。
 <コンピュータの構成例>
 なお、上述のフローチャートを参照して説明した各処理は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。また、プログラムは、単一のCPUにより処理されるものであっても良いし、複数のCPUによって分散処理されるものであっても良い。
 また、上述した一連の処理(情報処理方法)は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラムが記録されたプログラム記録媒体からインストールされる。
 図14は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 コンピュータにおいて、CPU(Central Processing Unit)101,ROM(Read Only Memory)102,RAM(Random Access Memory)103、およびEEPROM(Electronically Erasable and Programmable Read Only Memory)104は、バス105により相互に接続されている。バス105には、さらに、入出力インタフェース106が接続されており、入出力インタフェース106が外部に接続される。
 以上のように構成されるコンピュータでは、CPU101が、例えば、ROM102およびEEPROM104に記憶されているプログラムを、バス105を介してRAM103にロードして実行することにより、上述した一連の処理が行われる。また、コンピュータ(CPU101)が実行するプログラムは、ROM102に予め書き込んでおく他、入出力インタフェース105を介して外部からEEPROM104にインストールしたり、更新したりすることができる。
 <構成の組み合わせ例>
 なお、本技術は以下のような構成も取ることができる。
(1)
 少なくとも1台以上の他の通信装置との間で信号の送受信を行う送受信部と、
 バスを介して通信を行うことができるように構成されている通信システムが既に稼働している状態で、前記通信システムに通信装置が追加的に接続される際におけるエラーの発生を回避する処理を行うエラー回避部と
 を備える通信装置。
(2)
 前記通信装置は、前記バスを介した通信の主導権を有する第1の通信装置による制御に従って通信を行い、前記通信システムに追加的に接続される第2の通信装置であって、
 前記送受信部は、前記バスを構成するデータ信号線およびクロック信号線を介して前記他の通信装置との間で信号の送受信を行い、
 前記エラー回避部は、前記データ信号線および前記クロック信号線の電位がHレベルであることを検出したことをカウントの開始条件として、前記データ信号線および前記クロック信号線の電位がHレベルである状態が所定期間よりも長く継続していることを検出したときに、前記通信システムへの追加的な接続を要求する信号を前記送受信部により送信させる
 上記(1)に記載の通信装置。
(3)
 前記通信装置は、前記バスを介した通信の主導権を有する第1の通信装置であって、
 前記エラー回避部は、前記第2の通信装置が前記通信システムに追加的に接続される可能性がある場合、前記第2の通信装置の通信における通信速度より低速で通信を行う通信装置である低速通信装置と通信を行う際の通信速度の下限を制限する
 上記(2)に記載の通信装置。
(4)
 前記第1の通信装置には、前記第2の通信装置が前記通信システムに追加的に接続される可能性があるか否かを示す情報が予め設定されている
 上記(3)に記載の通信装置。
(5)
 前記通信装置は、前記バスを介した通信の主導権を有する第1の通信装置であって、
 前記エラー回避部は、前記バスでの通信の終了を宣言する終了信号を含む任意のポーリング信号を定期的に前記送受信部に送信させる
 上記(1)から(4)までのいずれかに記載の通信装置。
(6)
 前記通信装置は、前記バスを介した通信の主導権を有する第1の通信装置であって、
 前記送受信部は、前記バスを構成するデータ信号線およびクロック信号線を介して前記他の通信装置との間で信号の送受信を行い、
 前記エラー回避部は、
  前記通信システムに追加的に接続される第2の通信装置が、前記データ信号線および前記クロック信号線の電位がHレベルであることを検出したことをカウントの開始としてカウントするカウント部を備えていない場合、前記バスでの通信の終了を宣言する終了信号を含む任意のポーリング信号を定期的に前記送受信部に送信させ、
  前記通信システムに追加的に接続される第2の通信装置が、前記データ信号線および前記クロック信号線の電位がHレベルであることを検出したことをカウントの開始としてカウントするカウント部を備えていて、かつ、前記第2の通信装置の通信における通信速度より低速で通信を行う通信装置である低速通信装置が前記通信システムに接続されている場合、前記低速通信装置と通信を行う際の通信速度の下限を制限する
 上記(1)から(5)までのいずれかに記載の通信装置。
(7)
 少なくとも1台以上の他の通信装置との間で信号の送受信を行い、
 バスを介して通信を行うことができるように構成されている通信システムが既に稼働している状態で、前記通信システムに通信装置が追加的に接続される際におけるエラーの発生を回避する処理を行う
 ステップを含む通信方法。
(8)
 少なくとも1台以上の他の通信装置との間で信号の送受信を行い、
 バスを介して通信を行うことができるように構成されている通信システムが既に稼働している状態で、前記通信システムに通信装置が追加的に接続される際におけるエラーの発生を回避する処理を行う
 ステップを含む処理をコンピュータに実行させるプログラム。
(9)
 バスを介した通信の主導権を有する第1の通信装置、および、前記第1の通信装置による制御に従って通信を行う第2の通信装置によって、前記バスを介して通信を行うことができるように構成される通信システムにおいて、
 前記第1の通信装置および前記第2の通信装置それぞれは、少なくとも1台以上の他の通信装置との間で信号の送受信を行う送受信部を備え、
 前記第1の通信装置および前記第2の通信装置うち少なくとも一方が、前記第1の通信装置が少なくとも前記バスに接続されて通信システムが既に稼働している状態で、前記通信システムに前記第2の通信装置が追加的に接続される際におけるエラーの発生を回避する処理を行うエラー回避部を備える
 通信システム。
 なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
 11 バスIF, 12 I3Cメインマスタ, 13 I3Cセカンダリマスタ, 14 I3Cスレーブ, 15 I2Cスレーブ, 16-1 データ信号線, 16-2 クロック信号線, 21 送受信部, 22 エラー回避通信処理部, 31 送受信部, 32 エラー回避接続処理部, 41 送受信部, 51 第1のバスアイドルカウンタ, 52 第2のバスアイドルカウンタ, 53 選択部, 54 FSM, 55 レジスタ, 56 速度判定部, 57 定期送信用タイマ

Claims (9)

  1.  少なくとも1台以上の他の通信装置との間で信号の送受信を行う送受信部と、
     バスを介して通信を行うことができるように構成されている通信システムが既に稼働している状態で、前記通信システムに通信装置が追加的に接続される際におけるエラーの発生を回避する処理を行うエラー回避部と
     を備える通信装置。
  2.  前記通信装置は、前記バスを介した通信の主導権を有する第1の通信装置による制御に従って通信を行い、前記通信システムに追加的に接続される第2の通信装置であって、
     前記送受信部は、前記バスを構成するデータ信号線およびクロック信号線を介して前記他の通信装置との間で信号の送受信を行い、
     前記エラー回避部は、前記データ信号線および前記クロック信号線の電位がHレベルであることを検出したことをカウントの開始条件として、前記データ信号線および前記クロック信号線の電位がHレベルである状態が所定期間よりも長く継続していることを検出したときに、前記通信システムへの追加的な接続を要求する信号を前記送受信部により送信させる
     請求項1に記載の通信装置。
  3.  前記通信装置は、前記バスを介した通信の主導権を有する第1の通信装置であって、
     前記エラー回避部は、前記第2の通信装置が前記通信システムに追加的に接続される可能性がある場合、前記第2の通信装置の通信における通信速度より低速で通信を行う通信装置である低速通信装置と通信を行う際の通信速度の下限を制限する
     請求項2に記載の通信装置。
  4.  前記第1の通信装置には、前記第2の通信装置が前記通信システムに追加的に接続される可能性があるか否かを示す情報が予め設定されている
     請求項3に記載の通信装置。
  5.  前記通信装置は、前記バスを介した通信の主導権を有する第1の通信装置であって、
     前記エラー回避部は、前記バスでの通信の終了を宣言する終了信号を含む任意のポーリング信号を定期的に前記送受信部に送信させる
     請求項1に記載の通信装置。
  6.  前記通信装置は、前記バスを介した通信の主導権を有する第1の通信装置であって、
     前記送受信部は、前記バスを構成するデータ信号線およびクロック信号線を介して前記他の通信装置との間で信号の送受信を行い、
     前記エラー回避部は、
      前記通信システムに追加的に接続される第2の通信装置が、前記データ信号線および前記クロック信号線の電位がHレベルであることを検出したことをカウントの開始としてカウントするカウント部を備えていない場合、前記バスでの通信の終了を宣言する終了信号を含む任意のポーリング信号を定期的に前記送受信部に送信させ、
      前記通信システムに追加的に接続される第2の通信装置が、前記データ信号線および前記クロック信号線の電位がHレベルであることを検出したことをカウントの開始としてカウントするカウント部を備えていて、かつ、前記第2の通信装置の通信における通信速度より低速で通信を行う通信装置である低速通信装置が前記通信システムに接続されている場合、前記低速通信装置と通信を行う際の通信速度の下限を制限する
     請求項1に記載の通信装置。
  7.  少なくとも1台以上の他の通信装置との間で信号の送受信を行い、
     バスを介して通信を行うことができるように構成されている通信システムが既に稼働している状態で、前記通信システムに通信装置が追加的に接続される際におけるエラーの発生を回避する処理を行う
     ステップを含む通信方法。
  8.  少なくとも1台以上の他の通信装置との間で信号の送受信を行い、
     バスを介して通信を行うことができるように構成されている通信システムが既に稼働している状態で、前記通信システムに通信装置が追加的に接続される際におけるエラーの発生を回避する処理を行う
     ステップを含む処理をコンピュータに実行させるプログラム。
  9.  バスを介した通信の主導権を有する第1の通信装置、および、前記第1の通信装置による制御に従って通信を行う第2の通信装置によって、前記バスを介して通信を行うことができるように構成される通信システムにおいて、
     前記第1の通信装置および前記第2の通信装置それぞれは、少なくとも1台以上の他の通信装置との間で信号の送受信を行う送受信部を備え、
     前記第1の通信装置および前記第2の通信装置うち少なくとも一方が、前記第1の通信装置が少なくとも前記バスに接続されて通信システムが既に稼働している状態で、前記通信システムに前記第2の通信装置が追加的に接続される際におけるエラーの発生を回避する処理を行うエラー回避部を備える
     通信システム。
PCT/JP2018/003063 2017-02-14 2018-01-31 通信装置、通信方法、プログラム、および、通信システム WO2018150868A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020197019878A KR102554978B1 (ko) 2017-02-14 2018-01-31 통신 장치, 통신 방법, 프로그램, 및, 통신 시스템
US16/482,637 US10942885B2 (en) 2017-02-14 2018-01-31 Communicating apparatus, communication method, program, and communication system
EP18754893.8A EP3584711B1 (en) 2017-02-14 2018-01-31 Communication device, communication method, program, and communication system
CN201880010770.0A CN110268393B (zh) 2017-02-14 2018-01-31 通信装置、通信方法、程序和通信系统
JP2018568088A JP7146650B2 (ja) 2017-02-14 2018-01-31 通信装置、通信方法、プログラム、および、通信システム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-024940 2017-02-14
JP2017024940 2017-02-14

Publications (1)

Publication Number Publication Date
WO2018150868A1 true WO2018150868A1 (ja) 2018-08-23

Family

ID=63169778

Family Applications (1)

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

Country Status (6)

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

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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000099448A (ja) 1998-06-30 2000-04-07 Sun Microsyst Inc ディジタル・デ―タ処理システムにおいて複数のホスト・コンピュ―タ間で記憶サブシステムなどの資源の共用を容易にするためのシステムおよび方法。
JP2002175269A (ja) 2000-09-29 2002-06-21 Lucent Technol Inc I2cバス用拡張ブリッジ装置および方法
WO2014155721A1 (ja) * 2013-03-29 2014-10-02 富士通株式会社 接続制御装置、情報処理装置、及び接続制御方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
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
DE60231619D1 (de) * 2001-06-06 2009-04-30 Nxp Bv Datenträger mit einem speicher zum speichern von informationen über intermediäre betriebszustände
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
DE102005061392A1 (de) * 2005-12-22 2007-06-28 Robert Bosch Gmbh Bus-Guardian eines Teilnehmers eines Kommunikationssystems, sowie Teilnehmer für ein Kommunikationssystem
JP5160100B2 (ja) * 2007-02-08 2013-03-13 シャープ株式会社 データ通信誤動作防止装置、電子機器、データ通信誤動作防止装置の制御方法、データ通信誤動作防止装置の制御プログラム、及び当該プログラムを記録した記録媒体
JP4407752B2 (ja) * 2008-01-10 2010-02-03 トヨタ自動車株式会社 故障箇所検出装置及び通信装置並びに故障箇所検出方法
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总线死锁的装置及方法
CN102521187B (zh) * 2011-11-29 2014-05-28 广东东研网络科技股份有限公司 一种i2c总线通信死锁解决方法
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
CN106068669B (zh) * 2014-03-21 2019-10-25 索尼公司 通信设备和通过无线接入接口进行通信以执行设备到设备通信的方法
US9734121B2 (en) * 2014-04-28 2017-08-15 Qualcomm Incorporated Sensors global bus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000099448A (ja) 1998-06-30 2000-04-07 Sun Microsyst Inc ディジタル・デ―タ処理システムにおいて複数のホスト・コンピュ―タ間で記憶サブシステムなどの資源の共用を容易にするためのシステムおよび方法。
JP2002175269A (ja) 2000-09-29 2002-06-21 Lucent Technol Inc I2cバス用拡張ブリッジ装置および方法
WO2014155721A1 (ja) * 2013-03-29 2014-10-02 富士通株式会社 接続制御装置、情報処理装置、及び接続制御方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3584711A4

Also Published As

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

Similar Documents

Publication Publication Date Title
KR100729692B1 (ko) 마스터 노드 및 슬레이브 노드를 갖는 전자 장치 시스템
WO2018150868A1 (ja) 通信装置、通信方法、プログラム、および、通信システム
US10936524B2 (en) Bus system with slave devices
US20060277339A1 (en) Communication apparatus, switching method, and switching program
JP2009535677A (ja) I2cクロックの生成方法及びシステム
US8521932B2 (en) Arbitrator and arbitrating method applied to system management bus system
CN114365103A (zh) 菊花链模式进入序列
JP2017208712A (ja) 通信装置、通信方法、プログラム、および、通信システム
CN101561790B (zh) 一种主控机与从机通信的方法、系统及装置
JP6792314B2 (ja) 通信装置、通信方法、プログラム、および、通信システム
JP2011215855A (ja) Usbデバイス制御回路、及びusbデバイスの制御方法
JP2000293485A (ja) 通信インターフェース
US10892852B2 (en) Communication apparatus, communication method, program, and communication system
JP3295353B2 (ja) 接続装置及びその制御方法並びに周辺装置及び周辺装置システム
KR101082110B1 (ko) 타이밍 제어기, 이를 이용하여 데이터를 송수신하는 장치
WO2017199762A1 (ja) 通信装置、通信方法、プログラム、および、通信システム
TWI834603B (zh) 通信裝置、通信方法、通信程式及通信系統
CN112445744B (zh) I2c通信
JP6739983B2 (ja) 通信装置、通信方法、プログラム、および、通信システム
JP2017208713A (ja) 通信装置、通信方法、プログラム、および、通信システム
JP5385722B2 (ja) インターフェース回路
JP2005228068A (ja) 半導体装置及びその通信制御方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18754893

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20197019878

Country of ref document: KR

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2018568088

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018754893

Country of ref document: EP

Effective date: 20190916