WO2011064911A1 - 端末装置および通信方法 - Google Patents
端末装置および通信方法 Download PDFInfo
- Publication number
- WO2011064911A1 WO2011064911A1 PCT/JP2010/003902 JP2010003902W WO2011064911A1 WO 2011064911 A1 WO2011064911 A1 WO 2011064911A1 JP 2010003902 W JP2010003902 W JP 2010003902W WO 2011064911 A1 WO2011064911 A1 WO 2011064911A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- slot
- terminal device
- message
- terminal
- communication
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B3/00—Line transmission systems
- H04B3/54—Systems for transmission via power distribution lines
- H04B3/548—Systems for transmission via power distribution lines the power on the line being DC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5038—Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
Definitions
- the present invention relates to a terminal device that uses a DC power line as a communication line, and a communication method that uses the terminal device.
- PLC Power Line Communications
- AC alternating current
- DC direct current
- terminal devices such as a display device, a shift switch, and a transmission device mounted on a bicycle are connected by a communication path that also serves as a DC power line, and power is supplied to these terminal devices by the communication path. And a device that communicates between terminal devices has been developed.
- each terminal device outputs an analog signal and performs communication.
- each terminal device can exchange information by digital communication.
- One such communication control method is a transmission right circulation method.
- Patent Document 3 shows an example of a communication control method that employs a transmission right circulation method.
- the information processing terminal described in Patent Literature 3 includes a bus state detection unit, a count unit, a control unit, a transmission unit, and a reception unit.
- the bus state detection means detects whether the network is busy or idle.
- the counting means repeatedly counts up to a unit idle time when the network is in an idle state.
- the control means generates a transmission frame when the parameter incremented each time the unit idle time is detected by the counting means coincides with its own node ID whose initial value is the unique node ID 0 assigned to itself.
- the transmission means transmits the transmission frame generated by the control means on the network.
- the receiving means receives a transmission frame transmitted from another terminal device on the network. Further, the control unit has a feature of extracting the unique node ID 0 included in the transmission frame received by the receiving unit and updating the parameter to the unique node ID 0.
- each terminal device since the transmission right circulates through each terminal device in a certain order, each terminal device must always transmit within a certain time by determining the frame length and the upper limit of the number of connected terminals. Is obtained.
- the unit idle time which is the waiting time when the network is in an idle state
- the time during which any terminal device transmits a transmission frame can also be referred to as a variable-length slot.
- the transmission right is equal to the arrival of the corresponding slot
- the terminal device that has obtained the transmission right is equal to the terminal device assigned to the incoming slot.
- a terminal device connected to a bicycle network is frequently connected to the network or removed from the network depending on the use state of the user.
- parameters such as a communication address and a unique node ID are automatically set without intervention of the user.
- a terminal device connected to a bicycle network using a DC power line as a communication path has a low communication speed in order to reduce power consumption and chip size. Therefore, the frame length is also short and is often shorter than the terminal ID unique to the terminal device. For this reason, when a plurality of terminal devices request assignment of communication addresses and slots at the same time, it is difficult to specify a communication terminal.
- an object of the present invention is to provide a terminal device and a communication method capable of automatically assigning a communication address and a slot even when the frame length is shorter than the terminal ID.
- a terminal device uses a DC power line as a communication channel, and communicates with other terminal devices using a slot obtained by temporally dividing the communication channel.
- a terminal device a control unit for controlling communication with the other terminal device, a separation / mixing unit for separating a reception signal from a signal of the power line and superimposing a predetermined transmission signal on the signal of the power line,
- a communication interface that outputs the reception signal separated by the separation / mixing unit to the control unit and outputs the transmission signal to the separation / mixing unit based on the control by the control unit.
- the terminal ID for identifying the terminal device is divided into first to nth (n is an integer of 2 or more) child device ID pieces, and each of the first to nth child device ID pieces includes the first to nth child device ID pieces.
- n request messages in sequence And the response to the first to nth request messages from the other terminal devices via the separation / mixing unit and the communication interface, each including first to nth selected terminal ID pieces.
- the 1st to nth response messages are sequentially received as the received signals, and the 1st to nth selected terminal ID pieces included in the received 1st to nth response messages are the 1st to nth slave units.
- the communication address and slot number included in the address notification message transmitted from the other terminal device are set in the communication interface.
- the slave unit can transmit the terminal ID to the master unit which is another terminal device even when the frame length is shorter than the terminal ID by dividing the terminal ID into a plurality of slave unit ID pieces. Further, when the selected terminal ID piece included in the response message from the parent device matches the child device ID piece, the child device determines that the own terminal device has been selected by the parent device, so that the plurality of child devices Even when a communication path is used, a communication address and a slot can be acquired from the parent device.
- control unit may determine that the m-th selected terminal ID piece included in the m-th (1 ⁇ m ⁇ n) response message among the first to n-th response messages is the first to n-th response messages. If it does not match the m-th slave unit ID piece included in the m-th request message among the request messages, transmission of the request message after the m-th request message may be stopped.
- control unit calculates a transmission waiting time of the m-th request message using a random number, and a slot dedicated to a terminal device to which no communication address is assigned after the transmission waiting time has elapsed from a predetermined time point
- the m-th request message may be transmitted using a specific slot.
- control unit may further determine a maximum value of a random number used for calculating the transmission waiting time of each of the first to nth request messages so that the value decreases in order.
- the maximum value of the transmission waiting time becomes smaller, and the processing time can be shortened.
- control unit transmits the first request message after a transmission waiting time of the first request message has elapsed since the notification message periodically transmitted from the other terminal device is received. May be.
- control unit further includes a maximum random number used to calculate the transmission waiting time according to the number of empty slots indicating the number of slots not allocated to any terminal device included in the broadcast message. The value may be determined.
- the notification message includes first to p-th base unit ID pieces each including first to p-th base unit ID pieces (p is an integer of 2 or more) into which terminal IDs for identifying the other terminal devices are divided.
- the control unit initializes a communication address and a slot number set in the communication interface when the first to p-th base unit ID pieces have different values from before. Also good.
- control unit When the control unit receives the notification message after transmitting the m-th request message to the other terminal device and before receiving the m-th response message from the other terminal device, The transmission of the request message after the mth request message may be stopped and the first request message may be retransmitted.
- the control unit when retransmitting the first request message, sets a maximum value of a random number used for calculating a transmission waiting time of the first request message to an initial value of the first request message. You may determine so that a value may become larger than the maximum value of the random number used for calculating the said transmission waiting time.
- control unit selects a slot excluding a slot allocated to the other terminal device from a plurality of slots constituting a beacon period, and transmits the m-th request message using the selected slot. May be.
- control unit when the control unit receives a specific message from the other terminal device, the control unit uses the communication address set in the communication interface and the slot indicated by the slot number set in the communication interface. Communication may be started.
- the specific message may be a beacon.
- control unit transmits a slot request message including the number of slot requests, which is the number of slots requesting allocation, to the other terminal device, and receives the address notification message from the other terminal device.
- the communication address included in the address notification message and the slot number of the number of slot requests included in the slot request message may be set in the communication interface.
- control unit when the control unit receives a message including empty slot information indicating at least a part of an empty slot not assigned to any terminal device from the other terminal device, the control unit indicates an empty slot indicated by the empty slot information.
- the communication function of the communication interface may be stopped during a period corresponding to.
- control unit may divide each of the first to nth handset ID pieces in order from the lower side of the terminal ID for identifying the own terminal device.
- the number of terminal devices that detect a mismatch of terminal ID pieces is increased probabilistically early, the frequency of collision of request messages is reduced, and the time required for allocation can be shortened.
- the terminal device (base device) is a terminal device that uses a DC power line as a communication path and communicates with other terminal apparatuses using a slot obtained by dividing the communication path in time.
- a control unit that controls communication with the other terminal device; a separation / mixing unit that separates a reception signal from the signal of the power line and superimposes a predetermined transmission signal on the signal of the power line; and the separation / mixing unit And a communication interface that outputs the transmission signal to the separation and mixing unit based on the control by the control unit, and the control unit includes the other communication signal.
- the first to nth request messages are sequentially received and are responses to the received first to nth request messages, the first to nth response messages including the first to nth terminal ID pieces respectively.
- an address notification message including a communication address and a slot number assigned to the other terminal device is broadcast.
- the parent device receives all the first to n-th terminal ID pieces obtained by dividing the terminal ID of the child device that is another terminal device. Can be known. Further, when the base unit transmits all response messages including the first to n-th terminal ID pieces, the slave unit can determine that it has been selected by the base unit. It is possible to assign a communication address and a slot to the machine.
- control unit may further periodically broadcast a notification message for causing the other terminal device to transmit the first request message.
- control unit may transmit the notification message including the number of empty slots indicating the number of slots not assigned to any terminal device.
- control unit broadcasts the notification message again after a predetermined period of time elapses after transmitting the mth (1 ⁇ m ⁇ n) response message among the first to nth response messages. You may send it.
- control unit includes first to p-th parent devices each including first to p-th parent device ID pieces (p is an integer of 2 or more) into which terminal IDs for identifying the terminal device are divided.
- An ID notification message may be transmitted as the notification message.
- the master unit is another master unit. Even when the device is replaced, it is possible to notify the child device that the parent device has been replaced.
- control unit determines whether or not the allocation process for allocating the communication address and the slot to the other terminal device is completed, and when it is determined that the allocation process is completed, normal data communication starts. You may broadcast the specific message for notifying that it became possible.
- the specific message may be a beacon.
- control unit when the control unit receives a slot request message including the number of slot requests, which is the number of slots requesting allocation, from the other terminal device, the control unit transmits the address notification message including the slot number of the slot request number. Broadcast transmission may be performed.
- control unit transmits a message including empty slot information indicating at least a part of empty slots not assigned to any terminal device, and in a period corresponding to the empty slot indicated by the empty slot information, The communication function of the communication interface may be stopped.
- control unit when assigning a plurality of slots, assigns one or more other terminal devices including the other terminal devices in order from the head side or the rear side among the plurality of slots constituting the beacon period. May be determined.
- empty slots are always composed of continuous slots, and efficient power saving can be achieved.
- the terminal device may be a component that can be mounted on a bicycle and communicates with each other.
- the communication method according to the present invention also provides communication using a slot in which the first terminal device and the second terminal device temporally divide the communication path in a network using a DC power line as a communication path.
- the second terminal apparatus divides a terminal ID for identifying the second terminal apparatus into first to nth (n is an integer of 2 or more) handset ID pieces.
- a request message transmitting step of sequentially transmitting the first to nth request messages including the first to nth handset ID pieces to the first terminal device, and the first terminal device includes: The first to nth request messages are sequentially received, and are responses to the received first to nth request messages, and the first to nth handset ID pieces are respectively selected as the first to nth selection messages.
- First to nth response messages included as terminal ID pieces A response message transmission step of sequentially transmitting messages, and a communication address and a slot number assigned to the second terminal device after the first terminal device transmits the first to n-th response messages.
- the address to set the communication address and slot number included in the address notification message in the communication interface of the second terminal device when the selected terminal ID piece is equal to the first to nth handset ID pieces Including a setting step.
- the child device that is the second terminal device can divide the terminal ID into a plurality of child device ID pieces, thereby allowing the parent device that is the first terminal device to Can be sent. Further, when the selected terminal ID piece included in the response message from the parent device matches the child device ID piece, the child device determines that the own terminal device has been selected by the parent device, so that the plurality of child devices Even when the communication path is used, the parent device can assign a communication address and a slot to the child device.
- the second terminal apparatus sequentially receives the first to nth response messages, and the mth (1 ⁇ m ⁇ of the first to nth response messages).
- the m-th selected terminal ID piece included in the response message n) does not match the m-th handset ID piece of the second terminal device, the m-th of the first to n-th request messages.
- the transmission of the request message after the request message may be stopped.
- the communication method further includes a transmission waiting time calculating step in which the second terminal apparatus calculates a transmission waiting time of the m-th request message using a random number. After the transmission waiting time elapses from the point of time, the m-th request message may be transmitted using a specific slot that is a slot dedicated to a terminal device to which no communication address is assigned.
- the maximum value of the random number used for calculating the transmission waiting time of each of the first to nth request messages may be determined so that the values become smaller in order. Good.
- the communication method further includes a notification message transmission step in which the first terminal device periodically broadcasts a notification message for causing the first request message to be transmitted.
- the second terminal device may transmit the first request message after a waiting time for transmission of the first request message has elapsed since the reception of the notification message.
- the broadcast message transmission step the broadcast message including the number of empty slots indicating the number of slots not assigned to any terminal device is transmitted, and in the transmission waiting time calculating step, according to the number of empty slots, The maximum random number used to calculate the transmission waiting time may be determined.
- the transmission waiting time is shortened as the number of terminal devices that assign communication addresses and slots is reduced, so that the processing time can be shortened.
- the notification message transmission step the notification message is transmitted again after a predetermined period has elapsed since the m-th response message is transmitted.
- the request message transmission step the m-th request message is transmitted. If the broadcast message is received before receiving the mth response message after transmission, transmission of the request message after the mth request message is stopped and the first request message is retransmitted. You may send it.
- a maximum random number used to calculate the transmission waiting time of the first request message is set as the first request message. It may be determined so that the value becomes larger than the maximum random number used to calculate the initial transmission waiting time.
- the terminal ID for identifying the first terminal device is divided into first to p-th base unit ID pieces (p is an integer of 2 or more), and the first to first a first to p-th parent ID notification message each including a parent ID of p is transmitted as the notification message, and the communication method further includes the second terminal device receiving the notification message,
- the communication address and slot number set in the communication interface of the second terminal device are initialized. An initialization step may be included.
- the terminal ID of the parent device can be periodically notified to all the child devices, and even when the parent device is changed while the communication address and slot have been allocated and normal data communication is possible,
- the slave unit can detect a change of the master unit and avoid using an inappropriate communication address.
- a slot except for a slot allocated to the first terminal device is selected from a plurality of slots constituting a beacon cycle using a random number, and the selected slot is used.
- the mth request message may be transmitted.
- the first terminal device further determines whether or not the assignment process for assigning a communication address and a slot to the second terminal device is completed, and the assignment process is completed.
- a specific message transmission step for broadcast transmission of a specific message for notifying that normal data communication can be started when determined, and when the second terminal apparatus receives the specific message,
- a communication start step for starting normal data communication using the communication address set in the communication interface and the slot indicated by the slot number set in the communication interface may be included.
- the specific message may be a beacon.
- the communication method further includes a slot request message transmission step in which the second terminal apparatus transmits a slot request message including a slot request number that is the number of slots for which allocation is requested, and the first terminal apparatus. May include a slot determination step of determining a slot of the number of slot requests to be allocated to the second terminal device when the slot request message is received.
- the communication method further includes: an empty slot information transmission step in which the first terminal device transmits a message including empty slot information indicating at least a part of empty slots not assigned to any terminal device;
- the second terminal apparatus receives the message including the empty slot information, and saves the power of the communication function of the communication interface of the second terminal apparatus during a period corresponding to the empty slot indicated by the empty slot information. Steps may be included.
- the address notification message transmission step when a plurality of slots are allocated, among the plurality of slots constituting the beacon period, one or more other terminal devices including the other terminal devices in order from the head side or the rear side are sequentially assigned. You may determine the slot to allocate.
- empty slots are always composed of continuous slots, and efficient power saving can be achieved.
- the terminal ID of the second terminal device may be divided so as to be the first to nth handset ID pieces in order from the lower side.
- This increases the number of terminal devices that detect a mismatch of terminal ID pieces at an early stage, thereby reducing the frequency of address request message collisions and shortening the processing time.
- first and second terminal devices may be mounted on a bicycle and may be components that communicate with each other.
- the terminal device and the communication method according to the present invention even when the frame length is shorter than the terminal ID unique to the terminal device, it is possible to efficiently assign the communication address and the slot to the terminal device.
- FIG. 1 is a diagram showing an example of a configuration of a bicycle network according to Embodiment 1 of the present invention.
- FIG. 2 is a diagram showing an example of a slot configuration according to Embodiment 1 of the present invention.
- FIG. 3A is a diagram showing an example of a frame configuration according to Embodiment 1 of the present invention.
- FIG. 3B is a diagram illustrating an example of a configuration of a type indicating a frame type according to Embodiment 1 of the present invention.
- FIG. 3C is a diagram showing an example of a configuration of a control message included in the payload according to Embodiment 1 of the present invention.
- FIG. 1 is a diagram showing an example of a configuration of a bicycle network according to Embodiment 1 of the present invention.
- FIG. 2 is a diagram showing an example of a slot configuration according to Embodiment 1 of the present invention.
- FIG. 3A is a diagram showing an example of a frame configuration according to Embodi
- FIG. 4 is a diagram showing a detailed configuration of a parent device that is an example of the terminal device according to Embodiment 1 of the present invention.
- FIG. 5 is a diagram showing a detailed configuration of a handset that is an example of the terminal device according to Embodiment 1 of the present invention.
- FIG. 6 is a diagram showing a detailed configuration of a handset that is another example of the terminal device according to Embodiment 1 of the present invention.
- FIG. 7 is a diagram illustrating an example of the terminal ID of each terminal device according to Embodiment 1 of the present invention.
- FIG. 8A is a diagram showing an example of an address management table according to Embodiment 1 of the present invention.
- FIG. 8B is a diagram showing an example of an address management table in a state in which the terminal device according to Embodiment 1 of the present invention is registered.
- FIG. 9 is a sequence diagram showing an example of the operation between the terminal devices in Embodiment 1 of the present invention.
- FIG. 10 is a flowchart showing the operation of the master unit that is an example of the terminal device according to Embodiment 1 of the present invention.
- FIG. 11 is a flowchart showing an operation at the time of address assignment of a slave unit that is an example of the terminal device according to Embodiment 1 of the present invention.
- FIG. 12 is a flowchart showing the operation after address assignment of the slave unit that is an example of the terminal device according to Embodiment 1 of the present invention.
- FIG. 13 is a diagram illustrating an example of a terminal ID piece of each terminal device according to Embodiment 1 of the present invention.
- FIG. 14 is a diagram showing an example of the configuration of slots during address assignment in Embodiment 2 of the present invention.
- FIG. 15A is a sequence diagram showing an example of operations between terminal devices during communication address and slot assignment in Embodiment 2 of the present invention.
- FIG. 15B is a sequence diagram showing an unused slot notification process performed after the assignment is completed, among the operations between the terminal apparatuses according to Embodiment 2 of the present invention.
- FIG. 16 is a flowchart showing the operation of the parent device as an example of the terminal device according to the second embodiment of the present invention.
- FIG. 17 is a flowchart showing the operation of the slave unit that is an example of the terminal device according to Embodiment 2 of the present invention.
- FIG. 18 is a diagram showing an example of a slot configuration after address assignment in the second embodiment of the present invention.
- the communication method according to Embodiment 1 is a communication method in which a parent device that is a first terminal device and a child device that is a second terminal device communicate using a slot obtained by dividing a communication path in time.
- the slave unit transmits first to n-th request messages including the first to n-th slave unit ID pieces to the master unit, and the master unit receives the first to n-th request messages. , Transmitting a first to nth response message including the first to nth handset ID pieces as first to nth selected terminal ID pieces, respectively, and the base unit includes a communication address and a slot.
- FIG. 1 is a diagram showing an example of the configuration of a bicycle network according to Embodiment 1 of the present invention.
- the bicycle network shown in FIG. 1 includes a plurality of terminal devices (master device 100, slave device 200, and slave device 300), a communication path 400, and a battery 500.
- each of the plurality of terminal devices is a component that can be mounted on a bicycle, and operates as parent device 100, child device 200, and child device 300.
- the communication path 400 is a communication path for performing communication between a plurality of terminal devices (master device 100, slave device 200, and slave device 300).
- the communication path 400 is also a DC current power line.
- the battery 500 supplies power to each of a plurality of terminal devices (the parent device 100, the child device 200, and the child device 300) via the communication path 400 that is also a power line.
- FIG. 2 is a diagram showing an example of a slot configuration according to Embodiment 1 of the present invention.
- transmission right cyclic communication control is used.
- transmission right cyclic communication control a communication path is time-divided into slots, and one terminal device having a transmission right is assigned to each slot.
- Each terminal device (master device 100, slave device 200, and slave device 300) constantly monitors the communication channel 400, and when the communication channel 400 is not busy for a predetermined period of time, the terminal device is shifted to the next slot. I reckon. On the other hand, when the communication channel 400 is busy, each terminal device (the parent device 100, the child device 200, and the child device 300) considers that any one of the terminal devices is transmitting a message, and the communication channel 400 is temporarily set. If it is not busy, it is considered that the message has been transmitted and the next slot has been entered.
- Embodiment 1 since the message lengths are all equal, a case where a predetermined time has elapsed after detecting that the communication channel 400 is busy may be regarded as having shifted to the next slot. . In this way, each terminal device (master device 100, slave device 200, and slave device 300) autonomously determines which slot it is now.
- each terminal device (master device 100, slave device 200, and slave device 300) transmits data when there is data to be transmitted when the time of the slot in which the terminal device has the transmission right is reached. To do. If at most one terminal device is assigned to each slot, collision on the communication path 400 is avoided and no retransmission occurs.
- base unit 100 periodically transmits a beacon or a message including beacon identification information (hereinafter, a message with a beacon).
- Terminal devices (child device 200 and child device 300) excluding parent device 100 perform synchronization by receiving a beacon or a message with a beacon.
- slots 0 to 31 are slot numbers for identifying slots.
- Base unit 100 transmits a beacon or a message with a beacon every 32 slots.
- a period corresponding to the slots 0 to 31 is called a beacon period. That is, the beacon period is composed of a plurality of slots (here, 32 slots). Slot numbers are assigned in order from the beginning of the beacon period, such as slot 0, slot 1,.
- Slot 0 which is the first slot in the beacon period, is a beacon slot.
- Base unit 100 is always assigned to the beacon slot.
- Base unit 100 transmits a beacon using a beacon slot.
- the slot 31, which is the last slot in the beacon period, is a shared slot.
- the shared slot is a specific slot that is dedicated to a terminal device to which no communication address is assigned.
- the terminal device to which no slot is assigned communicates with the parent device 100 using the shared slot and performs slot assignment.
- the number of terminal devices using the shared slot is not limited to one, messages transmitted from the respective terminal devices may collide with each other. Since the shared slot in this embodiment is provided in the last slot of the beacon period, even if a collision between messages occurs, the beacon slot (slot 0) and the normal slot (slot) are the same in the same beacon period. It does not affect the operations 1 to 30).
- Slot 1 to slot 30 are normal slots. One slot is assigned to each slave unit, and each slave unit transmits a message using the assigned slot. In addition, when the number of slave units is less than 30, a slot that cannot be allocated is generated. In this embodiment, only one slot is allocated to one terminal unit for both the master unit and the slave unit, and any terminal is assigned to an empty slot. Leave the device unassigned.
- FIG. 3A is a diagram illustrating an example of a frame structure transmitted by a terminal device (master device 100, slave device 200, and slave device 300) in Embodiment 1.
- FIG. 3B is a diagram illustrating an example of a type configuration indicating a frame type in the first embodiment.
- FIG. 3C is a diagram illustrating an example of a configuration of a control message included in a payload in the first embodiment.
- the frame is composed of DA (Destination Address), SA (Source Address), type, payload, CRC (Cyclic Redundancy Check).
- DA is a destination address and has a size of 6 bits.
- DA is 0x00 to 0x1F, respectively.
- DA is 0x3F.
- SA is a source address, and has a 6-bit size similar to DA.
- SA is 0x00 to 0x1F, respectively.
- SA is 0x3F.
- Type indicates the type of frame and has a size of 2 bits. As shown in FIG. 3B, the type includes a message type and a beacon identifier.
- the message type indicates the type of message stored in the payload. If the message type is 0, the data message is 1; if it is 1, the control message is stored in the payload.
- the beacon identifier indicates whether the frame is a beacon. If the beacon identifier is 0, it is a normal frame, and if it is 1, the frame functions as a beacon.
- the payload has a size of 4 bytes and stores a message.
- the message is a data message or a control message.
- the message is identified by the message type described above.
- the data message is free format.
- the data message is used for normal data communication that can be executed after the communication address and slot for the terminal device are assigned.
- the control message has the format shown in FIG. 3C.
- the control message is used for assigning a communication address and slot to the terminal device.
- the control message is composed of a 1-byte message header and a 3-byte message body.
- the message header includes a message ID that is an identifier for identifying the type of the control message, and extended information.
- the extension information is normally set to 0. Further, the structure of the message body is defined for each message ID.
- each terminal device uses a single slot to transmit a 4-byte message, thereby communicating with other terminal devices. Do.
- FIG. 4 is a diagram showing a detailed configuration of base unit 100 which is an example of the terminal device according to the first embodiment.
- FIG. 5 is a diagram showing a detailed configuration of handset 200 that is an example of the terminal device according to the first embodiment.
- FIG. 6 is a diagram showing a detailed configuration of handset 300 that is another example of the terminal device according to the first embodiment.
- parent device 100 includes a communication interface 110, a control unit 120, a separation / mixing unit 130, and a bicycle part 140 (here, a cycle computer).
- the communication interface 110 is an interface for communicating with other terminal devices (the child device 200 and the child device 300) via the communication path 400. Specifically, the communication interface 110 outputs the received signal separated from the power line signal by the separation / mixing unit 130 to the control unit 120. Further, the communication interface 110 outputs a predetermined transmission signal to the separation / mixing unit 130 based on the control from the control unit 120. More specifically, the communication interface 110 is set with a communication address and a slot number by the control unit 120, and uses the slot indicated by the set slot number to transmit data with the set communication address as a destination. .
- the control unit 120 controls communication with other terminal devices (here, the slave unit 200 and the slave unit 300). Specifically, the control unit 120 transmits / receives a control message to / from a control unit included in another terminal device via the communication interface 110. In addition, when the bicycle part 140 performs data communication with a bicycle part included in another terminal device, the control unit 120 performs communication processing instead of the bicycle part 140.
- the separation / mixing unit 130 superimposes the transmission signal from the communication interface 110 on the power line signal and outputs the signal to the communication path 400 as a mixed signal. Conversely, the separation / mixing unit 130 separates the mixed signal on the communication path 400 into a received signal and a power line signal.
- the separation / mixing unit 130 supplies a power to each unit by outputting a communication signal to the communication interface 110 and supplying a power signal to each unit configuring the parent device 100.
- the bicycle component 140 is connected to a cycle computer in the master unit 100.
- the cycle computer is an example, and the type of the bicycle part 140 does not affect the present invention.
- control unit 120 includes a message exchange unit 121, an ID management unit 122, and an address management unit 123.
- the message exchange unit 121 When the message exchange unit 121 receives data and a destination to be transmitted from the bicycle part 140, the message exchange unit 121 transmits the received data as a data message via the communication interface 110. Further, when the message exchange unit 121 receives a data message addressed to the parent device 100 from another terminal device via the communication interface 110, the message exchange unit 121 delivers the data message to the bicycle part 140.
- the message exchange unit 121 generates control data for communicating with the message exchange unit of another terminal device, and transmits it as a control message via the communication interface 110. Also, when the message exchange unit 121 receives a control message from a message exchange unit on another terminal device via the communication interface 110, the message exchange unit 121 performs an operation based on the received control message.
- the message exchange unit 121 performs data communication between bicycle parts and control communication between message exchange units.
- the ID management unit 122 has a terminal ID that is an identifier for distinguishing the parent device 100 from other terminal devices.
- the terminal ID of the parent device 100 is specifically referred to as a parent device ID here.
- FIG. 7 is a diagram illustrating an example of a list of terminal IDs of the terminal devices (master device 100, slave device 200, and slave device 300). As shown in FIG. 7, the ID management unit 122 holds “00: 0F: 1F: D7: 72: 91” as the parent device ID.
- the address management unit 123 uses the address management table to hold a combination of a slot number and an assigned communication address.
- FIG. 8A is a diagram illustrating an example of an address management table in an initial state.
- FIG. 8B is a diagram illustrating an example of an address management table in a state where slave units are registered.
- the address management table holds a valid / invalid flag, a communication address, and a terminal ID for each slot.
- the communication address indicates a communication address scheduled to be assigned to the slave unit assigned to the corresponding slot or a communication address assigned to the slave unit assigned to the corresponding slot.
- the communication address to be assigned is indicated.
- the valid / invalid flag is valid, the assigned communication address is indicated.
- the communication address is set to the same value as that of the slot in order to facilitate the explanation, but it is not necessary that both have the same value.
- the terminal ID indicates the terminal ID of the slave unit assigned to the corresponding slot. Only when the valid / invalid flag is valid, the value of the terminal ID is valid.
- FIG. 8B shows an address management table when the terminal ID of the slave device 200 is registered in the slot 1.
- slot 0 and communication address 0 are assigned to communication interface 110.
- slot 0 is a beacon slot, and is an essential slot for the parent device 100 to periodically transmit beacons.
- the communication address is not limited to 0 as long as it is determined in the system.
- the child device 200 includes a communication interface 210, a control unit 220, a separation / mixing unit 230, and a bicycle part 240 (here, a shift switch), like the parent device 100.
- the communication interface 210 and the separation / mixing unit 230 are the same as the communication interface 110 and the separation / mixing unit 130 provided in the parent device 100, respectively, and thus description thereof is omitted.
- the bicycle component 240 is, for example, a bicycle shift switch.
- the shift switch notifies a data message including shift information input by a user operation to a bicycle component 340 (transmission device) described later via the bicycle component 140 (cycle computer).
- the control unit 220 includes a message exchange unit 221 and an ID management unit 222.
- the message exchange unit 221 performs data communication for the bicycle component 240 to communicate data messages with bicycle components on other terminal devices, and the message exchange unit 221. It itself performs control communication for communicating control messages with message exchange units on other terminal devices.
- message exchange unit 221 communicates a control message with message exchange unit 121 of base unit 100, and acquires a communication address and slot number to be set in communication interface 210. Further, the message exchange unit 221 sets the acquired communication address and slot number in the communication interface 210, and cancels or initializes the setting.
- the ID management unit 222 holds the terminal ID of the child device 200. In the example illustrated in FIG. 7, the ID management unit 222 holds “00: 0F: 1F: D7: 72: 92” as the terminal ID.
- no communication address is set in the communication interface 210, and the communication interface 210 uses the set value 0x3F when no address is set.
- the communication interface 210 uses a shared slot (slot 31) in the initial state.
- the slave device 300 similarly to the slave device 200, the slave device 300 includes a communication interface 310, a control unit 320, a separation / mixing unit 330, and a bicycle part 340 (here, a transmission).
- the communication interface 310 and the separation / mixing unit 330 are the same as the communication interface 210 and the separation / mixing unit 230 included in the slave unit 200, respectively, and thus description thereof is omitted.
- the bicycle part 340 is a bicycle transmission as an example, and switches the bicycle gear according to a data message from the bicycle part 240 (shift switch).
- the control unit 320 includes a message exchange unit 321 and an ID management unit 322 as in the case of the slave unit 200.
- the ID management unit 322 holds “00: 0F: 1F: D7: 72: 93” as the terminal ID.
- no communication address is set in the communication interface 310, and the communication interface 310 uses the set value 0x3F when no address is set, as with the slave unit 200.
- the communication interface 310 uses the shared slot (slot 31) in the initial state.
- the parent device 100 cannot determine which of the messages transmitted from the child device 200 and the child device 300 to the parent device 100 in the initial state is the message transmitted by the child device from the communication address and slot. Similarly, the parent device 100 cannot transmit a message only to the child device 200 or to only the child device 300. In order for each terminal device (master device 100, slave device 200, and slave device 300) to transmit a message to a specific terminal device, it is necessary to assign a communication address and a slot.
- FIG. 9 is a sequence diagram showing operations among the terminal devices (master device 100, slave device 200, and slave device 300) in the first embodiment.
- FIG. 10 is a flowchart showing an operation of base unit 100 which is an example of the terminal device in the first embodiment.
- FIG. 11 is a flowchart showing an operation at the time of address assignment of handset 200 that is an example of the terminal device according to the first embodiment.
- FIG. 12 is a flowchart showing an operation after address assignment of the slave device 200 which is an example of the terminal device according to the first embodiment.
- the parent device 100 identifies the parent device 100 among all the child devices (the child device 200 and the child device 300 in the example of FIG. 1) connected via the communication path 400.
- the master unit ID has a size of 6 bytes in total.
- control unit 120 of the base unit 100 sets the base unit ID to the first base unit ID piece and the second base unit ID that are 3 bytes long, which is the size of the message body. Divide into pieces. Then, control unit 120 sequentially transmits the control message including the first master unit ID piece and the second master unit ID piece obtained by dividing the base unit ID.
- base unit 100 broadcasts a first base unit ID notification message including the first base unit ID piece to all the slave units connected via communication path 400 (S101). .
- the message exchange unit 121 of the parent device 100 acquires the first parent device ID fragment “D7: 72: 91” from the ID management unit 122, and uses the acquired first parent device ID fragment as the message body.
- the first master unit ID notification message included in is generated.
- the broadcast address (0x3F) is designated as the destination, and the generated first master unit ID notification message is output to the communication interface 110.
- the communication interface 110 receives the first master ID notification message, SA is 0x0, DA is 0x3F (broadcast address), type message type is 1 (control), and ACK is 0 (Normally), the beacon identifier is 1 (beacon) and is output to the communication channel 400.
- message exchange unit 221 of slave unit 200 and message exchange unit 321 of slave unit 300 receive the first master unit ID notification message via communication interfaces 210 and 310 (S201). ). Then, each of message exchange units 221 and 321 takes out the first master unit ID piece included in the first master unit ID notification message and temporarily stores it.
- the parent device 100 broadcasts and transmits a second parent device ID notification message including the second parent device ID piece to all the child devices connected via the communication path 400 (S102). Specifically, the message exchange unit 121 of the parent device 100 acquires the second parent device ID fragment “00: 0F: 1F” from the ID management unit 122, and uses the acquired second parent device ID fragment as the message body. A second master unit ID notification message included in is generated. At this time, the broadcast address (0x3F) is designated as the destination, and the generated second master unit ID notification message is output to the communication interface 110.
- message exchange unit 221 of slave unit 200 and message exchange unit 321 of slave unit 300 receive the second master unit ID notification message (S202). Then, each of message exchange units 221 and 321 takes out the second master unit ID piece included in the second master unit ID notification message, and temporarily stores it together with the first master unit ID piece. Thereby, in the slave unit 200 and the slave unit 300, the master unit ID of the master unit 100 is found to be “00: 0F: 1F: D7: 72: 91”.
- the message exchange units 221 and 321 transmit an address request message for acquiring a communication address and a slot number from the master unit 100 to the master unit 100.
- the address request message transmitted from the child device 200 and the child device 300 to the parent device 100 needs to include the terminal ID of the own terminal so that the parent device 100 can determine the transmission source.
- the message body length (3 bytes) ⁇ the terminal ID length (6 bytes), it cannot be transmitted at a time.
- each of the handset 200 and handset 300 has a terminal ID of a first terminal ID piece (first handset ID piece) and a second terminal ID piece ( And the second child device ID piece).
- mobile_unit 300 transmit the 1st terminal ID piece as a 1st address request message to the main
- the first terminal ID piece of the slave unit 200 is “D7: 72: 92”, and the second terminal ID piece of the slave unit 200 is “00: 0F: 1F”.
- the first terminal ID piece of the child device 300 is “D7: 72: 93”, and the second terminal ID piece of the child device 300 is “00: 0F: 1F”.
- the message exchange units 221 and 321 divide the terminal IDs of the slave units 200 and 300 in order from the lower side so as to be a first slave unit ID piece, a second slave unit ID piece, and so on. Thereby, since the lower order side of the terminal ID is often different between the respective terminal devices than the higher order side, the terminal ID match / mismatch can be determined earlier.
- the message exchange units 221 and 321 transmit the first address request message (S203). Specifically, the message exchange units 221 and 321 first calculate a transmission waiting time until the first address request message is transmitted using a random number.
- the transmission waiting time calculated by the message exchange unit 221 is t21
- the transmission waiting time calculated by the message exchange unit 321 is t31. As shown in FIG. 9, for example, there is a relationship of t21 ⁇ t31.
- the message exchange units 221 and 321 wait for the calculated transmission waiting time to elapse from a predetermined time point. For example, the message exchange units 221 and 321 wait for the transmission waiting time of the first address request message to elapse from the time when the second base unit ID notification message is received. When the message exchange units 221 and 321 receive the first address response message during the transmission waiting time, the first address response message is destined for another slave unit, so the subsequent processing is canceled. It waits again to receive the first master unit ID notification message from master unit 100 (return to S201).
- the child device having a short transmission waiting time among the child devices 200 and 300 When the calculated transmission waiting time elapses, the child device having a short transmission waiting time among the child devices 200 and 300 generates the first address request message and transmits the generated first address request message. In the example illustrated in FIG. 9, the slave device 200 with a short transmission waiting time performs processing.
- the message exchange unit 221 of the slave device 200 acquires the first terminal ID fragment “D7: 72: 92” from the ID management unit 222 and generates a first address request message including the acquired first terminal ID fragment. To do. Then, the message exchange unit 221 outputs the first address request message to the communication interface 210 with the parent device 100 as the destination.
- the communication interface 210 when the time of the shared slot (slot 31) arrives, SA is 0x3F (communication address not set), DA is 0x0 (master unit 100), type message type is 1 (control), and ACK is 0 ( Normal), the first address request message is output to the communication path 400 with the beacon identifier being 0 (normal).
- the message exchange unit 321 of the slave unit 300 is still waiting for transmission when the slave unit 200 transmits the first address request message.
- message exchange unit 121 waits for reception of the first address request message (S103).
- the message exchange unit 121 extracts the first terminal ID piece from the received first address request message.
- the message exchange unit 121 generates a first address response message that is a response to the first address request message and includes the first terminal ID piece as the first selection ID piece, and is addressed to all the slave units. Transmit (S104).
- the message exchange unit 121 If the message exchange unit 121 does not receive the first address request message from any of the slave units even after a predetermined time has elapsed, the message exchange unit 121 cancels the subsequent processing and sends the first master unit ID notification message to all the slave units. (Return to S101). As described above, the message exchange unit 121 periodically broadcasts the notification message.
- the child device 200 When receiving the first address response message from the parent device 100, the child device 200 extracts the first selection ID piece from the received first address response message, and the first address response message is received from the first address response message. Compare with the terminal ID piece. Here, since the first selection ID piece and the first terminal ID piece match, the message exchange unit 221 determines that the first address request message transmitted from the child device 200 is selected by the parent device 100. .
- the message exchange unit 221 determines that the first address request message transmitted from another terminal device has been selected by the base unit 100. Then, the subsequent processing is canceled and the reception of the first master unit ID notification message is awaited (return to S201).
- the message exchange unit 321 stops the transmission process of the first address request message, cancels the subsequent processes, and waits for the reception of the first master unit ID notification message (returns to S201).
- the slave unit 200 and the slave unit 300 receive the first master unit ID notification message in the first address response message reception wait period (S204), the message reception wait period times out. It is determined that Then, after receiving the first master unit ID notification message (S201), it waits for reception of the second master unit ID notification message (proceeds to S202).
- the slave unit 200 transmits a second address request message (S205). Specifically, first, the message exchange unit 221 of the child device 200 calculates the transmission waiting time of the second address request message again using a random number. In FIG. 9, the transmission waiting time is t22.
- the message exchange unit 221 uses a random number so that the maximum value output by the random number (for calculation of t22) at this time is smaller than the maximum value output by the random number used for the first time (calculation of t21).
- the maximum random number is determined by setting the generation parameter. This is because, by exchanging the first address request / response message, the probability that there is another slave unit that transmits the second address request message is smaller than when the first address request message is transmitted. It is. Further, in the first embodiment, the case of two divisions has been described. Similarly, when the number of divisions is increased to three divisions or four divisions, a random number for calculating a transmission waiting time for a later address request message is similarly obtained. The message exchange unit 221 changes the random number generation parameter so that the maximum value output by the random number decreases as the value increases.
- the message exchange unit 221 After calculating the transmission waiting time, the message exchange unit 221 then waits for transmission for t22 which is the calculated transmission waiting time (S206). If the second address response message is received during this waiting period, the second address response message is destined for another slave unit, so that the message exchange unit 221 cancels the subsequent processing, and the first parent Waiting for reception of the machine ID notification message (returns to S201).
- the message exchange unit 221 acquires the second terminal ID piece “00: 0F: 1F” from the ID management unit 222 after the time t22 has elapsed, and receives the second address request including the acquired second terminal ID piece. A message is generated and output to the communication interface 210.
- the communication interface 210 transmits a second address request message to the parent device 100 when the time of the shared slot (slot 31) comes.
- message exchange unit 121 waits for reception of the second address request message (S105).
- the message exchange unit 121 receives the second address request message
- the second terminal ID piece is extracted from the received second address request message.
- the message exchange unit 121 transmits a second address response message including the extracted second terminal ID piece as the second selection ID piece to all the slave units (S106).
- the message exchange unit 121 cancels the subsequent processing and transmits the first master unit ID notification message to all the slave units. (Return to S101).
- message exchange unit 221 when message exchange unit 221 receives the second address response message, message exchange unit 221 extracts the second selection ID fragment from the received second address response message, and extracts the extracted second selection ID fragment.
- the second terminal ID piece is compared. If the two match, the message exchange unit 221 determines that the second address request message transmitted from the terminal device has been selected by the parent device 100, and waits for reception of the address notification message (proceeds to S207). On the other hand, when the two do not match, the message exchange unit 221 determines that the second address request message transmitted from the other terminal device has been selected by the parent device 100, and receives the first parent device ID notification message. (Return to S201).
- the message exchange unit 121 In the parent device 100, the message exchange unit 121 generates and transmits an address notification message (S107). Specifically, first, the message exchange unit 121 has a terminal ID “00: composed of a first selection ID piece“ D7: 72: 92 ”and a second selection ID piece“ 00: 0F: 1F ”. 0F: 1F: D7: 72: 92 ”is assigned to the slave unit (in this case, slave unit 200), and the communication address and slot to be assigned are determined. Specifically, the message exchange unit 121 refers to the address management table held by the address management unit 123, selects one of the invalid slots, and acquires the selected slot and communication address. Here, as an example, the message exchange unit 121 selects slot 1 and communication address 1 which are the first invalid slot from the head of the address management table.
- the message exchange unit 121 generates an address notification message including the selected slot and communication address, and transmits the address notification message to all the slave units connected via the communication path 400. Further, the terminal ID “00: 0F: 1F: D7: 72: 92” is registered in slot 1 of the address management table, and the valid / invalid flag is set to valid (S108). As a result, the address management table is in a state as shown in FIG. 8B.
- slave unit 200 when message exchange unit 221 receives an address notification message, message exchange unit 221 extracts a communication address and a slot from the received address notification message. In the above example, 1 is extracted as the communication address and 1 as the slot. Then, the message exchange unit 221 sets the extracted communication address and slot in the communication interface 210 (S208).
- the slave unit 200 sets the communication address and the slot number included in the address notification message in the communication interface 210 when the plurality of selection ID pieces and the plurality of slave unit ID pieces all match.
- transmission of the address request message scheduled to be transmitted after the address request message including the child device ID pieces that do not match is stopped.
- the message transmitted via the communication interface 210 is output using the set slot (slot 1) instead of the shared slot (slot 31).
- the source address (SA) is set to 0x1 instead of 0x3F. That is, handset 200 starts normal data communication with base unit 100 using the communication address set in communication interface 210 and the slot indicated by the slot number set in communication interface 210.
- the message exchange unit 321 of the child device 300 receives the address notification message, the message exchange unit 321 has already canceled the process and is waiting to receive the first parent device ID notification message (S201). Therefore, the message exchange unit 321 discards the received address notification message even when the address notification message is received. That is, the message exchange unit 321 does not set the communication address and slot included in the address notification message.
- the parent device 100 can assign the communication address 2 and the slot 2 to the child device 300 as well as the child device 200, and the message exchange unit 321 can assign the assigned communication address. 2 and slot 2 are set in the communication interface 310. Further, even when the parent device 100 is performing the above-described processing on the child device 300, the child device 200 to which the communication address and the slot have already been assigned does not have overlapping slots. It is possible to send data to 100.
- base unit 100 always repeats the processing of the flowchart shown in FIG. 10 during operation. Further, the slave unit newly added to the network performs the processing of the flowchart shown in FIG. Thus, each time a slave unit is added, a communication address and a slot can be set for the added slave unit.
- the message exchange unit 221 of the slave unit 200 and the message exchange unit 321 of the slave unit 300 to which the communication address and the slot are assigned execute the operation according to the flowchart of FIG.
- the message exchange unit 221 of the child device 200 and the message exchange unit 321 of the child device 300 receive the first and second parent device ID notification messages (S201, S202). Then, message exchange units 221 and 321 respectively extract the first and second master unit ID pieces, and synthesize the extracted first and second master unit ID pieces to generate the master unit ID.
- the message exchange units 221 and 321 confirm that the parent device ID generated from the received first and second parent device ID notification messages matches the previously generated parent device ID (S209). If they match, it again waits for reception of the first master ID notification message (return to S201).
- the message exchange units 221 and 321 initialize the communication addresses and slot numbers set in the communication interfaces 210 and 310 ( S210). Thereafter, the message exchange units 221 and 321 request the assignment of the communication address and slot again to the replaced master unit according to the flowchart shown in FIG.
- a communication address and a slot are assigned to each terminal device connected to the network. Specifically, the address management table of the parent device 100 is updated, and the communication address and slot are set in the communication interfaces 210 and 310 provided in the child device 200 and the child device 300.
- the terminal ID of parent device 100 and the terminal IDs of child devices 200 and 300 are divided into two, but may be divided into a larger number of divisions.
- the terminal ID of parent device 100 may be divided into first to p-th parent device ID pieces (p is an integer of 2 or more).
- the terminal IDs of the slave units 200 and 300 may be divided into first to n-th (n is an integer of 2 or more) slave unit ID pieces.
- slave units 200 and 300 sequentially output first to nth address request messages each including the split slave unit ID pieces.
- base unit 100 outputs first to p-th base unit ID notification messages each including the divided base unit ID pieces.
- the slave units 200 and 300 are transmitted from the master unit 100 when the first to nth selection ID pieces included in the first to nth address response messages all match the slave unit ID pieces.
- the communication address and slot number included in the address notification message are set in the communication interfaces 210 and 310.
- the slave units 200 and 300 indicate that the m-th selection ID pieces included in the m-th (1 ⁇ m ⁇ n) address response message among the first to n-th address response messages are the first to n-th address response messages. Transmission of the request message after the m-th request message is stopped when it does not match the m-th slave unit ID piece included in the address request message.
- the slave units 200 and 300 that are examples of the terminal device according to Embodiment 1 divide the terminal ID into a plurality of slave unit ID pieces, so that the terminal ID is obtained even when the frame length is shorter than the terminal ID It can transmit to the main
- the transmission wait time of the first or second address request message calculated by each of the message exchange units 221 and 321 using a random number. Can be approximated or matched.
- the slave unit 200 and the slave unit 300 transmit an address request message using a shared slot having the same beacon period.
- the address request messages transmitted from the respective slave units collide, and the master unit 100 cannot receive the address request message.
- base unit 100 determines that message exchange unit 121 has not received the first or second address request message while waiting to receive the first or second address request message (S103 or S105). Then, the first master unit ID notification message is transmitted (return to S101).
- the slave unit 200 and the slave unit 300 receive the second master unit ID notification. Waiting for message reception (return to S202).
- the message exchange units 221 and 321 re-execute from the transmission process (S203) of the first address request message.
- the random number generation parameter is set so that the maximum random number for calculating the transmission waiting time of the first to nth address request messages is larger than the maximum random number used for the first calculation. To determine the maximum random number. This reduces the probability that the address request messages will collide again during re-execution.
- the first received message is selected, but another method is used. You can decide. As another example, there is a method of selecting the one having the largest value or the smallest value of the first or second terminal ID piece included in the received message in addition to the reception order. Further, as another method, when the slave unit 200 and the slave unit 300 have information indicating the priority of the own terminal device, the slave unit 200 and the slave unit 300 indicate the priority in the extension area in the message. There is a method of setting information and selecting a message having the highest priority in the parent device 100.
- the random number generation parameter may be changed so that the maximum value output by the random number is changed.
- the random number generation parameter is set so that the higher the priority, the smaller the maximum value.
- the random number generation parameter is changed so that the maximum value that the random number for calculating the transmission waiting time of the first and second address request messages is output is changed, but the process is simplified. Therefore, the same generation parameter may always be used. Similarly, at the time of re-execution after collision between address request messages, the address request message transmission waiting time may be obtained from a random number using the same generation parameter.
- the number of slots is 32, but other slots may be used.
- the slot 31 is assigned to the shared slot, for example, two slots of the slots 30 and 31 or three or more slots may be assigned to the shared slot. In this case, the transmission waiting time of the first or second address request message can be shortened.
- slot 31 which is the last slot of the beacon period is allocated as the shared slot
- slot 1 which is the head side may be allocated conversely.
- slot 1 is assigned as a shared slot, when messages transmitted by a plurality of slave units collide with each other, it may affect the communication between the terminal devices performing data communication. It is always necessary to add one slave unit at a time.
- base unit 100 stores an address management table in the nonvolatile memory, and the address management table stored in the nonvolatile memory when master unit 100 is activated next time.
- the first and second terminal ID pieces, the communication address and the slot number may be sequentially transmitted to notify each slave unit of the communication address and the transmission slot. More specifically, base unit 100 first sets the first terminal ID piece, the second terminal ID piece, the communication address, and the slot as control messages in order from the top of the address management table stored in the nonvolatile memory. To notify.
- Each slave unit sets an address and a slot when the first and second terminal ID pieces match the terminal ID of its own terminal.
- the parent device 100 may further perform the address assignment described in the first embodiment after notifying each child device of the address and the transmission slot based on the address management table stored in the nonvolatile memory.
- a shared slot used for address allocation is provided separately from the normal slot used for normal data communication. For this reason, a slave unit that has already been assigned a communication address and a slot can perform communication even while another slave unit is being assigned an address. On the other hand, if the number of shared slots is small, when communication addresses and slots are assigned to many terminals at once, the probability that address requests will collide increases, which may take extra time.
- the second embodiment when a specific message is received from the master unit, normal data communication is started using the communication address set in the communication interface and the slot indicated by the slot number set in the communication interface.
- communication addresses and slots are assigned to all terminals connected to the network.
- communication address and slot assignment only control messages for assignment can be communicated.
- each slave unit is a terminal to which a communication address and a slot are assigned, normal data communication cannot be performed.
- each child device can perform normal data communication based on an instruction from the parent device.
- the state of each terminal device and the slot configuration in the initial state will be described.
- 0 is assigned to the communication interface 110 of the base unit 100 and 0 is assigned to the slot.
- the communication address is 0x3F (initial value when unassigned) and the slot is 31 (initial value when unassigned).
- FIG. 14 shows the slot configuration during the address assignment process.
- slot 0 is a beacon slot and is assigned to base unit 100.
- Slots 1 to 31 are all shared slots and are used for assignment of communication addresses and slots. As shown in FIG. 14, since there is no normal slot, normal data communication cannot be performed during allocation.
- the communication interface 110 does not transmit a beacon because only the control message is transmitted and received while the communication address and the slot are allocated. Instead, a beacon identifier is set in all control messages output via the communication interface 110, and the same function as a beacon is performed for the slave unit.
- FIG. 15A and FIG. 15B are sequence diagrams showing operations between terminal devices (master device 100, slave device 200, and slave device 300) in the second embodiment.
- FIG. 15A is a sequence diagram showing an operation between the terminal devices during assignment of a communication address and a slot.
- FIG. 15B is a sequence diagram showing an unused slot notification process performed after assignment of communication addresses and slots to all slave units is completed.
- FIG. 16 is a flowchart showing the operation of base unit 100 corresponding to the sequence diagram of FIG. 15A.
- FIG. 17 is a flowchart showing operations of handset 200 and handset 300 corresponding to the sequence diagram of FIG. 15A.
- message exchange section 121 In base unit 100, message exchange section 121 generates an allocation start notification message indicating that a communication address and a slot are allocated. Then, the message exchange unit 121 transmits to all the slave units (slave unit 200 and slave unit 300) connected via the communication path 400 using the slot 0 (S301). In the allocation start notification message, only the message ID is set, and 0 is set in the message body.
- message exchange sections 221 and 321 are waiting to receive the assignment start notification message, and when receiving the assignment start notification message, the first address including the first terminal ID piece A request message is generated (S401). Further, the message exchange units 221 and 321 determine a slot for transmitting the first address request message using a random number from the slots 1 to 31 which are the shared slots, and set them in the communication interfaces 210 and 310. The communication interfaces 210 and 310 transmit the first address request message using the set slot (S402).
- slot 10 is set in communication interface 210, and a first address request message is transmitted to base unit 100 using slot 10.
- slot 20 is set in communication interface 310, and a first address request message is transmitted to base unit 100 using slot 20.
- message exchange section 121 receives the first address request message from slave unit 200 in slot 10. In slot 20, it waits for reception of the first address request message from slave unit 300 (S302).
- the message exchange unit 121 selects the first address request message when there is one received first address request message. When two or more received first address request messages are received, the message exchange unit 121 selects one of the two or more received first address request messages.
- the message exchange unit 121 selects the first address request message received first. If the first address request message is not received even after waiting for reception for one beacon period, the message exchange unit 121 does not have an unassigned child device or the messages of a plurality of child devices collide with each other. The process proceeds to the end process (S308).
- the message exchange unit 121 extracts the first terminal ID piece included in the selected first address request message. Then, a first address response message including the extracted first terminal ID piece as a first selection ID piece is generated and transmitted to the slave unit 200 and the slave unit 300 using the slot 0 (S303). In this way, the first address response message transmitted from the parent device 100 includes the first terminal ID piece of the child device 200.
- the message exchange unit 221 of the child device 200 and the message exchange unit 321 of the child device 300 wait for reception of the first address response message from the parent device 100 (S403).
- the message exchange units 221 and 321 receive the first address response message and extract the first selection ID piece from the received first address response message. If the extracted first selection ID piece matches the first terminal ID piece, the message exchange units 221 and 321 transmit the second address request message (proceed to S404).
- the message exchange units 221 and 321 When the first selection ID piece does not match the first terminal ID piece, it indicates that the message transmitted by the other child device has been selected by the parent device 100, so the message exchange units 221 and 321 The subsequent processing is canceled and the system waits for reception of an allocation start notification message (return to S401).
- the message exchange units 221 and 321 receive the allocation start notification message instead of the first address response message, the first terminal request message transmitted by the other slave unit and the terminal device transmits it. It is determined that the first address request messages collide with each other and base unit 100 has not been able to receive them. Then, message exchange units 221 and 321 again select a slot with a random number and retransmit the first address request message (return to S402).
- the message exchange unit 221 of the slave device 200 receives the first address response message and extracts the first selection ID piece included in the received first address response message. Since the extracted first selection ID piece matches the first terminal ID piece, the second address request message is transmitted (proceeds to S404).
- the message exchange unit 321 of the child device 300 similarly receives the first address response message, but the first selection ID piece does not match the first terminal ID piece. For this reason, the message exchange unit 321 cancels the subsequent processing and waits to receive the allocation start notification message (return to S401).
- the message exchange unit 221 of the child device 200 acquires the second terminal ID piece from the ID management unit 222 and generates a second address request message including the acquired second terminal ID piece. Further, the message exchange unit 221 determines a slot to be transmitted to the parent device 100 by random numbers from the slots 1 to 31 which are shared slots (for example, the slot 15 is selected here), and the determined slot is determined as the communication interface 210. Set to. When the time of the slot 15 comes, the communication interface 210 transmits a second address request message to the parent device 100 (S404).
- message exchange unit 121 waits for reception of the second address request message (S304).
- the message exchanging unit 121 selects the second address request message when only one second address request message is received. If there are two or more received second address request messages, the message exchange unit 121 selects the first received message. If the second address request message is not received even after waiting for one beacon period, it is determined that messages from a plurality of slave units have collided, and the first address response message is retransmitted (return to S303). .
- the message exchange unit 121 receives only the second address request message from the slave unit 200. For this reason, the received second address request message is selected to extract the second terminal ID piece. Then, the message exchange unit 121 transmits a second address response message including the extracted second terminal ID piece as the second selection ID piece to the child device 200 and the child device 300 using the slot 0 (S305). ).
- the message exchange unit 221 waits for reception of the second address response message (S405).
- the message exchange unit 221 receives the second address response message and the second selection ID piece extracted from the received second address response message matches the second terminal ID piece, Waiting for reception (proceeds to S406).
- the message exchange unit 221 waits to receive the assignment start notification message because the message transmitted by the other slave unit is selected. (Return to S401).
- the second address request message is the same as the message of the other slave unit. It is thought that there was a collision. Therefore, the message exchange unit 221 selects a slot with a random number and retransmits the first address request message (S405).
- the message exchange unit 221 receives the second address response message, and the second selection ID piece matches the second terminal ID piece. Therefore, the message exchange unit 221 waits for reception of the address notification message (proceeds to S406).
- the message exchange unit 321 of the child device 300 also receives the second address response message, but at this point, it is waiting to receive an allocation start notification message (S401). Therefore, the message exchange unit 321 discards the received second address response message.
- the message exchange unit 121 In the parent device 100, the message exchange unit 121 generates an address notification message and transmits the generated address notification message to the child device 200 and the child device 300 (S306). Specifically, first, the address management unit 123 selects the first slot 1 among the empty slots, and outputs it to the message exchange unit 121 together with the communication address 1 of the slot 1.
- the address management unit 123 determines a slot and a communication address to be assigned to another slave unit, the address management unit 123 selects slots in order from the beginning of the empty slots such as slot 2, slot 3,. For example, when slots are assigned to three slave units, slots 1 to 3 are assigned and slots 4 to 31 are empty slots. By selecting slots in this way, the number of consecutive empty slots is maximized, and it is possible to further reduce power consumption when performing power saving processing described later.
- the message exchange unit 121 generates an address notification message including the slot and the communication address output from the address management unit 123, and transmits the message to the slave unit 200 and the slave unit 300 using the slot 0.
- the message exchange unit 121 generates the terminal ID of the child device 200 from the first and second selection ID pieces and outputs it to the address management unit 123 as in the first embodiment.
- the address management unit 123 registers the terminal ID of the slave device 200 in the address management table (S307).
- the message exchange unit 221 when receiving the address notification message, extracts the slot and the communication address from the received address notification message (S406). Then, the message exchange unit 221 sets the extracted slot and communication address in the communication interface 210 (S407). As a result, the communication address 1 and slot 1 are set in the communication interface 210, and the allocation process ends.
- the communication interface 210 performs data communication using the communication address and slot set as described above, but at this point, there is no normal slot yet as shown in FIG. Data communication is not performed.
- the message exchange unit 121 of the parent device 100 transmits the allocation start notification message again (S301). Since the slave device 200 has already been assigned, the received assignment start notification message is discarded even if the assignment start notification message is received.
- the slave device 300 is assigned with the slot 2 and the communication address 2 and set in the communication interface 310.
- the message exchange unit 121 of the parent device 100 determines whether or not the condition for ending the allocation process is satisfied because no message is received (S308).
- the message exchange unit 121 confirms as a termination condition whether the number of times the first address request message is not continuously received is a predetermined number or more. When the number of times is greater than or equal to the predetermined number, the message exchange unit 121 determines that the assignment to all the slave units is finished, and finishes the assignment process.
- the predetermined number of times is set to a sufficiently large number in consideration of the occurrence of a collision.
- the parent device 100, the child device 200, and the child device 300 execute the operation shown in the message sequence diagram of FIG. 15B.
- the operation shown in the message sequence diagram of FIG. 15B is performed to reduce the power consumption of parent device 100, child device 200, and child device 300 using the communication address and the slot assignment result.
- the address management unit 123 of the parent device 100 outputs information on empty slots to the message exchange unit 121.
- slot 0 is assigned to master device 100
- slot 1 is assigned to slave device 200
- slot 2 is assigned to slave device 300
- address management unit 123 outputs slots 3 to 31 as empty slot information.
- the message exchange unit 121 When the message exchange unit 121 receives the empty slot information, the message exchange unit 121 generates an empty slot notification message including the received empty slot information and transmits it to the child device 200 and the child device 300 (S311). Further, the message exchange unit 121 sets empty slot information in the communication interface 110.
- the message exchange unit 121 sets the beacon transmission start in the communication interface 110 so that no problem occurs even if normal data communication is started. Thereby, the slot configuration becomes the configuration shown in FIG.
- slot 0 is a beacon slot and is assigned to base unit 100.
- Slots 1 to 31 are normal slots in which normal data communication is possible.
- slot 1 is assigned to slave unit 200 and slot 3 is assigned to slave unit 300.
- the remaining slots 4 to 31 are empty slots that are not assigned to any terminal device.
- message exchange sections 221 and 321 extract empty slot information when receiving an empty slot notification message. Then, the message exchange units 221 and 321 set the extracted empty slot information in the communication interfaces 210 and 310 (S411).
- slots 3 to 31 no terminal device performs message transmission or data communication.
- the time for which the communication function is stopped can be calculated from the number of slots (for example, the time corresponding to one slot ⁇ the number of empty slots), and there is no problem with the synchronization of the slots after the communication function is restored. .
- message exchange units 221 and 321 receive a beacon from base unit 100 as a specific message, normal data communication is performed using slots assigned to each.
- the slave unit by selecting a slot to be transmitted within a beacon period by a random number and transmitting an address request, it is possible to assign a communication address and a slot faster than in the first embodiment. .
- after assigning communication addresses and slots to all the slave units by transmitting the empty slot information to all the slave units, in each slave unit to stop the processing of the communication interface in the empty slot section, It becomes possible to reduce power consumption.
- Embodiment 2 when base unit 100 receives a plurality of first address request messages or a plurality of second address request messages, the first received message is selected. You can decide. As another example, there is a method of selecting the one having the largest value or the smallest value of the first or second terminal ID piece included in the received message in addition to the reception order. Further, as another method, when the slave unit 200 and the slave unit 300 have information indicating the priority of the own terminal device, the slave unit 200 and the slave unit 300 indicate the priority in the extension area in the message. And a message having the highest priority in the base unit 100 is selected.
- the predetermined number of times used when master device 100 determines completion of address assignment processing is a uniform value regardless of the number of assigned child devices. May be determined based on the communication address and the number of slave units to which slots are assigned. For example, the predetermined number of times may be set to a smaller value as the number of slave units to which communication addresses and slots are assigned is larger. This is because the greater the number of slave units to which communication addresses and slots are assigned, the smaller the number of slave units that are not assigned. Therefore, the first or second address request messages transmitted by the slave units are consecutive. This is because the probability of a collision also decreases.
- the beacon is used as the specific message for notifying that the data communication is possible to the slave unit, but a specific control message may be used as the specific message.
- the maximum value of the random number to be generated may be changed according to the priority when selecting a slot with a random number. In this case, the higher the priority is, the smaller the maximum value is, and the first or second address request message is transmitted using the head slot.
- the address management unit 123 selects the consecutive slots in order from the head side among the empty slots.
- the slot may be selected in the order from the rear side.
- the slot configuration after the end of allocation is composed of only a beacon slot and a normal slot as shown in FIG. 18, but it is further shared as shown in FIG. 2 shown in the first embodiment.
- a slot may be provided.
- base unit 100 does not include the shared slot in the empty slot information.
- the shared slot (slot 31) shown in FIG. 2 is provided, the empty slot information notified by the parent device 100 is slots 3 to 30.
- base unit 100 and handset 200 transmit a notification message that is periodically transmitted, including an empty slot notification message.
- base unit 100 periodically transmits first and second base unit ID notification messages and an empty slot notification message. All the slave units periodically receive an empty slot notification message. When it is detected that the empty slot information has been changed, the empty slot information can be appropriately reflected by setting the empty slot information in the communication interface.
- Embodiment 3 In the communication method according to Embodiment 3, when transmitting a notification message such as a base unit ID notification message or an address assignment start message, a notification message including the number of empty slots indicating the number of slots not assigned to any terminal device Send. The maximum random number used for calculating the transmission waiting time is determined according to the number of empty slots.
- the message exchange unit 121 accesses the address management table managed by the address management unit 123 and acquires the number of empty slots.
- the number of empty slots is 30.
- the message exchange unit 121 sets the acquired number of empty slots in the extension area in the first and second master unit ID notification messages, and broadcasts.
- the first and second parent device ID pieces of the parent device 100 may be transmitted using the first and second parent device ID notification messages. .
- a maximum random number for calculating the transmission wait time of the first address request message and the transmission wait time of the second address request message is set based on the number of empty slots.
- the maximum random number for calculating the transmission waiting time of the first address request message is the same as the number of empty slots, and the maximum random number for calculating the transmission waiting time of the second address request message
- the value is set to 1 ⁇ 2 of the number of empty slots. For example, when the number of empty slots is 30, it becomes 30 and 15, respectively, and when the number of empty slots decreases to 28, it becomes 28 and 14, respectively.
- the slave unit 200 and the slave unit 300 calculate the respective transmission waiting times using the random numbers set in the master unit ID reception process (S201 and S202). Since the maximum value of the random number is decreased according to the number of empty slots, each transmission waiting time is reduced probabilistically, and the entire processing time is reduced.
- base unit 100 notifies slave units 200 and 300 of the number of empty slots using the first and second base unit ID notification messages. Then, slave unit 200 and slave unit 300 determine the maximum random number for calculating the transmission wait time of the first and second address request messages based on the number of empty slots acquired from master unit 100.
- the decrease in the number of empty slots means that the number of terminals that transmit the first and second address request messages has also decreased. Show. For this reason, it is possible to reduce the transmission waiting time and reduce the processing time without increasing the probability of message collision.
- the number of empty slots is transmitted. However, assuming that a plurality of slots are allocated to one terminal device, registration from the maximum number of registered units (here, 30 units) at the time of transmission is performed. A value obtained by subtracting the number may be transmitted instead of the number of empty slots.
- the slave unit 200 and the slave unit 300 set the number of slots desired to be assigned to the address request message and transmit it to the master unit 100.
- the number of slots is determined from throughput requirements.
- handset 200 or handset 300 transmits the number of slot requests (here, the number of slots desired to be allocated to the extension area of second address request message). 2 slots) are set and transmitted to base unit 100. That is, slave unit 200 or slave unit 300 sets the number of slot requests in the extension area of the address request message including the last terminal ID. Slave unit 200 or slave unit 300 may set the number of slot requests in the extension area of the address request message including any terminal ID.
- base unit 100 When receiving the second address request message, base unit 100 acquires the number of slot requests desired to be allocated from the received message (S105). Master device 100 refers to the address management table shown in FIG. 8A and confirms that two slots can be secured because slots 1 to 30 are empty slots. Then, similarly to the first embodiment, the second address response message including the second terminal ID piece of the slave 200 is broadcast (S106).
- Master device 100 further secures slots 1 and 2, and for slots 1 and 2 in the address management table, the terminal ID of slave device 200 is the value described in slot 1 for both the terminal ID of the slave device 200 as the terminal ID. Register with. Furthermore, base unit 100 broadcasts the set communication address 1 and slots 1 and 2 by an address notification message (S107 and S108).
- Slave device 200 receives the second address response message, and the second selection ID piece and the second terminal ID piece included in the received second address response message match, so that two slots Is confirmed (S206). Further, the slave unit 200 receives the address notification message, and sets the communication address 1 and the slots 1 and 2 set in the message in the communication interface 210 (S207 and S208).
- the slave unit 200 and the slave unit 300 set the number of slot requests, which is the number of slots desired to be assigned, in the address request message, and transmit it to the master unit 100. Then, base unit 100 can allocate a plurality of slots in addition to the communication address by securing the number of slots set in the address request message and returning an address response message. This eliminates the need for a separate message for securing a slot, and shortens the processing time.
- the slave unit 200 and the slave unit 300 have been described as having the same transmission wait time when transmitting the first and second address request messages.
- the random number generation parameter may be changed so that the maximum value output by the random number for calculating the transmission waiting time is changed according to the number of slot requests that the device 200 and the slave device 300 desire to allocate.
- the slave unit 200 and the slave unit 300 change the generation parameter so as to decrease the maximum value as the number of slot requests desired to be allocated increases. As a result, a terminal device that requires a large number of slots at a time can be easily selected, and the slot can be easily secured.
- the slave unit 200 and the slave unit 300 specify only the number of slot requests, but the slot arrangement may be specified in addition to the number of slots.
- the slot arrangement is information indicating that the slots are continuous, or slots that are evenly distributed within the beacon period.
- the slave unit 200 or the slave unit 300 desires two slots evenly distributed within the beacon period
- the slave unit 200 or the slave unit 300 sets a flag indicating that the slots are distributed in the extension area and the slot request number 2.
- the base unit 100 that has received the message is set with a flag indicating slots that are evenly distributed. Therefore, the slot 1 and the slot 16 are secured as two slots, and the slave unit 200 or the slave unit is transmitted in the address notification message. 300 is notified.
- the slot interval is exactly 1 ⁇ 2 of the beacon period, and the delay time generated until the transmission right circulates to the own terminal can be reduced to 1 ⁇ 2. In this way, it is possible to shorten the delay time by designating to secure slots with distributed arrangements.
- the slave unit 200 or 300 desiring to acquire a distributed slot can output a random number for calculating the transmission waiting time of the first and second address request messages so that the slot can be preferentially secured.
- the random number generation parameter may be changed so that the value becomes smaller.
- the terminal device and the communication method according to the present invention have been described above based on the embodiments. However, the present invention is not limited to these embodiments. Unless it deviates from the meaning of this invention, the form which carried out the various deformation
- the present invention can be realized not only as a terminal device and a communication method, but also as a program for causing a computer to execute the communication method of the present embodiment. Further, it may be realized as a computer-readable recording medium such as a CD-ROM for recording the program. Further, it may be realized as information, data, or a signal indicating the program. These programs, information, data, and signals may be distributed via a communication network such as the Internet.
- the constituent elements constituting the terminal device may be configured from one system LSI (Large Scale Integration).
- the system LSI is an ultra-multifunctional LSI manufactured by integrating a plurality of components on a single chip.
- the system LSI is a computer system including a microprocessor, a ROM, a RAM, and the like. .
- the present invention can be applied to a communication terminal device that uses a DC current power line as a communication path, and can be applied to, for example, bicycle parts.
- Base unit 110 210, 310 Communication interface 120, 220, 320 Control unit 121, 221, 321 Message exchange unit 122, 222, 322 ID management unit 123 Address management unit 130, 230, 330 Separation and mixing unit 140, 240, 340 Bicycle parts 200, 300 Child machine 400 Communication path 500 Battery
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Small-Scale Networks (AREA)
- Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
フレーム長が端末IDより短い場合であっても、通信アドレスとスロットとの割り当てを自動で行う。 親機(100)と子機(200)とがスロットを利用して通信する通信方法であって、子機(200)が、第1~第nの子機ID片をそれぞれ含む第1~第nの要求メッセージを親機(100)に送信するステップ(S203、S204)と、親機(100)が、第1~第nの要求メッセージを受信し、第1~第nの子機ID片をそれぞれ第1~第nの選択端末ID片として含む第1~第nの応答メッセージを送信するステップ(S104、S106)と、親機(100)が、通信アドレスとスロットとを含むアドレス通知メッセージを送信するステップ(S107)と、子機(200)が、第1~第nの選択端末ID片が第1~第nの子機ID片に等しい場合に、通信アドレスとスロットとを子機(200)の通信インタフェース(210)に設定するステップ(S208)とを含む。
Description
本発明は、直流の電力線を通信線として使用する端末装置、および当該端末装置を用いる通信方法に関する。
近年、家庭内のAC(交流)100Vの電力線を通信路としても利用することで、電力線により端末装置に電力を供給しつつ、併せて通信も可能とするPLC(Power Line Communications)技術が開発されている。さらには、特許文献1に示すように、PLC技術のDC(直流)電力線への転用も進んでいる。
一方、特許文献2に示す発明のように、自転車に搭載する表示装置、変速スイッチ、変速装置等の端末装置を、DC電力線を兼ねた通信路で接続し、通信路によってこれらの端末装置に電源を供給するとともに、端末装置間で通信を行う装置が開発されている。特許文献2においては、各端末装置はアナログ信号を出力し、通信を行っている。しかしながら、上述したDC電力線を通信路として利用するPLC技術をこの分野に適用することで、各端末装置がデジタル通信によって情報を交換することも可能となる。
このような自転車用ネットワークにおける通信では、最大の送信遅延時間が保証できることが重要である。これは、例えばユーザーが変速スイッチを操作してから、実際に変速装置によってギアが選択されるまでの所要時間に直接関わるためである。
最大の送信遅延時間を保証するためには、各端末装置が一定の時間以内に必ず送信権を獲得できることが必要である。このような通信制御方式の1つとして、送信権巡回方式がある。
特許文献3は、送信権巡回方式を採用する通信制御方式の一例を示す。特許文献3に記載の情報処理端末は、バス状態検出手段と、カウント手段と、制御手段と、送信手段と、受信手段とを備える。バス状態検出手段は、ネットワークがビジー状態であるかアイドル状態であるかを検出する。カウント手段は、ネットワークがアイドル状態であるときに単位アイドル時間まで繰り返しカウントする。制御手段は、カウント手段による単位アイドル時間を検出するたびにインクリメントするパラメータが、自己に割り当てられた固有のノードID0を初期値とする自己のノードIDと一致したときに送信フレームを生成する。送信手段は、制御手段によって生成された送信フレームをネットワーク上に送信する送信手段。受信手段は、ネットワーク上の他の端末装置から送信された送信フレームを受信する。さらに、制御手段は、受信手段により受信した送信フレーム内に含まれる固有のノードID0を抽出し、パラメータを固有のノードID0に更新する特徴を持つ。
この手法によれば、送信権が各端末装置を一定の順序で巡回するため、フレーム長と接続する端末台数の上限とをそれぞれ決定すれば、各端末装置は、一定の時間以内に必ず送信権が得られる。
なお、ネットワークがアイドル状態である場合の待ち時間である単位アイドル時間と、いずれかの端末装置が送信フレームを送信している時間とを、可変長のスロットと言い換えることもできる。この場合、送信権は該当スロットの到来に等しく、送信権を得た端末装置は、到来したスロットに割り当てられた端末装置に等しい。
しかしながら、上記に示した通信制御方式では、通常のデータ通信を行う前に、各端末装置に通信アドレスだけでなく、固有のノードIDも割り当てる必要がある。固有のノードIDは、予め固定で決定しておくわけにはいかない。
例えば、自転車のネットワークに接続される端末装置は、ユーザーの使用状況に応じてネットワークに接続し、あるいは、ネットワークから取り外されるといったことが頻繁に行われる場合も想定される。また、ユーザーの利便性の点からも、通信アドレスおよび固有のノードIDなどのパラメータの設定は、ユーザーの手を介さずに、自動的に実施されることが望まれる。
さらに、DC電力線を通信路として使用する、自転車用のネットワークに接続される端末装置は、消費電力およびチップのサイズを抑えるため、通信速度は低速である。それゆえフレーム長も短く、端末装置に固有の端末IDよりも短い場合が多い。このため、複数の端末装置が同時に通信アドレスおよびスロットの割り当てを要求した場合、通信端末を特定することが困難となる。
そこで、本発明は、フレーム長が端末IDより短い場合であっても、通信アドレスおよびスロットの割り当てを自動で行うことができる端末装置および通信方法を提供することを目的とする。
上記課題を解決するため、本発明に係る端末装置(子機)は、直流の電力線を通信路として用い、当該通信路を時間的に分割したスロットを利用して他の端末装置と通信を行う端末装置であって、前記他の端末装置との通信を制御する制御部と、前記電力線の信号から受信信号を分離し、所定の送信信号を前記電力線の信号に重畳する分離混合部と、前記分離混合部によって分離された受信信号を前記制御部に出力し、かつ、前記制御部による制御に基づいて前記送信信号を前記分離混合部に出力する通信インタフェースとを備え、前記制御部は、自端末装置を識別するための端末IDを第1~第n(nは2以上の整数)の子機ID片に分割し、当該第1~第nの子機ID片をそれぞれ含む第1~第nの要求メッセージを順次、前記送信信号として出力し、前記他の端末装置から前記分離混合部および前記通信インタフェースを介して、前記第1~第nの要求メッセージに対する応答であり、第1~第nの選択端末ID片をそれぞれ含む第1~第nの応答メッセージを順次、前記受信信号として受信し、受信した第1~第nの応答メッセージに含まれる第1~第nの選択端末ID片が前記第1~第nの子機ID片に一致した場合に、前記他の端末装置から送信されるアドレス通知メッセージに含まれる通信アドレスとスロット番号とを前記通信インタフェースに設定する。
これにより、子機は、端末IDを複数の子機ID片に分割することで、フレーム長が端末IDより短い場合でも端末IDを、他の端末装置である親機に送信することができる。さらに、子機は、親機からの応答メッセージに含まれる選択端末ID片が子機ID片に一致した場合に、親機によって自端末装置が選択されたと判断することで、複数の子機が通信路を利用している場合であっても、親機から通信アドレスとスロットとを取得することが可能となる。
また、前記制御部は、前記第1~第nの応答メッセージのうちの第m(1≦m≦n)の応答メッセージに含まれる第mの選択端末ID片が、前記第1~第nの要求メッセージのうちの第mの要求メッセージに含まれる第mの子機ID片と一致しない場合、前記第mの要求メッセージより後の要求メッセージの送信を中止してもよい。
これにより、複数の子機が要求メッセージを送信している場合において、子機ID片と選択端末ID片とが一致しない場合、親機によって他の子機が選択されたと判断して、要求メッセージの送信を中止することで、要求メッセージ同士の衝突を減少させることができる。したがって、処理時間を短縮させることが可能となる。
また、前記制御部は、乱数を用いて前記第mの要求メッセージの送信待ち時間を算出し、所定の時点から前記送信待ち時間が経過した後に、通信アドレスが割り当てられていない端末装置専用のスロットである特定スロットを用いて、前記第mの要求メッセージを送信してもよい。
これにより、乱数を用いることで、通信アドレスおよびスロットの割り当てを要求する端末装置の台数が多い場合であっても、要求メッセージ同士の衝突が減少し、処理時間を短縮させることが可能となる。
また、前記制御部は、さらに、前記第1~第nの要求メッセージのそれぞれの前記送信待ち時間を算出するのに用いる乱数の最大値を、値が順に小さくなるように決定してもよい。
これによると、より後で送信する要求メッセージであるほど、送信待ち時間の最大値が小さくなり、処理時間を短縮することが可能となる。
また、前記制御部は、前記他の端末装置から定期的に送信される報知メッセージを受信したときから、前記第1の要求メッセージの送信待ち時間が経過した後に、前記第1の要求メッセージを送信してもよい。
これにより、アドレス割り当てを行うタイミングが明確化され、処理が容易となる。
また、前記制御部は、さらに、前記報知メッセージに含まれる、どの端末装置にも割り当てられていないスロットの数を示す空きスロット数に応じて、前記送信待ち時間を算出するのに用いる乱数の最大値を決定してもよい。
これにより、通信アドレスとスロットとが割り当てられた端末装置の台数が増えるほど、つまり、通信アドレスとスロットとを割り当てるべき端末装置の台数が少なくなるほど、送信待ち時間の最大値が小さくなり、処理時間を短縮することが可能となる。
また、前記報知メッセージは、前記他の端末装置を識別するための端末IDが分割された第1~第p(pは2以上の整数)の親機ID片をそれぞれ含む第1~第pの親機ID報知メッセージを含み、前記制御部は、前記第1~第pの親機ID片が以前と異なる値である場合に、前記通信インタフェースに設定した通信アドレスとスロット番号とを初期化してもよい。
これにより、通信アドレスおよびスロットが割り当て済みであって、通常のデータ通信が可能な状態において、親機が別の親機に入れ替わった場合でも、適切でない通信アドレスとスロットとを使い続けることを避けることができる。
また、前記制御部は、前記他の端末装置に前記第mの要求メッセージを送信した後、前記他の端末装置から前記第mの応答メッセージを受信する前に、前記報知メッセージを受信した場合、前記第mの要求メッセージより後の要求メッセージの送信を中止するとともに、前記第1の要求メッセージを再送信してもよい。
これにより、別途、応答メッセージのタイムアウト処理を設ける必要がなく、処理が容易となる。
また、前記制御部は、前記第1の要求メッセージを再送信する場合、前記第1の要求メッセージの送信待ち時間を算出するのに用いる乱数の最大値を、前記第1の要求メッセージの初回の前記送信待ち時間を算出するのに用いた乱数の最大値より、値が大きくなるように決定してもよい。
これにより、再送信を行う場合、複数の子機が送信する要求メッセージ同士が衝突する確率が減少し、処理時間が短縮される。
また、前記制御部は、ビーコン周期を構成する複数のスロットのうち、前記他の端末装置に割り当てられたスロットを除いたスロットを選択し、選択したスロットを用いて前記第mの要求メッセージを送信してもよい。
これにより、要求メッセージの送信待ち時間が短縮され、処理時間を短縮することが可能となる。
また、前記制御部は、前記他の端末装置から特定メッセージを受信した場合に、前記通信インタフェースに設定した通信アドレスと、前記通信インタフェースに設定したスロット番号が示すスロットとを用いて、通常のデータ通信を開始してもよい。
これにより、例えば、通信アドレスとスロットとの割り当てが終了するまでデータ通信を行わないようにすることで、要求メッセージとデータ通信のためのパケットとが衝突することを防ぎ、処理時間を短縮させることが可能となる。
また、前記特定メッセージは、ビーコンであってもよい。
これにより、端末装置が通信を開始するためのメッセージを別途送信する必要がなく、処理が容易になる。
また、前記制御部は、前記他の端末装置に、割り当てを要求するスロットの数であるスロット要求数を含むスロット要求メッセージを送信し、前記他の端末装置から前記アドレス通知メッセージを受信した場合に、当該アドレス通知メッセージに含まれる通信アドレスと、前記スロット要求メッセージに含まれるスロット要求数のスロット番号とを前記通信インタフェースに設定してもよい。
これにより、子機は、新たにメッセージ交換を行うことなく、複数のスロットを取得することが可能となる。
また、前記制御部は、前記他の端末装置から、どの端末装置にも割り当てられていない空きスロットの少なくとも一部を示す空きスロット情報を含むメッセージを受信した場合、当該空きスロット情報が示す空きスロットに相当する期間において、前記通信インタフェースの通信機能を停止してもよい。
これにより、どの端末装置にも割り当てられていないスロットにおいては通信機能を停止させて消費電力を低減することが可能となる。
また、前記制御部は、自端末装置を識別するための端末IDの下位側から順に、それぞれ前記第1~第nの子機ID片となるように分割してもよい。
これにより、確率的に早期に端末ID片の不一致を検出する端末装置が多くなり、要求メッセージの衝突頻度が減少し、割り当てに要する時間を短縮することができる。
また、本発明に係る端末装置(親機)は、また、直流の電力線を通信路として用い、当該通信路を時間的に分割したスロットを利用して他の端末装置と通信を行う端末装置であって、前記他の端末装置との通信を制御する制御部と、前記電力線の信号から受信信号を分離し、所定の送信信号を前記電力線の信号に重畳する分離混合部と、前記分離混合部によって分離された受信信号を前記制御部に出力し、かつ、前記制御部による制御に基づいて、前記送信信号を前記分離混合部に出力する通信インタフェースとを備え、前記制御部は、前記他の端末装置から前記分離混合部および前記通信インタフェースを介して、前記他の端末装置を識別するための端末IDが分割された第1~第n(nは2以上の整数)の端末ID片をそれぞれ含む第1~第nの要求メッセージを順次受信し、かつ、受信した第1~第nの要求メッセージに対する応答であり、前記第1~第nの端末ID片をそれぞれ含む第1~第nの応答メッセージを順次ブロードキャスト送信し、前記第1~第nの応答メッセージを全て送信した場合、前記他の端末装置に割り当てる通信アドレスとスロット番号とを含むアドレス通知メッセージをブロードキャスト送信する。
これにより、親機は、フレーム長が端末IDより短い場合でも、他の端末装置である子機の端末IDが分割された第1~第nの端末ID片を全て受信することで、子機の端末IDを知ることができる。さらに、親機が、第1~第nの端末ID片をそれぞれ含む応答メッセージを全て送信した場合に、子機は自分が親機によって選択されたと判断することができるので、親機は、子機に通信アドレスとスロットとを割り当てることが可能となる。
また、前記制御部は、さらに、前記他の端末装置に前記第1の要求メッセージを送信させるための報知メッセージを、定期的にブロードキャスト送信してもよい。
これにより、アドレス割り当て処理を行うタイミングが明確化され、処理が容易になる。
また、前記制御部は、どの端末装置にも割り当てていないスロットの数を示す空きスロット数を含む前記報知メッセージを送信してもよい。
これにより、子機は、空きスロット数に応じて、要求メッセージの送信待ち時間を調整することができ、処理時間を短縮できる。
また、前記制御部は、前記第1~第nの応答メッセージのうちの第m(1≦m≦n)の応答メッセージを送信してから、所定の期間が経過した後に前記報知メッセージを再びブロードキャスト送信してもよい。
これにより、子機において、別途、応答メッセージのタイムアウト処理を設ける必要がなく、処理が容易となる。
また、前記制御部は、自端末装置を識別するための端末IDが分割された第1~第p(pは2以上の整数)の親機ID片をそれぞれ含む第1~第pの親機ID報知メッセージを前記報知メッセージとして送信してもよい。
これにより、定期的に親機の端末IDを全ての子機に通知することで、通信アドレスおよびスロットが割り当て済みであって、通常のデータ通信が可能な状態において、親機が別の親機に置き換わった場合でも、親機が置き換わったことを子機に通知することが可能となる。
また、前記制御部は、通信アドレスとスロットとを前記他の端末装置へ割り当てる割り当て処理が完了したか否かを判定し、前記割り当て処理が完了したと判定した場合に、通常のデータ通信が開始可能になったことを通知するための特定メッセージをブロードキャスト送信してもよい。
これにより、すでに通信アドレスとスロットとが割り当てられた端末装置が送信するデータ通信のためのパケットと、アドレス割り当てのためのメッセージとが衝突することを防ぎ、処理時間が短縮される。
また、前記特定メッセージは、ビーコンであってもよい。
これにより、端末装置が通信を開始するためのメッセージを別途送信する必要がなく、処理が容易になる。
また、前記制御部は、前記他の端末装置から、割り当てを要求するスロットの数であるスロット要求数を含むスロット要求メッセージを受信した場合、前記スロット要求数のスロット番号を含む前記アドレス通知メッセージをブロードキャスト送信してもよい。
これにより、子機が複数のスロットを要望する場合でも、別途メッセージ交換を行うことなく、複数のスロットを割り当てることが可能となる。
また、前記制御部は、どの端末装置にも割り当てられていない空きスロットの少なくとも一部を示す空きスロット情報を含むメッセージを送信し、かつ、前記空きスロット情報が示す空きスロットに相当する期間において、前記通信インタフェースの通信機能を停止してもよい。
これにより、空きスロットがあれば消費電力を低減することが可能となる。
また、前記制御部は、複数のスロットを割り当てる場合、ビーコン周期を構成する複数のスロットのうち、先頭側または後ろ側から順に前記他の端末装置を含む1つ以上の他の端末装置に割り当てるスロットを決定してもよい。
これにより、空きスロットは常に連続したスロットで構成され、効率良い省電力化を行うことが可能となる。
また、前記端末装置は、自転車に搭載可能であり、互いに通信する部品であってもよい。
これにより、自転車の部品間で最大遅延時間が保証された制御通信が可能となる。
また、本発明に係る通信方法は、また、直流の電力線を通信路として用いるネットワークにおいて、第1の端末装置および第2の端末装置が前記通信路を時間的に分割したスロットを利用して通信する通信方法であって、前記第2の端末装置が、当該第2の端末装置を識別するための端末IDを第1~第n(nは2以上の整数)の子機ID片に分割し、当該第1~第nの子機ID片をそれぞれ含む第1~第nの要求メッセージを順次、前記第1の端末装置に送信する要求メッセージ送信ステップと、前記第1の端末装置が、前記第1~第nの要求メッセージを順次受信し、かつ、受信した第1~第nの要求メッセージに対する応答であり、前記第1~第nの子機ID片をそれぞれ第1~第nの選択端末ID片として含む第1~第nの応答メッセージを順次、ブロードキャスト送信する応答メッセージ送信ステップと、前記第1の端末装置が、前記第1~第nの応答メッセージを送信した後に、前記第2の端末装置に割り当てる通信アドレスとスロット番号とを含むアドレス通知メッセージを送信するアドレス通知メッセージ送信ステップと、前記第2の端末装置が、前記アドレス通知メッセージを受信するアドレス通知メッセージ受信ステップと、前記第2の端末装置が、前記第1~第nの選択端末ID片が前記第1~第nの子機ID片に等しい場合に、前記アドレス通知メッセージに含まれる通信アドレスとスロット番号とを、前記第2の端末装置の通信インタフェースに設定するアドレス設定ステップとを含む。
これにより、第2の端末装置である子機は、フレーム長が端末IDよりも短い場合でも、端末IDを複数の子機ID片に分割することで、第1の端末装置である親機に送信することができる。さらに、子機は、親機からの応答メッセージに含まれる選択端末ID片が子機ID片に一致した場合に、親機によって自端末装置が選択されたと判断することで、複数の子機が通信路を利用している場合であっても、親機は、子機に通信アドレスとスロットとを割り当てることが可能となる。
また、前記要求メッセージ送信ステップでは、前記第2の端末装置が、前記第1~第nの応答メッセージを順次受信し、前記第1~第nの応答メッセージのうちの第m(1≦m≦n)の応答メッセージに含まれる第mの選択端末ID片が、当該第2の端末装置の第mの子機ID片に一致しない場合、前記第1~第nの要求メッセージのうちの第mの要求メッセージより後の要求メッセージの送信を中止してもよい。
これにより、要求メッセージ同士が衝突する確率が減少し、処理時間を短縮できる。
また、前記通信方法は、さらに、前記第2の端末装置が、乱数を用いて前記第mの要求メッセージの送信待ち時間を算出する送信待ち時間算出ステップを含み、前記要求メッセージ送信ステップでは、所定の時点から前記送信待ち時間が経過した後に、通信アドレスが割り当てられていない端末装置専用のスロットである特定スロットを用いて、前記第mの要求メッセージを送信してもよい。
これにより、複数の子機が要求メッセージを送信する場合であっても、メッセージ同士が衝突する確率が減少し、処理時間を短縮できる。
また、前記送信待ち時間算出ステップでは、さらに、前記第1~第nの要求メッセージのそれぞれの送信待ち時間を算出するのに用いる乱数の最大値を、値が順に小さくなるように決定してもよい。
これにより、要求メッセージを送信する端末装置の台数の減少にあわせて送信待ち時間も減少するため、処理時間を短縮できる。
また、前記通信方法は、さらに、前記第1の端末装置が、前記第1の要求メッセージを送信させるための報知メッセージを定期的にブロードキャスト送信する報知メッセージ送信ステップを含み、前記要求メッセージ送信ステップでは、前記第2の端末装置が、前記報知メッセージを受信したときから、前記第1の要求メッセージの送信待ち時間が経過した後に、前記第1の要求メッセージを送信してもよい。
これにより、アドレス割り当て処理を行うタイミングが明確化され、処理が容易となる。
また、前記報知メッセージ送信ステップでは、どの端末装置にも割り当てていないスロットの数を示す空きスロット数を含む前記報知メッセージを送信し、前記送信待ち時間算出ステップでは、前記空きスロット数に応じて、前記送信待ち時間を算出するのに用いる乱数の最大値を決定してもよい。
これにより、通信アドレスとスロットとの割り当てを行う端末装置の減少に従い、送信待ち時間が短縮されるため、処理時間を短縮できる。
また、前記報知メッセージ送信ステップでは、前記第mの応答メッセージを送信してから、所定の期間が経過した後に前記報知メッセージを再び送信し、前記要求メッセージ送信ステップでは、前記第mの要求メッセージを送信した後、前記第mの応答メッセージを受信する前に、前記報知メッセージを受信した場合、前記第mの要求メッセージの後の要求メッセージの送信を中止するとともに、前記第1の要求メッセージを再送信してもよい。
これにより、子機は応答メッセージのタイムアウトのための特別な機構を持つ必要がなく、実装が簡単になる。
また、前記送信待ち時間算出ステップでは、前記第1の要求メッセージを再送信する場合、前記第1の要求メッセージの送信待ち時間を算出するのに用いる乱数の最大値を、前記第1の要求メッセージの初回の送信待ち時間を算出するのに用いた乱数の最大値より、値が大きくなるように決定してもよい。
これにより、再送信時は、複数の子機が送信したアドレス要求メッセージ同士が衝突する確率が減少し、処理時間を短縮できる。
また、前記報知メッセージ送信ステップでは、前記第1の端末装置を識別するための端末IDを第1~第p(pは2以上の整数)の親機ID片に分割し、当該第1~第pの親機ID片をそれぞれ含む第1~第pの親機ID報知メッセージを前記報知メッセージとして送信し、前記通信方法は、さらに、前記第2の端末装置が、前記報知メッセージを受信し、受信した報知メッセージに含まれる前記第1~第pの親機ID片が以前と異なる値である場合に、前記第2の端末装置の通信インタフェースに設定した通信アドレスとスロット番号とを初期化する初期化ステップを含んでもよい。
これにより、全ての子機に定期的に親機の端末IDを通知でき、通信アドレスおよびスロットが割り当て済みであって、通常のデータ通信が可能な状態中において親機が変更された場合でも、子機は親機の変更を検出し、不適切な通信アドレスを使用し続けることを避けることができる。
また、前記要求メッセージ送信ステップでは、ビーコン周期を構成する複数のスロットのうち、前記第1の端末装置に割り当てられたスロットを除いたスロットを、乱数を用いて選択し、選択したスロットを用いて前記第mの要求メッセージを送信してもよい。
これにより、1ビーコン周期で1つの要求メッセージを送信するため、処理時間が短縮される。
また、前記通信方法は、さらに、前記第1の端末装置が、通信アドレスとスロットとを前記第2の端末装置へ割り当てる割り当て処理が完了したか否かを判定し、前記割り当て処理が完了したと判定した場合に、通常のデータ通信が開始可能になったことを通知するための特定メッセージをブロードキャスト送信する特定メッセージ送信ステップと、前記第2の端末装置が、前記特定メッセージを受信した場合に、前記通信インタフェースに設定した通信アドレスと、前記通信インタフェースに設定したスロット番号が示すスロットとを用いて、通常のデータ通信を開始する通信開始ステップとを含んでもよい。
これにより、すでに通信アドレスとスロットとが割り当てられた端末装置が送信するデータ通信のためのパケットと、アドレス割り当てのためのメッセージとが衝突することを防ぎ、処理時間が短縮される。
また、前記特定メッセージは、ビーコンであってもよい。
これにより、端末装置が通信を開始するためのメッセージを別途送信する必要がなく、処理が容易になる。
また、前記通信方法は、さらに、前記第2の端末装置が、割り当てを要求するスロットの数であるスロット要求数を含むスロット要求メッセージを送信するスロット要求メッセージ送信ステップと、前記第1の端末装置が、前記スロット要求メッセージを受信した場合、前記第2の端末装置に割り当てる、前記スロット要求数のスロットを決定するスロット決定ステップとを含んでもよい。
これにより、一度に複数のスロットを割り当てる場合でも、別途メッセージ交換を行うことなく割り当てることが可能となる。
また、前記通信方法は、さらに、前記第1の端末装置が、どの端末装置にも割り当てられていない空きスロットの少なくとも一部を示す空きスロット情報を含むメッセージを送信する空きスロット情報送信ステップと、前記第2の端末装置が、前記空きスロット情報を含むメッセージを受信し、前記空きスロット情報が示す空きスロットに相当する期間において、前記第2の端末装置の通信インタフェースの通信機能を停止する省電力ステップとを含んでもよい。
これにより、空きスロットがあれば端末装置の消費電力を抑えることが可能となる。
また、前記アドレス通知メッセージ送信ステップでは、複数のスロットを割り当てる場合、ビーコン周期を構成する複数のスロットのうち、先頭側または後ろ側から順に前記他の端末装置を含む1以上の他の端末装置に割り当てるスロットを決定してもよい。
これにより、空きスロットは常に連続したスロットで構成され、効率良い省電力化を行うことが可能となる。
また、前記要求メッセージ送信ステップでは、前記第2の端末装置の端末IDを、下位側から順に前記第1~第nの子機ID片となるように分割してもよい。
これにより、確率的に早期に端末ID片の不一致を検出する端末装置が多くなり、アドレス要求メッセージの衝突頻度が減少し、処理時間が短縮される。
また、前記第1および第2の端末装置は、自転車に搭載可能であり、互いに通信する部品であってもよい。
これにより、自転車の部品間で送信権巡回型通信制御を用いた通信が可能となる。
本発明に係る端末装置および通信方法によれば、端末装置固有の端末IDよりもフレーム長が短い場合であっても、効率良く通信アドレスとスロットとを端末装置に割り当てることが可能となる。
以下では、本発明に係る端末装置、および通信方法について実施の形態に基づいて詳細に説明する。なお、以下の実施の形態では、特に必要なとき以外は同一または同様な部分の説明を原則として繰り返さない。
(実施の形態1)
実施の形態1に係る通信方法は、第1の端末装置である親機および第2の端末装置である子機が通信路を時間的に分割したスロットを利用して通信する通信方法であって、子機が、第1~第nの子機ID片をそれぞれ含む第1~第nの要求メッセージを親機に送信するステップと、親機が、第1~第nの要求メッセージを受信し、第1~第nの子機ID片をそれぞれ第1~第nの選択端末ID片として含む第1~第nの応答メッセージを送信するステップと、親機が、通信アドレスとスロットとを含むアドレス通知メッセージを送信するステップと、子機が、アドレス通知メッセージを受信するステップと、子機が、選択端末ID片が子機ID片に等しい場合に、通信アドレスとスロット番号とを子機の通信インタフェースに設定するステップとを含むことを特徴とする。
実施の形態1に係る通信方法は、第1の端末装置である親機および第2の端末装置である子機が通信路を時間的に分割したスロットを利用して通信する通信方法であって、子機が、第1~第nの子機ID片をそれぞれ含む第1~第nの要求メッセージを親機に送信するステップと、親機が、第1~第nの要求メッセージを受信し、第1~第nの子機ID片をそれぞれ第1~第nの選択端末ID片として含む第1~第nの応答メッセージを送信するステップと、親機が、通信アドレスとスロットとを含むアドレス通知メッセージを送信するステップと、子機が、アドレス通知メッセージを受信するステップと、子機が、選択端末ID片が子機ID片に等しい場合に、通信アドレスとスロット番号とを子機の通信インタフェースに設定するステップとを含むことを特徴とする。
まず、実施の形態1に係る端末装置が適用されるネットワークの構成について説明する。
図1は、本発明の実施の形態1における自転車ネットワークの構成の一例を示す図である。図1に示す自転車ネットワークは、複数の端末装置(親機100と、子機200および子機300)と、通信路400と、バッテリー500とを備える。
実施の形態1においては、複数の端末装置はそれぞれ、自転車に搭載可能な部品であって、親機100、子機200および子機300として動作する。通信路400は、複数の端末装置(親機100、子機200および子機300)間で通信を行うための通信路である。通信路400はさらに、DC電流の電力線でもある。バッテリー500は、電力線でもある通信路400を介して、複数の端末装置(親機100、子機200および子機300)のそれぞれに電力を供給する。
次に、各端末装置(親機100、子機200および子機300)の詳細な説明をする前に、実施の形態1における通信方式について、図2を用いて説明する。図2は、本発明の実施の形態1におけるスロットの構成の一例を示す図である。
実施の形態1では、送信権巡回型通信制御を用いる。送信権巡回型通信制御では、通信路をスロットに時分割し、各スロットに、送信権を持つ1台の端末装置を割り当てる。
各端末装置(親機100、子機200および子機300)は、常に通信路400を監視しており、通信路400がビジーでない状態が所定の時間だけ経過すると、次のスロットへ移行したとみなす。一方、通信路400がビジーであった場合、各端末装置(親機100、子機200および子機300)は、いずれかの端末装置がメッセージを送信中であるとみなし、通信路400が一旦ビジーでない状態になればメッセージの送信が完了し、次のスロットへ移行したとみなす。
なお、後述するように実施の形態1では、メッセージ長が全て等しいため、通信路400がビジーであることを検出してから所定の時間経過した場合を次のスロットへ移行したとみなしてもよい。このようにして各端末装置(親機100、子機200および子機300)は、今はどのスロットであるかを自律的に判断する。
そして、各端末装置(親機100、子機200および子機300)は、送信すべきデータが存在する場合に、自端末装置が送信権を持つスロットの時刻になったときに、データを送信する。各スロットに割り当てる端末装置を高々1つとすると、通信路400上での衝突を回避し、再送が発生しない。各端末装置での同期合わせのため、親機100は、周期的にビーコン、もしくはビーコン識別情報を含むメッセージ(以下、ビーコン付きメッセージ)を送信する。親機100を除く端末装置(子機200および子機300)は、ビーコンまたはビーコン付きメッセージの受信により同期合わせを行う。
図2において、スロット0~31は、スロットを識別するスロット番号である。親機100は、32スロットごとにビーコンまたはビーコン付きメッセージを送信する。このスロット0~31に相当する期間をビーコン周期と呼ぶ。つまり、ビーコン周期は、複数のスロット(ここでは、32個のスロット)から構成される。ビーコン周期の先頭から順にスロット番号を、スロット0、スロット1…のように割り当てる。
ビーコン周期の最初のスロットであるスロット0は、ビーコンスロットである。ビーコンスロットには、必ず親機100が割り当てられる。親機100は、ビーコンスロットを用いて、ビーコンを送信する。
ビーコン周期の最後のスロットであるスロット31は、共用スロットである。共用スロットは、通信アドレスが割り当てられていない端末装置専用のスロットである特定スロットである。スロットが割り当てられていない端末装置は、共用スロットを用いて親機100と通信し、スロットの割り当てを行う。
なお、共用スロットを使用する端末装置の台数は1台に限定されないため、それぞれの端末装置から送信されたメッセージ同士の衝突が発生し得る。なお、本実施の形態における共用スロットは、ビーコン周期の最後のスロットに設けているため、仮にメッセージ同士の衝突が発生した場合でも、同じビーコン周期においてはビーコンスロット(スロット0)や通常スロット(スロット1~30)の動作には影響を与えない。
スロット1~スロット30は、通常スロットである。各子機に1スロットずつが割り当てられ、各子機が割り当てられたスロットを用いてメッセージを送信する。なお、子機台数が30台未満の場合、割り当てられないスロットが発生するが、本実施の形態においては親機、子機とも1端末装置当たり1スロットのみ割り当てるものとし、空きスロットにはどの端末装置も割り当てないままとする。
次に、各端末装置が送信するフレームについて、図3A~図3Cを用いて説明する。図3Aは、実施の形態1において、端末装置(親機100、子機200および子機300)が送信するフレーム構造の一例を示す図である。図3Bは、実施の形態1において、フレームの種別を示すtypeの構成の一例を示す図である。図3Cは、実施の形態1において、ペイロードに含まれる制御メッセージの構成の一例を示す図である。
図3Aに示すように、フレームは、DA(Destination Address)、SA(Source Address)、type、ペイロード、CRC(Cyclic Redundancy Check)から構成される。
DAは、宛先アドレスであり、6bit長のサイズを持つ。宛先アドレスが0~31の場合、DAは、それぞれ0x00~0x1Fとなる。また、宛先アドレスがブロードキャストアドレスの場合、DAは、0x3Fとなる。
SAは、送信元アドレスであり、DAと同様に6bit長のサイズを持つ。送信元アドレスが0~31の場合、SAは、それぞれ0x00~0x1Fとなる。また、端末装置が通信アドレスを付与される前にフレームを送信する場合、SAは、0x3Fとなる。
typeは、フレームの種別を表し、2bit長のサイズを持つ。図3Bに示すように、typeは、メッセージ種別、およびビーコン識別子から構成される。メッセージ種別は、ペイロードに格納されたメッセージの種別を示している。メッセージ種別が、0ならばデータメッセージが、1ならば制御メッセージがペイロードに格納されている。ビーコン識別子は、フレームがビーコンであるか否かを示している。ビーコン識別子が、0ならば通常のフレーム、1ならばビーコンとして機能するフレームである。
ペイロードは、4byte長のサイズを持ち、メッセージを格納する。メッセージは、データメッセージまたは制御メッセージである。メッセージの区別は、上述のメッセージ種別により識別される。
データメッセージは、フリーフォーマットである。データメッセージは、端末装置への通信アドレスおよびスロットが割り当てられた後に実行することが可能な通常のデータ通信に利用される。
制御メッセージは、図3Cに示すフォーマットを持つ。制御メッセージは、端末装置への通信アドレスおよびスロットの割り当て処理に利用される。制御メッセージは、1byte長のメッセージヘッダと、3byte長のメッセージボディとから構成される。メッセージヘッダは、制御メッセージの種類を識別する識別子であるメッセージIDと拡張情報とから構成される。拡張情報は、通常は0が設定される。また、メッセージボディは、メッセージIDごとに構造が規定される。
以上に説明したように、各端末装置(親機100、子機200および子機300)は、1つのスロットを用いて、4byte長のメッセージを送信することで、他の端末装置との通信を行う。
続いて、図4~図6を用いて、親機100、子機200および子機300の構成について詳しく説明する。図4は、実施の形態1における端末装置の一例である親機100の詳細な構成を示す図である。図5は、実施の形態1における端末装置の一例である子機200の詳細な構成を示す図である。図6は、実施の形態1における端末装置の別の一例である子機300の詳細な構成を示す図である。
まず、図4を用いて、親機100の構成について詳しく説明する。図4に示すように、親機100は、通信インタフェース110と、制御部120と、分離混合部130と、自転車部品140(ここでは、サイクルコンピュータ)とを備える。
通信インタフェース110は、通信路400を介して他の端末装置(子機200および子機300)と通信するためのインタフェースである。具体的には、通信インタフェース110は、分離混合部130によって電力線の信号から分離された受信信号を制御部120に出力する。また、通信インタフェース110は、制御部120からの制御に基づいて、所定の送信信号を分離混合部130に出力する。より具体的には、通信インタフェース110は、制御部120によって通信アドレスおよびスロット番号が設定され、設定されたスロット番号が示すスロットを利用して、設定された通信アドレスを宛先としてデータの送信を行う。
制御部120は、他の端末装置(ここでは、子機200および子機300)との通信を制御する。具体的には、制御部120は、通信インタフェース110を介して、他の端末装置が備える制御部との間で制御メッセージの送受信を行う。また、自転車部品140が他の端末装置が備える自転車部品との間でデータ通信を行うにあたり、制御部120は、自転車部品140に代わって通信処理を行う。
分離混合部130は、通信インタフェース110からの送信信号を電力線の信号と重畳して混合信号として通信路400に出力する。また逆に、分離混合部130は、通信路400上の混合信号を受信信号と電力線の信号とに分離する。そして、分離混合部130は、通信信号を通信インタフェース110に出力するとともに、親機100を構成する各部に電力信号を供給することで、各部に電力を供給する。
自転車部品140は、親機100においてはサイクルコンピュータが接続されている。サイクルコンピュータは一例であり、自転車部品140の種別が本発明に影響を及ぼすものではない。
ここで、制御部120のより詳細な構成について説明する。図4に示すように、制御部120は、メッセージ交換部121と、ID管理部122と、アドレス管理部123とを備える。
メッセージ交換部121は、自転車部品140から送信すべきデータと宛先とを受け取った場合、通信インタフェース110を介して、受け取ったデータをデータメッセージとして送信する。また、メッセージ交換部121は、通信インタフェース110を介して、他の端末装置から親機100宛のデータメッセージを受信すると、自転車部品140に受け渡す。
さらに、メッセージ交換部121は、他の端末装置のメッセージ交換部と通信を行うための制御データを生成し、通信インタフェース110を介して、制御メッセージとして送信する。また、メッセージ交換部121は、通信インタフェース110を介して、他の端末装置上のメッセージ交換部からの制御メッセージを受信すると、受信した制御メッセージに基づいた動作を行う。
このように、メッセージ交換部121は、自転車部品同士のデータ通信と、メッセージ交換部同士の制御通信とを行う。
ID管理部122は、親機100を他の端末装置と区別するための識別子である端末IDを保有する。親機100の端末IDを、ここでは特に親機IDと呼ぶ。図7は、各端末装置(親機100、子機200および子機300)の端末IDの一覧の一例を示す図である。ID管理部122は、図7に示すように、親機IDとして「00:0F:1F:D7:72:91」を保持する。
アドレス管理部123は、アドレス管理テーブルを用いて、スロット番号と割り当てる通信アドレスとの組を保持する。図8Aは、初期状態のアドレス管理テーブルの一例を示す図である。図8Bは、子機を登録した状態のアドレス管理テーブルの一例を示す図である。アドレス管理テーブルは、スロットごとに有効/無効フラグ、通信アドレス、および端末IDを保持する。
有効/無効フラグは、対応するスロット全体が有効(=割り当て済み)か、無効(=未割り当て)かを示すフラグである。
通信アドレスは、対応するスロットに割り当てる子機に対して付与する予定の通信アドレス、または、対応するスロットに割り当てた子機に対して付与した通信アドレスを示す。有効/無効フラグが無効の場合、付与する予定の通信アドレスを示し、有効の場合、付与した通信アドレスを示す。なお、図8Aでは説明を容易にするために通信アドレスをスロットと同じ値としたが、両者が同じ値である必要はない。
端末IDは、対応するスロットに割り当てた子機の端末IDを示す。有効/無効フラグが有効である場合のみ、端末IDの値は有効である。図8Bには、スロット1に子機200の端末IDを登録した場合のアドレス管理テーブルを示している。
なお、親機100においては、通信インタフェース110に対し、スロット0および通信アドレス0が割り当てられている。ここでスロット0はビーコンスロットであり、親機100がビーコンを周期的に送信するために必須のスロットである。通信アドレスは、システム内で決定しておれば、特に0に限定されることはない。
続いて、図5を用いて、子機200の構成について詳しく説明する。
図5に示すように、子機200は、親機100と同様に、通信インタフェース210と、制御部220と、分離混合部230と、自転車部品240(ここでは、変速スイッチ)とを備える。なお、通信インタフェース210、分離混合部230はそれぞれ、親機100が備える通信インタフェース110、分離混合部130と同様のため、説明を省略する。
自転車部品240は、実施の形態1では、一例として自転車の変速スイッチである。変速スイッチは、ユーザーの操作により入力された変速情報を含むデータメッセージを、自転車部品140(サイクルコンピュータ)を介し、後述する自転車部品340(変速装置)へ通知する。
制御部220は、メッセージ交換部221と、ID管理部222とを備える。
メッセージ交換部221は、親機100におけるメッセージ交換部121と同様に、自転車部品240が他の端末装置上の自転車部品との間でデータメッセージの通信を行うためのデータ通信と、メッセージ交換部221自体が、他の端末装置上のメッセージ交換部との間で制御メッセージの通信を行うための制御通信とを行う。実施の形態1においては、メッセージ交換部221は、親機100のメッセージ交換部121との間で制御メッセージの通信を行い、通信インタフェース210に設定すべき通信アドレスとスロット番号とを取得する。さらには、メッセージ交換部221は、取得した通信アドレスとスロット番号とを通信インタフェース210に設定し、また、当該設定の解除あるいは初期化を行う。
ID管理部222は、子機200の端末IDを保有する。図7に示す例では、ID管理部222は、端末IDとして「00:0F:1F:D7:72:92」を保持する。
なお、初期状態においては、通信インタフェース210には通信アドレスは設定されておらず、通信インタフェース210は、アドレス未設定時の設定値0x3Fを使用する。また、通信インタフェース210は、初期状態において、共用スロット(スロット31)を使用する。
次に、図6を用いて、子機300の構成について詳しく説明する。
図6に示すように、子機300も子機200と同様に、通信インタフェース310と、制御部320と、分離混合部330と、自転車部品340(ここでは、変速装置)とを備える。なお、通信インタフェース310、分離混合部330はそれぞれ、子機200が備える通信インタフェース210、分離混合部230と同様のため、説明を省略する。
自転車部品340は、実施の形態1では、一例として自転車の変速装置であり、自転車部品240(変速スイッチ)からのデータメッセージに従って、自転車のギアを切り替える。
制御部320も子機200の場合と同様に、メッセージ交換部321、ID管理部322を備える。図7に示す例では、ID管理部322は、端末IDとして「00:0F:1F:D7:72:93」を保持する。
なお、初期状態においては、通信インタフェース310には通信アドレスは設定されておらず、通信インタフェース310は、子機200と同様に、アドレス未設定時の設定値0x3Fを使用する。また、通信インタフェース310は、初期状態において、共用スロット(スロット31)を使用する。
したがって、初期状態において子機200および子機300が親機100に送信したメッセージは、通信アドレスおよびスロットからは、どの子機が送信したメッセージであるかを、親機100は判別できない。同様に、親機100も、あるメッセージを子機200のみに送信することも、子機300のみに送信することもできない。各端末装置(親機100、子機200および子機300)が、特定の端末装置にメッセージを送信するためには、通信アドレスおよびスロットを割り当てる必要がある。
次に、図9~図12を用いて、親機100が子機200および子機300に通信アドレスとスロットを割り当てるアドレス割り当て方法について説明する。
図9は、実施の形態1における各端末装置(親機100、子機200および子機300)間の動作を示すシーケンス図である。図10は、実施の形態1における端末装置の一例である親機100の動作を示すフローチャートである。図11は、実施の形態1における端末装置の一例である子機200のアドレス割り当て時の動作を示すフローチャートである。図12は、実施の形態1における端末装置の一例である子機200のアドレス割り当て後の動作を示すフローチャートである。
図9および図10に示すように、親機100は、通信路400を介して接続される全ての子機(図1の例では、子機200および子機300)に、親機100を識別するための親機IDを送信する(S101、S102)。親機IDは、図7に示すように全体で6byte長のサイズである。
しかしながら、図3Cに示すように制御メッセージのメッセージボディのサイズは3byte長である。このため、親機100の制御部120は、図13に示すように、親機IDを、メッセージボディのサイズである3byte長のサイズとなる第1の親機ID片と第2の親機ID片とに分割する。そして、制御部120は、親機IDが分割された第1の親機ID片および第2の親機ID片をそれぞれ制御メッセージに含めて順次送信する。
したがって、まず、親機100は、通信路400を介して接続される全ての子機に対して、第1の親機ID片を含む第1の親機ID報知メッセージをブロードキャスト送信する(S101)。具体的には、親機100のメッセージ交換部121は、ID管理部122から第1の親機ID片「D7:72:91」を取得し、取得した第1の親機ID片をメッセージボディに含む第1の親機ID報知メッセージを生成する。このとき、宛先にブロードキャストアドレス(0x3F)を指定し、生成した第1の親機ID報知メッセージを通信インタフェース110に出力する。
通信インタフェース110は、第1の親機ID報知メッセージを、スロット0の時刻が到来するときに、SAが0x0、DAが0x3F(ブロードキャストアドレス)、typeのメッセージ種別が1(制御)、ACKが0(通常)、ビーコン識別子が1(ビーコン)の状態で、通信路400に出力する。
子機200および子機300では、子機200のメッセージ交換部221および子機300のメッセージ交換部321は、通信インタフェース210および310を介して、第1の親機ID報知メッセージを受信する(S201)。そして、メッセージ交換部221および321はそれぞれ、第1の親機ID報知メッセージに含まれる第1の親機ID片を取り出し、一時保存する。
次に、親機100は、通信路400を介して接続された全ての子機に、第2の親機ID片を含む第2の親機ID報知メッセージをブロードキャスト送信する(S102)。具体的には、親機100のメッセージ交換部121は、ID管理部122から第2の親機ID片「00:0F:1F」を取得し、取得した第2の親機ID片をメッセージボディに含む第2の親機ID報知メッセージを生成する。このとき、宛先にブロードキャストアドレス(0x3F)を指定し、生成した第2の親機ID報知メッセージを通信インタフェース110に出力する。
子機200および子機300では、子機200のメッセージ交換部221および子機300のメッセージ交換部321は、第2の親機ID報知メッセージを受信する(S202)。そして、メッセージ交換部221および321はそれぞれ、第2の親機ID報知メッセージに含まれる第2の親機ID片を取り出し、第1の親機ID片と合わせて、一時保存する。これにより、子機200および子機300において、親機100の親機IDは「00:0F:1F:D7:72:91」であることが判明する。
続いて、子機200および子機300では、メッセージ交換部221および321は、親機100から通信アドレスとスロット番号とを取得するためのアドレス要求メッセージを親機100に送信する。ここで、子機200および子機300が親機100に送信するアドレス要求メッセージには、親機100が送信元を判定できるように、自端末の端末IDを含める必要がある。しかしながら、メッセージボディ長(3byte)<端末ID長(6byte)のため、一度に送信することはできない。
そこで、子機200および子機300は、端末IDをメッセージボディ長以下となるよう、それぞれの端末IDを第1の端末ID片(第1の子機ID片)と第2の端末ID片(第2の子機ID片)とに分割する。子機200および子機300は、第1の端末ID片を第1のアドレス要求メッセージとして、第2の端末ID片を第2のアドレス要求メッセージとして、親機100に送信する。
例えば、図13に示すように、子機200の第1の端末ID片は「D7:72:92」であり、子機200の第2の端末ID片は「00:0F:1F」である。子機300の第1の端末ID片は「D7:72:93」であり、子機300の第2の端末ID片は「00:0F:1F」である。
ここで、メッセージ交換部221および321は、子機200および300の端末IDを下位側から順に、第1の子機ID片、第2の子機ID片…となるように分割する。これにより、端末IDの下位側の方が上位側より、各端末装置間で異なっている場合が多いため、より早く端末IDの一致/不一致を判定することができる。
したがって、まず、メッセージ交換部221および321は、第1のアドレス要求メッセージを送信する(S203)。具体的には、メッセージ交換部221および321は、まず、乱数を用いて第1のアドレス要求メッセージを送信するまでの送信待ち時間を算出する。
図9においては、メッセージ交換部221が算出した送信待ち時間がt21であり、メッセージ交換部321が算出した送信待ち時間がt31である。図9に示すように、例えば、t21<t31となる関係がある。
次に、メッセージ交換部221および321は、所定の時点から、算出した送信待ち時間が経過するのを待つ。例えば、メッセージ交換部221および321は、第2の親機ID報知メッセージを受信した時点から、第1のアドレス要求メッセージの送信待ち時間が経過するのを待機する。メッセージ交換部221および321は、送信待ち時間の間に第1のアドレス応答メッセージを受信した場合、この第1のアドレス応答メッセージは別の子機宛のものであるため、以降の処理を取りやめ、再度、親機100から第1の親機ID報知メッセージを受信するのを待機する(S201に戻る)。
算出した送信待ち時間が経過すると、子機200および子機300のうち送信待ち時間の短い子機が、第1のアドレス要求メッセージを生成し、生成した第1のアドレス要求メッセージを送信する。図9に示す例では、送信待ち時間の短い子機200が処理を行う。
子機200のメッセージ交換部221は、ID管理部222から第1の端末ID片「D7:72:92」を取得し、取得した第1の端末ID片を含む第1のアドレス要求メッセージを生成する。そして、メッセージ交換部221は、親機100を宛先として、第1のアドレス要求メッセージを通信インタフェース210に出力する。
通信インタフェース210は、共用スロット(スロット31)の時刻が到来すると、SAが0x3F(通信アドレス未設定)、DAが0x0(親機100)、typeのメッセージ種別が1(制御)、ACKが0(通常)、ビーコン識別子が0(通常)の状態で、第1のアドレス要求メッセージを通信路400に出力する。一方、子機300のメッセージ交換部321は、子機200が第1のアドレス要求メッセージを送信した時点ではまだ送信待ちのままである。
親機100では、メッセージ交換部121は、第1のアドレス要求メッセージの受信を待つ(S103)。メッセージ交換部121は、所定の時間以内に第1のアドレス要求メッセージを受信した場合、受信した第1のアドレス要求メッセージから第1の端末ID片を抽出する。そして、メッセージ交換部121は、第1のアドレス要求メッセージに対する応答であり、第1の端末ID片を第1の選択ID片として含む第1のアドレス応答メッセージを生成し、全ての子機宛に送信する(S104)。
メッセージ交換部121は、所定の時間が経過しても第1のアドレス要求メッセージをいずれの子機からも受信しない場合、以降の処理を取りやめ、第1の親機ID報知メッセージを全ての子機に送信する(S101に戻る)。このように、メッセージ交換部121は、定期的に報知メッセージをブロードキャスト送信する。
なお、子機200および子機300が、第1のアドレス応答メッセージの受信待ちの場合に(S204)、第1の親機ID報知メッセージを受信した場合、子機200および子機300は、第1のアドレス応答メッセージの受信処理を中断するとともに、第1の親機ID報知メッセージの受信処理を行った後(S201)、第2の親機ID報知メッセージの受信を待機する(S202へ進む)。
子機200では、親機100から第1のアドレス応答メッセージを受信すると、子機200のメッセージ交換部221は、受信した第1のアドレス応答メッセージから第1の選択ID片を抽出し、第1の端末ID片と比較する。ここでは、第1の選択ID片と第1の端末ID片とは一致するため、メッセージ交換部221は、子機200の送信した第1のアドレス要求メッセージが親機100によって選択されたと判定する。
第1の選択ID片と第1の端末ID片とが不一致であった場合は、メッセージ交換部221は、他の端末装置から送信した第1のアドレス要求メッセージが親機100によって選択されたと判定し、以降の処理を取りやめ、第1の親機ID報知メッセージの受信を待機する(S201に戻る)。
一方、子機300においては、第1のアドレス要求メッセージの送信待ちの間に、第1のアドレス応答メッセージを受信したこととなる。このため、メッセージ交換部321は、第1のアドレス要求メッセージの送信処理を中止し、以降の処理を取りやめ、第1の親機ID報知メッセージの受信を待機する(S201に戻る)。
また、前述したように、子機200および子機300は、第1のアドレス応答メッセージの受信待ちの期間(S204)において第1の親機ID報知メッセージを受信した場合、メッセージ受信待ち期間がタイムアウトしたと判定する。そして、第1の親機ID報知メッセージの受信処理を行った後(S201)、第2の親機ID報知メッセージの受信を待機する(S202へ進む)。
次に、子機200では、第2のアドレス要求メッセージを送信する(S205)。具体的には、まず、子機200のメッセージ交換部221は、再び乱数を用いて第2のアドレス要求メッセージの送信待ち時間を算出する。図9においては、送信待ち時間はt22である。
なお、このとき(t22の算出用)の乱数が出力する最大値は、1回目(t21の算出)に用いた乱数が出力する最大値よりも小さい値となるよう、メッセージ交換部221は、乱数生成パラメータを設定することで、乱数の最大値を決定する。これは、既に第1のアドレス要求/応答メッセージのやり取りにより、第2のアドレス要求メッセージを送信する子機が他に存在する確率が、第1のアドレス要求メッセージを送信する場合よりも減少するためである。また、実施の形態1では2分割の場合について説明しているが、3分割、4分割と分割数が増えた場合も同様に、より後のアドレス要求メッセージの送信待ち時間を算出するための乱数であるほど、乱数が出力する最大値が小さくなるように、メッセージ交換部221は、乱数の生成パラメータを変更する。
メッセージ交換部221は、送信待ち時間を算出した後、次に、算出した送信待ち時間であるt22だけ送信を待つ(S206)。この待機期間中に第2のアドレス応答メッセージを受信した場合は、当該第2のアドレス応答メッセージは他の子機宛であるため、メッセージ交換部221は、以降の処理を取りやめ、第1の親機ID報知メッセージの受信を待機する(S201に戻る)。
メッセージ交換部221は、t22時間が経過した後、ID管理部222から第2の端末ID片「00:0F:1F」を取得し、取得した第2の端末ID片を含む第2のアドレス要求メッセージを生成して通信インタフェース210に出力する。通信インタフェース210は、共用スロット(スロット31)の時刻が到来した場合、第2のアドレス要求メッセージを親機100に送信する。
親機100では、メッセージ交換部121は、第2のアドレス要求メッセージの受信を待つ(S105)。メッセージ交換部121が第2のアドレス要求メッセージを受信した場合、受信した第2のアドレス要求メッセージから第2の端末ID片を抽出する。そして、メッセージ交換部121は、抽出した第2の端末ID片を第2の選択ID片として含む第2のアドレス応答メッセージを全ての子機に対して送信する(S106)。
一方、所定の時間が経過しても第2のアドレス要求メッセージを受信しない場合は、メッセージ交換部121は、以降の処理を取りやめ、第1の親機ID報知メッセージを全ての子機に送信する(S101に戻る)。
子機200では、メッセージ交換部221は、第2のアドレス応答メッセージを受信した場合、受信した第2のアドレス応答メッセージから第2の選択ID片を抽出し、抽出した第2の選択ID片と第2の端末ID片とを比較する。両者が一致すれば、メッセージ交換部221は、自端末装置から送信した第2のアドレス要求メッセージが親機100によって選択されたと判定し、アドレス通知メッセージの受信を待機する(S207へ進む)。逆に、両者が一致しない場合は、メッセージ交換部221は、他の端末装置から送信した第2のアドレス要求メッセージが親機100によって選択されたと判定し、第1の親機ID報知メッセージの受信を待機する(S201へ戻る)。
親機100では、メッセージ交換部121は、アドレス通知メッセージを生成して送信する(S107)。具体的には、まず、メッセージ交換部121は、第1の選択ID片「D7:72:92」と第2の選択ID片「00:0F:1F」とから構成される端末ID「00:0F:1F:D7:72:92」を保有する子機(ここでは、子機200)を対象とし、割り当てる通信アドレスとスロットとを決定する。具体的には、メッセージ交換部121は、アドレス管理部123が保持するアドレス管理テーブルを参照し、無効なスロットの中から1つを選び、選択したスロットと通信アドレスとを取得する。ここでは一例として、メッセージ交換部121は、アドレス管理テーブルの先頭側から最初の無効なスロットであるスロット1、通信アドレス1を選択する。
そして、メッセージ交換部121は、選択したスロットと通信アドレスとを含むアドレス通知メッセージを生成し、通信路400を介して接続されている全ての子機にアドレス通知メッセージを送信する。さらに、アドレス管理テーブルのスロット1に、端末ID「00:0F:1F:D7:72:92」を登録するとともに、有効/無効フラグを有効に設定する(S108)。これにより、アドレス管理テーブルは、図8Bに示すような状態になる。
子機200では、メッセージ交換部221は、アドレス通知メッセージを受信した場合、受信したアドレス通知メッセージから通信アドレスとスロットとを抽出する。上記の例では、通信アドレスとして1が、スロットとして1が抽出される。そして、メッセージ交換部221は、抽出した通信アドレスとスロットとを通信インタフェース210に設定する(S208)。
このように、子機200では、複数の選択ID片と複数の子機ID片とが全て一致した場合に、アドレス通知メッセージに含まれる通信アドレスとスロット番号とを通信インタフェース210に設定する。複数の選択ID片と複数の子機ID片との少なくとも1つが一致しない場合は、一致しなかった子機ID片を含むアドレス要求メッセージより後に送信する予定のアドレス要求メッセージの送信を中止する。
以上のように通信アドレスおよびスロット番号が設定された後は、通信インタフェース210を介して送信されるメッセージは、共用スロット(スロット31)ではなく、設定したスロット(スロット1)を用いて出力される。また、送信元アドレス(SA)も0x3Fではなく、0x1が設定される。つまり、子機200は、通信インタフェース210に設定した通信アドレスと、通信インタフェース210に設定したスロット番号が示すスロットとを用いて、親機100との間で通常のデータ通信を開始する。
一方、子機300のメッセージ交換部321は、アドレス通知メッセージを受信しても、すでに処理を途中で取りやめ、第1の親機ID報知メッセージの受信待ち(S201)の状態である。したがって、メッセージ交換部321は、アドレス通知メッセージを受信した場合であっても、受信したアドレス通知メッセージを破棄する。つまり、メッセージ交換部321は、アドレス通知メッセージ内に含まれる通信アドレスおよびスロットを設定することはない。
以上の処理を再度繰り返すことで、親機100は子機300に対しても、子機200と同様に通信アドレス2およびスロット2を割り当てることができ、メッセージ交換部321は、割り当てられた通信アドレス2およびスロット2を通信インタフェース310に設定する。また、親機100が子機300に対して上記の処理を行っている間であっても、既に通信アドレスとスロットとを割り当てられた子機200は、使用するスロットが重複しないため、親機100にデータを送信することが可能である。
なお、親機100は、動作中は、常に図10に示されるフローチャートの処理を繰り返す。また、新規にネットワークに追加された子機は、図11に示されるフローチャートの処理を行う。これにより、子機が追加されるたび、追加された子機に通信アドレスとスロットとを設定することができる。
さらに、通信アドレスとスロットとが割り当てられた子機200のメッセージ交換部221および子機300のメッセージ交換部321は、図12のフローチャートに従った動作を実行する。
子機200のメッセージ交換部221および子機300のメッセージ交換部321は、第1および第2の親機ID報知メッセージを受信する(S201、S202)。そして、メッセージ交換部221および321はそれぞれ、第1および第2の親機ID片を抽出し、抽出した第1および第2の親機ID片を合成することで、親機IDを生成する。
次に、メッセージ交換部221および321は、受信した第1および第2の親機ID報知メッセージから生成した親機IDが、以前に生成した親機IDと一致することを確認する(S209)。一致した場合、再び第1の親機ID報知メッセージの受信を待機する(S201に戻る)。
一致しない場合、通信路400上の親機100が別の親機に入れ替わったと判断し、メッセージ交換部221および321は、通信インタフェース210および310に設定した通信アドレスとスロット番号とを初期化する(S210)。以降、メッセージ交換部221および321は、図11に示すフローチャートに従って、入れ替わった親機に対して再度、通信アドレスおよびスロットの割り当てを要求する。
以上のようにして、ネットワークに接続された各端末装置に通信アドレスおよびスロットの割り当てを行う。具体的には、親機100のアドレス管理テーブルを更新するとともに、子機200および子機300が備える通信インタフェース210および310に通信アドレスおよぶスロットを設定する。
なお、実施の形態1では、親機100の端末ID、ならびに、子機200および300の端末IDを2分割したが、より多くの分割数に分割してもよい。例えば、親機100の端末IDを第1~第p(pは2以上の整数)の親機ID片に分割してもよい。また、子機200および300の端末IDを第1~第n(nは2以上の整数)の子機ID片に分割してもよい。そして、子機200および300は、分割した子機ID片をそれぞれ含む第1~第nのアドレス要求メッセージを順次、出力する。同様に、親機100は、分割した親機ID片をそれぞれ含む第1~第pの親機ID報知メッセージを出力する。
そして、子機200および300は、第1~第nのアドレス応答メッセージに含まれる第1~第nの選択ID片が全て、子機ID片に一致した場合に、親機100から送信されるアドレス通知メッセージに含まれる通信アドレスとスロット番号とを通信インタフェース210および310に設定する。また、子機200および300は、第1~第nのアドレス応答メッセージのうちの第m(1≦m≦n)のアドレス応答メッセージに含まれる第mの選択ID片が、第1~第nのアドレス要求メッセージに含まれる第mの子機ID片に一致しない場合に、第mの要求メッセージより後の要求メッセージの送信を中止する。
以上により、実施の形態1に係る端末装置の一例である子機200および300は、端末IDを複数の子機ID片に分割することで、フレーム長が端末IDより短い場合でも端末IDを、他の端末装置である親機100に送信することができる。さらに、子機200および300は、親機100からの応答メッセージに含まれる選択ID片が子機ID片に一致した場合に、親機100によって自端末装置が選択されたと判断することで、複数の子機が通信路を利用している場合であっても、親機100から通信アドレスとスロットとを取得することが可能となる。
なお、第1または第2のアドレス要求メッセージを送信する際に(S203またはS205)、メッセージ交換部221および321のそれぞれが乱数を用いて算出した第1または第2のアドレス要求メッセージの送信待ち時間が近似または一致している場合が起こりうる。この場合、子機200および子機300が同じビーコン周期の共用スロットを用いてアドレス要求メッセージを送信する可能性がある。この場合、それぞれの子機から送信したアドレス要求メッセージは衝突し、親機100はアドレス要求メッセージを受信できない。
このため、親機100では、第1または第2のアドレス要求メッセージの受信待ち状態において(S103またはS105)、メッセージ交換部121は、第1または第2のアドレス要求メッセージを受信していないと判定し、第1の親機ID報知メッセージを送信する(S101に戻る)。子機200および子機300は、第1または第2のアドレス応答メッセージの受信待ちの際に(S204またはS206)、第1の親機ID報知メッセージを受信した場合、第2の親機ID報知メッセージの受信を待機する(S202に戻る)。
そして、メッセージ交換部221および321は、第1のアドレス要求メッセージの送信処理(S203)から再実行する。なお、再送信の際は、初回の算出に用いる乱数の最大値よりも、第1~第nのアドレス要求メッセージの送信待ち時間を算出するための乱数の最大値が大きくなるよう、乱数生成パラメータを変更することで、乱数の最大値を決定する。これにより、再実行時に再びアドレス要求メッセージ同士が衝突する確率が減少する。
なお、実施の形態1においては、親機100が複数の第1のアドレス要求メッセージまたは複数の第2のアドレス要求メッセージを受信した場合、最初に受信したメッセージを選択したが、別の方法を用いて決定しても構わない。別の例としては、受信順序以外に、受信したメッセージに含まれる第1または第2の端末ID片の値が最大のもの、または最小のものを選択する方法がある。さらに、別の方法として、子機200および子機300が自端末装置の優先度を示す情報を保有している場合は、子機200および子機300においてメッセージ内の拡張領域に優先度を示す情報を設定し、親機100において最も優先度の高いメッセージを選択する方法がある。
また、子機200および子機300が自端末装置の優先度を示す情報を保有している場合、第1または第2のアドレス要求メッセージの各送信待ち時間を乱数から算出する際、優先度に応じて乱数が出力する最大値が変更されるように、乱数生成パラメータを変更してもよい。一例として、優先度が高いほど最大値が小さくなるよう、乱数生成パラメータを設定する。これにより、短い待ち時間で各メッセージを送信することができ、親機100によって優先度の高い子機が選択されやすくなる。
また、実施の形態1では、第1および第2のアドレス要求メッセージの送信待ち時間を算出するための乱数が出力する最大値が変わるよう、乱数の生成パラメータを変更したが、処理の簡単化のために、常に同じ生成パラメータを用いても構わない。同様に、アドレス要求メッセージ同士が衝突した後の再実行時に、同じ生成パラメータを用いた乱数からアドレス要求メッセージの送信待ち時間を求めても構わない。
また、実施の形態1では、スロット数を32としたが、それ以外のスロット数でも構わない。また、スロット31のみを共用スロットに割り当てたが、例えば、スロット30および31の2スロット、もしくは、3つ以上のスロットを共用スロットに割り当てても構わない。この場合、第1または第2のアドレス要求メッセージの送信待ち時間を短縮させることができる。
また、共用スロットとしてビーコン周期の最後のスロットであるスロット31を割り当てたが、逆に先頭側であるスロット1を割り当てても構わない。ただし、スロット1を共用スロットとして割り当てた場合において、複数の子機が送信したメッセージ同士が衝突を起こした場合、データ通信を行っている各端末装置間の通信に影響を及ぼすことがあるため、必ず1台ずつ子機を追加する必要がある。
また、親機100は、子機にアドレスとスロットとを割り当てた後で、アドレス管理テーブルを不揮発性メモリに保存し、次回親機100が起動した際に、不揮発性メモリに保存したアドレス管理テーブルに基づいて、順次、第1および第2の端末ID片と、通信アドレスおよびスロット番号を送信して、各子機に通信アドレスと送信スロットを通知しても構わない。より具体的には、親機100は、まず不揮発性メモリに保存したアドレス管理テーブルの先頭側から順に、第1の端末ID片、第2の端末ID片、通信アドレスとスロットをそれぞれ制御メッセージにて通知する。各子機は第1および第2の端末ID片が自端末の端末IDと一致する場合に、アドレスとスロットとを設定する。
親機100はさらに、不揮発性メモリに保存したアドレス管理テーブルに基づいて各子機にアドレスと送信スロットを通知した後に、第1の実施の形態で説明したアドレス割り当てを行っても構わない。
(実施の形態2)
実施の形態1では、通常のデータ通信に用いる通常スロットとは別に、アドレス割り当てに用いる共用スロットを設けた。このため、既に通信アドレスとスロットとを割り当てられた子機は、別の子機のアドレス割り当て中であっても、通信を行うことができた。一方、共用スロットの数が少ないと、一度に多くの端末に対して通信アドレスおよびスロットの割り当てを行う場合、アドレス要求が衝突する確率が増え、余分に時間がかかる場合がある。
実施の形態1では、通常のデータ通信に用いる通常スロットとは別に、アドレス割り当てに用いる共用スロットを設けた。このため、既に通信アドレスとスロットとを割り当てられた子機は、別の子機のアドレス割り当て中であっても、通信を行うことができた。一方、共用スロットの数が少ないと、一度に多くの端末に対して通信アドレスおよびスロットの割り当てを行う場合、アドレス要求が衝突する確率が増え、余分に時間がかかる場合がある。
そこで、実施の形態2においては、親機から特定メッセージを受信した場合に、通信インタフェースに設定した通信アドレスと、通信インタフェースに設定したスロット番号が示すスロットとを用いて、通常のデータ通信を開始する。具体的には、まずネットワークに接続された全ての端末に通信アドレスおよびスロットの割り当てを行う。通信アドレスおよびスロットの割り当て中は、割り当てのための制御メッセージのみ通信可能である。この間、各子機はたとえ通信アドレスとスロットとが割り当てられた端末であったとしても、通常のデータ通信を行うことはできない。全ての子機への割り当てが完了すると、親機からの指示に基づき、各子機は通常のデータ通信が可能となる。
実施の形態2におけるネットワーク構成および各端末装置の構成は、図1、図4~図6に示す実施の形態1と同じであるため、説明を省略する。
以下では、図14~17を用いて、実施の形態2における割り当て処理について説明する。
まず、初期状態における各端末装置の状態とスロットの構成とを説明する。初期状態において、親機100の通信インタフェース110には、通信アドレスは0、スロットは0が割り当てられている。子機200の通信インタフェース210および子機300の通信インタフェース310には、ともに通信アドレスは0x3F(未割り当て時の初期値)、スロットは31(未割り当て時の初期値)である。
また、アドレス割り当て処理中のスロットの構成を図14に示す。図14において、スロット0はビーコンスロットであり、親機100に割り当てられている。スロット1~31は全て共用スロットであり、通信アドレスおよびスロットの割り当てのために使用する。図14に示すように、通常スロットが存在しないため、割り当て中は通常のデータ通信を行うことはできない。
また、通信アドレスおよびスロットの割り当て中は制御メッセージの送受信のみを行うため、通信インタフェース110はビーコンを送信しない。代わりに、通信インタフェース110を介して出力される制御メッセージには全てビーコン識別子がセットされており、子機にとってビーコンと同等の機能を果たす。
図15Aおよび図15Bは、実施の形態2における各端末装置(親機100、子機200および子機300)間の動作を示すシーケンス図である。図15Aは、通信アドレスおよびスロットの割り当て中の各端末装置間の動作を示すシーケンス図である。図15Bは、全ての子機に通信アドレスおよびスロットの割り当てが完了した後に行う、未使用スロットの通知処理を示すシーケンス図である。図16は、図15Aのシーケンス図に対応する親機100の動作を示すフローチャートである。図17は、図15Aのシーケンス図に対応する子機200および子機300の動作を示すフローチャートである。
まず、親機100では、メッセージ交換部121は、通信アドレスおよびスロットの割り当てを行うことを示す割り当て開始報知メッセージを生成する。そして、メッセージ交換部121は、通信路400を介して接続される全ての子機(子機200および子機300)にスロット0を用いて送信する(S301)。なお、割り当て開始報知メッセージは、メッセージIDのみが設定され、メッセージボディには0が設定される。
子機200および子機300では、メッセージ交換部221および321は、割り当て開始報知メッセージの受信を待機しており、割り当て開始報知メッセージを受信した場合、第1の端末ID片を含む第1のアドレス要求メッセージを生成する(S401)。さらに、メッセージ交換部221および321は、第1のアドレス要求メッセージを送信するためのスロットを、共用スロットであるスロット1~31から乱数を用いて決定し、通信インタフェース210および310に設定する。通信インタフェース210および310は、設定されたスロットを用いて第1のアドレス要求メッセージを送信する(S402)。
一例として、メッセージ交換部221において決定したスロットがスロット10、メッセージ交換部321において決定したスロットがスロット20である場合を想定する。このとき、通信インタフェース210にはスロット10が設定され、スロット10を用いて第1のアドレス要求メッセージが親機100に送信される。同様に、通信インタフェース310にはスロット20が設定され、スロット20を用いて第1のアドレス要求メッセージが親機100に送信される。
親機100では、メッセージ交換部121は、スロット10において子機200からの第1のアドレス要求メッセージを受信する。また、スロット20において子機300からの第1のアドレス要求メッセージの受信を待つ(S302)。
メッセージ交換部121は、受信した第1のアドレス要求メッセージが1つの場合、当該第1のアドレス要求メッセージを選択する。受信した第1のアドレス要求メッセージが2つ以上の場合、メッセージ交換部121は、受信した2つ以上の第1のアドレス要求メッセージの中から1つを選択する。
ここでは、選択方法として、メッセージ交換部121は、最初に受信した第1のアドレス要求メッセージを選択する。1ビーコン周期分だけ受信待ちをしても第1のアドレス要求メッセージを受信しない場合は、メッセージ交換部121は、未割り当ての子機が存在しないか、あるいは、複数の子機のメッセージ同士が衝突したかのいずれかだと判断し、終了処理(S308)に進む。
実施の形態2においては、図15Aに示すように、子機200からの第1のアドレス要求メッセージと、子機300からの第1のアドレス要求メッセージとの計2つのメッセージを受信する。子機200からの第1のアドレス要求メッセージはスロット10で、子機300からの第1のアドレス要求メッセージはスロット20で送信されるため、最初に受信する子機200からのメッセージを選択する。
さらに、メッセージ交換部121は、選択した第1のアドレス要求メッセージに含まれる第1の端末ID片を抽出する。そして、抽出した第1の端末ID片を第1の選択ID片として含む第1のアドレス応答メッセージを生成し、子機200および子機300にスロット0を用いて送信する(S303)。このようにして、親機100が送信する第1のアドレス応答メッセージには、子機200の第1の端末ID片が含まれていることとなる。
子機200のメッセージ交換部221および子機300のメッセージ交換部321は、親機100から第1のアドレス応答メッセージの受信を待つ(S403)。
メッセージ交換部221および321は、第1のアドレス応答メッセージを受信し、受信した第1のアドレス応答メッセージから第1の選択ID片を抽出する。抽出した第1の選択ID片が第1の端末ID片と一致した場合は、メッセージ交換部221および321は、第2のアドレス要求メッセージの送信を行う(S404に進む)。
第1の選択ID片が第1の端末ID片と一致しない場合は、他の子機が送信したメッセージが親機100によって選択されたことを示しているため、メッセージ交換部221および321は、以降の処理を取りやめ、割り当て開始報知メッセージを受信するのを待機する(S401に戻る)。
さらに、メッセージ交換部221および321が、第1のアドレス応答メッセージではなく、割り当て開始報知メッセージを受信した場合は、他の子機が送信した第1のアドレス要求メッセージと、自端末装置が送信した第1のアドレス要求メッセージ同士とが衝突し、親機100が受信できなかったと判断する。そして、メッセージ交換部221および321は再度、乱数によりスロットを選択し、第1のアドレス要求メッセージを再送する(S402に戻る)。
実施の形態2においては、子機200のメッセージ交換部221では、第1のアドレス応答メッセージを受信し、受信した第1のアドレス応答メッセージに含まれる第1の選択ID片を抽出する。抽出した第1の選択ID片は第1の端末ID片と一致するため、第2のアドレス要求メッセージの送信を行う(S404に進む)。
一方、子機300のメッセージ交換部321は、同じく第1のアドレス応答メッセージを受信するが、第1の選択ID片は第1の端末ID片と一致しない。このため、メッセージ交換部321は、以降の処理を取りやめ、割り当て開始報知メッセージを受信するのを待機する(S401に戻る)。
子機200のメッセージ交換部221は、ID管理部222から第2の端末ID片を取得し、取得した第2の端末ID片を含む第2のアドレス要求メッセージを生成する。さらに、メッセージ交換部221は、親機100に送信するスロットを、共用スロットであるスロット1~31から乱数によって決定(一例として、ここでは、スロット15を選択)し、決定したスロットを通信インタフェース210に設定する。通信インタフェース210は、スロット15の時刻が到来すると、親機100に対して第2のアドレス要求メッセージを送信する(S404)。
親機100では、メッセージ交換部121は、第2のアドレス要求メッセージの受信を待つ(S304)。
メッセージ交換部121は、受信した第2のアドレス要求メッセージが1つのみの場合は、当該第2のアドレス要求メッセージを選択する。受信した第2のアドレス要求メッセージが2つ以上の場合は、メッセージ交換部121は、最初に受信したメッセージを選択する。また、1ビーコン周期分待っても第2のアドレス要求メッセージを受信しない場合は、複数の子機からのメッセージが衝突したものと判定し、第1のアドレス応答メッセージを再送する(S303に戻る)。
実施の形態2においては、メッセージ交換部121は、子機200からの第2のアドレス要求メッセージのみを受信する。このため、受信した第2のアドレス要求メッセージを選択して第2の端末ID片を抽出する。そして、メッセージ交換部121は、抽出した第2の端末ID片を第2の選択ID片として含む第2のアドレス応答メッセージを、スロット0を用いて子機200および子機300に送信する(S305)。
子機200では、メッセージ交換部221は、第2のアドレス応答メッセージの受信を待つ(S405)。メッセージ交換部221が、第2のアドレス応答メッセージを受信し、受信した第2のアドレス応答メッセージから抽出した第2の選択ID片が第2の端末ID片と一致した場合は、アドレス通知メッセージの受信を待機する(S406に進む)。
第2の選択ID片が第2の端末ID片と一致しない場合は、他の子機が送信したメッセージが選択されているため、メッセージ交換部221は、割り当て開始報知メッセージを受信するのを待機する(S401に戻る)。
なお、子機200では、第2のアドレス応答メッセージの待機中(S405)に受信したメッセージが、第1のアドレス応答メッセージであった場合、第2のアドレス要求メッセージが他の子機のメッセージと衝突したと考えられる。このため、メッセージ交換部221は、乱数によりスロットを選択し、第1のアドレス要求メッセージを再送信する(S405)。
実施の形態2では、メッセージ交換部221は、第2のアドレス応答メッセージを受信し、さらに、第2の選択ID片が第2の端末ID片と一致する。このため、メッセージ交換部221は、アドレス通知メッセージの受信を待機する(S406に進む)。
一方、子機300のメッセージ交換部321も第2のアドレス応答メッセージを受信するが、この時点では、割り当て開始報知メッセージの受信待ち(S401)である。したがって、メッセージ交換部321は、受信した第2のアドレス応答メッセージを破棄する。
親機100では、メッセージ交換部121は、アドレス通知メッセージを生成し、生成したアドレス通知メッセージを子機200および子機300に送信する(S306)。具体的には、まず、アドレス管理部123は、空きスロットのうち最も先頭側にあるスロット1を選択し、スロット1の通信アドレス1とともにメッセージ交換部121に出力する。
以降、アドレス管理部123は、別の子機に対して割り当てるスロットと通信アドレスとを決定する際、スロット2、スロット3…のように空きスロットの先頭側から順にスロットを選択する。例えば、子機3台にスロットを割り当てた場合、スロット1~3が割り当てたスロット、スロット4~31が空きスロットとなる。このようにスロットを選択することで、空きスロットの連続数が最大となり、後述する省電力処理を行う上で、より消費する電力を削減することが可能となる。
メッセージ交換部121は、アドレス管理部123が出力したスロットと通信アドレスとを含むアドレス通知メッセージを生成し、スロット0を用いて子機200および子機300に送信する。
さらに、メッセージ交換部121は、実施の形態1と同様に、第1および第2の選択ID片から子機200の端末IDを生成し、アドレス管理部123に出力する。アドレス管理部123は、子機200の端末IDをアドレス管理テーブルに登録する(S307)。
子機200では、メッセージ交換部221は、アドレス通知メッセージを受信した場合、受信したアドレス通知メッセージからスロットと通信アドレスとを抽出する(S406)。そして、メッセージ交換部221は、抽出したスロットと通信アドレスとを通信インタフェース210に設定する(S407)。この結果、通信インタフェース210には、通信アドレス1、スロット1が設定され、割り当て処理は終了する。
以後、通信インタフェース210は、上記のように設定された通信アドレスとスロットとを用いてデータ通信を行うが、この時点では、まだ図14に示したように通常スロットが存在していないため、通常のデータ通信は行わない。
親機100のメッセージ交換部121は、アドレスおよびスロットの登録(S307)が終了した後、再び、割り当て開始報知メッセージの送信を行う(S301)。子機200は既に割り当て済みのため、割り当て開始報知メッセージを受信しても、受信した割り当て開始報知メッセージを破棄する。
一方、子機300は、割り当て開始報知メッセージの受信待ち状態にあるため(S401)、割り当て開始報知メッセージを受け取った場合、上記の処理を継続する。このようにして、子機300には、スロット2と通信アドレス2とが付与され、通信インタフェース310に設定される。
以上の処理を繰り返すことで、ネットワーク上の全ての子機に対してスロットと通信アドレスとが割り当てられる。
全ての子機にスロットと通信アドレスとが割り当てられた場合、親機100が割り当て開始報知メッセージを送信しても、どの子機も第1のアドレス要求メッセージを送信しない。このため、親機100のメッセージ交換部121は、メッセージ受信なしのため、割り当て処理の終了条件を満たしているか否かを判定する(S308)。
メッセージ交換部121は、終了条件として、連続して第1のアドレス要求メッセージを受信しない回数が所定の回数以上であるかを確認する。所定の回数以上となった場合、メッセージ交換部121は、全ての子機に対する割り当てが終了したと判定し、割り当て処理を終了する。
逆に、所定の回数未満の場合は、複数の子機が乱数により選択したスロットが重複し、メッセージの衝突により受信しなかったものと判断し、再度割り当て開始メッセージを送信する(S301)。このように、上記所定の回数は、衝突の発生を考慮し、十分大きな回数とする。
以上のようにして、割り当て処理が終了すると、親機100と子機200および子機300とは、図15Bのメッセージシーケンス図に示す動作を実行する。図15Bのメッセージシーケンス図に示す動作は、通信アドレスおよびスロットの割り当て結果を用いて、親機100、子機200および子機300の消費電力を削減するために行われる。
親機100のアドレス管理部123は、割り当ての結果、空きスロットの情報をメッセージ交換部121に出力する。ここでは、スロット0が親機100、スロット1が子機200、スロット2が子機300に割り当てられているため、アドレス管理部123は、空きスロット情報として、スロット3~31を出力する。
メッセージ交換部121は、空きスロット情報を受け取ると、受け取った空きスロット情報を含む空きスロット通知メッセージを生成し、子機200および子機300に送信する(S311)。さらに、メッセージ交換部121は、通信インタフェース110に、空きスロット情報を設定する。
さらに、メッセージ交換部121は、通信インタフェース110に、通常のデータ通信を開始しても問題が発生しないよう、ビーコンの送信開始を設定する。これにより、スロット構成は、図18に示す構成となる。
図18では、スロット0がビーコンスロットで親機100に割り当てられている。スロット1~31は、通常のデータ通信が可能な通常スロットである。ここでは、通常スロットのうち、スロット1が子機200、スロット3が子機300に割り当てられている。残りのスロット4~31は、どの端末装置にも割り当てられていない空きスロットである。
子機200および子機300では、メッセージ交換部221および321は、空きスロット通知メッセージを受信した場合、空きスロット情報を抽出する。そして、メッセージ交換部221および321は、抽出した空きスロット情報を通信インタフェース210および310に設定する(S411)。
空きスロット情報としてスロット3~31が設定された通信インタフェース110、210および310は、スロット3~31に相当する期間は、通信機能を停止し消費電力を抑える。スロット3~31では、どの端末装置もメッセージ送信またはデータ通信を行わない。また、通信機能を停止する時間はスロット数から算出することができ(例えば、1スロットに相当する時間×空きスロットのスロット数)、通信機能を復帰させた後もスロットの同期に問題は発生しない。
さらに、メッセージ交換部221および321は、親機100からのビーコンを特定メッセージとして受信した場合に、それぞれに割り当てられたスロットを用いて通常のデータ通信を行う。
このように、子機においてはビーコン周期内で送信すべきスロットを乱数によって選択し、アドレス要求を送信することで、実施の形態1に比べ、より高速に通信アドレスとスロットとを割り当てることができる。また、全ての子機に通信アドレスおよびスロットの割り当てを行った後で、空きスロット情報を全ての子機に送信し、各子機において空きスロットの区間の通信インタフェースの処理を停止させることで、消費電力を低減することが可能となる。
なお、実施の形態2においては、親機100が複数の第1のアドレス要求メッセージまたは複数の第2のアドレス要求メッセージを受信した場合、最初に受信したメッセージを選択したが、別の選択方法によって決定しても構わない。別の例としては、受信順序以外に、受信したメッセージに含まれる第1または第2の端末ID片の値が最大のもの、または最小のものを選択する方法がある。さらに、別の方法として、子機200および子機300が自端末装置の優先度を示す情報を保有している場合、子機200および子機300においてメッセージ内の拡張領域に優先度を示す情報を設定し、親機100において最も優先度の高いメッセージを選択する方法がある。
また、実施の形態2では、親機100がアドレスの割り当て処理の完了を判定する際に用いた所定の回数は、割り当てた子機の台数によらず、一律の値であったが、この所定の回数を、通信アドレスおよびスロットを割り当てた子機の台数に基づいて決定してもよい。例えば、通信アドレスおよびスロットを割り当てた子機の台数が多いほど、所定の回数を小さな値に設定してもよい。これは、通信アドレスおよびスロットを割り当てた子機の台数が多いほど、割り当てられていない子機の台数が少なく、したがって、子機が送信する第1または第2のアドレス要求メッセージ同士が連続して衝突する確率も低くなるためである。
また、実施の形態2では、子機にデータ通信可能であることを通知する特定メッセージとしてビーコンを用いたが、特定の制御メッセージを特定メッセージとして用いてもよい。
また、子機200および子機300が自端末装置の優先度を示す情報を保有している場合、乱数によりスロットを選択する際、生成する乱数の最大値を優先度によって変更してもよい。この場合、優先度が高いほど最大値が小さく、先頭側のスロットを用いて第1または第2のアドレス要求メッセージを送信することとなる。
なお、実施の形態2においては、アドレス管理部123は、空きスロットのうち先頭側から順に連続するスロットを選択したが、後ろ側から順に連続するスロットを選択しても構わない。
また、実施の形態2においては、割り当て終了後のスロット構成を図18に示すように、ビーコンスロットおよび通常スロットのみで構成したが、実施の形態1で示した図2のように、さらに、共用スロットを設けても構わない。共用スロットを設けた場合、親機100は、空きスロット情報に共用スロットを含めない。例えば、図2に示す共用スロット(スロット31)を設けた場合、親機100が通知する空きスロット情報はスロット3~30となる。
さらに、割り当て終了後は、上記共用スロットを用いて、実施の形態1と同じ処理を行うことにより、割り当て処理終了後に追加された子機に対しても、既に割り当て済みの子機のデータ通信を阻害することなく、追加された子機に対する通信アドレスおよびスロットの割り当てを行うことが可能となる。この場合、親機100および子機200は、定期的に送信する報知メッセージに空きスロット通知メッセージを含めて送信する。
すなわち、親機100は、第1および第2の親機ID報知メッセージと、空きスロット通知メッセージを定期的に送信する。全ての子機は、定期的に空きスロット通知メッセージを受信する。そして、空きスロット情報が変更されたことを検出した場合、空きスロット情報を通信インタフェースに設定することで、空きスロット情報を適切に反映することが可能である。
(実施の形態3)
実施の形態3に係る通信方法では、親機ID報知メッセージまたはアドレス割り当て開始メッセージなどの報知メッセージを送信する際に、どの端末装置にも割り当てていないスロットの数を示す空きスロット数を含む報知メッセージを送信する。そして、空きスロット数に応じて、送信待ち時間を算出するのに用いる乱数の最大値を決定することを特徴とする。
実施の形態3に係る通信方法では、親機ID報知メッセージまたはアドレス割り当て開始メッセージなどの報知メッセージを送信する際に、どの端末装置にも割り当てていないスロットの数を示す空きスロット数を含む報知メッセージを送信する。そして、空きスロット数に応じて、送信待ち時間を算出するのに用いる乱数の最大値を決定することを特徴とする。
実施の形態3におけるネットワーク構成、および各端末装置の構成は、図1、図4~図6に示す実施の形態1と同じであるため、説明を省略する。以下では、実施の形態1と異なる部分を中心に説明する。
図9および図10に示す親機ID報知処理(S101およびS102)において、メッセージ交換部121は、アドレス管理部123が管理するアドレス管理テーブルにアクセスし、空きスロット数を取得する。ここでは初期状態であるので、空きスロット数は30となる。
そして、メッセージ交換部121は、取得した空きスロット数を第1および第2の親機ID報知メッセージ内の拡張領域に設定し、ブロードキャスト送信する。もちろん、ここで、実施の形態1で説明したように、第1および第2の親機ID報知メッセージを用いて親機100の第1および第2の親機ID片を送信しても構わない。
図9および図10に示す親機ID受信処理(S201およびS202)において、子機200および子機300は、空きスロット数を含む第1および第2の親機ID報知メッセージを受信した場合、第1のアドレス要求メッセージの送信待ち時間、および第2のアドレス要求メッセージの送信待ち時間を算出するための乱数の最大値を、空きスロット数に基づき設定する。一例として、第1のアドレス要求メッセージの送信待ち時間を算出するための乱数の最大値は、空きスロット数と同じ値に、第2のアドレス要求メッセージの送信待ち時間を算出するための乱数の最大値は、空きスロット数の1/2に設定する。例えば、空きスロット数が30であった場合、それぞれ30と15になり、空きスロット数が28に減少すると、それぞれ28と14となる。
以降、子機200および子機300は、親機ID受信処理(S201およびS202)において設定した乱数を用いて、それぞれの送信待ち時間を算出する。乱数の最大値が空きスロット数に応じて減少するため、それぞれの送信待ち時間が確率的に減少し、全体の処理時間が低減される。
以上示したように、親機100は、第1および第2の親機ID報知メッセージを用いて子機200および子機300に空きスロット数を通知する。そして、子機200および子機300は、親機100から取得した空きスロット数に基づいて、第1および第2のアドレス要求メッセージの送信待ち時間を算出するための乱数の最大値を決定する。
実施の形態3においては、接続できる端末台数が高々30台までに制限されるため、空きスロット数の減少は、すなわち、第1および第2のアドレス要求メッセージを送信する端末台数も減少したことを示す。このため、メッセージの衝突確率を上げることなく、送信待ち時間を削減し、処理時間を抑えることが可能となる。
なお、実施の形態3においては、空きスロット数を送信したが、1台の端末装置に複数のスロットを割り当てた場合を想定し、最大の登録台数(ここでは30台)から送信時点での登録台数を差し引いた値を、空きスロット数の代わりに送信しても構わない。
(実施の形態4)
実施の形態4に係る通信方法は、子機が、割り当てを要求するスロットの数であるスロット要求数を含むスロット要求メッセージを送信し、親機が、スロット要求メッセージを受信した場合、子機に割り当てるスロット要求数のスロットを決定することを特徴とする。つまり、親機が、1つの子機に複数のスロットを割り当てることを特徴とする。
実施の形態4に係る通信方法は、子機が、割り当てを要求するスロットの数であるスロット要求数を含むスロット要求メッセージを送信し、親機が、スロット要求メッセージを受信した場合、子機に割り当てるスロット要求数のスロットを決定することを特徴とする。つまり、親機が、1つの子機に複数のスロットを割り当てることを特徴とする。
実施の形態4におけるネットワーク構成、および各端末装置の構成は、図1、図4~図6に示す実施の形態1と同じであるため、説明を省略する。以下では、実施の形態1と異なる部分を中心に説明する。
実施の形態4では、子機200および子機300は、アドレス要求メッセージに割り当てを希望するスロット数を設定し、親機100に送信する。スロット数は、スループットの要求条件から決定される。
例えば、端末装置にスロット1のみを割り当てた場合、1ビーコン周期あたり、1回のデータ通信しかできないが、スロット1とスロット2との計2個のスロットを割り当てた場合、1ビーコン周期あたり2回のデータ通信ができる。したがって、連続的にデータ送信を行う場合、スループットが増加する。
ここでは、子機200が2個のスロットを要求する場合を例に挙げ、図9および図10を用いて説明する。
子機200または子機300は、第2のアドレス要求メッセージの送信処理(S205)において、第2のアドレス要求メッセージの拡張領域に、割り当てを希望するスロットの数であるスロット要求数(ここでは、2個のスロット)を設定して、親機100に送信する。つまり、子機200または子機300は、最後の端末IDを含むアドレス要求メッセージの拡張領域にスロット要求数を設定する。なお、子機200または子機300は、いずれの端末IDを含むアドレス要求メッセージの拡張領域にスロット要求数を設定してもよい。
親機100は、第2のアドレス要求メッセージを受信すると、受信メッセージから、割り当てを希望するスロット要求数を取得する(S105)。親機100は、図8Aに示すアドレス管理テーブルを参照し、スロット1~30が空きスロットであることから、2個のスロットを確保できることを確認する。そして、実施の形態1と同様に、子機200の第2の端末ID片を含む第2のアドレス応答メッセージをブロードキャスト送信する(S106)。
親機100は、さらに、スロット1および2を確保し、アドレス管理テーブルのスロット1および2について、端末IDとして子機200の端末IDを、通信アドレスを共にスロット1に記載された値である1に登録する。さらに、親機100は、設定した通信アドレス1と、スロット1および2をアドレス通知メッセージにてブロードキャスト送信する(S107およびS108)。
子機200は、第2のアドレス応答メッセージを受信し、受信した第2のアドレス応答メッセージに含まれる第2の選択ID片と第2の端末ID片とが一致することから、2個のスロットが確保できたことを確認する(S206)。さらに、子機200は、アドレス通知メッセージを受信し、メッセージ内に設定された通信アドレス1と、スロット1および2とを通信インタフェース210に設定する(S207およびS208)。
以上、説明したように、子機200および子機300は、割り当てを希望するスロットの数であるスロット要求数をアドレス要求メッセージに設定して親機100に送信する。そして、親機100は、アドレス要求メッセージに設定されたスロット数を確保してアドレス応答メッセージを返すことで、通信アドレスに加えて複数のスロットを割り当てることが可能となる。これにより、別途スロットを確保するためのメッセージが不要となり、処理時間を短縮することが可能となる。
なお、実施の形態4においては、子機200および子機300は、第1および第2のアドレス要求メッセージを送信する際の送信待ち時間については、実施の形態に等しいものとして説明したが、子機200および子機300が割り当てを希望するスロット要求数に応じて、送信待ち時間を算出するための乱数が出力する最大値が変更されるよう、乱数生成パラメータを変更しても構わない。一例として、子機200および子機300は、割り当てを希望するスロット要求数が多いほど、最大値を小さくするように生成パラメータを変更する。これにより、一度に多くのスロットを必要とする端末装置が選択されやすくなり、スロットの確保が容易になる。
なお、実施の形態4では、子機200および子機300は、スロット要求数のみを指定したが、スロット数に加えてスロットの配置を指定してもよい。スロットの配置とは、連続したスロットであること、あるいは、ビーコン周期内で均等に分散したスロットであることなどを示す情報である。一例として、子機200または子機300は、ビーコン周期内で均等に分散した2個のスロットを希望する場合、拡張領域に分散したスロットであることを示すフラグと、スロット要求数2を設定し、親機100に送信する。メッセージを受信した親機100は、均等に分散したスロットを示すフラグがセットされているため、2個のスロットとしてスロット1とスロット16とを確保し、アドレス通知メッセージにて子機200または子機300に通知する。これにより、スロットの間隔はちょうどビーコン周期の1/2となり、自端末に送信権が巡回するまでに生じる遅延時間を1/2に低減させることが可能となる。このように、分散した配置のスロットを確保するよう指定することで、遅延時間を短縮させることが可能となる。
さらには、分散したスロットの取得を希望する子機200または300は、スロットを優先的に確保できるよう、第1および第2のアドレス要求メッセージの送信待ち時間を算出するための乱数が出力する最大値が小さくなるよう、乱数生成パラメータを変更しても構わない。分散したスロットを確保する場合、通常よりもスロットの配置に関する制限が多く、スロットが余っていてもうまく均等に分散したスロットが取得できない場合が発生する。このため、このような子機を優先的に選択し、先にスロットを確保することで、効率的なスロットの割り当てを行う。
以上、本発明に係る端末装置および通信方法について、実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を当該実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
なお、本発明は、上述したように、端末装置および通信方法として実現できるだけではなく、本実施の形態の通信方法をコンピュータに実行させるためのプログラムとして実現してもよい。また、当該プログラムを記録するコンピュータ読み取り可能なCD-ROMなどの記録媒体として実現してもよい。さらに、当該プログラムを示す情報、データまたは信号として実現してもよい。そして、これらプログラム、情報、データおよび信号は、インターネットなどの通信ネットワークを介して配信されてもよい。
また、本発明は、端末装置を構成する構成要素の一部または全部を、1個のシステムLSI(Large Scale Integration)から構成してもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROMおよびRAMなどを含んで構成されるコンピュータシステムである。
本発明は、直流電流の電力線を通信路として使用する通信端末装置に適用することができ、例えば、自転車用部品などに適用することができる。
100 親機
110、210、310 通信インタフェース
120、220、320 制御部
121、221、321 メッセージ交換部
122、222、322 ID管理部
123 アドレス管理部
130、230、330 分離混合部
140、240、340 自転車部品
200、300 子機
400 通信路
500 バッテリー
110、210、310 通信インタフェース
120、220、320 制御部
121、221、321 メッセージ交換部
122、222、322 ID管理部
123 アドレス管理部
130、230、330 分離混合部
140、240、340 自転車部品
200、300 子機
400 通信路
500 バッテリー
Claims (44)
- 直流の電力線を通信路として用い、当該通信路を時間的に分割したスロットを利用して他の端末装置と通信を行う端末装置であって、
前記他の端末装置との通信を制御する制御部と、
前記電力線の信号から受信信号を分離し、所定の送信信号を前記電力線の信号に重畳する分離混合部と、
前記分離混合部によって分離された受信信号を前記制御部に出力し、かつ、前記制御部による制御に基づいて前記送信信号を前記分離混合部に出力する通信インタフェースとを備え、
前記制御部は、
自端末装置を識別するための端末IDを第1~第n(nは2以上の整数)の子機ID片に分割し、当該第1~第nの子機ID片をそれぞれ含む第1~第nの要求メッセージを順次、前記送信信号として出力し、
前記他の端末装置から前記分離混合部および前記通信インタフェースを介して、前記第1~第nの要求メッセージに対する応答であり、第1~第nの選択端末ID片をそれぞれ含む第1~第nの応答メッセージを順次、前記受信信号として受信し、
受信した第1~第nの応答メッセージに含まれる第1~第nの選択端末ID片が前記第1~第nの子機ID片に一致した場合に、前記他の端末装置から送信されるアドレス通知メッセージに含まれる通信アドレスとスロット番号とを前記通信インタフェースに設定する
端末装置。 - 前記制御部は、前記第1~第nの応答メッセージのうちの第m(1≦m≦n)の応答メッセージに含まれる第mの選択端末ID片が、前記第1~第nの要求メッセージのうちの第mの要求メッセージに含まれる第mの子機ID片と一致しない場合、前記第mの要求メッセージより後の要求メッセージの送信を中止する
請求項1記載の端末装置。 - 前記制御部は、乱数を用いて前記第mの要求メッセージの送信待ち時間を算出し、所定の時点から前記送信待ち時間が経過した後に、通信アドレスが割り当てられていない端末装置専用のスロットである特定スロットを用いて、前記第mの要求メッセージを送信する
請求項2記載の端末装置。 - 前記制御部は、さらに、前記第1~第nの要求メッセージのそれぞれの前記送信待ち時間を算出するのに用いる乱数の最大値を、値が順に小さくなるように決定する
請求項3記載の端末装置。 - 前記制御部は、前記他の端末装置から定期的に送信される報知メッセージを受信したときから、前記第1の要求メッセージの送信待ち時間が経過した後に、前記第1の要求メッセージを送信する
請求項3記載の端末装置。 - 前記制御部は、さらに、前記報知メッセージに含まれる、どの端末装置にも割り当てられていないスロットの数を示す空きスロット数に応じて、前記送信待ち時間を算出するのに用いる乱数の最大値を決定する
請求項5記載の端末装置。 - 前記報知メッセージは、前記他の端末装置を識別するための端末IDが分割された第1~第p(pは2以上の整数)の親機ID片をそれぞれ含む第1~第pの親機ID報知メッセージを含み、
前記制御部は、前記第1~第pの親機ID片が以前と異なる値である場合に、前記通信インタフェースに設定した通信アドレスとスロット番号とを初期化する
請求項6記載の端末装置。 - 前記制御部は、前記他の端末装置に前記第mの要求メッセージを送信した後、前記他の端末装置から前記第mの応答メッセージを受信する前に、前記報知メッセージを受信した場合、前記第mの要求メッセージより後の要求メッセージの送信を中止するとともに、前記第1の要求メッセージを再送信する
請求項5記載の端末装置。 - 前記制御部は、前記第1の要求メッセージを再送信する場合、前記第1の要求メッセージの送信待ち時間を算出するのに用いる乱数の最大値を、前記第1の要求メッセージの初回の前記送信待ち時間を算出するのに用いた乱数の最大値より、値が大きくなるように決定する
請求項8記載の端末装置。 - 前記制御部は、ビーコン周期を構成する複数のスロットのうち、前記他の端末装置に割り当てられたスロットを除いたスロットを選択し、選択したスロットを用いて前記第mの要求メッセージを送信する
請求項2記載の端末装置。 - 前記制御部は、前記他の端末装置から特定メッセージを受信した場合に、前記通信インタフェースに設定した通信アドレスと、前記通信インタフェースに設定したスロット番号が示すスロットとを用いて、通常のデータ通信を開始する
請求項10記載の端末装置。 - 前記特定メッセージは、ビーコンである
請求項11記載の端末装置。 - 前記制御部は、前記他の端末装置に、割り当てを要求するスロットの数であるスロット要求数を含むスロット要求メッセージを送信し、前記他の端末装置から前記アドレス通知メッセージを受信した場合に、当該アドレス通知メッセージに含まれる通信アドレスと、前記スロット要求メッセージに含まれるスロット要求数のスロット番号とを前記通信インタフェースに設定する
請求項1記載の端末装置。 - 前記制御部は、前記他の端末装置から、どの端末装置にも割り当てられていない空きスロットの少なくとも一部を示す空きスロット情報を含むメッセージを受信した場合、当該空きスロット情報が示す空きスロットに相当する期間において、前記通信インタフェースの通信機能を停止する
請求項1記載の端末装置。 - 前記制御部は、自端末装置を識別するための端末IDの下位側から順に、それぞれ前記第1~第nの子機ID片となるように分割する
請求項1記載の端末装置。 - 前記端末装置は、自転車に搭載可能であり、互いに通信する部品である
請求項1記載の端末装置。 - 直流の電力線を通信路として用い、当該通信路を時間的に分割したスロットを利用して他の端末装置と通信を行う端末装置であって、
前記他の端末装置との通信を制御する制御部と、
前記電力線の信号から受信信号を分離し、所定の送信信号を前記電力線の信号に重畳する分離混合部と、
前記分離混合部によって分離された受信信号を前記制御部に出力し、かつ、前記制御部による制御に基づいて、前記送信信号を前記分離混合部に出力する通信インタフェースとを備え、
前記制御部は、
前記他の端末装置から前記分離混合部および前記通信インタフェースを介して、前記他の端末装置を識別するための端末IDが分割された第1~第n(nは2以上の整数)の端末ID片をそれぞれ含む第1~第nの要求メッセージを順次受信し、かつ、受信した第1~第nの要求メッセージに対する応答であり、前記第1~第nの端末ID片をそれぞれ含む第1~第nの応答メッセージを順次ブロードキャスト送信し、
前記第1~第nの応答メッセージを全て送信した場合、前記他の端末装置に割り当てる通信アドレスとスロット番号とを含むアドレス通知メッセージをブロードキャスト送信する
端末装置。 - 前記制御部は、さらに、前記他の端末装置に前記第1の要求メッセージを送信させるための報知メッセージを、定期的にブロードキャスト送信する
請求項17記載の端末装置。 - 前記制御部は、どの端末装置にも割り当てていないスロットの数を示す空きスロット数を含む前記報知メッセージを送信する
請求項18記載の端末装置。 - 前記制御部は、前記第1~第nの応答メッセージのうちの第m(1≦m≦n)の応答メッセージを送信してから、所定の期間が経過した後に前記報知メッセージを再びブロードキャスト送信する
請求項19記載の端末装置。 - 前記制御部は、自端末装置を識別するための端末IDが分割された第1~第p(pは2以上の整数)の親機ID片をそれぞれ含む第1~第pの親機ID報知メッセージを前記報知メッセージとして送信する
請求項20記載の端末装置。 - 前記制御部は、通信アドレスとスロットとを前記他の端末装置へ割り当てる割り当て処理が完了したか否かを判定し、前記割り当て処理が完了したと判定した場合に、通常のデータ通信が開始可能になったことを通知するための特定メッセージをブロードキャスト送信する
請求項17記載の端末装置。 - 前記特定メッセージは、ビーコンである
請求項22記載の端末装置。 - 前記制御部は、
前記他の端末装置から、割り当てを要求するスロットの数であるスロット要求数を含むスロット要求メッセージを受信した場合、前記スロット要求数のスロット番号を含む前記アドレス通知メッセージをブロードキャスト送信する
請求項17記載の端末装置。 - 前記制御部は、どの端末装置にも割り当てられていない空きスロットの少なくとも一部を示す空きスロット情報を含むメッセージを送信し、かつ、前記空きスロット情報が示す空きスロットに相当する期間において、前記通信インタフェースの通信機能を停止する
請求項17記載の端末装置。 - 前記制御部は、複数のスロットを割り当てる場合、ビーコン周期を構成する複数のスロットのうち、先頭側または後ろ側から順に前記他の端末装置を含む1つ以上の他の端末装置に割り当てるスロットを決定する
請求項17記載の端末装置。 - 前記端末装置は、自転車に搭載可能であり、互いに通信する部品である
請求項17記載の端末装置。 - 直流の電力線を通信路として用いるネットワークにおいて、第1の端末装置および第2の端末装置が前記通信路を時間的に分割したスロットを利用して通信する通信方法であって、
前記第2の端末装置が、当該第2の端末装置を識別するための端末IDを第1~第n(nは2以上の整数)の子機ID片に分割し、当該第1~第nの子機ID片をそれぞれ含む第1~第nの要求メッセージを順次、前記第1の端末装置に送信する要求メッセージ送信ステップと、
前記第1の端末装置が、前記第1~第nの要求メッセージを順次受信し、かつ、受信した第1~第nの要求メッセージに対する応答であり、前記第1~第nの子機ID片をそれぞれ第1~第nの選択端末ID片として含む第1~第nの応答メッセージを順次、ブロードキャスト送信する応答メッセージ送信ステップと、
前記第1の端末装置が、前記第1~第nの応答メッセージを送信した後に、前記第2の端末装置に割り当てる通信アドレスとスロット番号とを含むアドレス通知メッセージを送信するアドレス通知メッセージ送信ステップと、
前記第2の端末装置が、前記アドレス通知メッセージを受信するアドレス通知メッセージ受信ステップと、
前記第2の端末装置が、前記第1~第nの選択端末ID片が前記第1~第nの子機ID片に等しい場合に、前記アドレス通知メッセージに含まれる通信アドレスとスロット番号とを、前記第2の端末装置の通信インタフェースに設定するアドレス設定ステップとを含む
通信方法。 - 前記要求メッセージ送信ステップでは、
前記第2の端末装置が、前記第1~第nの応答メッセージを順次受信し、前記第1~第nの応答メッセージのうちの第m(1≦m≦n)の応答メッセージに含まれる第mの選択端末ID片が、当該第2の端末装置の第mの子機ID片に一致しない場合、前記第1~第nの要求メッセージのうちの第mの要求メッセージより後の要求メッセージの送信を中止する
請求項28記載の通信方法。 - 前記通信方法は、さらに、
前記第2の端末装置が、乱数を用いて前記第mの要求メッセージの送信待ち時間を算出する送信待ち時間算出ステップを含み、
前記要求メッセージ送信ステップでは、
所定の時点から前記送信待ち時間が経過した後に、通信アドレスが割り当てられていない端末装置専用のスロットである特定スロットを用いて、前記第mの要求メッセージを送信する
請求項29記載の通信方法。 - 前記送信待ち時間算出ステップでは、さらに、前記第1~第nの要求メッセージのそれぞれの送信待ち時間を算出するのに用いる乱数の最大値を、値が順に小さくなるように決定する
請求項30記載の通信方法。 - 前記通信方法は、さらに、
前記第1の端末装置が、前記第1の要求メッセージを送信させるための報知メッセージを定期的にブロードキャスト送信する報知メッセージ送信ステップを含み、
前記要求メッセージ送信ステップでは、
前記第2の端末装置が、前記報知メッセージを受信したときから、前記第1の要求メッセージの送信待ち時間が経過した後に、前記第1の要求メッセージを送信する
請求項30記載の通信方法。 - 前記報知メッセージ送信ステップでは、どの端末装置にも割り当てていないスロットの数を示す空きスロット数を含む前記報知メッセージを送信し、
前記送信待ち時間算出ステップでは、前記空きスロット数に応じて、前記送信待ち時間を算出するのに用いる乱数の最大値を決定する
請求項32記載の端末方法。 - 前記報知メッセージ送信ステップでは、前記第mの応答メッセージを送信してから、所定の期間が経過した後に前記報知メッセージを再び送信し、
前記要求メッセージ送信ステップでは、前記第mの要求メッセージを送信した後、前記第mの応答メッセージを受信する前に、前記報知メッセージを受信した場合、前記第mの要求メッセージの後の要求メッセージの送信を中止するとともに、前記第1の要求メッセージを再送信する
請求項32記載の端末方法。 - 前記送信待ち時間算出ステップでは、前記第1の要求メッセージを再送信する場合、前記第1の要求メッセージの送信待ち時間を算出するのに用いる乱数の最大値を、前記第1の要求メッセージの初回の送信待ち時間を算出するのに用いた乱数の最大値より、値が大きくなるように決定する
請求項34記載の端末方法。 - 前記報知メッセージ送信ステップでは、前記第1の端末装置を識別するための端末IDを第1~第p(pは2以上の整数)の親機ID片に分割し、当該第1~第pの親機ID片をそれぞれ含む第1~第pの親機ID報知メッセージを前記報知メッセージとして送信し、
前記通信方法は、さらに、
前記第2の端末装置が、前記報知メッセージを受信し、受信した報知メッセージに含まれる前記第1~第pの親機ID片が以前と異なる値である場合に、前記第2の端末装置の通信インタフェースに設定した通信アドレスとスロット番号とを初期化する初期化ステップを含む
請求項32記載の通信方法。 - 前記要求メッセージ送信ステップでは、ビーコン周期を構成する複数のスロットのうち、前記第1の端末装置に割り当てられたスロットを除いたスロットを、乱数を用いて選択し、選択したスロットを用いて前記第mの要求メッセージを送信する
請求項29記載の通信方法。 - 前記通信方法は、さらに、
前記第1の端末装置が、通信アドレスとスロットとを前記第2の端末装置へ割り当てる割り当て処理が完了したか否かを判定し、前記割り当て処理が完了したと判定した場合に、通常のデータ通信が開始可能になったことを通知するための特定メッセージをブロードキャスト送信する特定メッセージ送信ステップと、
前記第2の端末装置が、前記特定メッセージを受信した場合に、前記通信インタフェースに設定した通信アドレスと、前記通信インタフェースに設定したスロット番号が示すスロットとを用いて、通常のデータ通信を開始する通信開始ステップとを含む
請求項37記載の通信方法。 - 前記特定メッセージは、ビーコンである
請求項38記載の通信方法。 - 前記通信方法は、さらに、
前記第2の端末装置が、割り当てを要求するスロットの数であるスロット要求数を含むスロット要求メッセージを送信するスロット要求メッセージ送信ステップと、
前記第1の端末装置が、前記スロット要求メッセージを受信した場合、前記第2の端末装置に割り当てる、前記スロット要求数のスロットを決定するスロット決定ステップとを含む
請求項28記載の通信方法。 - 前記通信方法は、さらに、
前記第1の端末装置が、どの端末装置にも割り当てられていない空きスロットの少なくとも一部を示す空きスロット情報を含むメッセージを送信する空きスロット情報送信ステップと、
前記第2の端末装置が、前記空きスロット情報を含むメッセージを受信し、前記空きスロット情報が示す空きスロットに相当する期間において、前記第2の端末装置の通信インタフェースの通信機能を停止する省電力ステップとを含む
請求項28記載の通信方法。 - 前記アドレス通知メッセージ送信ステップでは、複数のスロットを割り当てる場合、ビーコン周期を構成する複数のスロットのうち、先頭側または後ろ側から順に前記他の端末装置を含む1以上の他の端末装置に割り当てるスロットを決定する
請求項28記載の通信方法。 - 前記要求メッセージ送信ステップでは、前記第2の端末装置の端末IDを、下位側から順に前記第1~第nの子機ID片となるように分割する
請求項28項記載の通信方法。 - 前記第1および第2の端末装置は、自転車に搭載可能であり、互いに通信する部品である
請求項28項記載の通信方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009-271566 | 2009-11-30 | ||
JP2009271566A JP2011114779A (ja) | 2009-11-30 | 2009-11-30 | 端末装置および通信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2011064911A1 true WO2011064911A1 (ja) | 2011-06-03 |
Family
ID=44066026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2010/003902 WO2011064911A1 (ja) | 2009-11-30 | 2010-06-11 | 端末装置および通信方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2011114779A (ja) |
WO (1) | WO2011064911A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210209241A1 (en) * | 2019-04-26 | 2021-07-08 | Green Zone Security., Ltd. | Apparatus and method for data obfuscation of IoT device using pseudorandom number |
CN113966598A (zh) * | 2019-06-10 | 2022-01-21 | 日本电产株式会社 | 通信装置、通信系统、通信方法以及程序 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5568528B2 (ja) * | 2011-08-23 | 2014-08-06 | 本田技研工業株式会社 | 電力線通信システム |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01235435A (ja) * | 1988-03-16 | 1989-09-20 | Fujitsu Ltd | パシッブ形式バス通信方式の端末番号付与方式 |
JPH03204066A (ja) * | 1989-12-29 | 1991-09-05 | Nec Corp | ネットワーク・アドレス設定方法 |
JPH0750619A (ja) * | 1993-01-14 | 1995-02-21 | Sanyo Electric Works Ltd | 車両内通信システム |
JPH11331949A (ja) * | 1998-05-19 | 1999-11-30 | Nec Eng Ltd | データ伝送方式 |
JP2004320422A (ja) * | 2003-04-16 | 2004-11-11 | Yazaki Corp | 情報処理端末、送信権巡回システム、送信権巡回方法、及び送信権獲得プログラム |
-
2009
- 2009-11-30 JP JP2009271566A patent/JP2011114779A/ja active Pending
-
2010
- 2010-06-11 WO PCT/JP2010/003902 patent/WO2011064911A1/ja active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01235435A (ja) * | 1988-03-16 | 1989-09-20 | Fujitsu Ltd | パシッブ形式バス通信方式の端末番号付与方式 |
JPH03204066A (ja) * | 1989-12-29 | 1991-09-05 | Nec Corp | ネットワーク・アドレス設定方法 |
JPH0750619A (ja) * | 1993-01-14 | 1995-02-21 | Sanyo Electric Works Ltd | 車両内通信システム |
JPH11331949A (ja) * | 1998-05-19 | 1999-11-30 | Nec Eng Ltd | データ伝送方式 |
JP2004320422A (ja) * | 2003-04-16 | 2004-11-11 | Yazaki Corp | 情報処理端末、送信権巡回システム、送信権巡回方法、及び送信権獲得プログラム |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210209241A1 (en) * | 2019-04-26 | 2021-07-08 | Green Zone Security., Ltd. | Apparatus and method for data obfuscation of IoT device using pseudorandom number |
CN113966598A (zh) * | 2019-06-10 | 2022-01-21 | 日本电产株式会社 | 通信装置、通信系统、通信方法以及程序 |
CN113966598B (zh) * | 2019-06-10 | 2023-12-29 | 日本电产株式会社 | 通信装置、通信系统、通信方法以及计算机可读取的记录介质 |
Also Published As
Publication number | Publication date |
---|---|
JP2011114779A (ja) | 2011-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6625641B2 (ja) | 近隣認識ネットワーク(nan)データパスにおけるトラフィックアドバタイズメント | |
CN1330110C (zh) | 用于与助听器通信的装置和方法 | |
JP6633077B2 (ja) | 近隣認識ネットワーク(nan)データパスにおけるトラフィックアドバタイズメント | |
WO2015080287A1 (ja) | 通信処理装置、集積回路、無線通信端末、メモリーカード、無線通信装置、無線通信方法および無線通信システム | |
HUT69343A (en) | Method for providing reserved communication access using multiple random access resourches | |
JP2018502496A (ja) | 近隣認識ネットワーク(nan)データパスにおけるトラフィックアドバタイズメント | |
JP2001156732A (ja) | 時分割多重アクセス方法及び基準局装置、端末局装置 | |
CN102017717A (zh) | 用于多信道无线网络的mac协议 | |
TW201637392A (zh) | 鄰域感知網路(nan)資料路徑中的訊務廣告(五) | |
WO2011064911A1 (ja) | 端末装置および通信方法 | |
EP2367297B1 (en) | Allocating traffic channels in a communications system | |
US9787584B2 (en) | Data transmission reservation method and apparatus, data reception method and apparatus, and data transmission and reception system in receiver-initiated asynchronous medium access control protocol | |
WO2007080833A1 (ja) | 親機装置及びこの親機装置による帯域管理方法 | |
JP2012160826A (ja) | 無線lanアクセス制御方法および無線lanシステム | |
JP6407118B2 (ja) | 通信用基地局および端末装置 | |
JP7193859B2 (ja) | 基地局及び通信方法 | |
US10772095B1 (en) | Optimized unicast and broadcast communication in TSCH primary and secondary networks | |
JP7177972B2 (ja) | ハンドオーバ処理 | |
CN113242537A (zh) | 基于蓝牙智能组网的红外图像传输方法 | |
US8554139B2 (en) | Transmission method and related apparatus for reducing radio resource overhead | |
JP2006033070A (ja) | データ伝送制御方法 | |
US8605733B2 (en) | Method of data transmission, data transmitting apparatus, and network system | |
CN111226474A (zh) | 通过按射频传播路径损耗的群体密度时隙选择的时隙化Aloha冲突改进的方法、系统和计算机程序产品 | |
JP2012109831A (ja) | 通信システム | |
KR102324113B1 (ko) | 적어도 하나 이상의 중계기와 적어도 하나 이상의 네트워크 단말기 간의 통신방법 |
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: 10832767 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 10832767 Country of ref document: EP Kind code of ref document: A1 |