Patent Document

CROSS-REFERENCE TO RELATED APPLICATIONS 
     Pursuant to 35 U.S.C. 119(a), this application claims the benefit of earlier filing date and right of priority to Korean Patent Application No. 10-2011-0062550, filed on Jun. 27, 2011, the contents of which are all hereby incorporated by reference herein in its entirety. 
     BACKGROUND 
     The present disclosure relates to a frame converting method for communication relay between an automotive Controller Area Network (CAN) communication network device and a Modbus communication device, i.e. one of industrial field buses, and a protocol converting gateway device using the same. 
     Recently, automobile-related electronics industries are growing rapidly. Also, various demands on information and multimedia playback, engine control, emission control, artificial intelligence, a safety system for controlling the safety of air bags, and an automotive system are continuously being increased. 
     Accordingly, in order to provide an efficient automotive system, a network bus structure that supports various functions and reduces additional dedicated lines for each function is required. 
     For the purpose of providing the network bus structure, automobile manufacturers require a protocol that provides a high-bandwidth, flexible, and deterministic operation. Recently, various protocols that define a wiring structure and a communication protocol of a top-level system are used recently for mechanical or electrical parts of vehicles. Among the various protocols, a CAN protocol is the most representative protocol. 
       FIG. 1  is a schematic configuration view of a typical CAN communication  11  between a vehicle  10 , i.e. a CAN communication network device, and an external device  13 . 
     Referring to  FIG. 1 , the vehicle  10  typically includes an interface OBD terminal  15  for the external CAN communication  11 . When the external device  10  executes an application program  14  in order to communicate with the vehicle  10 , a CAN module  12  is required as a physical communication converter for the CAN communication  11 . That is, in order to communicate with the vehicle  10  by using the application program  14  in an external PC or a notebook computer, the CAN module  12  compatible with the CAN communication  11  of the vehicle  10  is required. 
     The above related art technique does not have limitations in a general automotive network CAN communication, but is not compatible with an external network due to the extension of a network communication range when communication is made with an external device using a protocol other than a CAN communication protocol. 
     When communication is made with an external device using a protocol other than a CAN communication protocol, a related art technique should use the same type of a protocol as the CAN communication of a vehicle, and also use external software according thereto. However, since such external software is often programmed based on another protocol other than a CAN communication protocol, Modbus, which is the most frequently used for industrial products, has no compatibility with the CAN. Therefore, software modifications and hardware changes or network changes of typical vehicles are required for new CAN communication. 
     SUMMARY 
     Embodiments provide a gateway through which Modbus communication using a basic terminal (e.g., Serial or Ethernet) of a PC instead of hardware for CAN communication in the PC is available when an automotive CAN communication network device is communicated with a vehicle external by using a Modbus type protocol not a CAN type protocol through a PC. Therefore, existing developed Modbus S/W and devices may be used for CAN communication without changes. 
     In one embodiment, a gateway device for relaying communication between an automotive network communication device and an industrial field bus communication device includes: a Controller Area Network (CAN) input unit for receiving a CAN input data frame from an external; and a conversion unit for converting the received CAN input data frame into a Modbus output data frame according to a predetermined method. 
     In another embodiment, a communication method of a gateway device for relaying communication between an automotive network communication device and an industrial field bus communication device includes: receiving a CAN input data frame from an external; converting the received CAN input data frame into a Modbus output data frame according to a predetermined method; and outputting the converted Modus output data frame. 
     The details of one or more embodiments are set forth in the accompanying drawings and the description below. Other features will be apparent from the description and drawings, and from the claims. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a schematic view of a related art CAN communication between a vehicle and an external device. 
         FIG. 2  is a view illustrating communication between a CAN communication network device and a Modbus communication network device through a gateway device according to the present invention. 
         FIG. 3  is a detailed configuration view of a gateway device according to the present invention. 
         FIG. 4  is a detailed configuration view illustrating a conversion unit of a gateway device according to the present invention. 
         FIG. 5  is a data structure diagram illustrating a conversion process between a CAN protocol and a Modbus protocol. 
         FIG. 6  is a flowchart illustrating a communication method of a gateway device according to the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE EMBODIMENTS 
     Terms or words used in this specification and claims are not interpreted being limited to common or dictionary meanings, and the inventor may appropriately define the concept of terms in order to describe his/her invention in the best way, and on the basis of that principle, the terms or words should be interpreted to meet the technical ideal of the present invention. 
     The invention may, however, be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein; rather, that alternate embodiments included in other retrogressive inventions or falling within the spirit and scope of the present disclosure can easily be derived through adding, altering, and changing, and will fully convey the concept of the invention to those skilled in the art. 
     Hereinafter, embodiments of the present invention will be described below in more detail with reference to the accompanying drawings. 
       FIG. 2  is a view illustrating communication between a CAN communication network device and a Modbus communication network device through a gateway device  20  according to the present invention. 
     First, referring to  FIG. 2 , a gateway device  20  may replace the related art CAN module  12 . Additionally, the gateway device  20  may relay the CAN communication device and the Modbus communication network device  23 . The CAN communication network device may be a vehicle  10 . The Modbus communication network device  23  may be a device  13  that has an installed application program  22  using Modbus communication. 
     That is, unlike that physical communication conversion is required in order to allow the CAN communication to be compatible through the related art CAN module  12 , the gateway device  20  may perform mutual conversion of the CAN communication  11  and the Modbus communication  21  without the CAN module  12 . Additionally, the gateway device  20  allows the CAN communication and the Modbus communication to be smooth according to fast conversion by defining a mutual conversion process in advance. 
       FIG. 3  is a detailed configuration view of a gateway device  20  according to the present invention.  FIG. 4  is a detailed configuration view illustrating a conversion unit  34  of a gateway device according to the present invention. 
     Referring to  FIGS. 3 and 4 , when examining the gateway device  20 , a CAN terminal  32  transmits/receives data to/from an external CAN communication network device  31 . The CAN terminal  32  may be one of CAN data communication available protocol terminals. Versions of a communication protocol may vary. 
     Moreover, a CAN receive buffer  33  may store the inputted data in CAN format. The CAN receive buffer  33  may manage the stored data. Moreover, the CAN receive buffer  33  may transmit the received data to a first input unit  41 . 
     The conversion unit  34  may convert the data in CAN format, which are received from the CAN receive buffer  33  through the first input unit  41 , into the data in Modbus format. Moreover, the converted data are outputted to a first output unit  42 . 
     Moreover, a Modbus transmit buffer  35  stores and manages the data in Modbus format, which are outputted from the first output unit  42 . The Modbus transmit buffer  35  may transmit the stored data in Modbus format to a Modbus communication network device  37  through a Modbus terminal  36 . 
     Moreover, the Modbus terminal  36  may transmit/receive data to/from the Modbus communication network device  37 . The Modbus terminal  36  may be one of data communication available protocol terminals. Additionally, Versions of a communication protocol may vary. 
     The Modbus communication network device  37  receives the data in Modbus format, which are transmitted through the Modbus terminal  36 , and performs necessary processing in order to transmit a response according thereto to the Modbus terminal  36 . 
     The Modbus receive buffer  38  receives the response data, which are transmitted from the Modbus communication network device  37 , through the Modbus terminal  36 , and stores/manages the received response data. The Modbus receive buffer  38  transmits the stored response data to a second input unit  44  of the conversion unit  34 . 
     Moreover, the conversion unit  34  converts the response data in Modbus format, which are transmitted through the second input unit  44 , into the data in CAN format, and then, outputs the converted data to a second output unit  43 . 
     The CAN transmit buffer  39  stores and manages the response data in CAN format, which are outputted from the second output unit  43 . Moreover, the CAN transmit buffer  39  may transmit the stored data through the CAN terminal  32 . 
     The CAN communication network device  31  may receive the response data in CAN format, which are transmitted through the CAN terminal  32 . Accordingly, communication is performed between the CAN communication network device  31  and the Modbus communication network device  37 . 
       FIG. 4  is the detailed configuration of the conversion unit, as mentioned above.  FIG. 5  is a data structure diagram illustrating a conversion process between a CAN protocol and a Modbus protocol. 
     Hereafter, a data converting process will be described with reference to  FIGS. 4 and 5 . 
     Referring to  FIG. 4 , the conversion unit  34  includes a data converting unit  45 , a first input unit  41 , a first output unit  42 , a second input unit  44 , and a second output unit  43 . 
     First, when examining a process for converting a CAN format into a Modbus format, the data converting unit  45  receives the data in CAN format through the first input unit  41 . The first input unit  41  may be expressed as a CAN input unit. 
     The data converting unit  45  analyzes the inputted data in CAN format, and maps the analyzed data into the data in Modbus format in order to perform data conversion. Moreover, the data converting unit  45  generates the data in Modbus format by using the inputted data in CAN format in order to perform data conversion. 
     Here, the inputted data as the data in CAN format includes a first data part  501  including CAN ID, a second data part  502  including a Data Length Code (DLC), and a third data part  503  including data. For example, a CAN input data frame or an output data frame may include a CAN identifier, a DLC, and a plurality of CAN data units. 
     Additionally, the data in Modbus format to be outputted includes a fourth data part  504  including an address, a fifth data part  505  including a function code, a sixth data part  506  including data, and a seventh data part  507  including a Cyclic Redundancy Check (CRC) value. For example, a Modbus input data frame or a Modbus output data frame may include an address, a function code, a plurality of Modbus data units, and a CRC code. 
     Accordingly, the data converting unit  45  generates the fourth data part  504  including an address of a Modbus format data, and maps the first data part  501  including CAN ID into the fourth data part  504 . 
     Accordingly, the data converting unit  45  generates the sixth data part  506  including data, and maps the third data part  503  into the sixth data part  506 . 
     Additionally, the data converting unit  45  generates the fifth data part  505  including a function code, determines the function code according to a Modbus communication protocol in order to satisfy a data transmission purpose, and designates the determined function code of an output data frame in order to include it in the fifth data part  505 . 
     Moreover, the data converting unit  45  performs a CRC calculation operation on the data of the third data part  503  of the inputted CAN data, according to a Modbus protocol, and generates a seventh data part by using the obtained CRC value from the CRC calculation operation. 
     Then, the data converting unit  45  sequentially combines the generated fourth to seventh data parts  504  to  507  to generate output data in Modbus format, and then, sequentially outputs the converted data through the first output unit  42 . Accordingly, data conversion from CAN data into Modbus data is accomplished. 
     Moreover, when examining a process for converting a Modbus format into a CAN format, the data converting unit  45  receives the data in Modbus format through the second input unit  44 . 
     The data converting unit  45  analyzes the inputted data in Modbus format and generates the data in CAN format in order to perform data conversion. 
     Additionally, according to the above configuration, the inputted data as the data in Modbus format includes an eighth data part  508  including an address, a ninth data part  509  including a function code, a tenth data part  510  including data, and an eleventh data part  511  including a CRC value. 
     Additionally, according to the above configuration, the data to be outputted in CAN format includes a twelfth data part  512  including CAN ID, a thirteenth data part  513  including a Data Length Code (DLC), and a fourteenth data part  514  including data. 
     Accordingly, the data converting unit  45  generates the twelfth data part  512  including the CAN ID of CAN format data and maps the eighth data part  508  including an address of the inputted Modbus format data into the twelfth data part  512 . 
     Accordingly, the data converting unit  45  generates the fourteenth data part  514  including data, and maps the data of the tenth data part  510  into the sixth data part  506 . 
     Additionally, the data converting unit  45  generates the thirteenth data part  513 , and analyzes the number of bytes in the Modbus format tenth data part  510  in order to store it in the thirteenth data part  513 . Here, since the maximum number of data bytes in CAN data format is 8, if the analyzed number of data byes in Modbus format is greater than 8, the data converting unit  45  sequentially divides data bytes by 8 bytes, and then, configures CAN data that are to be outputted. Furthermore, the data converting unit  45  generates a plurality of divided output data frames and sequentially outputs them. 
     Then, the data converting unit  45  combines the generated twelfth to fourteenth data parts  512  to  514  to generate output data in CAN format, and then, outputs the converted data through the second output unit  43 . Accordingly, data conversion from Modbus format data into CAN format data is accomplished. 
       FIG. 6  is a flowchart illustrating a communication method of a gateway device  20  according to the present invention. 
     First, a CAN communication network device  31  transmits data in CAN format into a gateway device  20  in operation S 600 . 
     Then, the gateway device  20  receives the data in CAN format and stores them in a CAN receive buffer  33  in operation S 605 , and converts the data stored in the receive buffer  33  into the data in a Modbus format in operation S 610 . 
     Then, the gateway device  20  transmits the converted data in Modbus format into a Modbus communication network device  37  in operation S 615 . 
     Then, the Modbus communication network device  37  performs necessary processing according to the received data, and then transmits response data according thereto to the gateway device  20  in operation S 620 . 
     Then, the gateway device  20  stores the received response data in Modbus format in a Modbus receive buffer  38  in operation S 626 , and converts the stored response data into data in CAN format in operation S 630 . 
     The gateway device  20  transmits the converted response data in CAN format into the CAN communication network device  31  in operation S 635 . 
     Through the above processes, communication between a CAN communication network device and a Modbus communication network device becomes available. 
     The gateway device between Modbus and a CAN and the communication method of the gateway device according to the present invention can also be embodied as computer readable codes on a computer readable recording medium. The computer readable recording medium is any data storage device that can store data which can be thereafter read by a computer system. Examples of the computer readable recording medium include read-only memory (ROM), random-access memory (RAM), CD-ROMs, magnetic tapes, floppy disks, optical data storage devices, and carrier waves (such as data transmission through the Internet). 
     The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. (Also, functional programs, codes, and code segments for accomplishing the present invention can be easily construed by programmers skilled in the art to which the present invention pertains.) 
     Although embodiments have been described with reference to a number of illustrative embodiments thereof, it should be understood that numerous other modifications and embodiments can be devised by those skilled in the art that will fall within the spirit and scope of the principles of this disclosure. More particularly, various variations and modifications are possible in the component parts and/or arrangements of the subject combination arrangement within the scope of the disclosure, the drawings and the appended claims. In addition to variations and modifications in the component parts and/or arrangements, alternative uses will also be apparent to those skilled in the art.

Technology Category: 5