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

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

Info

Publication number
WO2017061330A1
WO2017061330A1 PCT/JP2016/078980 JP2016078980W WO2017061330A1 WO 2017061330 A1 WO2017061330 A1 WO 2017061330A1 JP 2016078980 W JP2016078980 W JP 2016078980W WO 2017061330 A1 WO2017061330 A1 WO 2017061330A1
Authority
WO
WIPO (PCT)
Prior art keywords
communication device
communication
signal
error detection
error
Prior art date
Application number
PCT/JP2016/078980
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 SG11201802141UA priority Critical patent/SG11201802141UA/en
Priority to ES16853484T priority patent/ES2941346T3/es
Priority to JP2017544469A priority patent/JP6891810B2/ja
Priority to EP16853484.0A priority patent/EP3361382B1/en
Priority to CN201680057045.XA priority patent/CN108139954B/zh
Priority to KR1020187008485A priority patent/KR20180066049A/ko
Priority to CN202110859878.0A priority patent/CN113612670B/zh
Publication of WO2017061330A1 publication Critical patent/WO2017061330A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • H04L1/0063Single parity check
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0847Transmission error
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/806Broadcast or multicast traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/102Packet switching elements characterised by the switching fabric construction using shared medium, e.g. bus or ring
    • 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)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter

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
  • 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 device when an error occurs in a signal transmitted / received between devices that communicate via the bus, if there is a device that cannot continue detecting the occurrence of the error and continues communication, the device It is assumed that a start or stop is erroneously detected. In this case, the device may not be able to communicate, making it difficult to perform reliable communication.
  • the present disclosure has been made in view of such a situation, and is intended to enable more reliable communication.
  • a communication device is a communication device that performs communication via a bus, and a transmission / reception unit that transmits / receives a signal to / from at least one other communication device, and the transmission / reception unit includes
  • the error detection unit detects whether or not an error has occurred in the signal by a specific error detection method according to the transmission and reception of the signal, and the initiative of communication via the bus
  • the signal is transmitted / received between a first communication device that is the communication device having communication and a second communication device that is the communication device that performs communication according to control by the first communication device.
  • the error detection unit of the second communication device simultaneously applies to all the plurality of the second communication devices in the first word in the frame transmitted after the first communication device starts communication.
  • Koman If one bit indicating a data read or write request transmitted together with a broadcast command notifying that data is to be transmitted indicates data read, it indicates that an error has occurred in the first word. To detect.
  • a communication method or program according to an aspect of the present disclosure is a communication method of a communication device that performs communication via a bus, or a program that is executed by a computer of a communication device that performs communication via a bus.
  • a transmission / reception unit that transmits / receives a signal to / from at least one other communication device; and when the transmission / reception unit transmits / receives the signal, the signal is transmitted by a specific error detection method according to the transmission / reception of the signal.
  • a first communication device which is the communication device having the initiative of communication via the bus, and a control by the first communication device.
  • the signal is transmitted / received to / from a second communication device that is the communication device that performs communication according to the communication device, and the error detection unit of the second communication device communicates with the first communication device.
  • the method includes a step of detecting that an error has occurred in the first word.
  • a communication system is a communication system in which a plurality of communication devices communicate via a bus, and each of the communication devices communicates with at least one or more other communication devices.
  • a transmission / reception unit that transmits / receives the signal, and an error detection unit that detects whether an error has occurred in the signal by a specific error detection method according to transmission / reception of the signal when the transmission / reception unit transmits / receives the signal;
  • a first communication device that is the communication device having the initiative of communication via the bus, and a second communication device that is the communication device that performs communication according to control by the first communication device.
  • the error detection unit of the second communication device transmits a plurality of signals in the first word in the frame transmitted after the first communication device starts communication. When 1 bit indicating a data read or write request transmitted together with a broadcast command notifying that commands are transmitted all at once for all the second communication devices indicates data read, It is detected that an error has occurred in the first word.
  • the communication device transmits / receives a signal to / from at least one other communication device, and when the transmitter / receiver transmits / receives a signal, the identification according to the signal transmission / reception And an error detection unit that detects whether an error has occurred in the signal. Further, transmission / reception of signals between the first communication device, which is a communication device having the initiative of communication via the bus, and the second communication device, which is a communication device that performs communication according to the control by the first communication device. Is done. Then, the error detection unit of the second communication device simultaneously applies to all of the plurality of second communication devices in the first word in the frame transmitted after the first communication device starts communication. When 1 bit indicating a data read or write request transmitted together with a broadcast command notifying that a command is to be transmitted indicates data read, an error may have occurred in the first word. Detected.
  • communication can be performed more reliably.
  • FIG. 18 is a block diagram illustrating a configuration example of an embodiment of a computer to which the present technology is applied.
  • FIG. 1 is a block diagram illustrating a configuration example of an embodiment of a bus IF to which the present technology is applied.
  • the bus IF 11 shown in FIG. 1 is configured by connecting a master 12 and three slaves 13-1 to 13-3 via two signal lines 14-1 and 14-2. Further, the bus IF 11 defines a plurality of transmission methods with different communication speeds, and the master 12 can switch between these transmission methods.
  • the bus IF 11 includes SDR (Standard Data Rate) that transmits data at a normal transfer rate and HDR (High Data Rate) that transmits data at a higher transfer rate than the SDR according to the data transfer rate. It is prescribed.
  • the master 12 has control over the bus IF 11 and communicates with the slaves 13-1 to 13-3 via the signal lines 14-1 and 14-2.
  • the master 12 includes a transmission / reception unit 21, an error detection unit 22, and an error countermeasure unit 23.
  • the transmission / reception unit 21 transmits / receives signals to / from the slaves 13-1 to 13-3 via the bus IF 11.
  • the error detection unit 22 detects whether an error has occurred in the transmitted / received signal by a specific error detection method corresponding to the transmission / reception of the signal. For example, the error detection unit 22 detects an error occurring at a predetermined location of the signal received by the transmission / reception unit 21 by an error detection method for each predetermined location. Further, the error detection unit 22 detects an error caused by collision of signals transmitted from the transmission / reception unit 21 by an error detection method for monitoring the signal line 14-1.
  • the error countermeasure unit 23 performs error countermeasures so that the slave 13 can detect errors. That is, as will be described later, the error countermeasure unit 23, for example, prohibits the use of a predetermined address at the first word of a frame to be transmitted after starting communication, or two words from the frame to be transmitted after starting communication.
  • the range in which the parity check can be performed with 1-bit parity is set so that is included.
  • the slaves 13-1 to 13-3 can communicate with the master 12 via the signal lines 14-1 and 14-2 according to the control of the master 12. Note that the slaves 13-1 to 13-3 are configured in the same manner, and hereinafter, when there is no need to distinguish them, they are simply referred to as the slave 13 and the same applies to each block constituting the slave 13.
  • the slave 13 includes a transmission / reception unit 31 and an error detection unit 32.
  • the transmission / reception unit 31 performs transmission / reception of signals with the transmission / reception unit 21 of the master 12 via the bus IF 11.
  • the error detection unit 32 detects whether an error has occurred in the transmitted / received signal by a specific error detection method according to the transmission / reception of the signal. For example, the error detection unit 32 detects an error occurring at a predetermined location of the signal received by the transmission / reception unit 31 by an error detection method for each predetermined location. Further, the error detection unit 32 detects an error caused by collision of signals transmitted from the transmission / reception unit 31 by an error detection method for monitoring the signal line 14-1.
  • the signal lines 14-1 and 14-2 are used to transmit signals between the master 12 and the slave 13.
  • serial data SDA: Serial Data
  • SCL Serial Clock
  • the master 12 transmits data all at once to all the slaves 13-1 to 13-3, or specifies each of the slaves 13-1 to 13-3 by an address. Can transmit data.
  • the master 12 and the slave 13 can transmit and receive data by switching the transmission method between the SDR and the HDR.
  • FIG. 2 shows an example of transmitting data by switching the transmission method from SDR to HDR in the bus IF 11.
  • the master 12 outputs a start condition (S or Sr) to the slaves 13-1 to 13-3 via the bus IF 11, and declares the start of communication.
  • S or Sr start condition
  • both SDA and SCL are set to H level in a standby state in which communication is not performed on the bus IF 11, and the master 12 starts by changing SDA from H level to L level while SCL is at H level. Output the condition.
  • the transmission method at the start of communication is set to SDR.
  • the master 12 transmits a broadcast command (I3C Reserved byte) for notifying that all the slaves 13-1 to 13-3 are to transmit the command all at once in the first word of the frame, and subsequently , Confirm reception success using ACK (Acknowledge).
  • a broadcast command I3C Reserved byte
  • ACK Confirm reception success using ACK (Acknowledge).
  • each of the slaves 13-1 to 13-3 returns ACK (for example, 0 of 1 bit) as a reception completion notification when reception of the broadcast command is completed. Therefore, the master 12 confirms that the broadcast command has been successfully received by returning the ACK.
  • the master 12 transmits a common command code (I3C Modal Broadcast CCC (ENTHDR)) instructing to switch the transmission method to HDR in the second word from the head of the frame to the slaves 13-1 to 13-3.
  • a common command code I3C Modal Broadcast CCC (ENTHDR)
  • INHR 1-bit parity
  • the master 12 After transmitting the common command code instructing to switch the transmission method to HDR, the master 12 starts data transmission by HDR, and transmits an HDR command, HDR data, and the like. Then, the master 12 transmits an HDR end command (HDR Exit) instructing to exit from the HDR when ending transmission by HDR.
  • HDR Exit an HDR end command
  • the master 12 outputs a stop condition (P) to the slaves 13-1 to 13-3 via the bus IF 11, and declares the end of communication.
  • P a stop condition
  • the master 12 changes the bus IF 11 to the stop condition by changing SDA from the L level to the H level while the SCL is at the H level.
  • the bus IF 11 is defined so that SDA does not change when the SCL is at the H level except when declaring the start or end of communication during SDR.
  • the slave 13 may recognize that the transmission method has transitioned to HDR. Can not. For this reason, if the slave 13 that cannot recognize that the transmission method has transitioned to HDR misinterprets the data transmitted by the HDR, the bus IF 11 may be adversely affected, and safe communication is possible. It is assumed that it will be in the state which cannot perform.
  • the error detection method in which the slave 13 detects the error only by the parity check of the second word without detecting the error of the first word is also referred to as the error detection method (S0) of the slave 13 as appropriate. .
  • the first error detection method by the slave 13 is a method for detecting an error occurring in the first two words (9 bits ⁇ 2) of the frame in the mode of transmitting a signal by SDR.
  • the master 12 when transmitting data by switching the transmission method from SDR to HDR, the master 12 transmits a broadcast command after setting the bus IF 11 to a start condition.
  • the error detection unit 32 of the slave 13 performs a parity check on the second word at the head of the frame by using 1-bit parity (T) transmitted subsequent to the common command code (I3C Modal Broadcast CCC). The occurrence of an error can be detected.
  • T 1-bit parity
  • I3C Modal Broadcast CCC common command code
  • Bit string (0x3E + R / W 0: 011_1110_0)
  • bit string (0x5E + R / W 0: 101_1110_0)
  • bit string (0x6E + R / W 0: 110_1110_0)
  • Bit string (0x7A + R / W 0: 111_1010_0)
  • bit string (0x7C + R / W 0: 111_1100_0)
  • bit string (0x7F + R / W 0: 111_1111_0)
  • bit string (0x7E + R / W 1: 011_1110_1)
  • the error countermeasure unit 23 of the master 12 moves these seven bit strings (0x3E, 0x5E, 0x6E, 0x76, 0x7A, 0x7C, 0x7F) to realize error detection (S0a) of the slave 13. It is prohibited to use it as an assigned address.
  • 011_1110_1) is also referred to as the error detection method (S0b) of the slave 13.
  • DAA Dynamic : Address Assignment
  • the slave 13 it is possible to detect an error occurring in one bit indicating a data read or write request as compared with the error detection (S0) described above. it can.
  • the second error detection method by the slave 13 is a method for detecting an error occurring in the first two words (9 bits ⁇ 2) in the frame in the mode of transmitting a signal by SDR. .
  • a 1-bit parity (T) is transmitted following the common command code (I3C Modal Broadcast CCC) transmitted in the second word at the head of the frame.
  • the range in which the parity check is performed by the 1-bit parity (T) is set to include only the common command code (I3C3Modal Broadcast CCC).
  • the error countermeasure unit 23 of the master 12 sets the broadcast command and the common command code 2 within the range in which the parity check is performed by the 1-bit parity transmitted following the common command code transmitted in the second word at the head of the frame. Set to include a bit string of words.
  • the error detection unit 32 of the slave 13 uses the 1-bit parity transmitted following the common command code of the second word from the head of the frame, and performs a parity check on the bit string for two words from the head of the frame. With the second error detection method, errors occurring in the broadcast command and the common command code can be detected.
  • usable addresses for example, 0x3E, 0x5E, 0x6E, 0x76
  • usable addresses for example, 0x3E, 0x5E, 0x6E, 0x76
  • the second error detection method by the slave 13 is also referred to as an error detection method (S0c) of the slave 13 as appropriate.
  • the third error detection method by the slave 13 is hereinafter also referred to as an error detection method (S3a) of the slave 13 as appropriate.
  • the error detection unit 32 of the slave 13 confirms whether the format of the data transmitted after the transaction for transmitting the common command code is confirmed is different from the prescribed format, and stores the data in the different format.
  • the transmission / reception unit 31 receives, it can be assumed that an error has occurred.
  • the error detection unit 32 determines that the read / write is 1 indicating read in spite of an instruction of a system for writing data (see FIG. 4 described later). It is possible to detect that an error has occurred if data in a format different from the prescribed format is received.
  • the error detection unit 32 can detect that an error has occurred when 3 words are received in response to an instruction that receives 2 words.
  • the fourth error detection method by the slave 13 is also referred to as an error detection method (S5a) of the slave 13 as appropriate.
  • the fifth error detection method by the slave 13 is to detect an error by constantly monitoring whether or not the transmitted signal matches the signal on the signal line 14-1 at the timing when the signal is transmitted from the slave 13. It is a method to do.
  • the bus IF 11 supports interrupt processing according to the standard.
  • interrupt processing if a transmission signal from the master 12 and an interrupt request from the slave 13 are generated at the same time, the signals collide on the signal line 14-1. Arbitration is defined to deal with such signal collisions. That is, during this period, it is required to compare the signal transmitted by itself with the signal flowing on the bus and monitor the gain or loss of the bus right.
  • the master 12 transfers a private write (Private Write) and, on the other hand, a reception error occurs on the slave 13 side and it is erroneously recognized as a private read (Private Read).
  • the write data (WriteData) transmitted by the master 12 collides with the read data (Read Data) transmitted by the slave 13 on the signal line 14-1. This makes it difficult to perform accurate communication.
  • the error detection unit 32 determines whether or not the transmitted signal matches the signal on the signal line 14-1 at the timing when the signal is transmitted from the slave 13. Is constantly monitored (ie, including the arbitration portion described above, or otherwise). Thereby, the error detection unit 32 can detect the occurrence of an error due to data collision.
  • a collision detection circuit 74 shown in FIG. 15 to be described later is used for monitoring the current. Then, the error detection unit 32 always determines whether the transmitted signal and the signal on the signal line 14-1 coincide with each other at the timing when the signal is transmitted from the slave 13, based on the current value ( That is, the above-described arbitration portion is included, and the others are monitored. Thereby, the error detection unit 32 can detect the occurrence of an error due to data collision.
  • slave 13 error detection methods S0a
  • the first error detection method by the master 12 is similar to the above-described fourth error detection method by the slave 13 in the mode in which the error detection unit 22 of the master 12 transmits a signal by SDR (CCC).
  • CCC Common Command Code
  • the error detection unit 22 of the master 12 confirms whether the format of the data transmitted after the transaction for transmitting the common command code is confirmed is different from the prescribed format, and stores the data in the different format.
  • the transmission / reception unit 21 receives, it can be assumed that an error has occurred.
  • the first error detection method by the master 12 is also referred to as an error detection method (M0a) of the master 12 as appropriate.
  • the second and third error detection methods by the master 12 detect an error by constantly monitoring the signal on the signal line 14-1 in the same manner as the fifth and sixth error detection methods by the slave 13 described above. Is the method.
  • the error detection unit 22 of the master 12 always checks whether or not the transmitted signal matches the signal on the signal line 14-1 at the timing when the signal is transmitted from the master 12 (that is, as described above). Detect errors by monitoring (including the arbitration part, otherwise). Further, by using a collision detection circuit 74 shown in FIG. 15 described later, an error is detected by constantly monitoring the current flowing through the signal line 14-1.
  • master 12 error detection methods M30a
  • M30a master 12 error detection methods
  • the master 12 and the slave 13 detect an error, so that, for example, the transmission method can be switched reliably in the bus IF 11, and communication can be performed more reliably. can do. Thereby, safer communication can be performed.
  • the master 12 and the slave 13 can perform the subsequent behavior adaptively according to the error state, and can reliably return the communication.
  • the communication error is considered.
  • the slave 13 that has detected ignoring any communication until detecting the HDR end command (HDR Exit). Thereby, it is possible to avoid erroneously detecting the stop condition (P) when the transmission method is HDR, and then communication can be resumed.
  • the second word is not processed. That is, if the address to be dynamically assigned is transmitted instead of 0x7E, a certain degree of error detection can be performed although the error detection rate is limited. In this case, since the transmission method is SDR, the slave 13 that has detected the error ignores any communication until it detects the stop condition (P). As a result, only the frame in which an error has occurred can be ignored and communication can be resumed.
  • the transmission method is SDR. Ignore any communication until (P) is detected. As a result, only the frame in which an error has occurred can be ignored and communication can be resumed.
  • the error detection method (S1) of the slave 13 that detects an error occurring in the write data by parity check, and the address that is dynamically assigned is determined, and the error occurs in the assigned address. Even if an error is detected by the error detection method (S2) of the slave 13 that detects the error by parity check, the slave 13 that has detected the error does not perform any communication until the stop condition (P) is detected. Is ignored.
  • the error detection method (S10) of the slave 13 that detects an error occurring in the command word by parity check (S10), and the error that occurred in the data word is checked by parity check or cyclic redundancy check (CRC
  • the error detection method (S11) of the slave 13 detected in step S11 since the slave 13 is in the HDR state, the slave 13 detecting the error does not communicate until detecting the HDR end command (HDR Exit). Is ignored. As a result, only the frame in which an error has occurred can be ignored and communication can be resumed.
  • the transmission method is SDR. Therefore, the master 12 that has detected the error stops transmission and performs communication after transmission of the stop condition (P). Start over from the beginning. As a result, only the frame in which an error has occurred can be ignored and communication can be resumed.
  • FIG. 3 shows an error detection method when communication (I3C Broadcast CCC Write) for simultaneously writing data to a plurality of slaves 13 is performed.
  • an error occurring in two words of a frame transmitted following the start condition can be detected by the error detection method (S0b) of the slave 13 and the error detection method (S0c) of the slave 13 described above. it can.
  • an error that occurs in data (Optional Write Data) transmitted after 1-bit parity can be detected by the error detection method (S1) of the slave 13 and the error detection method (S5a) of the slave 13 described above.
  • FIG. 4 shows an error detection method when communication (I3C Directed CCC Write) in which data is specified and addressed for each slave 13 is performed.
  • an error occurring in two words of a frame transmitted following the start condition can be detected by the error detection method (S0b) of the slave 13 and the error detection method (S0c) of the slave 13 described above. it can.
  • an error that occurs in the entire portion surrounded by a broken line can be detected by the error detection method (S5a) of the slave 13 described above. Furthermore, an error occurring in one word immediately after the restart (Sr) can be detected by the processing for the first word in the error detection method (S0b) of the slave 13 described above. An error occurring in data (Optional Write Data) can be detected by a parity check by the error detection method (S1) of the slave 13 described above.
  • FIG. 5 shows an error detection method when communication (I3C Directed CCC Read) for reading data by designating an address for each slave 13 is performed.
  • an error occurring in two words of a frame transmitted following the start condition can be detected by the error detection method (S0b) of the slave 13 and the error detection method (S0c) of the slave 13 described above. it can.
  • an error that occurs in the entire portion surrounded by a broken line can be detected by the error detection method (S5a) of the slave 13 and the error detection method (M0a) of the master 12 described above. Furthermore, an error occurring in one word immediately after the restart (Sr) can be detected by the processing for the first word in the error detection method (S0b) of the slave 13 described above.
  • FIG. 6 shows an error detection method when communication by CCC (ENTDAA) is performed.
  • an error occurring in two words of a frame transmitted following the start condition can be detected by the error detection method (S0b) of the slave 13 and the error detection method (S0c) of the slave 13 described above. it can.
  • an error that occurs in the entire portion surrounded by a broken line can be detected by the error detection method (S5a) of the slave 13 and the error detection method (M0a) of the master 12 described above. Furthermore, an error occurring in one word immediately after the restart (Sr) can be detected by the error detection method (S3a) of the slave 13 described above. An error occurring in the assigned address can be detected by the error detection method (S2) of the slave 13 described above.
  • Fig. 7 shows an error detection method when a communication (I3C Private Write Transfer Initiated with START) is performed starting from the start condition and transferring the private write.
  • an error that occurs in one word of a frame transmitted following the start condition can be detected by processing the first word of the error detection method (S0b) of the slave 13 described above.
  • an error that occurs in two words of a frame that is transmitted following restart (Sr) can be detected by the error detection method (S0b) of the slave 13 and the error detection method (S0c) of the slave 13 described above.
  • an error occurring in data can be detected by parity check by the error detection method (S1) of the slave 13 described above.
  • FIG. 8 shows an error detection method when communication (I3C Private Write Transfer) for transferring private writing is performed.
  • an error occurring in one word of a frame transmitted following a start condition can be detected by the error detection method (S0b) of the slave 13 and the error detection method (S0c) of the slave 13 described above. it can. Furthermore, an error occurring in data (Write (Data-N) can be detected by parity check by the error detection method (S1) of the slave 13 described above.
  • Fig. 9 shows an error detection method when communication (I3C Private Write Initiated with START) is performed starting from the start condition and transferring private reading.
  • an error that occurs in one word of a frame transmitted following the start condition can be detected by processing the first word of the error detection method (S0b) of the slave 13 described above.
  • An error occurring in one word immediately after the restart (Sr) can be detected by processing the first word in the error detection method (S0b) of the slave 13 described above.
  • FIG. 10 shows an error detection method when communication (I3C Private Write Transfer) for transferring private reading is performed.
  • an error that occurs in one word of a frame transmitted following the start condition can be detected by processing the first word of the error detection method (S0b) of the slave 13 described above.
  • FIG. 11 shows an error detection method when communication for writing data in the HDR-DDR mode is performed.
  • an error occurring in two words of a frame transmitted following the start condition can be detected by the error detection method (S0b) of the slave 13 and the error detection method (S0c) of the slave 13 described above. it can.
  • the error detection method (S10) of the slave 13 can detect an error occurring in the command word by a parity check. Further, the error detection method (S11) of the slave 13 can detect an error occurring in the data word by a parity check or a cyclic redundancy check (CRC).
  • FIG. 12 shows an error detection method when communication for reading data in the HDR-DDR mode is performed.
  • an error occurring in two words of a frame transmitted following the start condition can be detected by the error detection method (S0b) of the slave 13 and the error detection method (S0c) of the slave 13 described above. it can.
  • the error detection method (S10) of the slave 13 can detect an error occurring in the command word by a parity check. Then, the error occurring in the data word can be detected by parity check or cyclic redundancy check (CRC) by the error detection method (M11) of the master 12.
  • CRC cyclic redundancy check
  • FIG. 13 shows an error detection method when communication for writing data in HDR-TSL / TSP is performed.
  • an error occurring in two words of a frame transmitted following the start condition can be detected by the error detection method (S0b) of the slave 13 and the error detection method (S0c) of the slave 13 described above. it can.
  • the error detection method (S20) of the slave 13 can detect an error occurring in the command word when the symbol “2” continues twice. That is, in the Ternary Encoding used in HDR-TSL and HDR-TSP, the case where the symbol “2” continues twice is not an error except for HDR Restart and HDR Exit, and can be regarded as an error.
  • the error detection method (S21) of the slave 13 detects an error occurring in the data word by performing a parity check or the symbol “2” being repeated twice (other than HDRHRestart or HDR Exit). be able to.
  • FIG. 14 shows an error detection method when communication for reading data by HDR-TSL / TSP is performed.
  • an error occurring in two words of a frame transmitted following the start condition can be detected by the error detection method (S0b) of the slave 13 and the error detection method (S0c) of the slave 13 described above. it can.
  • the error detection method (S20) of the slave 13 can detect an error occurring in the command word when the symbol “2” continues twice.
  • the error detection method (M21) of the master 12 detects an error occurring in the data word by performing a parity check or the symbol “2” being repeated twice (other than HDRHRestart or HDR Exit). be able to.
  • FIG. 15 is a diagram illustrating a collision detection circuit used in the sixth error detection method by the slave 13 and the third error detection method by the master 12.
  • the transmission / reception unit 21 of the master 12 and the transmission / reception unit 31 of the slave 13 shown in FIG. 1 each include a reception circuit 51 and a transmission circuit 52. That is, FIG. 15 shows a transmission circuit 52 when one of the transmission / reception unit 21 and the transmission / reception unit 31 is a signal transmission side, and a reception circuit 51 when the other is a signal reception side. It is shown.
  • the receiving circuit 51 includes a current source circuit 61, and the current source circuit 61 is configured by combining a PMOS transistor 62, an NMOS transistor 63, and a resistor 64.
  • serial data SDA is transmitted to the signal line 14-1 connected to the terminal 65 by the current I flowing from the drain power supply V DD to the resistor 64 through the PMOS transistor 62.
  • a signal line 14-1 for transmitting serial data (SDA) is connected to a terminal 71
  • a signal line 14-2 for transmitting a serial clock (SCL) is connected to a terminal 72.
  • the transmission circuit 52 includes an electrostatic protection element (ESD) 73, a collision detection circuit 74, an inverter circuit 75, and an amplification unit 76.
  • the inverter circuit 75 is a combination of a PMOS transistor 77 and an NMOS transistor 78. Composed.
  • the current I input to the transmission circuit 52 via the terminal 71 is supplied to the collision detection circuit 74 via the electrostatic protection element 73 for protecting the circuit from high voltage due to static electricity.
  • the serial clock (SCL) input to the transmission circuit 52 via the terminal 72 is amplified to a predetermined voltage by the amplification unit 76 and supplied to the collision detection circuit 74.
  • the current I output from the collision detection circuit 74 flows to the ground level via the NMOS transistor 78 of the inverter circuit 75.
  • the collision detection circuit 74 is configured by combining comparators 81 and 82, flip-flop circuits 83 and 84, and a resistor 85.
  • an electrostatic protection element 73 is connected to the connection point between the positive input terminal of the comparator 81 and the negative input terminal of the comparator 82, and a resistance 85 is connected to the connection point. One end is connected. The other end of the resistor 85 is connected to the inverter circuit 75.
  • the reference signal Vref1 is supplied to the negative input terminal of the comparator 81, and the output terminal of the comparator 81 is connected to the flip-flop circuit 83. Further, a serial clock (SCL) is supplied to the flip-flop circuit 83, and a signal output from the flip-flop circuit 83 becomes the output signal Out1.
  • SCL serial clock
  • the reference signal Vref2 is supplied to the positive input terminal of the comparator 82, and the output terminal of the comparator 81 is connected to the flip-flop circuit 84. Further, a serial clock (SCL) is supplied to the flip-flop circuit 84, and a signal output from the flip-flop circuit 84 becomes an output signal Out2.
  • SCL serial clock
  • the collision detection circuit 74 is configured, and the error detection unit 22 and the error detection unit 32 monitor the output signal Out1, respectively, so that the collision can be detected with high accuracy.
  • the operation of the collision detection circuit 74 will be described with reference to an example of a change in current during normal and collision shown in FIG.
  • the voltage of the signal line 14-1 is approximately 0V. Therefore, the reference signal Vref1 is set to about 40 mV, and the comparison by the comparator 81 is performed. Then, the flip-flop circuit 83 latches the comparison result of the comparator 81 with the serial clock (SCL), and the output signal Out1 becomes Hi level.
  • the expected value is known to be its own output (in this case, Low level)
  • the output signal Out1 is not the expected value, collision detection can be performed.
  • FIG. 17 shows serial data (SDA) and serial clock (SCL) when outputting an HDR end command (HDR Exit) and a stop condition (P).
  • SDA serial data
  • SCL serial clock
  • the slave 13 may cause the HDR end command (HDR Exit) It can be determined that the state is waiting for detection or detection of a stop condition (P).
  • the master 12 transmits a signal including an HDR end command (HDR Exit) and a stop condition (P) as shown in FIG.
  • HDR Exit the transmission of the HDR end command (HDR Exit) and the stop condition (P) is normally transmitted at the end of the HDR signal. Even if it is not the last of such an HDR signal, it becomes possible to operate the slave 13 normally by transmitting when the slave 13 is unresponsive.
  • the master 12 may transmit a signal including an HDR end command (HDRHExit) and a stop condition (P), for example, a start condition (S), an HDR end command (HDR Exit), and a stop condition (P). May be sent.
  • FIG. 18 is a flowchart for explaining an error detection method (S0b) in the error detection processing performed in the slave 13.
  • step S11 the transmission / reception unit 31 waits for the process until the master 12 outputs a start condition (S or Sr) and detects it. Then, when the transmission / reception unit 31 detects a start condition (S orrSr), the process proceeds to step S12.
  • step S12 the error detection unit 32 confirms the first word at the head of the frame received by the transmission / reception unit 31.
  • step S13 the error detection unit 32 sets the 1-bit (R / W) value representing the data read or write request included in the first word to 1 and 0 according to the confirmation result in step S12. It is determined whether it is.
  • step S13 when the error detection unit 32 determines that the value of 1 bit (R / W) indicating a data read or write request is 1 indicating data read, the process proceeds to step S14. That is, in this case, as described above, an error is detected in the first word at the head of the frame.
  • step S14 the slave 13 performs normal processing until the transmission / reception unit 31 detects a stop condition (P).
  • P a stop condition
  • Private Read no 0x7E
  • step S13 when the error detection unit 32 determines in step S13 that the value of 1 bit (R / W) indicating a data read or write request is 0 indicating data write, the process proceeds to step S15. move on.
  • step S15 the error detection unit 32 determines whether or not the transmission / reception unit 31 has received a repeat start (Sr) after the first word ACK.
  • step S15 when the error detection unit 32 determines that the transmission / reception unit 31 has not received a repeat start (Sr) after the first word ACK, the process proceeds to step S16.
  • step S16 the error detection unit 32 checks the second word from the top of the frame, and in step S17, determines whether the second word is a common command code (CCC).
  • CCC common command code
  • step S17 If the error detection unit 32 determines in step S17 that the second word is not a common command code, the process proceeds to step S18, and the slave 13 performs normal processing until the transmission / reception unit 31 detects a stop condition (P). I do. In this case, Private Write (without 0x7E).
  • step S17 determines in step S17 that the second word is a common command code
  • the process proceeds to step S19.
  • step S19 the error detection unit 32 repeats the confirmation of the first word after the repeat start (Sr), and performs normal processing until the transmission / reception unit 31 detects a stop condition (P).
  • step S15 when the error detection unit 32 determines in step S15 that the transmission / reception unit 31 has received a repeat start (Sr) after the ACK of the first word, the process proceeds to step S20.
  • step S20 the error detection unit 32 confirms the first word following the repeat start (Sr) received by the transmission / reception unit 31.
  • step S21 the error detection unit 32 sets the 1-bit (R / W) value representing the data read or write request included in the first word to 1 and 0 according to the confirmation result in step S12. It is determined whether it is.
  • step S21 when the error detection unit 32 determines that the value of 1 bit (R / W) indicating a data read or write request is 0 indicating data write, the process proceeds to step S22.
  • step S22 the error detection unit 32 confirms the second word, and performs normal processing until the transmission / reception unit 31 detects a stop condition (P).
  • a stop condition P
  • P Private Write
  • step S21 when the error detection unit 32 determines in step S21 that the value of 1 bit (R / W) indicating a data read or write request is 1 indicating data read, the process proceeds to step S23. move on.
  • step S23 the slave 13 performs normal processing until the transmission / reception unit 31 detects a stop condition (P).
  • P a stop condition
  • Private Read with 0x7E.
  • the present technology is not limited to the bus IF 11 according to the I2C standard, but can be applied to the bus IF 11 according to other standards.
  • the bus IF 11 shown in FIG. 1 a configuration example in which slaves 13-1 to 13-3 are connected is shown, but the slave 13 may be, for example, one or two, or three or more. But you can.
  • the bus IF 11 may use a combination of both transmission of an error correction code for correcting an error occurring in the common command code and confirmation of successful reception using a parity check result.
  • the processes described with reference to the flowcharts described above do not necessarily have to be processed in chronological order in the order described in the flowcharts, but are performed in parallel or individually (for example, parallel processes or objects). Processing).
  • the program may be processed by one CPU, or may be distributedly processed by a plurality of CPUs.
  • 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. 19 is a block diagram showing an example of the 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
  • An input / output interface 106 is further connected to the bus 105, and the input / output interface 106 is connected to the outside (for example, the signal lines 14-1 and 14-2 in FIG. 1).
  • 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.
  • the program executed by the computer can be written in the ROM 102 in advance, and can be installed or updated in the EEPROM 104 from the outside via the input / output interface 106.
  • this technique can also take the following structures.
  • a communication device for performing communication via a bus A transmission / reception unit that transmits / receives signals to / from at least one other communication device; When the transmission / reception unit transmits / receives the signal, the error detection unit detects whether an error has occurred in the signal by a specific error detection method according to transmission / reception of the signal, and Between the first communication device, which is the communication device having the initiative to communicate via the bus, and the second communication device, which is the communication device that performs communication according to control by the first communication device. Signals are sent and received, The error detection unit of the second communication device targets all the plurality of second communication devices in the first word in a frame transmitted after the first communication device starts communication.
  • a communication device that detects (2) The first communication device sets the parity bit so that an error detection target by a parity bit transmitted subsequent to the second word of the frame includes two words from the head of the frame. The communication device according to (1). (3) The error detection unit of the second communication device performs a parity check on a bit string of two words from the head of the frame using a parity bit transmitted subsequent to the second word from the head of the frame. The communication device according to (2), wherein an error occurring in the two words is detected by an error detection method.
  • the error detecting unit of the second communication device restarts communication without ending communication until the end of communication is detected after the dynamic address assignment is confirmed.
  • An error occurring in the one word is detected by an error detection method for confirming whether or not a bit string that is preliminarily transmitted as the one word is arranged in one word transmitted immediately after that.
  • the communication device according to any one of (1) to (3) above.
  • the error detection unit determines whether a format of data transmitted after a transaction for transmitting a common command code to a plurality of other communication devices is determined is different from a predetermined format.
  • the communication apparatus according to any one of (1) to (4), wherein an error occurring in the data is detected by an error detection method for confirming whether or not.
  • the error detection unit of the second communication device constantly monitors whether or not the transmitted signal matches the signal on the bus at the timing of transmitting the signal from the second communication device.
  • the communication device according to any one of (1) to (5), wherein an error occurring in the signal is detected by a detection method.
  • a current monitoring circuit that monitors a current flowing in a signal line that outputs a signal from the communication device; The error detection unit is based on a current that is constantly monitored by the current monitoring circuit to determine whether or not the transmitted signal matches the signal on the bus at the timing of transmitting a signal from the communication device itself.
  • the communication device according to any one of (1) to (6), wherein an error occurring in the signal is detected by an error detection method to be confirmed.
  • a communication method for a communication device that performs communication via a bus The communication device A transmission / reception unit that transmits / receives signals to / from at least one other communication device; When the transmission / reception unit transmits / receives the signal, the error detection unit detects whether an error has occurred in the signal by a specific error detection method according to transmission / reception of the signal, and Between the first communication device, which is the communication device having the initiative to communicate via the bus, and the second communication device, which is the communication device that performs communication according to control by the first communication device. Signals are sent and received, The error detection unit of the second communication device targets all the plurality of second communication devices in the first word in a frame transmitted after the first communication device starts communication.
  • a communication method including the step of detecting the presence.
  • a program to be executed by a computer of a communication device that performs communication via a bus The communication device A transmission / reception unit that transmits / receives signals to / from at least one other communication device; When the transmission / reception unit transmits / receives the signal, the error detection unit detects whether an error has occurred in the signal by a specific error detection method according to transmission / reception of the signal, and Between the first communication device, which is the communication device having the initiative to communicate via the bus, and the second communication device, which is the communication device that performs communication according to control by the first communication device.
  • the error detection unit of the second communication device targets all the plurality of second communication devices in the first word in a frame transmitted after the first communication device starts communication.
  • one bit indicating a data read or write request transmitted together with a broadcast command notifying that commands are transmitted all at once indicates data read, an error has occurred in the first word.
  • a program that includes the step of detecting (10) A communication system in which a plurality of communication devices communicate via a bus, Each of the communication devices A transmission / reception unit that transmits / receives signals to / from at least one other communication device; When the transmission / reception unit transmits / receives the signal, the error detection unit detects whether an error has occurred in the signal by a specific error detection method according to transmission / reception of the signal, and Between the first communication device, which is the communication device having the initiative to communicate via the bus, and the second communication device, which is the communication device that performs communication according to control by the first communication device.
  • the error detection unit of the second communication device targets all the plurality of second communication devices in the first word in a frame transmitted after the first communication device starts communication.
  • one bit indicating a data read or write request transmitted together with a broadcast command notifying that commands are transmitted all at once indicates data read, an error has occurred in the first word.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Stereo-Broadcasting Methods (AREA)
  • Debugging And Monitoring (AREA)
  • Bus Control (AREA)

Abstract

本開示は、より確実に通信を行うことができるようにする通信装置、通信方法、プログラム、および、通信システムに関する。 スレーブのエラー検出部は、マスタが通信を開始した後に送信するフレームにおける先頭の1ワード目おいて、複数台のスレーブすべてを対象として一斉にコマンドを送信することを通知するブロードキャストコマンドとともに送信されてくる、データの読み出しまたは書き込みの要求を表す1ビットが、データの読み出しを示している場合、その1ワード目にエラーが発生していることを検出する。本技術は、例えば、バスIFに適用できる。

Description

通信装置、通信方法、プログラム、および、通信システム
 本開示は、通信装置、通信方法、プログラム、および、通信システムに関し、特に、より確実に通信を行うことができるようにした通信装置、通信方法、プログラム、および、通信システムに関する。
 従来、複数のデバイスが実装されたボード内でバスを介したデバイス間の通信に用いられるバスIF(Interface)として、例えば、I2C(Inter-Integrated Circuit)が多く利用されている。また、近年、I2Cの高速化を実現することが求められており、次世代の規格としてI3C(Improved Inter Integrated Circuit)の規定が進行している。
 例えば、特許文献1には、ホスト・プロセッサとサブシステム・コントローラとを、I2Cにより相互接続するディジタル・データ処理システムが開示されている。また、特許文献2には、標準I2Cプロトコルの上部に層状に配置された通信プロトコルを実現する方法が開示されている。
特開2000-99448号公報 特開2002-175269号公報
 ところで、バスを介して通信を行うデバイス間で送受信される信号にエラーが発生したとき、エラーの発生を検出することができずに通信を継続するデバイスがあった場合、そのデバイスは、通信のスタートやストップなどを誤検出することが想定される。この場合、そのデバイスが通信不能となる可能性もあり、確実な通信を行うことが困難となってしまう。
 本開示は、このような状況に鑑みてなされたものであり、より確実に通信を行うことができるようにするものである。
 本開示の一側面の通信装置は、バスを介して通信を行う通信装置であって、少なくとも1台以上の他の通信装置との間で、信号の送受信を行う送受信部と、前記送受信部が前記信号を送受信すると、前記信号の送受信に応じた特定のエラー検出方法により、その信号にエラーが発生しているか否かを検出するエラー検出部とを備え、前記バスを介した通信の主導権を有する前記通信装置である第1の通信装置と、前記第1の通信装置による制御に従って通信を行う前記通信装置である第2の通信装置との間で前記信号の送受信が行われ、前記第2の通信装置の前記エラー検出部は、前記第1の通信装置が通信を開始した後に送信するフレームにおける先頭の1ワード目おいて、複数台の前記第2の通信装置すべてを対象として一斉にコマンドを送信することを通知するブロードキャストコマンドとともに送信されてくる、データの読み出しまたは書き込みの要求を表す1ビットが、データの読み出しを示している場合、前記1ワード目にエラーが発生していることを検出する。
 本開示の一側面の通信方法またはプログラムは、バスを介して通信を行う通信装置の通信方法、または、バスを介して通信を行う通信装置のコンピュータに実行させるプログラムであって、前記通信装置は、少なくとも1台以上の他の通信装置との間で、信号の送受信を行う送受信部と、前記送受信部が前記信号を送受信すると、前記信号の送受信に応じた特定のエラー検出方法により、その信号にエラーが発生しているか否かを検出するエラー検出部とを備え、前記バスを介した通信の主導権を有する前記通信装置である第1の通信装置と、前記第1の通信装置による制御に従って通信を行う前記通信装置である第2の通信装置との間で前記信号の送受信が行われ、前記第2の通信装置の前記エラー検出部は、前記第1の通信装置が通信を開始した後に送信するフレームにおける先頭の1ワード目おいて、複数台の前記第2の通信装置すべてを対象として一斉にコマンドを送信することを通知するブロードキャストコマンドとともに送信されてくる、データの読み出しまたは書き込みの要求を表す1ビットが、データの読み出しを示している場合、前記1ワード目にエラーが発生していることを検出するステップを含む。
 本開示の一側面の通信システムは、複数台の通信装置がバスを介して通信を行う通信システムであって、前記通信装置それぞれが、少なくとも1台以上の他の通信装置との間で、信号の送受信を行う送受信部と、前記送受信部が前記信号を送受信すると、前記信号の送受信に応じた特定のエラー検出方法により、その信号にエラーが発生しているか否かを検出するエラー検出部とを備え、前記バスを介した通信の主導権を有する前記通信装置である第1の通信装置と、前記第1の通信装置による制御に従って通信を行う前記通信装置である第2の通信装置との間で前記信号の送受信が行われ、前記第2の通信装置の前記エラー検出部は、前記第1の通信装置が通信を開始した後に送信するフレームにおける先頭の1ワード目おいて、複数台の前記第2の通信装置すべてを対象として一斉にコマンドを送信することを通知するブロードキャストコマンドとともに送信されてくる、データの読み出しまたは書き込みの要求を表す1ビットが、データの読み出しを示している場合、前記1ワード目にエラーが発生していることを検出する。
 本開示の一側面においては、通信装置に、少なくとも1台以上の他の通信装置との間で、信号の送受信を行う送受信部と、送受信部が信号を送受信すると、信号の送受信に応じた特定のエラー検出方法により、その信号にエラーが発生しているか否かを検出するエラー検出部とが備えられる。また、バスを介した通信の主導権を有する通信装置である第1の通信装置と、第1の通信装置による制御に従って通信を行う通信装置である第2の通信装置との間で信号の送受信が行われる。そして、第2の通信装置のエラー検出部は、第1の通信装置が通信を開始した後に送信するフレームにおける先頭の1ワード目おいて、複数台の第2の通信装置すべてを対象として一斉にコマンドを送信することを通知するブロードキャストコマンドとともに送信されてくる、データの読み出しまたは書き込みの要求を表す1ビットが、データの読み出しを示している場合、1ワード目にエラーが発生していることが検出される。
 本開示の一側面によれば、より確実に通信を行うことができる。
本技術を適用したバスIFの一実施の形態の構成例を示すブロック図である。 伝送方式をSDRからHDRに切り替えてデータを伝送する一例を示す図である。 複数台のスレーブに一斉にデータを書き込むCCCの通信が行われるときのエラー検出方法を示す図である。 スレーブごとにアドレスで指定してデータを書き込むCCCの通信が行われるときのエラー検出方法を示す図である。 スレーブごとにアドレスで指定してデータを読み出すCCCの通信が行われるときのエラー検出方法を示す図である。 CCC(ENTDAA)による通信が行われるときのエラー検出方法を示す図である。 スタートコンディションから開始して、プライベートな書き込みを転送する通信が行われるときのエラー検出方法を示す図である。 プライベートな書き込みを転送する通信が行われるときのエラー検出方法を示す図である。 スタートコンディションから開始して、プライベートな読み出しを転送する通信が行われるときのエラー検出方法を示す図である。 プライベートな読み出しを転送する通信が行われるときのエラー検出方法を示す図である。 HDR-DDRモードでデータを書き込む通信が行われるときのエラー検出方法を示す図である。 HDR-DDRモードでデータを読み出す通信が行われるときのエラー検出方法を示す図である。 HDR-TSL/TSPでデータを書き込む通信が行われるときのエラー検出方法を示す図である。 HDR-TSL/TSPでデータを読み出す通信が行われるときのエラー検出方法を示す図である。 衝突検出回路について説明する図である。 通常時および衝突時における電流の変化の例を示す図である。 HDR終了コマンドおよびストップコンディションの送信を説明する図である。 スレーブにおいて行われるエラー検出処理を説明するフローチャートである。 本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
 以下、本技術を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
 <バスIFの構成例>
 図1は、本技術を適用したバスIFの一実施の形態の構成例を示すブロック図である。
 図1に示されているバスIF11は、マスタ12と3台のスレーブ13-1乃至13-3とが、2本の信号線14-1および14-2を介して接続されて構成される。また、バスIF11では、通信速度が異なる複数の伝送方式が規定されており、マスタ12は、それらの伝送方式を切り替えることができる。例えば、バスIF11では、データの転送レートに応じて、通常の転送レートでデータを送信するSDR(Standard Data Rate)と、SDRよりも高い転送レートでデータを送信するHDR(High Data Rate)とが規定されている。
 マスタ12は、バスIF11における制御の主導権を有しており、信号線14-1および14-2を介してスレーブ13-1乃至13-3と通信を行う。
 図示するように、マスタ12は、送受信部21、エラー検出部22、およびエラー対策部23を備えて構成される。
 送受信部21は、バスIF11を介して、スレーブ13-1乃至13-3と信号の送受信を行う。
 エラー検出部22は、送受信部21が信号を送受信すると、信号の送受信に応じた特定のエラー検出方法により、送受信した信号にエラーが発生しているか否かを検出する。例えば、エラー検出部22は、送受信部21が受信した信号の所定箇所に発生したエラーを、その所定箇所ごとのエラー検出方法により検出する。また、エラー検出部22は、送受信部21が送信した信号が衝突することにより発生するエラーを、信号線14-1を監視するエラー検出方法により検出する。
 エラー対策部23は、スレーブ13においてエラーを検出可能とするためのエラー対策を行う。即ち、エラー対策部23は、後述するように、例えば、通信を開始した後に送信するフレームの1ワード目で所定のアドレスの使用を禁止したり、通信を開始した後に送信するフレームから2ワード分が含まれるように1ビットパリティによりパリティチェックを行える範囲を設定する。
 スレーブ13-1乃至13-3は、マスタ12による制御に従って、信号線14-1および14-2を介してマスタ12と通信を行うことができる。なお、スレーブ13-1乃至13-3は、それぞれ同様に構成されており、以下、それらを区別する必要がない場合、単にスレーブ13と称し、スレーブ13を構成する各ブロックについても同様とする。
 図示するように、スレーブ13は、送受信部31およびエラー検出部32を備えて構成される。
 送受信部31は、バスIF11を介して、マスタ12の送受信部21と信号の送受信を行う。
 エラー検出部32は、送受信部31が信号を送受信すると、信号の送受信に応じた特定のエラー検出方法により、送受信した信号にエラーが発生しているか否かを検出する。例えば、エラー検出部32は、送受信部31が受信した信号の所定箇所に発生したエラーを、その所定箇所ごとのエラー検出方法により検出する。また、エラー検出部32は、送受信部31が送信した信号が衝突することにより発生するエラーを、信号線14-1を監視するエラー検出方法により検出する。
 信号線14-1および14-2は、マスタ12およびスレーブ13の間で信号を伝送するのに用いられる。例えば、信号線14-1を介して、1ビットずつ逐次的にシリアルデータ(SDA:Serial Data)が伝送され、信号線14-2を介して、所定の周波数のシリアルクロック(SCL:Serial Clock)が伝送される。
 このように構成されるバスIF11において、マスタ12は、スレーブ13-1乃至13-3すべてを対象として一斉にデータを伝送したり、スレーブ13-1乃至13-3それぞれをアドレスで指定して個々にデータを伝送したりすることができる。
 そして、上述したように、マスタ12およびスレーブ13は、SDRとHDRとで伝送方式を切り替えてデータを送受信することができる。
 例えば、図2には、バスIF11において、伝送方式をSDRからHDRに切り替えてデータを伝送する一例が示されている。
 まず、マスタ12は、バスIF11を介してスレーブ13-1乃至13-3にスタートコンディション(S or Sr)を出力して、通信の開始を宣言する。例えば、バスIF11において通信が行われていない待機状態においてSDAおよびSCLは共にHレベルとされ、マスタ12は、SCLがHレベルである状態でSDAをHレベルからLレベルに変化させることで、スタートコンディションを出力する。なお、通信の開始時における伝送方式は、SDRに設定されている。
 そして、マスタ12は、フレームの先頭の1ワード目に、スレーブ13-1乃至13-3すべてを対象として一斉にコマンドを送信することを通知するブロードキャストコマンド(I3C Reserved byte)を送信し、続いて、ACK(Acknowledge)を用いた受信成功確認を行う。例えば、スレーブ13-1乃至13-3それぞれは、ブロードキャストコマンドの受信が完了すると受信完了通知としてACK(例えば、1ビットの0)を返送する。従って、マスタ12は、ACKが返送されたことによって、ブロードキャストコマンドの受信に成功したことを確認する。
 その後、マスタ12は、フレームの先頭から2ワード目に、伝送方式をHDRに切り替えることを指示するコモンコマンドコード(I3C Modal Broadcast CCC (ENTHDR))をスレーブ13-1乃至13-3に送信し、続いて、1ビットパリティ(T)を送信する。この1ビットパリティは、スレーブ13-1乃至13-3において、コモンコマンドコードの誤りを検出するのに用いられる。
 このように、伝送方式をHDRに切り替えることを指示するコモンコマンドコードを送信した後、マスタ12は、HDRでデータの伝送を開始し、HDRコマンドやHDRデータなどを送信する。そして、マスタ12は、HDRによる伝送を終了させるときに、HDRから抜け出すことを指示するHDR終了コマンド(HDR Exit)を送信する。
 その後、マスタ12は、バスIF11を介してスレーブ13-1乃至13-3にストップコンディション(P)を出力して、通信の終了を宣言する。例えば、マスタ12は、SCLがHレベルである状態でSDAをLレベルからHレベルに変化させることで、バスIF11をストップコンディションにする。なお、バスIF11では、SDR時には通信の開始または終了を宣言するとき以外では、SCLがHレベルであるときに、SDAが変化することがないように規定されている。
 ところで、スレーブ13-1乃至13-3のうち、いずれか1台でもコモンコマンドコードを正常に受信することができなければ、そのスレーブ13は、伝送方式がHDRに遷移したことを認識することができない。そのため、伝送方式がHDRに遷移したことを認識することができなかったスレーブ13が、HDRで伝送されるデータを誤って解釈した場合、バスIF11に悪影響を及ぼしてしまうことがあり、安全な通信を行うことができない状態になることが想定される。
 即ち、仮に、特定のスレーブ13において、フレームの先頭の2ワード(0x7E + R/W + CCC[ENTHDR])で1ビットエラーが発生した場合、そのスレーブ13だけがSDRを継続することになる。このため、そのスレーブ13が、スタートコンディション(S or Sr)またはストップコンディション(P)を誤検出することが想定され、確実な通信を行うことが困難となる。
 そこで、以下では、特に重要な、フレームの先頭の2ワードでエラーが発生した場合に、そのエラーを検出する方法を提案し、マスタ12またはスレーブ13が、フレームの先頭の2ワードでエラーを検出したときに、無事に復帰させるためにとるべき手段を新たに提案する。さらに、フレームの先頭の2ワード以外の場所で発生したエラーに対しても、エラー検出する方法についても提案する。また、仮に、スレーブ13が何の反応も示さない場合に、マスタ12がスレーブ13を復帰させる一手法として、HDR終了コマンド(HDR Exit)およびストップコンディション(P)を送出する手法を提案する。なお、本実施の形態では、1ビットエラーのみが発生することを前提として説明を行う。
 なお、以下適宜、スレーブ13が、1ワード目のエラーの検出を行わずに、2ワード目のパリティチェックのみでエラーの検出を行うエラー検出方法を、スレーブ13のエラー検出方法(S0)とも称する。
 <スレーブ側における第1のエラー検出方法>
 スレーブ13による第1のエラー検出方法は、SDRで信号を伝送するモードにおいて、フレーム先頭の2ワード(9bit×2)に発生するエラーを検出する方法である。
 例えば、図2を参照して上述したように、伝送方式をSDRからHDRに切り替えてデータを伝送するとき、マスタ12は、バスIF11をスタートコンディションにした後、ブロードキャストコマンドを送信する。このとき、バスIF11では、フレーム先頭の1ワード目で送信されるビット列は、図2に示したように、ブロードキャストコマンドを表す7ビット(0x7E)、および、データの読み出しまたは書き込みの要求を表す1ビットが書き込みを示す(R/W=0)ことが定義されている。
 従って、スレーブ13のエラー検出部32は、フレーム先頭の1ワード目で送信されるべきビット列(0x7E+R/W=0:111_1110_0)のうちの、いずれか1ビットが反転されたビット列が、その1ワード目に配置されているか否かを確認する。そして、そのようなビット列が1ワード目に配置されていることが確認された場合、エラー検出部32は、フレーム先頭の1ワード目にエラーが発生したことを検出することができる。
 また、スレーブ13のエラー検出部32は、フレーム先頭の2ワード目については、コモンコマンドコード(I3C Modal Broadcast CCC)に続いて送信される1ビットパリティ(T)を用いてパリティチェックを行うことにより、エラーの発生を検出することができる。
 このように、スレーブ13による第1のエラー検出方法は、フレーム先頭の1ワード目については、ビット列(0x7E+R/W=0:111_1110_0)に対して1ビットエラーが取り得る8通りの組み合わせのビット列(0x3E+R/W=0:011_1110_0)、ビット列(0x5E+R/W=0:101_1110_0)、ビット列(0x6E+R/W=0:110_1110_0)、ビット列(0x76+R/W=0:111_0110_0)、ビット列(0x7A+R/W=0:111_1010_0)、ビット列(0x7C+R/W=0:111_1100_0)、ビット列(0x7F+R/W=0:111_1111_0)、および、ビット列(0x7E+R/W=1:011_1110_1)が受信されたとき、そして、フレーム先頭の2ワード目については、パリティチェック結果に従って、エラーの発生を検出する検出方法である。
 なお、以下適宜、スレーブ13による第1のエラー検出方法のうち、フレーム先頭の1ワード目で送信されるブロードキャストコマンドを表す7ビット(0x7E)のいずれか1ビットが反転した7通りのビット列(0x3E,0x5E,0x6E,0x76,0x7A,0x7C,0x7F)が受信されたことによるエラー検出方法を、スレーブ13のエラー検出方法(S0a)とも称する。
 このとき、マスタ12のエラー対策部23は、スレーブ13のエラー検出(S0a)を実現するために、これらの7通りのビット列(0x3E,0x5E,0x6E,0x76,0x7A,0x7C,0x7F)を、動的に割り当てるアドレスとして使用することを禁止する。
 また、以下適宜、スレーブ13による第1のエラー検出方法のうち、フレーム先頭の1ワード目の最後に送信される1ビット(R/W=0)が反転したビット列(0x7E+R/W=1:011_1110_1)が受信されたことによるエラー検出方法を、スレーブ13のエラー検出方法(S0b)とも称する。
 ここで、ビット列(0x7E+R/W=1:011_1110_1)は、図6を参照して後述するように、動的に割り当てられるアドレス(DAA:Dynamic Address Assignment)を設定する場合のみ用いられることが定義されている。このため、動的に割り当てられるアドレスが確定する前に、ビット列(0x7E+R/W=1:011_1110_1)が検出された場合は、エラーとみなしてもよい。
 以上のように、スレーブ13による第1のエラー検出方法では、上述したエラー検出(S0)と比較して、データの読み出しまたは書き込みの要求を表す1ビットに発生するエラーも検出可能とすることができる。
 <スレーブ側における第2のエラー検出方法>
 スレーブ13による第2のエラー検出方法は、第1のエラー検出方法と同様に、SDRで信号を伝送するモードにおいて、フレーム先頭の2ワード(9bit×2)に発生するエラーを検出する方法である。
 例えば、図2を参照して上述したように、フレーム先頭の2ワード目で送信されるコモンコマンドコード(I3C Modal Broadcast CCC)に続いて1ビットパリティ(T)が送信される。従来、この1ビットパリティ(T)によりパリティチェックが行われる範囲は、コモンコマンドコード(I3C Modal Broadcast CCC)だけが含まれるように設定されている。
 そこで、マスタ12のエラー対策部23は、フレーム先頭の2ワード目で送信されるコモンコマンドコードに続いて送信される1ビットパリティによりパリティチェックが行われる範囲に、ブロードキャストコマンドおよびコモンコマンドコードの2ワード分のビット列が含まれるように設定する。
 これにより、スレーブ13のエラー検出部32は、フレーム先頭から2ワード目のコモンコマンドコードに続いて送信される1ビットパリティを用いて、そのフレームの先頭から2ワード分のビット列に対するパリティチェックを行う第2のエラー検出方法により、ブロードキャストコマンドおよびコモンコマンドコードに発生するエラーを検出することができる。
 以上のように、スレーブ13による第2のエラー検出方法では、上述した第1のエラー検出方法と比較して、使用可能なアドレス(例えば、0x3E,0x5E,0x6E,0x76)が制限されることを回避することができる。
 なお、以下適宜、スレーブ13による第2のエラー検出方法を、スレーブ13のエラー検出方法(S0c)とも称する。
 <スレーブ側における第3のエラー検出方法>
 スレーブ13による第3のエラー検出方法は、SDR(CCC)のうちDAAで信号を伝送するモードにおいて、動的に割り当てられるアドレスが確定した後、通信の終了が検出されるまでの間において、通信を終了させずに続けて通信を再スタート(Sr)させた直後の1ワード(0x7E + R/W=1)に発生するエラーを検出する方法である。
 例えば、バスIF11を介した通信では、動的なアドレスの割り当てを検出してから、通信の終了が検出されるまでの間において、通信を終了させずに続けて通信を再スタートさせた直後の1ワード(0x7E + R/W=1)は、図6を参照して後述するように、この箇所にしか出現しない。
 従って、スレーブ13のエラー検出部32は、動的なアドレスの割り当てを検出してから、通信の終了が検出されるまでの間において、通信を終了させずに続けて通信を再スタートさせた直後に送信される1ワードに、その1ワードとして送信されることが予め規定されているビット列(0x7E + R/W=1)が配置されているか否かを確認する。そして、この再スタートさせた直後の1ワードにビット列(0x7E + R/W=1)が配置されていることが確認された場合には、エラー検出部32は、エラーが発生していないとすることができる。一方、その1ワードにビット列(0x7E + R/W=1)が配置されていないこと、即ち、そのビット列以外のビット列が配置されていることが確認された場合には、この再スタートさせた直後の1ワードにエラーが発生したとみなすことができる。
 以上のように、スレーブ13による第3のエラー検出方法では、従来の手法では検出されていなかった、動的なアドレスの割り当てを検出してから、通信の終了が検出されるまでの間において、通信を終了させずに続けて通信を再スタートさせた直後の1ワードに発生するエラーを検出することができる。
 なお、以下適宜、スレーブ13による第3のエラー検出方法を、スレーブ13のエラー検出方法(S3a)とも称する。
 <スレーブ側における第4のエラー検出方法>
 スレーブ13による第4のエラー検出方法は、SDR(CCC)で信号を伝送するモードにおいて、複数台のスレーブ13に対してコモンコマンドコード(CCC :Common Command Code)を送信するトランザクションが確定した後に、マスタ12から送信されてくるデータに発生するエラーを検出する方法である。
 即ち、コモンコマンドコードを送信するトランザクションが確定した後には、規格により予め規定されているフォーマットのデータを送受信することが決められている。従って、スレーブ13のエラー検出部32は、コモンコマンドコードを送信するトランザクションが確定した後に送信されてくるデータのフォーマットが、規定のフォーマットとは異なっているか否かを確認し、異なるフォーマットのデータを送受信部31が受信した場合、エラーが発生したとすることができる。
 例えば、エラー検出部32は、コモンコマンドコードのトランザクションが確定した後、データを書き込む系統の命令(後述の図4参照)にも関わらず、リード/ライトが読み出しを表す1である場合には、規定のフォーマットとは異なるフォーマットのデータを受信したとして、エラーが発生したと検出することができる。
 同様に、エラー検出部32は、データを読み出す系統の命令にも関わらず、リード/ライトが書き込みを表す0である場合にも、規定のフォーマットとは異なるフォーマットのデータを受信したとして、エラーが発生したと検出することができる。また、エラー検出部32は、2ワードを受信する命令に対して、3ワードを受信したときにもエラーが発生したと検出することができる。
 なお、以下適宜、スレーブ13による第4のエラー検出方法を、スレーブ13のエラー検出方法(S5a)とも称する。
 <スレーブ側における第5のエラー検出方法>
 スレーブ13による第5のエラー検出方法は、スレーブ13から信号を送出するタイミングで、その送出した信号と信号線14-1上の信号が一致しているか否かを常に監視することによりエラーを検出する方法である。
 例えば、バスIF11では、規格上、割り込み処理に対応している。そして、割り込み処理が行われるとき、マスタ12からの送信信号と、スレーブ13からの割り込みリクエストが同時に発生した場合、信号線14-1上で信号が衝突することになる。このような信号の衝突に対応するため、アービトレーションが定義されている。即ち、この期間においては、自己が送信している信号とバス上に流れる信号を比較し、バス権の得失を監視することが求められている。
 ここで、例えば、マスタ12がプライベートな書き込み(Private Write)を転送し、これに対し、スレーブ13側で受信エラーが発生してプライベートな読み出し(Private Read)と誤認識したとする。この場合、マスタ12の送信する書き込みデータ(WriteData)が、スレーブ13が送信する読み出しデータ(Read Data)と信号線14-1上で信号が衝突することになる。これにより、正確な通信を行うことは困難となってしまう。
 そこで、スレーブ13による第5のエラー検出方法では、エラー検出部32は、スレーブ13から信号を送出するタイミングで、その送出した信号と、信号線14-1上の信号とが一致しているか否かを常に(即ち、上述したアービトレーション部分を含み、それ以外でも)監視する。これにより、エラー検出部32は、データの衝突によるエラーの発生を検出することができる。
 <スレーブ側における第6のエラー検出方法>
 スレーブ13による第6のエラー検出方法は、スレーブ13から信号を送出するタイミングで、その送出した信号と信号線14-1上の信号が一致しているか否かを、信号線14-1に流れる電流を常に監視することによりエラーを検出する方法である。
 ここで、この電流の監視には、後述する図15に示す衝突検出回路74が使用される。そして、エラー検出部32は、スレーブ13から信号を送出するタイミングで、その送出した信号と、信号線14-1上の信号とが一致しているか否かを、電流値に基づいて、常に(即ち、上述したアービトレーション部分を含み、それ以外でも)監視する。これにより、エラー検出部32は、データの衝突によるエラーの発生を検出することができる。
 例えば、スレーブ13による第5のエラー検出方法では、信号を送信するマスタ12およびスレーブ13のうち、どちらか一方だけ衝突を検出することができ、両方が衝突を検出することは困難であった。例えば、信号線14-1の電位が中間あたりであった場合、マスタ12およびスレーブ13のどちらも検出に失敗することが想定される。
 そこで、後述する図15に示す衝突検出回路74のように、アナログ的に想定を超える電流が流れているか常に監視することで、マスタ12およびスレーブ13の両方が衝突を検出することができるようになる。
 なお、以下適宜、スレーブ13による第5および第6のエラー検出方法を、スレーブ13のエラー検出方法(S0a)とも称する。
 <マスタ側における第1のエラー検出方法>
 マスタ12による第1のエラー検出方法は、上述したスレーブ13による第4のエラー検出方法と同様に、マスタ12のエラー検出部22が、SDR(CCC)で信号を伝送するモードにおいて、複数台のスレーブ13に対してコモンコマンドコード(CCC :Common Command Code)を送信するトランザクションが確定した後に、スレーブ13から送信されてくるデータに発生するエラーを検出する方法である。
 即ち、マスタ12のエラー検出部22は、コモンコマンドコードを送信するトランザクションが確定した後に送信されてくるデータのフォーマットが、規定のフォーマットとは異なっているか否かを確認し、異なるフォーマットのデータを送受信部21が受信した場合、エラーが発生したとすることができる。
 なお、以下適宜、マスタ12による第1のエラー検出方法を、マスタ12のエラー検出方法(M0a)とも称する。
 <マスタ側における第2および第3のエラー検出方法>
 マスタ12による第2および第3のエラー検出方法は、上述したスレーブ13による第5および第6のエラー検出方法と同様に、信号線14-1上の信号を常に監視することによりエラーを検出する方法である。
 即ち、マスタ12のエラー検出部22は、マスタ12から信号を送出するタイミングで、その送出した信号と、信号線14-1上の信号とが一致しているか否かを常に(即ち、上述したアービトレーション部分を含み、それ以外でも)監視することによりエラーを検出する。また、後述する図15に示す衝突検出回路74を使用して、信号線14-1に流れる電流を常に監視することによりエラーを検出する。
 なお、以下適宜、マスタ12による第2および第3のエラー検出方法を、マスタ12のエラー検出方法(M30a)とも称する。
 以上のようなエラー検出方法によって、マスタ12およびスレーブ13がエラーを検出することで、バスIF11において、例えば、伝送方式の切り替えを確実に行わせることができ、より確実に通信が行われるようにすることができる。これにより、より安全な通信を行うことができる。
 <エラー検出後の復帰方法>
 以下では、上述したようにエラーを検出した後に、マスタ12およびスレーブ13が復帰する方法について説明する。
 マスタ12およびスレーブ13は、エラーの状態に応じて適応的にその後の振る舞いを行い、通信を確実に復帰させることができる。
 例えば、上述したスレーブ13のエラー検出方法(S0)、スレーブ13のエラー検出方法(S0b)、スレーブ13のエラー検出方法(S0c)でエラーを検出した場合、通信不能となることを考慮し、エラーを検出したスレーブ13は、HDR終了コマンド(HDR Exit)を検出するまで、一切の通信を無視する。これにより、伝送方式がHDRであるときにストップコンディション(P)を誤検出することを回避することができ、その後、通信を再開することができる。
 また、スレーブ13のエラー検出方法(S0b)のうち、2ワード目の処理は行わない。即ち、0x7Eを送るのではなく、動的に割り当てるアドレスを送信していた場合、誤り検出率が限定的ではあるが、一定程度のエラー検出を行うことができる。この場合、伝送方式がSDRであるため、エラーを検出したスレーブ13は、ストップコンディション(P)を検出するまで、一切の通信を無視する。これにより、エラーの発生したフレームのみ無視して、通信を再開することができる。
 また、上述したスレーブ13のエラー検出方法(S3a)、および、スレーブ13のエラー検出方法(S5a)でエラーを検出した場合、伝送方式がSDRであるため、エラーを検出したスレーブ13は、ストップコンディション(P)を検出するまで、一切の通信を無視する。これにより、エラーの発生したフレームのみ無視して、通信を再開することができる。
 なお、伝送方式がSDRであるときに、書き込みデータに発生したエラーをパリティチェックにより検出するスレーブ13のエラー検出方法(S1)、および、動的に割り当てられるアドレスが確定した後に、アサインアドレスに発生したエラーをパリティチェックにより検出するスレーブ13のエラー検出方法(S2)で、エラーを検出した場合も、同様に、エラーを検出したスレーブ13は、ストップコンディション(P)を検出するまで、一切の通信を無視する。
 また、HDR-DDRで信号を伝送するモードにおいて、コマンドワードに発生したエラーをパリティチェックにより検出するスレーブ13のエラー検出方法(S10)、データワードに発生したエラーをパリティチェックまたは巡回冗長検査(CRC)により検出するスレーブ13のエラー検出方法(S11)で、エラーを検出した場合、HDR状態にあるため、エラーを検出したスレーブ13は、HDR終了コマンド(HDR Exit)を検出するまで、一切の通信を無視する。これにより、エラーの発生したフレームのみ無視して、通信を再開することができる。
 また、HDR-TSL/TSPで信号を伝送するモードにおいて、コマンドワードに発生したエラーを、シンボルの「2」が2回連続(HDR Restart or HDR Exit以外)していることにより検出するスレーブ13のエラー検出方法(S20)、データワードに発生したエラーを、パリティチェック、または、シンボルの「2」が2回連続(HDR Restart or HDR Exit以外)していることにより検出するスレーブ13のエラー検出方法(S21)で、エラーを検出した場合も、同様に、HDR状態にあるため、エラーを検出したスレーブ13は、HDR終了コマンド(HDR Exit)を検出するまで、一切の通信を無視する。これにより、エラーの発生したフレームのみ無視して、通信を再開することができる。
 また、上述したスレーブ13のエラー検出方法(S30a)でエラーを検出した場合、信号が衝突していることより、電流が大量に消費されるため、エラーを検出したスレーブ13は、直ちに信号の送信を中止し、ストップコンディション(P)を検出する(HDR中はHDR Exitを検出する)まで、一切の通信を無視する。これにより、エラーの発生したフレームのみ無視して、通信を再開することができる。
 また、上述したマスタ12のエラー検出方法(M0a)でエラー検出した場合、伝送方式がSDRであるため、エラーを検出したマスタ12は送信を中止し、ストップコンディション(P)の送信後、通信を最初からやり直す。これにより、エラーの発生したフレームのみ無視して、通信を再開することができる。
 また、上述したマスタ12のエラー検出方法(M30a)でエラー検出した場合、信号が衝突していることより、電流が大量に消費されるため、エラーを検出したマスタ12は、直ちに信号の送信を中止し、ストップコンディション(P)を送信(HDR中はHDR Exitを送信)した後、通信を最初からやり直す。これにより、エラーの発生したフレームのみ無視して、通信を再開することができる。
 <各種の通信ごとのエラー検出方法>
 以下、図3乃至図14に示す各種の通信ごとに適用されるエラー検出方法について説明する。
 図3には、複数台のスレーブ13に一斉にデータを書き込む通信(I3C Broadcast CCC Write)が行われるときのエラー検出方法が示されている。
 このような通信において、スタートコンディションに続いて送信されるフレームの2ワードに発生するエラーは、上述したスレーブ13のエラー検出方法(S0b)およびスレーブ13のエラー検出方法(S0c)により検出することができる。
 また、1ビットパリティの後に送信されるデータ(Optional Write Data)に発生するエラーは、上述したスレーブ13のエラー検出方法(S1)およびスレーブ13のエラー検出方法(S5a)により検出することができる。
 図4には、スレーブ13ごとにアドレスで指定してデータを書き込む通信(I3C Directed CCC Write)が行われるときのエラー検出方法が示されている。
 このような通信において、スタートコンディションに続いて送信されるフレームの2ワードに発生するエラーは、上述したスレーブ13のエラー検出方法(S0b)およびスレーブ13のエラー検出方法(S0c)により検出することができる。
 また、破線で囲われた部分の全体に発生するエラーは、上述したスレーブ13のエラー検出方法(S5a)により検出することができる。さらに、再スタート(Sr)の直後の1ワードに発生するエラーは、上述したスレーブ13のエラー検出方法(S0b)の1ワード目に対する処理により検出することができる。また、データ(Optional Write Data)に発生するエラーは、上述したスレーブ13のエラー検出方法(S1)により、パリティチェックによって検出することができる。
 図5には、スレーブ13ごとにアドレスで指定してデータを読み出す通信(I3C Directed CCC Read)が行われるときのエラー検出方法が示されている。
 このような通信において、スタートコンディションに続いて送信されるフレームの2ワードに発生するエラーは、上述したスレーブ13のエラー検出方法(S0b)およびスレーブ13のエラー検出方法(S0c)により検出することができる。
 また、破線で囲われた部分の全体に発生するエラーは、上述したスレーブ13のエラー検出方法(S5a)およびマスタ12のエラー検出方法(M0a)により検出することができる。さらに、再スタート(Sr)の直後の1ワードに発生するエラーは、上述したスレーブ13のエラー検出方法(S0b)の1ワード目に対する処理により検出することができる。
 図6には、CCC(ENTDAA)による通信が行われるときのエラー検出方法が示されている。
 このような通信において、スタートコンディションに続いて送信されるフレームの2ワードに発生するエラーは、上述したスレーブ13のエラー検出方法(S0b)およびスレーブ13のエラー検出方法(S0c)により検出することができる。
 また、破線で囲われた部分の全体に発生するエラーは、上述したスレーブ13のエラー検出方法(S5a)およびマスタ12のエラー検出方法(M0a)により検出することができる。さらに、再スタート(Sr)の直後の1ワードに発生するエラーは、上述したスレーブ13のエラー検出方法(S3a)により検出することができる。アサインアドレスに発生したエラーは、上述したスレーブ13のエラー検出方法(S2)により検出することができる。
 図7には、スタートコンディションから開始して、プライベートな書き込みを転送する通信(I3C Private Write Transfer Initiated with START Condition)が行われるときのエラー検出方法が示されている。
 このような通信において、スタートコンディションに続いて送信されるフレームの1ワードに発生するエラーは、上述したスレーブ13のエラー検出方法(S0b)の1ワード目に対する処理により検出することができる。
 また、再スタート(Sr)に続いて送信されるフレームの2ワードに発生するエラーは、上述したスレーブ13のエラー検出方法(S0b)およびスレーブ13のエラー検出方法(S0c)により検出することができる。さらに、データ(Write Data - N)に発生するエラーは、上述したスレーブ13のエラー検出方法(S1)により、パリティチェックによって検出することができる。
 図8には、プライベートな書き込みを転送する通信(I3C Private Write Transfer)が行われるときのエラー検出方法が示されている。
 このような通信において、スタートコンディションに続いて送信されるフレームの1ワードに発生するエラーは、上述したスレーブ13のエラー検出方法(S0b)およびスレーブ13のエラー検出方法(S0c)により検出することができる。さらに、データ(Write Data - N)に発生するエラーは、上述したスレーブ13のエラー検出方法(S1)により、パリティチェックによって検出することができる。
 図9には、スタートコンディションから開始して、プライベートな読み出しを転送する通信(I3C Private Write Transfer Initiated with START Condition)が行われるときのエラー検出方法が示されている。
 このような通信において、スタートコンディションに続いて送信されるフレームの1ワードに発生するエラーは、上述したスレーブ13のエラー検出方法(S0b)の1ワード目に対する処理により検出することができる。また、再スタート(Sr)の直後の1ワードに発生するエラーは、上述したスレーブ13のエラー検出方法(S0b)の1ワード目に対する処理により検出することができる。
 図10には、プライベートな読み出しを転送する通信(I3C Private Write Transfer)が行われるときのエラー検出方法が示されている。
 このような通信において、スタートコンディションに続いて送信されるフレームの1ワードに発生するエラーは、上述したスレーブ13のエラー検出方法(S0b)の1ワード目に対する処理により検出することができる。
 図11には、HDR-DDRモードでデータを書き込む通信が行われるときのエラー検出方法が示されている。
 このような通信において、スタートコンディションに続いて送信されるフレームの2ワードに発生するエラーは、上述したスレーブ13のエラー検出方法(S0b)およびスレーブ13のエラー検出方法(S0c)により検出することができる。
 また、スレーブ13のエラー検出方法(S10)により、コマンドワードに発生したエラーをパリティチェックによって検出することができる。また、スレーブ13のエラー検出方法(S11)により、データワードに発生したエラーをパリティチェックまたは巡回冗長検査(CRC)によって検出することができる。
 図12には、HDR-DDRモードでデータを読み出す通信が行われるときのエラー検出方法が示されている。
 このような通信において、スタートコンディションに続いて送信されるフレームの2ワードに発生するエラーは、上述したスレーブ13のエラー検出方法(S0b)およびスレーブ13のエラー検出方法(S0c)により検出することができる。
 また、スレーブ13のエラー検出方法(S10)により、コマンドワードに発生したエラーをパリティチェックによって検出することができる。そして、マスタ12のエラー検出方法(M11)により、データワードに発生したエラーをパリティチェックまたは巡回冗長検査(CRC)によって検出することができる。
 図13には、HDR-TSL/TSPでデータを書き込む通信が行われるときのエラー検出方法が示されている。
 このような通信において、スタートコンディションに続いて送信されるフレームの2ワードに発生するエラーは、上述したスレーブ13のエラー検出方法(S0b)およびスレーブ13のエラー検出方法(S0c)により検出することができる。
 また、スレーブ13のエラー検出方法(S20)により、コマンドワードに発生したエラーを、シンボルの「2」が2回連続していることによって検出することができる。即ち、HDR-TSLおよびHDR-TSPで使われるTernary Encodingでは、シンボルの「2」が2回連続するケースは、HDR RestartとHDR Exitを除いて存在しないことより、エラーとすることができる。また、スレーブ13のエラー検出方法(S21)により、データワードに発生したエラーを、パリティチェック、または、シンボルの「2」が2回連続(HDR Restart or HDR Exit以外)していることによって検出することができる。
 図14には、HDR-TSL/TSPでデータを読み出す通信が行われるときのエラー検出方法が示されている。
 このような通信において、スタートコンディションに続いて送信されるフレームの2ワードに発生するエラーは、上述したスレーブ13のエラー検出方法(S0b)およびスレーブ13のエラー検出方法(S0c)により検出することができる。
 また、スレーブ13のエラー検出方法(S20)により、コマンドワードに発生したエラーを、シンボルの「2」が2回連続していることによって検出することができる。また、マスタ12のエラー検出方法(M21)により、データワードに発生したエラーを、パリティチェック、または、シンボルの「2」が2回連続(HDR Restart or HDR Exit以外)していることによって検出することができる。
 次に、図15は、スレーブ13による第6のエラー検出方法およびマスタ12による第3のエラー検出方法において使用される衝突検出回路について説明する図である。
 例えば、図1に示すマスタ12の送受信部21、および、スレーブ13の送受信部31は、それぞれ受信回路51と送信回路52とを備えて構成される。即ち、図15には、送受信部21および送受信部31のうち、一方が信号を送信する側となったときの送信回路52と、他方が信号を受信する側となったときの受信回路51とが示されている。
 受信回路51は、電流源回路61を有しており、電流源回路61は、PMOSトランジスタ62、NMOSトランジスタ63、および抵抗64が組み合わされて構成される。電流源回路61では、ドレイン電源VDDからPMOSトランジスタ62を介して抵抗64に流れる電流Iによって、端子65に接続される信号線14-1に、シリアルデータ(SDA)が伝送される。
 送信回路52では、シリアルデータ(SDA)を伝送する信号線14-1が端子71に接続され、シリアルクロック(SCL)を伝送する信号線14-2が端子72に接続されている。また、送信回路52は、静電気保護素子(ESD)73、衝突検出回路74、インバータ回路75、および増幅部76を有しており、インバータ回路75は、PMOSトランジスタ77およびNMOSトランジスタ78が組み合わされて構成される。
 例えば、端子71を介して送信回路52に入力される電流Iは、静電気による高電圧から回路を保護するための静電気保護素子73を介して、衝突検出回路74に供給される。また、端子72を介して送信回路52に入力されるシリアルクロック(SCL)は、増幅部76により所定の電圧まで増幅されて、衝突検出回路74に供給される。また、衝突検出回路74から出力される電流Iは、インバータ回路75のNMOSトランジスタ78を介して、グランドレベルに流れる。
 衝突検出回路74は、コンパレータ81および82、フリップフロップ回路83および84、並びに抵抗85が組み合わされて構成される。
 図15に示すように、コンパレータ81のプラス側の入力端子と、コンパレータ82のマイナス側の入力端子との接続点に、静電気保護素子73が接続されており、その接続点には、抵抗85の一端が接続される。また、抵抗85の他端は、インバータ回路75に接続される。
 コンパレータ81のマイナス側の入力端子には参照信号Vref1が供給され、コンパレータ81の出力端子が、フリップフロップ回路83に接続される。また、フリップフロップ回路83には、シリアルクロック(SCL)が供給され、フリップフロップ回路83から出力される信号が出力信号Out1となる。
 同様に、コンパレータ82のプラス側の入力端子には参照信号Vref2が供給され、コンパレータ81の出力端子が、フリップフロップ回路84に接続される。また、フリップフロップ回路84には、シリアルクロック(SCL)が供給され、フリップフロップ回路84から出力される信号が出力信号Out2となる。
 このように衝突検出回路74は構成されており、エラー検出部22およびエラー検出部32がそれぞれ出力信号Out1を監視することで、高精度に衝突検出することができる。
 なお、上述したデジタル方式による衝突検出方法では、マスタ12およびスレーブ13の検出結果を確認する必要があったのに対し、衝突検出回路74を使用した衝突検出方法では、マスタ12とスレーブ13とのそれぞれ単独で衝突を検出することができる。
 図16に示す通常時および衝突時における電流の変化の例を参照して、衝突検出回路74の動作について説明する。
 例えば、通常、4mAのドライバを使用することが想定され、抵抗64および抵抗85の抵抗値Rdは20Ω程度に設定される。このとき、衝突が起きると、80mV以上の電圧が、シリアルデータ(SDA)を伝送する信号線14-1に発生する。
 一方、衝突が起きなければ、信号線14-1の電圧は略0Vであるので、参照信号Vref1は40mV程度に設定してコンパレータ81による比較を行う。そして、フリップフロップ回路83が、コンパレータ81の比較結果を、シリアルクロック(SCL)でラッチし、出力信号Out1がHiレベルとなる。
 ここで、期待値は、自分自身の出力(この場合、Lowレベル)であると分かっているので、出力信号Out1が期待値でない場合、衝突検出とすることができる。
 次に、図17には、HDR終了コマンド(HDR Exit)およびストップコンディション(P)を出力するときのシリアルデータ(SDA)およびシリアルクロック(SCL)が示されている。
 例えば、マスタ12がスレーブ13に対してリードアクセスなどを実施しても反応がなく、何度か再送を行っても反応がない場合、何らかのエラーにより、スレーブ13がHDR終了コマンド(HDR Exit)の検出や、ストップコンディション(P)の検出を待機している状態であると判断することができる。この場合、マスタ12は、図17に示すような、HDR終了コマンド(HDR Exit)およびストップコンディション(P)を含む信号を、スレーブ13に送信する。
 ここで、HDR終了コマンド(HDR Exit)およびストップコンディション(P)の送信は、通常、HDR信号の最後に送信されることが定義されている。このようなHDR信号の最後でなくても、スレーブ13が無反応である場合に送信することで、スレーブ13を正常に動作させることができるようになる。
 なお、マスタ12は、HDR終了コマンド(HDR Exit)およびストップコンディション(P)を含む信号を送信すればよく、例えば、スタートコンディション(S)、HDR終了コマンド(HDR Exit)、およびストップコンディション(P)を送信してもよい。または、マスタ12は、スタートコンディション(S)、ブロードキャストコマン(0x7E+R/W(=0))、ACK、HDR終了コマンド(HDR Exit)、およびストップコンディション(P)を送信してもよい。これにより、スレーブ13を確実に復帰させることができる。
 次に、図18は、スレーブ13において行われるエラー検出処理のうち、エラー検出方法(S0b)を説明するフローチャートである。
 例えば、スレーブ13が起動すると処理が開始され、ステップS11において、送受信部31は、マスタ12がスタートコンディション(S or Sr)を出力して、それを検出するまで処理を待機する。そして、送受信部31がスタートコンディション(S or Sr)を検出すると、処理はステップS12に進む。
 ステップS12において、エラー検出部32は、送受信部31が受信したフレーム先頭の1ワード目を確認する。
 ステップS13において、エラー検出部32は、ステップS12での確認の結果に従って、1ワード目に含まれている、データの読み出しまたは書き込みの要求を表す1ビット(R/W)の値が1および0のどちらであるかを判定する。
 ステップS13において、エラー検出部32が、データの読み出しまたは書き込みの要求を表す1ビット(R/W)の値が、データの読み出しを示す1であると判定した場合、処理はステップS14に進む。即ち、この場合、上述したように、フレーム先頭の1ワード目にエラーが検出されたことになる。
 ステップS14において、スレーブ13は、送受信部31がストップコンディション(P)を検出するまで、通常処理を行う。なお、この場合、Private Read(0x7Eなし)である。
 一方、ステップS13において、エラー検出部32が、データの読み出しまたは書き込みの要求を表す1ビット(R/W)の値が、データの書き込みを示す0であると判定した場合、処理はステップS15に進む。
 ステップS15において、エラー検出部32は、1ワード目のACKの次に、送受信部31がリピートスタート(Sr)受信したか否かを判定する。
 ステップS15において、エラー検出部32が、1ワード目のACKの次に、送受信部31がリピートスタート(Sr)受信していないと判定した場合、処理はステップS16に進む。
 ステップS16において、エラー検出部32は、フレーム先頭から2ワード目を確認し、ステップS17において、その2ワード目がコモンコマンドコード(CCC)であるか否かを判定する。
 ステップS17において、エラー検出部32が、2ワード目がコモンコマンドコードでないと判定した場合、処理はステップS18に進み、スレーブ13は、送受信部31がストップコンディション(P)を検出するまで、通常処理を行う。なお、この場合、Private Write(0x7Eなし)である。
 一方、ステップS17において、エラー検出部32が、2ワード目がコモンコマンドコードであると判定した場合、処理はステップS19に進む。ステップS19において、エラー検出部32は、リピートスタート(Sr)の次の1ワード目の確認を繰り返し、送受信部31がストップコンディション(P)を検出するまで、通常処理を行う。
 一方、ステップS15において、エラー検出部32が、1ワード目のACKの次に、送受信部31がリピートスタート(Sr)を受信したと判定した場合、処理はステップS20に進む。
 ステップS20において、エラー検出部32は、送受信部31が受信したリピートスタート(Sr)に続く1ワード目を確認する。
 ステップS21において、エラー検出部32は、ステップS12での確認の結果に従って、1ワード目に含まれている、データの読み出しまたは書き込みの要求を表す1ビット(R/W)の値が1および0のどちらであるかを判定する。
 ステップS21において、エラー検出部32が、データの読み出しまたは書き込みの要求を表す1ビット(R/W)の値が、データの書き込みを示す0であると判定した場合、処理はステップS22に進む。
 ステップS22において、エラー検出部32は、2ワード目の確認を行い、送受信部31がストップコンディション(P)を検出するまで、通常処理を行う。なお、この場合、Private Write(0x7Eあり)である。
 一方、ステップS21において、エラー検出部32が、データの読み出しまたは書き込みの要求を表す1ビット(R/W)の値が、データの読み出しを示す1であると判定した場合、処理はステップS23に進む。
 ステップS23において、スレーブ13は、送受信部31がストップコンディション(P)を検出するまで、通常処理を行う。なお、この場合、Private Read(0x7Eあり)である。
 なお、本技術は、I2Cの規格に従ったバスIF11に限定されることはなく、その他の規格に従ったバスIF11に適用することができる。また、図1に示すバスIF11では、スレーブ13-1乃至13-3が接続された構成例が示されているが、スレーブ13は、例えば、1台または2台でもよく、あるいは、3台以上でもよい。さらに、例えば、バスIF11は、コモンコマンドコードに発生する誤りを訂正する誤り訂正符号の送信と、パリティチェック結果を用いた受信成功の確認との両方を組み合わせて用いてもよい。
 なお、上述のフローチャートを参照して説明した各処理は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。また、プログラムは、1のCPUにより処理されるものであっても良いし、複数のCPUによって分散処理されるものであっても良い。
 また、上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラムが記録されたプログラム記録媒体からインストールされる。
 <ハードウエアの構成例>
 図19は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 コンピュータにおいて、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が外部(例えば、図1の信号線14-1および14-2)に接続される。
 以上のように構成されるコンピュータでは、CPU101が、例えば、ROM102およびEEPROM104に記憶されているプログラムを、バス105を介してRAM103にロードして実行することにより、上述した一連の処理が行われる。また、コンピュータ(CPU101)が実行するプログラムは、ROM102に予め書き込んでおく他、入出力インタフェース106を介して外部からEEPROM104にインストールしたり、更新したりすることができる。
 なお、本技術は以下のような構成も取ることができる。
(1)
 バスを介して通信を行う通信装置であって、
 少なくとも1台以上の他の通信装置との間で、信号の送受信を行う送受信部と、
 前記送受信部が前記信号を送受信すると、前記信号の送受信に応じた特定のエラー検出方法により、その信号にエラーが発生しているか否かを検出するエラー検出部と
 を備え、
 前記バスを介した通信の主導権を有する前記通信装置である第1の通信装置と、前記第1の通信装置による制御に従って通信を行う前記通信装置である第2の通信装置との間で前記信号の送受信が行われ、
 前記第2の通信装置の前記エラー検出部は、前記第1の通信装置が通信を開始した後に送信するフレームにおける先頭の1ワード目おいて、複数台の前記第2の通信装置すべてを対象として一斉にコマンドを送信することを通知するブロードキャストコマンドとともに送信されてくる、データの読み出しまたは書き込みの要求を表す1ビットが、データの読み出しを示している場合、前記1ワード目にエラーが発生していることを検出する
 通信装置。
(2)
 前記第1の通信装置は、前記フレームの2ワード目に続いて送信されるパリティビットによる誤り検出の対象に、そのフレームの先頭から2ワード分が含まれるように、前記パリティビットを設定する
 上記(1)に記載の通信装置。
(3)
 前記第2の通信装置の前記エラー検出部は、前記フレームの先頭から2ワード目に続いて送信されるパリティビットを用いて、そのフレームの先頭から2ワード分のビット列に対してパリティチェックを行うエラー検出方法により、前記2ワード分に発生するエラーを検出する
 上記(2)に記載の通信装置。
(4)
 前記第2の通信装置の前記エラー検出部は、動的なアドレスの割り当てが確定してから、通信の終了が検出されるまでの間において、通信を終了させずに続けて通信を再スタートさせた直後に送信される1ワードに、その1ワードとして送信されることが予め規定されているビット列が配置されているか否かを確認するエラー検出方法により、前記1ワードに発生するエラーを検出する
 上記(1)から(3)までのいずれかに記載の通信装置。
(5)
 前記エラー検出部は、複数台の前記他の通信装置に対して共通のコマンドコードを送信するトランザクションが確定した後に送信されてくるデータのフォーマットが、予め規定されているフォーマットとは異なっているか否かを確認するエラー検出方法により、前記データに発生するエラーを検出する
 上記(1)から(4)までのいずれかに記載の通信装置。
(6)
 前記第2の通信装置の前記エラー検出部は、前記第2の通信装置から信号を送出するタイミングで、その送出した信号と前記バス上の信号とが一致しているか否かを常に監視するエラー検出方法により、前記信号に発生するエラーを検出する
 上記(1)から(5)までのいずれかに記載の通信装置。
(7)
 前記通信装置から信号を出力する信号線に流れる電流を監視する電流監視回路をさらに備え、
 前記エラー検出部は、前記通信装置自身から信号を送出するタイミングで、その送出した信号と前記バス上の信号が一致しているか否かを、前記電流監視回路により常に監視されている電流に基づいて確認するエラー検出方法により、前記信号に発生するエラーを検出する
 上記(1)から(6)までのいずれかに記載の通信装置。
(8)
 バスを介して通信を行う通信装置の通信方法であって、
 前記通信装置は、
 少なくとも1台以上の他の通信装置との間で、信号の送受信を行う送受信部と、
 前記送受信部が前記信号を送受信すると、前記信号の送受信に応じた特定のエラー検出方法により、その信号にエラーが発生しているか否かを検出するエラー検出部と
 を備え、
 前記バスを介した通信の主導権を有する前記通信装置である第1の通信装置と、前記第1の通信装置による制御に従って通信を行う前記通信装置である第2の通信装置との間で前記信号の送受信が行われ、
 前記第2の通信装置の前記エラー検出部は、前記第1の通信装置が通信を開始した後に送信するフレームにおける先頭の1ワード目おいて、複数台の前記第2の通信装置すべてを対象として一斉にコマンドを送信することを通知するブロードキャストコマンドとともに送信されてくる、データの読み出しまたは書き込みの要求を表す1ビットが、データの読み出しを示している場合、前記1ワード目にエラーが発生していることを検出する
 ステップを含む通信方法。
(9)
 バスを介して通信を行う通信装置のコンピュータに実行させるプログラムであって、
 前記通信装置は、
 少なくとも1台以上の他の通信装置との間で、信号の送受信を行う送受信部と、
 前記送受信部が前記信号を送受信すると、前記信号の送受信に応じた特定のエラー検出方法により、その信号にエラーが発生しているか否かを検出するエラー検出部と
 を備え、
 前記バスを介した通信の主導権を有する前記通信装置である第1の通信装置と、前記第1の通信装置による制御に従って通信を行う前記通信装置である第2の通信装置との間で前記信号の送受信が行われ、
 前記第2の通信装置の前記エラー検出部は、前記第1の通信装置が通信を開始した後に送信するフレームにおける先頭の1ワード目おいて、複数台の前記第2の通信装置すべてを対象として一斉にコマンドを送信することを通知するブロードキャストコマンドとともに送信されてくる、データの読み出しまたは書き込みの要求を表す1ビットが、データの読み出しを示している場合、前記1ワード目にエラーが発生していることを検出する
 ステップを含むプログラム。
(10)
 複数台の通信装置がバスを介して通信を行う通信システムであって、
 前記通信装置それぞれが、
 少なくとも1台以上の他の通信装置との間で、信号の送受信を行う送受信部と、
 前記送受信部が前記信号を送受信すると、前記信号の送受信に応じた特定のエラー検出方法により、その信号にエラーが発生しているか否かを検出するエラー検出部と
 を備え、
 前記バスを介した通信の主導権を有する前記通信装置である第1の通信装置と、前記第1の通信装置による制御に従って通信を行う前記通信装置である第2の通信装置との間で前記信号の送受信が行われ、
 前記第2の通信装置の前記エラー検出部は、前記第1の通信装置が通信を開始した後に送信するフレームにおける先頭の1ワード目おいて、複数台の前記第2の通信装置すべてを対象として一斉にコマンドを送信することを通知するブロードキャストコマンドとともに送信されてくる、データの読み出しまたは書き込みの要求を表す1ビットが、データの読み出しを示している場合、前記1ワード目にエラーが発生していることを検出する
 通信システム。
 なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
 11 バスIF, 12 マスタ, 13-1乃至13-3 スレーブ, 14-1および14-2 信号線, 21 送受信部, 22 エラー検出部, 23 エラー対策部, 31-1乃至31-3 送受信部, 32-1乃至32-3 エラー検出部, 51 受信回路, 52 送信回路, 61 電流源回路, 62 PMOSトランジスタ, 63 NMOSトランジスタ, 64 抵抗, 65 端子, 71および72 端子, 73 静電気保護素子, 74 衝突検出回路, 75 インバータ回路, 76 増幅部, 77 PMOSトランジスタ, 78 NMOSトランジスタ, 81および82 コンパレータ, 83および84 フリップフロップ回路, 85 抵抗

Claims (45)

  1.  バスを介して通信を行う通信装置であって、
     少なくとも1台以上の他の通信装置との間で、信号の送受信を行う送受信部と、
     前記送受信部が前記信号を送受信すると、前記信号の送受信に応じた特定のエラー検出方法により、その信号にエラーが発生しているか否かを検出するエラー検出部と
     を備え、
     前記バスを介した通信の主導権を有する前記通信装置である第1の通信装置と、前記第1の通信装置による制御に従って通信を行う前記通信装置である第2の通信装置との間で前記信号の送受信が行われ、
     前記第2の通信装置の前記エラー検出部は、前記第1の通信装置が通信を開始した後に送信するフレームにおける先頭の1ワード目おいて、複数台の前記第2の通信装置すべてを対象として一斉にコマンドを送信することを通知するブロードキャストコマンドとともに送信されてくる、データの読み出しまたは書き込みの要求を表す1ビットが、データの読み出しを示している場合、前記1ワード目にエラーが発生していることを検出する
     通信装置。
  2.  バスを介して通信を行う通信装置の通信方法であって、
     前記通信装置は、
     少なくとも1台以上の他の通信装置との間で、信号の送受信を行う送受信部と、
     前記送受信部が前記信号を送受信すると、前記信号の送受信に応じた特定のエラー検出方法により、その信号にエラーが発生しているか否かを検出するエラー検出部と
     を備え、
     前記バスを介した通信の主導権を有する前記通信装置である第1の通信装置と、前記第1の通信装置による制御に従って通信を行う前記通信装置である第2の通信装置との間で前記信号の送受信が行われ、
     前記第2の通信装置の前記エラー検出部は、前記第1の通信装置が通信を開始した後に送信するフレームにおける先頭の1ワード目おいて、複数台の前記第2の通信装置すべてを対象として一斉にコマンドを送信することを通知するブロードキャストコマンドとともに送信されてくる、データの読み出しまたは書き込みの要求を表す1ビットが、データの読み出しを示している場合、前記1ワード目にエラーが発生していることを検出する
     ステップを含む通信方法。
  3.  バスを介して通信を行う通信装置のコンピュータに実行させるプログラムであって、
     前記通信装置は、
     少なくとも1台以上の他の通信装置との間で、信号の送受信を行う送受信部と、
     前記送受信部が前記信号を送受信すると、前記信号の送受信に応じた特定のエラー検出方法により、その信号にエラーが発生しているか否かを検出するエラー検出部と
     を備え、
     前記バスを介した通信の主導権を有する前記通信装置である第1の通信装置と、前記第1の通信装置による制御に従って通信を行う前記通信装置である第2の通信装置との間で前記信号の送受信が行われ、
     前記第2の通信装置の前記エラー検出部は、前記第1の通信装置が通信を開始した後に送信するフレームにおける先頭の1ワード目おいて、複数台の前記第2の通信装置すべてを対象として一斉にコマンドを送信することを通知するブロードキャストコマンドとともに送信されてくる、データの読み出しまたは書き込みの要求を表す1ビットが、データの読み出しを示している場合、前記1ワード目にエラーが発生していることを検出する
     ステップを含むプログラム。
  4.  複数台の通信装置がバスを介して通信を行う通信システムであって、
     前記通信装置それぞれが、
     少なくとも1台以上の他の通信装置との間で、信号の送受信を行う送受信部と、
     前記送受信部が前記信号を送受信すると、前記信号の送受信に応じた特定のエラー検出方法により、その信号にエラーが発生しているか否かを検出するエラー検出部と
     を備え、
     前記バスを介した通信の主導権を有する前記通信装置である第1の通信装置と、前記第1の通信装置による制御に従って通信を行う前記通信装置である第2の通信装置との間で前記信号の送受信が行われ、
     前記第2の通信装置の前記エラー検出部は、前記第1の通信装置が通信を開始した後に送信するフレームにおける先頭の1ワード目おいて、複数台の前記第2の通信装置すべてを対象として一斉にコマンドを送信することを通知するブロードキャストコマンドとともに送信されてくる、データの読み出しまたは書き込みの要求を表す1ビットが、データの読み出しを示している場合、前記1ワード目にエラーが発生していることを検出する
     通信システム。
  5.  バスを介して通信を行う第1の通信装置であって、
     少なくとも1台以上の第2の通信装置との間で、信号の送受信を行う送受信部を備え、
     前記信号の送受信は、前記バスを介した通信の主導権を有する前記第1の通信装置と、前記第1の通信装置による制御に従って通信を行う、少なくとも1台以上の前記第2の通信装置それぞれとの間で行われ、
     前記第1の通信装置が通信を開始した後に送信するフレームにおける先頭の1ワード目おいて、複数台の前記第2の通信装置すべてを対象として一斉にコマンドを送信することを通知するブロードキャストコマンドとともに送信される、データの読み出しまたは書き込みの要求を表す1ビットが、データの読み出しを示している場合、前記第2の通信装置それぞれのエラー検出部は、前記1ワード目にエラーが発生していることを検出する
     通信装置。
  6.  前記送受信部が前記信号を送受信すると、前記信号にエラーが発生していることを検出するように設定されているエラー検出部をさらに備える
     請求項5に記載の通信装置。
  7.  前記第1の通信装置はマスタであり、前記第2の通信装置それぞれはスレーブである
     請求項5に記載の通信装置。
  8.  バスを介して通信を行う第2の通信装置であって、
     第1の通信装置による制御に従って、前記第1の通信装置との間で信号の送受信を行う送受信部と、
     前記送受信部が前記信号を送受信すると、前記信号にエラーが発生していることを検出するエラー検出部と
     を備え、
     前記第1の通信装置が通信を開始した後に、前記第1の通信装置が送信してくるフレームにおける先頭の1ワード目おいて、ブロードキャストコマンドとともに送信されてくる、データの読み出しまたは書き込みの要求を表す1ビットが、データの読み出しを示している場合、前記エラー検出部は、前記1ワード目にエラーが発生していることを検出する
     通信装置。
  9.  前記ブロードキャストコマンドは、複数台の前記第2の通信装置すべてを対象として一斉にコマンドを送信することを前記第1の通信装置から通知する
     請求項8に記載の通信装置。
  10.  前記1ワード目には、データの読み出しまたは書き込みの要求を表す1ビットが、前記ブロードキャストコマンドに続いて含まれる
     請求項9に記載の通信装置。
  11.  前記フレームのワード長は、9ビットである
     請求項10に記載の通信装置。
  12.  前記1ワード目には、ACK(acknowledge)ビットが含まれる
     請求項11に記載の通信装置。
  13.  前記1ワード目には、スタートコンディションビットが含まれない
     請求項8に記載の通信装置。
  14.  前記ブロードキャストコマンドは、7ビットで構成される
     請求項8に記載の通信装置。
  15.  前記ブロードキャストコマンドは、0x7Eである
     請求項8に記載の通信装置。
  16.  バスを介して通信を行う通信装置であって、
     少なくとも1台以上の他の通信装置との間で、信号の送受信を行う送受信部と、
     前記送受信部が前記信号を送受信すると、前記信号の送受信に応じた特定のエラー検出方法により、その信号にエラーが発生しているか否かを検出するエラー検出部と
     を備え、
     前記バスを介した通信の主導権を有する前記通信装置である第1の通信装置と、前記第1の通信装置による制御に従って通信を行う前記通信装置である第2の通信装置との間で前記信号の送受信が行われ、
     前記第2の通信装置の前記エラー検出部は、動的なアドレスの割り当てを開始してから、通信の終了が検出されるまでの間において、通信を終了させずに続けて通信を再スタートさせた直後に送信される1ワードに、その1ワードとして送信されることが予め規定されているビット列が配置されているか否かを確認するエラー検出方法により、前記1ワードに発生するエラーを検出する
     通信装置。
  17.  バスを介して通信を行う通信装置の通信方法であって、
     前記通信装置は、
     少なくとも1台以上の他の通信装置との間で、信号の送受信を行う送受信部と、
     前記送受信部が前記信号を送受信すると、前記信号の送受信に応じた特定のエラー検出方法により、その信号にエラーが発生しているか否かを検出するエラー検出部と
     を備え、
     前記バスを介した通信の主導権を有する前記通信装置である第1の通信装置と、前記第1の通信装置による制御に従って通信を行う前記通信装置である第2の通信装置との間で前記信号の送受信が行われ、
     前記第2の通信装置の前記エラー検出部は、動的なアドレスの割り当てを開始してから、通信の終了が検出されるまでの間において、通信を終了させずに続けて通信を再スタートさせた直後に送信される1ワードに、その1ワードとして送信されることが予め規定されているビット列が配置されているか否かを確認するエラー検出方法により、前記1ワードに発生するエラーを検出する
     ステップを含む通信方法。
  18.  バスを介して通信を行う通信装置のコンピュータに実行させるプログラムであって、
     前記通信装置は、
     少なくとも1台以上の他の通信装置との間で、信号の送受信を行う送受信部と、
     前記送受信部が前記信号を送受信すると、前記信号の送受信に応じた特定のエラー検出方法により、その信号にエラーが発生しているか否かを検出するエラー検出部と
     を備え、
     前記バスを介した通信の主導権を有する前記通信装置である第1の通信装置と、前記第1の通信装置による制御に従って通信を行う前記通信装置である第2の通信装置との間で前記信号の送受信が行われ、
     前記第2の通信装置の前記エラー検出部は、動的なアドレスの割り当てを開始してから、通信の終了が検出されるまでの間において、通信を終了させずに続けて通信を再スタートさせた直後に送信される1ワードに、その1ワードとして送信されることが予め規定されているビット列が配置されているか否かを確認するエラー検出方法により、前記1ワードに発生するエラーを検出する
     ステップを含むプログラム。
  19.  複数台の通信装置がバスを介して通信を行う通信システムであって、
     前記通信装置それぞれが、
     少なくとも1台以上の他の通信装置との間で、信号の送受信を行う送受信部と、
     前記送受信部が前記信号を送受信すると、前記信号の送受信に応じた特定のエラー検出方法により、その信号にエラーが発生しているか否かを検出するエラー検出部と
     を備え、
     前記バスを介した通信の主導権を有する前記通信装置である第1の通信装置と、前記第1の通信装置による制御に従って通信を行う前記通信装置である第2の通信装置との間で前記信号の送受信が行われ、
     前記第2の通信装置の前記エラー検出部は、動的なアドレスの割り当てを開始してから、通信の終了が検出されるまでの間において、通信を終了させずに続けて通信を再スタートさせた直後に送信される1ワードに、その1ワードとして送信されることが予め規定されているビット列が配置されているか否かを確認するエラー検出方法により、前記1ワードに発生するエラーを検出する
     通信システム。
  20.  バスを介して通信を行う第1の通信装置であって、
     少なくとも1台以上の第2の通信装置との間で、信号の送受信を行う送受信部を備え、
     前記信号の送受信は、前記バスを介した通信の主導権を有する前記第1の通信装置と、前記第1の通信装置による制御に従って通信を行う、少なくとも1台以上の前記第2の通信装置それぞれとの間で行われ、
     動的なアドレスの割り当てを開始してから、通信の終了が検出されるまでの間において、通信を終了させずに続けて通信を再スタートさせた直後に送信される1ワードに、その1ワードとして送信されることが予め規定されているビット列が配置されているか否かを確認するエラー検出方法により、前記第2の通信装置それぞれのエラー検出部は、前記1ワードに発生するエラーを検出する
     通信装置。
  21.  前記送受信部が前記信号を送受信すると、前記信号にエラーが発生していることを検出するように設定されているエラー検出部をさらに備える
     請求項20に記載の通信装置。
  22.  前記第1の通信装置はマスタであり、前記第2の通信装置それぞれはスレーブである
     請求項20に記載の通信装置。
  23.  バスを介して通信を行う第2の通信装置であって、
     第1の通信装置による制御に従って、前記第1の通信装置との間で信号の送受信を行う送受信部と、
     前記送受信部が前記信号を送受信すると、前記信号にエラーが発生していることを検出するエラー検出部と
     を備え、
     動的なアドレスの割り当てを開始してから、通信の終了が検出されるまでの間において、通信を終了させずに続けて通信を再スタートさせた直後に送信される1ワードに、その1ワードとして送信されることが予め規定されているビット列が配置されているか否かを確認するエラー検出方法により、前記エラー検出部は、前記1ワードに発生するエラーを検出する
     通信装置。
  24.  バスを介して通信を行う通信装置であって、
     少なくとも1台以上の他の通信装置との間で、信号の送受信を行う送受信部と、
     前記送受信部が前記信号を送受信すると、前記信号の送受信に応じた特定のエラー検出方法により、その信号にエラーが発生しているか否かを検出するエラー検出部と
     を備え、
     前記バスを介した通信の主導権を有する前記通信装置である第1の通信装置と、前記第1の通信装置による制御に従って通信を行う前記通信装置である第2の通信装置との間で前記信号の送受信が行われ、
     前記エラー検出部は、複数台の前記他の通信装置に対して共通のコマンドコードを送信するトランザクションが確定した後に送信されてくるデータのフォーマットが、予め規定されているフォーマットとは異なっているか否かを確認するエラー検出方法により、前記データに発生するエラーを検出する
     通信装置。
  25.  バスを介して通信を行う通信装置の通信方法であって、
     前記通信装置は、
     少なくとも1台以上の他の通信装置との間で、信号の送受信を行う送受信部と、
     前記送受信部が前記信号を送受信すると、前記信号の送受信に応じた特定のエラー検出方法により、その信号にエラーが発生しているか否かを検出するエラー検出部と
     を備え、
     前記バスを介した通信の主導権を有する前記通信装置である第1の通信装置と、前記第1の通信装置による制御に従って通信を行う前記通信装置である第2の通信装置との間で前記信号の送受信が行われ、
     前記エラー検出部は、複数台の前記他の通信装置に対して共通のコマンドコードを送信するトランザクションが確定した後に送信されてくるデータのフォーマットが、予め規定されているフォーマットとは異なっているか否かを確認するエラー検出方法により、前記データに発生するエラーを検出する
     ステップを含む通信方法。
  26.  バスを介して通信を行う通信装置のコンピュータに実行させるプログラムであって、
     前記通信装置は、
     少なくとも1台以上の他の通信装置との間で、信号の送受信を行う送受信部と、
     前記送受信部が前記信号を送受信すると、前記信号の送受信に応じた特定のエラー検出方法により、その信号にエラーが発生しているか否かを検出するエラー検出部と
     を備え、
     前記バスを介した通信の主導権を有する前記通信装置である第1の通信装置と、前記第1の通信装置による制御に従って通信を行う前記通信装置である第2の通信装置との間で前記信号の送受信が行われ、
     前記エラー検出部は、複数台の前記他の通信装置に対して共通のコマンドコードを送信するトランザクションが確定した後に送信されてくるデータのフォーマットが、予め規定されているフォーマットとは異なっているか否かを確認するエラー検出方法により、前記データに発生するエラーを検出する
     ステップを含むプログラム。
  27.  複数台の通信装置がバスを介して通信を行う通信システムであって、
     前記通信装置それぞれが、
     少なくとも1台以上の他の通信装置との間で、信号の送受信を行う送受信部と、
     前記送受信部が前記信号を送受信すると、前記信号の送受信に応じた特定のエラー検出方法により、その信号にエラーが発生しているか否かを検出するエラー検出部と
     を備え、
     前記バスを介した通信の主導権を有する前記通信装置である第1の通信装置と、前記第1の通信装置による制御に従って通信を行う前記通信装置である第2の通信装置との間で前記信号の送受信が行われ、
     前記エラー検出部は、複数台の前記他の通信装置に対して共通のコマンドコードを送信するトランザクションが確定した後に送信されてくるデータのフォーマットが、予め規定されているフォーマットとは異なっているか否かを確認するエラー検出方法により、前記データに発生するエラーを検出する
     通信システム。
  28.  バスを介して通信を行う第1の通信装置であって、
     少なくとも1台以上の第2の通信装置との間で、信号の送受信を行う送受信部を備え、
     前記信号の送受信は、前記バスを介した通信の主導権を有する前記第1の通信装置と、前記第1の通信装置による制御に従って通信を行う、少なくとも1台以上の前記第2の通信装置それぞれとの間で行われ、
     複数台の前記第2の通信装置に対して共通のコマンドコードを送信するトランザクションが確定した後に送信されてくるデータのフォーマットが、予め規定されているフォーマットとは異なっているか否かを確認するエラー検出方法により、前記第2の通信装置それぞれのエラー検出部は、前記データに発生するエラーを検出する
     通信装置。
  29.  前記送受信部が前記信号を送受信すると、前記信号にエラーが発生していることを検出するように設定されているエラー検出部をさらに備える
     請求項28に記載の通信装置。
  30.  前記第1の通信装置はマスタであり、前記第2の通信装置それぞれはスレーブである
     請求項28に記載の通信装置。
  31.  バスを介して通信を行う第2の通信装置であって、
     第1の通信装置による制御に従って、前記第1の通信装置との間で信号の送受信を行う送受信部と、
     前記送受信部が前記信号を送受信すると、前記信号にエラーが発生していることを検出するエラー検出部と
     を備え、
     複数台の前記第2の通信装置に対して共通のコマンドコードを送信するトランザクションが確定した後に送信されてくるデータのフォーマットが、予め規定されているフォーマットとは異なっているか否かを確認するエラー検出方法により、前記エラー検出部は、前記データに発生するエラーを検出する
     通信装置。
  32.  バスを介して通信を行う通信装置であって、
     少なくとも1台以上の他の通信装置との間で、信号の送受信を行う送受信部と、
     前記送受信部が前記信号を送受信すると、前記信号の送受信に応じた特定のエラー検出方法により、その信号にエラーが発生しているか否かを検出するエラー検出部と
     を備え、
     前記バスを介した通信の主導権を有する前記通信装置である第1の通信装置と、前記第1の通信装置による制御に従って通信を行う前記通信装置である第2の通信装置との間で前記信号の送受信が行われ、
     前記第2の通信装置の前記エラー検出部は、前記第2の通信装置から信号を送出するタイミングで、その送出した信号と前記バス上の信号とが一致しているか否かを常に監視するエラー検出方法により、前記信号に発生するエラーを検出する
     通信装置。
  33.  バスを介して通信を行う通信装置の通信方法であって、
     前記通信装置は、
     少なくとも1台以上の他の通信装置との間で、信号の送受信を行う送受信部と、
     前記送受信部が前記信号を送受信すると、前記信号の送受信に応じた特定のエラー検出方法により、その信号にエラーが発生しているか否かを検出するエラー検出部と
     を備え、
     前記バスを介した通信の主導権を有する前記通信装置である第1の通信装置と、前記第1の通信装置による制御に従って通信を行う前記通信装置である第2の通信装置との間で前記信号の送受信が行われ、
     前記第2の通信装置の前記エラー検出部は、前記第2の通信装置から信号を送出するタイミングで、その送出した信号と前記バス上の信号とが一致しているか否かを常に監視するエラー検出方法により、前記信号に発生するエラーを検出する
     ステップを含む通信方法。
  34.  バスを介して通信を行う通信装置のコンピュータに実行させるプログラムであって、
     前記通信装置は、
     少なくとも1台以上の他の通信装置との間で、信号の送受信を行う送受信部と、
     前記送受信部が前記信号を送受信すると、前記信号の送受信に応じた特定のエラー検出方法により、その信号にエラーが発生しているか否かを検出するエラー検出部と
     を備え、
     前記バスを介した通信の主導権を有する前記通信装置である第1の通信装置と、前記第1の通信装置による制御に従って通信を行う前記通信装置である第2の通信装置との間で前記信号の送受信が行われ、
     前記第2の通信装置の前記エラー検出部は、前記第2の通信装置から信号を送出するタイミングで、その送出した信号と前記バス上の信号とが一致しているか否かを常に監視するエラー検出方法により、前記信号に発生するエラーを検出する
     ステップを含むプログラム。
  35.  複数台の通信装置がバスを介して通信を行う通信システムであって、
     前記通信装置それぞれが、
     少なくとも1台以上の他の通信装置との間で、信号の送受信を行う送受信部と、
     前記送受信部が前記信号を送受信すると、前記信号の送受信に応じた特定のエラー検出方法により、その信号にエラーが発生しているか否かを検出するエラー検出部と
     を備え、
     前記バスを介した通信の主導権を有する前記通信装置である第1の通信装置と、前記第1の通信装置による制御に従って通信を行う前記通信装置である第2の通信装置との間で前記信号の送受信が行われ、
     前記第2の通信装置の前記エラー検出部は、前記第2の通信装置から信号を送出するタイミングで、その送出した信号と前記バス上の信号とが一致しているか否かを常に監視するエラー検出方法により、前記信号に発生するエラーを検出する
     通信システム。
  36.  バスを介して通信を行う第1の通信装置であって、
     少なくとも1台以上の第2の通信装置との間で、信号の送受信を行う送受信部を備え、
     前記信号の送受信は、前記バスを介した通信の主導権を有する前記第1の通信装置と、前記第1の通信装置による制御に従って通信を行う、少なくとも1台以上の前記第2の通信装置それぞれとの間で行われ、
     前記第2の通信装置から信号を送出するタイミングで、その送出した信号と前記バス上の信号とが一致しているか否かを常に監視するエラー検出方法により、前記第2の通信装置それぞれのエラー検出部は、前記信号に発生するエラーを検出する
     通信装置。
  37.  前記送受信部が前記信号を送受信すると、前記信号にエラーが発生していることを検出するように設定されているエラー検出部をさらに備える
     請求項36に記載の通信装置。
  38.  前記第1の通信装置はマスタであり、前記第2の通信装置それぞれはスレーブである
     請求項36に記載の通信装置。
  39.  バスを介して通信を行う第2の通信装置であって、
     第1の通信装置による制御に従って、前記第1の通信装置との間で信号の送受信を行う送受信部と、
     前記送受信部が前記信号を送受信すると、前記信号にエラーが発生していることを検出するエラー検出部と
     を備え、
     前記第2の通信装置から信号を送出するタイミングで、その送出した信号と前記バス上の信号とが一致しているか否かを常に監視するエラー検出方法により、前記エラー検出部は、前記信号に発生するエラーを検出する
     通信装置。
  40.  前記第1の通信装置は、前記フレームの2ワード目に続いて送信されるパリティビットによる誤り検出の対象に、そのフレームの先頭から2ワード分が含まれるように、前記パリティビットを設定する
     請求項1に記載の通信装置。
  41.  前記第2の通信装置の前記エラー検出部は、前記フレームの先頭から2ワード目に続いて送信されるパリティビットを用いて、そのフレームの先頭から2ワード分のビット列に対してパリティチェックを行うエラー検出方法により、前記2ワード分に発生するエラーを検出する
     請求項40に記載の通信装置。
  42.  前記第2の通信装置の前記エラー検出部は、動的なアドレスの割り当てを開始してから、通信の終了が検出されるまでの間において、通信を終了させずに続けて通信を再スタートさせた直後に送信される1ワードに、その1ワードとして送信されることが予め規定されているビット列が配置されているか否かを確認するエラー検出方法により、前記1ワードに発生するエラーを検出する
     請求項1に記載の通信装置。
  43.  前記エラー検出部は、複数台の前記他の通信装置に対して共通のコマンドコードを送信するトランザクションが確定した後に送信されてくるデータのフォーマットが、予め規定されているフォーマットとは異なっているか否かを確認するエラー検出方法により、前記データに発生するエラーを検出する
     請求項1に記載の通信装置。
  44.  前記第2の通信装置の前記エラー検出部は、前記第2の通信装置から信号を送出するタイミングで、その送出した信号と前記バス上の信号とが一致しているか否かを常に監視するエラー検出方法により、前記信号に発生するエラーを検出する
     請求項1に記載の通信装置。
  45.  前記通信装置から信号を出力する信号線に流れる電流を監視する電流監視回路をさらに備え、
     前記エラー検出部は、前記通信装置自身から信号を送出するタイミングで、その送出した信号と前記バス上の信号が一致しているか否かを、前記電流監視回路により常に監視されている電流に基づいて確認するエラー検出方法により、前記信号に発生するエラーを検出する
     請求項1に記載の通信装置。
PCT/JP2016/078980 2015-10-08 2016-09-30 通信装置、通信方法、プログラム、および、通信システム WO2017061330A1 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
SG11201802141UA SG11201802141UA (en) 2015-10-08 2016-09-30 Communication device, communication method, program, and communication system
ES16853484T ES2941346T3 (es) 2015-10-08 2016-09-30 Dispositivo de comunicación, método de comunicación, programa y sistema de comunicación
JP2017544469A JP6891810B2 (ja) 2015-10-08 2016-09-30 通信装置、通信方法、プログラム、および、通信システム
EP16853484.0A EP3361382B1 (en) 2015-10-08 2016-09-30 Communication device, communication method, program, and communication system
CN201680057045.XA CN108139954B (zh) 2015-10-08 2016-09-30 通信设备、通信方法、程序以及通信系统
KR1020187008485A KR20180066049A (ko) 2015-10-08 2016-09-30 통신 장치, 통신 방법, 프로그램, 및, 통신 시스템
CN202110859878.0A CN113612670B (zh) 2015-10-08 2016-09-30 通信系统、通信设备及其通信方法、计算机可读存储介质

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015-200442 2015-10-08
JP2015200442 2015-10-08

Publications (1)

Publication Number Publication Date
WO2017061330A1 true WO2017061330A1 (ja) 2017-04-13

Family

ID=58487569

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/078980 WO2017061330A1 (ja) 2015-10-08 2016-09-30 通信装置、通信方法、プログラム、および、通信システム

Country Status (9)

Country Link
US (3) US9960981B2 (ja)
EP (1) EP3361382B1 (ja)
JP (1) JP6891810B2 (ja)
KR (1) KR20180066049A (ja)
CN (2) CN113612670B (ja)
ES (1) ES2941346T3 (ja)
SG (1) SG11201802141UA (ja)
TW (1) TWI730993B (ja)
WO (1) WO2017061330A1 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018225808A1 (en) 2017-06-08 2018-12-13 Sony Semiconductor Solutions Corporation Communication device, communication method, program, and communication system
WO2018225532A1 (en) 2017-06-08 2018-12-13 Sony Semiconductor Solutions Corporation Communication device, communication method, program, and communication system
WO2018225536A1 (en) 2017-06-08 2018-12-13 Sony Semiconductor Solutions Corporation Communication device, communication method, program, and communication system
WO2019026643A1 (en) 2017-08-04 2019-02-07 Sony Semiconductor Solutions Corporation COMMUNICATION APPARATUS, COMMUNICATION METHOD, PROGRAM, AND COMMUNICATION SYSTEM
WO2019026642A1 (en) 2017-08-04 2019-02-07 Sony Semiconductor Solutions Corporation COMMUNICATION APPARATUS, COMMUNICATION METHOD, PROGRAM, AND COMMUNICATION SYSTEM
DE112020004896T5 (de) 2019-10-11 2022-06-30 Sony Semiconductor Solutions Corporation Übertragungsvorrichtung und kommunikationssystem
KR20220130133A (ko) 2020-02-13 2022-09-26 소니 세미컨덕터 솔루션즈 가부시키가이샤 송신 장치, 수신 장치 및 통신 시스템
DE112020006082T5 (de) 2019-12-12 2022-10-27 Sony Semiconductor Solutions Corporation Kommunikationsvorrichtung und kommunikationssystem

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113660522A (zh) 2015-09-25 2021-11-16 麦克赛尔株式会社 接收装置
WO2017051808A1 (ja) 2015-09-25 2017-03-30 日立マクセル株式会社 放送受信装置
JP6696511B2 (ja) * 2015-12-16 2020-05-20 ソニー株式会社 通信装置、通信方法、プログラム、および通信システム
KR102454973B1 (ko) * 2016-01-28 2022-10-17 삼성디스플레이 주식회사 데이터 통신의 오류 복구 방법, 이를 수행하는 데이터 통신 시스템 및 이 데이터 통신 시스템을 포함하는 표시 장치
US10872055B2 (en) * 2016-08-02 2020-12-22 Qualcomm Incorporated Triple-data-rate technique for a synchronous link
TWI767997B (zh) * 2017-03-23 2022-06-21 日商索尼半導體解決方案公司 通信裝置、通信方法、程式及通信系統
US10592441B2 (en) * 2017-05-10 2020-03-17 Qualcomm Incorporated Bus communication enhancement based on identification capture during bus arbitration
US11030142B2 (en) * 2017-06-28 2021-06-08 Intel Corporation Method, apparatus and system for dynamic control of clock signaling on a bus
CN109981382B (zh) * 2017-12-27 2022-08-26 华为技术有限公司 一种检测误码的方法及装置
CN112666489A (zh) * 2019-10-16 2021-04-16 重庆祺璨科技有限公司 用于Mbus主站电路的预警系统
EP3869742B1 (en) * 2020-02-20 2023-06-07 Nxp B.V. Network node
US20240088724A1 (en) * 2021-01-27 2024-03-14 Lg Electronics Inc. Method and device for transmitting data in wireless power transmission system
CN114138699B (zh) * 2021-11-01 2024-03-26 珠海格力电器股份有限公司 串口通信处理方法、装置、设备、控制系统及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5725026A (en) * 1980-07-22 1982-02-09 Mitsubishi Electric Corp Data checking circuit
JP2005346669A (ja) * 2004-06-07 2005-12-15 Canon Inc データ転送方法、データ転送装置、プログラム及び記憶媒体

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4091445A (en) * 1977-01-18 1978-05-23 Honeywell Information Systems Inc. Program switching monitor
DE3780307T2 (de) * 1987-04-28 1993-02-11 Ibm Protokoll und anordnung zur verbindung zwischen einer steuereinheit und mehreren peripheren elementen.
US6611537B1 (en) * 1997-05-30 2003-08-26 Centillium Communications, Inc. Synchronous network for digital media streams
US6356984B1 (en) 1998-06-30 2002-03-12 Sun Microsystems, Inc. Digital data processing system having a data bus and a control bus
US6874052B1 (en) 2000-09-29 2005-03-29 Lucent Technologies Inc. Expansion bridge apparatus and method for an I2C bus
US6912607B2 (en) * 2002-02-06 2005-06-28 Hewlett-Packard Development Company, L.P. Method and apparatus for ascertaining the status of multiple devices simultaneously over a data bus
US20030165234A1 (en) * 2002-03-04 2003-09-04 Alcatel Device having a voice communication server structure and comprising a digital signal processor
US6973587B1 (en) * 2002-05-03 2005-12-06 American Megatrends, Inc. Systems and methods for out-of-band booting of a computer
US6906618B2 (en) * 2003-06-26 2005-06-14 Abet Technologies, Llc Method and system for bidirectional data and power transmission
DE10337699B4 (de) * 2003-08-16 2006-01-12 Phoenix Contact Gmbh & Co. Kg Verfahren und Vorrichtung zur Übertragung von Daten über ein Busnetz unter Verwendung des Broadcast-Prinzip
US20060264178A1 (en) * 2005-05-20 2006-11-23 Noble Gayle L Wireless diagnostic systems
US7924174B1 (en) * 2006-05-26 2011-04-12 Cooper Technologies Company System for controlling a lighting level of a lamp in a multi-zone environment
US7941570B2 (en) * 2008-02-14 2011-05-10 International Business Machines Corporation Bi-directional data transfer within a single I/O operation
FR2963449B1 (fr) * 2010-07-27 2013-01-25 St Microelectronics Rousset Conversion d'un bus bifilaire en bus unifilaire
JP2012109889A (ja) * 2010-11-19 2012-06-07 Sony Corp 送信装置、送信方法、受信装置、受信方法、プログラム、および伝送システム
CN103152230B (zh) * 2011-12-06 2016-04-06 扬智电子科技(上海)有限公司 以太网络物理层收发器及其增益选择方法与时脉选择方法
CN105900340A (zh) * 2013-10-09 2016-08-24 高通股份有限公司 CCIe协议上的错误检测能力
US9484113B2 (en) * 2014-04-15 2016-11-01 Advanced Micro Devices, Inc. Error-correction coding for hot-swapping semiconductor devices
US10764026B2 (en) * 2015-07-20 2020-09-01 Lattice Semiconductor Corporation Acoustic gesture recognition systems and methods
US20170255588A1 (en) * 2016-03-07 2017-09-07 Qualcomm Incorporated Multiprotocol i3c common command codes

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5725026A (en) * 1980-07-22 1982-02-09 Mitsubishi Electric Corp Data checking circuit
JP2005346669A (ja) * 2004-06-07 2005-12-15 Canon Inc データ転送方法、データ転送装置、プログラム及び記憶媒体

Non-Patent Citations (1)

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

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11119955B2 (en) 2017-06-08 2021-09-14 Sony Semiconductor Solutions Corporation Communication device, communication method, program, and communication system
WO2018225532A1 (en) 2017-06-08 2018-12-13 Sony Semiconductor Solutions Corporation Communication device, communication method, program, and communication system
WO2018225536A1 (en) 2017-06-08 2018-12-13 Sony Semiconductor Solutions Corporation Communication device, communication method, program, and communication system
US11442887B2 (en) 2017-06-08 2022-09-13 Sony Semiconductor Solutions Corporation Communication device, communication method, program, and communication system
WO2018225808A1 (en) 2017-06-08 2018-12-13 Sony Semiconductor Solutions Corporation Communication device, communication method, program, and communication system
KR20200016845A (ko) 2017-06-08 2020-02-17 소니 세미컨덕터 솔루션즈 가부시키가이샤 통신 장치, 통신 방법, 프로그램, 및, 통신 시스템
US11169944B2 (en) 2017-06-08 2021-11-09 Sony Semiconductor Solutions Corporation Communication device, communication method, program, and communication system
WO2019026642A1 (en) 2017-08-04 2019-02-07 Sony Semiconductor Solutions Corporation COMMUNICATION APPARATUS, COMMUNICATION METHOD, PROGRAM, AND COMMUNICATION SYSTEM
KR20200035013A (ko) 2017-08-04 2020-04-01 소니 세미컨덕터 솔루션즈 가부시키가이샤 통신 장치, 통신 방법, 프로그램, 및, 통신 시스템
WO2019026643A1 (en) 2017-08-04 2019-02-07 Sony Semiconductor Solutions Corporation COMMUNICATION APPARATUS, COMMUNICATION METHOD, PROGRAM, AND COMMUNICATION SYSTEM
US11544132B2 (en) 2017-08-04 2023-01-03 Sony Semiconductor Solutions Corporation Communication apparatus, communication method, program, and communication system
US11561922B2 (en) 2017-08-04 2023-01-24 Sony Semiconductor Solutions Corporation Communication apparatus, communication method, program, and communication system
DE112020004896T5 (de) 2019-10-11 2022-06-30 Sony Semiconductor Solutions Corporation Übertragungsvorrichtung und kommunikationssystem
DE112020006082T5 (de) 2019-12-12 2022-10-27 Sony Semiconductor Solutions Corporation Kommunikationsvorrichtung und kommunikationssystem
KR20220130133A (ko) 2020-02-13 2022-09-26 소니 세미컨덕터 솔루션즈 가부시키가이샤 송신 장치, 수신 장치 및 통신 시스템
DE112021001024T5 (de) 2020-02-13 2022-12-15 Sony Semiconductor Solutions Corporation Sendevorrichtung, empfangsvorrichtung und kommunikationssystem

Also Published As

Publication number Publication date
TWI730993B (zh) 2021-06-21
CN108139954B (zh) 2021-09-21
JPWO2017061330A1 (ja) 2018-08-16
EP3361382A1 (en) 2018-08-15
US9960981B2 (en) 2018-05-01
EP3361382B1 (en) 2023-03-01
EP3361382A4 (en) 2019-06-12
SG11201802141UA (en) 2018-04-27
US20170104655A1 (en) 2017-04-13
KR20180066049A (ko) 2018-06-18
US10116542B2 (en) 2018-10-30
CN113612670A (zh) 2021-11-05
CN113612670B (zh) 2022-11-01
ES2941346T3 (es) 2023-05-22
US20180198695A1 (en) 2018-07-12
CN108139954A (zh) 2018-06-08
TW201714097A (zh) 2017-04-16
US20190109671A1 (en) 2019-04-11
JP6891810B2 (ja) 2021-06-18

Similar Documents

Publication Publication Date Title
WO2017061330A1 (ja) 通信装置、通信方法、プログラム、および、通信システム
EP3458962B1 (en) Communication device and communication system
US10740172B2 (en) Communication apparatus, communication method, program, and communication system
JP6787318B2 (ja) データ伝送装置およびデータ伝送方法、受信装置および受信方法、プログラム、並びにデータ伝送システム
WO2017183482A1 (en) Communication device, communication method, program, and communication system
JP6903645B2 (ja) 通信装置、通信方法、プログラム、および、通信システム
WO2017104440A1 (ja) 通信装置、通信方法、プログラム、および通信システム
JP2017208713A (ja) 通信装置、通信方法、プログラム、および、通信システム
US10824582B2 (en) Communication apparatus, communication method, program, and communication system
JP2017207934A (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: 16853484

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017544469

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 20187008485

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 11201802141U

Country of ref document: SG

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2016853484

Country of ref document: EP