CA2362961C - Bridge for can to tcp/ip connection - Google Patents

Bridge for can to tcp/ip connection Download PDF

Info

Publication number
CA2362961C
CA2362961C CA2362961A CA2362961A CA2362961C CA 2362961 C CA2362961 C CA 2362961C CA 2362961 A CA2362961 A CA 2362961A CA 2362961 A CA2362961 A CA 2362961A CA 2362961 C CA2362961 C CA 2362961C
Authority
CA
Canada
Prior art keywords
tcp
message
network
frame
sending
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Lifetime
Application number
CA2362961A
Other languages
French (fr)
Other versions
CA2362961A1 (en
Inventor
Alain Marbach
Wolfgang Langer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Schneider Electric USA Inc
Original Assignee
Schneider Automation Inc
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 Schneider Automation Inc filed Critical Schneider Automation Inc
Publication of CA2362961A1 publication Critical patent/CA2362961A1/en
Application granted granted Critical
Publication of CA2362961C publication Critical patent/CA2362961C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection (CSMA-CD)
    • H04L12/4135Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection (CSMA-CD) using bit-wise arbitration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/106Mapping addresses of different types across networks, e.g. mapping telephone numbers to data network addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion

Abstract

A method and corresponding apparatus for communicating a controller area network (CAN) message between a sending node, attached to a sending CAN
network, and a receiving node, where the sending and receiving nodes are interconnected by a network communicating according to transmission control protocol/Internet protocol (TCP/IP). The invention provides for having the sending node extract the CAN message payload (arbitration field, control field and data field if any) from a CAN message, having it embed the CAN message payload in a TCP/IP frame as the TCP/IP data field of the TCP/IP frame, having it refer to a routing form to determine the address on the TCP/IP network of the receiving node; and having it transmit the TCP/IP frame over the TCP/IP
network using the address for the receiving node from the routing form. The invention also provides for having the receiving node extract the CAN message payload from the TCP/IP frame, and alter the identifier of the CAN message payload, as needed, so as to correspond to the CAN message content at the receiving node (i.e. in case the receiving node is attached to a receiving CAN
network, to correspond to the CAN message content of the receiving CAN
network, but if the receiving node hosts a browser and is not attached to a receiving CAN network, to correspond to the CAN message content according to the preference of the user of the browser), the altering performed by reference to a mapping relating identifiers based on the network address of the sending node.

Description

BRIDGE FOR CAN TO TCP/IP CONNECTION
BACKGROUND OF THE INVENTION

1. Technical Field The present invention pertains to the field of network communication. More particularly, the present invention pertains to enabling communication between two or more controller area network (CAN) nodes of different CAN networks connected by a network implementing transmission control protocol/Internet protocol (TCP/IP), such as the Internet or an Ethernet.
2. Description of Related Art A recent innovation in local area networks is the Control Area Network (CAN) standard, the basic level of which is identified in ISO 1.1898 and ISO

1. The CAN standard was originally developed to specify distributed real-time control system requirements in automotive applications. An implementation according to the CAN standard is a real-time, distributed control system including different electronic components that communicate with each other not by signals carried by dedicated wires, but by signals conveyed by a linear bus according to the CAN protocol. Manufacturers such as Inte[TM, PhillipsTM, National SemiconductorTM, NECTM, SiemensTM and MotorolaTM provide very low cost CAN
chips that conform to the protocol. The use of CAN technology has been extended to other custom applications, including industrial control applications.

As shown in Fig. 1, a CAN-type network l la provides for communication of pre-determined messages between stations 12a (nodes of the CAN network, each of which are a control. unit) interconnected in a linear bus structure by a CAN
bus 14a.

Each CAN station is the peer of every other station. Instead of addressing a message to another station by indicating the other station, a transmitting station indicates to all other stations the content of the message using an identifier provided with the message. In such content-based addressing, each message is broadcast to all other, receiving stations, and each receiving station discards the message unless the message is on a pre-determined acceptance list for the receiver.

There are now two versions of CAN. differing in the length of the identifier.
A CAN implementation according to the CAN specification, part A, uses an 1l-bit identifier.

One according to the CAN specification, part B, uses a 29-bit identifier. See CAN Specification, Version 2.0, by Robert Bosch GmbI1, Postfach 50, D-7000 Stuttgart 1 (1991).

Any station of a CAN network can use the CAN bus to transmit (broadcast) a message when the bus is unoccupied.

While transmitting a message, a station monitors the bus for an indication that another station is also attempting to transmit a message. If another station is also attempting to use the bus, the contention for the bus is arbitrated using a scheme in which each message is pre-assigned a priority that accompanies the message.

Message transfer in a CAN-type network is achieved using four types of frames. A data frame, as shown in Fig. 2. conveys data from a transmitter station to receiver stations, and has an identifier (of' different length depending on the version of CAN, as described above) that indicates the type of message, i.e. its content, used for content-addressing. A
remote frame, as shown in Fig. 3, conveys a request for a data frame having an identifier that is the same as used in the remote frame. A remoter frame uses a remote transmission request (RTR) bit to identify itself, i.e. to indicate that it is a request for a CAN message. An error frame, as shown in Fig. 4, is transmitted by any station when the station detects a communication (bus) error, i.e. when the station receives a message but the cyclic redundancy check (CRC) for the message fails. An overload frame (not shown), is used to provide extra delay between data frames or remote frames, a delay that is in addition to the interfame spacing (Fig. 2).

Various application layers have been developed with specifications specifically oriented to industrial and process control applications, control networks for heavy duty trucks and buses, distributed control systems and control networks for cars. However, all of these systems are limited to inter-node communication, and will not support communicating with nodes across an intervening network using a different protocol, such as TCP/IP, which is used for communication on the Internet.

What is needed is a device that enables communication between stations of two different CAN-type networks interconnected by an intervening network, and especially an intervening network using TCP/IP, such as the Internet. Such a device would have to overcome the difficulty that a TCP/IP
network uses physical addressing, while a CAN network uses content-based addressing, as indicated above.

What is also needed is a way to view the content of messages being communicated in a CAN-type network using a remote computer interconnected to the CAN-type network via an intervening network using TCP/IP, such as the Internet. This would allow both monitoring a CAN-type network and also diagnosing problems for the CAN-type network, all from a remote location.

SUMMARY OF THE INVENTION

A method and corresponding apparatus are disclosed for communicating a controller area network (CAN) message between a sending node, attached to a sending CAN network, and a receiving node; where the sending and receiving nodes are interconnected by a network communicating according to transmission control protocol/Internet protocol (TCP/IP); where the CAN message includes a CAN
message payload, which in turn includes an identifier field, intended to identify the content of the CAN message, based on a pre-determined identifier-content correspondence that is CAN-network-dependent or, more generally, node-dependent, a remote transmission request bit, a control field, and an optional data field, if any; and where the communicating is according to TCP/IP performed by transmitting TCP/IP frames, including a header, a footer, and a TCP/IP data field. The invention provides for having the sending node extract the CAN message payload from the CAN message; having the sending node embed the CAN message payload in the TCP/IP frame as the TCP/IP data field of the TCP/IP frame; having the sending node refer to a routing form to determine the address on the TCP/IP network of the receiving node; and having the sending node transmit the TCP/IP frame over the TCP/IP network using the address for the receiving node from the routing form.

The receiving node may extract the CAN message payload from the `hCP/IP
frame; alter the identifier of the CAN message payload, as needed, so as to correspond to the CAN message content at the receiving node, the altering performed by reference to a mapping relating identifiers according to their usage at different network addresses; and, if the receiving node is attached (directly connected) to a CAN network, having the receiving node broadcast the CAN message on the CAN network to which it is directly connected. If the receiving node hosts a browser, there is no broadcasting of the received CAN message payload, but only a displaying of the CAN message by the browser for examination by the user of the browser.

In one aspect of the invention, there is provided a method of communicating a controller area network (CAN) message between a sending node, attached to a sending CAN network, and a receiving node, the sending and receiving nodes interconnected by a network communicating according to transmission control protocol/Internet protocol (TCP/IP), the CAN message including: a start of frame bit, a CAN message payload, a cyclic redundancy check field, an acknowledgment field, and an end of frame field; the CAN message payload including: an identifier field, intended to identify the content of the CAN message, based on a pre-determined identifier-content correspondence that is node-dependent, a remote transmission request bit, a control field, and an optional data field; the communicating according to TCP/IP performed by transmitting TCP/IP
frames, including a header, a footer, and a "I'CP/IP data field; the method comprising the steps of.
a) having the sending node extract the CAN message payload from the CAN
message; b) having the sending node embed the CAN message payload in the TCP/IP frame as the TCP/IP data field of the TCP/IP frame; c) having the sending node refer to a routing form to determine the address on the TCP/IP network of the receiving node; and d) having the sending node transmit the TCP/IP frame over the TCP/IP network using the address for the receiving node from the routing form; wherein the routing form indicates, for each of a plurality of different possible CAN message identifier field values, an address on the TCP/IP network for other CAN networks interconnected with the sending CAN
network via the TCP/IP network.

In another aspect of the invention, there is provided an apparatus for sending a controller area network (CAN) message from a sending node, attached to a sending CAN
network, to a receiving node, the sending and receiving nodes interconnected by a network communicating according to transmission control protocol/Internet protocol (TCP/IP), the CAN message including: a start of frame bit, a CAN message payload, a cyclic redundancy check field, an acknowledgment field, and an end of frame field; the CAN message payload including: an identifier field, intended to identify the content of the CAN message, based on a pre-determined identifier-content correspondence that is 4a node-dependent, a remote transmission request bit, a control field, and a data field of variable length; the communicating according to TCP/IP performed by transmitting TCP/IP frames, including a header, a footer, and a TCP/IP data field; the apparatus comprising: a) a local CAN controller, responsive to the CAN message as broadcast over the sending CAN network, for extracting the CAN message payload from the CAN
message and for saving the CAN message payload in a buffer; h) an interfacing application, responsive to the CAN message payload in the buffer, for embedding the CAN message payload in the TCP/IP frame as the TCP/IP data field of the TCP/IP
frame, and for providing the address on the TCP/IP network of the receiving node by referring to a routing form; and c) a TCP/IP protocol utility, responsive to the address of the receiving node and further responsive to the TCP/IP frame in which the CAN message payload is embedded, for transmitting the TCP/IP frame over the TCP/IP network using the address for the receiving node determined from the routing form; wherein the routing form indicates, for each of a plurality of different possible CAN message identifier field values, an address on the TCP/IP network for other CAN networks interconnected with the sending CAN network via the TCP/IP network.

In another aspect of the invention, there is provided an apparatus for receiving at a receiving node a controller area network (CAN) message sent from a sending node, the sending node attached to a sending CAN network, the receiving node attached to a receiving CAN network, the sending and receiving nodes interconnected by a network communicating according to transmission control protocol/ Internet protocol (TCP/IP), the CAN message including: a start of frame bit, a CAN message payload, a cyclic redundancy check field, an acknowledgment field, and an end of frame field;
the CAN
message payload including: an identifier field, intended to identify the content of the CAN message, based on a pre-determined identifier-content correspondence for the CAN
network in which the CAN message is being communicated, a remote transmission request bit, a control field, and an optional data field: the communicating according to TCP/IP performed by transmitting TCP/IP frames, including a header, a footer, and a 'TCP/IP data field; the apparatus comprising: a) a TCP/IP protocol utility, responsive to the TCP/IP frame in which the CAN message payload is embedded, for extracting the 4b CAN message payload from the TCP/IP frame, and for providing the network address of the sending node; b) an interfacing application, responsive to the CAN message payload extracted from the TCP/IP frame and fo the network address of the sending node, for altering the identifier of the CAN message payload, as needed, so as to correspond to the CAN message content in the receiving CAN network, the altering performed by reference to a mapping relating identifiers in different CAN networks, the different CAN
networks being distinguished by their TCP/IP network addresses, for providing the CAN
message payload with the altered as needed identifier in a buffer; and c) a local CAN
controller, responsive to the CAN message payload in the buffer, for augmenting the CAN
message payload with additional fields as required to provide a complete CAN message, and for broadcasting the completed CAN message over the receiving CAN network.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other objects, features and advantages of the invention will become apparent from a consideration of the subsequent detailed description presented in connection with accompanying drawings, in which:
Fig. I is a block diagram showing the interconnection by a TCP/IP network of a CAN-type network with both another CAN-type network and also with a browser, according to the present invention; and Fig. 2 is a data structure diagram for a CAN data frame;
Fig. 3 is a data structure diagram for a CAN remote frame;
Fig. 4 is a data structure diagram for a CAN error frame;
Fig. 5 is a data structure diagram showing a CAN message included in a TCP/IP frame, according to the present invention;

Fig. 6 is a flow chart/ task allocation diagram, according to the present invention, for transmitting a CAN
message over a TCP/IP network; and Fig. 7 is a flow chart/ task allocation diagram, according to the present invention, for receiving a CAN
message over a TCP/IP network.

BEST MODE FOR CARRYING OUT THE INVENTION

The preferred embodiment will now be described in the particular application where controller area network (CAN) messages are provided over the Internet. The Internet is here used as one example of a network communicating according to transmission control protocol/ Internet protocol (TCP/IP).
It is be understood that the present invention is directed to the communication of CAN messages over any network using TCP/IP, such as any Ethernet, not only the Internet.
Referring now to Fig. 1, a bridge 10a for connecting a controller area network (CAN) lla to an Internet connection 16, which requires transmission control protocol/ Internet protocol (TCP/IP), is shown as including a local CAN
controller 21 for communicating over the CAN network lla;
TCP/IP protocol utility 23 for communicating over the Internet via the Internet connection 16; and an interfacing application 22 for converting CAN messages to a form suitable for communicating over the Internet, i.e. to a form according to TCP/IP, and also for converting Internet communications to a form suitable for communication over a CAN network, i.e. to a form according to one or another of various prescribed CAN
message types. The CAN network 11a includes CAN stations 12a communicating via a CAN bus 14a, through which the bridge 10a also communicates with the CAN stations 12a.

Still referring to Fig. 1, a CAN station 12a in a first CAN network lia, can transmit, via a bridge l0a according to the present invention, a message that is on an acceptance list of a CAN station 24 in a second CAN network llb, interconnected with the first CAN network by the Internet.

For this, the CAN station 24 of the second CAN network lib depends on a second bridge 10b.

Besides being able to transmit a message that is received by a CAN station 24 of a second CAN network ilb, a CAN station 12a of the first CAN network ila can transmit a message so that is viewed by a browser communicating over the Internet via the Internet connection 16. For this, the browser 18 relies on the services of the bridge 10a to convert the CAN message to a form suitable for TCP/IP
communication.

Referring now to Fig. 5, according to the preferred embodiment, a CAN message payload, i.e. a CAN message less framing bits and its CRC and acknowledgment (ACK) fields (the ACK field being used to signal to a sending station when a CAN message is received without error), is embedded in a TCP/IP data field of a TCP/IP frame. A TCP/IP data field can be up to several kilobytes in length, compared to 11 bytes as the maximum length of a CAN message payload. In some aspects of the present invention, this disparity is taken advantage of by embedding more than one CAN message payload in a TCP/IP

frame. In the preferred embodiment, if the bridge 10a is embedding a first CAN message in a TCP/IP frame, and a=second CAN message (for the same destination) is detected before a predetermined time interval elapses, the interfacing application will arrange to have the second CAN message payload added to the same TCP/IP data field, and so on, as described below. The predetermined waiting time is typically a second, but is sometimes as much as 5 seconds.

According to the preferred embodiment of the present invention, the only two CAN message types that are embedded in a TCP/IP frame are a CAN data frame and a CAN remote frame. The CAN error frame is not needed because when a local station 12a broadcasts a CAN message and the local CAN
controller 21 receives the CAN message, the local CAN
controller 21 will signal (on the CAN bus 14a) any error in communication over the CAN bus 14a. And when a CAN message is transmitted by the bridge l0a over the Internet, the Internet TCP/IP provides for error detection and correction.
Finally, if a message is intended for a CAN station 12b of the second CAN network llb, the bridge 10b attached to the CAN bus 14b for the second network extracts the CAN message from the TCP/IP data frame, constructs a CAN data frame or CAN remote frame (depending simply on whether the CAN message contains data), and broadcasts the CAN message on the CAN bus 14b for the second CAN network lib. From that point on, the CAN protocol for error detection and correction becomes effective. Thus it is unnecessary for the bridge 10a to include either a CRC field or an ACK field in a TCP/IP data frame when communicating a CAN message over the Internet.

Referring again to Fig. 1, the local CAN controller 21 of the bridge 10a, which is built around a standard CAN chip, e.g. the SJA 1000, interfaces the bridge 10a to the CAN
network lla. In this interfacing, the local CAN controller 21 provides for proper bit-timing, and performs bit encoding and synchronization. As the interface to the CAN network lla, it also responds to error frames in case of transmitting a CAN message that is not properly received by one or more CAN stations on the CAN network lla. In addition, as mentioned above, it signals an error in communication when it receives a CAN message, over the CAN network lla, for which the CRC fails.

Finally, the local CAN controller 21 has, in the preferred embodiment, its own acceptance list, and it acknowledges successful receipt of all CAN messages on that acceptance list. Such a list is used in case of some CAN
messages being intended for CAN stations of another CAN
network, such as the second CAN network llb, with which communication is through the bridge 10a and over the Internet.

The bridge 10a, including the local CAN controller 21, is hosted by a computer (not shown), which in the preferred embodiment uses an internal bus (not shown) for communicating between various controllers, such as between the local CAN
controller 21 and the CPU (not shown) of the computer. The local CAN controller is, for example, a card in an ISA bus and has an assigned I/O base address. It uses a first-in-first-out (FIFO) buffer 24 for storing CAN messages, and it communicates with modules executing in the CPU of the computer by polling or by interrupts. For example, for the local CAN controller 21, in case of a computer using DOS or a Windows operating system, a so-called ISACAN-PC card, .
available from Hitex-Systementwicklung GmbH, could be used.

Where the local CAN controller 21 interfaces the bridge 10a to the CAN network lla, the TCP/IP protocol utility 23 interfaces the bridge 10a to the TCP/IP connection over the Internet 16. In the preferred embodiment, the TCP/IP
protocol utility 23, executing in the CPU of the computer hosting the bridge, performs Internet communication in the same way as a standard Internet server. Thus, to the Internet, the bridge 10a appears to be an Internet server.
On the Internet side of the TCP/IP protocol utility, data being communicated is in the form of packets, according to TCP/IP. On the interfacing application 22 side, data being communicated is in the form of files according to the operating system used by the bridge 10a. The operating system is, in the preferred embodiment, LINEX.

The interfacing application 22 is what provides the conversion between TCP/IP and CAN message protocol. It executes in the CPU of the computer hosting the bridge 10a, along with the TCP/IP protocol utility 23. The interfacing application 22 has tasks to perform whenever the bridge receives a CAN message either over the Internet or from its directly attached CAN network lla.

Referring now to both Fig. 1 and Fig. 6, when a CAN

message is to be transmitted from the first CAN network lla over the Internet via the bridge 10a, the CAN message is received by the local CAN controller 21 of the bridge 10a, because the CAN message is on an acceptance list of the local CAN controller, as described above, and placed in the FIFO

buffer 24, preferably only the payload, i.e. the parts of the CAN message that are tc be embedded in a TCP/IP data frame, namely the arbitration field, the control field, and the data field, if any (none for a. .AN remote frame). Then the local CAN controller 21 notifies the interfacing application 22 of the CAN message by setting an interrupt, in the preferred embodiment, or when polled by the interfacing application 22.
The interfacing application then acquires the CAN message from the FIFO buffer 24 of the local CAN controller 21.

Next, the interfacing application 22 must determine how to address the CAN message for Internet communication. For this, it uses a routing form indicating where to send each CAN message it acquires from the local CAN controller 21, based on the identifier of the CAN message. The routing form indicates each other CAN network, interconnected with the first by the Internet, to which a CAN message is to be sent, based on the identifier of the CAN message used in the first, local CAN network.

Table 1. Routing form used by interfacing application when sending a CAN
message over a TCP/IP network.

Identifier Internet address (in origin CAN network) of recipient id-CAN-A-xl 111.111.111.111 222.222.222.222 333.333.333.333 444.444.444.444 id-CAN-A-x2 111.111.111.111 id-CAN-A-x3 444.444.444.444 id-CAN-A-x4 111.111.111.111 Table 1 illustrates the routing form used by the interfacing application 22 for the bridge 12a in sending a CAN message from the first CAN network lla over the Internet to either another CAN network lib or to a browser 18. -The identifiers in the table (not the actual mapping) are symbolic. Thus, id-CAN-A-xl represents the identifier of a message xl in CAN network A, (the designator xi indicating, symbolically, the message content, so that e.g. id-CAN-A-xi and id-CAN-B-xl are two different identifiers for the same message content). The actual identifier of course is different. The table indicates that the routing used by the interfacing application will send to four Internet addresses the message from CAN network A with identifier id-CAN-A-xl, the first Internet address being 111.111.111.111 (or an equivalent domain name), and so on.

With a list of recipients prepared, the interfacing application 22 creates a new file containing the CAN message payload, and notifies the TCP/IP protocol utility 23 of the new file and of each recipient address (on the TCP/IP

network) in turn. For each recipient provided, the TCP/IP
protocol utility 23 then places the content of the new file in a TCP/IP data frame and transmits it over the Internet, per each address provided by the interfacing application 22.
In the preferred embodiment, as mentioned above, the bridge 10a may place more than one CAN message payload in a TCP/IP data frame. For this, the interfacing application 22 will wait a predetermined time before saving the new file with the first CAN message payload, in case other CAN
messages are provided by the local CAN controller 21 for any of the same destinations as for the first CAN message.

Referring now to Fig. 7, a bridge according to the present invention is shown acting as a receiving node, receiving a CAN message over the Internet, the CAN message having been provided by a bridge according to the present invention acting as a sending node. When a bridge 10a receives a CAN message payload embedded in a TCP/IP data frame from a remote CAN network lib, it extracts the CAN

message payload, saving it in a new file. Then the TCP/IP
protocol utility 23 notifies the interfacing application 22 of the newly created file, identifying the file by name and location on the host computer, and provides the interfacing application 22 with the Internet address of the sender (the sender being a bridge connecting a remote CAN network to the Internet).

Upon receiving the notification from the TCP/IP protocol utility 23, the interfacing application 22 extracts the CAN
message payload, with an arbitration field including an identifier appropriate to the sending, remote CAN network, and associates the CAN message with the Internet address of the sending, remote CAN network, as provided by the TCP/IP
protocol utility 23. The interfacing application 22 then uses a mapping (as for example in table 2) to determine which identifier in the local CAN network corresponds to the identifier in the new file (i.e. to the identifier used by the remote, sending CAN network), given the Internet address of the sender. Using an interrupt or a polling process to gain access to the FIFO buffer 24 of the local CAN controller 21, the interfacing application 22 then places in the FIFO
buffer 24 the CAN message payload, with the sender's identifier replaced by the corresponding identifier for the local CAN network 10a.
Table 2. Mapping used by interfacing application when receiving a CAN
message over a TCP/IP network.

Identifier Internet address Identifier used by sender of sender to be used by recipient id-CAN-B-xl 111.111.111.111 id-CAN-A-xl id-CAN-C-xl 222.222.222.222 id-CAN-D-xl 333.333.333.333 id-CAN-B-x2 111.111.111.111 id-CAN-A-x2 id-CAN-C-x2 222.222.222.222 id-CAN-D-x2 333.333.333.333 id-CAN-E-x3 555.555.555.555 id-CAN-A-x3 id-CAN-B-x4 111.111.111.111 id-CAN-A-x4 In response to the interrupt set by the interfacing application 22, the local CAN controller 21 waits a pre-determined time sufficient for the interfacing application 22 to place the CAN message payload in the FIFO buffer 24, and then retrieves the CAN message payload, provides the additional CAN message fields, including the CRC and ACK
fields, required to build a complete CAN message (CAN data frame or CAN remote frame), and transmits (broadcasts) the complete CAN message over the local CAN network lla.

As mentioned above, the present invention is intended to comprehend having a node hosting only a browser (not a bridge according to the present invention) receive a CAN message provided by a bridge acting as a sending node, in which case the browser, acting as the receiving node, in some embodiments, simply extracts the CAN message payload from the TCP/IP frame and presents the CAN message payload for examination by the user of the browser. In the preferred embodiment, however, the browser-hosting receiving node also uses a mapping to alter the identifier in the received CAN
message so as to conform to identifier-content usage at the receiving node, the altering based on the Internet address of the sending node.
It is to be understood that the above-described arrangements are only illustrative of the application of the principles of the present invention. In particular, as explained above, the present invention is not limited to use in sending CAN
s messages over the Internet; it comprehends sending CAN messages over any network in which communication is according to TCP/IP, such as any Ethernet. In addition, numerous modifications and alternative arrangements may be devised by those skilled in the art without departing from the scope of the present invention, and the appended claims are intended to cover such modifications and arrangements.

Claims (5)

What is claimed is:
1. A method of communicating a controller area network (CAN) message between a sending node, attached to a sending CAN network, and a receiving node, the sending and receiving nodes interconnected by a network communicating according to transmission control protocol/Internet protocol (TCP/IP), the CAN message including:

-a start of frame bit, -a CAN message payload, -a cyclic redundancy check field, -an acknowledgment field, and -an end of frame field;

the CAN message payload including:

-an identifier field, intended to identify the content of the CAN message, based on a pre-determined identifier-content correspondence that is node-dependent, -a remote transmission request bit, -a control field, and -an optional data field;

the communicating according to TCP/IP performed by transmitting TCP/IP frames, including a header, a footer, and a TCP/IP data field; the method comprising the steps of:
a) having the sending node extract the CAN message payload from the CAN
message;

b) having the sending node embed the CAN message payload in the TCP/IP frame as the TCP/IP data field of the TCP/IP frame;

c) having the sending node refer to a routing form to determine the address on the TCP/IP network of the receiving node; and d) having the sending node transmit the TCP/IP frame over the TCP/IP network using the address for the receiving node from the routing form;

wherein the routing form indicates, for each of a plurality of different possible CAN
message identifier field values, an address on the TCP/IP network for other CAN
networks interconnected with the sending CAN network via the TCP/IP network.
2. The method of claim 1, wherein the receiving node is attached to a receiving CAN
network, and the method further comprises the steps of:

a) having the receiving node extract the CAN message payload from the TCP/IP
frame;

b) having the receiving node alter the identifier of the CAN message payload, as needed, so as to correspond to the CAN message content in the receiving CAN
network, the altering performed by reference to a mapping relating identifiers in different CAN networks, the different CAN networks being distinguished by their network addresses; and c) having the receiving node broadcast the CAN message on the receiving CAN
network.
3. The method of claim 1, wherein the receiving node hosts a browser, and the method further comprises the steps of:

a) having the receiving node extract the CAN message payload from the TCP/IP
frame;

b) having the receiving node alter the identifier of the CAN message payload, as needed, so as to correspond to the CAN message content at the receiving node, the altering performed by reference to a mapping relating identifiers based on the network address of the sending node.
4. An apparatus for sending a controller area network (CAN) message from a sending node, attached to a sending CAN network, to a receiving node, the sending and receiving nodes interconnected by a network communicating according to transmission control protocol/Internet protocol (TCP/IP), the CAN message including:

-a start of frame bit, -a CAN message payload, -a cyclic redundancy check field, -an acknowledgment field, and -an end of frame field;

the CAN message payload including:

-an identifier field, intended to identify the content of the CAN message, based on a pre-determined identifier-content correspondence that is node-dependent, -a remote transmission request bit, -a control field, and -a data field of variable length;

the communicating according to TCP/IP performed by transmitting TCP/IP frames, including a header, a footer, and a TCP/IP data field; the apparatus comprising:

a) a local CAN controller, responsive to the CAN message as broadcast over the sending CAN network, for extracting the CAN message payload from the CAN
message and for saving the CAN message payload in a buffer;

b) an interfacing application, responsive to the CAN message payload in the buffer, for embedding the CAN message payload in the TCP/IP frame as the TCP/IP data field of the TCP/IP frame, and for providing the address on the TCP/IP network of the receiving node by referring to a routing form; and c) a TCP/IP protocol utility, responsive to the address of the receiving node and further responsive to the TCP/IP frame in which the CAN message payload is embedded, for transmitting the TCP/IP frame over the TCP/IP network using the address for the receiving node determined from the routing form;

wherein the routing form indicates, for each of a plurality of different possible CAN
message identifier field values, an address on the TCP/IP network for other CAN
networks interconnected with the sending CAN network via the TCP/IP network.
5. An apparatus for receiving at a receiving node a controller area network (CAN) message sent from a sending node, the sending node attached to a sending CAN
network, the receiving node attached to a receiving CAN network, the sending and receiving nodes interconnected by a network communicating according to transmission control protocol/
Internet protocol (TCP/IP), the CAN message including:

-a start of frame bit, -a CAN message payload, -a cyclic redundancy check field, -an acknowledgment field, and -an end of frame field;

the CAN message payload including:

-an identifier field, intended to identify the content of the CAN message, based on a pre-determined identifier-content correspondence for the CAN network in which the CAN message is being communicated, -a remote transmission request bit, -a control field, and -an optional data field;

the communicating according to TCP/IP performed by transmitting TCP/IP frames, including a header, a footer, and a TCP/IP data field; the apparatus comprising:

a) a TCP/IP protocol utility, responsive to the TCP/IP frame in which the CAN
message payload is embedded, for extracting the CAN message payload from the TCP/IP frame, and for providing the network address of the sending node;

b) an interfacing application, responsive to the CAN message payload extracted from the TCP/IP frame and to the network address of the sending node, for altering the identifier of the CAN message payload, as needed, so as to correspond to the CAN message content in the receiving CAN network, the altering performed by reference to a mapping relating identifiers in different CAN
networks, the different CAN networks being distinguished by their TCP/IP
network addresses, for providing the CAN message payload with the altered as needed identifier in a buffer; and c) a local CAN controller, responsive to the CAN message payload in the buffer, for augmenting the CAN message payload with additional fields as required to provide a complete CAN message, and for broadcasting the completed CAN
message over the receiving CAN network.
CA2362961A 1999-12-14 2000-12-07 Bridge for can to tcp/ip connection Expired - Lifetime CA2362961C (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/460,575 US6654355B1 (en) 1999-12-14 1999-12-14 Bridge for CAN to TCP/IP connection
US09/460,575 1999-12-14
PCT/US2000/033187 WO2001045348A2 (en) 1999-12-14 2000-12-07 Bridge for can to tcp/ip connection

Publications (2)

Publication Number Publication Date
CA2362961A1 CA2362961A1 (en) 2001-06-21
CA2362961C true CA2362961C (en) 2012-01-03

Family

ID=23829266

Family Applications (1)

Application Number Title Priority Date Filing Date
CA2362961A Expired - Lifetime CA2362961C (en) 1999-12-14 2000-12-07 Bridge for can to tcp/ip connection

Country Status (6)

Country Link
US (1) US6654355B1 (en)
EP (1) EP1198926B1 (en)
CA (1) CA2362961C (en)
DE (1) DE60026734T2 (en)
MX (1) MXPA01008197A (en)
WO (1) WO2001045348A2 (en)

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69736278T2 (en) 1996-02-22 2007-06-06 Kvaser Consultant Ab Device for influencing messages in a CAN system
DE50010109D1 (en) * 1999-02-26 2005-05-25 Siemens Ag METHOD FOR TRANSFERRING ETHERNET FRAMES
US6732254B1 (en) * 1999-09-15 2004-05-04 Koninklijke Philips Electronics N.V. Can device featuring advanced can filtering and message acceptance
US7289994B2 (en) * 1999-10-18 2007-10-30 Fisher-Rosemount Systems, Inc. Interconnected zones within a process control system
US7333504B2 (en) * 2001-03-08 2008-02-19 Honeywell International Inc. Simultaneous serial transmission of messages with data field arbitration
DE10119472A1 (en) * 2001-04-20 2002-10-31 Harman Becker Automotive Sys Interface for data transmission between two bus systems and operating procedures therefor
US20040143628A1 (en) * 2001-04-20 2004-07-22 Bradford Jonathan D. Systems and methods that discover and configure non-TCP/IP networks and devices residing therein
ATE427521T1 (en) * 2001-07-26 2009-04-15 Freescale Semiconductor Inc CLOCK SYNCHRONIZATION IN A DISTRIBUTED SYSTEM
DE10152235B4 (en) * 2001-10-20 2015-01-08 Robert Bosch Gmbh Method for detecting errors during data transmission within a CAN controller and a CAN controller for carrying out this method
US7933998B2 (en) * 2002-01-11 2011-04-26 Motorola Mobility, Inc. Dynamic CAN bus system configuration and messaging
US7277913B2 (en) * 2002-05-09 2007-10-02 Sun Microsystems, Inc. Persistent queuing for distributed file systems
US20030212763A1 (en) * 2002-05-09 2003-11-13 Ravi Kashyap Distributed configuration-managed file synchronization systems
US7092972B2 (en) * 2002-05-09 2006-08-15 Sun Microsystems, Inc. Delta transfers in distributed file systems
JP3630418B2 (en) * 2002-09-11 2005-03-16 三菱電機株式会社 Network communication equipment
US20040218591A1 (en) * 2003-04-29 2004-11-04 Craig Ogawa Bridge apparatus and methods of operation
ES2239537B1 (en) * 2004-03-05 2006-11-16 Seat, S.A. SYSTEM OF MONITORING AND CONTROL OF ELEMENTS OF A VEHICLE.
JP4401239B2 (en) 2004-05-12 2010-01-20 Necエレクトロニクス株式会社 Communication message converter, communication method, and communication system
US7620047B2 (en) * 2004-11-23 2009-11-17 Emerson Network Power - Embedded Computing, Inc. Method of transporting a RapidIO packet over an IP packet network
US7120725B2 (en) * 2004-11-23 2006-10-10 Motorola, Inc. Method of communicating a VMEbus signal over IP packet network
CN1855920A (en) * 2005-04-28 2006-11-01 西门子(中国)有限公司 Communication on magnetic resonance system multi-point bus
JP4791301B2 (en) 2006-09-13 2011-10-12 株式会社オートネットワーク技術研究所 In-vehicle LAN system
US8265800B2 (en) * 2007-08-20 2012-09-11 Raytheon Company Unmanned vehicle message conversion system
US20090067616A1 (en) * 2007-09-07 2009-03-12 Kerby William Suhre CAN echo cancellation level shifter
DE102007053246A1 (en) * 2007-11-08 2009-05-20 Continental Automotive Gmbh Uniform network layer in vehicles
FR2939591A1 (en) * 2008-12-10 2010-06-11 Airbus France METHOD AND APPARATUS FOR COMMUNICATION BY VIRTUALIZING ADDRESSES FOR COMPONENT INTEGRATION SIMULATION
DE102009026995A1 (en) * 2009-06-17 2011-03-31 Robert Bosch Gmbh Method for operating a bus system, in particular a CAN bus
DE102009050767B4 (en) * 2009-10-27 2017-06-14 Siemens Healthcare Gmbh Method and device for data transmission
CN101977094B (en) * 2010-10-18 2012-09-26 航天东方红卫星有限公司 Satellite-borne controller area network (CAN) bus communication method applied to multi-master communication
WO2012101662A1 (en) * 2011-01-25 2012-08-02 Power-One Italy S.P.A. Transmission protocol
EP2506502B1 (en) * 2011-03-31 2013-10-23 Siemens Aktiengesellschaft Redundant automation system
DE102011121255B3 (en) * 2011-12-15 2013-04-18 Lear Corporation Gmbh Control system for motor vehicle, has control device for extracting and passing HTTP request from controlled area network bus by compatible message onto web server, where bus connects control device and another control device
DE102011089420A1 (en) * 2011-12-21 2013-06-27 Bayerische Motoren Werke Aktiengesellschaft Transfer device and communication network with a conversion device
EP2660726A1 (en) * 2012-05-02 2013-11-06 SMSC Europe GmbH Method and device for emulating a bus system
US9112721B2 (en) * 2012-05-28 2015-08-18 Freescale Semiconductor, Inc. System and methods for enabling a controller area network (CAN) device to operate in different power modes based upon the payload of a wake-up message
DE102012219940A1 (en) 2012-10-31 2014-04-30 Trumpf Werkzeugmaschinen Gmbh + Co. Kg Repeater, CAN communication system and method for transmitting a data telegram within a CAN communication system
US9537332B2 (en) 2013-05-30 2017-01-03 Canara, Inc. Apparatus, system and method for charge balancing of individual batteries in a string of batteries using battery voltage and temperature, and detecting and preventing thermal runaway
CN104580543A (en) * 2013-10-16 2015-04-29 福达新创通讯科技(厦门)有限公司 Data transmission method and system as well as recording medium
DE102014108455A1 (en) * 2014-06-16 2015-12-17 Beckhoff Automation Gmbh Method for operating a network
EP3245856B1 (en) 2014-06-18 2019-11-20 Deere & Company Assembly for controlling a device interface of an agricultural work vehicle
CN104464254B (en) * 2014-12-08 2018-05-01 中北大学 A kind of Distributed Data Synchronization harvester and method
DE102015200301A1 (en) * 2015-01-13 2016-07-14 Robert Bosch Gmbh Method for classifying a data segment with regard to its further processing
DE102015201019A1 (en) * 2015-01-22 2016-07-28 Wobben Properties Gmbh Wind turbine and wind turbine bus system
US10120034B2 (en) 2015-10-07 2018-11-06 Canara, Inc. Battery string monitoring system
US10212081B2 (en) * 2015-12-01 2019-02-19 Marvell World Trade Ltd. Systems and methods for implementing a time-stamped controller area network (CAN) bus message
JP6962697B2 (en) * 2016-05-27 2021-11-05 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America Network hub, transfer method and in-vehicle network system
JP6890025B2 (en) * 2016-05-27 2021-06-18 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America Electronic control unit, frame generation method and program
WO2017203905A1 (en) 2016-05-27 2017-11-30 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Network hub, transfer method, and on-vehicle network system
CN106100955B (en) * 2016-06-23 2020-01-17 北京东土科技股份有限公司 Industrial internet field layer broadband bus data depth detection implementation method
US10333887B2 (en) * 2016-08-15 2019-06-25 Cisco Technology, Inc. Internet protocol (IP) network virtualization of serial network endpoints
US20180062988A1 (en) * 2016-08-31 2018-03-01 Faraday&Future Inc. Ethernet communication of can signals
DE102016221690A1 (en) * 2016-11-04 2018-05-09 Audi Ag Method for transmitting data packets between an Ethernet and a bus system in a motor vehicle, and gateway device and motor vehicle
US20180343326A1 (en) * 2017-05-26 2018-11-29 Cisco Technology, Inc. Can to ip internetworking
CN107426073A (en) * 2017-08-08 2017-12-01 深圳市三旺通信技术有限公司 The method and device that a kind of Controller Area Network BUS extends
DE102017216833A1 (en) * 2017-09-22 2019-03-28 Siemens Aktiengesellschaft Method for providing data packets from a CAN bus; Control unit and system with a CAN bus
KR102360168B1 (en) * 2017-11-01 2022-02-09 현대자동차주식회사 Apparatus and method for converting protocol with type of data
GB201809308D0 (en) * 2018-06-06 2018-07-25 Canis Automotive Labs Ltd A serial communication system
KR20200079595A (en) * 2018-12-26 2020-07-06 현대자동차주식회사 Message routing system and method thereof
US11082449B2 (en) * 2019-10-24 2021-08-03 Cypress Semiconductor Corporation Remote memory diagnostics
KR20220001350A (en) 2020-06-29 2022-01-05 주식회사 엘지에너지솔루션 Network routing apparatus and method
CN112187936B (en) * 2020-09-29 2024-03-29 北京车和家信息技术有限公司 Vehicle data processing method, device, equipment, storage medium and vehicle
FR3121303B1 (en) * 2021-03-23 2024-03-15 Psa Automobiles Sa Method and device for transmitting a signal by a first electronic component of a vehicle to at least one second electronic component of the vehicle

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5732074A (en) * 1996-01-16 1998-03-24 Cellport Labs, Inc. Mobile portable wireless communication system
CA2306767C (en) * 1997-10-13 2007-05-01 Rosemount Inc. Communication technique for field devices in industrial processes
US6434156B1 (en) * 1998-07-24 2002-08-13 Nortel Networks Limited Virtual switching for interconnected networks
US6292862B1 (en) * 1998-07-28 2001-09-18 Siemens Aktiengesellschaft Bridge module
US7046638B1 (en) * 2000-10-12 2006-05-16 Robert Bosch Gmbh Wireless access to closed embedded networks
ITTO20010151A1 (en) * 2001-02-20 2002-08-20 Magneti Marelli Spa CIRCUIT MODULE FOR INTERCONNECTION BETWEEN LOCAL NETWORKS IN AN ELECTRONIC SYSTEM DISTRIBUTED FOR VEHICLES.

Also Published As

Publication number Publication date
CA2362961A1 (en) 2001-06-21
US6654355B1 (en) 2003-11-25
WO2001045348A2 (en) 2001-06-21
MXPA01008197A (en) 2002-03-20
EP1198926B1 (en) 2006-03-15
DE60026734D1 (en) 2006-05-11
WO2001045348A3 (en) 2002-02-14
DE60026734T2 (en) 2006-09-14
EP1198926A2 (en) 2002-04-24

Similar Documents

Publication Publication Date Title
CA2362961C (en) Bridge for can to tcp/ip connection
CN110083088B (en) Signal control conversion device and signal control conversion method
US5978854A (en) System using ARP or RARP packet for communicating offset address of an application program and node unique ID of a network node
US8098682B2 (en) System and method for interfacing with a management system
US5805594A (en) Activation sequence for a network router
CN109981435B (en) Gateway and communication system based on CAN-ModBus to MQTT
CN111083161A (en) Data transmission processing method and device and Internet of things equipment
GB2351884A (en) Data transmission method
RU2008126955A (en) METHOD AND DEVICE FOR CONTROLLING COMMUNICATION IDENTIFIERS IN A RADIO-TRANSLATION COMMUNICATION SYSTEM WITH WIRELESS ACCESS WITH MULTIPLE FREQUENCY FREQUENCY FREQUENCY
EP1327326A1 (en) Method for connecting an ieee1394 remote device to a cluster of ieee1394 devices through a wireless link
US6570852B1 (en) Relay communication system
CN115442177B (en) Data communication method and device of CAN (controller area network)
JP2702031B2 (en) Satellite communication controller
KR100609493B1 (en) Method for transmitting multiple sensors data with a CAN message
GB2433006A (en) Transmitting ACARS messages over an IP network
Cisco LLC2 and SDLC Commands
Cisco LLC2 and SDLC Commands
Cisco LLC2 and SDLC Commands
Cisco LLC2 and SDLC Commands
Cisco LLC2 and SDLC Commands
Cisco LLC2 and SDLC Commands
Cisco LLC2 and SDLC Commands
Cisco LLC2 and SDLC Commands
Cisco LLC2 and SDLC Commands
Cisco LLC2 and SDLC Commands

Legal Events

Date Code Title Description
EEER Examination request
MKEX Expiry

Effective date: 20201207