WO2013046734A1 - スレーブ装置、マスター装置及び通信方法 - Google Patents

スレーブ装置、マスター装置及び通信方法 Download PDF

Info

Publication number
WO2013046734A1
WO2013046734A1 PCT/JP2012/051193 JP2012051193W WO2013046734A1 WO 2013046734 A1 WO2013046734 A1 WO 2013046734A1 JP 2012051193 W JP2012051193 W JP 2012051193W WO 2013046734 A1 WO2013046734 A1 WO 2013046734A1
Authority
WO
WIPO (PCT)
Prior art keywords
command
parameter
time
value
unit
Prior art date
Application number
PCT/JP2012/051193
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 CN201280045774.5A priority Critical patent/CN103814363B/zh
Priority to JP2013535946A priority patent/JP5680212B2/ja
Priority to DE112012004029.5T priority patent/DE112012004029T5/de
Priority to US14/131,717 priority patent/US9778971B2/en
Publication of WO2013046734A1 publication Critical patent/WO2013046734A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • 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

Definitions

  • the present invention relates to a slave device, a master device, and a communication method for performing communication according to an IIC (Inter Integrated Circuit) protocol.
  • IIC Inter Integrated Circuit
  • a communication method using an IIC protocol has been used in which communication between devices in an electronic device is performed using two signal lines of a serial clock line called SCL and a serial data line called SDA.
  • SCL serial clock line
  • SDA serial data line
  • Patent Document 1 describes a communication system in which a master device and a slave device are connected by a notification line for notifying the occurrence of an abnormality.
  • a detection unit that detects an abnormality that has occurred in IIC communication
  • one device causes an abnormality to occur in the other device via this notification line. Notice.
  • the occurrence of an abnormality is detected when the SCL signal is maintained at a predetermined level for a predetermined time or longer.
  • the time for maintaining the SCL signal at the low level differs depending on the content of the command received from the master device. Therefore, depending on the content of the command, the occurrence of an abnormality may be detected erroneously and during normal operation. In some cases, device recovery processing was performed.
  • an object of the present invention is to prevent erroneous occurrence of an abnormality.
  • the slave device is a slave device that operates in the slave mode according to the IIC protocol, and is transmitted as a parameter value for detecting an abnormality from the master device that operates in the master mode according to the IIC protocol.
  • the parameter setting unit that sets different values for each command content, the time corresponding to the parameter value set by the parameter setting unit, and the time measured in the process performed in response to the command are compared.
  • an abnormality detection unit that detects an abnormality by doing the above.
  • the master device is a master device that operates in the master mode according to the IIC protocol, and the slave device that operates in the slave mode according to the IIC protocol is used as a parameter value for detecting an abnormality.
  • a parameter setting unit for setting a different value for each content of the command to be transmitted, a time corresponding to the parameter value set by the parameter setting unit, and a time measured in the process performed according to the command And an abnormality detection unit that detects an abnormality by comparison.
  • the communication method is a communication method performed by a slave device that operates in the slave mode according to the IIC protocol, and operates in the master mode according to the IIC protocol as a parameter value for detecting an abnormality. Measured in the parameter setting process for setting different values for each command content transmitted from the master device, the time corresponding to the parameter value set in the parameter setting process, and the process performed in accordance with the command And an abnormality detection process for detecting an abnormality by comparing the measured time with the time.
  • a communication method is a communication method performed by a master device that operates in the master mode according to the IIC protocol, and in the slave mode according to the IIC protocol as a parameter value for detecting an abnormality. Measured in the parameter setting process for setting different values for each content of the command transmitted to the operating slave device, the time corresponding to the parameter value set in the parameter setting process, and the processing performed in accordance with the command And an abnormality detection process for detecting an abnormality by comparing the measured time with the time.
  • FIG. 1 is a schematic diagram showing a configuration of a communication system according to Embodiments 1 to 4.
  • FIG. FIG. 2 is a block diagram schematically showing a configuration of a master device in the first embodiment.
  • FIG. 2 is a block diagram schematically showing a configuration of a slave device in the first embodiment.
  • FIG. 3 is a block diagram schematically showing a configuration of a command holding unit in the first embodiment.
  • 5 is a block diagram schematically showing a configuration of an abnormality detection unit in the first and third embodiments.
  • FIG. 3 is a flowchart illustrating processing in the slave device in the first embodiment.
  • FIG. 9 is a block diagram schematically showing a configuration of a slave device in a second embodiment.
  • FIG. 10 is a block diagram schematically showing a configuration of an abnormality detection unit in the second and fourth embodiments. 10 is a flowchart showing processing in a slave device in the second embodiment.
  • FIG. 10 is a block diagram schematically showing a configuration of a master device in a third embodiment. 10 is a flowchart showing processing in the master device in the third embodiment.
  • FIG. 10 is a block diagram schematically showing a configuration of a master device in a fourth embodiment. 10 is a flowchart showing processing in the master device in the fourth embodiment.
  • FIG. 1 is a schematic diagram showing a configuration of a communication system 100 according to the first embodiment.
  • the communication system 100 includes a master device 110 and a slave device 130.
  • the reference numerals in parentheses in FIG. 1 indicate the configurations in the second to fourth embodiments.
  • the master device 110 is a communication device operating in the master mode.
  • the slave device 130 is a communication device operating in the slave mode.
  • the master device 110 and the slave device 130 are connected to each other via an SDA that is a serial data line and an SCL that is a serial clock line, and perform communication using the IIC protocol.
  • SDA serial data line
  • SCL serial clock line
  • FIG. 2 is a block diagram schematically showing the configuration of the master device 110.
  • the master device 110 includes a control unit 111 and an interface unit (hereinafter referred to as I / F unit) 112.
  • the control unit 111 controls communication according to the IIC protocol. For example, the control unit 111, via the I / F unit 112, a unique state called a start condition, a slave address of the slave device 130 that performs communication, and a command that indicates the content of the processing to be performed by the slave device 130 Is transmitted, and necessary processing is performed according to the contents indicated by this command. Note that the control unit 111 changes the clock signal in the SCL via the I / F unit 112 when communicating with the slave device 130. In addition, the control unit 111 resumes the initialized communication when the slave device 130 initializes (resets) communication while communicating with the slave device 130 according to the IIC protocol. I do. The I / F unit 112 performs communication via SDA and SCL in accordance with control from the control unit 111.
  • FIG. 3 is a block diagram schematically showing the configuration of the slave device 130.
  • the slave device 130 includes a control unit 131, a command holding unit 132, a parameter setting unit 133, an abnormality detection unit 134, a clock generation unit 135, an initialization unit 136, an I / F unit 137, and an arithmetic processing unit. 138.
  • the control unit 131 controls communication according to the IIC protocol. In addition, when receiving a reset signal from the initialization unit 136, the control unit 131 initializes (resets) the communication processing, and again shifts to a command waiting state from the master device 110.
  • control unit 131 notifies the parameter setting unit 133 of the parameter value corresponding to the content of the command from the master device 110. For example, the control unit 131 notifies the parameter setting unit 133 of the optimum value for “read” or “write” based on the amount of communication with the arithmetic processing unit 138, the arithmetic load in the arithmetic processing unit 138, and the like. . For example, when the amount of data to be communicated between the control unit 131 and the arithmetic processing unit 138 is large and the communication between them is delayed, the control unit 131 increases the value ( The parameter setting unit 133 is notified of the parameter for a long time). Further, when the calculation processing load in the calculation processing unit 138 is high, the control unit 131 notifies the parameter setting unit 133 of a parameter that increases as the load increases. The control unit 131 may determine the parameter value in consideration of both of them.
  • the command holding unit 132 holds information indicating the content of the command transmitted from the master device 110 and received via the I / F unit 137. For example, in the case of IIC communication, since there is a bit representing the content of the command after the bit indicating the slave address, the command holding unit 132 holds the value of the bit representing the content of the command.
  • the command holding unit 132 holds the value of the bit representing the content of the command.
  • the master device 110 has instructed “write”. If the value of this bit is “1”, The master device 110 has instructed “read”.
  • FIG. 4 is a block diagram schematically showing the configuration of the command holding unit 132.
  • the command holding unit 132 includes a start condition recognition unit 132a, an internal counter 132b, and a register 132c.
  • the start condition recognition unit 132 a detects a start condition from data transmitted by the master device 110 and received by the I / F unit 137.
  • the internal counter 132b specifies a bit indicating the content of the command arranged after a predetermined number of bits from the start condition, and stores the value of this bit in the register 132c. .
  • the internal counter 132b counts the number of SCL clocks to identify the command content bits that arrive 8 clocks after the start condition.
  • the internal counter 132b outputs an enable signal to the parameter setting unit 133 when the value of the register 132c is updated.
  • the register 132c stores the bit value (command content bit value) sent from the internal counter 132b.
  • the parameter setting unit 133 changes the value of the parameter for detecting the communication abnormality in accordance with the information indicating the content of the command held in the command holding unit 132. As illustrated in FIG. 4, the parameter setting unit 133 sets a parameter value in the abnormality detection unit 134 when receiving an enable signal from the command holding unit 132.
  • the parameter value for detecting a communication abnormality is a threshold value corresponding to the time during which the SCL clock signal is maintained at a low level.
  • the threshold value may be a value corresponding to the maximum time during which the clock signal of the SCL maintains a low level.
  • the parameter setting unit 133 indicates that the content of the command held in the command holding unit 132 is “read”.
  • the value of the parameter is different depending on whether it is “light” or not.
  • the value of the parameter to be set is desirably changeable as appropriate, and is notified from the control unit 131.
  • the anomaly detection unit 134 measures time in processing performed according to the command. For example, the abnormality detection unit 134 measures the time during which the SCL clock signal is fixed at a low level. The abnormality detection unit 134 compares the measured time with the maximum time corresponding to the parameter value set by the parameter setting unit 133. If the measured time exceeds the maximum time, the abnormality detection unit 134 determines that the communication is abnormal, and notifies the initialization unit 136 of the communication abnormality.
  • FIG. 5 is a block diagram schematically showing the configuration of the abnormality detection unit 134.
  • the abnormality detection unit 134 includes an internal counter 134a and a comparison unit 134b.
  • symbol in the parenthesis of FIG. 5 is a structure in the master apparatus of Embodiment 3.
  • FIG. The internal counter 134a latches the state of the SCL with a dedicated clock having a frequency twice or more that of the SCL, and counts the time during which the SCL clock signal is at a low level.
  • the parameter value indicating the maximum time set by the parameter setting unit 133 is a count value when the maximum time is counted by a dedicated clock that is an operation clock of the internal counter 134a.
  • the comparison unit 134b provides a communication abnormality signal for notifying the communication abnormality to the initialization unit 136.
  • the clock generation unit 135 generates a dedicated clock required for the abnormality detection unit 134 to count. Then, the clock generation unit 135 gives this dedicated clock to the abnormality detection unit 134.
  • the initialization unit 136 outputs a reset signal to the control unit 131 when a communication abnormality signal is given from the abnormality detection unit 134.
  • FIG. 6 is a schematic diagram illustrating a sequence when the master device 110 issues a read command and acquires data in IIC communication.
  • the address width of the slave device 130 is 7 bits.
  • the control unit 111 of the master device 110 In IIC communication, the control unit 111 of the master device 110 generates a unique state called a start condition via the I / F unit 112 (S1), and subsequently, the address of the slave device that performs communication, A bit indicating the content of the “read” command is transmitted to the slave device 130 (S2, S3).
  • the control unit 131 recognizes the start condition via the I / F unit 137 and determines whether the slave address transmitted from the master device 110 matches its own address. As a result, if they match, the control unit 131 transmits an ACK signal to the master device 110 via the I / F unit 137 in synchronization with the clock signal of the SCL (S4). Further, the control unit 131 communicates with the arithmetic processing unit 138, and transmits the result of performing the complicated arithmetic processing using the arithmetic processing unit 138 to the master device 110 (S5).
  • the control unit 131 forces the SCL clock signal to be in a busy state until the calculation processing by the calculation processing unit 138 is completed and the calculation result preparation is completed. To low level. Thus, the slave device 130 can stop data transmission while the SCL clock signal is at a low level. After that, when the read data is prepared, the control unit 131 cancels the SCL busy state via the I / F unit 137 and transmits the read data (S5).
  • the control unit 111 returns an ACK signal to the slave device 130 via the I / F unit 112 (S6).
  • the control unit 131 transmits read data via the I / F unit 137 (S7).
  • the control unit 111 returns an ACK signal to the slave device 130 via the I / F unit 112 (S8).
  • FIG. 7 is a schematic diagram showing a sequence when the master device 110 issues a write command and sends data by IIC communication.
  • the control unit 111 of the master device 110 generates a start condition via the I / F unit 112 (S10). Subsequently, the address of the slave device that performs communication and the content of the “write” command are displayed. The indicated bit is transmitted to the slave device 130 (S11, S12).
  • the control unit 131 recognizes the start condition via the I / F unit 137 and determines whether the slave address transmitted from the master device 110 matches its own address. As a result, if they match, the control unit 131 transmits an ACK signal to the master device 110 via the I / F unit 137 in synchronization with the SCL clock signal (S13). After transmitting the ACK signal, the controller 131 prepares for receiving the next data, for example, while writing data in a reception buffer (not shown) to a memory such as a RAM. Force the signal to low level. The master device 110 stops data transmission while the SCL clock signal is at a low level.
  • the control unit 111 When receiving the ACK signal, in the master device 110, the control unit 111 transmits write data to the slave device 130 via the I / F unit 112 in synchronization with the rising edge of the SCL clock signal (S14). Then, in the slave device 130 that has received the write data, the control unit 131 sends back an ACK signal via the I / F unit 137 (S15). Further, the control unit 131 fixes the SCL clock signal to a low level for preparation for reception and the like, and releases the fixation of the SCL clock signal to a low level after completion of preparation for reception. On the other hand, in the master device 110, the control unit 111 transmits write data to the slave device 130 via the I / F unit 112 (S16). The slave device 130 returns an ACK signal via the I / F unit 137 (S17).
  • FIG. 8 is a flowchart showing processing in the slave device 130.
  • the control unit 131 of the slave device 130 recognizes the start condition via the I / F unit 137 and receives a slave address and a command transmitted from the master device 110 (S20).
  • control unit 131 transmits an ACK signal to the master device 110 via the I / F unit 137 in synchronization with the SCL clock signal ( S21).
  • the internal counter 132b When the start condition recognition unit 132a of the command holding unit 132 shown in FIG. 4 recognizes the start condition generated by the master device 110, the internal counter 132b counts the number of SCL clocks, thereby starting the start condition. Specifies the command content bit that arrives 8 clocks later. Then, the internal counter 132b holds the specified bit value in the register 132c (S23). In the case of reading, the value of the command content bit is “1”, and in the case of writing, the value of the command content bit is “0”. Further, the internal counter 132 b outputs an enable signal to the parameter setting unit 133 when the value of the register 132 c in the command holding unit 132 is updated.
  • the parameter setting unit 133 refers to the command content bit held in the register 132c by the enable signal from the command holding unit 132. Then, the parameter setting unit 133 corresponds to the maximum time during which the SCL clock signal is maintained at the low level for determining the communication abnormality in accordance with the bit content referred to (here, “read” or “write”).
  • the parameter value to be set is set in the abnormality detection unit 134 (S23).
  • the parameter setting unit 133 detects the abnormality of the parameter value corresponding to the maximum time during which the SCL clock signal is kept at the low level when processing the read data. Part 134.
  • the value of this parameter is optimal at the time of reading.
  • the parameter setting unit 133 sets the parameter value corresponding to the maximum time during which the SCL clock signal is held at the low level when processing the write data to the abnormality detection unit. Set to 134. The value of this parameter is optimal at the time of writing.
  • the anomaly detection unit 134 shown in FIG. 5 latches the state of the SCL clock signal with a dedicated clock having a frequency that is at least twice as high as that of the SCL clock signal, and sets the low level time. It counts with the internal counter 134a. Then, the comparison unit 134b determines whether or not the count value counted by the internal counter 134a exceeds the value of the parameter corresponding to the maximum time that the SCL clock signal is held at the low level set by the parameter setting unit 133. Is confirmed (S24). For example, in the read example shown in FIG. 6, the control unit 131 transmits an ACK signal (S4) via the I / F unit 137 and then forcibly sets the SCL clock signal to a low level. .
  • control unit 131 forcibly transmits the ACK signal via the I / F unit 137 (S13, S15, S17), and then forcibly transmits the SCL clock signal. Set to low level.
  • the comparison unit 134b proceeds to the process of step S25, and when the count value does not exceed the parameter value (S24: No). The process proceeds to step S26.
  • step S25 the comparison unit 134b determines that there is a communication abnormality, and outputs a communication abnormality signal to the initialization unit 136.
  • the initialization unit 136 outputs a reset signal that initializes the control unit 131 when the communication abnormality signal from the abnormality detection unit 134 is asserted.
  • the master device 110 when a read command is transmitted from the master device 110, when the communication of the slave device 130 is initialized by the reset signal output from the initialization unit 136, the busy state is canceled and the SCL becomes valid. . In this case, since the control unit 131 of the slave device 130 is in the initial state, the process of transmitting read data to the SDA via the I / F unit 137 is not performed. Since the SDA is pulled up externally, the read data input to the master device 110 is “0xFF”. By deciding not to transmit / receive data that becomes “0xFF” in normal communication between the master device 110 and the slave device 130, the master device 110 continuously inputs read data that becomes “0xFF”.
  • the slave device 130 recognizes that the communication has been initialized, generates a start condition again, outputs the slave address and the content of the command, and resumes communication with the slave device 130. It is assumed that the number of continuous inputs of read data that is “0xFF” recognized that communication is initialized in the slave device 130 is set in an internal register (not shown) included in the master device 110. Then, for example, the control unit 111 of the master device 110 compares the value of this internal register with the value of the counter that counts up the number of times of continuous input of read data that is “0xFF”, and the slave device 130 performs communication. It is determined whether or not it has been initialized.
  • the control unit 131 is in the initial state. Even if write data is transmitted from the master device 110, an ACK signal cannot be returned. Therefore, when the ACK signal is not returned from the slave device 130 for a predetermined time, the master device 110 recognizes that the communication is initialized in the slave device 130, generates a start condition again, and generates a slave address and a command. And the communication with the slave device 130 is resumed.
  • step S26 the control unit 131 continues the communication process with the master device 110.
  • control part 131 confirms whether the stop condition which the master apparatus 110 produced
  • the processing content in the slave device 130 differs depending on whether the command content is read or write, and the control unit 131 forcibly fixes the SCL clock signal to the low level accordingly.
  • the time to do is also different.
  • processing takes longer than in the case of writing.
  • in order to prepare read data when communication time between the control unit 131 and the arithmetic processing unit 138 is required, when arithmetic processing in the arithmetic processing unit 138 is required, This is because there is a case where arithmetic processing in the control unit 131 is required.
  • the time for the control unit 131 to maintain the SCL clock signal at the low level is longer than that in the case of writing. Therefore, if the parameter value for detecting an abnormality in reading and writing is the same value, if this parameter value is small, the abnormality is detected by mistake during normal read processing, and resetting is not performed. It will take. On the other hand, when the parameter value is large, it takes too much time to detect the abnormality, and the processing speed in the communication system 100 becomes slow.
  • the value of the parameter for performing abnormality detection is set to an optimum value according to the content of the command from the master device 110, so the content of the command such as read and write. Accordingly, it is possible to appropriately detect an abnormality. For this reason, it is possible to prevent the abnormality from being erroneously detected during normal operation and being reset. Further, it can be prevented that it takes time to detect the abnormality and the processing speed in the communication system 100 is slowed down.
  • the arithmetic processing unit 138 is connected to the control unit 131, but the present invention is not limited to such a configuration.
  • the arithmetic processing unit 138 may be provided inside the control unit 131.
  • the abnormality detection unit 134 is provided with an internal counter 134a for detecting the time during which the SCL clock signal is at a low level.
  • the abnormality detection unit 134 may be configured to detect the low level time of the SCL clock signal. This is not a limitation.
  • the master device 110 receives data “0xFF” in the case of reading, and in the case of ACK signal that does not return within a certain period in the case of writing,
  • the slave device 130 recognizes that the communication has been initialized
  • the present invention is not limited to such an example.
  • a notification line for notifying the master device 110 from the slave device 130 may be added. By performing initialization notification using such a notification line, it is possible to notify the master device 110 that initialization has been performed more quickly.
  • the communication system 200 according to the second embodiment includes a master device 110 and a slave device 230.
  • the communication system 200 according to the second embodiment is different from the communication system 100 according to the first embodiment in the slave device 230.
  • the slave device 230 when the content of the command is read, the slave device 230 has a time from receiving the command to transmitting read data, and a time corresponding to a parameter value set for reading. If the command content is write, the time from reception of the command to reception of write data is compared with the time corresponding to the parameter value set for writing.
  • FIG. 9 is a block diagram schematically showing the configuration of the slave device 230.
  • the slave device 230 includes a control unit 231, a command holding unit 132, a parameter setting unit 233, an abnormality detection unit 234, a clock generation unit 135, an initialization unit 136, an I / F unit 137, and an arithmetic processing unit. 138.
  • the slave device 230 in the second embodiment is different from the slave device 130 in the first embodiment in processing in the control unit 231, the parameter setting unit 233, and the abnormality detection unit 234.
  • IRQ1 and IRQ2 which are signal lines connecting the control unit 231 and the abnormality detection unit 234 are newly provided.
  • the control unit 231 controls communication according to the IIC protocol. In addition, when receiving the reset signal from the initialization unit 136, the control unit 231 initializes (resets) the communication process and again shifts to a command waiting state from the master device 110.
  • control unit 231 notifies the parameter setting unit 233 of the parameter value corresponding to the content of the command from the master device 110. For example, the control unit 231 notifies the parameter setting unit 233 of the optimum value for “read” or “write” based on the amount of communication with the arithmetic processing unit 138, the arithmetic load on the arithmetic processing unit 138, and the like. .
  • the parameter value when the command is “read” corresponds to the time from when the command is received from the master device 110 until the read data corresponding to this command is transmitted. It is a threshold. This threshold value can be a value corresponding to the maximum time from receiving a command from the master device 110 to transmitting read data corresponding to this command.
  • the parameter value when the command is “write” is a threshold value corresponding to the time from when the command is received from the master device 110 until the write data corresponding to this command is received.
  • This threshold value can be set to a value corresponding to the maximum time from reception of a command from the master device 110 until reception of write data corresponding to this command.
  • control unit 231 recognizes a start condition from the master device 110 via the I / F unit 137 and, when receiving the slave address of the own device, sends a command reception notification indicating reception of a command to the abnormality detection unit. 234. For example, the control unit 231 performs command reception notification by asserting a signal in IRQ1. Furthermore, when the control unit 231 receives a “read” command from the master device 110 via the I / F unit 137 and transmits read data corresponding to the command, the control unit 231 transmits read data indicating that the read data has been transmitted. The notification is given to the abnormality detection unit 234.
  • the control unit 231 stores read data in the transmission buffer 231a in the control unit 231, and performs processing to transmit this read data to the master device 110 via the I / F unit 137, thereby transmitting the transmission buffer 231a.
  • a read data transmission notification is performed by asserting a signal in IRQ2.
  • the control unit 231 receives a “write” command from the master device 110 via the I / F unit 137 and receives write data for the command, write data indicating that the write data has been received.
  • a reception notification is given to the abnormality detection unit 234.
  • control unit 231 stores the write data acquired via the I / F unit 137 in the reception buffer 231b in the control unit 231, and stores the write data in the arithmetic processing unit 138 or a memory (not shown).
  • the reception buffer 231b becomes empty (when reception is completed)
  • a write data reception notification is performed by asserting a signal in IRQ2.
  • the parameter setting unit 233 changes the parameter value for detecting a communication abnormality according to the information indicating the content of the command held in the command holding unit 132. As illustrated in FIG. 4, the parameter setting unit 233 sets a parameter value in the abnormality detection unit 234 when receiving an enable signal from the command holding unit 132.
  • the parameter value for detecting a communication abnormality is a threshold value corresponding to the time until transmission completion and reception completion. This threshold value can be a value corresponding to the maximum time until transmission completion and reception completion.
  • the parameter setting unit 233 indicates that the content of the command held in the command holding unit 132 is “read”.
  • the value of the parameter is different depending on whether it is “light” or not.
  • the value of the parameter to be set is desirably changeable as appropriate, and is given from the control unit 231.
  • the abnormality detection unit 234 measures time in processing performed according to the command. For example, the abnormality detection unit 234 measures the time from the command reception notification from the control unit 231. Then, the abnormality detection unit 234 compares the measured time with the maximum time corresponding to the parameter value set by the parameter setting unit 233. When the measured time exceeds the maximum time, the abnormality detection unit 234 determines that the communication is abnormal and notifies the initialization unit 136 of the communication abnormality. In addition, when the abnormality detection unit 234 receives a read data transmission notification or a write data reception notification from the control unit 231, the abnormality detection unit 234 ends the time measurement.
  • FIG. 10 is a block diagram schematically showing the configuration of the abnormality detection unit 234.
  • the abnormality detection unit 234 includes an internal counter 234a and a comparison unit 234b.
  • symbol in the parenthesis of FIG. 10 is a structure in the master apparatus of Embodiment 4.
  • FIG. The internal counter 234a counts the time after the IRQ1 signal is asserted with the dedicated clock.
  • the parameter value indicating the maximum time set by the parameter setting unit 233 is a count value when the maximum time is counted by a dedicated clock that is an operation clock of the internal counter 234a.
  • the internal counter 234a stops counting when the IRQ2 signal is asserted.
  • the comparison unit 234b gives a communication abnormality signal for notifying the communication abnormality to the initialization unit 136.
  • FIG. 11 is a flowchart showing processing in the slave device 230.
  • the control unit 231 of the slave device 230 recognizes the start condition via the I / F unit 137, and receives the slave address and the command content transmitted from the master device 110 (S30).
  • control unit 231 recognizes the start condition via the I / F unit 137 and asserts the IRQ1 signal when determining that the received slave address is the address of its own device. Then, the internal counter 234a of the abnormality detection unit 234 detects the assertion of IRQ1, and starts counting (S31).
  • control unit 231 transmits an ACK signal to the master device 110 via the I / F unit 137 in synchronization with the SCL clock signal. (S32).
  • the internal counter 132b When the start condition recognition unit 132a of the command holding unit 132 shown in FIG. 4 recognizes the start condition generated by the master device 110, the internal counter 132b counts the number of SCL clocks, thereby starting the start condition. Specifies the command content bit that arrives 8 clocks later. Then, the internal counter 132b holds the specified bit value in the register 132c (S33). The internal counter 132 b outputs an enable signal to the parameter setting unit 233 when the register value in the command holding unit 132 is updated.
  • the parameter setting unit 233 refers to the command content bit held in the register 132c by the enable signal from the command holding unit 132. Then, the parameter setting unit 233 sets, in the abnormality detection unit 234, a parameter value corresponding to the maximum processing time for determining a communication abnormality according to the referenced bit content (S34).
  • the parameter setting unit 233 sets the parameter value corresponding to the maximum processing time, which is optimal at the time of reading, to the abnormality detection unit 234.
  • the parameter setting unit 233 sets the parameter value corresponding to the maximum processing time, which is optimal at the time of writing, to the abnormality detection unit 234.
  • the abnormality detection unit 234 shown in FIG. 10 latches the state of the SCL clock signal with a dedicated clock having a frequency twice or more that of the SCL clock signal, and detects the assertion of IRQ1. Is counted by the internal counter 234a. Then, the comparison unit 234b checks whether or not the count value counted by the internal counter 234a exceeds the parameter value indicating the maximum processing time set by the parameter setting unit 233 (S35). When the count value exceeds the parameter value (S35: Yes), the comparison unit 234b proceeds to the process of step S36, and when the count value does not exceed the parameter value (S35: No). The process proceeds to step S37.
  • step S36 the comparison unit 234b determines that there is a communication abnormality, and outputs a communication abnormality signal to the initialization unit 136.
  • the initialization unit 136 outputs a reset signal for initializing the control unit 231 when the communication abnormality signal from the abnormality detection unit 234 is asserted. As a result, the control unit 231 releases the busy state and returns to the state waiting for receiving a command from the master device 110 again.
  • step S37 the control unit 231 continues the communication process with the master device 110.
  • the control unit 231 confirms whether communication with the master device 110 is completed via the I / F unit 137 (S38). For example, when the command from the master device 110 is “read”, when the read data stored in the transmission buffer 231a is transmitted and the transmission buffer 231a is emptied, the communication with the master device 110 is performed. Determine that communication is complete. When the command from the master device 110 is “write”, when the write data stored in the reception buffer 231b is processed and the reception buffer 231b is emptied, the command is transmitted to and from the master device 110. Determine that communication is complete.
  • control unit 231 determines that the communication is completed (S38: Yes)
  • the control unit 231 determines that the communication is completed (S38: Yes)
  • the control unit 231 asserts the IRQ2 signal.
  • the internal counter 234a of the abnormality detection unit 234 stops counting when detecting the assertion of IRQ2.
  • the arithmetic processing unit 138 is connected to the control unit 231, but the configuration is not limited to such a configuration, and the arithmetic processing unit 138 is provided inside the control unit 231. May be. Further, the abnormality detection unit 234 is provided with an internal counter 234a for measuring the time from IRQ1 to IRQ2, but the invention is not limited to this as long as it can measure the time from IRQ1 to IRQ2. .
  • the parameter value set by the parameter setting unit 233 corresponds to the maximum time from when the command is received until the transmission of the read data is completed.
  • the present invention is not limited to such a value.
  • the parameter value set by the parameter setting unit 233 may be the maximum time from when the command is received to when the read data transmission is started.
  • the control unit 231 stores read data in the transmission buffer 231 a in the control unit 231 and starts to transmit this read data to the master device 110 via the I / F unit 137.
  • a read data transmission notification is performed by asserting a signal in IRQ2.
  • the parameter value set by the parameter setting unit 233 is the maximum time from the reception of the command until the reception of the write data is completed.
  • the value is not limited to such a value.
  • the parameter value set by the parameter setting unit 233 may be the maximum time from when a command is received to when reception of write data is started. In such a case, for example, when the control unit 231 starts storing write data in the reception buffer 231b in the control unit 231, the control unit 231 issues a write data reception notification by asserting a signal in the IRQ2.
  • the control unit 231 when the content of the command is “write”, the control unit 231 stores the write data acquired via the I / F unit 137 in the reception buffer 231b in the control unit 231.
  • the arithmetic processing unit 138 or a memory (not shown) or the like when the reception buffer 231b becomes empty, a signal is asserted in the IRQ2, thereby performing a write data reception notification.
  • a signal may be asserted in the IRQ2 to notify the write data reception.
  • the communication system 300 according to the third embodiment includes a master device 310 and a slave device 130.
  • the communication system 300 according to the third embodiment is different from the communication system 100 according to the first embodiment in the master device 310.
  • the master device 310 also performs initialization processing.
  • FIG. 12 is a block diagram schematically showing the configuration of the master device 310.
  • the master device 310 includes a control unit 311, an I / F unit 112, a command holding unit 313, a parameter setting unit 314, an abnormality detection unit 315, a clock generation unit 316, and an initialization unit 317.
  • the master device 310 according to the third embodiment is further provided with processing points performed by the control unit 311, and a command holding unit 313, parameter setting unit 314, abnormality detection unit 315, clock generation unit 316, and initialization unit 317. Is different from the master device 110 in the first embodiment.
  • the control unit 311 controls communication according to the IIC protocol. In addition, when receiving a reset signal from the initialization unit 317, the control unit 311 initializes (resets) the communication process and starts the reset communication process again. Furthermore, the control unit 311 restarts the initialized communication when the slave device 130 initializes (resets) communication while communicating with the slave device 130 according to the IIC protocol. I do.
  • control unit 311 notifies the parameter setting unit 314 of the parameter value corresponding to the content of the command transmitted to the slave device 130.
  • the control unit 311 shows the amount of communication with the slave device 130, and only one slave device 130 is shown in FIG. 1, but when a plurality of slave devices 130 are connected, other slave devices Based on the amount of communication with 130, etc., the optimal value for “read” or “write” is notified to the parameter setting unit 314.
  • the control unit 311 provides the command holding unit 313 with the content of the command to be transmitted to the slave device 130 via the I / F unit 112.
  • the command holding unit 313 includes a register that holds bit information representing the content of a read or write command given from the control unit 311. Note that the command holding unit 313 gives an enable signal to the parameter setting unit 314 when the value of the bit held in the register is updated.
  • the parameter setting unit 314 changes the value of the parameter for detecting a communication abnormality in accordance with the information indicating the content of the command held in the command holding unit 313.
  • the parameter setting unit 314 receives an enable signal from the command holding unit 313, the parameter setting unit 314 sets a parameter value in the abnormality detection unit 315.
  • the parameter value for detecting a communication abnormality is a threshold value corresponding to the time during which the SCL clock signal is maintained at a low level. This threshold value may be a value corresponding to the time during which the SCL clock signal is maintained at a low level.
  • the parameter setting unit 314 indicates that the content of the command held in the command holding unit 313 is “read”.
  • the value of the parameter is different depending on whether it is “light” or not.
  • the parameter value to be set is preferably changeable as appropriate, and is notified from the control unit 311.
  • the anomaly detection unit 315 measures time in processing performed according to the command. For example, the abnormality detection unit 315 measures the time during which the SCL clock signal is fixed at a low level. The abnormality detection unit 315 compares the measured time with the maximum time corresponding to the parameter value set by the parameter setting unit 314. When the measured time exceeds the maximum time, the abnormality detection unit 315 determines that the communication is abnormal and notifies the initialization unit 317 of the communication abnormality. As shown in FIG. 5, the abnormality detection unit 315 includes an internal counter 315a and a comparison unit 315b.
  • the internal counter 315a latches the state of the SCL with a dedicated clock having a frequency twice or more higher than that of the SCL, and counts the time when the clock signal of the SCL is at a low level.
  • the parameter value indicating the maximum time set by the parameter setting unit 314 is a count value when the maximum time is counted by a dedicated clock that is the operation clock of the internal counter 315a.
  • the comparison unit 315b gives a communication abnormality signal for notifying the communication abnormality to the initialization unit 317.
  • the clock generation unit 316 generates a dedicated clock required for the abnormality detection unit 315 to count. Then, the clock generation unit 316 gives this dedicated clock to the abnormality detection unit 315.
  • the initialization unit 317 outputs a reset signal to the control unit 311 when a communication abnormality signal is given from the abnormality detection unit 315.
  • FIG. 13 is a flowchart showing processing in the master device 310 in the third embodiment.
  • the control unit 311 generates a start condition via the I / F unit 112, and then performs a process of transmitting the slave address and the command content (S40).
  • control unit 311 also provides the command holding unit 313 with the content of the command to be transmitted.
  • the command holding unit 313 updates the value of the register so as to indicate the content of the given command (S41). In the case of reading, the value of the register is “1”, and in the case of writing, the value of the register is “0”. Then, the command holding unit 313 outputs an enable signal to the parameter setting unit 314.
  • the parameter setting unit 314 refers to the command content bits held in the register by the enable signal from the command holding unit 313. Then, the parameter setting unit 314 sets, in the abnormality detection unit 315, a parameter value corresponding to the maximum time during which the clock signal of the SCL is maintained at a low level for determining a communication abnormality according to the bit content referred to. (S42).
  • the parameter setting unit 314 detects the abnormality of the parameter value corresponding to the maximum time during which the SCL clock signal is kept at the low level when processing the read data. Set in the part 315. The value of this parameter is optimal at the time of reading.
  • the parameter setting unit 314 determines the parameter value corresponding to the maximum time during which the SCL clock signal is kept at the low level when processing the write data. Set to 315. The value of this parameter is optimum at the time of writing.
  • the control unit 311 performs a process of receiving an ACK signal from the slave device 130 via the I / F unit 112 (S43).
  • the control unit 311 performs processing according to the content of the command sent to the slave device 130 in step S40. For example, if the content of the command sent in step S40 is read, the control unit 311 accumulates the read data received via the I / F unit 122 in the reception buffer 311a in the control unit 311. . Then, when the reception of the read data is completed, the control unit 311 performs a process of transmitting an ACK signal to the slave device 130 via the I / F unit 112. In addition, when the content of the command sent in step S40 is a write, the control unit 311 transmits the write data accumulated in the transmission buffer 311b in the control unit 311 via the I / F unit 122. Process.
  • the abnormality detection unit 315 shown in FIG. 5 latches the state of the SCL clock signal with a dedicated clock having a frequency that is at least twice as high as that of the SCL clock signal. It counts with the internal counter 315a. Then, the comparison unit 315b determines whether or not the count value counted by the internal counter 315a exceeds a parameter value set by the parameter setting unit 314 and indicating a maximum time during which the SCL clock signal is held at a low level. Confirm (S44). When the SCL clock signal exceeds the value of the parameter indicating the maximum time for holding the low level (S44: Yes), the comparison unit 315b proceeds to the process of step S45, and the SCL clock signal is low. If the value of the parameter indicating the maximum time for holding is not exceeded (S44: No), the process proceeds to step S46.
  • step S45 the comparison unit 315b determines that there is a communication abnormality, and outputs a communication abnormality signal to the initialization unit 317.
  • the initialization unit 317 outputs a reset signal for initializing the control unit 311 when the communication abnormality signal from the abnormality detection unit 315 is asserted. Thereby, the control part 311 is initialized and starts IIC communication again.
  • step S46 the control unit 311 continues the communication process with the slave device 130.
  • control part 311 confirms whether communication with the slave apparatus 130 was completed (S47).
  • the control unit 311 When the communication is completed (S47: Yes), the control unit 311 generates a stop condition via the I / F unit 112 and ends the flow.
  • the control unit 311 returns to the process of step S44.
  • the parameter value for performing abnormality detection is set to an optimum value according to the command content, and the abnormality is detected using the value. Are detected, it is unnecessary to add a new signal line for notifying the initialization between the master device 310 and the slave device 130.
  • the abnormality detection units 134 and 315 include the internal counters 134a and 315a for detecting the SCL low level time, but the present invention is not limited to this as long as the configuration can detect the SCL low level time. It is not a thing.
  • slave device 230 described in the second embodiment may be connected to the master device 310 described in the third embodiment.
  • the communication system 400 according to the fourth embodiment includes a master device 410 and a slave device 230.
  • the communication system 400 according to the fourth embodiment is different from the communication system 200 according to the second embodiment in the master device 410.
  • master device 410 compares the time from when a read command is sent to when read data is received with the time indicated by the parameters set for read.
  • the time from the transmission of the write command to the transmission of the write data is compared with the time indicated by the parameters set for writing.
  • FIG. 14 is a block diagram schematically showing the configuration of the master device 410.
  • the master device 410 includes a control unit 411, an I / F unit 112, a command holding unit 313, a parameter setting unit 414, an abnormality detection unit 415, a clock generation unit 316, and an initialization unit 317.
  • the master device 410 according to the fourth embodiment is different from the master device 310 according to the third embodiment in the control unit 411, the parameter setting unit 414, and the abnormality detection unit 415.
  • IRQ3 and IRQ4 which are signal lines connecting the control unit 411 and the abnormality detection unit 415 are newly provided.
  • the control unit 411 controls communication according to the IIC protocol. In addition, upon receiving a reset signal from the initialization unit 317, the control unit 411 initializes (resets) the communication process and starts the reset communication process again. Furthermore, the control unit 411 restarts the initialized communication when the slave device 230 initializes (resets) communication while communicating with the slave device 230 according to the IIC protocol. I do. Furthermore, the control device 411 provides the command holding unit 313 with the content of the command to be transmitted to the slave device 230 via the I / F unit 112.
  • the control unit 411 notifies the parameter setting unit 414 of the parameter value corresponding to the content of the command transmitted to the slave device 230.
  • the value of the parameter when the command is “read” corresponds to the time from when the command is transmitted to the slave device 230 until the read data corresponding to the command is received. It is a threshold. This threshold value can correspond to the maximum time from when a command is transmitted to the slave device 230 until the read data corresponding to this command is received.
  • the parameter value when the command is “write” is a threshold value corresponding to the time from when the command is transmitted to the slave device 230 until the write data corresponding to this command is transmitted. This threshold value corresponds to the maximum time from when a command is transmitted to the slave device 230 until when write data corresponding to this command is transmitted.
  • the control unit 411 when the start condition is generated via the I / F unit 112, the control unit 411 gives a command transmission notification indicating command transmission to the abnormality detection unit 415. For example, the control unit 411 issues a command transmission notification by asserting a signal in IRQ3. In addition, the control unit 411 gives a “read” command to the slave device 230 via the I / F unit 112 and receives read data when the read data corresponding to the command is received. Notification is given to the abnormality detection unit 415. For example, the control unit 411 asserts a signal in the IRQ 4 when the received read data is started to be stored in the reception buffer 411 b in the control unit 411 via the I / F unit 112 (when reception is started).
  • a read data reception notification is performed. Furthermore, when the control unit 411 gives a “write” command to the slave device 230 via the I / F unit 112 and transmits write data corresponding to the command, write data indicating that the write data has been transmitted. A transmission notification is given to the abnormality detection unit 415. For example, the control unit 411 stores the write data in the transmission buffer 411a in the control unit 411 and starts the process of transmitting the write data to the master device 110 via the I / F unit 137 (the transmission is started). At the same time, the write data transmission notification is performed by asserting the signal in IRQ4.
  • the parameter setting unit 414 changes the value of the parameter for detecting the communication abnormality according to the information indicating the content of the command held in the command holding unit 313.
  • the parameter setting unit 414 sets a parameter value in the abnormality detection unit 415.
  • the value of the parameter for detecting a communication abnormality is a value corresponding to the maximum time until the start of transmission or reception.
  • the parameter setting unit 414 indicates that the content of the command held in the command holding unit 313 is “read”.
  • the value of the parameter is different depending on whether it is “light” or not.
  • the value of the parameter to be set is desirably changeable as appropriate, and is given from the control unit 411.
  • the abnormality detection unit 415 measures time in processing performed according to the command. For example, the abnormality detection unit 415 measures the time from the command reception notification from the control unit 411. The abnormality detection unit 415 compares the measured time with the maximum time corresponding to the parameter value set by the parameter setting unit 414. If the measurement time exceeds the maximum time, the abnormality detection unit 415 determines that the communication is abnormal, and notifies the initialization unit 317 of the communication abnormality. In addition, when the abnormality detection unit 415 receives the read data reception notification or the write data transmission notification from the control unit 411, the abnormality detection unit 415 ends the time measurement.
  • the abnormality detection unit 415 includes an internal counter 415a and a comparison unit 415b.
  • the internal counter 415a counts the time from when the IRQ3 signal is asserted using a dedicated clock.
  • the parameter value indicating the maximum time set by the parameter setting unit 414 is a count value when the maximum time is counted by a dedicated clock that is the operation clock of the internal counter 415a.
  • the internal counter 415a stops counting when the IRQ4 signal is asserted.
  • the comparison unit 415b gives a communication abnormality signal for notifying the communication abnormality to the initialization unit 317.
  • FIG. 15 is a flowchart illustrating processing in the master device 410 according to the fourth embodiment.
  • the control unit 411 generates a start condition via the I / F unit 112, and then performs a process of transmitting the slave address and the command content (S50).
  • control unit 411 also provides the command holding unit 313 with the content of the transmitted command.
  • the command holding unit 313 updates the value of the register so as to indicate the content of the given command (S51). In the case of reading, the value of the register is “1”, and in the case of writing, the value of the register is “0”. Then, the command holding unit 313 outputs an enable signal to the parameter setting unit 414.
  • the parameter setting unit 414 refers to the command content bit held in the register by the enable signal from the command holding unit 313. Then, the parameter setting unit 414 sets, in the abnormality detection unit 415, a parameter value corresponding to the maximum time until the start of transmission or reception for determining a communication abnormality according to the referenced bit content (S52). .
  • the parameter setting unit 414 sets the parameter value corresponding to the maximum processing time, which is optimal at the time of reading, to the abnormality detection unit 415.
  • the parameter setting unit 414 sets the parameter value corresponding to the maximum processing time, which is optimal at the time of writing, to the abnormality detection unit 415.
  • control unit 411 transmits a command to the slave device 230 via the I / F unit 112
  • the control unit 411 asserts an IRQ3 signal.
  • the internal counter 415a of the abnormality detection unit 415 detects the assertion of IRQ3 and starts counting (S53).
  • control unit 411 performs a process of receiving an ACK signal from the slave device 230 via the I / F unit 112 (S54).
  • the control unit 411 performs processing according to the content of the command sent to the slave device 230 in step S50.
  • the internal counter 415a counts the time after detecting the assertion of IRQ3 using the dedicated clock. Then, the comparison unit 415b checks whether or not the count value counted by the internal counter 415a has exceeded the parameter value indicating the maximum processing time set by the parameter setting unit 414 (S55). When the count value exceeds the parameter value (S55: Yes), the comparison unit 415b proceeds to the process of step S56, and when the count value does not exceed the parameter value (S55: No). The process proceeds to step S57.
  • step S56 the comparison unit 415b determines that there is a communication abnormality, and outputs a communication abnormality signal to the initialization unit 317.
  • the initialization unit 317 outputs a reset signal for initializing the control unit 411 when the communication abnormality signal from the abnormality detection unit 415 is asserted. Thereby, the control unit 411 is initialized and starts IIC communication again.
  • step S57 the control unit 411 continues the communication process with the slave device 230.
  • control part 411 confirms whether communication between the slave apparatuses 230 was performed via the I / F part 112 (S58). For example, when the command to the slave device 230 is “read”, it is determined that communication with the slave device 230 has been executed when the read data starts to be stored in the reception buffer 411b. When the command from the slave device 230 is “write”, it is determined that communication with the slave device 230 has been executed when transmission of the write data stored in the transmission buffer 411a is started. . If the control unit 411 determines that the communication has been executed (S58: Yes), the control unit 411 terminates the flow. If the control unit 411 determines that the communication has not been executed (S58: No), the process of step S55 is performed. Return to. In addition, the control part 411 asserts the signal of IRQ4, when it is judged that communication was performed (S58: Yes). The internal counter 415a of the abnormality detection unit 415 stops counting when detecting the assertion of IRQ4.
  • the command transmission interrupt that is asserted when the master device 410 transmits a command and the reception buffer 411b.
  • the master device 410 uses the reception buffer interrupt asserted when read data starts to be stored in the transmission buffer and the transmission buffer interrupt asserted when write data stored in the transmission buffer 411a starts to be transmitted. It is possible to measure an accurate interval from the actual command transmission from to the execution of data transmission / reception.
  • the abnormality detection unit 415 includes the internal counter 415a that starts counting from the IRQ 3.
  • the configuration is not limited to this as long as the processing time from the IRQ 3 can be measured.
  • slave device 130 described in the first embodiment may be connected to the master device 410 described in the fourth embodiment.
  • the parameter value set by the parameter setting unit 414 is the maximum time from when the command is transmitted until the reception of the read data is started. Although it is a corresponding value, it is not limited to such a value.
  • the parameter value set by the parameter setting unit 414 may be the maximum time from when a command is transmitted until reception of read data is completed.
  • the control unit 411 stores the read data in the reception buffer 411b in the control unit 411, and outputs the read data to a memory (not shown), thereby emptying the reception buffer 411b. When this happens, a read data reception notification is made by asserting a signal in IRQ4.
  • the parameter value set by the parameter setting unit 414 is the maximum value from when the command is transmitted until the transmission of the write data is started. Although it is a value corresponding to time, it is not limited to such a value.
  • the parameter value set by the parameter setting unit 414 may be the maximum time from when the command is transmitted to when the transmission of the write data is completed.
  • the control unit 411 stores the write data in the transmission buffer 411a in the control unit 411, and transmits the write data to the slave device via the I / F unit 112. When the transmission buffer 411a becomes empty, a write data transmission notification is performed by asserting a signal in IRQ4.
  • the controller 131, 231, 311, 411 notifies the parameter setting unit 133, 233, 314, 414 of the parameter value.
  • the value of each parameter in the case may be a fixed value.
  • the parameter value may be stored in a memory (not shown) of the parameter setting unit 414.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)
  • Bus Control (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

 スレーブ装置(130)は、異常を検出するためのパラメータの値として、マスター装置から送信されるコマンドの内容毎に、異なる値を設定するパラメータ設定部(133)と、パラメータ設定部(133)により設定されたパラメータの値に対応する時間と、コマンドに応じて行われる処理において計測される時間とを比較することにより異常を検出する異常検出部(134)とを備える。

Description

スレーブ装置、マスター装置及び通信方法
 本発明は、IIC(Inter Integrated Circuit)プロトコルに従って通信を行う、スレーブ装置、マスター装置及び通信方法に関する。
 従来から、電子機器内のデバイス同士の通信を、SCLと呼ばれるシリアルクロックラインと、SDAと呼ばれるシリアルデータラインとの2本の信号線で行う、IICプロトコルを用いた通信方式が用いられている。IIC通信では、スレーブ装置がコマンド処理中にビジー状態としてSCLの信号をローレベルに固定し、マスター装置へのデータの送信を保留させることができる。
 しかし、マスター装置から送信されたSCLの信号と、SDAの信号とが、スレーブ装置で正常に受信できなかった場合に、スレーブ装置は、SCLの信号をローレベルに固定してしまう場合がある。これに対し、特許文献1には、マスター装置とスレーブ装置との間を、異常の発生を通知するための通知ラインで接続する通信システムが記載されている。特許文献1に記載された通信システムでは、IIC通信で生じた異常を検出する検出手段で異常が検出された場合に、一方のデバイスが、この通知ラインを介して他方のデバイスに異常の発生を通知する。
特開2011-70282号公報
 特許文献1に記載された通信システムでは、SCLの信号が、所定の時間以上、所定のレベルを維持した場合に、異常の発生を検知している。しかし、スレーブ装置では、マスター装置から受信したコマンドの内容によってSCLの信号をローレベルに維持する時間が異なるため、コマンドの内容によっては、誤って異常の発生を検知してしまい、正常動作中にデバイスの復旧処理が行われてしまう場合があった。
 そこで、本発明は、誤って異常の発生を検知してしまうことを防止することを目的とする。
 本発明の一態様に係るスレーブ装置は、IICプロトコルに従ってスレーブモードで動作するスレーブ装置であって、異常を検出するためのパラメータの値として、前記IICプロトコルに従ってマスターモードで動作するマスター装置から送信されるコマンドの内容毎に、異なる値を設定するパラメータ設定部と、前記パラメータ設定部により設定されたパラメータの値に対応する時間と、前記コマンドに応じて行われる処理において計測される時間とを比較することにより異常を検出する異常検出部と、を備えることを特徴とする。
 また、本発明の一態様に係るマスター装置は、IICプロトコルに従ってマスターモードで動作するマスター装置であって、異常を検出するためのパラメータの値として、前記IICプロトコルに従ってスレーブモードで動作するスレーブ装置に送信するコマンドの内容毎に、異なる値を設定するパラメータ設定部と、前記パラメータ設定部により設定されたパラメータの値に対応する時間と、前記コマンドに応じて行われる処理において計測される時間とを比較することにより異常を検出する異常検出部と、を備えることを特徴とする。
 さらに、本発明の一態様に係る通信方法は、IICプロトコルに従ってスレーブモードで動作するスレーブ装置が行う通信方法であって、異常を検出するためのパラメータの値として、前記IICプロトコルに従ってマスターモードで動作するマスター装置から送信されるコマンドの内容毎に、異なる値を設定するパラメータ設定過程と、前記パラメータ設定過程により設定されたパラメータの値に対応する時間と、前記コマンドに応じて行われる処理において計測される時間とを比較することにより異常を検出する異常検出過程と、を有することを特徴とする。
 さらにまた、本発明の一態様に係る通信方法は、IICプロトコルに従ってマスターモードで動作するマスター装置が行う通信方法であって、異常を検出するためのパラメータの値として、前記IICプロトコルに従ってスレーブモードで動作するスレーブ装置に送信するコマンドの内容毎に、異なる値を設定するパラメータ設定過程と、前記パラメータ設定過程により設定されたパラメータの値に対応する時間と、前記コマンドに応じて行われる処理において計測される時間とを比較することにより異常を検出する異常検出過程と、を有することを特徴とする。
 本発明の一態様によれば、誤って異常を検知してしまうことを防止することができる。
実施の形態1~4に係る通信システムの構成を示す概略図である。 実施の形態1におけるマスター装置の構成を概略的に示すブロック図である。 実施の形態1におけるスレーブ装置の構成を概略的に示すブロック図である。 実施の形態1におけるコマンド保持部の構成を概略的に示すブロック図である。 実施の形態1及び3における異常検出部の構成を概略的に示すブロック図である。 実施の形態1において、マスター装置がリードのコマンドを出して、データを取得する際のシーケンスを示す概略図である。 実施の形態1において、マスター装置がライトのコマンドを出して、データを送る際のシーケンスを示す概略図である。 実施の形態1におけるスレーブ装置での処理を示すフローチャートである。 実施の形態2におけるスレーブ装置の構成を概略的に示すブロック図である。 実施の形態2及び4における異常検出部の構成を概略的に示すブロック図である。 実施の形態2におけるスレーブ装置での処理を示すフローチャートである。 実施の形態3におけるマスター装置の構成を概略的に示すブロック図である。 実施の形態3におけるマスター装置での処理を示すフローチャートである。 実施の形態4におけるマスター装置の構成を概略的に示すブロック図である。 実施の形態4におけるマスター装置での処理を示すフローチャートである。
実施の形態1.
 図1は、実施の形態1に係る通信システム100の構成を示す概略図である。通信システム100は、マスター装置110と、スレーブ装置130とを備える。なお、図1の括弧内の符号は、実施の形態2~4における構成を示している。
 マスター装置110は、マスターモードで動作している通信装置である。また、スレーブ装置130は、スレーブモードで動作している通信装置である。マスター装置110とスレーブ装置130とは、シリアルデータラインであるSDA及びシリアルクロックラインであるSCLで相互に接続されており、IICプロトコルにて通信を行うものである。図1では、スレーブ装置130は、1つだけ示されているが、複数あってもよい。
 図2は、マスター装置110の構成を概略的に示すブロック図である。マスター装置110は、制御部111と、インターフェース部(以下、I/F部という)112とを備える。
 制御部111は、IICプロトコルに従った通信を制御する。例えば、制御部111は、I/F部112を介して、スタートコンディションと呼ばれるユニークな状態と、通信を行うスレーブ装置130のスレーブアドレスと、このスレーブ装置130に行わせる処理の内容を示すコマンドとを送信する処理を行い、このコマンドで示された内容に応じて必要な処理を行う。なお、制御部111は、スレーブ装置130と通信を行う際に、I/F部112を介して、SCLにおけるクロック信号を変化させる。
 また、制御部111は、IICプロトコルに従ってスレーブ装置130と通信を行っている最中に、スレーブ装置130が通信の初期化(リセット)を行った場合には、初期化された通信を再開する処理を行う。
 I/F部112は、制御部111からの制御に応じて、SDA及びSCLを介して、通信を実行する。
 図3は、スレーブ装置130の構成を概略的に示すブロック図である。スレーブ装置130は、制御部131と、コマンド保持部132と、パラメータ設定部133と、異常検出部134と、クロック生成部135と、初期化部136と、I/F部137と、演算処理部138とを備える。
 制御部131は、IICプロトコルに従った通信を制御する。
 また、制御部131は、初期化部136からリセット信号を受け取ると、通信処理を初期化(リセット)して、再度、マスター装置110からのコマンド待ち状態に移行する。
 さらに、制御部131は、マスター装置110からのコマンドの内容に応じたパラメータの値をパラメータ設定部133に通知する。例えば、制御部131は、演算処理部138との間の通信量、演算処理部138での演算負荷等に基づいて、「リード」又は「ライト」における最適な値をパラメータ設定部133に通知する。例えば、制御部131と、演算処理部138との間で通信を行うデータ量が多く、これらの間の通信が遅延している場合には、制御部131は、遅延量が大きいほど大きな値(長い時間)となるパラメータをパラメータ設定部133に通知する。また、演算処理部138での演算処理負荷が高くなっている場合には、制御部131は、負荷が高いほど大きな値となるパラメータをパラメータ設定部133に通知する。制御部131は、これらの両方を加味して、パラメータの値を決定してもよい。
 コマンド保持部132は、マスター装置110から送信され、I/F部137を介して受信されたコマンドの内容を示す情報を保持する。例えば、IIC通信の場合、スレーブアドレスを示すビットの後に、コマンドの内容を表すビットがあるため、コマンド保持部132は、このコマンドの内容を表すビットの値を保持する。ここで、IIC通信の場合、このコマンドの内容を表すビットの値が「0」の場合は、マスター装置110が「ライト」を指示したことになり、このビットの値が「1」の場合、マスター装置110が「リード」を指示したことになる。
 図4は、コマンド保持部132の構成を概略的に示すブロック図である。コマンド保持部132は、スタートコンディション認識部132aと、内部カウンタ132bと、レジスタ132cとを備える。
 スタートコンディション認識部132aは、マスター装置110が送信し、I/F部137で受信されたデータからスタートコンディションを検出する。
 内部カウンタ132bは、スタートコンディション認識部132aがスタートコンディションを検出すると、このスタートコンディションから所定のビット数後に配置されているコマンドの内容を示すビットを特定し、このビットの値をレジスタ132cに格納する。例えば、スレーブアドレスが7ビットの場合、内部カウンタ132bは、SCLのクロック数をカウントすることで、スタートコンディションから8クロック後に到来するコマンド内容ビットを特定する。なお、内部カウンタ132bは、レジスタ132cの値を更新した際には、パラメータ設定部133にイネーブル信号を出力する。
 レジスタ132cは、内部カウンタ132bから送られてくるビットの値(コマンド内容ビットの値)を格納する。
 図3の説明に戻り、パラメータ設定部133は、コマンド保持部132に保持されているコマンドの内容を示す情報に応じて、通信異常を検出するためのパラメータの値を変更する。図4に示されているように、パラメータ設定部133は、コマンド保持部132からイネーブル信号を受け取った際に、異常検出部134にパラメータの値を設定する。なお、本実施の形態においては、通信異常を検出するためのパラメータの値は、SCLのクロック信号がローレベルを維持する時間に対応したしきい値である。このしきい値は、例えば、SCLのクロック信号がローレベルを維持する最大時間に対応した値とすることができる。ここで、コマンド保持部132に保持されているコマンドの内容は「リード」又は「ライト」であるため、パラメータ設定部133は、コマンド保持部132に保持されているコマンドの内容が「リード」である場合と、これが「ライト」である場合とで、そのパラメータの値を異なるものとする。設定されるパラメータの値は、適宜変更することができるものとすることが望ましく、制御部131から通知される。
 異常検出部134は、コマンドに応じて行われる処理において時間を計測する。例えば、異常検出部134は、SCLのクロック信号がローレベルに固定されている時間を計測する。異常検出部134は、計測された時間と、パラメータ設定部133により設定されたパラメータの値に対応する最大時間との比較を行う。そして、異常検出部134は、この計測された時間が最大時間を越えた場合には、通信異常と判定し、初期化部136へ通信異常を通知する。
 図5は、異常検出部134の構成を概略的に示すブロック図である。異常検出部134は、内部カウンタ134aと、比較部134bとを備える。なお、図5の括弧内の符号は、実施の形態3のマスター装置における構成である。
 内部カウンタ134aは、SCLよりも2倍以上周波数の高い専用クロックでSCLの状態をラッチし、SCLのクロック信号がローレベルとなっている時間をカウントする。なお、パラメータ設定部133で設定される最大時間を示すパラメータの値は、内部カウンタ134aの動作クロックである専用クロックでその最大時間をカウントした場合のカウント値となっている。
 比較部134bは、内部カウンタ134aでのカウント値が、パラメータ設定部133が設定したパラメータの値を超えると、通信異常を通知するための通信異常信号を初期化部136に与える。
 図3の説明に戻り、クロック生成部135は、異常検出部134がカウント行うために必要とする専用クロックを生成する。そして、クロック生成部135は、この専用クロックを異常検出部134に与える。
 初期化部136は、異常検出部134から通信異常信号が与えられると、リセット信号を制御部131に出力する。
 次に、以上に記載した通信システム100の動作について説明する。
 図6は、IIC通信で、マスター装置110がリードのコマンドを出して、データを取得する際のシーケンスを示す概略図である。なお、図6ではスレーブ装置130のアドレス幅を7ビットとしている。
 IIC通信では、マスター装置110の制御部111が、I/F部112を介して、スタートコンディションと呼ばれるユニークな状態を生成し(S1)、その後、続けて、通信を行うスレーブ装置のアドレスと、「リード」のコマンドの内容とを示すビットをスレーブ装置130に送信する(S2、S3)。
 スレーブ装置130では、制御部131が、I/F部137を介して、スタートコンディションを認識し、マスター装置110から送信されるスレーブアドレスが自身のアドレスと合致するかを判定する。その結果、合致する場合は、制御部131は、SCLのクロック信号に同期させて、I/F部137を介して、ACK信号をマスター装置110に送信する(S4)。さらに、制御部131は、演算処理部138との通信を行い、演算処理部138を用いて複雑な演算処理を行った結果をマスター装置110へ送信する(S5)。ここで、制御部131は、ACK信号を送信してから(S4)、演算処理部138による演算処理が終了し、演算結果の準備が完了するまでは、ビジー状態としてSCLのクロック信号を強制的にローレベルに固定する。これにより、スレーブ装置130は、SCLのクロック信号がローレベルである間、データの送信を停止することができる。その後、制御部131は、リードデータが準備できると、I/F部137を介して、SCLのビジー状態を解除し、リードデータの送信を行う(S5)。
 リードデータを受け取ると、マスター装置110では、制御部111が、I/F部112を介して、ACK信号をスレーブ装置130に返信する(S6)。そして、スレーブ装置130では、制御部131が、I/F部137を介して、リードデータの送信を行う(S7)。これに対して、マスター装置110では、制御部111が、I/F部112を介して、ACK信号をスレーブ装置130に返信する(S8)。
 図7は、IIC通信で、マスター装置110がライトのコマンドを出して、データを送る際のシーケンスを示す概略図である。
 マスター装置110の制御部111は、I/F部112を介して、スタートコンディションを生成し(S10)、その後、続けて、通信を行うスレーブ装置のアドレスと、「ライト」のコマンドの内容とを示すビットをスレーブ装置130に送信する(S11、S12)。
 スレーブ装置130では、制御部131が、I/F部137を介して、スタートコンディションを認識し、マスター装置110から送信されるスレーブアドレスが自身のアドレスと合致するかを判定する。その結果、合致する場合は、制御部131は、SCLのクロック信号に同期させて、I/F部137を介して、ACK信号をマスター装置110に送信する(S13)。ACK信号を送信した後、次のデータの受信を行うための準備、例えば、図示していない受信バッファ内のデータをRAMなどのメモリへ書き込んでいる間などは、制御部131は、SCLのクロック信号を強制的にローレベルに固定する。マスター装置110は、SCLのクロック信号がローレベルになっている間、データの送信を停止することになる。
 ACK信号を受け取ると、マスター装置110では、制御部111が、I/F部112を介して、SCLのクロック信号の立ち上がりに同期してライトデータをスレーブ装置130に送信する(S14)。
 そして、ライトデータを受け取ったスレーブ装置130では、制御部131が、I/F部137を介して、ACK信号の返信を行う(S15)。また、制御部131は、受信準備等のためにSCLのクロック信号をローレベルに固定し、受信準備等が完了した後に、SCLのクロック信号のローレベルへの固定を解除する。これに対して、マスター装置110では、制御部111が、I/F部112を介して、ライトデータをスレーブ装置130に送信する(S16)。スレーブ装置130は、I/F部137を介して、ACK信号を返信する(S17)。
 図8は、スレーブ装置130での処理を示すフローチャートである。
 まず、スレーブ装置130の制御部131は、I/F部137を介して、スタートコンディションを認識し、マスター装置110から送信されるスレーブアドレスと、コマンドとを受信する(S20)。
 制御部131は、受信されたスレーブアドレスが、自身のアドレスと合致する場合には、SCLのクロック信号に同期させて、I/F部137を介して、ACK信号をマスター装置110に送信する(S21)。
 また、マスター装置110が生成したスタートコンディションを、図4に示されているコマンド保持部132のスタートコンディション認識部132aが認識すると、内部カウンタ132bは、SCLのクロック数をカウントすることで、スタートコンディションから8クロック後に到来するコマンド内容ビットを特定する。そして、内部カウンタ132bは、特定されたビットの値を、レジスタ132cに保持させる(S23)。リードの場合、コマンド内容ビットの値は「1」であり、ライトの場合、コマンド内容ビットの値は「0」である。さらに、内部カウンタ132bは、コマンド保持部132内のレジスタ132cの値を更新した際に、パラメータ設定部133にイネーブル信号を出力する。
 パラメータ設定部133は、コマンド保持部132からのイネーブル信号により、レジスタ132cに保持されているコマンド内容ビットを参照する。そして、パラメータ設定部133は、参照したビット内容(ここでは、「リード」又は「ライト」)に応じて、通信異常と判定するための、SCLのクロック信号がローレベルを維持する最大時間に対応するパラメータの値を異常検出部134に設定する(S23)。ここで、コマンド内容ビットの値が「1」の場合、パラメータ設定部133は、リードデータを処理する際に、SCLのクロック信号がローレベルを保持する最大時間に対応するパラメータの値を異常検出部134に設定する。このパラメータの値は、リード時に最適となるものである。一方、コマンド内容ビットの値が「0」の場合、パラメータ設定部133は、ライトデータを処理する際に、SCLのクロック信号がローレベルを保持する最大時間に対応するパラメータの値を異常検出部134に設定する。このパラメータの値は、ライト時に最適となるものである。
 次に、図5に示されている異常検出部134では、SCLのクロック信号よりも2倍以上周波数の高い専用クロックで、SCLのクロック信号の状態をラッチし、ローレベルとなっている時間を内部カウンタ134aでカウントする。そして、比較部134bは、内部カウンタ134aでカウントされたカウント値が、パラメータ設定部133により設定された、SCLのクロック信号がローレベルを保持する最大時間に対応するパラメータの値を超えたか否かを確認する(S24)。例えば、図6に示されているリードの例では、制御部131は、I/F部137を介して、ACK信号を送信(S4)した後、SCLのクロック信号を強制的にローレベルにする。また、図7に示されているライトの例では、制御部131は、I/F部137を介して、ACK信号を送信(S13、S15、S17)した後、SCLのクロック信号を強制的にローレベルにする。そして、比較部134bは、カウント値がパラメータの値を超えた場合(S24:Yes)には、ステップS25の処理に進み、カウント値がパラメータの値を超えていない場合(S24:No)には、ステップS26の処理に進む。
 ステップS25では、比較部134bは、通信異常であると判断し、通信異常信号を初期化部136へ出力する。初期化部136は、異常検出部134からの通信異常信号がアサートされると制御部131を初期化するリセット信号を出力する。
 ここで、マスター装置110からリードのコマンドが送信された場合、初期化部136から出力されたリセット信号でスレーブ装置130の通信が初期化されると、ビジー状態が解除され、SCLが有効となる。この場合、スレーブ装置130の制御部131が初期状態になっているため、I/F部137を介してSDAにリードデータを送信する処理が行われない。SDAは、外部でプルアップされているため、マスター装置110に入力されるリードデータは「0xFF」となる。
 マスター装置110とスレーブ装置130との間で、通常の通信において「0xFF」となるデータを送受信しないように取り決めておくことで、マスター装置110は、「0xFF」となるリードデータが連続して入力された場合、スレーブ装置130において通信が初期化されたと認識し、再度、スタートコンディションを生成し、スレーブアドレス及びコマンドの内容を出力し、スレーブ装置130との通信を再開する。
 なお、スレーブ装置130において通信が初期化されたと認識する「0xFF」となるリードデータの連続入力回数は、マスター装置110が備える図示していない内部レジスタに設定されているものとする。そして、例えば、マスター装置110の制御部111は、この内部レジスタの値と、「0xFF」となるリードデータの連続入力回数をカウントアップするカウンタの値とを比較して、スレーブ装置130において通信が初期化されたか否かを判断する。
 また、マスター装置110からライトのコマンドが送信された場合、初期化部136から出力されたリセット信号でスレーブ装置130の通信が初期化されると、制御部131は、初期状態になっているため、マスター装置110からライトデータを送信しても、ACK信号を返すことができない。そのため、マスター装置110は、所定の時間、スレーブ装置130からACK信号が返ってこない場合には、スレーブ装置130において通信が初期化されたと認識し、再度、スタートコンディションを生成し、スレーブアドレス及びコマンドの内容を出力し、スレーブ装置130との通信を再開する。
 一方、ステップS26では、制御部131は、マスター装置110との通信処理を継続する。
 そして、制御部131は、I/F部137を介して、マスター装置110が生成するストップコンディションを認識したか否かを確認する(S27)。そして、制御部131は、ストップコンディションを認識した場合(S27:Yes)には、フローを終了し、ストップコンディションを認識していない場合(S27:No)には、ステップS24の処理に戻る。
 以上のように、コマンドの内容がリードの場合とライトの場合とで、スレーブ装置130内での処理内容は異なり、これに従い、制御部131が、SCLのクロック信号を強制的にローレベルに固定する時間も異なる。一般的に、リードの場合は、ライトの場合に比べると処理に時間がかかる。例えば、リードの場合には、リードデータを準備するために、制御部131と演算処理部138との間の通信時間が必要となる場合、演算処理部138での演算処理が必要となる場合、及び、制御部131での演算処理が必要となる場合等があるためである。このため、リードの場合には、制御部131がSCLのクロック信号をローレベルに維持する時間がライトの場合よりも長くなる。
 そのため、リードとライトで異常を検出するためのパラメータの値が同じ値になっていると、このパラメータの値が小さい場合は、正常なリード処理中に誤って異常が検出されてしまい、リセットがかかってしまう。一方、パラメータの値が大きい場合は、異常の検出に時間がかかりすぎて、通信システム100内での処理速度が遅くなってしまう。
 そこで、実施の形態1におけるスレーブ装置130によれば、マスター装置110からのコマンドの内容によって、異常検出を行うためのパラメータの値が最適な値に設定されるため、リード及びライトといったコマンドの内容に応じて、適切に異常を検出することができる。このため、正常動作時に誤って異常が検出されてしまい、リセットがかかることを防止することができる。さらに、異常の検出に時間がかかり、通信システム100内での処理速度が遅くなってしまうことを防止することができる。
 実施の形態1では、制御部131に演算処理部138が接続されているが、このような構成に限定されるものではない。例えば、制御部131の内部に演算処理装置138が設けられていてもよい。また、異常検出部134では、SCLのクロック信号がローレベルとなっている時間を検出するために内部カウンタ134aが設けられているが、SCLのクロック信号のローレベル時間を検出できる構成であればこれに限るものではない。
 実施の形態1では、マスター装置110は、リードの場合は「0xFF」となるデータが連続して入力された場合に、また、ライトの場合はACK信号が一定期間内に返ってこない場合に、スレーブ装置130において通信が初期化されたと認識しているが、このような例に限定されない。例えば、スレーブ装置130からマスター装置110に初期化されたことを通知するための通知ラインを追加してもよい。このような通知ラインを用いて初期化の通知を行うことで、より迅速に、初期化されたことをマスター装置110に通知することができる。
実施の形態2.
 次に、実施の形態2について説明する。図1に示されているように、実施の形態2に係る通信システム200は、マスター装置110と、スレーブ装置230とを備える。実施の形態2に係る通信システム200は、スレーブ装置230において、実施の形態1に係る通信システム100と異なっている。実施の形態2におけるスレーブ装置230は、コマンドの内容がリードの場合には、コマンドを受信してからリードデータを送信するまでの時間と、リード用に設定されたパラメータの値に対応する時間とを比較し、また、コマンドの内容がライトの場合には、コマンドを受信してからライトデータを受信するまでの時間と、ライト用に設定されたパラメータの値に対応する時間とを比較する。
 図9は、スレーブ装置230の構成を概略的に示すブロック図である。スレーブ装置230は、制御部231と、コマンド保持部132と、パラメータ設定部233と、異常検出部234と、クロック生成部135と、初期化部136と、I/F部137と、演算処理部138とを備える。実施の形態2におけるスレーブ装置230は、制御部231、パラメータ設定部233及び異常検出部234での処理において、実施の形態1におけるスレーブ装置130と異なっている。また、実施の形態2におけるスレーブ装置230では、制御部231と、異常検出部234とを接続する信号線であるIRQ1及びIRQ2が新たに設けられている。
 制御部231は、IICプロトコルに従った通信を制御する。
 また、制御部231は、初期化部136からリセット信号を受け取ると、通信処理を初期化(リセット)して、再度、マスター装置110からのコマンド待ち状態に移行する。
 さらに、制御部231は、マスター装置110からのコマンドの内容に応じたパラメータの値をパラメータ設定部233に通知する。例えば、制御部231は、演算処理部138との間の通信量、演算処理部138での演算負荷等に基づいて、「リード」又は「ライト」における最適な値をパラメータ設定部233に通知する。なお、本実施の形態においては、コマンドが「リード」の場合のパラメータの値は、マスター装置110からのコマンドを受けてから、このコマンドに対応するリードデータを送信するまでの時間に対応するしきい値である。このしきい値は、マスター装置110からのコマンドを受けてから、このコマンドに対応するリードデータを送信するまでの最大時間に対応した値とすることができる。また、コマンドが「ライト」の場合のパラメータの値は、マスター装置110からのコマンドを受けてから、このコマンドに対応するライトデータを受信するまでの時間に対応するしきい値である。このしきい値は、マスター装置110からのコマンドを受けてから、このコマンドに対応するライトデータを受信するまでの最大時間に対応した値とすることができる。
 また、制御部231は、I/F部137を介して、マスター装置110からのスタートコンディションを認識し、自装置のスレーブアドレスを受け取った場合に、コマンドの受信を示すコマンド受信通知を異常検出部234に与える。例えば、制御部231は、IRQ1において信号をアサートすることで、コマンド受信通知を行う。
 さらに、制御部231は、I/F部137を介して、マスター装置110から「リード」のコマンドを受け、このコマンドに対するリードデータを送信した際に、リードデータを送信したことを示すリードデータ送信通知を異常検出部234に与える。例えば、制御部231は、制御部231内の送信バッファ231aにリードデータを格納し、このリードデータをI/F部137を介してマスター装置110に送信する処理を行うことで、この送信バッファ231aが空になった際(送信が完了した際)に、IRQ2において信号をアサートすることで、リードデータ送信通知を行う。
 さらにまた、制御部231は、I/F部137を介して、マスター装置110から「ライト」のコマンドを受け、このコマンドに対するライトデータを受信した際に、ライトデータを受信したことを示すライトデータ受信通知を異常検出部234に与える。例えば、制御部231は、I/F部137を介して取得したライトデータを、制御部231内の受信バッファ231bに格納し、このライトデータを演算処理部138又は図示してはいないメモリ等に与えることで、この受信バッファ231bが空になった際(受信が完了した際)に、IRQ2において信号をアサートすることで、ライトデータ受信通知を行う。
 パラメータ設定部233は、コマンド保持部132に保持されているコマンドの内容を示す情報に応じて、通信異常を検出するためのパラメータの値を変更する。図4に示されているように、パラメータ設定部233は、コマンド保持部132からイネーブル信号を受け取った際に、異常検出部234にパラメータの値を設定する。なお、本実施の形態においては、通信異常を検出するためのパラメータの値は、送信完了及び受信完了までの時間に対応したしきい値である。このしきい値は、送信完了及び受信完了までの最大時間に対応した値とすることができる。ここで、コマンド保持部132に保持されているコマンドの内容は「リード」又は「ライト」であるため、パラメータ設定部233は、コマンド保持部132に保持されているコマンドの内容が「リード」である場合と、これが「ライト」である場合とで、そのパラメータの値を異なるものとする。設定されるパラメータの値は、適宜変更することができるものとすることが望ましく、制御部231から与えられる。
 異常検出部234は、コマンドに応じて行われる処理において時間を計測する。例えば、異常検出部234は、制御部231からのコマンド受信通知からの時間を計測する。そして、異常検出部234は、計測された時間と、パラメータ設定部233により設定されたパラメータの値に対応する最大時間との比較を行う。そして、異常検出部234は、この計測された時間が最大時間を越えた場合には、通信異常と判定し、初期化部136へ通信異常を通知する。
 なお、異常検出部234は、制御部231からのリードデータ送信通知又はライトデータ受信通知を受けた場合には、時間の計測を終了する。
 図10は、異常検出部234の構成を概略的に示すブロック図である。異常検出部234は、内部カウンタ234aと、比較部234bとを備える。なお、図10の括弧内の符号は、実施の形態4のマスター装置における構成である。
 内部カウンタ234aは、専用クロックにてIRQ1の信号がアサートされてからの時間をカウントする。なお、パラメータ設定部233により設定される最大時間を示すパラメータの値は、内部カウンタ234aの動作クロックである専用クロックでその最大時間をカウントした場合のカウント値となっている。また、内部カウンタ234aは、IRQ2の信号がアサートされた場合には、カウントを停止する。
 比較部234bは、内部カウンタ234aでのカウント値が、パラメータ設定部233が設定したパラメータの値を超えると、通信異常を通知するための通信異常信号を初期化部136に与える。
 図11は、スレーブ装置230での処理を示すフローチャートである。
 まず、スレーブ装置230の制御部231は、I/F部137を介して、スタートコンディションを認識し、マスター装置110から送信されるスレーブアドレスと、コマンドの内容を受信する(S30)。
 ここで、制御部231は、I/F部137を介して、スタートコンディションを認識し、受信されたスレーブアドレスが自装置のアドレスであると判断した場合には、IRQ1の信号をアサートする。そして、異常検出部234の内部カウンタ234aは、IRQ1のアサートを検知して、カウントを開始する(S31)。
 また、制御部231は、受信されたスレーブアドレスが、自身のアドレスと合致する場合には、SCLのクロック信号に同期させて、I/F部137を介して、ACK信号をマスター装置110に送信する(S32)。
 また、マスター装置110が生成したスタートコンディションを、図4に示されているコマンド保持部132のスタートコンディション認識部132aが認識すると、内部カウンタ132bは、SCLのクロック数をカウントすることで、スタートコンディションから8クロック後に到来するコマンド内容ビットを特定する。そして、内部カウンタ132bは、特定されたビットの値を、レジスタ132cに保持させる(S33)。内部カウンタ132bは、コマンド保持部132内のレジスタの値を更新した際に、パラメータ設定部233にイネーブル信号を出力する。
 パラメータ設定部233は、コマンド保持部132からのイネーブル信号により、レジスタ132cに保持されているコマンド内容ビットを参照する。そして、パラメータ設定部233は、参照したビット内容に応じて、通信異常と判定するための、処理の最大時間に対応するパラメータの値を異常検出部234に設定する(S34)。ここで、コマンド内容ビットの値が「1」の場合、パラメータ設定部233は、リード時に最適となる、処理の最大時間に対応するパラメータの値を異常検出部234に設定する。一方、コマンド内容ビットの値が「0」の場合、パラメータ設定部233は、ライト時に最適となる、処理の最大時間に対応するパラメータの値を異常検出部234に設定する。
 次に、図10に示されている異常検出部234では、SCLのクロック信号よりも2倍以上周波数の高い専用クロックで、SCLのクロック信号の状態をラッチし、IRQ1のアサートを検出してからの時間を内部カウンタ234aでカウントする。そして、比較部234bは、内部カウンタ234aでカウントされたカウント値が、パラメータ設定部233により設定された、処理の最大時間を示すパラメータの値を超えたか否かを確認する(S35)。そして、比較部234bは、カウント値がパラメータの値を超えた場合(S35:Yes)には、ステップS36の処理に進み、カウント値がパラメータの値を超えていない場合(S35:No)には、ステップS37の処理に進む。
 ステップS36では、比較部234bは、通信異常であると判断し、通信異常信号を初期化部136へ出力する。初期化部136は、異常検出部234からの通信異常信号がアサートされると制御部231を初期化するリセット信号を出力する。これにより、制御部231は、ビジー状態を解除し、再度、マスター装置110からのコマンド受信待ち状態に復帰する。
 一方、ステップS37では、制御部231は、マスター装置110との通信処理を継続する。
 そして、制御部231は、I/F部137を介して、マスター装置110との間の通信が完了したか否かを確認する(S38)。例えば、マスター装置110からのコマンドが「リード」である場合には、送信バッファ231aに格納されたリードデータが送信されて、送信バッファ231aが空になったときに、マスター装置110との間の通信が完了したと判断する。また、マスター装置110からのコマンドが「ライト」である場合には、受信バッファ231bに格納されたライトデータが処理されて、受信バッファ231bが空になったときに、マスター装置110との間の通信が完了したと判断する。そして、制御部231は、通信が完了したと判断した場合(S38:Yes)には、フローを終了し、通信が完了していないと判断した場合(S38:No)には、ステップS35の処理に戻る。なお、制御部231は、通信が完了したと判断した場合(S38:Yes)には、IRQ2の信号をアサートする。異常検出部234の内部カウンタ234aは、IRQ2のアサートを検出するとカウントを停止する。
 以上のように、実施の形態2に係る通信システム200によれば、マスター装置110から送信されるコマンド受信時にアサートされるコマンド受信割り込みと、送受信バッファが空になった場合にアサートされる送受信バッファエンプティ割り込みとの間の処理時間をカウントし、このカウント値とパラメータの値とを比較しているため、より正確に異常を検出することができる。
 実施の形態2に係る通信システム200では、制御部231に演算処理部138が接続されているが、このような構成に限るものではなく、制御部231の内部に演算処理部138が設けられていてもよい。さらに、異常検出部234は、IRQ1からIRQ2までの時間を計測するために内部カウンタ234aを設けているが、IRQ1からIRQ2までの時間を計測することができる構成であればこれに限るものではない。
 実施の形態2においては、コマンドの内容がリードである場合には、パラメータ設定部233が設定するパラメータの値は、コマンドを受信してから、リードデータの送信が完了するまでの最大時間に対応する値であるが、このような値に限定されるものではない。例えば、パラメータ設定部233が設定するパラメータの値は、コマンドを受信してから、リードデータの送信を開始するまでの最大時間としてもよい。このような場合には、例えば、制御部231は、制御部231内の送信バッファ231aにリードデータを格納し、このリードデータをI/F部137を介してマスター装置110に送信し始めた際に、IRQ2において信号をアサートすることで、リードデータ送信通知を行う。
 また、実施の形態2においては、コマンドの内容がライトである場合には、パラメータ設定部233が設定するパラメータの値は、コマンドを受信してから、ライトデータの受信が完了するまでの最大時間に対応する値であるが、このような値に限定されるものではない。例えば、パラメータ設定部233が設定するパラメータの値は、コマンドを受信してから、ライトデータの受信を開始するまでの最大時間としてもよい。このような場合には、例えば、制御部231は、制御部231内の受信バッファ231bにライトデータを格納し始めた際に、IRQ2において信号をアサートすることで、ライトデータ受信通知を行う。
 さらに、実施の形態2においては、コマンドの内容がライトである場合には、制御部231は、I/F部137を介して取得したライトデータを、制御部231内の受信バッファ231bに格納し、このライトデータを演算処理部138又は図示してはいないメモリ等に与えることで、この受信バッファ231bが空になった際に、IRQ2において信号をアサートすることで、ライトデータ受信通知を行っているが、例えば、受信バッファ231bにライトデータの格納が完了した際に、IRQ2において信号をアサートして、ライトデータ受信通知を行ってもよい。
実施の形態3.
 次に、実施の形態3について説明する。図1に示されているように、実施の形態3に係る通信システム300は、マスター装置310と、スレーブ装置130とを備える。実施の形態3に係る通信システム300は、マスター装置310において、実施の形態1に係る通信システム100と異なっている。実施の形態3では、マスター装置310でも初期化処理を行う。
 図12は、マスター装置310の構成を概略的に示すブロック図である。マスター装置310は、制御部311と、I/F部112と、コマンド保持部313と、パラメータ設定部314と、異常検出部315と、クロック生成部316と、初期化部317とを備える。実施の形態3におけるマスター装置310は、制御部311が行う処理の点、並びに、コマンド保持部313、パラメータ設定部314、異常検出部315、クロック生成部316及び初期化部317がさらに設けられている点において、実施の形態1におけるマスター装置110と異なっている。
 制御部311は、IICプロトコルに従った通信を制御する。
 また、制御部311は、初期化部317からリセット信号を受け取ると、通信処理を初期化(リセット)し、再度、リセットされた通信処理を開始する。
 さらに、制御部311は、IICプロトコルに従ってスレーブ装置130と通信を行っている最中に、スレーブ装置130が通信の初期化(リセット)を行った場合には、初期化された通信を再開する処理を行う。
 また、制御部311は、スレーブ装置130に送信するコマンドの内容に応じたパラメータの値をパラメータ設定部314に通知する。例えば、制御部311は、スレーブ装置130との間の通信量、図1には1つのスレーブ装置130しか示されていないが、複数のスレーブ装置130が接続されている場合には他のスレーブ装置130との間の通信量等に基づいて、「リード」又は「ライト」における最適な値をパラメータ設定部314に通知する。例えば、制御部311と、スレーブ装置130又は他のスレーブ装置130との間で通信を行うデータ量が多く、これらの間の通信が遅延している場合には、制御部311は、遅延量が大きいほど大きな値となるパラメータの値をパラメータ設定部314に通知する。
 さらに、制御部311は、I/F部112を介してスレーブ装置130へ送信するコマンドの内容をコマンド保持部313に与える。
 コマンド保持部313は、制御部311から与えられたリード又はライトのコマンド内容を表すビットの情報を保持するレジスタを備える。なお、コマンド保持部313は、レジスタに保持するビットの値を更新した際には、パラメータ設定部314にイネーブル信号を与える。
 パラメータ設定部314は、コマンド保持部313に保持されているコマンドの内容を示す情報に応じて、通信異常を検出するためのパラメータの値を変更する。ここで、パラメータ設定部314は、コマンド保持部313からイネーブル信号を受け取った際に、異常検出部315にパラメータの値を設定する。なお、本実施の形態においては、通信異常を検出するためのパラメータの値は、SCLのクロック信号がローレベルを維持する時間に対応したしきい値である。このしきい値は、SCLのクロック信号がローレベルを維持する時間に対応した値とすることができる。ここで、コマンド保持部313に保持されているコマンドの内容は「リード」又は「ライト」であるため、パラメータ設定部314は、コマンド保持部313に保持されているコマンドの内容が「リード」である場合と、これが「ライト」である場合とで、そのパラメータの値を異なるものとする。設定されるパラメータの値は、適宜変更することができるものとすることが望ましく、制御部311から通知される。
 異常検出部315は、コマンドに応じて行われる処理において時間を計測する。例えば、異常検出部315は、SCLのクロック信号がローレベルに固定されている時間を計測する。異常検出部315は、計測された時間と、パラメータ設定部314により設定されたパラメータの値に対応する最大時間との比較を行う。そして、異常検出部315は、この計測された時間が最大時間を越えた場合には、通信異常と判定し、初期化部317へ通信異常を通知する。図5に示されているように、異常検出部315は、内部カウンタ315aと、比較部315bとを備える。
 内部カウンタ315aは、SCLよりも2倍以上周波数の高い専用クロックでSCLの状態をラッチし、SCLのクロック信号がローレベルとなっている時間をカウントする。なお、パラメータ設定部314で設定される最大時間を示すパラメータの値は、内部カウンタ315aの動作クロックである専用クロックでその最大時間をカウントした場合のカウント値となっている。
 比較部315bは、内部カウンタ315aでのカウント値が、パラメータ設定部314が設定したパラメータの値を超えると、通信異常を通知するための通信異常信号を初期化部317に与える。
 図12の説明に戻り、クロック生成部316は、異常検出部315がカウント行うために必要とする専用クロックを生成する。そして、クロック生成部316は、この専用クロックを異常検出部315に与える。
 初期化部317は、異常検出部315から通信異常信号が与えられると、リセット信号を制御部311に出力する。
 図13は、実施の形態3におけるマスター装置310での処理を示すフローチャートである。
 制御部311は、I/F部112を介して、スタートコンディションを生成し、続けてスレーブアドレス及びコマンドの内容を送信する処理を行う(S40)。
 このとき、制御部311は、送信されるコマンドの内容をコマンド保持部313にも与える。コマンド保持部313は、与えられたコマンドの内容を示すように、レジスタの値を更新する(S41)。リードの場合、レジスタの値は「1」であり、ライトの場合、レジスタの値は「0」である。そして、コマンド保持部313は、パラメータ設定部314にイネーブル信号を出力する。
 パラメータ設定部314は、コマンド保持部313からのイネーブル信号により、レジスタに保持されているコマンド内容ビットを参照する。そして、パラメータ設定部314は、参照したビット内容に応じて、通信異常と判定するための、SCLのクロック信号がローレベルを維持する最大時間に対応するパラメータの値を異常検出部315に設定する(S42)。ここで、コマンド内容ビットの値が「1」の場合、パラメータ設定部314は、リードデータを処理する際に、SCLのクロック信号がローレベルを保持する最大時間に対応するパラメータの値を異常検出部315に設定する。このパラメータの値は、リード時に最適なものである。一方、コマンド内容ビットの値が「0」の場合、パラメータ設定部314は、ライトデータを処理する際に、SCLのクロック信号がローレベルを保持する最大時間に対応するパラメータの値を異常検出部315に設定する。このパラメータの値は、ライト時に最適なものとなる。
 次に、制御部311は、I/F部112を介して、スレーブ装置130からのACK信号を受信する処理を行う(S43)。ACK信号が受信されると、制御部311は、ステップS40でスレーブ装置130に送ったコマンドの内容に応じた処理を行う。例えば、ステップS40で送ったコマンドの内容がリードである場合には、制御部311は、制御部311内にある受信バッファ311aに、I/F部122を介して受信されたリードデータを蓄積する。そして、制御部311は、リードデータの受信が完了すると、I/F部112を介して、ACK信号をスレーブ装置130に対して送信する処理を行う。また、ステップS40で送ったコマンドの内容がライトである場合には、制御部311は、I/F部122を介して、制御部311内にある送信バッファ311bに蓄積されたライトデータを送信する処理を行う。
 次に、図5に示されている異常検出部315では、SCLのクロック信号よりも2倍以上周波数の高い専用クロックで、SCLのクロック信号の状態をラッチし、ローレベルとなっている時間を内部カウンタ315aでカウントする。そして、比較部315bは、内部カウンタ315aでカウントされたカウント値が、パラメータ設定部314により設定された、SCLのクロック信号がローレベルを保持する最大時間を示すパラメータの値を超えたか否かを確認する(S44)。そして、比較部315bは、SCLのクロック信号がローレベルを保持する最大時間を示すパラメータの値を超えた場合(S44:Yes)には、ステップS45の処理に進み、SCLのクロック信号がローレベルを保持する最大時間を示すパラメータの値を超えていない場合(S44:No)には、ステップS46の処理に進む。
 ステップS45では、比較部315bは、通信異常であると判断し、通信異常信号を初期化部317へ出力する。初期化部317は、異常検出部315からの通信異常信号がアサートされると制御部311を初期化するリセット信号を出力する。これにより、制御部311は、初期化され、再度、IIC通信をスタートさせる。
 一方、ステップS46では、制御部311は、スレーブ装置130との通信処理を継続する。
 そして、制御部311は、スレーブ装置130との通信が完了したか否かを確認する(S47)。そして、制御部311は、通信が完了した場合(S47:Yes)には、I/F部112を介して、ストップコンディションを生成して、フローを終了する。一方、制御部311は、通信が完了していない場合(S47:No)には、ステップS44の処理に戻る。
 以上のように、実施の形態3によれば、マスター装置310及びスレーブ装置130のそれぞれにおいて、コマンド内容によって異常検出を行うためのパラメータの値を最適な値に設定し、その値を用いて異常が検出された場合には、それぞれが初期化を行うため、マスター装置310とスレーブ装置130との間に初期化したことを通知するための新たな信号線を追加する必要がなくなる。
 実施の形態3では、異常検出部134、315は、SCLのローレベル時間を検出するために内部カウンタ134a、315aを備えているが、SCLのローレベル時間を検出できる構成であればこれに限るものではない。
 また、実施の形態3で説明されたマスター装置310に、実施の形態2で説明されたスレーブ装置230が接続されていてもよい。
実施の形態4.
 次に、実施の形態4について説明する。図1に示されているように、実施の形態4に係る通信システム400は、マスター装置410と、スレーブ装置230とを備える。実施の形態4に係る通信システム400は、マスター装置410において、実施の形態2に係る通信システム200と異なっている。実施の形態4では、マスター装置410において、リードの場合には、リードのコマンドを送信してからリードデータを受信するまでの時間と、リード用に設定されたパラメータで示される時間とが比較され、また、ライトの場合には、ライトのコマンドを送信してからライトデータを送信するまでの時間と、ライト用に設定されたパラメータで示される時間とが比較される。
 図14は、マスター装置410の構成を概略的に示すブロック図である。マスター装置410は、制御部411と、I/F部112と、コマンド保持部313と、パラメータ設定部414と、異常検出部415と、クロック生成部316と、初期化部317とを備える。実施の形態4におけるマスター装置410は、制御部411、パラメータ設定部414及び異常検出部415において、実施の形態3におけるマスター装置310と異なっている。なお、実施の形態4におけるマスター装置410では、制御部411と、異常検出部415とを接続する信号線であるIRQ3及びIRQ4が新たに設けられている。
 制御部411は、IICプロトコルに従った通信を制御する。
 また、制御部411は、初期化部317からリセット信号を受け取ると、通信処理を初期化(リセット)し、再度、リセットされた通信処理を開始する。
 さらに、制御部411は、IICプロトコルに従ってスレーブ装置230と通信を行っている最中に、スレーブ装置230が通信の初期化(リセット)を行った場合には、初期化された通信を再開する処理を行う。
 さらにまた、制御装置411は、I/F部112を介してスレーブ装置230へ送信するコマンドの内容をコマンド保持部313に与える。
 また、制御部411は、スレーブ装置230に送信するコマンドの内容に応じたパラメータの値をパラメータ設定部414に通知する。なお、本実施の形態においては、コマンドが「リード」の場合のパラメータの値は、スレーブ装置230にコマンドを送信してから、このコマンドに対応するリードデータを受信するまでの時間に対応したしきい値である。このしきい値は、スレーブ装置230にコマンドを送信してから、このコマンドに対応するリードデータを受信するまでの最大時間に対応したものとすることができる。また、コマンドが「ライト」の場合のパラメータの値は、スレーブ装置230にコマンドを送信してから、このコマンドに対応するライトデータを送信するまでの時間に対応したしきい値である。このしきい値は、スレーブ装置230にコマンドを送信してから、このコマンドに対応するライトデータを送信するまでの最大時間に対応したものである。
 さらに、制御部411は、I/F部112を介して、スタートコンディションを生成した場合に、コマンドの送信を示すコマンド送信通知を異常検出部415に与える。例えば、制御部411は、IRQ3において信号をアサートすることで、コマンド送信通知を行う。
 また、制御部411は、I/F部112を介して、スレーブ装置230に「リード」のコマンドを与え、このコマンドに対するリードデータを受信した際に、リードデータを受信したことを示すリードデータ受信通知を異常検出部415に与える。例えば、制御部411は、I/F部112を介して、受け取ったリードデータを、制御部411内の受信バッファ411bに格納を開始した際(受信を開始した際)に、IRQ4において信号をアサートすることで、リードデータ受信通知を行う。
 さらにまた、制御部411は、I/F部112を介して、スレーブ装置230に「ライト」のコマンドを与え、このコマンドに対するライトデータを送信した際に、ライトデータを送信したことを示すライトデータ送信通知を異常検出部415に与える。例えば、制御部411は、制御部411内の送信バッファ411aにライトデータを格納し、このライトデータをI/F部137を介してマスター装置110に送信する処理を開始した際(送信を開始した際)に、IRQ4において信号をアサートすることで、ライトデータ送信通知を行う。
 パラメータ設定部414は、コマンド保持部313に保持されているコマンドの内容を示す情報に応じて、通信異常を検出するためのパラメータの値を変更する。パラメータ設定部414は、コマンド保持部313からイネーブル信号を受け取った際に、異常検出部415にパラメータの値を設定する。なお、本実施の形態においては、通信異常を検出するためのパラメータの値は、送信開始又は受信開始までの最大時間に対応した値である。ここで、コマンド保持部313に保持されているコマンドの内容は「リード」又は「ライト」であるため、パラメータ設定部414は、コマンド保持部313に保持されているコマンドの内容が「リード」である場合と、これが「ライト」である場合とで、そのパラメータの値を異なるものとする。設定されるパラメータの値は、適宜変更することができるものとすることが望ましく、制御部411から与えられる。
 異常検出部415は、コマンドに応じて行われる処理において時間を計測する。例えば、異常検出部415は、制御部411からのコマンド受信通知からの時間を計測する。異常検出部415は、計測された時間と、パラメータ設定部414により設定されたパラメータの値に対応する最大時間との比較を行う。そして、異常検出部415は、この計測時間が最大時間を越えた場合には、通信異常と判定し、初期化部317へ通信異常を通知する。
 なお、異常検出部415は、制御部411からのリードデータ受信通知又はライトデータ送信通知を受けた場合には、時間の計測を終了する。
 図10に示されているように、異常検出部415は、内部カウンタ415aと、比較部415bとを備える。
 内部カウンタ415aは、専用クロックを用いてIRQ3の信号がアサートされてからの時間をカウントする。なお、パラメータ設定部414により設定される最大時間を示すパラメータの値は、内部カウンタ415aの動作クロックである専用クロックでその最大時間をカウントした場合のカウント値となっている。また、内部カウンタ415aは、IRQ4の信号がアサートされた場合には、カウントを停止する。
 比較部415bは、内部カウンタ415aでのカウント値が、パラメータ設定部414が設定したパラメータの値を超えると、通信異常を通知するための通信異常信号を初期化部317に与える。
 図15は、実施の形態4におけるマスター装置410での処理を示すフローチャートである。
 制御部411は、I/F部112を介して、スタートコンディションを生成し、続けてスレーブアドレス及びコマンドの内容を送信する処理を行う(S50)。
 このとき、制御部411は、送信されるコマンドの内容をコマンド保持部313にも与える。コマンド保持部313は、与えられたコマンドの内容を示すように、レジスタの値を更新する(S51)。リードの場合、レジスタの値は「1」であり、ライトの場合、レジスタの値は「0」である。そして、コマンド保持部313は、パラメータ設定部414にイネーブル信号を出力する。
 パラメータ設定部414は、コマンド保持部313からのイネーブル信号により、レジスタに保持されているコマンド内容ビットを参照する。そして、パラメータ設定部414は、参照したビット内容に応じて、通信異常と判定するための、送信開始又は受信開始までの最大時間に対応するパラメータの値を異常検出部415に設定する(S52)。ここで、コマンド内容ビットの値が「1」の場合、パラメータ設定部414は、リード時に最適となる、処理の最大時間に対応するパラメータの値を異常検出部415に設定する。一方、コマンド内容ビットの値が「0」の場合、パラメータ設定部414は、ライト時に最適となる、処理の最大時間に対応するパラメータの値を異常検出部415に設定する。
 また、制御部411は、I/F部112を介して、スレーブ装置230にコマンドの送信を行った場合には、IRQ3の信号をアサートする。そして、異常検出部415の内部カウンタ415aは、IRQ3のアサートを検知して、カウントを開始する(S53)。
 次に、制御部411は、I/F部112を介して、スレーブ装置230からのACK信号を受信する処理を行う(S54)。ACK信号が受信されると、制御部411は、ステップS50でスレーブ装置230に送ったコマンドの内容に応じた処理を行う。
 次に、図10に示されている異常検出部415では、専用クロックを用いてIRQ3のアサートを検出してからの時間を内部カウンタ415aでカウントする。そして、比較部415bは、内部カウンタ415aでカウントされたカウント値が、パラメータ設定部414により設定された、処理の最大時間を示すパラメータの値を超えたか否かを確認する(S55)。そして、比較部415bは、カウント値がパラメータの値を超えた場合(S55:Yes)には、ステップS56の処理に進み、カウント値がパラメータの値を超えていない場合(S55:No)には、ステップS57の処理に進む。
 ステップS56では、比較部415bは、通信異常であると判断し、通信異常信号を初期化部317へ出力する。初期化部317は、異常検出部415からの通信異常信号がアサートされると制御部411を初期化するリセット信号を出力する。これにより、制御部411は、初期化され、再度、IIC通信をスタートさせる。
 一方、ステップS57では、制御部411は、スレーブ装置230との通信処理を継続する。
 そして、制御部411は、I/F部112を介して、スレーブ装置230との間の通信が実行されたか否かを確認する(S58)。例えば、スレーブ装置230へのコマンドが「リード」である場合には、リードデータが受信バッファ411bに格納され始めたときに、スレーブ装置230との間の通信が実行されたと判断する。また、スレーブ装置230からのコマンドが「ライト」である場合には、送信バッファ411aに格納されたライトデータの送信が開始されたときに、スレーブ装置230との間の通信が実行されたと判断する。そして、制御部411は、通信が実行されたと判断した場合(S58:Yes)には、フローを終了し、通信が実行されていないと判断した場合(S58:No)には、ステップS55の処理に戻る。なお、制御部411は、通信が実行されたと判断した場合(S58:Yes)には、IRQ4の信号をアサートする。異常検出部415の内部カウンタ415aは、IRQ4のアサートを検出するとカウントを停止する。
 以上のように、実施の形態4に係る通信システム400によれば、マスター装置410において、異常検出を行うためのパラメータとして、マスター装置410がコマンド送信時にアサートされるコマンド送信割り込みと、受信バッファ411bにリードデータが格納され始めた場合にアサートされる受信バッファ割り込みと、送信バッファ411aに格納されているライトデータが送信され始めた場合にアサートされる送信バッファ割り込みとを使用するため、マスター装置410からの実際のコマンド送信からデータの送受信実行までの正確な間隔を測定することができる。
 実施の形態4では、異常検出部415は、IRQ3からカウントを開始する内部カウンタ415aを備えているが、IRQ3からの処理時間を計測することができる構成であれば、これに限るものではない。
 また、実施の形態4で説明されたマスター装置410に、実施の形態1で説明されたスレーブ装置130が接続されていてもよい。
 実施の形態4においては、コマンドの内容がリードである場合には、パラメータ設定部414が設定するパラメータの値は、コマンドを送信してから、リードデータの受信が開始されるまでの最大時間に対応する値であるが、このような値に限定されるものではない。例えば、パラメータ設定部414が設定するパラメータの値は、コマンドを送信してから、リードデータの受信を完了するまでの最大時間としてもよい。このような場合には、例えば、制御部411は、制御部411内の受信バッファ411bにリードデータが格納され、図示されていないメモリ等にリードデータを出力することで、受信バッファ411bが空になった際に、IRQ4において信号をアサートすることで、リードデータ受信通知を行う。
 また、実施の形態4においては、コマンドの内容がライトである場合には、パラメータ設定部414が設定するパラメータの値は、コマンドを送信してから、ライトデータの送信が開始されるまでの最大時間に対応する値であるが、このような値に限定されるものではない。例えば、パラメータ設定部414が設定するパラメータの値は、コマンドを送信してから、ライトデータの送信が完了するまでの最大時間としてもよい。このような場合には、例えば、制御部411は、制御部411内の送信バッファ411aにライトデータを格納し、I/F部112を介して、このライトデータをスレーブ装置に送信することで、送信バッファ411aが空になった際に、IRQ4において信号をアサートすることで、ライトデータ送信通知を行う。
 以上に記載された実施の形態4においては、制御部131、231、311、411から、パラメータ設定部133、233、314、414にパラメータの値を通知しているが、ライトの場合及びリードの場合のそれぞれのパラメータの値が固定値であってもよい。このような場合には、パラメータ設定部414の図示してはいないメモリにパラメータの値が記憶されていればよい。
 100,200,300,400:通信システム、 110,310,410:マスター装置、 111,311,411:制御部、 311a,411a:送信バッファ、 311b,411b:受信バッファ、 112:I/F部、 313:コマンド保持部、 314:パラメータ設定部、 315,415:異常検出部、 315a,415a:内部カウンタ、 315b,415b:比較部、 316:クロック生成部、 317:初期化部、 130,230:スレーブ装置、 131,231:制御部、 131a,231a:送信バッファ、 131b,231b:受信バッファ、 132:コマンド保持部、 132a:スタートコンディション認識部、 132b:内部カウンタ、 132c:レジスタ、 133:パラメータ設定部、 134,234:異常検出部、 134a,234a:内部カウンタ、 134b,234b:比較部、 135:クロック生成部、 136:初期化部、 137:I/F部、 138:演算処理部。

Claims (20)

  1.  IICプロトコルに従ってスレーブモードで動作するスレーブ装置であって、
     異常を検出するためのパラメータの値として、前記IICプロトコルに従ってマスターモードで動作するマスター装置から送信されるコマンドの内容毎に、異なる値を設定するパラメータ設定部と、
     前記パラメータ設定部により設定されたパラメータの値に対応する時間と、前記コマンドに応じて行われる処理において計測される時間とを比較することにより異常を検出する異常検出部と、を備えること
     を特徴とするスレーブ装置。
  2.  前記パラメータ設定部は、前記コマンドの内容がライトである場合に設定されるパラメータの値に対応する時間よりも、前記コマンドの内容がリードである場合に設定されるパラメータの値に対応する時間を長くすること
     を特徴とする請求項1に記載のスレーブ装置。
  3.  前記マスター装置と、シリアルクロックライン及びシリアルデータラインを介して通信を行うインターフェース部をさらに備え、
     前記コマンドの内容がライトである場合には、前記パラメータの値は、ライトデータを処理する際に、前記シリアルクロックラインの信号が所定のレベルを維持している時間に対応したしきい値であり、
     前記コマンドの内容がリードである場合には、前記パラメータの値は、リードデータを処理する際に、前記シリアルクロックラインの信号が所定のレベルを維持している時間に対応したしきい値であり、
     前記異常検出部は、前記シリアルクロックラインの信号が所定のレベルを維持している時間を計測すること
     を特徴とする請求項1又は2に記載のスレーブ装置。
  4.  前記コマンドの内容がライトである場合には、
     前記パラメータの値は、前記コマンドを受信してからライトデータを受信するまでの時間に対応したしきい値であり、
     前記異常検出部は、前記コマンドを受信してからライトデータを受信するまで、時間を計測し、
     前記コマンドの内容がリードである場合には、
     前記パラメータの値は、前記コマンドを受信してからリードデータを送信するまでの時間に対応したしきい値であり、
     前記異常検出部は、前記コマンドを受信してからリードデータを送信するまで、時間を計測すること
     を特徴とする請求項1又は2に記載のスレーブ装置。
  5.  前記異常検出部は、時間を計測するカウンタを備えており、前記カウンタの値が、前記パラメータの値を超えた場合に、異常を検出すること
     を特徴とする請求項1から4の何れか一項に記載のスレーブ装置。
  6.  前記異常検出部が異常を検出した場合に、前記マスター装置との間の通信をリセットする初期化部をさらに備えること
     を特徴とする請求項1から5の何れか一項に記載のスレーブ装置。
  7.  IICプロトコルに従ってマスターモードで動作するマスター装置であって、
     異常を検出するためのパラメータの値として、前記IICプロトコルに従ってスレーブモードで動作するスレーブ装置に送信するコマンドの内容毎に、異なる値を設定するパラメータ設定部と、
     前記パラメータ設定部により設定されたパラメータの値に対応する時間と、前記コマンドに応じて行われる処理において計測される時間とを比較することにより異常を検出する異常検出部と、を備えること
     を特徴とするマスター装置。
  8.  前記パラメータ設定部は、前記コマンドの内容がライトである場合に設定されるパラメータの値に対応する時間よりも、前記コマンドの内容がリードである場合に設定されるパラメータの値に対応する時間を長くすること
     を特徴とする請求項7に記載のマスター装置。
  9.  前記スレーブ装置と、シリアルクロックライン及びシリアルデータラインを介して通信を行うインターフェース部をさらに備え、
     前記コマンドの内容がライトである場合には、前記パラメータの値は、ライトデータを処理する際に、前記シリアルクロックラインの信号が所定のレベルを維持している時間に対応したしきい値であり、
     前記コマンドの内容がリードである場合には、前記パラメータの値は、リードデータを処理する際に、前記シリアルクロックラインの信号が所定のレベルを維持している時間に対応したしきい値であり、
     前記異常検出部は、前記シリアルクロックラインの信号が所定のレベルを維持している時間を計測すること
     を特徴とする請求項7又は8に記載のマスター装置。
  10.  前記コマンドの内容がライトである場合には、
     前記パラメータの値は、前記コマンドを送信してからライトデータを送信するまでの時間に対応したしきい値であり、
     前記異常検出部は、前記コマンドを送信してからライトデータを送信するまで、時間を計測し、
     前記コマンドの内容がリードである場合には、
     前記パラメータの値は、前記コマンドを送信してからリードデータを受信するまでの時間に対応したしきい値であり、
     前記異常検出部は、前記コマンドを送信してからリードデータを受信するまで、時間を計測すること
     を特徴とする請求項7又は8に記載のマスター装置。
  11.  前記異常検出部は、時間を計測するカウンタを備えており、前記カウンタの値が、前記パラメータの値を超えた場合に、異常を検出すること
     を特徴とする請求項7から10の何れか一項に記載のマスター装置。
  12.  前記異常検出部が異常を検出した場合に、前記スレーブ装置との間の通信をリセットする初期化部をさらに備えること
     を特徴とする請求項7から11の何れか一項に記載のマスター装置。
  13.  IICプロトコルに従ってスレーブモードで動作するスレーブ装置が行う通信方法であって、
     異常を検出するためのパラメータの値として、前記IICプロトコルに従ってマスターモードで動作するマスター装置から送信されるコマンドの内容毎に、異なる値を設定するパラメータ設定過程と、
     前記パラメータ設定過程により設定されたパラメータの値に対応する時間と、前記コマンドに応じて行われる処理において計測される時間とを比較することにより異常を検出する異常検出過程と、
     を有することを特徴とする通信方法。
  14.  前記パラメータ設定過程は、前記コマンドの内容がライトである場合に設定されるパラメータの値に対応する時間よりも、前記コマンドの内容がリードである場合に設定されるパラメータの値に対応する時間を長くすること
     を特徴とする請求項13に記載の通信方法。
  15.  前記コマンドの内容がライトである場合には、前記パラメータの値は、ライトデータを処理する際に、前記マスター装置と通信を行うためのシリアルクロックラインの信号が所定のレベルを維持している時間に対応したしきい値であり、
     前記コマンドの内容がリードである場合には、前記パラメータの値は、リードデータを処理する際に、前記シリアルクロックラインの信号が所定のレベルを維持している時間に対応したしきい値であり、
     前記異常検出過程は、前記シリアルクロックラインの信号が所定のレベルを維持している時間を計測すること
     を特徴とする請求項13又は14に記載の通信方法。
  16.  前記コマンドの内容がライトである場合には、
     前記パラメータの値は、前記コマンドを受信してからライトデータを受信するまでの時間に対応したしきい値であり、
     前記異常検出過程は、前記コマンドを受信してからライトデータを受信するまで、時間を計測し、
     前記コマンドの内容がリードである場合には、
     前記パラメータの値は、前記コマンドを受信してからリードデータを送信するまでの時間に対応したしきい値であり、
     前記異常検出過程は、前記コマンドを受信してからリードデータを送信するまで、時間を計測すること
     を特徴とする請求項13又は14に記載の通信方法。
  17.  IICプロトコルに従ってマスターモードで動作するマスター装置が行う通信方法であって、
     異常を検出するためのパラメータの値として、前記IICプロトコルに従ってスレーブモードで動作するスレーブ装置に送信するコマンドの内容毎に、異なる値を設定するパラメータ設定過程と、
     前記パラメータ設定過程により設定されたパラメータの値に対応する時間と、前記コマンドに応じて行われる処理において計測される時間とを比較することにより異常を検出する異常検出過程と、を有すること
     を特徴とする通信方法。
  18.  前記パラメータ設定過程は、前記コマンドの内容がライトである場合に設定されるパラメータの値に対応する時間よりも、前記コマンドの内容がリードである場合に設定されるパラメータの値に対応する時間を長くすること
     を特徴とする請求項17に記載の通信方法。
  19.  前記コマンドの内容がライトである場合には、前記パラメータの値は、ライトデータを処理する際に、前記スレーブ装置と通信を行うためのシリアルクロックラインの信号が所定のレベルを維持している時間に対応したしきい値であり、
     前記コマンドの内容がリードである場合には、前記パラメータの値は、リードデータを処理する際に、前記シリアルクロックラインの信号が所定のレベルを維持している時間に対応したしきい値であり、
     前記異常検出過程は、前記シリアルクロックラインの信号が所定のレベルを維持している時間を計測すること
     を特徴とする請求項17又は18に記載の通信方法。
  20.  前記コマンドの内容がライトである場合には、
     前記パラメータの値は、前記コマンドを送信してからライトデータを送信するまでの時間に対応したしきい値であり、
     前記異常検出過程は、前記コマンドを送信してからライトデータを送信するまで、時間を計測し、
     前記コマンドの内容がリードである場合には、
     前記パラメータの値は、前記コマンドを送信してからリードデータを受信するまでの時間に対応したしきい値であり、
     前記異常検出過程は、前記コマンドを送信してからリードデータを受信するまで、時間を計測すること
     を特徴とする請求項17又は18に記載の通信方法。
PCT/JP2012/051193 2011-09-27 2012-01-20 スレーブ装置、マスター装置及び通信方法 WO2013046734A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201280045774.5A CN103814363B (zh) 2011-09-27 2012-01-20 从装置、主装置及通信方法
JP2013535946A JP5680212B2 (ja) 2011-09-27 2012-01-20 スレーブ装置、マスター装置及び通信方法
DE112012004029.5T DE112012004029T5 (de) 2011-09-27 2012-01-20 Slave-Vorrichtung, Master-Vorrichtung und Kommunikationsverfahren
US14/131,717 US9778971B2 (en) 2011-09-27 2012-01-20 Slave device, master device, and communication method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011-211339 2011-09-27
JP2011211339 2011-09-27

Publications (1)

Publication Number Publication Date
WO2013046734A1 true WO2013046734A1 (ja) 2013-04-04

Family

ID=47994807

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/051193 WO2013046734A1 (ja) 2011-09-27 2012-01-20 スレーブ装置、マスター装置及び通信方法

Country Status (5)

Country Link
US (1) US9778971B2 (ja)
JP (1) JP5680212B2 (ja)
CN (1) CN103814363B (ja)
DE (1) DE112012004029T5 (ja)
WO (1) WO2013046734A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016518094A (ja) * 2013-05-14 2016-06-20 ヴェーデクス・アクティーセルスカプ 補聴器システムを遠隔的にフィッティングする方法,遠隔補聴器フィッティング・システムおよび補聴器

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9298521B1 (en) 2013-04-29 2016-03-29 Seagate Technology Llc Command sets and functions
US10055376B1 (en) * 2015-01-15 2018-08-21 Maxim Integrated Products, Inc. Serial peripheral interface system with slave expander
US10489337B2 (en) * 2016-06-30 2019-11-26 Intel Corporation Method, apparatus and system for dynamic optimization of signal integrity on a bus
JP6985791B2 (ja) * 2016-09-27 2021-12-22 株式会社村田製作所 データ転送デバイス及び無線通信回路
DE102016219663B4 (de) * 2016-10-11 2018-08-02 Conti Temic Microelectronic Gmbh Verfahren zur Überwachung eines Netzwerks auf Anomalien
CN109976297B (zh) * 2017-12-27 2021-11-09 西安远智电子科技有限公司 一种失控保护的检测方法、装置及无人机
AU2018452006B2 (en) * 2018-12-03 2022-12-01 Hewlett-Packard Development Company, L.P. Logic circuitry
CN111629368B (zh) * 2020-05-19 2022-10-18 歌尔科技有限公司 耳机与充电盒的通信方法、充电盒、耳机及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08316973A (ja) * 1995-05-23 1996-11-29 Hitachi Ltd 通信処理手段
JPH11502643A (ja) * 1995-01-21 1999-03-02 ツェットエフ、フリードリッヒスハーフェン、アクチエンゲゼルシャフト シリアルデータバスシステムにおけるエラーの認識及び除去
JP2004139528A (ja) * 2002-10-21 2004-05-13 Matsushita Electric Ind Co Ltd Iic転送エラー検出装置
JP2008197752A (ja) * 2007-02-08 2008-08-28 Sharp Corp データ通信誤動作防止装置、電子機器、データ通信誤動作防止装置の制御方法、データ通信誤動作防止装置の制御プログラム、及び当該プログラムを記録した記録媒体

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08314814A (ja) 1995-05-19 1996-11-29 Toshiba Corp 通信装置
US6145102A (en) * 1998-01-20 2000-11-07 Compaq Computer Corporation Transmission of an error message over a network by a computer which fails a self-test
JP2000137983A (ja) * 1998-08-26 2000-05-16 Toshiba Corp 半導体記憶装置
US6597197B1 (en) * 1999-08-27 2003-07-22 Intel Corporation I2C repeater with voltage translation
JP2001075878A (ja) * 1999-09-06 2001-03-23 Fujitsu General Ltd バスエラー検出処理装置
US6728908B1 (en) * 1999-11-18 2004-04-27 California Institute Of Technology I2C bus protocol controller with fault tolerance
US6691257B1 (en) * 2000-04-13 2004-02-10 Stratus Technologies Bermuda Ltd. Fault-tolerant maintenance bus protocol and method for using the same
JP2002063080A (ja) * 2000-08-15 2002-02-28 Sony Corp インターフェース装置
JP2005354158A (ja) * 2004-06-08 2005-12-22 Yokogawa Electric Corp エラー検出回路
CN100466591C (zh) * 2005-04-08 2009-03-04 华为技术有限公司 主从设备系统
US7478286B2 (en) * 2005-04-08 2009-01-13 Linear Technology Corporation Circuit and method of detecting and resolving stuck I2C buses
US7502991B2 (en) * 2005-06-30 2009-03-10 International Business Machines Corporation Redundant 3-wire communication system
JP2007164765A (ja) * 2005-11-15 2007-06-28 Matsushita Electric Ind Co Ltd Iicバス通信システム、スレーブ装置およびiicバス通信制御方法
US8407401B2 (en) * 2008-11-26 2013-03-26 Core Wireless Licensing S.A.R.L. Methods, apparatuses, and computer program products for enhancing memory erase functionality
JP5298185B2 (ja) * 2009-02-24 2013-09-25 富士通テレコムネットワークス株式会社 I2c監視シーケンシャルリードデータ記憶装置
JP2011070282A (ja) * 2009-09-24 2011-04-07 Furukawa Electric Co Ltd:The 通信システム、マスタ装置、および、スレーブ装置
TWI428756B (zh) * 2010-02-08 2014-03-01 Hon Hai Prec Ind Co Ltd 主從設備通訊電路
JP5682392B2 (ja) * 2011-03-22 2015-03-11 富士通株式会社 情報処理装置、制御装置および異常ユニット判定方法
WO2013077012A1 (ja) * 2011-11-25 2013-05-30 三菱電機株式会社 通信装置、通信方法、及び通信システム
DE102011087472B4 (de) * 2011-11-30 2016-10-20 Continental Automotive Gmbh Verfahren zur Synchronisation von Uhren in Knoten eines Fahrzeugnetzes und zur Durchführung des Verfahrens eingerichteter Knoten
US20150248373A1 (en) * 2014-02-28 2015-09-03 Qualcomm Incorporated Bit allocation over a shared bus to facilitate an error detection optimization

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11502643A (ja) * 1995-01-21 1999-03-02 ツェットエフ、フリードリッヒスハーフェン、アクチエンゲゼルシャフト シリアルデータバスシステムにおけるエラーの認識及び除去
JPH08316973A (ja) * 1995-05-23 1996-11-29 Hitachi Ltd 通信処理手段
JP2004139528A (ja) * 2002-10-21 2004-05-13 Matsushita Electric Ind Co Ltd Iic転送エラー検出装置
JP2008197752A (ja) * 2007-02-08 2008-08-28 Sharp Corp データ通信誤動作防止装置、電子機器、データ通信誤動作防止装置の制御方法、データ通信誤動作防止装置の制御プログラム、及び当該プログラムを記録した記録媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016518094A (ja) * 2013-05-14 2016-06-20 ヴェーデクス・アクティーセルスカプ 補聴器システムを遠隔的にフィッティングする方法,遠隔補聴器フィッティング・システムおよび補聴器
US9622001B2 (en) 2013-05-14 2017-04-11 Widex A/S Method of remotely fitting a hearing aid system, a remote hearing aid fitting system and a hearing aid

Also Published As

Publication number Publication date
JP5680212B2 (ja) 2015-03-04
US20140149805A1 (en) 2014-05-29
CN103814363B (zh) 2016-08-24
DE112012004029T5 (de) 2014-08-14
US9778971B2 (en) 2017-10-03
CN103814363A (zh) 2014-05-21
JPWO2013046734A1 (ja) 2015-03-26

Similar Documents

Publication Publication Date Title
JP5680212B2 (ja) スレーブ装置、マスター装置及び通信方法
US9645898B2 (en) Storage control device and control device for detecting abnormality of signal line
US5680596A (en) Data transfer apparatus with automatic transmission rate adjustment
US7852777B2 (en) Network hardware device
JP6696511B2 (ja) 通信装置、通信方法、プログラム、および通信システム
JP2019096960A (ja) 伝送装置及び伝送方法
CN110268393B (zh) 通信装置、通信方法、程序和通信系统
JP5760847B2 (ja) 情報処理装置、情報処理システム、情報処理装置の異常兆候検出方法、及び異常兆候検出プログラム
CN113254247A (zh) 一种服务器bmc i2c异常恢复方法及相关装置
CN104539494A (zh) 一种识别唤醒信号的方法及系统
US10635514B2 (en) Storage device, host system, and information processing system
US9898432B2 (en) Data transfer control apparatus
JP2011091742A (ja) 通信装置
US20090265573A1 (en) Data transmission/reception circuit
EP2610752A1 (en) Parallel computer, job information acquisition program for parallel computer, job information acquisition method for parallel computer, computation device and computation management device
JP5987723B2 (ja) 通信用スレーブ
JP5334173B2 (ja) データ転送システム及びリトライ制御方法
TWI730330B (zh) 具資料傳收機制的電子裝置以及資料傳收方法
JP2007036850A (ja) 文字認識回路
JP5448795B2 (ja) 情報処理装置又は情報処理方法
JP5648357B2 (ja) データ処理装置
CN116827714A (zh) 一种通信抗干扰方法、装置、系统及存储介质
CN103106162B (zh) 逻辑器件及其mdio接口通信方法
CN115756950A (zh) 一种iic总线恢复方法、装置、设备、介质及系统
JP5461275B2 (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: 12836644

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013535946

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14131717

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 112012004029

Country of ref document: DE

Ref document number: 1120120040295

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12836644

Country of ref document: EP

Kind code of ref document: A1