Patent Description:
Society of Automotive Engineers of Japan, Inc. , has defined an automotive communication protocol standard referred to as Clock Extension Peripheral Interface (CXPI). CXPI aims to reduce the number of wiring harnesses and multiplexed communications between automotive devices subjected to one-to-one connection, which have increased in the human machine interface (HMI) domain. In CXPI, bidirectional communication between a master node and slave nodes has been defined.

The slave node includes a large number of I/O terminals connected to a large number of devices, respectively. The input/output function of each I/O terminal of the slave node includes various setting items, which need to be set. The master node transmits setting data of the I/O terminal to the slave node. Since the setting data includes data for each terminal, the size of the setting data is large.

<CIT> discloses a network communication system, in which a master unit's controller transmits a command signal to a CXPI bus. The controller specifies values of turning-on intervals of loads as delay time lengths in a delay area of the command signal, and specifies ports of slave units in an output port specification area in a specified order corresponding to turning-on order of the loads. The microcomputer of each slave unit receives the command signal from the CXPI bus. The microcomputer acquires a specified number of a port of the own slave unit specified as an instruction target in the output port specification area, integrates specified values in the delay area, and outputs the operation signal to the specified port at a timing delayed from the reception of the command signal by the time length calculated by the integration.

Various embodiments will be described hereinafter with reference to the accompanying drawings.

In general, according to the invention, a transmitter device is configured to transmit to a receiver device including input and output terminals first setting data specifying input and output functions of the input and output terminals. The first setting data comprises first data common to the input and output terminals and second data inherent to each of the input and output terminals.

<FIG> is a block diagram showing an example of a CXPI communication system according to an embodiment. The CXPI communication system includes slave nodes <NUM> each including terminals that are connected to devices, and a master node <NUM> that controls the slave nodes <NUM>. Each node has a node address. The master node <NUM> includes terminals that are connected to devices. The master node <NUM> is also referred to as a body control module (BCM). The master node <NUM> and the slave nodes <NUM> are connected via a power line VBAT, a signal line BUS, and a ground line GND. Devices connected to the slave nodes <NUM> communicate with the master node <NUM> via the signal line BUS.

The master node <NUM> includes a microcontroller unit (MCU) <NUM>, a CXPI transceiver <NUM>, and a register <NUM>. The MCU <NUM> controls the entire master node <NUM>. The CXPI transceiver <NUM> modulates data from the MCU <NUM> and outputs the modulated data to the signal line BUS. An example of the modulation method is pulse width modulation (PWM). The CXPI transceiver <NUM> demodulates the data from the signal line BUS and outputs the demodulated data to the MCU <NUM>. The MCU <NUM> stores the data in the register <NUM>. The register <NUM> is, for example, a nonvolatile memory. The signal line BUS and the power line VBAT are connected to each other in the master node <NUM> via a resistor <NUM> and a diode <NUM> in series.

<FIG> is a block diagram showing an example of the slave node <NUM> according to the embodiment. The slave node <NUM> includes a 5V power supply <NUM>, a CXPI driver/receiver <NUM>, a CXPI control logic <NUM>, a temporary register <NUM>, a PWM circuit <NUM>, a matrix circuit result register <NUM>, a setting register <NUM>, a data register <NUM>, an analog-to-digital conversion (ADC) circuit <NUM>, an I/O port <NUM>, and a chattering filter <NUM>.

The signal line BUS is connected to the CXPI driver/receiver <NUM>. The CXPI driver/receiver <NUM> receives a signal from the master node <NUM>, and transmits a signal to the master node <NUM>. The CXPI driver/receiver <NUM> activates the 5V power supply <NUM> when instructed to wake up by the master node <NUM> via the signal line BUS. The 5V power supply <NUM> supplies a power source voltage to each unit of the slave node <NUM> with a voltage from the power supply line BVAT. The 5V power supply <NUM> stops operation when receiving a sleep signal generated inside the slave node <NUM>.

The slave node <NUM> can set a node address (for example, <NUM> bits). The slave node <NUM> includes node address terminals that are connected to four switches <NUM> on the substrate, respectively. Node addresses AD0, AD1, AD2, and AD3 in which "<NUM>" or "<NUM>" is set according to the conduction/opening of the switches <NUM> are set to the CXPI control logic <NUM>.

A plurality of, for example, twelve I/O terminals P00, P01, P02, P10, P11, P12, P20, P21, P22, P23, P24, and P30 are connected to the I/O port <NUM>. Each of the chattering filters <NUM> is connected to each of the I/O terminals P00 to P30 to prevent chattering of input signals. The chattering prevention effect is variable according to the chattering time.

The PWM circuit <NUM> executes pulse width modulation of the pulse output from any of the I/O terminals P00 to P30. The resolution, the frequency, and the duty of the PWM signal may be different for each slave node. The resolution is the number of bits of data represented by the PWM signal and is set to, for example, any of <NUM> bits, <NUM> bits, and <NUM> bits. The frequency is set to any of, for example, fifteen frequencies. The duty is set to, for example, <NUM>%, <NUM>%, or the like.

<FIG> shows an example of a signal waveform on the signal line BUS according to the embodiment. Each bit of data represents "<NUM>" or "<NUM>" according to the ratio of a low level period to a high level period.

When a matrix circuit including m × n switches is connected to the I/O terminals P00 to P30, the matrix circuit result register <NUM> stores a detection result that is the detection position of the switch detecting the conduction. The setting register <NUM> stores set values of setting items of input/output functions, set values of output specifications when outputting signals from the output terminals, and set values of input specifications when inputting signals to the input terminals, for the I/O terminals P00 to P30. The data register <NUM> stores input and output data of the I/O terminals P00 to P30. A nonvolatile memory may be provided instead of or in addition to the setting register <NUM>, and the set values of the setting items of the I/O terminals, the set values of the output specifications, and the set values of the input specifications may be stored in the nonvolatile memory.

The ADC circuit <NUM> converts analog signals input from I/O terminals P00 to P30 into digital signals. The resolution of the ADC circuit <NUM> may be different for each slave node <NUM>. The resolution of the ADC circuit <NUM> is set to any one of <NUM>, <NUM>, and <NUM> bits.

In the CXPI communication, event-trigger frames are communicated. Each node can freely transmit frames when detecting an idle status of the bus. When a plurality of transmission events occur simultaneously, an event for the frame with higher priority is selected by arbitration.

<FIG> shows an example of a format of a burst frame communicated on the signal line BUS according to the embodiment. The communication frame includes a protected ID (PID) area and a response area.

The PID area includes <NUM>-bit parity bit and a <NUM>-bit frame ID. The parity bit is, for example, an odd parity bit. The frame ID is <NUM> to 7Fh. The priority is set for the frame in advance, and arbitration is performed based on the priority.

The PID is an identifier that identifies the CXPI frame transmitted or received at each node. The master node <NUM> sets the PID for CXPI frame used between the master node <NUM> and the slave nodes <NUM>. A plurality of PIDs can be set for data transmission, data reception, data request, data response, and the like, in each slave node. The slave node <NUM> specified in the PID area can receive the communication frame and transmit the response area. The one-to-one communication is thereby executed.

The response area includes frame information (<NUM> bytes), data (<NUM>-<NUM> (maximum) bytes), and CRC (<NUM> bytes). The frame information includes a <NUM>-bit DLC, a <NUM>-bit NM, a <NUM>-bit CT, and an <NUM>-bit DLC2. The DLC is information that specifies the burst frame (<NUM> bits = <NUM>). The response area of the communication frames other than the burst frame includes frame information (<NUM> byte), data (<NUM>-<NUM> (maximum) bytes), and CRC (<NUM> byte). The frame information includes a <NUM>-bit DLC, a <NUM>-bit NM, and a <NUM>-bit CT and does not include the DLC2. The DLC is indicative of the data length (<NUM> bytes at maximum) of the data in the communication frame by byte unit. The length of the frame is also varied in accordance with the value of the DLC.

NM includes <NUM>-bit Wakeup. ind and <NUM>-bit Sleep. ind, which are used for sleep/wakeup processing.

The master node <NUM> continues setting "1b" at Wakeup. ind until slept when transmitting a clock with the own node serving as a trigger at wakeup. The slave node <NUM> continues setting "1b" at Wakeup. ind until slept when transmitting a wakeup pulse at wakeup. In the other cases, "0b" is set at Wakeup.

Each node indicates whether sleep is currently allowed or not by Sleep. Each node sets "0b" at Sleep. ind in a sleep prohibit status, and sets "1b" at Sleep. ind in a sleep permit state.

CT is a counter value that indicates the continuity (sequence information) of frames. Whether the CT is used or not can be selected for each system. The CT is incremented in units of frame ID at transmission of the response area. The initial value of the CT is "00b". The CT returns to "00b" after "11b". When a shift in the CT is found on the receiving side, it is determined that there is no continuity of frames. A transmitting node increments and transmits the CT of the next frame to be transmitted even if the transmitted frame is an error.

Both transmitting and receiving nodes return the CT to its initial value at power-on and wakeup. <FIG> shows an example of use of the CT according to the embodiment. It is assumed that frames corresponding to the frame ID columns are transmitted in order from <NUM> to <NUM> and transmission and reception, and that the value of each CT column is stored in a CT part of the frame. Since the CT is managed for each frame ID, the CT is incremented by <NUM> every time a response area is returned for frame ID "<NUM>" on the first through third transmissions and receptions. Since the frame ID is "<NUM>" on the fourth transmission and reception, the CT for frame ID "<NUM>" is incremented. When the frame ID "<NUM>" is incremented on the fifth transmission and reception, the previous value of the CT of the response area is incremented and the CT becomes "11b".

In contrast, if the seventh frame cannot be received due to an error and the eighth frame is received, the CT is "10b" although the previous CT of frame ID "<NUM>" is "00b", and it is determined that the order is not secured and the continuity of frames is broken.

The DLC2 indicates the data length (up to <NUM> bytes) of the data in the communication frame in units of bytes. The length of the frame changes according to the value of DLC2.

A general communication sequence between the master node <NUM> and the slave node <NUM> in the CXPI communication will be described. A vehicle includes a steering switch, a wiper switch, a light switch, a motor, lights, and the like, which are connected to the I/O port <NUM> of the slave node <NUM>. The master node <NUM> can set using each I/O terminal of the slave node <NUM> as an input terminal or an output terminal, and can transmit the I/O setting data specifying various functions of the terminal to the slave nodes <NUM>. In addition, the master node <NUM> can also transmit to the slave nodes <NUM> output command data specifying the specifications for outputting signals from the terminal set as an output terminal among the I/O terminals of the slave nodes <NUM>. Furthermore, the slave nodes <NUM> can transmit to the master node <NUM> input notification data for notifying the terminal set as the input terminal among the I/O terminals of the input signal.

<FIG> is a block diagram showing an example of the communication in which the master node <NUM> transmits the I/O setting data to the slave nodes <NUM>, according to the embodiment. When a battery is installed in a vehicle, power is applied to the CXPI communication system. When power is turned on, the master node <NUM> transmits a wakeup pulse to the slave nodes <NUM>. When the slave nodes <NUM> receive the wakeup pulse, the CXPI driver/receiver <NUM> supplies the wakeup pulse to the 5V power supply <NUM> to activate the 5V power supply <NUM>. After the activation of the 5V power supply <NUM>, the slave nodes <NUM> enter the normal mode and notifies the master node <NUM> of the activation. The CXPI communication system remains powered on when an engine key of the vehicle is turned off.

When reception of the wakeup pulse of a slave node trigger from the slave node <NUM>, the master node <NUM> enters a normal mode. When both the master node <NUM> and the slave nodes <NUM> enter the normal mode, the master node <NUM> transmits the I/O setting data to the slave nodes <NUM>. The I/O setting data is also transmitted as the frame shown in <FIG>. The setting data is described in the data area. The master node <NUM> describes the PID of the slave node <NUM> to be set, in the PID area.

The corresponding slave node <NUM> receives the I/O setting data, sets whether to use each I/O terminal as an input terminal or an output terminal according to the I/O setting data, and sets function items of the set terminal. The set values are stored in the setting register <NUM>.

<FIG>, <FIG>, <FIG>, and <FIG> show an example of the I/O setting data transmitted from the master node <NUM> to the slave nodes <NUM> according to the embodiment. The I/O setting data includes data common to all the I/O terminals and data inherent to each of the I/O terminals. The I/O setting data is stored in the setting register <NUM> of the slave node <NUM>.

The data common to all the I/O terminals are eight data elements of data No. <NUM> through data No. <NUM>. The data common to all I/O terminals indicate candidates (also referred to as patterns) of a plurality of set values that may be set in the functions of each of the terminals. The data inherent to each of the I/O terminals specifies identification information of the patterns set at the terminals.

Data No. <NUM> is filter time data indicating chattering time data of the chattering filter <NUM>. The time data of one pattern is expressed by <NUM> byte. <NUM>-byte data No. <NUM> indicates the time data of six patterns. When a terminal input occurs, the slave node <NUM> does not immediately respond to the terminal input but responds after the chattering time elapses. The chattering time is also referred to as a standby time.

Data No. <NUM> is conduction time data indicating the on/off time upon turning on and off the conduction of the device to be connected to the output terminal. The output terminal is not continuously conducted, but conduction and non-conduction are repeated. For example, the I/O terminal connected to the motor connected to the side view mirror repeats conduction of a first time and non-conduction of a second time and moves the mirror at each certain angle. The on data specifies the conduction time and the off data specifies the non-conduction time. Since one pattern of the on data is expressed by <NUM> byte and one of the off data is also referred to as <NUM> byte, one pattern of the on/off data is expressed by <NUM> bytes. <NUM>-byte data No. <NUM> indicates the on/off data of the conduction time of six patterns.

Data No. <NUM> is wakeup monitoring time data indicating the wakeup monitoring interval time during sleep. The slave node <NUM> monitors periodically reception of the wakeup pulse during the sleep period. One pattern of the monitoring time data is expressed by <NUM> byte. <NUM>-byte data No. <NUM> indicates the monitoring time data of six patterns.

Data No. <NUM> is fade-in application time data indicating a fade-in time. The LED is not instantaneously turned on and off, but turned on and off gradually over time. The fade-in time is the time to change turning off to turning on. A fade-out time is the time to change turning on to turning off. One pattern of the fade-in application time data is expressed by <NUM> byte. <NUM>-byte data No. <NUM> indicates the application time data of eight patterns. The fade-in and fade-out are realized by changing the duty ratio of the PWM signal.

Data No. <NUM> is fade-out application time data indicating the fade-out time. One pattern of the fade-out application time data is expressed by <NUM> byte. <NUM>-byte data No. <NUM> indicates the application time data of eight patterns.

Data No. <NUM> is a <NUM>-bit (<NUM>-byte) PWM resolution setting data by which the resolution of the PWM signal is selected from <NUM> bits, <NUM> bits, and <NUM> bits.

Data No. <NUM> is a <NUM>-bit (<NUM> bytes) ADC resolution setting data by which the ADC circuit <NUM> specifies the resolution to any of <NUM> bits, <NUM> bits, and <NUM> bits when executing analog-to-digital conversion of the input signal.

Since the sum of data No. <NUM> and data No. <NUM> is <NUM> bytes (<NUM> bits) and the data is communicated in <NUM>-byte units, data No. <NUM> is set as dummy data that is unused bits of <NUM> bits (<NUM> bytes).

Data inherent to each I/O terminal are <NUM> data elements. Data inherent to the I/O terminal P00 are data No. <NUM> through data No. <NUM>.

Data No. <NUM> is <NUM>-bit (<NUM>-byte) I/O setting data indicating that the I/O terminal P00 is used as any of four terminals, i.e., a digital input terminal (Din), a digital output terminal (Dout), an output terminal (PWM) that outputs an on signal of duty at <NUM>%, and an analog input terminal (ADC).

Data No. <NUM> is <NUM>-bit (<NUM>-byte) filter setting data specifying the chattering time patterns (<NUM> patterns in total) of the chattering filter <NUM> that processes the input signal at the I/O terminal P00.

Data No. <NUM> is <NUM>-bit (<NUM>-byte) wakeup monitoring setting data that specifies possibility of the wakeup monitoring of the I/O terminal P00 and the monitoring interval time (<NUM> patterns in total) when the wakeup monitoring is enabled. The monitoring interval time pattern is set in the slave node <NUM> by data No. <NUM> at a common part of the I/O setting data and is stored in the setting register <NUM>.

Data No. <NUM> is a <NUM>-bit (<NUM>-byte) PWM frequency setting data that specifies PWM frequency (<NUM> patterns in total) of the I/O terminal P00. The PWM frequency pattern is set in the slave node <NUM> by data No. <NUM> at the common part of the I/O setting data and is stored in the setting register <NUM>.

Data No. <NUM> is <NUM>-bit (<NUM>-byte) pull-up/pull-down setting data specifying using the I/O terminal P00 as a pull-up terminal or a pull-down terminal.

Data No. <NUM> is <NUM>-bit (<NUM>-byte) communication interruption operation data that specifies the output operation of the I/O terminal P00 at the time of CXPI communication interruption. For example, when communication is interrupted, the data specifies continuing the output for a few seconds or stopping the output immediately.

Data inherent to the I/O terminal P01 are data No. <NUM> through to data No. <NUM>. Data inherent to the I/O terminal P02 are data No. <NUM> through to data No. <NUM>. The inherent data are also communicated for other I/O terminals.

Data No. <NUM> and data No. <NUM> are I/O setting data similar to data No. <NUM>. Data No. <NUM> and data No. <NUM> are I/O setting data similar to data No. <NUM>. Data No. <NUM> and data No. <NUM> are the wake-up monitoring setting data similar to the data No. <NUM>. Data No. <NUM> and data No. <NUM> are the PWM setting data similar to data No. <NUM>. Data No. <NUM> and data No. <NUM> are pull-up/pull-down setting data similar to data No. <NUM>. Data No. <NUM> and data No. <NUM> are communication interruption operation data similar to data No. <NUM>.

Thus, data No. <NUM> through No. <NUM> that are common to all the I/O terminals specify the representative patterns set for the respective I/O terminals, and the data inherent to the respective I/O terminals specify identifiers of the patterns set for the respective I/O terminals. Thus, even if the number of I/O terminals increases, increase in the data amount of the I/O setting data communicated from the master node <NUM> to the slave nodes12 is suppressed and efficient data communication is realized. In addition, since the I/O setting data are classified into data common to all the I/O terminals and data inherent to each of the I/O terminals and the data inherent to each of the I/O terminals is transmitted only for the number of I/O terminals, the master node <NUM> can make a flexible response corresponding to the number of I/O terminals, which facilitates I/O settings for the slave nodes <NUM> with various numbers of terminals even if the slave nodes <NUM> with different numbers of terminals exist together in the communication system.

<FIG> is a block diagram showing another example of the slave node <NUM> where all the I/O terminals P00 to P30 are connected to on/off switches <NUM> according to the embodiment. Examples of switches <NUM> are steering switches, wiper switches, light switches, and the like. All the I/O terminals P00 to P30 are set as digital input terminals (Din).

<FIG> is a block diagram showing another example of the slave node <NUM> where all the I/O terminals P00 to P30 are connected to transistors <NUM> according to the embodiment. Examples of the transistors <NUM> are drivers that drives motors, lights, and the like. All the I/O terminals P00 to P30 are set as digital output terminals (Dout) or output terminals (PWM).

<FIG> is a block diagram showing another example of the slave node <NUM> where the I/O terminal P00 is connected to a temperature sensor <NUM> and the I/O terminals P01 and P02 are connected to potentiometers <NUM>, according to the embodiment. The I/O terminals P00, P01, and P02 are set as analog input terminals (ADC), the I/O terminals P11, P21, P23, and P30 are set as digital input terminals (Din), and the I/O terminals P10, P12, P20, P22, and P24 are set as digital output terminals (Dout).

<FIG> is a block diagram showing another example of the slave node <NUM> where the I/O terminal P00 is connected to a light <NUM>, the I/O terminal P30 is connected to an on/off switch <NUM>, the I/O terminal P01 is connected to a temperature sensor <NUM>, the I/O terminal P02 is connected to a potentiometer <NUM>, and the I/O terminals P20 to P23 and P10 to P13 are connected to a matrix circuit <NUM>, according to the embodiment. The I/O terminals P00 and P20 to P23 (or P10 to P13) are set to digital output terminals (Dout), and the I/O terminals P30, and P10 to P13 (or P20 to P23) are set to the digital input terminals (Din).

<FIG> is a block diagram showing an example of communication in which the master node <NUM> transmits to the slave node <NUM> output command data for setting output specifications for the slave node <NUM> to output signals from the I/O terminals, according to the embodiment. Drive target devices such as motors, LEDs and the like are connected to the I/O terminal of the slave node <NUM>. When it is necessary to output drive signals from the slave node <NUM> to these drive target devices, the master node <NUM> transmits output command data to the slave node <NUM>. When detecting occurrence of an event by the master node <NUM> or a button input from the button switch <NUM>, or the like, the master node <NUM> determines that output from the slave node <NUM> is necessary and transmits the output command data to the slave node <NUM>. Alternatively, when receiving input notification data (see <FIG>) from the slave node <NUM>, the master node <NUM> may transmit the output command data to the slave node <NUM>. When receiving the output command data, the slave node <NUM> sets output specifications according to the output command data and outputs signals according to the set specifications. The master node <NUM> may transmit the output command data not to a host network <NUM> via a network MCU <NUM>, not to the slave node <NUM>.

<FIG>, <FIG>, <FIG>, and <FIG> show an example of the output command data of the I/O terminal which are transmitted from the master node <NUM> to the slave nodes <NUM> according to the embodiment. The output command data also includes the data common to all the I/O terminals and the data inherent to each of the I/O terminals.

The data common to all the I/O terminals are three data elements, i.e., data No. <NUM> through data No. <NUM>. The data common to all the I/O terminals indicate setting items related to error processing common to each terminal. The data inherent to each of the I/O terminals are set in the slave node <NUM> by the data in the common part of the I/O setting data, and indicate the identification information of the pattern stored in the setting register <NUM>.

Data No. <NUM> is a <NUM>-bit (<NUM>-byte) communication error flag indicating communication error flags (<NUM> types in total) of the data which the master node <NUM> last receives. The type of communication errors includes a CRC error, an error in the PID, and the like. If a communication error occurs, the master node <NUM> retransmits only the common part of the output command data to the slave node <NUM>.

Data No. <NUM> is a <NUM>-bit (<NUM>-byte) abnormal state clear request to clear an abnormal state flag of the slave node <NUM>. The slave node <NUM> enters an abnormal state when its temperature rises abnormally or its power source voltage drops. When detecting an abnormal state, the slave node <NUM> notifies the master node <NUM> of the abnormal state. After recovering from the abnormal state, the slave node <NUM> returns to a normal operation by receiving this request.

Since a sum of data No. <NUM> and data No. <NUM> is <NUM> bits (<NUM> bytes) and the data are communicated in units of <NUM> byte, data No. <NUM> is provided as dummy data that is unused bits of <NUM> bits (<NUM> bytes).

The data inherent to each of the I/O terminals are <NUM> data elements. The data inherent to the I/O terminal P00 are data No. <NUM> through data No. <NUM>.

Data No. <NUM> is a <NUM>-bit (<NUM>-byte) output possibility data specifying an on state (permitting output from the output terminal Dout or the PWM terminal)/off state of the data output of the I/O terminal P00. The master node <NUM> recognizes which drive target device is connected to the I/O terminal P00, and permits output when driving the drive target device.

Data No. <NUM> is <NUM>-bit (<NUM>-byte) conducting time output pattern data that specifies possibility of the conducting time and the conducting time patterns (<NUM> patterns in total) of the I/O terminal P00. The conducting time pattern selected from <NUM> patterns in total is set in the slave node <NUM> by data No. <NUM> in the common part of the I/O setting data, and is stored in the setting register <NUM>.

Data No. <NUM> is <NUM>-bit (<NUM>-byte) conducting time output count data that specifies the number of times (up to <NUM> times) of conducting time outputs of the I/O terminal P00.

The master node <NUM> specifies how long and how many times the I/O terminal P00 is conducted, using data No. <NUM> and data No. <NUM>.

Data No. <NUM> is a <NUM>-bit (<NUM>-byte) fade-in pattern setting data that specifies one of patterns (<NUM> patterns in total) of the fade-in time of the I/O terminal P00. This setting is valid only when the terminal P00 is set to the PWM output terminal. The fade-in time pattern selected from <NUM> patterns in total is set in the slave node <NUM> by data No. <NUM> in the common part of the I/O setting data, and is stored in the setting register <NUM>.

Data No. <NUM> is a <NUM>-bit (<NUM>-byte) fade-out pattern setting data that specifies patterns (<NUM> patterns in total) of the fade-out time of the I/O terminal P00. This setting is valid only when the terminal P00 is set to the PWM output terminal. The fade-out time pattern selected from <NUM> patterns in total is set in the slave node <NUM> by data No. <NUM> in the common part of the I/O setting data, and is stored in the setting register <NUM>.

The master node <NUM> specifies how the PWM output of the I/O terminal P00 is subjected to fade-in/fade-out, using data No. <NUM> and data No. <NUM>.

Data No. <NUM> is <NUM>-bit (<NUM>-byte) PWM duty additional bit <NUM> data that specifies the resolution of the PWM output of the I/O terminal P00 (higher-order <NUM> bits in the case of <NUM> bits). When the duty of the PWM output of the I/O terminal P00 is <NUM> bits or <NUM> bits, the slave node <NUM> ignores data No. <NUM>.

Data No. <NUM> is <NUM>-bit (<NUM>-byte) PWM duty additional bit <NUM> data that specifies the duty of the PWM output of the I/O terminal P00 (higher-order <NUM> bits in the case of <NUM> bits). When the duty of the PWM output of the I/O terminal P00 is <NUM> bits, the slave node <NUM> ignores data No. <NUM>.

Data No. <NUM> is provided as dummy data which is unused bits of <NUM> bits (<NUM> bytes) such that the sum of data No. <NUM> through data No. <NUM> forms the data in byte units.

Data No. <NUM> is a <NUM>-byte (<NUM>-bit) PWM duty data that specifies the duty of the PWM output of the I/O terminal P00. When the duty of the PWM output of the I/O terminal P00 is <NUM> bits, the slave node <NUM> adds the data of No. <NUM> and No. <NUM> to the higher order of the data No. <NUM> to set the duty of the PWM output to <NUM> bits. When the duty of the PWM output of the I/O terminal P00 is <NUM> bits, the slave node <NUM> adds the data of No. <NUM> to the higher order of the data No. <NUM> to set the duty of the PWM output to <NUM> bits. When the duty of the PWM output of the I/O terminal P00 is <NUM> bits, the slave node <NUM> sets the duty of the PWM output to <NUM> bits, based on the data of No. <NUM>.

The data inherent to the I/O terminal P01 are data No. <NUM> to data No. <NUM>. The inherent data are also communicated for other I/O terminals.

Data No. <NUM> is the output possibility data similar to data No. <NUM>. Data No. <NUM> is the conducting time output pattern data similar to data No. <NUM>. Data No. <NUM> is the conducting time output count data similar to data No. <NUM>. Data No. <NUM> is the fade-in pattern setting data similar to data No. <NUM>. Data No. <NUM> is the fade-out pattern setting data similar to data No. <NUM>. Data No. <NUM> is the PWM duty additional bit <NUM> data similar to data No. <NUM>. Data No. <NUM> is the PWM duty additional bit <NUM> data similar to data No. <NUM>. Data No. <NUM> is the dummy data similar to data No. <NUM>. Data No. <NUM> is the PWM duty data similar to data No. <NUM>.

When receiving the output command data, the slave node <NUM> sets output specifications of the I/O terminal according to the output command data, and outputs signals according to the set specifications.

Even if the number of I/O terminals increases, increase in the data amount of the output command data is suppressed and efficient data communication is realized by classifying the output command data into the data common to all the terminals and the data inherent to each of the terminals similarly to the I/O setting data. In addition, the master node <NUM> can make a flexible response corresponding to the number of I/O terminals, which facilitates I/O settings for slave nodes <NUM> with various numbers of terminals, even if the slave nodes <NUM> with different numbers of terminals exist together in the communication system.

<FIG> is a block diagram showing an example of communication in which the slave node <NUM> transmits the input notification data to the master node <NUM> when the slave node <NUM> input occurs, according to the embodiment. When input devices such as a potentiometer, a sensor, and the like are connected to the I/O terminal of the slave node <NUM> and events of terminal input of the slave node <NUM> occur from these input devices, input notification data is transmitted. Since the communication of the output command data shown in <FIG> and the communication of the input notification data shown in <FIG> are started due to user operations and occurrence of events, order of the transmission is not determined. The input notification data notify the master node <NUM> of the data input to the slave node <NUM> in accordance with the input specifications of the slave node <NUM>.

<FIG> and <FIG> show an example of the input notification data of the I/O terminal, which is transmitted from the slave node <NUM> to the master node <NUM>, according to the embodiment. The input notification data also includes the data common to all the I/O terminals and the data inherent to each of the I/O terminals.

The data common to all the I/O terminals are three data elements, i.e., data No. <NUM> through data No. <NUM>. The data common to all the I/O terminals indicates setting items related to error processing common to each terminal. The data inherent to each of the I/O terminals is set in the slave node <NUM> by the data in the common part of the I/O setting data, and indicates the identification information of the pattern stored in the setting register <NUM>.

An analog signal from the input device is input to the CXPI driver/receiver <NUM> via the ADC circuit <NUM>. Since the resolution of the ADC circuit <NUM> is different for each slave node <NUM>, the slave nodes <NUM> transmit the input notification data in a common frame to the master node <NUM> irrespective of the resolution of the ADC circuit <NUM>.

Data No. <NUM> is a <NUM>-bit (<NUM>-byte) communication error flag indicating communication error flags (<NUM> types in total) of the data which the slave node last receives.

Data No. <NUM> is a <NUM>-bit (<NUM>-byte) abnormal state flag indicating a flag for notification of an abnormal state of the slave node <NUM>.

Data inherent to each I/O terminal are <NUM> data elements. The data inherent to the I/O terminal P00 are data No. <NUM> through data No. <NUM>.

Data No. <NUM> is a <NUM>-byte (<NUM>-bit) input possibility data specifying an on state (Din in the on state)/off state of the data input of the I/O terminal P00.

Data No. <NUM> is <NUM>-bit (<NUM>-byte) ADC input additional bit <NUM> data indicating a value input from the ADC circuit <NUM> of the I/O terminal P00 (higher-order <NUM> bits in a case where the resolution of the ADC circuit <NUM> is <NUM> bits). When the resolution of the ADC circuit <NUM> is <NUM> bits or <NUM> bits, the master node <NUM> ignores data No. <NUM>.

Data No. <NUM> is <NUM>-bit (<NUM>-byte) ADC input additional bit <NUM> data indicating a value input from the ADC circuit <NUM> of the I/O terminal P00 (higher-order <NUM> bits in a case where the resolution of the ADC circuit <NUM> is <NUM> bits). When the resolution of the ADC circuit <NUM> is <NUM> bits, the master node <NUM> ignores data No. <NUM>.

Data No. <NUM> is <NUM>-bit (<NUM>-byte) ADC input indicating a value input from the ADC circuit <NUM> of the I/O terminal P00. When the resolution of the ADC circuit <NUM> is <NUM> bits, the master node <NUM> receives <NUM>-bit data by adding data No. <NUM> and No. <NUM> to the higher-order data of No. <NUM>. When the resolution of the ADC circuit <NUM> is <NUM> bits, the master node <NUM> receives <NUM>-bit data by adding data No. <NUM> to the higher-order data of No. <NUM>. When the resolution of the ADC circuit <NUM> is <NUM> bits, the master node <NUM> receives <NUM>-bit data, based on data No. <NUM>.

Data inherent to the I/O terminal P01 are data No. <NUM> through data No. <NUM>. The inherent data are also communicated for other I/O terminals.

Data No. <NUM> is the input possibility data similar to data No. <NUM>. Data No. <NUM> is additional bit <NUM> data of the input of the ADC circuit <NUM> similar to data No. <NUM>. Data No. <NUM> is additional bit <NUM> data of the input of the ADC circuit <NUM> similar to data No. <NUM>. Data No. <NUM> is the dummy data similar to data No. <NUM>. Data No. <NUM> is input data of the ADC circuit <NUM> similar to data No. <NUM>.

When receiving the input notification data, the master node <NUM> interprets the input specification of the I/O terminal (resolution of the ADC circuit <NUM> in this case) based on the input notification data, and receives signals under the interpreted specifications.

<FIG> is a block diagram showing another example of the slave node <NUM> according to the embodiment. This slave node <NUM> is an example of driving side view mirror angle adjustment motors 134R and <NUM> via a multi-channel motor driver <NUM>. Selector switches <NUM> and <NUM>, which specify the angle adjustment direction of the side view mirrors in the vertical and horizontal directions, are connected to the I/O terminals P02, P10, P11, and P12.

When motor position adjustment information from the angle adjustment potentiometers 136R and <NUM> are input to the I/O terminals P00 and P01, the slave node <NUM> transmits the input notification data to the master node <NUM>. The input notification data includes ADC input obtained by AD-converting the motor position adjustment information at a specified resolution. The master node <NUM> processes the input notification data to calculate the drive signals for motors 134R and <NUM>. The master node <NUM> transmits output command data including the drive signals to the slave node <NUM>. The slave node <NUM> transmits the drive signals from the I/O terminals P20, P21, P23, and P24 to the motor driver <NUM>. The drive signal includes the angle adjustment direction (vertical or horizontal direction) input from the selector switches <NUM> and <NUM>. The motor driver <NUM> drives the drive motors 134R and <NUM> in response to the drive signals.

<FIG> shows another example of the slave node <NUM> according to the embodiment. This slave node <NUM> is an example of driving a side view mirror storing motor <NUM> via a high current motor driver <NUM>. A selector switch <NUM> which specifies right side view mirror store/return, and a selector switch <NUM> which specifies left side view mirror store/return are connected to the I/O terminals P02, P10, P11, and P12.

Claim 1:
A transmitter device configured to transmit to a receiver device including input and output terminals (P00, P01, P02) first setting data specifying input and output functions of the input and output terminals (P00, P01, P02), wherein
the first setting data comprises:
first data common to the input and output terminals (P00, P01, P02);
second data inherent to each of the input and output terminals (P00, P01, P02); characterized in that
the first data comprises
candidates of set values of the input and output functions, and
the second data comprises identifiers of the candidates.