KR20060017035A - Method for transmitting multiple sensors data with a can message - Google Patents
Method for transmitting multiple sensors data with a can message Download PDFInfo
- Publication number
- KR20060017035A KR20060017035A KR1020040065538A KR20040065538A KR20060017035A KR 20060017035 A KR20060017035 A KR 20060017035A KR 1020040065538 A KR1020040065538 A KR 1020040065538A KR 20040065538 A KR20040065538 A KR 20040065538A KR 20060017035 A KR20060017035 A KR 20060017035A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- transmitting
- sensor
- slave
- message
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/627—Controller area network [CAN] identifiers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
개시된 복수의 센서 데이터를 하나의 CAN 메시지로 전송하는 방법은 마스트로 동작하는 마스터 CAN 접속수단과 슬레이브로 동작하는 적어도 하나의 슬레이브 CAN 접속수단을 통하여, 마스터 CAN 접속수단과 슬레이브 CAN 접속수단 각각에 연결된 센서로부터 검출된 데이터를 하나의 CAN 메시지로 전송하는 방법에 있어서, 리세시브 비트(recessive bit)를 전송한 후, 자신에 연결된 센서로부터 검출된 데이터를 전송하는 마스터 CAN 접속수단 동작단계와 리세시브 비트 전송 구간 동안 자신에 연결된 센서로부터 검출된 데이터를 전송하는 슬레이브 CAN 접속수단 동작단계를 포함하여 구성된다.The method of transmitting a plurality of sensor data disclosed in one CAN message is connected to each of the master CAN connection means and the slave CAN connection means through at least one slave CAN connection means operating as a master and at least one slave CAN connection means operating as a slave. A method for transmitting data detected from a sensor in a single CAN message, comprising: transmitting a recessive bit and transmitting data detected from a sensor connected to the master CAN access means and a receive bit It comprises a slave CAN connection means operation step for transmitting the data detected from the sensor connected to it during the transmission interval.
이와 같은 구성의 복수의 센서 데이터를 하나의 CAN 메시지로 전송하는 방법은 기존의 캔(CAN: Controller Area Network) 기반의 제어 시스템에 전혀 영향을 주지 않으면서, 복수개의 센서로부터 검출된 데이터를 하나의 CAN 메시지로 전송할 수 있게 함으로써, 검출된 복수의 센서 데이터를 짧은 시간에 신뢰성 있게 전송하게 하는 효과를 제공할 수 있다. The method of transmitting a plurality of sensor data having such a configuration as a single CAN message has no effect on a conventional CAN (control area) based control system, and the data detected from the plurality of sensors is stored in one. By enabling transmission in CAN messages, it is possible to provide the effect of reliably transmitting a plurality of detected sensor data in a short time.
CAN(controller Area Network), 센서, 리세시브 비트(recessive bit), 도미넌트 비트(dominant bit), 마스터, 슬레이브Controller Area Network (CAN), Sensor, Recessive Bit, Dominant Bit, Master, Slave
Description
도 1은 표준 CAN 메시지의 구조를 도시한 도면.1 illustrates the structure of a standard CAN message.
도 2는 본 발명의 일실시예에 따른 복수의 센서 데이터를 하나의 CAN 메시지로 전송하는 방법을 실시하기 위한 CAN 기반의 제어 시스템의 개념 블록도.2 is a conceptual block diagram of a CAN-based control system for implementing a method for transmitting a plurality of sensor data in one CAN message according to an embodiment of the present invention.
도 3은 본 발명의 일실시예에 따라 재구성된 하나의 CAN 메시지 구조를 도시한 도면.3 illustrates one CAN message structure reconstructed according to an embodiment of the present invention.
도 4는 본 발명의 일실시예에 따른 복수의 센서 데이터를 하나의 CAN 메시지로 생성하기 위한 마스트 CAN 접속수단의 동작을 도시한 흐름도.4 is a flow chart showing the operation of the mast CAN connecting means for generating a plurality of sensor data in one CAN message according to an embodiment of the present invention.
도 5는 본 발명의 일실시예에 따른 복수의 센서 데이터를 하나의 CAN 메시지로 생성하기 위한 슬레이브 CAN 접속장치의 동작을 도시한 흐름도.5 is a flowchart illustrating an operation of a slave CAN connection device for generating a plurality of sensor data in one CAN message according to an embodiment of the present invention.
< 도면의 주요부분에 대한 부호의 설명 ><Description of Symbols for Major Parts of Drawings>
100... 제 1 CAN 접속수단(마스터) 102... 제 1센서 인터페이스100 ... 1st CAN interface (master) 102 ... 1st sensor interface
104... 제 1패킷 구성부 106... 제 1트랜시버104 ...
110... 제 1센서 200... 제 2 CAN 접속수단(슬레이브)110 ...
202... 제 2센서 인터페이스 204... 제 2패킷 구성부202 ...
206... 제 2트랜시버 210... 제 2센서206 ...
300... 제 3 CAN 접속수단(슬레이브) 302... 제 3센서 인터페이스300 ... 3rd CAN interface (slave) 302 ... 3rd sensor interface
304... 제 3패킷 구성부 306... 제 3트랜시버304 ...
310... 제 3센서 400... CAN 노드310 ...
500... CAN(Controller Area Network) 버스500 ... Controller Area Network (CAN) bus
본 발명은 복수의 센서 데이터를 하나의 CAN 메시지로 전송하는 방법에 관한 것으로서, 더 상세하게는 캔(CAN: Controller Area Network) 기반의 제어 시스템에서 마스트로 동작하는 마스터 CAN 접속수단과 슬레이브로 동작하는 적어도 하나의 슬레이브 CAN 접속수단을 통하여, 복수개의 센서로부터 검출된 데이터를 하나의 CAN 메시지로 전송하는, 복수의 센서 데이터를 하나의 CAN 메시지로 전송하는 방법에 관한 것이다.The present invention relates to a method for transmitting a plurality of sensor data in one CAN message, and more particularly, to a master CAN access means operating as a mast and a slave in a CAN (control area) based control system. The present invention relates to a method for transmitting a plurality of sensor data in one CAN message, through the at least one slave CAN connection means, to transmit data detected from the plurality of sensors in one CAN message.
일반적으로 CAN(Controller Area Network)이란 분산된 실시간 제어 및 자동화에 많이 사용되는 시리얼 프로토콜로서, 원래 1980년대에 자동차용 네트워크 프로토콜로 개발되었지만, 성능이 우수하면서 비용이 저렴하여 ISO에 의해서 시리얼 통신 규약 ISO 11898 국제 표준으로 지정되어, 제조업, 항공, 철도 등의 여러 산업 분야에도 널리 이용되고 있다. In general, CAN (Controller Area Network) is a serial protocol widely used for distributed real-time control and automation. It was originally developed as an automotive network protocol in the 1980s, but it is excellent in performance and low in cost. 11898 Designated as an international standard, it is widely used in various industries such as manufacturing, aviation, and railway.
CAN은 CAN 메시지내의 식별자(ID)의 길이에 따라서 표준 CAN(11비트 ID), 확장 CAN(29비트 ID)로 구분되며, ISO 규격에 따라 ISO 11898(1Mbps 이상), ISO 11519(125Kbps 이하)로 구분된다.CAN is divided into standard CAN (11-bit ID) and extended CAN (29-bit ID) according to the length of the identifier (ID) in the CAN message. According to ISO standard, ISO 11898 (1Mbps or more) and ISO 11519 (125Kbps or less) Are distinguished.
도 1은 표준 CAN 메시지의 구조를 도시한다. 도 1을 참조하면, 표준 CAN 메시지는 프레임 시작 필드(SOF: Start Of Frame), 중재 필드(Arbitration Field), 제어 필드(Control Field), 데이터 필드(Data Field), CRC 필드(Cyclic Redundancy Check Field), ACK 필드(ACKnowledge Field), 프레임 종료 필드(EOF: End Of Frame Field)를 포함하여 구성된다.1 illustrates the structure of a standard CAN message. Referring to FIG. 1, a standard CAN message includes a Start Of Frame (SOF), Arbitration Field, Control Field, Data Field, and CRC Field (Cyclic Redundancy Check Field). And an ACK field (ACKnowledge Field) and an End Of Frame Field (EOF).
프레임 시작(SOF) 필드는 메시지 프레임의 시작을 표시하며, 메시지 프레임의 맨 처음에 위치하고, 디폴트로 "0"의 값을 가진다.The Start Frame (SOF) field indicates the start of a message frame, located at the beginning of the message frame, and has a value of "0" by default.
중재 필드는 11 비트의 식별자와 원격 전송 요구(RTR: Remote Transmission Request) 비트를 가진다. RTR 비트가 "0"의 값(디폴트)을 가질 때, CAN 메시지가 데이터 프레임 상태임을 의미하고, RTR 비트가 "1"의 값을 가질 때, CAN 메시지가 원격 프레임(Remote Frame) 상태임을 의미한다. The arbitration field has an 11-bit identifier and a Remote Transmission Request (RTR) bit. When the RTR bit has a value of "0" (default), it means that the CAN message is in a data frame state; when the RTR bit has a value of "1", it means that the CAN message is in a Remote Frame state. .
원격 프레임은 데이터 버스상의 한 노드로부터 다른 노드로 데이터 전송을 요청할 때 사용되어지며, 데이터를 보내기 전에 사용되는 메시지 프레임이므로 데이터 필드를 포함하지 않는다.Remote frames are used to request data transfers from one node to another on the data bus, and do not include data fields because they are message frames used before sending data.
제어 필드는 6비트로 구성되며, 향후 사용을 위해 예약된 R1, R2("0"의 값을 가짐)와 데이터 필드의 바이트 수를 가리키는 4비트의 데이터 길이 코드(DLC: Data Length Code)로 구성된다.The control field consists of 6 bits and consists of R1 and R2 (with a value of "0") reserved for future use and a 4-bit Data Length Code (DLC) indicating the number of bytes in the data field. .
데이터 필드는 한 노드로부터 다른 노드로 전하고자 하는 데이터를 포함하며 0 내지 8바이트로 구성된다.The data field contains data to be conveyed from one node to another and consists of 0 to 8 bytes.
CRC 필드는 17비트의 주기적 중복 확인(CRC) 코드를 가지며, 데이터 필드의 끝을 알리는 "1"의 값을 가지는 비트가 이어진다.The CRC field has a 17-bit periodic redundancy check (CRC) code followed by a bit having a value of "1" indicating the end of the data field.
ACK 필드는 2비트로 구성되며, 첫 번째 비트는 "0"의 값을 가지는 슬롯(Slot) 비트로서, 메시지를 성공적으로 수신한 다른 노드로부터 전송된 "1"의 값으로 기록될 수 있다. 두 번째 비트는 "1"의 값을 가진다.The ACK field is composed of 2 bits, and the first bit is a slot bit having a value of "0" and may be recorded as a value of "1" transmitted from another node that has successfully received a message. The second bit has a value of "1".
프레임 종료(EOF) 필드는 7비트로 구성되며, 모두 "1"의 값을 가진다. EOF에 뒤이어 모두 "1"의 값을 가진 3비트의 프레임 중단 필드(INTermission Field)가 이어진다. 3비트의 INT 주기 이후에 CAN 버스는 자유 상태로 인식된다. 이후 버스 아이들 타임(Idle Time)은 "0"을 포함하는 임의의 길이를 갖는다.The End of Frame (EOF) field consists of 7 bits, all of which have a value of "1". The EOF is followed by a 3-bit frame interrupt field (All 1) with a value of "1". After a 3-bit INT period, the CAN bus is recognized as free. The bus idle time then has any length including " 0 ".
상기의 표준 CAN 메시지는 CAN 기반의 제어 시스템에서 검출된 센서 데이터를 전송하기 위한 구조로서, 실제로 전송하고자 하는 데이터는 CAN 메시지의 데이터 필드(1byte ∼ 8byte)에 실리게 되고, CAN 메시지의 나머지 부분은 CAN 통신을 위한 오버헤드에 해당한다.The above standard CAN message is a structure for transmitting sensor data detected in a CAN-based control system. Actually, the data to be transmitted is carried in a data field (1 byte to 8 bytes) of the CAN message, and the rest of the CAN message is Corresponds to the overhead for CAN communication.
상기 표준 CAN은 다중 통신을 지원하며, CSMA/CD + AMP(Carrier Sense Multiple Access / Collision Detection with Arbitration on Message Priority) 방식을 이용한다. 표준 CAN의 각 노드의 데이터 메시지 항목에는 CAN에서 각각의 노드를 유일하게 식별할 수 있는 노드 식별자(11비트 ID 또는 29비트 ID)를 가지고 있으므로, 송신측 및 수신측 주소가 포함되지 않는다.The standard CAN supports multiple communications and uses CSMA / CD + Carrier Sense Multiple Access / Collision Detection with Arbitration on Message Priority (CSMA). The data message item of each node of the standard CAN has a node identifier (11-bit ID or 29-bit ID) that uniquely identifies each node in the CAN, and therefore does not include the sending and receiving addresses.
상기 표준 CAN의 동작을 간단히 설명하면, CAN 노드에 메시지를 보내기 전에 메시지 간 충돌 검출을 수행하여 CAN 버스가 사용 중인지를 파악한다.Briefly describing the operation of the standard CAN, collision detection between messages is performed before sending a message to a CAN node to determine if the CAN bus is in use.
CAN 노드들은 CAN 버스 상에 있는 메시지를 수신한 후 자신에게 필요한 메시지인지 식별자(ID)를 통하여 평가한 후 자신이 필요로 하는 식별자(ID)인 경우에만 메시지를 취하고 그렇지 않은 경우에 메시지를 무시한다.After receiving a message on the CAN bus, the CAN nodes evaluate it through its identifier (ID) and take the message only if it is the identifier (ID) it needs; otherwise it ignores the message. .
CAN 버스 상에 흘러 다니는 여러 노드의 데이터들이 동시에 특정 노드로 유입되는 경우에 식별자(ID)의 숫자를 비교하여 메시지의 우선순위를 결정하는데 식별자(ID)의 숫자가 낮은 경우가 우선순위가 더 높다.When data from multiple nodes flowing on a CAN bus flows into a specific node at the same time, the priority of the message is higher when comparing the number of identifiers (ID) to determine the priority of the message. .
우선순위가 높은 메시지는 CAN 버스의 사용 권한을 보장 받으며, 낮은 순위의 메시지는 자동적으로 다음 버스 사이클에 재전송을 수행하며, 높은 순위를 가진 메시지가 전송을 완료할 때 까지 대기하게 된다.Higher priority messages are guaranteed to be available on the CAN bus, lower priority messages are automatically retransmitted on the next bus cycle, and wait for higher priority messages to complete their transmission.
CAN을 통하여 전송되는 데이터는 데이터양이 작은 센서, 예를 들면, ON/OFF 스위치의 경우와 같이 1bit밖에 필요하지 않는 복수개의 센서들에 의해 검출되는 데이터일 수 있다.The data transmitted through the CAN may be data detected by a plurality of sensors that require only 1 bit, such as a sensor having a small amount of data, for example, an ON / OFF switch.
상기 센서들은 CAN을 통해 크게 2가지 방법으로 연결될 수 있다. The sensors can be connected in two ways via CAN.
첫 번째 방법은 각각의 센서를 CAN에 직접 연결하는 방법이다. 이 방법은 구현이 간단하지만, 데이터 전송에 걸리는 시간이 많이 걸리는 단점이 있다. CAN의 경우 데이터를 패킷을 통해 전송하고, 한 비트의 데이터를 보내더라도 최소 8바이트의 패킷 오버헤드가 필요하게 된다. The first method is to connect each sensor directly to CAN. This method is simple to implement, but has the disadvantage of taking a long time to transmit data. In the case of CAN, data is transmitted in packets, and even a bit of data requires at least 8 bytes of packet overhead.
예를 들어, 세 개의 센서에서 각각 2 비트의 데이터를 다른 CAN 보드에 보낸다고 하면, 24 바이트 (8 바이트 ㅧ 3 패킷)의 데이터를 전송하는 시간이 걸리게 된다. 그러나, 실제로 보내는 데이터의 양은 6 비트일 뿐이며, 이로 인한 전송시간 의 증가는 CAN을 이용한 제어 시스템의 제어주기를 길게 하게 함으로써, 전체적인 시스템의 제어 성능을 저하시키는 문제점을 초래하게 한다.For example, if three sensors each send two bits of data to another CAN board, it takes time to send data of 24 bytes (8 bytes ㅧ 3 packets). However, the amount of data actually sent is only 6 bits, and this increase in transmission time leads to a problem of deteriorating control performance of the overall system by lengthening the control cycle of the control system using CAN.
두 번째 방법은 상기에서와 같이 전송시간이 많이 걸리는 단점을 해소하기 위하여 센서를 직접 CAN에 연결하지 않고, 센서의 데이터를 한 개의 보드에 전선을 모아서 연결하고, 그 보드를 CAN에 연결하는 방법이다. The second method is to connect the sensor data to one board by connecting the data of the sensor to a single board without connecting the sensor directly to the CAN in order to solve the drawback of the transmission time. .
이 경우 센서의 데이터를 한 개의 패킷으로 모아서 보낼 수 있어 전송시간을 줄일 수 있게 된다. 그러나 이 방법은 한 개의 보드에 연결하고자 하는 센서들이 물리적으로 떨어져 있게 되고, 결과적으로 전선의 길이가 길어져, CAN을 사용하여 전선의 길이를 줄이고자 하는 본래의 목적에 반하는 문제점이 발생한다.In this case, the data of the sensor can be collected and sent in one packet, thereby reducing the transmission time. However, this method causes the sensors to be connected to one board to be physically separated, and as a result, the length of the wire becomes longer, contrary to the original purpose of reducing the length of the wire using CAN.
본 발명은 상기의 문제점을 해결하기 위하여 창출된 것으로서, 캔(CAN: Controller Area Network) 기반의 제어 시스템에서 마스트로 동작하는 마스터 CAN 접속수단과 슬레이브로 동작하는 적어도 하나의 슬레이브 CAN 접속수단을 통하여, 복수개의 센서로부터 검출된 데이터를 하나의 CAN 메시지로 전송할 수 있도록 개선된 복수의 센서 데이터를 하나의 CAN 메시지로 전송하는 방법을 제공하는 것을 그 목적으로 한다.The present invention has been made to solve the above problems, and through a CAN (control area area) (CAN) -based control system through a master CAN connection means to operate as a mast and at least one slave CAN connection means to operate as a slave, It is an object of the present invention to provide a method for transmitting a plurality of sensor data improved in a single CAN message to transmit data detected from a plurality of sensors in a single CAN message.
상기의 목적을 달성하기 위한 본 발명은, 마스트로 동작하는 마스터 CAN 접속수단과 슬레이브로 동작하는 적어도 하나의 슬레이브 CAN 접속수단을 통하여, 마스터 CAN 접속수단과 슬레이브 CAN 접속수단 각각에 연결된 센서로부터 검출된 데 이터를 하나의 CAN 메시지로 전송하는 방법에 있어서, (a) 리세시브 비트(recessive bit)를 전송한 후, 자신에 연결된 센서로부터 검출된 데이터를 전송하는 마스터 CAN 접속수단 동작단계; 및 (b) 상기 리세시브 비트 전송 구간 동안 자신에 연결된 센서로부터 검출된 데이터를 전송하는 슬레이브 CAN 접속수단 동작단계;를 포함하여 구성된다.The present invention for achieving the above object is detected from a sensor connected to each of the master CAN connection means and the slave CAN connection means, through the master CAN connection means to operate as a master and at least one slave CAN connection means to operate as a slave. A method for transmitting data in one CAN message, the method comprising: (a) operating a master CAN access means for transmitting a detected bit from a sensor connected thereto after transmitting a recessive bit; And (b) operating the slave CAN connection means for transmitting the detected data from a sensor connected thereto during the recessive bit transmission interval.
여기에서 상기 마스터 CAN 접속수단 동작단계는 (a1) 약속된 ID를 전송하는 단계; (a2) 상기 슬레이브 CAN 접속수단의 센서 데이터 구간 동안 리세시브 비트를 전송하는 단계; (a3) 자신에 연결된 센서로부터 검출된 데이터를 전송하는 단계;를 포함하고, 상기 슬레이브 CAN 접속수단 동작단계는 (b1) 상기 약속된 ID를 감지하는 단계; (b2) 상기 리세시브 비트 전송 구간 동안 자신에 연결된 센서로부터 검출된 데이터를 전송하는 단계를 포함하는 것이 바람직하다.Herein, the operation of the master CAN access means may include: (a1) transmitting a promised ID; (a2) transmitting a recessive bit during a sensor data period of the slave CAN access unit; (a3) transmitting the detected data from a sensor connected to the self; the slave CAN access means operating step (b1) detecting the promised ID; (b2) preferably, transmitting the detected data from a sensor connected thereto during the recessive bit transmission interval.
또한, 상기 마스터 CAN 접속수단 동작단계는 (a4) 상기 슬레이브 CAN 접속수단의 센서 데이터를 기록하는 단계; (a5) 상기 기록된 슬레이브 CAN 접속수단의 센서 데이터와 마스터 CAN 접속수단 센서 데이터를 포함하여 에러 검출 코드를 계산하여 전송하는 단계;를 더 포함하는 것이 바람직하다.In addition, the operation of the master CAN connection means may include (a4) recording sensor data of the slave CAN connection means; (a5) calculating and transmitting an error detection code including the recorded sensor data of the slave CAN connecting means and the master CAN connecting means sensor data; and preferably.
또한, 상기 CAN 메시지는 프레임 시작 필드(SOF: Start Of Frame), 중재 필드(Arbitration Field), 제어 필드(Control Field), 데이터 필드(Data Field), CRC 필드(Cyclic Redundancy Check Field), ACK 필드(ACKnowledge Field), 프레임 종료 필드(EOF: End Of Frame Field)를 포함하여 구성되고, 상기 데이터 필드는 상기 슬레이브 CAN 접속수단의 센서 데이터와 상기 마스터 CAN 접속수단의 센서 데이터를 포함하여 구성되는 것이 바람직하다.In addition, the CAN message includes a start of frame (SOF), an arbitration field, a control field, a data field, a cyclic redundancy check field, and an ACK field. It includes an ACKnowledge Field, End Of Frame Field (EOF), the data field preferably comprises the sensor data of the slave CAN connection means and the sensor data of the master CAN connection means. .
또한, 상기 마스터 CAN 접속수단과 슬레이브 CAN 접속수단의 개수는 각각의 센서로부터 입력되는 데이터 비트의 합이 상기 CAN 메시지의 데이터 필드 비트수 보다 작은 범위 내에서 결정되는 것이 바람직하다.In addition, the number of the master CAN connection means and the slave CAN connection means is preferably determined within the range that the sum of the data bits input from each sensor is smaller than the number of data field bits of the CAN message.
이하 첨부된 도면을 참조하면서 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 2는 본 발명의 일실시예에 따른 복수의 센서 데이터를 하나의 CAN 메시지로 전송하는 방법을 실시하기 위한 CAN 기반의 제어 시스템의 개념 블록도이다. 도면을 참조하면, CAN 기반 제어 시스템은 세 개의 센서(110,210,310), 각 센서(110,210,310)에 연결되는 세 개의 CAN 접속수단(100,200,300), 각 CAN 접속수단(100,200,300)에 연결되는 CAN 버스(500)및 CAN 버스(500)에 연결되는 CAN 노드(400)를 포함하여 구성된다.2 is a conceptual block diagram of a CAN-based control system for implementing a method for transmitting a plurality of sensor data in one CAN message according to an embodiment of the present invention. Referring to the drawings, a CAN-based control system includes three
상기 센서(110,210,310)는 검출되는 데이터의 크기가 작은 센서인 것이 바람직하다. 예를 들면, 온(on) / 오프(off) 스위치 또는 수 비트의 정보량을 검출하는 센서일 수 있다.The
상기 CAN 접속수단(100,200,300)은 센서(110,210,310)로부터 데이터를 입력받는 센서 인터페이스(102,202,302), 센서 인터페이스(102,202,302)로부터 전송되는 데이터를 패킷으로 구성하는 패킷 구성부(104,204,304) 및 패킷 구성부(104,204,304)로부터 전송되는 패킷을 CAN 버스(500)를 통하여 전송하는 트랜시버(tranceiver)(106,206,306)를 포함하여 구성될 수 있다.The CAN connection means (100, 200, 300) is a sensor interface (102, 202, 302) receiving data from the sensor (110, 210, 310), a packet configuration unit (104, 204, 304) and a packet configuration unit (104, 204, 304) to configure the data transmitted from the sensor interface (102, 202, 302) into a packet And
상기 센서(110,210,310)와 센서(110,210,310)에 연결되는 CAN 접속수단(100,200,300)은 각각 세 개로 구성되는 상기 예시에 한정되지 아니하며, 세 개 이상으로 구성될 수 있다. 예를 들면, n 개의 센서로부터 입력되는 데이터 비트의 합이 CAN 메시지의 데이터 필드 비트수 보다 작은 범위 내에서 센서 및 센서에 대응하는 CAN 접속수단은 세 개 이상의 복수개로 구성될 수 있다. The sensor (110, 210, 310) and the CAN connection means (100, 200, 300) connected to the sensor (110, 210, 310) is not limited to the above example consisting of three, each may be composed of three or more. For example, the sensor and the CAN connection means corresponding to the sensor may be composed of three or more in the range that the sum of the data bits input from the n sensors is smaller than the number of data field bits of the CAN message.
복수개의 CAN 접속수단(100,200,300) 중 하나는 마스터(master)로 동작하고 그 나머지는 슬레이브(slave)로 동작하도록 구성되는 것이 바람직하다. 본 실시 예에서 마스트로 동작하는 CAN 접속수단은 제 1센서(110)에 접속되는 CAN 접속수단(100)으로 하고, 제2센서(210)와 제3센서(310)에 접속되는 CAN 접속수단(200,300)은 슬레이브로 동작하는 것으로 한다.One of the plurality of CAN connection means (100, 200, 300) is preferably configured to operate as a master (master) and the rest as a slave (slave). In this embodiment, the CAN connecting means operating as a mast is a CAN connecting means 100 connected to the
이하, CAN 기반 제어 시스템이 세 개의 센서(110,210,310)와 각 센서(110,210,310)에 대응되는 세 개의 CAN 접속수단(100,200,300)을 포함하는 경우를 예시하여 설명한다. 제 1센서(110)로부터 검출되는 데이터를 n1 비트, 제 2센서(210)로부터 검출되는 데이터를 n2 비트, 제 3센서(310)로부터 검출되는 데이터를 n3 비트라고 하면, n1 + n2 + n3 < 64비트(표준 CAN 메시지 구조에 데이터 필드 비트수)를 만족하는 것을 조건으로, 세 개의 센서(110,210,310)로부터 검출된 데이터는 본 발명의 일실시예에 따라 하나의 CAN 메시지로 구성되어 전송될 수 있다.Hereinafter, a case in which the CAN-based control system includes three
도 3은 본 발명의 일실시예에 따라 재구성된 하나의 CAN 메시지 구조를 도시한다. 도면을 참조하면, CAN 메시지의 데이터 필드는 세 개의 센서(110,210,310) 데이터가 합쳐져 재구성되는데, 여기에서, n1 비트는 마스트로 동작하는 CAN 접속 수단(100)의 제 1센서(110)로 부터 검출된 데이터이고, n2 비트와 n3 비트는 슬레이브로 동작하는 CAN 접속수단(200,300)의 제2센서(210)와 제3센서(310)로부터 검출되는 데이터이다.3 shows one CAN message structure reconstructed according to one embodiment of the present invention. Referring to the figure, the data field of the CAN message is reconstructed by combining the data of three
상기 CAN 노드(400)는 CAN 기반 제어 시스템에서, 본 발명의 일실시예에 따라 마스터 CAN 접속수단(100)과 슬레이브 CAN 접속수단(200,300)을 통하여, 하나의 CAN 메시지로 전송되는 센서 데이터를 수신하는 곳으로 상정되는 임의의 노드이다.The
상기 CAN 버스(500)는 확장 CAN(29비트 ID)를 지원하는 버스일 수 있으며, 바람직하게는 표준 CAN(11비트 ID)을 지원하는 버스일 수 있다. 이하 CAN 버스(500)는 표준 CAN을 지원하는 경우를 예시하여 설명한다.The
상기에서 설명한 CAN 기반 제어 시스템을 통하여 복수의 센서 데이터를 하나의 CAN 메시지로 전송하는 방법을 좀 더 상세하게 설명한다.The method of transmitting a plurality of sensor data in one CAN message through the CAN-based control system described above will be described in more detail.
도 4는 본 발명의 일실시예에 따른 복수의 센서 데이터를 하나의 CAN 메시지로 전송하기 위한 마스트 CAN 접속수단의 동작을 도시한 흐름도이다.4 is a flowchart illustrating the operation of the mast CAN connection means for transmitting a plurality of sensor data in one CAN message according to an embodiment of the present invention.
도면을 참조하면, 마스트 CAN 접속수단(100)의 패킷 구성부(104)는 먼저 CAN 버스(500)가 사용 중인지 확인(S100)하여, CAN 버스(500)가 사용 중이면 다시 CAN 버스(500)의 사용여부를 검토하는 단계(S100)로 천이되고, CAN 버스(500)가 사용 중이 아니면 프레임 시작(SOF) 필드를 전송(S102)함으로서 패킷의 전송을 시작한다.Referring to the drawings, the
그리고, 중재 필드(Arbitration Field) 값으로 미리 약속한 ID를 전송(S104)하고, 표준 CAN 메시지의 전송 우선순위에 따라서 다른 패킷과 우선순위를 비교 (S106)한다. 우선순위가 다른 패킷보다 낮으면 전송을 중단하고 다시 CAN 버스(500)의 사용여부를 검토하는 단계(S100)로 천이된다. 우선순위가 다른 패킷보다 높으면 제어 필드(Control Field)를 전송(S108)한다. 제어필드를 전송하는 단계까지의 단계(S100 내지 S108)는 표준 CAN 프로토콜과 동일한 방법으로 진행될 수 있다.The ID previously promised is transmitted as an Arbitration Field value (S104), and the priority is compared with other packets according to the transmission priority of the standard CAN message (S106). If the priority is lower than other packets, the transmission is interrupted and the process returns to step S100 where the
본 발명의 일실시예에 따른 복수의 센서 데이터를 하나의 CAN 메시지로 구성하여 전송하는 방법은 아래에서 설명할 데이터 필드(Data Field)의 전송단계(S110)에 핵심적인 특징이 있다. A method of configuring and transmitting a plurality of sensor data in one CAN message according to an embodiment of the present invention has a key feature in the transmission step S110 of a data field to be described below.
마스터 CAN 접속 수단(100)의 패킷 구성부(S104)는 데이터 필드(Data Field)의 처음 n2 비트와 n3 비트 구간에서 리세시브 비트(recessive bit)를 전송한다. CAN 버스(500)상에서의 데이터의 상태는 리세시브 비트(recessive bit)와 도미넌트 비트(dominant bit)가 있는데, CAN 버스(500)상의 한 노드에서 리세시브 비트(recessive)를 출력하고 다른 노드에서 도미넌트 비트(dominant bit)를 출력하면 CAN 버스(500)의 상태는 도미넌트 비트(dominant bit)가 된다. The packet configuring unit S104 of the master CAN access
따라서, 마스터 CAN 접속수단(100)에서 n2 비트와 n3 비트 구간에서 리세시브 비트(recessive bit)를 전송하는 동안 슬레이브 CAN 접속수단(200,300)은 제2센서(210)와 제3센서(310)가 검출한 데이터를 전송할 수 있게 된다. 이 때, 마스터 CAN 접속수단(100)은 CRC(Cyclic Redundancy Code)계산 수행을 위하여 CAN 버스(500)상의 제2센서(210)와 제3센서(310)에서 검출된 데이터를 기록한다.Therefore, the slave CAN connecting means 200 and 300 are connected to the
마스터 CAN 접속수단(100)의 패킷 구성부(104)는 n2 비트와 n3 비트 구간이 지나면, 제1센서(110)에서 검출된 데이터를 전송하고, 기록된 제2센서(210)와 제3센서(310)에서 검출된 데이터를 고려하여 CRC 필드의 CRC 값을 계산(S112)하여 전송함으로써, CAN 메시지의 수신측 노드(400)에서 CRC 에러가 발생하지 않도록 한다. The
이어서 표준 CAN 프로토콜에 따라서, ACK 필드, 프레임 종료 필드(End of Frame Field)를 순차적으로 전송(S114)한다.Subsequently, according to the standard CAN protocol, the ACK field and the end of frame field are sequentially transmitted (S114).
도 5는 본 발명의 일실시예에 따른 복수의 센서 데이터를 하나의 CAN 메시지로 생성하기 위한 슬레이브 CAN 접속장치의 동작을 도시한 흐름도이다.5 is a flowchart illustrating an operation of a slave CAN connection device for generating a plurality of sensor data in one CAN message according to an embodiment of the present invention.
도면을 참조하면, 슬레이브 CAN 접속 수단(200,300)의 패킷 구성부(204,304)는 CAN 버스(500)를 계속 감시(S200)하다가 약속된 ID를 가지는 CAN 메시지가 감지되면, 약속된 데이터 필드(Data Field)의 위치까지 기다린 후(S202), 자기 자신의 데이터 즉 센서(210,310)에서 검출된 데이터를 전송(S204)한다. Referring to the drawings, the
상기 도 4에서 설명한 바와 같이 마스터 CAN 접속수단이 동작하고, 도 5에서 설명한 바와 같이 슬레이브 CAN 접속수단이 동작하면 세 개의 센서에서 검출된 데이터가 도 3에서 설명한 바와 같이 하나의 CAN 메시지로 구성되어 전송될 수 있다. As described above with reference to FIG. 4, when the master CAN connection means operates, and as described with reference to FIG. 5, when the slave CAN connection means operates, data detected by three sensors is configured and transmitted as one CAN message as described with reference to FIG. 3. Can be.
다시 설명하면, 도 3에서 도시된 CAN 메시지의 프레임 시작(SOF) 필드와 중재 필드(Arbitration Field), 제어 필드(Control Field)는 마스터 CAN 접속수단(100)에 의해서 전송되고, 데이터 필드(Data Field)의 n2 비트는 제2센서(210)에 접속된 슬레이브 CAN 접속수단(200)에 의해서 전송되고, 그 다음 n3 비트는 제3센서(310)에 접속된 슬레이브 CAN 접속수단(300)에 의해서 전송된 후, CRC 필드, ACK 필드 및 프레임 종료 필드(End of Frame Field)의 데이터는 다시 마스터로 동작하는 CAN 접속수단(100)에 의해서 전송되게 된다. In other words, the frame start (SOF) field, the arbitration field, and the control field of the CAN message shown in FIG. 3 are transmitted by the master CAN access means 100 and the data field. N2 bits of) are transmitted by the slave CAN connection means 200 connected to the
상술한 바와 같이 본 발명의 복수의 센서 데이터를 하나의 CAN 메시지로 전송하는 방법은, 기존의 캔(CAN: Controller Area Network) 기반의 제어 시스템에 전혀 영향을 주지 않으면서, 복수개의 센서로부터 검출된 데이터를 하나의 CAN 메시지로 전송할 수 있게 함으로써, 검출된 복수의 센서 데이터를 짧은 시간에 신뢰성 있게 전송하게 하는 효과를 제공한다. As described above, the method of transmitting the plurality of sensor data of the present invention in one CAN message may be detected from a plurality of sensors without affecting an existing CAN (control area based network) control system. By enabling data to be transmitted in one CAN message, it provides the effect of reliably transmitting a plurality of detected sensor data in a short time.
본 발명은 상기에 설명되고 도면에 예시된 것에 의해 한정되는 것은 아니며 다음에 기재되는 청구의 범위 내에서 더 많은 변형 및 변용예가 가능한 것임은 물론이다.It is to be understood that the invention is not limited to that described above and illustrated in the drawings and that many more modifications and variations are possible within the scope of the following claims.
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040065538A KR100609493B1 (en) | 2004-08-19 | 2004-08-19 | Method for transmitting multiple sensors data with a CAN message |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040065538A KR100609493B1 (en) | 2004-08-19 | 2004-08-19 | Method for transmitting multiple sensors data with a CAN message |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060017035A true KR20060017035A (en) | 2006-02-23 |
KR100609493B1 KR100609493B1 (en) | 2006-08-08 |
Family
ID=37125175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040065538A KR100609493B1 (en) | 2004-08-19 | 2004-08-19 | Method for transmitting multiple sensors data with a CAN message |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100609493B1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101221829B1 (en) * | 2011-04-22 | 2013-01-15 | 한국기계연구원 | Machine tools monitoring system using rs-485 |
KR20140001871A (en) * | 2010-09-22 | 2014-01-07 | 로베르트 보쉬 게엠베하 | Method and apparatus for serial data transmission at a switchable data rate |
WO2021090987A1 (en) * | 2019-11-06 | 2021-05-14 | (주)로보티즈 | System and method for efficient communication bus arbitration |
KR20220125649A (en) | 2021-03-05 | 2022-09-14 | 숭실대학교산학협력단 | Method for multiple uart communications using can bus, recording medium and device for performing the method |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2620989C2 (en) * | 2011-04-06 | 2017-05-30 | Роберт Бош Гмбх | Method and apparatus for increasing throughput capacity in data transmission in serial bus system |
ES2595155T3 (en) * | 2011-04-06 | 2016-12-28 | Robert Bosch Gmbh | Method and device for adapting data transmission security in a serial bus system |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5854454A (en) | 1996-09-16 | 1998-12-29 | Otis Elevator Company | Message routing in control area network (CAN) protocol |
US6363083B1 (en) | 1999-03-12 | 2002-03-26 | Otis Elevator Company | Bilevel node identifiers in control area network (CAN) protocol |
-
2004
- 2004-08-19 KR KR1020040065538A patent/KR100609493B1/en not_active IP Right Cessation
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140001871A (en) * | 2010-09-22 | 2014-01-07 | 로베르트 보쉬 게엠베하 | Method and apparatus for serial data transmission at a switchable data rate |
KR101221829B1 (en) * | 2011-04-22 | 2013-01-15 | 한국기계연구원 | Machine tools monitoring system using rs-485 |
WO2021090987A1 (en) * | 2019-11-06 | 2021-05-14 | (주)로보티즈 | System and method for efficient communication bus arbitration |
KR20210054858A (en) * | 2019-11-06 | 2021-05-14 | (주)로보티즈 | System and method for bus arbitration in multi-drop communication |
CN114631289A (en) * | 2019-11-06 | 2022-06-14 | 株式会社乐博益思 | Efficient communication bus arbitration system and method |
CN114631289B (en) * | 2019-11-06 | 2023-10-24 | 株式会社乐博益思 | Efficient communication bus arbitration system and method |
US11841813B2 (en) | 2019-11-06 | 2023-12-12 | Robotis Co., Ltd. | System and method for efficient communication bus arbitration |
KR20220125649A (en) | 2021-03-05 | 2022-09-14 | 숭실대학교산학협력단 | Method for multiple uart communications using can bus, recording medium and device for performing the method |
Also Published As
Publication number | Publication date |
---|---|
KR100609493B1 (en) | 2006-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6266334B1 (en) | Method for optimizing acknowledge packet rate | |
US8509257B2 (en) | CAN node, and communication method of communication system including CAN node | |
US6754184B2 (en) | Information processing apparatus and method, and distribution medium | |
US6741566B1 (en) | Remote management ethernet network and device | |
US20030179719A1 (en) | Method and apparatus for transmitting packets at a transfer rate that depends on a response from a destination | |
US7389469B2 (en) | Bus systems, apparatuses, and methods of operating a bus | |
JP2003174486A (en) | Information communication device, information communication method and information communication processing program | |
US20020061025A1 (en) | Data transmitting and receiving apparatus and data transmitting and receiving method | |
KR100609493B1 (en) | Method for transmitting multiple sensors data with a CAN message | |
JP2021534672A (en) | Frame shield unit, serial bus system subscriber station, and communication method in the serial bus system | |
KR100775516B1 (en) | Control system of flexray and can and method thereof | |
US7406555B2 (en) | Systems and methods for multiple input instrumentation buses | |
Hasnaoui et al. | An implementation of a proposed modification of CAN protocol on CAN fieldbus controller component for supporting a dynamic priority policy | |
KR100583811B1 (en) | The can message identifier allocation method and the can message transfer arbitration method for the humanoid robot | |
EP1758306B1 (en) | Method and device for transmitting a control signal of a resilient packet ring media access control | |
US7801053B2 (en) | Method for setting consistent values for a parameter in a network of distributed stations, as well as a network subscriber station for carrying out the method | |
US6996124B1 (en) | Mechanism to strip LARQ header and regenerate FCS to support sleep mode wake up | |
CN110855540B (en) | 485 multi-master communication method and system based on single-ring network | |
KR101601303B1 (en) | Method for mediating message with differed typed protocol | |
US20210377070A1 (en) | User station for a serial bus system, and method for transmitting a message in a serial bus system | |
KR100226781B1 (en) | Method for recognizing node | |
US7321938B2 (en) | Data transfer apparatus, network system, and data transfer method | |
JP2836603B2 (en) | Local area network | |
Kim et al. | Communication using controller area network protocol | |
KR100320739B1 (en) | Ieee 1394 system for long distance connection and embodying method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |