WO2022211204A1 - 모듈 어셈블리 및 그의 멀티 마스터 통신방법 - Google Patents

모듈 어셈블리 및 그의 멀티 마스터 통신방법 Download PDF

Info

Publication number
WO2022211204A1
WO2022211204A1 PCT/KR2021/015291 KR2021015291W WO2022211204A1 WO 2022211204 A1 WO2022211204 A1 WO 2022211204A1 KR 2021015291 W KR2021015291 W KR 2021015291W WO 2022211204 A1 WO2022211204 A1 WO 2022211204A1
Authority
WO
WIPO (PCT)
Prior art keywords
module
bus
modules
data
output
Prior art date
Application number
PCT/KR2021/015291
Other languages
English (en)
French (fr)
Inventor
이기백
손승배
Original Assignee
주식회사 럭스로보
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 럭스로보 filed Critical 주식회사 럭스로보
Priority to CN202180004089.7A priority Critical patent/CN115413341A/zh
Priority to EP21823458.1A priority patent/EP4095707A4/en
Priority to US17/552,864 priority patent/US11726942B2/en
Publication of WO2022211204A1 publication Critical patent/WO2022211204A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • G06F13/423Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with synchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17337Direct connection machines, e.g. completely connected computers, point to point communication networks

Definitions

  • the present invention relates to a module assembly and a multi-master communication method thereof, and more particularly, by combining a plurality of modules having a UART interface to share a one-wire communication bus, and to transmit priority based on an open drain characteristic It relates to a module assembly capable of implementing multi-master communication and a multi-master communication method therefor by preventing collision by mediating.
  • modules included in these manufacturing tools can each perform a specific function, and are provided to be connected to each other to form a module assembly.
  • each module is electrically connected to each other and is provided so as to transmit and receive energy, signals, data, and the like.
  • the user may assemble the modules according to the provided manual or a method created by himself/herself to manufacture a module assembly that performs a specific purpose.
  • Such a module assembly can perform a specific purpose by performing data transmission/reception between a plurality of assembled modules, and for data transmission/reception between modules, it is necessary to share a bus between modules and arbitrate a priority for bus occupation.
  • Patent Document 1 Korean Patent Application Laid-Open No. 2017-0104306 (hereinafter, Patent Document 1).
  • Patent Document 1 a specific module is operated as a master according to a preset priority-based arbitration method according to the CAN communication method.
  • CAN communication has a preset priority for each module, and utilizes a method of providing bus occupancy rights according to the priority in which the transmission intention is declared based on the priority. Accordingly, CAN communication is generally used when implementing multi-master communication.
  • CAN communication When CAN communication is used, it is easy to implement plug-and-play between modules, and it is easy to implement a broadcasting network, and it is possible to improve system control speed and safety with high reliability.
  • Patent Document 1 Korea Patent Publication No. 2017-0104306 (published on September 15, 2017)
  • the problem to be solved by the present invention is to combine a plurality of modules with a UART interface to share a one-wire communication bus, and to arbitrate transmission priority based on open drain characteristics to prevent collisions, thereby preventing multi-master communication. It is to provide a module assembly that can implement and a multi-master communication method thereof.
  • the assembly module may include a plurality of modules capable of transmitting and receiving data by forming an open-drain-based single-wire communication bus when mutually coupled.
  • each module when there is data to be transmitted, a processor for outputting a control signal for the first declaration and the second declaration; and a communication unit that switches the disconnection communication bus connection according to the output control signal and outputs a low signal or a high signal within an arbitration time.
  • the input/output terminal of the communication unit may be configured as an open drain.
  • the communication unit may be turned on when receiving a high level control signal from the processor to output a low signal.
  • the communication unit may be turned off when receiving a low level control signal from the processor and output a high signal.
  • the single line communication bus may be in a ground state when at least one module outputs a low signal.
  • the single line communication bus may be in an on state when all of the plurality of modules output a high signal.
  • the plurality of modules are all set to output a high signal at the start of the first arbitration time, and when the disconnected bus state becomes the ground state by the first declaration, the module that has not declared the intention to transmit is the first A high signal may be maintained during the arbitration time and the second arbitration time.
  • the module securing the last bus occupation transmits the transmission data to another module through the single line communication bus, and the other module has its own destination information of data received from the module securing the final bus occupation. If the ID is not the same, the received data may be discarded.
  • the plurality of modules may transmit and receive data using a data frame including a start section (SoF), a control section, a data section, a CRC section, an ACK section, and an arbitration section in order.
  • SoF start section
  • control section control section
  • data section data section
  • CRC section CRC section
  • ACK section ACK section
  • arbitration section an arbitration section
  • the communication unit may be a UART communication interface.
  • a multi-master communication method of a module assembly including a plurality of modules capable of transmitting and receiving data by forming an open-drain-based single-line communication bus when coupled to each other, transmits data among the plurality of modules
  • a step in which one module outputs a high signal within a second arbitration time to declare a second intention to transmit, and a bus occupancy step in which the module that last output a high signal within the second arbitration time secures a final bus occupation may include.
  • the plurality of modules includes a communication unit in which a processor and an input/output terminal are configured as open drains, and the step of first declaring the intention to transmit includes, in each of the at least one module requiring data transmission, the processor , monitoring the disconnection communication bus when there is data to be transmitted and outputting a high signal for a first declaration within the first arbitration time if it is in an on state, and the communication unit is turned on according to the high signal output from the processor and outputting a low signal.
  • the second declaration of the intention to transmit includes: outputting, by the processor, a low signal for a second declaration within a second arbitration time; and turning off, by the communication unit, according to the low signal output from the processor and outputting a high signal.
  • the single line communication bus may be in a ground state when at least one module outputs a low signal.
  • the single line communication bus may be in an on state when all of the plurality of modules output a high signal.
  • the plurality of modules are all set to output a high signal at the start of the first arbitration time, and when the disconnected bus state becomes the ground state by the first declaration, the module that has not declared the intention to transmit is the first A high signal may be maintained during the arbitration time and the second arbitration time.
  • the method may further include discarding the received data if it is not the same as the ID of .
  • the plurality of modules may transmit and receive data using a data frame including a start section (SoF), a control section, a data section, a CRC section, an ACK section, and an arbitration section in order.
  • SoF start section
  • control section control section
  • data section data section
  • CRC section CRC section
  • ACK section ACK section
  • arbitration section an arbitration section
  • the communication unit may be a UART communication interface.
  • the AI smart kit according to the present invention immediately performs an operation suitable for various situations by an AI moving body.
  • the module assembly and its multi-master communication method according to an embodiment of the present invention combine a plurality of modules having a UART interface.
  • multi-master communication can be implemented by sharing a one-wire communication bus and preventing collisions by arbitrating transmission priority based on open drain characteristics.
  • an arbitration section is provided in the last section of the data frame, so that the bus is turned on by the module (bus occupancy securing module) that outputs the last high signal during the second arbitration, and the module securing the bus occupancy right transmits the data frame to the shared bus can be transmitted via
  • the effect according to the present invention is not limited by the contents exemplified above, and more various effects are included in the present specification.
  • FIG. 1 is a block diagram showing a schematic configuration of a module assembly according to an embodiment of the present invention.
  • FIG. 2 is a perspective view showing a state in which the module assembly of FIG. 1 is assembled
  • FIG. 3 is a plan view illustrating an internal structure of a partially coupled module of the module assembly of FIG. 2 .
  • FIG. 4 is a view for explaining characteristics of an open drain applied to a communication unit according to an embodiment of the present invention.
  • FIG. 5 is a view for explaining the characteristics of an open drain forming a single line communication bus according to an embodiment of the present invention.
  • FIG. 6 is a diagram illustrating a transmission frame according to an embodiment of the present invention.
  • FIG. 7 is a time table of an arbitration section for explaining bus occupation arbitration of a module assembly according to an embodiment of the present invention.
  • FIG. 8 is a time table for explaining a priority candidate who first declared an intention to transmit at the first arbitration time of FIG. 7 .
  • FIG. 9 is a flowchart illustrating a multi-master communication method of a module assembly according to an embodiment of the present invention.
  • the module assembly according to an embodiment of the present invention may include a plurality of modules 100a to 100n capable of transmitting and receiving data by forming an open-drain-based single-line communication bus 10 when coupled to each other.
  • Each of the modules 100a to 100n may include a processor 110 and a communication unit 120 , the communication unit 120 becomes a UART interface, and an input/output terminal may be configured as an open drain.
  • the processor 110 and the communication unit 120 may be implemented as one microprocessor, and when the microprocessor does not constitute an open drain, it may be separately provided and connected.
  • the module assembly according to an embodiment of the present invention may implement multi-master communication by determining a transmission module by performing bus occupation arbitration in each module.
  • bus occupation arbitration method which is a main feature of the present invention
  • FIGS. 2 and 3 An open drain characteristic of a communication unit according to an embodiment of the present invention will be first described with reference to FIGS. 4 and 5 .
  • FIG. 2 is a perspective view illustrating an assembled state of the module assembly of FIG. 1
  • FIG. 3 is a plan view illustrating an internal structure of a partially coupled module of the module assembly of FIG. 2 . 2 and 3, the structure of each module 100a to 100n and the formation of the single line communication bus 10 through the coupling between modules can be seen.
  • the module assembly may be defined as a set of a plurality of modules 100a to 100n that can be assembled with each other or a structure in which they are assembled, and is not limited by the purpose, type, form, number of modules, and the like.
  • the plurality of modules 100a to 100n may be defined as objects configured to transmit and receive signals, data, or electrical energy (hereinafter, also referred to as “electrical signals”) represented as changes in voltage or current with other modules or external devices.
  • These modules are provided with a central processing unit (CPU), a memory 316, a power supply, or the like, which can be operated under the control of another module, including a sensing means, a processing means, and a driving means. Each may be independently driven.
  • each of the modules 100a to 100n may be configured to independently perform a specific function or to perform a specific function by interaction with other modules.
  • the modules include a central processing unit (CPU)
  • firmware may be installed for each module.
  • each of the modules 100a to 100n may be divided into an input module, an output module, and a setup module.
  • the input module is an infrared module (IR (Infrared) module) that can receive an infrared signal from a remote control, etc., a gyroscope sensor module (Gyroscope module) that can detect the X, Y, Z axis change angle and acceleration Dial module that can measure the rotation angle or rotation speed using the rotation of the handle, detects the button press, detects the click, double click, and pressed state, and uses the toggle to turn on/off
  • a button module that allows the (On/Off) state to be maintained, an environment module that can measure temperature, humidity, illuminance, etc., and an environment module that can detect ambient sound intensity (dB) and frequency It may be composed of a microphone module and an ultrasonic module capable of detecting a distance.
  • the output module includes an LED module, a speaker module, and a display module that displays a picture drawn by a user, characters, or module information on the screen, which can be visually displayed according to color change,
  • a motor controller module that transmits electric signals to the motor module to perform rotational motion by setting speed, angle, and torque, or a motor module that converts electrical signals received from the motor controller into rotational motion ( Motor; MDP-14), etc.
  • the setup module is a battery module used to supply power to other modules and a network module that can connect the module with a PC, smartphone or module through Bluetooth, Wi-Fi or USB connection. (Network module), etc. may be configured.
  • each of the modules 100a to 100n may be connected to an external driving device by a cable.
  • the module assembly 300 may be a device for selectively operating a motor by receiving a signal from a remote control or a smart phone.
  • each module 100a to 100n may be provided to perform an arbitrary function independently or through interworking with other modules.
  • the plurality of modules 100a to 100n may be three-dimensional in the shape of a polygonal column having a plurality of side surfaces to be in surface contact with other neighboring modules.
  • the surface contact does not mean that all areas of the side are all in contact, but only a part of the side is in contact so that the side of one module and the side of the other module face each other and are understood to include a part in contact should be
  • each of the modules 100a to 100n is illustrated as having a square-shaped plane as an example, but may be formed in a polygonal column shape such as an equilateral triangle, a rectangle, and a regular pentagon in plan view, and in particular, a regular polygon It may be formed in a shape.
  • Some modules may have different three-dimensional shapes.
  • some of the modules may have various three-dimensional shapes such as horns and polyhedrons.
  • Each module 100a to 100n includes a housing 1 forming an exterior, a terminal 2 exposed on a side surface of the housing 1 to transmit or receive an electrical signal to another connected module;
  • a pin installation part 105 provided with a coupling pin (3 in FIG. 2 or 108 in FIG. 3) selectively protruding to the outside and a pin receiving part into which the coupling pin of another module is inserted ((4 in FIG. 2)) or (103) of FIG. 3).
  • the coupling pin 108 , the pin installation part 105 , and the pin receiving part ( ( 4 in FIG. 2 or 103 in FIG. 3 ) are provided as a coupling mechanism for connecting two adjacent modules to each other.
  • a coupling pin 108 provided on the side surface of the main body case 1b, and a magnet 109 for attracting the coupling pin 108 by magnetic force may be provided.
  • the coupling pin 108 and the magnet 109 as coupling mechanisms ) was described as an example, but it is not limited thereto, and of course, other types of coupling mechanisms may be used.
  • the main body case 1b is provided with a protrusion and an indentation for accommodating the protrusion, and two neighboring It is also possible to couple two modules in such a way that the protrusion and the indentation of the module engage with each other.
  • the housing 1 is a case formed in a rectangular parallelepiped shape with a square plane, and protects the internal components.
  • the housing 1 may be provided in a form in which the upper case 1a and the lower case 1b are coupled as shown in FIG. 2 .
  • the upper case 1a and the lower case 1b may be integrally formed, or may be assembled by being divided into more parts, if necessary.
  • the lower case 1b may further include a frame forming an external and internal structure, a substrate 102 provided inside the frame, and a functional unit 104 installed on the substrate 102 .
  • the functional unit 104 for implementing the function of the first module 100a may be mounted on the substrate 102 , and may be fixedly installed in the center of the inner space of the frame.
  • the functional unit 104 may be, for example, a microprocessor including the processor 110 and the communication unit 120 according to an embodiment of the present invention, and may be a type of module (Input module, Output module, Setup module) can be determined.
  • the terminal 2 may transmit an electrical signal or the like to or receive from another module connected thereto.
  • the terminal 2 receives an electrical signal from the board 102 provided in the housing 1 and receives the electrical signal from the other module in contact with the terminal. It can be transmitted through the terminal.
  • the terminal 2 may have a plurality of contact points or connection pins, which may have various shapes according to a method of transmitting an electric signal or the like, a standardized standard, and the like.
  • Such a terminal 2 includes a pin ((3) in FIG. 2 or (106) in FIG. 3), a pin installation part 105, and a pin receiving part ((4) in FIG. 2 or (103) in FIG. 3) and It may be disposed on the side of the housing 1 as a set. Specifically, the terminal 2 may be disposed between a pin ((3) in FIG. 2 or (106) in FIG. 3) and a pin receiving part ((4) in FIG. 2 or (103) in FIG. 3), It may be in contact with a terminal disposed between the pin of another module and the pin receiving portion.
  • the terminals 2 are provided on all sides of the housing 1 , but there may be a side where the terminals 2 are not formed according to the embodiment.
  • a UART terminal can be used, and an open drain-based single wire communication bus 10 can be formed when hardware is combined between modules as shown in FIG. 3 .
  • one of the pins 106 of the terminal 2 may be an open-drain output pin, and the pins 106 of the terminal 2 of each module) are connected to each other to form a single wire communication bus. (10) can be formed and shared.
  • the frame is a structure constituting a part or all of the housing 1 , and forms an outer shape of a part or all of the housing 1 , and may provide a space and a structure for installing various parts therein.
  • the frame forms the lower case 1b of the housing 1, is formed in a rectangular shape, and has four corners as an example, but the scope of the present invention is not limited thereto. .
  • a plurality of modules 100a to 100n connect the open drain output of the communication unit 120 through hardware combination to connect the shared bus 10 ) can be formed. Accordingly, it is easy to add and remove a module used for multi-mas communication.
  • the communication unit 120 becomes a UART communication interface, and outputs data and control signals received from the processor 110 to Tx (transmitter) and transmits them to other modules through the single line communication bus 10 . and data transmitted from the processor 110 of another module through the single line communication bus 10 may be received through the Rx (receiver).
  • Tx (transmitter) and Rx (receiver) of the communication unit 120 are formed in one line, and Tx (transmitter) and Rx (receiver) of the communication unit 120 under the control of the processor 110 of the corresponding module. is operated, and data to be transmitted and received may be written to and read from the buffer of the communication unit 120 .
  • the input/output terminal of the communication unit 120 may be implemented as an open drain. That is, the buffer of the communication unit 120 may be an open drain buffer.
  • a control signal of the processor 110 may be input as a gate, and the MOSFET may be turned on or off depending on the level of the control signal to determine the drain output. Also, the drain output of the open drain may be connected to the drain output of another module.
  • FIG. 4(a) shows that a low signal is input as a control signal and the MOSFET is turned off, so that it is connected to the external power supply (VDD) through the pull-up resistor (Rp) so that the drain output is logic '1', that is, the high signal is do.
  • a high signal is input as a control signal and the MOSFET is turned on, so that the drain output is connected to the ground by the pull-up resistor, and the drain output becomes a logic '0', that is, a low signal.
  • the communication unit 120 of each module receives a high level control signal from the processor 110 through the open drain structure, it is turned on to output a low signal and input a low level control signal from the processor 120 . When received, it is turned off and a high signal is output.
  • 5 is a view for explaining the characteristics of an open drain forming a single line communication bus according to an embodiment of the present invention.
  • 5 is a diagram in which the open drain outputs of the plurality of modules 100a and 100b are connected to each other to form a single line communication bus.
  • two modules are connected and described for understanding, but the drain output of an additional module may be connected in the same way.
  • two outputs in which the open drain buffer of the first module 100a is off and the open drain buffer of the second module 100b is on are connected to each other to form a single line communication bus.
  • the first module 100a is separated from the circuit of the first module by outputting a logic '1', that is, a high signal. Accordingly, the first module 100a does not affect the output of the second module 100b, and the second module 100b serves to discharge the current flowing from the external power source through the pull-up resistor.
  • the logic of the single wire communication bus formed by connecting the open drain outputs of the first module 100a and the second module 100b becomes '0', that is, low.
  • the single wire communication bus 10 to which the open drain output is connected is in a ground state when at least one connected module outputs a logic '0', that is, a low signal, and a plurality of modules ( In all of 100a to 100n), when a logic '1', that is, a high signal is output, it is in an on state.
  • each module 100a to 100n of the module assembly to perform multi-master communication using an open-drain-based single-wire communication bus to which an open-drain output is connected.
  • the first arbitration is a process in which a module that first declares its intention to transmit within the first arbitration time becomes a transmission priority candidate, and the second arbitration is at least One module can be the process of second declaration of intent to transmit to occupy the final bus.
  • a plurality of modules 100a to 100n transmit data through the single line communication bus 10, and each module 100a to 100n is used to declare a transmission intention in the processor 110.
  • An operation for occupying the bus may be performed by outputting a control signal and switching the connection of the single line communication bus 10 according to the control signal of the processor 110 in the communication unit 120 .
  • At least one module that requires data transmission among the plurality of modules 100a to 100n detects the state of the disconnection communication bus 10 and outputs a low signal within a preset first arbitration time to indicate the intention to transmit. 1 can be declared.
  • the module that first declared the intention to transmit when the single line communication bus 10 is in the on state may be a transmission priority candidate.
  • a module that has become a transmission priority candidate may participate in the second arbitration for bus occupation, and a module that has not become a transmission priority candidate becomes a receiving module that receives data by dropping out of the bus occupation.
  • At least one module that has become a transmission priority candidate may output a high signal within the second arbitration time to declare its intention to transmit a second time, and the module that last output a high signal within the second arbitration time is the last module. to secure bus occupancy.
  • the bus occupancy securing module may become a transmission module that transmits a data frame.
  • a transmission declaration of each module for occupying a bus of multi-master communication according to an embodiment of the present invention can be described with reference to FIGS. 7 and 8 .
  • the module assembly according to an embodiment of the present invention can transmit and receive data using a data frame as shown in FIG. 6 based on the UART standard by using UART, which is asynchronous serial communication. Modifications may be applied according to the intention of the designer.
  • UART is a type of computer or peripheral device, which is an individual integrated circuit that serializes and communicates parallel data, and is usually included in MCU. Since it is asynchronous communication, no synchronous signal is transmitted. Therefore, it is promised so that the receiving end can find the synchronization signal and know the start and end of the data in time to process it. To do this, the data frame needs a section indicating the start and end.
  • FIG. 6 is a diagram illustrating a transmission frame according to an embodiment of the present invention.
  • the plurality of modules 100a to 100n includes a start section (SoF: 21), a control section 22, a data section 23, a CRC section 24, an ACK section 25, as shown in FIG. ) and the data frame 20 including the arbitration section 26 in order can be used to transmit and receive data.
  • the start section 21 means the start of a frame, maintains for one bit time length, and informs that communication is started according to a set appointment from now on.
  • the control section 22 may be a section for transmitting data length, CRC length, control signal, and the like.
  • the data section 23 may include an ID of a transmitting module, an ID of a destination module, and a data area as a data area to be transmitted.
  • the CRC section 24 may be a section for checking the integrity of a data frame.
  • the ACK section 25 is a section in which a response of the receiving module to data reception is transmitted.
  • the arbitration section 26 is a section that determines the module to transmit the next data through the bus occupation at the end of the corresponding data frame. Also, the arbitration section 26 may notify the end of communication with an end bit indicating the end of the data frame.
  • the intervention section 26 may be described with reference to FIGS. 7 and 8 .
  • 7 is a time table of an arbitration section for explaining bus occupation arbitration of a module assembly according to an embodiment of the present invention.
  • FIG. 8 is a time table for explaining a priority candidate who first declared an intention to transmit at the first arbitration time of FIG. 7 .
  • the plurality of modules 100a to 100n may be configured to output a high signal at the start of the first arbitration time, that is, when the ACK section ends.
  • the arbitration section according to an embodiment of the present invention is divided into a first arbitration time and a second arbitration time to determine a transmission module to transmit the next data.
  • module 1 to module 5 are all set to high signal, and among them, module 1, module 4 and module 5 having data to transmit are first arbitration
  • the intention to transmit can be first declared by outputting a low signal within a time period.
  • the processor 110 of each module may control the communication unit 120 to output a low signal when the state of the single line communication bus is on while monitoring the state (on or ground) of the single line communication bus.
  • module 1 and module 5 output a low signal at random time a.
  • the bus state detection period may vary depending on performance.
  • the processor 110 detects the bus status in units of the bus status detection period (t in FIG. 8) as shown in FIG. 8 and outputs a low signal through the communication unit 120 within the first arbitration time when the bus is detected as on. control as much as possible.
  • module 5 actually grabbed the key first, module 1 and module 5, which checked the bus-on state in the bus state detection period t2, and output a low signal at t3, switch the bus to the ground state by their own low signal output. can be judged to have been
  • the second arbitration is performed within the second arbitration time to determine the correct bus occupancy module.
  • Module 1 and module 5 which first declared their intention to transmit by outputting a low signal in the bus-on state, become candidates for transmission priority and can participate in the second arbitration.
  • module 4 tried to output a low signal while monitoring the bus status for transmission declaration, but the bus state is already grounded before the transmission intention declaration, so it cannot output a low signal and maintains a high signal.
  • module 2 and module 3 which do not intend to transmit, also maintain a high signal.
  • module 1 and module 5 can become transmission priority candidates by outputting a low signal in the same time zone (random time a in Fig. 7, t3 in Fig. 8) of the first arbitration time, and the bus state is may be grounded.
  • the modules 1 and 5 which have become the transmission priority candidates, may secondly declare their intention to transmit by outputting a high signal within the second arbitration time.
  • the bus state becomes a ground state.
  • module 1 when module 1 outputs a high signal before module 5, module 5 outputs a low signal, so that the bus state maintains a ground state.
  • the bus state is on when all connected modules all output high signals. Accordingly, the bus may be turned on by the module 5, which is the module that finally makes a second declaration of the intention to transmit in the second arbitration time.
  • module 5 which is the module that last output a high signal within the second arbitration time, secures the final bus occupation and becomes a transmission module capable of transmitting the next data.
  • the module securing the final bus occupation transmits data to another module through the single line communication bus 10, and the other module becomes a receiving module and receives data from the module securing the final bus occupation, and the destination of the received data If the information is not the same as your ID, the received data is discarded. If the information is the same as your ID, you can send an ACK to the ACK section.
  • FIG. 9 is a flowchart illustrating a multi-master communication method of a module assembly according to an embodiment of the present invention.
  • FIG. 9 may perform multi-master communication based on the module assembly of FIGS. 1 to 8 .
  • the module assembly in which the plurality of modules 100a to 100n are coupled to each other may share an open-drain-based single-wire communication bus ( S900 ) to perform data transmission/reception between modules.
  • S900 open-drain-based single-wire communication bus
  • each module becomes a master module with no relation between master and servant, and arbitration for bus occupation is required for data transmission.
  • the arbitration operation is operated through the output of the control signal for the transmission declaration and can be performed by each module.
  • the plurality of modules 100a to 100n connected to the single line communication bus 10 are all set to output a high signal. At this time, the output is determined by the external power supply.
  • At least one module that requires data transmission among the plurality of modules 100a to 100n monitors the state of the disconnection communication bus 10 (S915) and outputs a low signal within a preset first arbitration time.
  • the intention to transmit may be first declared (S920).
  • the transmission priority candidate is can be
  • a module that has become a transmission priority candidate among at least one module requiring data transmission may participate in the second arbitration, and a module that has not become a priority candidate (S925:N) ) is dropped due to non-declaration of the intention to transmit (S935) and maintains the high signal output (S910).
  • At least one module that has become a transmission priority candidate may output a high signal within the second arbitration time to make a second declaration of the intention to transmit (S940).
  • the disconnection communication bus maintains the grounding state, and if all modules output a high signal within the second arbitration time, the disconnection communication bus is turned on. do.
  • the module S940:Y that last output a high signal within the second arbitration time
  • the module that finally declared the second declaration can secure the final bus occupation.
  • the module securing the final bus occupation transmits data to another module through the single line communication bus 10, and the other module becomes a receiving module and can communicate by receiving data from the module securing the final bus occupation.
  • multi-master communication is implemented by combining a plurality of modules having a UART interface to share a one-wire communication bus and arbitrating transmission priority based on open drain characteristics to prevent collisions. can have an effect.
  • the first arbitration and the second arbitration are performed based on the open drain characteristic to allow one module to occupy the bus, thereby overcoming the limitation of the processing speed, and a module that outputs the last high signal during the second arbitration (Bus occupancy securing module) As soon as the bus is turned on, the module securing the bus occupancy right transmits the data frame through the shared bus, so that the bus occupancy and data transmission/reception can be smoothly operated.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Bus Control (AREA)

Abstract

본 발명의 실시예에 따른 본 발명은 모듈 어셈블리 및 그의 멀티 마스터 통신방법에 관한 것으로서, 보다 상세하게는 상호 결합시 오픈드레인기반의 단선통신버스를 형성하여 데이터 송수신이 가능한 복수 개의 모듈을 포함하고, 상기 복수 개의 모듈 중 데이터 송신이 필요한 적어도 하나의 모듈은, 상기 단선통신버스 상태를 감지하여 온상태이면 기 설정된 제1중재시간내에서 로우신호를 출력하여 송신의사를 제1선언하고 상기 송신의사를 제1선언한 적어도 하나의 모듈은, 제2중재시간내에서 하이신호를 출력하여 송신의사를 제2선언하며, 상기 제2중재시간내에서 하이신호를 마지막 출력한 모듈이 최종 버스점유를 확보하는 모듈 어셈블리에 관한 것이다.

Description

모듈 어셈블리 및 그의 멀티 마스터 통신방법
본 발명은 모듈 어셈블리 및 그의 멀티 마스터 통신방법에 관한 것으로서, 보다 상세하게는 UART 인터페이스를 구비한 복수 개의 모듈을 결합하여 단선(one-wire) 통신버스를 공유하고, 오픈드레인 특성을 기반으로 송신 우선권을 중재하여 충돌을 방지함으로써 멀티 마스터 통신을 구현할 수 있는 모듈 어셈블리 및 그의 멀티 마스터 통신방법에 관한 것이다.
최근 교육, 취미, 연구, 생산 등을 목적으로 하는 다양한 모듈 기반 제작 도구들이 제안되고 있다. 이러한 제작 도구들에 포함된 모듈들은 각각 특정한 기능을 수행할 수 있으며, 서로 연결되어 모듈 어셈블리를 형성할 수 있도록 제공된다.
이때, 각각의 모듈은 서로 전기적으로도 연결되어 에너지, 신호, 데이터 등을 송수신할 수 있도록 제공되고 있다. 사용자는 제공된 매뉴얼 또는 스스로 창작한 방식에 따라 모듈들을 조립하여 특정한 목적을 수행하는 모듈 어셈블리를 제작할 수 있다.
이러한 모듈 어셈블리는 조립된 복수 개의 모듈 간의 데이터 송수신을 수행함으로써 특정 목적을 수행할 수 있으며, 모듈 간의 데이터 송수신을 위해서는 모듈간 버스의 공유 및 버스점유에 대한 우선권 중재 등이 필요하다.
데이터 송수신을 위해 이용되는 통신버스로 CAN 통신을 이용하는 경우가 많다. 이러한 CAN 통신을 이용하는 모듈로 특허문헌으로 한국공개특허 제2017-0104306호(이하, 특허문헌1)가 있다. 특허문헌1은 CAN 통신 방식에 따라 기 설정된 우선순위기반의 중재 방법에 따라 특정 모듈이 마스터로 동작된다.
일반적으로, CAN 통신은 모듈별로 기 설정된 우선순위를 가지며, 우선순위를 기반으로 송신 의도를 선언한 순위대로 버스점유권을 제공하는 방식을 활용하고 있다. 이에 멀티 마스터 통신의 구현시 CAN 통신이 일반적으로 사용되고 있다.
CAN 통신을 이용하는 경우 모듈간 플러그 앤 플레이의 구현이 용이하며, 브로드 캐스팅 네트워크의 구현이 용이하고, 높은 신뢰도를 갖고서 시스템 제어 속도와 안전성을 향상시킬 수 있다.
이러한 CAN 통신을 적용하기 위해서는 모듈의 프로세싱 성능이 뒷받침되어야 한다. 하지만, 단가 및 기능을 고려하여 저 성능의 프로세서를 사용하는 모듈 어셈블리는 성능상의 제약으로 인하여 CAN 통신을 활용하는데 어려움이 있으며, CAN 통신 적용시 비용이 현저하게 상승하게 된다.
이에, 모듈의 프로세싱 성능 등이 부족한 상황에서도 버스점유 중재를 통해 멀티 마스터 통신을 구현할 수 있는 방법이 필요하다.
[관련기술문헌]
(특허문헌 1) : 한국공개특허 제2017-0104306호(2017.09.15.공개)
본 발명이 해결하고자 하는 과제는, UART 인터페이스를 구비한 복수 개의 모듈을 결합하여 단선(one-wire) 통신버스를 공유하고, 오픈드레인 특성을 기반으로 송신 우선권을 중재하여 충돌을 방지함으로써 멀티 마스터 통신을 구현할 수 있는 모듈 어셈블리 및 그의 멀티 마스터 통신방법을 제공하는 것이다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 어셈블리모듈은, 상호 결합시 오픈드레인기반의 단선통신버스를 형성하여 데이터 송수신이 가능한 복수 개의 모듈을 포함할 수 있다.
이때, 상기 복수 개의 모듈 중 데이터 송신이 필요한 적어도 하나의 모듈은, 상기 단선통신버스 상태를 감지하여 온상태이면 기설정된 제1중재시간내에서 로우신호를 출력하여 송신의사를 제1선언하고, 상기 송신의사를 제1선언한 적어도 하나의 모듈은, 제2중재시간내에서 하이신호를 출력하여 송신의사를 제2선언하며, 상기 제2중재시간내에서 하이신호를 마지막 출력한 모듈이 최종 버스점유를 확보할 수 있다.
또한, 각각의 모듈은, 전송할 데이터가 있는 경우, 상기 제1 선언 및 제2 선언을 위한 제어신호를 출력하는 프로세서; 및 상기 출력되는 제어신호에 따라 상기 단선통신버스 연결을 스위칭하여 중재시간내에 로우신호 또는 하이신호를 출력하는 통신유닛을 포함할 수 있다.
또한, 상기 통신유닛의 입출력단은 오픈드레인으로 구성될 수 있다.
또한, 상기 통신유닛은, 상기 프로세서로부터 하이레벨의 제어신호를 입력받으면 턴온되어 로우신호를 출력할 수 있다.
또한, 상기 통신유닛은, 상기 프로세서로부터 로우레벨의 제어신호를 입력받으면 턴오프되고 하이신호를 출력할 수 있다.
또한, 상기 단선통신버스는, 적어도 하나의 모듈이 로우신호를 출력하면 접지 상태가 될 수 있다.
또한, 상기 단선통신버스는, 상기 복수 개의 모듈에서 모두 하이신호를 출력할 때 온 상태가 될 수 있다.
또한, 상기 복수 개의 모듈은, 제1중재시간의 시작시 모두 하이신호를 출력하도록 설정되고, 상기 제1선언에 의해 단선버스상태가 접지상태가 되면, 송신의사를 미선언한 모듈은 상기 제1중재시간 및 제2중재시간 동안 하이신호를 유지할 수 있다.
또한, 상기 최종 버스점유를 확보한 모듈은, 상기 단선 통신 버스를 통해 송신 데이터를 다른 모듈로 전송하고, 상기 다른 모듈은, 상기 최종 버스점유를 확보한 모듈로부터 수신한 데이터의 목적지 정보가 자신의 ID와 동일하지 않으면 상기 수신한 데이터를 폐기할 수 있다.
또한, 상기 복수 개의 모듈은, 마스터 모듈이 되고, 시작 섹션(SoF), 제어 섹션, 데이터 섹션, CRC 섹션, ACK 섹션 및 중재 섹션을 순서대로 포함하는 데이터 프레임을 이용하여 데이터를 송수신할 수 있다.
또한, 상기 통신유닛은 UART 통신인터페이스가 될 수 있다.
또한, 본 발명의 일 실시 예에 따르면, 상호 결합시 오픈드레인기반의 단선통신버스를 형성하여 데이터 송수신이 가능한 복수 개의 모듈을 포함하는 모듈 어셈블리의 멀티마스터 통신방법은, 상기 복수 개의 모듈 중 데이터 송신이 필요한 적어도 하나의 모듈이, 상기 단선통신버스 상태를 감지하여 온상태이면 기설정된 제1중재시간내에서 로우신호를 출력하여 송신의사를 제1선언하는 단계, 상기 송신의사를 제1선언한 적어도 하나의 모듈이, 제2중재시간내에서 하이신호를 출력하여 송신의사를 제2선언하는 단계 및 상기 제2중재시간내에서 하이신호를 마지막 출력한 모듈이, 최종 버스점유를 확보하는 버스점유 단계를 포함할 수 있다.
또한, 상기 복수 개의 모듈은, 프로세서 및 입출력단이 오픈드레인으로 구성되는 통신유닛을 포함하고, 상기 송신의사를 제1선언하는 단계는, 상기 데이터 송신이 필요한 적어도 하나의 모듈 각각에서, 상기 프로세서가, 송신할 데이터가 있는 경우 상기 단선통신버스를 모니터링하여 온상태이면 상기 제1중재시간내에 제1 선언을 위한 하이신호를 출력하는 단계 및 상기 통신유닛이, 상기 프로세서로부터 출력되는 하이신호에 따라 턴온되어 로우신호를 출력하는 단계를 포함할 수 있다.
또한, 상기 송신의사를 제2선언하는 단계는, 상기 프로세서가, 제2중재시간내에 제2선언을 위한 로우신호를 출력하는 단계 및 상기 통신유닛이, 상기 프로세서로부터 출력되는 로우신호에 따라 턴오프되어 하이신호를 출력하는 단계를 포함할 수 있다.
또한, 상기 단선통신버스는, 적어도 하나의 모듈이 로우신호를 출력하면 접지 상태가 될 수 있다.
또한, 상기 단선통신버스는, 상기 복수 개의 모듈에서 모두 하이신호를 출력할 때 온 상태가 될 수 있다.
또한, 상기 복수 개의 모듈은, 제1중재시간의 시작시 모두 하이신호를 출력하도록 설정되고, 상기 제1선언에 의해 단선버스상태가 접지상태가 되면, 송신의사를 미선언한 모듈은 상기 제1중재시간 및 제2중재시간 동안 하이신호를 유지할 수 있다.
또한, 상기 최종 버스점유를 확보한 모듈에서, 상기 단선 통신 버스를 통해 송신 데이터를 다른 모듈로 전송하는 단계 및 상기 다른 모듈에서, 상기 최종 버스점유를 확보한 모듈로부터 수신한 데이터의 목적지 정보가 자신의 ID와 동일하지 않으면 상기 수신한 데이터를 폐기하는 단계를 더 포함할 수 있다.
또한, 상기 복수 개의 모듈은, 마스터 모듈이 되고, 시작 섹션(SoF), 제어 섹션, 데이터 섹션, CRC 섹션, ACK 섹션 및 중재 섹션을 순서대로 포함하는 데이터 프레임을 이용하여 데이터를 송수신할 수 있다.
또한, 상기 통신유닛은 UART 통신인터페이스가 될 수 있다.
따라서, 본 발명에 따른 AI 스마트 키트는 AI 이동체가 다양한 상황에 맞는 동작을 즉각적으로 수행본 발명의 일 실시 예에 따른 모듈 어셈블리 및 그의 멀티 마스터 통신방법은, UART 인터페이스를 구비한 복수 개의 모듈을 결합하여 단선(one-wire) 통신버스를 공유하고, 오픈드레인 특성을 기반으로 송신 우선권을 중재하여 충돌을 방지함으로써 멀티 마스터 통신을 구현할 수 있다.
이에, CAN 통신의 구현없이도 송신 우선권 중재를 통한 멀티 마스터 통신을 수행할 수 있으며 모듈의 단가를 낮출 수도 있다.
또한, 제1중재만 수행할 시 모듈의 처리속도 한계로 정확한 버스점유 모듈을 결정하는데 어려움이 있으나, 본 발명의 일 실시 예에서는 오픈드레인 특성을 기반으로 제1중재 및 제2중재를 수행하여 하나의 모듈에서 버스를 점유할 수 있게 함으로써 처리속도의 한계를 극복할 수 있다.
또한, 데이터 프레임의 마지막 섹션에 중재 섹션을 구비하여, 제2중재시 마지막 하이신호를 출력하는 모듈(버스점유권 확보 모듈)에 의해 버스가 온 됨과 동시에 버스점유권을 확보한 모듈은 데이터프레임을 공유버스를 통해 전송할 수 있다.
또한, 끼움, 접촉 등의 하드웨어적 결합 및 오픈드레인을 통해 모듈간 공유 버스를 형성함으로써 멀티 마스 통신에 이용되는 모듈의 추가 및 제거가 용이하다.
본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.
도 1은 본 발명의 일 실시예에 따른 모듈 어셈블리의 개략적인 구성을 나타내는 블럭도이다.
도 2는 도 1의 모듈 어셈블리가 조립된 모습을 보여주는 사시도이다.
도 3은 도 2의 모듈 어셈블리 중 일부 결합된 모듈의 내부 구조를 보여주는 평면도이다.
도 4는 본 발명의 일 실시 예에 따른 통신유닛에 적용된 오픈드레인의 특성을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시 예에 따른 단선통신버스를 형성하는 오픈드레인의 특성을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시 예에 따른 전송 프레임을 나타내는 도면이다.
도 7은 본 발명의 일 실시 예에 따른 모듈 어셈블리의 버스점유 중재를 설명하기 위한 중재 섹션의 타임테이블이다.
도 8은 도 7의 제1중재시간에 송신의사를 제1선언한 우선권 후보를 설명하기 위한 타임테이블이다.
도 9는 본 발명의 일 실시예에 따른 모듈 어셈블리의 멀티마스터 통신방법을 설명하기 위한 흐름도이다.
이하의 내용은 단지 발명의 원리를 예시한다. 그러므로 당업자는 비록 본 명세서에 명확히 설명되거나 도시되지 않았지만 발명의 원리를 구현하고 발명의 개념과 범위에 포함된 다양한 장치를 발명할 수 있는 것이다. 또한, 본 명세서에 열거된 모든 조건부 용어 및 실시예들은 원칙적으로, 발명의 개념이 이해되도록 하기 위한 목적으로만 명백히 의도되고, 이와 같이 특별히 열거된 실시예들 및 상태들에 제한적이지 않는 것으로 이해되어야 한다.
또한, 이하의 설명에서 제1, 제2 등과 같은 서수식 표현은 서로 동등하고 독립된 객체를 설명하기 위한 것이며, 그 순서에 주(main)/부(sub) 또는 주(master)/종(slave)의 의미는 없는 것으로 이해되어야 한다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해질 것이며, 그에 따라 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다.
본 발명의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하며, 당업자가 충분히 이해할 수 있듯이 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시 가능할 수도 있다.
이하, 첨부된 도면을 참조하여 본 발명의 다양한 실시예들을 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 모듈 어셈블리의 개략적인 구성을 나타내는 블럭도이다. 본 발명의 일 실시 예에 따른 모듈 어셈블리는 상호 결합시 오픈드레인기반의 단선통신버스(10)를 형성하여 데이터 송수신이 가능한 복수 개의 모듈(100a 내지 100n)을 포함할 수 있다.
각각의 모듈(100a 내지 100n)은 프로세서(110) 및 통신유닛(120)을 포함할 수 있고, 통신유닛(120)은 UART 인터페이스가 되며, 입출력단이 오픈드레인으로 구성될 수 있다.
이때, 프로세서(110) 및 통신유닛(120)은 하나의 마이크로프로세서로 구현될 수 있으며, 마이크로프로세서가 오픈드레인을 구성하지 않는 경우 별도로 구비하여 연결할 수도 있다.
본 발명의 일 실시 예에 따른 모듈 어셈블리는 각 모듈에서 버스점유 중재를 수행하여 전송 모듈을 결정함으로써 멀티 마스터 통신을 구현할 수 있다. 이에 대한 설명의 이해를 위해, 본 발명의 주요 특징인 버스점유 중재방법을 설명하기에 앞서, 도 2 및 도 3을 통해 본 발명의 일 실시 예에 따른 모듈의 구조 및 모듈간 결합을 설명하고, 도 4 및 도 5를 통해 본 발명의 일 실시 예에 따른 통신유닛의 오픈드레인 특성을 먼저 설명하도록 한다.
도 2는 도 1의 모듈 어셈블리가 조립된 모습을 보여주는 사시도이며, 도 3은 도 2의 모듈 어셈블리 중 일부 결합된 모듈의 내부 구조를 보여주는 평면도이다. 도 2 및 도 3을 통해, 각 모듈(100a 내지 100n)의 구조 및 모듈간 결합을 통한 단선통신버스(10)의 형성을 알 수 있다.
모듈 어셈블리는 서로 조립 가능한 복수 개의 모듈(100a 내지 100n)들의 집합 또는 이들이 조립된 구조체로 정의될 수도 있으며, 그 목적, 종류, 형태, 모듈의 개수 등에 의해 제한되지 않는다.
복수 개의 모듈들(100a 내지 100n)은 전압 또는 전류의 변화로서 나타내는 신호, 데이터, 또는 전기 에너지(이하, “전기적 신호”라고도함)를 다른 모듈 또는 외부 장치와 송수신할 수 있도록 구성된 객체로 정의될 수 있다. 이러한 모듈들은 중앙처리장치(CPU), 메모리(316), 전원 등을 구비하거나 또 다른 모듈의 제어를 받아 작동 가능한 감지(Sensing) 수단, 처리(Processing)수단 및 구동(Driving) 수단 등을 구비하여 각각 독립적으로 구동 가능할 수 있다.
또한, 각각의 모듈들(100a 내지 100n)은 독립적으로 특정한 기능을 수행하거나, 다른 모듈과의 상호 작용에 의해 특정한 기능을 수행하도록 구성될 수도 있다. 모듈들이 중앙처리장치(CPU)를 구비하는 경우에는 각각의 모듈별로 펌웨어(Firmware)가 설치될 수도 있다.
상술한 바에 따라, 각각의 모듈들(100a 내지 100n)은 입력(Input) 모듈, 출력(Output) 모듈, 셋업(Setup) 모듈로 구분될 수 있다.
여기서, 입력 모듈은 리모컨 등으로부터 적외선 신호를 수신할 수 있는 적외선 모듈(IR(Infrared) module), X,Y,Z축 변화 각도와 가속도를 감지할 수 있는 자이로스코프 센서 모듈(Gyroscope module), 모듈 손잡이의 회전을 이용하여 회전 각도 혹은 회전 속도를 측정할 수 있는 다이얼 모듈(Dial module), 버튼의 눌림을 감지하여, 클릭, 더블 클릭, 눌린 상태를 감지하고, 토글(Toggle)을 사용해 온/오프(On/Off) 상태가 유지될 수 있도록 하는 버튼 모듈(Button module), 온도, 습도, 조도 등을 측정할 수 있는 환경 모듈(Environment module), 주변의 소리 세기(dB)와 주파수를 감지할 수 있는 마이크 모듈(Mic module) 및 거리를 감지할 수 있는 초음파 모듈(Ultrasonic module) 등으로 구성될 수 있다.
또한, 출력 모듈은 색 변경에 따른 시각적 표시가 가능한 LED 모듈(LED module), 스피커 모듈(Speaker module), 사용자가 그린 그림이나, 글자 또는 모듈 정보 등을 화면에 표시하는 디스플레이 모듈(Display module), 속도, 각도, 토크(Torque)를 설정하여 전기 신호를 모터 모듈로 보내서 회전 운동을 시켜주는 모터 컨트롤러 모듈(Motor Controller module), 또는 모터 컨트롤러에서 받은 전기적 신호를 회전운동으로 변환할 수 있는 모터 모듈(Motor; MDP-14) 등으로 구성될 수 있다.
또한, 셋업 모듈은 다른 모듈에 전원을 공급할 때 사용되는 배터리 모듈(Battery module) 및 블루투스(Bluetooth), 와이파이(WiFi) 혹은 USB 연결을 통해 모듈을 PC, 스마트폰 또는 모듈과 연결시킬 수 있는 네트워크 모듈(Network module) 등으로 구성될 수 있다.
또한, 각각의 모듈들(100a 내지 100n)은 외부의 구동 장치와 케이블에 의해 연결될 수도 있다. 이 경우, 모듈 어셈블리(300)는 리모컨 또는 스마트폰의 신호를 수신하여 모터를 선택적으로 작동시키는 장치일 수 있다.
이와 같은 모듈 어셈블리의 구성은 하나의 예에 불과하며, 각각의 모듈(100a 내지 100n)은 독립적으로, 또는 다른 모듈과의 연동을 통해 임의의 기능을 수행할 수 있도록 제공될 수 있다.
복수의 모듈들(100a 내지 100n)은 이웃하는 다른 모듈과 면 접촉 가능하도록 복수 개의 측면을 갖는 다각형 기둥 형상인 입체일 수 있다. 여기서, 면 접촉은 측면의 모든 면적이 모두 접촉되는 것 만을 의미하는 것은 아니며, 측면의 일부만 접촉되어 어느 하나의 모듈의 측면과 다른 모듈의 측면이 서로 마주보며 일부분이 접촉되는 것을 포함하는 의미로 이해되어야 한다.
도 2를 참조하면, 각각의 모듈들(100a 내지 100n)은 정사각형 형상의 평면을 갖는 것을 예로 들어 도시하였으나, 평면상 정삼각형, 직사각형, 정오각형 등의 다각형 기둥 형상으로 형성될 수도 있고, 특히, 정다각형 형상으로 형성될 수도 있다. 일부의 모듈들이 서로 다른 입체적 형상을 가질 수도 있다. 또한, 모듈들 중 일부는 뿔, 다면체 등의 다양한 입체적 형상을 가질 수도 있다.
각 모듈(100a 내지 100n)은 외관을 형성하는 하우징(1)과, 상기 하우징(1)의 측면에 노출되어 전기 신호 등을 연결된 다른 모듈에 전달하거나 수신할 수 있는 단자(2)와, 하우징의 외부로 선택적으로 돌출되는 결합핀(도 2의 (3) 또는 도 3의 (108))이 제공된 핀 설치부(105) 및 다른 모듈의 결합핀이 삽입되는 핀 수용부(도 2의 (4) 또는 도 3의 (103))를 포함할 수 있다.
여기서, 결합핀(108), 핀 설치부(105) 및 핀 수용부((도 2의 (4) 또는 도 3의 (103))는 인접한 2개의 모듈을 서로 연결시키기 위한 결합기구로 마련된 것이다. 도 3의 본 실시예에서는, 본체 케이스(1b)의 측면에 마련된 결합핀(108)과, 상기 결합핀(108)을 자력으로 끌어당기기 위 한 자석(109)이 마련될 수 있다. 상기 결합핀(108)과 상기 자석(109) 덕분에, 인접한 위치에 배치된 2개의 모듈은 서로 자력에 의해 끌어당겨져 결합이 될 수 있다. 본 실시예에서는, 결합기구로서 결합핀(108)과 자석(109)을 예로 들어 설명하였으나 이에 한정되는 것은 아니며, 다른 방식의 결합기구가 사용될 수도 있 음은 물론이다. 예컨대, 상기 본체 케이스(1b)에는 돌출부와 상기 돌출부를 수용하는 만입부가 마련되어, 2 개의 이웃하는 모듈의 상기 돌출부와 상기 만입부가 서로 결합되는 방식으로 2개의 모듈을 결합시킬 수도 있다.
하우징(1)은 평면이 정사각형인 직육면체 형상으로 형성된 케이스로서, 내부의 구성품들을 보호한다. 하우징(1)은 도 2에 도시된 바와 같이 상부 케이스(1a)와 하부 케이스(1b)가 결합되는 형태로 제공될 수 있다. 하우징(1)을 구성하는 방법은 필요에 따라 상부 케이스(1a)와 하부 케이스(1b)가 일체로 형성되거나, 더 많은 부분으로 나뉘어 조립될 수도 있다.
또한, 하부 케이스(1b)는 외형 및 내부 구조를 형성하는 프레임, 프레임의 내측에 제공되는 기판(102) 및 기판(102)에 설치되는 기능 유닛(104)을 더 포함할 수 있다. 보다 상세하게, 기판(102)에는 제1모듈(100a)의 기능을 구현하기 위한 기능 유닛(104)이 실장될 수 있으며, 프레임의 내측 공간 중앙부에 고정 설치될 수 있다. 기능 유닛(104)은 예를 들어 본 발명의 일 실시 예에 따른 프로세서(110) 및 통신유닛(120)을 포함하는 마이크로프로세서가 될 수 있으며, 기능에 따라 모듈의 종류(입력(Input) 모듈, 출력(Output) 모듈, 셋업(Setup) 모듈)가 정해질 수 있다.
기타 본원 발명의 모듈의 더욱 상세한 구조 및 결합에 대해서는 대한민국 등록특허 공보 제10-1761596호에 상세하게 기재되어 있으며, 본원 특허 명세서에 참조로서 포함된다.
단자(2)는 전기 신호 등을 연결된 다른 모듈에 전달하거나 다른 모듈로부터 받을 수 있으며, 일 예로 하우징(1)의 내부에 제공된 기판(102)으로부터 전기 신호 등을 전달받아 단자에 접촉된 다른 모듈의 단자로 전달할 수 있다. 단자(2)는 다수 개의 접촉 점이나 연결 핀을 가질 수 있으며, 이는 전기 신호 등의 전달 방법, 표준화된 규격 등에 따라 다양한 형태를 가질 수 있다.
이와 같은 단자(2)는 핀(도 2의 (3) 또는 도 3의 (106)), 핀 설치부(105), 핀 수용부(도 2의 (4) 또는 도 3의 (103))와 한 세트를 이루어 하우징(1)의 측면에 배치될 수 있다. 구체적으로, 단자(2)는 핀(도 2의 (3) 또는 도 3의 (106))과 핀 수용부(도 2의 (4) 또는 도 3의 (103)) 사이에 배치될 수 있으며, 다른 모듈의 핀과 핀 수용부 사이에 배치된 단자에 접촉될 수 있다. 본 실시예에서는 하우징(1)의 모든 측면에 단자(2)가 제공되는 것을 예로 들었으나, 실시예에 따라 단자(2)가 형성되지 않은 측면이 존재할 수도 있다.
이때, 본 발명의 일 실시 예에서는 UART단자를 이용할 수 있으며, 오픈드레인으로 구성하여 도 3과 같이 모듈간 하드웨어적 결합시 오픈드레인기반의 단선통신버스(10)를 형성할 수 있다. 예컨대, 모듈(100a 내지 100n)은 단자(2)의 핀(106) 중 하나는 오픈드레인 출력핀이 될 수 있으며, 각 모듈의 단자(2)의 핀(106))이 서로 연결되어 단선통신버스(10)를 형성하여 공유할 수 있다.
프레임은 하우징(1)의 일부 또는 전부를 구성하는 구조물로서, 하우징(1)의 일부 또는 전부의 외형을 형성하고, 내부에 각종 부품이 설치되기 위한 공간과 구조를 제공할 수 있다. 본 실시예에서 프레임은 하우징(1)의 하부 케이스(1b)를 형성하고, 사각형 형상으로 형성되며, 4개의 코너(corner)를 갖는 것을 예로 들어 설명하나, 본 발명의 권리범위는 이에 한정되지 않는다.
상기 도 2 및 도 3과 같이, 본 발명의 일 실시 예에 따른 모듈 어셈블리는 하드웨어적 결합을 통해 복수 개의 모듈(100a 내지 100n)들이 통신유닛(120)의 오픈드레인 출력을 연결함으로써 공유 버스(10)를 형성할 수 있다. 이에, 멀티 마스 통신에 이용되는 모듈의 추가 및 제거가 용이하다.
본 발명의 일 실시예에서 통신유닛(120)은 UART 통신 인터페이스가 되며, 프로세서(110)로부터 수신되는 데이터 및 제어신호를 Tx(송신부)로 출력하여 단선통신버스(10)를 통해 다른 모듈로 전송하고, 다른 모듈의 프로세서(110)에서 단선통신버스(10)를 통해 전송되는 데이터를 Rx(수신부)를 통해 수신할 수 있다.
이때, 통신유닛(120)의 Tx(송신부) 및 Rx(수신부)는 하나의 라인으로 형성되며 해당 모듈의 프로세서(110)의 제어에 따라 통신유닛(120)의 Tx(송신부) 및 Rx(수신부)로 동작되며, 송신 및 수신되는 데이터는 통신유닛(120)의 버퍼에 기록 및 리드될 수 있다.
본 발명의 일 실시 예에서 통신유닛(120)의 입출력단은 오픈드레인으로 구현될 수 있다. 즉, 상기 통신유닛(120)의 버퍼는 오픈드레인 버퍼가 될 수 있다.
도 4 및 도 5를 통해, 본 발명의 일 실시 예에 따른 통신유닛에 적용된 오픈드레인의 특성을 살펴볼 수 있다.
도 4는 본 발명의 일 실시 예에 따른 통신유닛에 적용된 오픈드레인의 특성을 설명하기 위한 도면이다. 도 4의 (a) 및 (b)를 살펴보면, 게이트로 프로세서(110)의 제어신호가 입력될 수 있으며 제어신호의 레벨에 따라 모스펫은 턴온 또는 턴오프되어 드레인 출력을 결정할 수 있다. 또한, 오픈드레인의 드레인 출력은 다른 모듈의 드레인 출력과 연결될 수 있다.
도 4의 (a)는 로우신호가 제어신호로 입력되어 모스펫이 턴오프됨으로써 풀업저항(Rp)을 통해 외부전원(VDD)에 연결되어 드레인 출력이 논리'1' 즉, 하이(high)신호가 된다. 한편, 도 4의 (b)는 하이신호가 제어신호로 입력되어 모스펫이 턴온됨으로써 풀업저항에 의해 드레인 출력이 접지로 연결되어, 드레인 출력이 논리'0' 즉, 로우(low)신호가 된다.
즉, 각 모듈의 통신유닛(120)은, 오픈드레인 구조를 통해 프로세서(110)로부터 하이레벨의 제어신호를 입력받으면 턴온되어 로우신호를 출력하고, 프로세서(120)로부터 로우레벨의 제어신호를 입력받으면 턴오프되고 하이신호를 출력하게 된다.
도 5는 본 발명의 일 실시 예에 따른 단선통신버스를 형성하는 오픈드레인의 특성을 설명하기 위한 도면이다. 도 5는 복수 개의 모듈(100a 및 100b)의 오픈 드레인 출력을 서로 연결한 것으로, 단선통신버스를 형성할 수 있다. 도 5에서, 설명의 이해를 위해 2개의 모듈을 연결하여 설명하였으나, 동일한 방법으로 추가적인 모듈의 드레인 출력을 연결할 수 있다.
도 5를 살펴보면, 제1모듈(100a)의 오픈드레인 버퍼가 오프상태이고, 제2모듈(100b) 오픈드레인 버퍼가 온 상태인 두 출력이 서로 연결되어 단선통신버스를 형성하고 있다. 이때, 제1모듈(100a)은 논리 '1' 즉 하이신호를 출력함으로써 제1모듈의 회로에서 분리된 상태가 된다. 이에, 제1모듈(100a)은 제2모듈(100b)의 출력에 영향을 주지 않으며, 제2모듈(100b)은 외부 전원에서 풀업 저항을 거쳐 흘러 들어온 전류를 배출하는 역할을 한다.
즉, 제1모듈(100a)은 출력에 영향을 주지 않으므로 제1모듈(100a) 및 제2모듈(100b)의 오픈드레인 출력을 연결하여 형성된 단선통신버스의 논리는 '0' 즉 로우가 된다.
이와 같이, 본 발명의 일 실시 예에 따른 오픈드레인 출력을 연결한 단선통신버스(10)는 연결된 적어도 하나의 모듈이 논리 '0' 즉, 로우신호를 출력하면 접지 상태가 되고, 복수 개의 모듈(100a 내지 100n)에서 모두 논리 '1' 즉, 하이신호를 출력할 때 온 상태가 된다.
상기 도 2 내지 5와 같이, 오픈드레인 출력을 연결한 오픈드레인기반의 단선통신버스를 이용하여 멀티 마스터 통신을 수행하기 위해, 본 발명의 일 실시 예에 따른 모듈 어셈블리의 각 모듈(100a 내지 100n)은 버스점유확보를 위한 송신의사 선언을 수행하는 제1중재 및 제2중재에 참여할 수 있다.
여기서, 제1중재는 제1중재시간내에 송신의사를 제1선언하는 모듈이 송신 우선권 후보가 되는 과정이며, 제2중재는 제1중재시간에 연속된 제2중재시간내에 송신 우선권 후보가 된 적어도 하나의 모듈들이 최종 버스점유를 위해 송신의사를 제2선언하는 과정이 될 수 있다.
본 발명의 일 실시 예에 따른 복수 개의 모듈(100a 내지 100n)은 단선통신버스(10)를 통해 데이터를 송신하기 위해, 각 모듈(100a 내지 100n)은 프로세서(110)에서 송신의사를 선언하기 위한 제어신호를 출력하고, 통신유닛(120)에서 프로세서(110)의 제어신호에 따라 단선통신버스(10) 연결을 스위칭하여 버스점유를 위한 동작을 수행할 수 있다.
구체적으로, 복수 개의 모듈(100a 내지 100n) 중 데이터 송신이 필요한 적어도 하나의 모듈은, 단선통신버스(10)의 상태를 감지하여 기설정된 제1중재시간내에서 로우신호를 출력하여 송신의사를 제1선언할 수 있다.
이때, 단선통신버스(10)가 온상태일 때 송신의사를 제1선언한 모듈은 송신 우선권 후보가 될 수 있다. 송신 우선권 후보가 된 모듈은 버스점유를 위한 제2중재에 참여할 수 있으며, 송신 우선권 후보가 되지 못한 모듈은 버스점유에서 탈락하여 데이터를 수신하는 수신모듈이 된다.
다음으로, 송신 우선권 후보가 된 적어도 하나의 모듈은, 제2중재시간내에서 하이신호를 출력하여 송신의사를 제2선언할 수 있으며, 제2중재시간내에서 하이신호를 마지막 출력한 모듈이 최종적으로 버스점유를 확보할 수 있다.
즉, 제2중재시간에 하이신호를 마지막 출력한 모듈(버스점유 확보 모듈)에 의해 버스가 온되면서, 버스점유 확보 모듈이 데이터 프레임을 전송하는 전송 모듈이 될 수 있다.
도 7 및 도 8을 통해, 본 발명의 일 실시 예에 따른 멀티 마스터 통신의 버스점유를 위한 각 모듈의 송신선언을 설명할 수 있다. 이때, 본 발명의 일 실시 예에 따른 모듈어셈블리는 비동기식 시리얼 통신인 UART를 이용함으로 UART규격에 기반한 도 6과 같은 데이터 프레임을 이용하여 데이터 송수신을 할 수 있다. 설계자에 의도에 따라 변형 적용될 수도 있다.
UART는 일반적으로 컴퓨터나 주변 기기의 일종으로 병렬 데이터를 직렬화 하여 통신하는 개별 집적 회로이며, 일반적으로 MCU에 포함되어 있다. 비동기 통신이므로 동기 신호가 전달되지 않는다. 따라서 수신쪽에서 동기신호를 찾아내어 데이터의 시작과 끝을 시간적으로 알아 처리할 수 있도록 약속되어 있다. 이를 위해, 데이터 프레임에는 시작과 끝을 알리는 섹션이 필요하다.
도 6은 본 발명의 일 실시 예에 따른 전송 프레임을 나타내는 도면이다.
본 발명의 일 실시 예에서, 복수 개의 모듈(100a 내지 100n)은 도 6과 같이 시작 섹션(SoF : 21), 제어 섹션(22), 데이터 섹션(23), CRC 섹션(24) ACK 섹션(25) 및 중재 섹션(26)을 순서대로 포함하는 데이터 프레임(20)을 이용하여 데이터를 송수신할 수 있다.
여기서, 시작 섹션(21)은 프레임의 시작을 의미하며 한 비트 시간 길이만큼 유지하며, 지금부터 정해진 약속에 따라 통신을 시작한다는 것을 알린다.
제어 섹션(22)은 데이터의 길이, CRC 길이 및 제어신호 등을 전송하는 섹션이 될 수 있다.
데이터 섹션(23)은 전송하고자 하는 데이터 영역으로 전송하는 모듈의 ID, 목적지 모듈의 ID 및 데이터 영역을 포함할 수 있다.
CRC 섹션(24)은 데이터 프레임의 무결성을 확인하기 위한 섹션이 될 수 있다.
ACK 섹션(25)은 데이터 수신에 대한 수신모듈의 응답이 전송되는 섹션이다.
중재 섹션(26)은 해당 데이터 프레임의 종료시 버스 점유를 통해 다음 데이터를 송신할 모듈을 결정하는 섹션이다. 또한, 중재 섹션(26)은 데이터 프레임의 끝을 알리는 끝비트로 통신의 종료를 알릴 수 있다.
본 발명의 일 실시 예에 따른 중재 섹션(26)은 도 7 및 도 8을 통해 설명할 수 있다. 도 7은 본 발명의 일 실시 예에 따른 모듈 어셈블리의 버스점유 중재를 설명하기 위한 중재 섹션의 타임테이블이다. 도 8은 도 7의 제1중재시간에 송신의사를 제1선언한 우선권 후보를 설명하기 위한 타임테이블이다.
본 발명의 일 실시 예에 따른 복수 개의 모듈(100a 내지 100n)은 제1중재시간의 시작시 즉, ACK 섹션이 끝나면 모두 하이신호를 출력하도록 설정될 수 있다.
도 7을 참고하면, 본 발명의 일 실시 예에 따른 중재 섹션은 제1중재시간 및 제2중재시간으로 구분하여 다음 데이터를 송신할 전송 모듈을 결정하게 된다.
모듈 어셈블리가 모듈1 내지 모듈5를 포함하고 있다면, 중재 섹션의 시작시 모듈1 내지 모듈5는 모두 하이신호로 설정되며, 이중에서 송신할 데이터가 있는 모듈1, 모듈4 및 모듈 5는 제1중재시간 내에서 로우신호를 출력하여 송신의사를 제1선언할 수 있다. 이때, 각 모듈의 프로세서(110)는 단선통신버스의 상태(온 또는 접지)를 모니터링하면서 단선통신버스의 상태가 온일 때 로우신호가 출력되도록 통신유닛(120)을 제어할 수 있다.
도 7을 살펴보면 랜덤타임a에 모듈1과 모듈5가 로우신호를 출력한 것을 확인할 수 있다. 이때, 프로세서(110)는 기 설정된 버스상태감지 주기로 단선통신버스의 상태를 모니터링하기 때문에 성능에 따라 버스상태감지 주기가 달라질 수 있다. 프로세서(110)는 도 8과 같이 버스상태 감지 주기(도8의 t)단위로 버스상태를 감지하고 버스가 온상태로 감지되면 제1중재시간 내에서 통신유닛(120)을 통해 로우신호가 출력되도록 제어한다.
이에, 실제 모듈5가 키를 먼저 잡았지만, 버스상태 감지주기 t2에서 버스온 상태를 확인하여 t3에서 로우신호를 출력한 모듈1과 모듈5는 자신의 로우신호 출력에 의해 버스가 접지상태로 전환된 것으로 판단할 수 있다.
이에, 본 발명의 일 실시 예에서는 정확한 버스점유 모듈의 결정을 위해 제2중재시간내에서 제2중재를 수행한다. 버스 온 상태에서 로우신호를 출력하여 송신의사를 제1선언한 모듈1과 모듈5는 송신 우선권 후보가 되어 제2중재에 참여할 수 있다.
한편, 모듈4는 송신 선언을 위해 버스상태를 모니터링하면서 로우신호 출력을 시도하려 하였으나, 버스상태가 송신의사 선언 이전에 이미 접지상태가 되어 로우신호를 출력하지 못하고 하이신호를 유지하게 된다.
또한, 송신의사가 없는 모듈2 및 모듈3도 하이신호를 유지하게 된다.
결과적으로 제1중재에서는, 모듈1 및 모듈5가 제1중재시간 중 동시간대(도7의 랜덤타임a, 도 8의 t3)에 로우신호를 출력함으로써 송신 우선권 후보가 될 수 있으며, 버스상태는 접지상태가 될 수 있다.
다음으로, 송신 우선권 후보가 된 모듈1 및 모듈 5는 제2중재시간내에서 하이신호를 출력함으로써 송신의사를 제2선언할 수 있다. 이때, 오픈드레인기반 단선통신버스는 모든 연결된 모듈 중 적어도 하나의 모듈이 로우신호를 출력할 때 버스상태는 접지상태가 된다. 도 7의 제2중재시간을 살펴보면, 모듈1이 하이신호를 모듈5보다 먼저 출력시 모듈5가 로우신호를 출력하고 있어 버스상태는 접지상태를 유지한다.
또한, 오픈드레인기반 단선통신버스는 모든 연결된 모듈이 모두 하이신호를 출력할 때 버스상태가 온이 된다. 이에, 제2중재시간에 마지막으로 송신의사를 제2선언하는 모듈인 모듈5에 의해 버스가 온(on)될 수 있다.
따라서, 제2중재시간내에서 하이신호를 마지막 출력한 모듈인 모듈5가 최종 버스점유를 확보하여 다음 데이터를 송신할 수 있는 전송 모듈이 된다.
최종 버스점유를 확보한 모듈은, 단선통신버스(10)를 통해 데이터를 다른 모듈로 전송하고, 다른 모듈은 수신모듈이 되어 최종 버스점유를 확보한 모듈로부터 데이터를 수신하고, 수신한 데이터의 목적지 정보가 자신의 ID와 동일하지 않으면 수신한 데이터를 폐기하며, 자신의 ID와 동일하면 ACK섹션에 ACK를 보낼 수 있다.
도 9는 본 발명의 일 실시예에 따른 모듈 어셈블리의 멀티마스터 통신방법을 설명하기 위한 흐름도이다. 도 9는 도 1 내지 도 8의 모듈 어셈블리를 기반으로 하여 멀티마스터 통신을 수행할 수 있다.
복수 개의 모듈(100a 내지 100n)이 상호 결합된 모듈 어셈블리는 오픈드레인기반의 단선통신버스를 공유하여(S900) 모듈간 데이터 송수신을 수행할 수 있다. 이때, 각 모듈은 주종의 관계가 없는 마스터모듈이 되며, 데이터 송신을 위해 버스점유를 위한 중재가 필요하다. 이때 중재동작은 송신선언을 위한 제어신호의 출력을 통해 동작되며 각 모듈에서 각각 수행할 수 있다.
중재섹션의 시작시 단선통신버스(10)에 연결된 복수 개의 모듈(100a 내지 100n)은 모두 하이신호를 출력하도록 설정된다. 이때 출력은 외부 전원에 의해 결정된다.
복수 개의 모듈(100a 내지 100n) 중 데이터 송신이 필요한 적어도 하나의 모듈이(S905:Y), 단선통신버스(10) 상태를 모니터링하며(S915) 기설정된 제1중재시간내에서 로우신호를 출력하여 송신의사를 제1선언할 수 있다(S920).
한편, 데이터 송신이 필요하지 않은 모듈(S905:N)은 하이신호 출력을 유지한다(S910).
다음으로, 복수 개의 모듈(100a 내지 100n) 중 데이터 송신이 필요한 적어도 하나의 모듈은 단선통신버스(10)가 온상태일 때 송신의사를 제1선언하여 키를 잡은 것으로 판단한 경우, 송신 우선권 후보가 될 수 있다.
이때, 복수 개의 모듈(100a 내지 100n) 중 데이터 송신이 필요한 적어도 하나의 모듈 중 송신 우선권 후보가 된 모듈은(S925:Y) 제2중재에 참여할 수 있으며, 우선권 후보가 되지 못한 모듈(S925:N)은 송신의사 미선언으로 탈락(S935)하여 하이신호 출력을 유지한다(S910).
다음으로, 송신 우선권 후보가 된 적어도 하나의 모듈이, 제2중재시간내에서 하이신호를 출력하여 송신의사를 제2선언을 할 수 있다(S940).
이때, 제2중재시간내에서 로우신호를 출력하고 있는 모듈이 있는 경우 단선통신버스는 접지상태를 유지하며, 제2중재시간내에서 모든 모듈이 하이신호를 출력하는 경우 단선통신버스는 온 상태가 된다.
이에, 제2중재시간내에서 하이신호를 마지막 출력한 모듈(S940:Y)에 의해 버스가 온되면서 제2선언을 마지막 선언한 모듈이 최종 버스점유를 확보할 수 있다.
최종 버스점유를 확보한 모듈은 단선통신버스(10)를 통해 데이터를 다른 모듈로 전송하고, 다른 모듈은 수신모듈이 되어 최종 버스점유를 확보한 모듈로부터 데이터를 수신함으로써 통신할 수 있다.
따라서, 본 발명에 따르면, UART 인터페이스를 구비한 복수 개의 모듈을 결합하여 단선(one-wire) 통신버스를 공유하고, 오픈드레인 특성을 기반으로 송신 우선권을 중재하여 충돌을 방지함으로써 멀티 마스터 통신을 구현할 수 있는 효과가 있다.
특히, 오픈드레인 특성을 기반으로 제1중재 및 제2중재를 수행하여 하나의 모듈에서 버스를 점유할 수 있게 함으로써 처리속도의 한계를 극복할 수 있고, 제2중재시 마지막 하이신호를 출력하는 모듈(버스점유권 확보 모듈)에 의해 버스가 온 됨과 동시에 버스점유권을 확보한 모듈은 데이터프레임을 공유버스를 통해 전송함으로써, 버스점유 및 데이터 송수신이 원활하게 동작될 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형 실시될 수 있다.
따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다.
그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (20)

  1. 상호 결합시 오픈드레인기반의 단선통신버스를 형성하여 데이터 송수신이 가능한 복수 개의 모듈을 포함하고,
    상기 복수 개의 모듈 중 데이터 송신이 필요한 적어도 하나의 모듈은,
    상기 단선통신버스 상태를 감지하여 온상태이면 기설정된 제1중재시간내에서 로우신호를 출력하여 송신의사를 제1선언하고,
    상기 송신의사를 제1선언한 적어도 하나의 모듈은, 제2중재시간내에서 하이신호를 출력하여 송신의사를 제2선언하며,
    상기 제2중재시간내에서 하이신호를 마지막 출력한 모듈이 최종 버스점유를 확보하는, 모듈 어셈블리.
  2. 제1항에 있어서,
    상기 모듈은,
    전송할 데이터가 있는 경우, 상기 제1 선언 및 제2 선언을 위한 제어신호를 출력하는 프로세서; 및
    상기 출력되는 제어신호에 따라 상기 단선통신버스 연결을 스위칭하여 중재시간내에 로우신호 또는 하이신호를 출력하는 통신유닛을 포함하는, 모듈 어셈블리.
  3. 제2항에 있어서,
    상기 통신유닛의 입출력단은 오픈드레인으로 구성되는, 모듈 어셈블리.
  4. 제2항에 있어서,
    상기 통신유닛은,
    상기 프로세서로부터 하이레벨의 제어신호를 입력받으면 턴온되어 로우신호를 출력하는, 모듈 어셈블리.
  5. 제2항에 있어서,
    상기 통신유닛은,
    상기 프로세서로부터 로우레벨의 제어신호를 입력받으면 턴오프되고 하이신호를 출력하는, 모듈 어셈블리.
  6. 제1항에 있어서,
    상기 단선통신버스는,
    적어도 하나의 모듈이 로우신호를 출력하면 접지 상태가 되는, 모듈 어셈블리.
  7. 제1항에 있어서,
    상기 단선통신버스는,
    상기 복수 개의 모듈에서 모두 하이신호를 출력할 때 온 상태가 되는, 모듈 어셈블리.
  8. 제1항에 있어서,
    상기 복수 개의 모듈은, 제1중재시간의 시작시 모두 하이신호를 출력하도록 설정되고,
    상기 제1선언에 의해 단선버스상태가 접지상태가 되면, 송신의사를 미선언한 모듈은 상기 제1중재시간 및 제2중재시간 동안 하이신호를 유지하는, 모듈 어셈블리.
  9. 제1항에 있어서,
    상기 최종 버스점유를 확보한 모듈은, 상기 단선 통신 버스를 통해 송신 데이터를 다른 모듈로 전송하고,
    상기 다른 모듈은, 상기 최종 버스점유를 확보한 모듈로부터 수신한 데이터의 목적지 정보가 자신의 ID와 동일하지 않으면 상기 수신한 데이터를 폐기하는, 모듈 어셈블리.
  10. 제1항에 있어서,
    상기 복수 개의 모듈은, 마스터 모듈이 되고,
    시작 섹션(SoF), 제어 섹션, 데이터 섹션, CRC 섹션, ACK 섹션 및 중재 섹션을 순서대로 포함하는 데이터 프레임을 이용하여 데이터를 송수신하는 모듈 어셈블리.
  11. 제2항에 있어서,
    상기 통신유닛은 UART 통신인터페이스가 되는, 모듈 어셈블리.
  12. 상호 결합시 오픈드레인기반의 단선통신버스를 형성하여 데이터 송수신이 가능한 복수 개의 모듈을 포함하는 모듈 어셈블리의 멀티마스터 통신방법에 있어서,
    상기 복수 개의 모듈 중 데이터 송신이 필요한 적어도 하나의 모듈이, 상기 단선통신버스 상태를 감지하여 온상태이면 기설정된 제1중재시간내에서 로우신호를 출력하여 송신의사를 제1선언하는 단계;
    상기 송신의사를 제1선언한 적어도 하나의 모듈이, 제2중재시간내에서 하이신호를 출력하여 송신의사를 제2선언하는 단계; 및
    상기 제2중재시간내에서 하이신호를 마지막 출력한 모듈이, 최종 버스점유를 확보하는 버스점유 단계를 포함하는, 모듈 어셈블리의 멀티마스터 통신방법.
  13. 제12항에 있어서,
    상기 복수 개의 모듈은, 프로세서 및 입출력단이 오픈드레인으로 구성되는 통신유닛을 포함하며,
    상기 송신의사를 제1선언하는 단계는, 상기 데이터 송신이 필요한 적어도 하나의 모듈 각각에서,
    상기 프로세서가, 송신할 데이터가 있는 경우 상기 단선통신버스를 모니터링하여 온상태이면 상기 제1중재시간내에 제1 선언을 위한 하이신호를 출력하는 단계; 및
    상기 통신유닛이, 상기 프로세서로부터 출력되는 하이신호에 따라 턴온되어 로우신호를 출력하는 단계를 포함하는, 모듈 어셈블리의 멀티마스터 통신방법.
  14. 제13항에 있어서,
    상기 송신의사를 제2선언하는 단계는,
    상기 프로세서가, 제2중재시간내에 제2선언을 위한 로우신호를 출력하는 단계; 및
    상기 통신유닛이, 상기 프로세서로부터 출력되는 로우신호에 따라 턴오프되어 하이신호를 출력하는 단계를 포함하는, 모듈 어셈블리의 멀티마스터 통신방법.
  15. 제12항에 있어서,
    상기 단선통신버스는,
    적어도 하나의 모듈이 로우신호를 출력하면 접지 상태가 되는, 모듈 어셈블리의 멀티마스터 통신방법.
  16. 제12항에 있어서,
    상기 단선통신버스는,
    상기 복수 개의 모듈에서 모두 하이신호를 출력할 때 온 상태가 되는, 모듈 어셈블리의 멀티마스터 통신방법.
  17. 제12항에 있어서,
    상기 복수 개의 모듈은, 제1중재시간의 시작시 모두 하이신호를 출력하도록 설정되고,
    상기 제1선언에 의해 단선버스상태가 접지상태가 되면, 송신의사를 미선언한 모듈은 상기 제1중재시간 및 제2중재시간 동안 하이신호를 유지하는, 모듈 어셈블리의 멀티마스터 통신방법.
  18. 제12항에 있어서,
    상기 최종 버스점유를 확보한 모듈에서, 상기 단선 통신 버스를 통해 송신 데이터를 다른 모듈로 전송하는 단계; 및
    상기 다른 모듈에서, 상기 최종 버스점유를 확보한 모듈로부터 수신한 데이터의 목적지 정보가 자신의 ID와 동일하지 않으면 상기 수신한 데이터를 폐기하는 단계를 더 포함하는, 모듈 어셈블리의 멀티마스터 통신방법.
  19. 제12항에 있어서,
    상기 복수 개의 모듈은, 마스터 모듈이 되고,
    시작 섹션(SoF), 제어 섹션, 데이터 섹션, CRC 섹션, ACK 섹션 및 중재 섹션을 순서대로 포함하는 데이터 프레임을 이용하여 데이터를 송수신하는, 모듈 어셈블리의 멀티마스터 통신방법.
  20. 제13항에 있어서,
    상기 통신유닛은 UART 통신 인터페이스가 되는, 모듈 어셈블리의 멀티마스터 통신방법.
PCT/KR2021/015291 2021-03-31 2021-10-28 모듈 어셈블리 및 그의 멀티 마스터 통신방법 WO2022211204A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202180004089.7A CN115413341A (zh) 2021-03-31 2021-10-28 模块组件及其多主通信方法
EP21823458.1A EP4095707A4 (en) 2021-03-31 2021-10-28 SET OF MULTI-MASTER COMMUNICATION MODULES AND METHOD THEREOF
US17/552,864 US11726942B2 (en) 2021-03-31 2021-12-16 Module assembly and multi-master communication method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210041900A KR102489255B1 (ko) 2021-03-31 2021-03-31 모듈 어셈블리 및 그의 멀티 마스터 통신방법
KR10-2021-0041900 2021-03-31

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/552,864 Continuation US11726942B2 (en) 2021-03-31 2021-12-16 Module assembly and multi-master communication method thereof

Publications (1)

Publication Number Publication Date
WO2022211204A1 true WO2022211204A1 (ko) 2022-10-06

Family

ID=83232741

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/015291 WO2022211204A1 (ko) 2021-03-31 2021-10-28 모듈 어셈블리 및 그의 멀티 마스터 통신방법

Country Status (2)

Country Link
KR (1) KR102489255B1 (ko)
WO (1) WO2022211204A1 (ko)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980032140A (ko) * 1996-10-18 1998-07-25 윤종용 트랜잭션 및 수신지 id를 가진 공유 버스 시스템
KR20160091373A (ko) * 2013-11-25 2016-08-02 퀄컴 인코포레이티드 멀티포인트 인터페이스 최단 펄스 폭 우선순위 레졸루션
KR101761596B1 (ko) 2016-03-07 2017-07-26 주식회사 럭스로보 모듈 어셈블리
KR20170104309A (ko) * 2016-03-07 2017-09-15 주식회사 럭스로보 멀티 모듈 컴파일 시스템 및 멀티 모듈 컴파일 방법, 그리고 컴파일러 프로그램을 갖는 컴퓨터 판독가능 저장매체
KR20170104306A (ko) 2016-03-07 2017-09-15 주식회사 럭스로보 모듈 시스템 및 모듈기반 로봇 시스템, 그리고 모듈 시스템의 업데이트 방법
KR20170134470A (ko) * 2015-04-10 2017-12-06 퀄컴 인코포레이티드 N-베이스 수들 투 물리적 배선 상태들 심볼들 변환 방법
KR20180117279A (ko) * 2017-04-19 2018-10-29 주식회사 럭스로보 모듈 및 이를 포함하는 모듈 어셈블리

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007079964A (ja) * 2005-09-14 2007-03-29 Fuji Xerox Co Ltd 情報処理装置及びバス使用権獲得方法
KR20190017397A (ko) * 2017-08-11 2019-02-20 전자부품연구원 플러그 앤 플레이 디바이스의 인터페이스 장치 및 그 동작 방법

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980032140A (ko) * 1996-10-18 1998-07-25 윤종용 트랜잭션 및 수신지 id를 가진 공유 버스 시스템
KR20160091373A (ko) * 2013-11-25 2016-08-02 퀄컴 인코포레이티드 멀티포인트 인터페이스 최단 펄스 폭 우선순위 레졸루션
KR20170134470A (ko) * 2015-04-10 2017-12-06 퀄컴 인코포레이티드 N-베이스 수들 투 물리적 배선 상태들 심볼들 변환 방법
KR101761596B1 (ko) 2016-03-07 2017-07-26 주식회사 럭스로보 모듈 어셈블리
KR20170104309A (ko) * 2016-03-07 2017-09-15 주식회사 럭스로보 멀티 모듈 컴파일 시스템 및 멀티 모듈 컴파일 방법, 그리고 컴파일러 프로그램을 갖는 컴퓨터 판독가능 저장매체
KR20170104306A (ko) 2016-03-07 2017-09-15 주식회사 럭스로보 모듈 시스템 및 모듈기반 로봇 시스템, 그리고 모듈 시스템의 업데이트 방법
KR20180117279A (ko) * 2017-04-19 2018-10-29 주식회사 럭스로보 모듈 및 이를 포함하는 모듈 어셈블리

Also Published As

Publication number Publication date
KR20220135775A (ko) 2022-10-07
KR102489255B1 (ko) 2023-01-17

Similar Documents

Publication Publication Date Title
WO2019164215A1 (en) Electronic device including movable flexible display
WO2021075726A1 (en) Foldable electronic device including electronic pen
AU2015364006B2 (en) Electronic device
WO2021157870A1 (ko) 전자 장치 및 상기 전자 장치의 제1 인쇄 회로 기판과 제2 인쇄 회로 기판을 연결하는 커넥터
JPS62155645A (ja) 回線変換器
WO2020027528A1 (ko) 도전성 핀의 적어도 일부를 지지하기 위한 지지 부분을 포함하는 커넥터 및 이를 포함하는 전자 장치
WO2019066406A1 (ko) Usb 타입 c 인터페이스를 이용한 멀티 디바이스 간의 통신 방법 및 이를 구현한 전자 장치
WO2021033965A1 (ko) 전력 관리를 위한 위한 전자 장치 및 그의 동작 방법
WO2022211204A1 (ko) 모듈 어셈블리 및 그의 멀티 마스터 통신방법
WO2019168291A1 (ko) 전력을 공급하고 있는 외부 전자 장치의 연결 해제에 기반하여, 전자 장치와 연결된 다른 외부 장치로부터 전력을 수신하는 방법 및 이를 구현한 전자 장치
WO2021241887A1 (ko) 안테나를 포함하는 전자 장치
WO2019135603A1 (ko) 전자 장치 및 전자 장치의 동작 방법
WO2015053462A1 (ko) 패치패널 및 이를 구비하는 패치코드 관리 시스템
WO2019151604A1 (ko) Usb 커넥터를 이용하여 안테나 기능을 수행하기 위한 장치 및 방법
WO2019208908A1 (ko) 복수의 주파수 대역에서 신호를 전송하기 위한 장치 및 방법
WO2019124801A1 (en) Appliances and control method thereof
WO2020060088A1 (ko) 전기적 연결 장치 및 그것을 포함하는 전자 장치
WO2020256318A1 (ko) 이어 잭 내 삽입된 객체를 확인할 수 있는 전자 장치 및 방법
WO2022114596A1 (ko) 액세서리 장치의 전력 소모를 제어하는 전자 장치 및 그 운용 방법
WO2021172739A1 (ko) 인터포저를 포함하는 전자 장치
WO2021206324A1 (ko) 트랜스포머 디바이스 및 이를 포함하는 전자장치
WO2020204451A1 (ko) 키리스 리셋을 위한 방법 및 이를 위한 전자 장치
WO2020171607A1 (ko) 온도 변화에 따른 오류 터치를 방지하는 터치 회로, 터치 회로를 포함하는 전자 장치 및 그 동작 방법
WO2020251210A1 (ko) 커넥터를 포함하는 전자 장치 및 오디오 신호의 크로스 톡을 감소시키기 위한 방법
US11726942B2 (en) Module assembly and multi-master communication method thereof

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2021823458

Country of ref document: EP

Effective date: 20211221

NENP Non-entry into the national phase

Ref country code: DE