KR20180064274A - Can controller and method for transmission of data using the same - Google Patents
Can controller and method for transmission of data using the same Download PDFInfo
- Publication number
- KR20180064274A KR20180064274A KR1020170128073A KR20170128073A KR20180064274A KR 20180064274 A KR20180064274 A KR 20180064274A KR 1020170128073 A KR1020170128073 A KR 1020170128073A KR 20170128073 A KR20170128073 A KR 20170128073A KR 20180064274 A KR20180064274 A KR 20180064274A
- Authority
- KR
- South Korea
- Prior art keywords
- information
- data
- protocol
- load
- bus
- 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
- H04L12/40006—Architecture of a communication node
- H04L12/40013—Details regarding a bus controller
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
-
- 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
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40071—Packet processing; Packet format
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- 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
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Small-Scale Networks (AREA)
Abstract
Description
본 발명은 차량용 네트워크 표준인 CAN(Controller Area Network)을 지원하는 아키텍처에 관한 것으로, 좀 더 상세하게는 CAN 컨트롤러 및 이를 이용한 데이터 전송 방법에 관한 것이다.BACKGROUND OF THE
차량 시스템에서 ECU(Electronic Control Unit) 또는 주변 전자 장비들 사이의 통신을 위한 차량용 네트워크 프로토콜로 CAN(Controller Area Network)이 표준 통신 규격으로 이용되고 있다. 종래의 차량 시스템에 포함되는 전자 제어 장치들의 수는 한정되었으므로, 각각의 전자 제어 장치들은 Point-to-Point 결선 방식으로 연결되었다. 다만, 이러한 Point-to-Point 결선 방식은 전자 제어 장치들의 증가에 따라, 연결의 복잡도, 비용, 및 무게 등을 급격하게 증가시킬 수 있다. CAN 통신은 직렬 버스 네트워크 방식을 이용하므로, 다양한 전자 제어 장치들 사이의 통신이 용이하다.A CAN (Controller Area Network) is used as a standard communication standard as a vehicle network protocol for communication between ECU (Electronic Control Unit) or peripheral electronic equipments in a vehicle system. Since the number of electronic control devices included in the conventional vehicle system is limited, each electronic control device is connected by a point-to-point connection method. However, the point-to-point wiring scheme can increase the complexity, cost, weight, and the like of the connection as the number of electronic control devices increases. Since CAN communication uses a serial bus network scheme, communication between various electronic control devices is easy.
CAN 통신은 호스트 없이 CAN 버스를 통하여 전자 제어 장치들이 서로 통신하도록 설계된다. 이를 위하여, 전자 제어 장치는 CAN 버스에 연결되는 CAN 컨트롤러를 포함할 수 있다. CAN 컨트롤러는 전자 제어 장치와 CAN 버스 사이의 통신을 제어한다. 차량 시스템은 탑승자의 안전성을 확보하기 위하여, 신속한 데이터 통신이 요구된다. 따라서, 데이터의 통신의 지연을 최소화하고 CAN 통신의 신속성을 확보할 수 있는 CAN 컨트롤러에 대한 요구가 제기되고 있다.CAN communication is designed so that electronic control devices communicate with each other via a CAN bus without a host. To this end, the electronic control device may comprise a CAN controller connected to the CAN bus. The CAN controller controls the communication between the electronic control unit and the CAN bus. The vehicle system requires rapid data communication in order to secure the safety of the occupant. Accordingly, there is a demand for a CAN controller capable of minimizing the delay of data communication and securing the speed of CAN communication.
CAN 통신을 위한 프로토콜로써 CAN 2.0 A 및 CAN 2.0 B가 사용되고 있다. 또한, 최근에 CAN 2.0 A FD 및 CAN 2.0 B FD가 추가적으로 개발되었다. CAN 2.0 A, CAN 2.0 B, CAN 2.0 A FD, 및 CAN 2.0 B FD 각각의 데이터 프레임의 구조는 서로 다르다. 따라서, 이러한 프로토콜의 유형에 맞도록 용이하게 설정 가능한 CAN 컨트롤러에 대한 요구가 제기되고 있다. CAN 2.0 A and CAN 2.0 B are used as protocols for CAN communication. In addition, CAN 2.0 A FD and CAN 2.0 B FD have been recently developed. The structures of the data frames of CAN 2.0 A, CAN 2.0 B, CAN 2.0 FD, and CAN 2.0 B FD are different. Thus, there is a need for a CAN controller that is easily configurable to accommodate this type of protocol.
본 발명은 CAN 2.0 A, CAN 2.0 B, CAN 2.0 A FD, 및 CAN 2.0 B FD를 모두 지원할 수 있고, CAN 통신의 신속성을 확보할 수 있는 CAN 컨트롤러 및 이를 이용한 데이터 전송 방법을 제공한다.The present invention provides a CAN controller capable of supporting both CAN 2.0 A, CAN 2.0 B, CAN 2.0 A FD, and CAN 2.0 B FD and securing the speed of CAN communication, and a data transmission method using the CAN controller.
본 발명의 실시예에 따른 CAN 컨트롤러는 인터페이스, 트랜스미터, 리시버, 수신 선입선출 메모리, 및 송신 선입선출 메모리를 포함한다. 인터페이스는 수신 선입 선출 메모리에 저장된 수신 정보를 프로세서에 제공하거나, 프로세서로부터 송신 정보를 제공받는다.A CAN controller according to an embodiment of the present invention includes an interface, a transmitter, a receiver, a receiving first-in-first-out memory, and a transmission first-in-first-out memory. The interface provides reception information stored in the reception first-in-first-out memory to the processor or receives transmission information from the processor.
트랜스미터는 프로토콜을 설정하고, 프로토콜에 따라 송신 선입선출 메모리에 저장된 송신 정보를 CAN 버스로 송신한다. 트랜스미터는 프로토콜 생성기를 포함한다. 프로토콜 생성기는 복수의 비트 상태들 중 프로토콜에 대응되는 데이터 프레임의 타겟 비트 상태들을 선택하여 프로토콜을 설정할 수 있다. 프로토콜 생성기는 각각의 타겟 비트 상태들을 순차적으로 천이시켜 송신 정보의 데이터 프레임을 결정할 수 있다. 프로토콜 생성기는 CAN 2.0 A 프로토콜, CAN 2.0 B 프로토콜, CAN 2.0 A FD 프로토콜, 및 CAN 2.0 B FD 프로토콜 중 하나를 선택하고, 선택된 프로토콜에 기초하여 타겟 비트 상태들을 선별할 수 있다.The transmitter sets the protocol and transmits the transmission information stored in the transmission first-in-first-out memory to the CAN bus according to the protocol. The transmitter includes a protocol generator. The protocol generator may set the protocol by selecting target bit states of a data frame corresponding to the protocol among a plurality of bit states. The protocol generator may sequentially transition the respective target bit states to determine the data frame of the transmission information. The protocol generator may select one of the CAN 2.0 A protocol, the CAN 2.0 B protocol, the CAN 2.0 A FD protocol, and the CAN 2.0 B FD protocol, and may select target bit states based on the selected protocol.
리시버는 설정된 프로토콜에 따라 CAN 버스로부터 수신된 수신 정보를 분석한다. 리시버는 프로토콜 분석기, 마스킹 필터 레지스터, 보-레이트 조절기, 및 에러 감지기를 포함할 수 있다. 프로토콜 분석기는 타겟 비트 상태들을 순차적으로 천이시켜 수신 정보를 분석할 수 있다. 마스킹 필터 레지스터는 수신 정보의 식별 데이터에 근거하여 수신 정보를 필터링할 수 있다. 보-레이트 조절기는 설정된 프로토콜에 따라 수신 정보의 데이터 프레임의 보-레이트를 조절할 수 있다. 에러 감지기는 수신 정보의 에러를 감지하여 수신 선입선출 메모리에 수신 정보의 제공여부를 결정할 수 있다.The receiver analyzes the received information received from the CAN bus according to the established protocol. The receiver may include a protocol analyzer, a masking filter register, a baud rate adjuster, and an error detector. The protocol analyzer can analyze the received information by sequentially transitioning the target bit states. The masking filter register can filter the received information based on the identification data of the received information. The baud rate adjuster can adjust the baud rate of the data frame of the received information according to the established protocol. The error detector may detect an error in the reception information and determine whether to provide the reception information in the reception first-in-first-out memory.
수신 선입선출 메모리는 수신 정보의 식별 데이터 및 CAN 버스의 버스 로드에 기초하여 이전에 저장된 수신 정보에 겹쳐 쓰여지도록 수신 정보를 저장한다. 송신 선입선출 메모리는 송신 정보의 식별 데이터 및 프로세서 로드에 기초하여 이전에 저장된 송신 정보에 겹쳐 쓰여지도록 송신 정보를 저장한다.The reception first-in-first-out memory stores the reception information so as to be overwritten with the reception information previously stored based on the identification data of the reception information and the bus load of the CAN bus. The transmission first-in-first-out memory stores the transmission information so as to be overwritten with the transmission information previously stored based on the identification data of the transmission information and the processor load.
CAN 컨트롤러는 식별 데이터 스캐너, 버스 로드 감지기, 및 프로세서 로드 감지기를 더 포함한다. 일례로, 식별 데이터 스캐너는 버스 로드가 프로세서 로드보다 높은 경우, 수신 정보의 식별 데이터와 동일한 식별 데이터를 갖는 정보가 저장된 수신 선입선출 메모리의 메모리 블록에 수신 정보를 겹쳐 쓸 수 있다. 일례로, 식별 데이터 스캐너는 프로세서 로드가 버스 로드보다 높은 경우, 송신 정보의 식별 데이터와 동일한 식별 데이터를 갖는 정보가 저장된 송신 선입선출 메모리의 메모리 블록에 송신 정보를 겹쳐 쓸 수 있다. 버스 로드 감지기는 버스 로드를 감지하고, 프로세서 로드 감지기는 프로세서 로드를 감지할 수 있다.The CAN controller further includes an identification data scanner, a bus load detector, and a processor load detector. For example, when the bus load is higher than the processor load, the identification data scanner can overwrite the reception information in the memory block of the reception first-in-first-out memory storing the information having the same identification data as the identification data of the reception information. For example, when the processor load is higher than the bus load, the identification data scanner can overwrite the transmission information in the memory block of the transmission first-in-first-out memory storing the information having the same identification data as the identification data of the transmission information. The bus load detector detects the bus load, and the processor load detector can detect the processor load.
본 발명의 실시예에 따른 CAN 컨트롤러의 데이터 전송 방법은 데이터 정보를 수신하는 단계, 수신이 예정되는 데이터 정보의 양을 감지하는 단계, 데이터 정보의 식별 데이터와 동일한 식별 데이터를 갖는 정보가 저장된 선입선출 메모리의 메모리 블록을 검색하는 단계, 및 수신이 예정되는 데이터 정보의 양에 기초하여 메모리 블록에 데이터 정보를 겹쳐 쓰는 단계를 포함한다.A method of transmitting data in a CAN controller according to an embodiment of the present invention includes receiving data information, sensing an amount of data to be received, storing information having the same identification data as the identification data of the data information, Retrieving a memory block of the memory, and overwriting the data information in the memory block based on the amount of data information to be received.
일례로, 데이터 정보는 프로세서로부터 제공되는 송신 정보일 수 있다. 이 때, 데이터 정보의 양을 감지하는 단계는 프로세서 로드를 감지하는 단계, 프로세서 로드와 버스 로드를 비교하는 단계를 포함할 수 있다. 데이터 정보를 겹쳐 쓰는 단계에서, 프로세서 로드가 버스 로드 또는 설정된 기준 로드 값보다 큰 경우, 송신 정보를 겹쳐 쓸 수 있다. CAN 컨트롤러의 데이터 전송 방법은 선입선출 메모리에 저장된 정보를 순차적으로 CAN 버스에 출력하는 단계를 더 포함할 수 있다.In one example, the data information may be transmission information provided from the processor. At this time, sensing the amount of data information may include sensing a processor load, comparing the processor load and the bus load. In the step of overwriting the data information, if the processor load is greater than the bus load or the set reference load value, the transmission information can be overwritten. The data transfer method of the CAN controller may further include sequentially outputting the information stored in the first-in first-out memory to the CAN bus.
일례로, 데이터 정보는 CAN 버스로부터 제공되는 수신 정보일 수 있다. 이 때, 데이터 정보의 양을 감지하는 단계는 CAN 버스의 버스 로드를 감지하는 단계, 프로세서 로드와 버스 로드를 비교하는 단계를 포함할 수 있다. 데이터 정보를 겹쳐 쓰는 단계에서, 버스 로드가 프로세서 로드 또는 설정된 기준 로드 값보다 큰 경우, 수신 정보를 겹쳐 쓸 수 있다. CAN 컨트롤러의 데이터 전송 방법은 선입선출 메모리에 저장된 정보를 순차적으로 프로세서에 출력하는 단계를 더 포함할 수 있다.In one example, the data information may be received information provided from the CAN bus. At this time, sensing the amount of data information may include sensing a bus load of the CAN bus, comparing the processor load and the bus load. In the step of overwriting the data information, if the bus load is larger than the processor load or the set reference load value, the received information can be overwritten. The data transfer method of the CAN controller may further include sequentially outputting the information stored in the first-in first-out memory to the processor.
본 발명의 실시예에 따른 CAN 컨트롤러 및 이를 이용한 데이터 전송 방법은 상태 천이의 순서를 설정하여 다양한 CAN 프로토콜을 통합 지원할 수 있고, 버스 로드와 프로세서 로드에 따라 선입선출 메모리에 데이터를 겹쳐 쓰기하여 데이터 통신의 신속성을 확보할 수 있다.The CAN controller and the data transmission method using the CAN controller according to the embodiment of the present invention can support various CAN protocols by setting the order of state transition and can overwrite the data in the first-in first-out memory according to the bus load and the processor load, It is possible to secure the promptness of the user.
도 1은 본 발명의 실시예에 따른 CAN 시스템의 블록도이다.
도 2는 도 1에 포함된 CAN 컨트롤러의 블록도이다.
도 3은 도 2의 프로토콜 엔진을 구체화한 블록도이다.
도 4는 CAN 2.0 A 프로토콜에 대한 데이터 프레임의 구조를 나타내는 도면이다.
도 5는 CAN 2.0 B 프로토콜에 대한 데이터 프레임의 구조를 나타내는 도면이다.
도 6은 CAN 2.0 A FD 프로토콜에 대한 데이터 프레임의 구조를 나타내는 도면이다.
도 7은 CAN 2.0 B FD 프로토콜에 대한 데이터 프레임의 구조를 나타내는 도면이다.
도 8은 도 2 또는 도 3의 데이터 버퍼부를 구체화한 블록도이다.
도 9는 본 발명의 실시예에 따른 수신 정보의 전송 방법에 대한 순서도이다.
도 10은 본 발명의 실시예에 따른 송신 정보의 전송 방법에 대한 순서도이다.1 is a block diagram of a CAN system according to an embodiment of the present invention.
2 is a block diagram of the CAN controller included in FIG.
Figure 3 is a block diagram embodying the protocol engine of Figure 2;
4 is a diagram showing the structure of a data frame for the CAN 2.0 A protocol.
5 is a diagram showing the structure of a data frame for the CAN 2.0 B protocol.
6 is a diagram showing the structure of a data frame for the CAN 2.0 A FD protocol.
7 is a diagram showing the structure of a data frame for the CAN 2.0 B FD protocol.
FIG. 8 is a block diagram embodying the data buffer unit of FIG. 2 or FIG. 3. FIG.
9 is a flowchart illustrating a method of transmitting received information according to an embodiment of the present invention.
10 is a flowchart illustrating a method of transmitting transmission information according to an embodiment of the present invention.
아래에서는, 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로, 본 발명의 실시 예들이 명확하고 상세하게 기재된다. 아래에서는, CAN(Controller Area Network) 통신을 위한 CAN 컨트롤러가 송신 정보 또는 수신 정보를 전달한다. 송신 정보 및 수신 정보는 CAN 컨트롤러의 프로토콜 설정, 보-레이트 조절, 비트 스터핑(Bit Stuffing), 또는 클럭 동기화 등 다양한 원인에 의하여 형식적으로 일부 변화될 수 있다. 송신 정보 및 수신 정보 각각에 포함된 데이터의 의미가 유지된다면, 데이터 통신의 효율성 또는 에러의 최소화의 관점에서 송신 정보 및 수신 정보의 형식이 일부 변하더라도 용어의 변경 없이 송신 정보 및 수신 정보로 지칭될 것이다.Hereinafter, embodiments of the present invention will be described in detail and in detail so that those skilled in the art can easily carry out the present invention. In the following, a CAN controller for CAN (Controller Area Network) communication carries transmission information or reception information. The transmission information and the reception information can be formally changed in part by various causes such as protocol setting of the CAN controller, baud rate adjustment, bit stuffing, or clock synchronization. If the meaning of the data included in each of the transmission information and the reception information is maintained, it is referred to as transmission information and reception information without changing the term, even if the format of the transmission information and the reception information change from the viewpoint of efficiency of data communication or minimization of errors will be.
도 1은 본 발명의 실시예에 따른 CAN 시스템의 블록도이다. CAN 시스템(100)은 후술될 CAN 2.0 A, CAN 2.0 B, CAN 2.0 A FD, 및 CAN 2.0 B FD 프로토콜들 중 어느 하나에 의하여 통신을 수행하는 시스템일 수 있다. 도 1을 참조하면, CAN 시스템(100)은 제1 내지 제3 전자 제어 장치들(110~130) 및 CAN 버스(140)를 포함할 수 있다. 예시적으로 3개의 전자 제어 장치들이 도시되었으나, 전자 제어 장치들의 개수에 제한은 없다. CAN 시스템(100)은 CAN 프로토콜을 이용하는 다양한 분야에 적용될 수 있다. 예를 들어, CAN 시스템(100)은 차량 시스템일 수 있다.1 is a block diagram of a CAN system according to an embodiment of the present invention. The
제1 전자 제어 장치(110)는 제1 프로세서(112) 및 제1 CAN 컨트롤러(114)를 포함한다. 제2 전자 제어 장치(120)는 제2 프로세서(122) 및 제2 CAN 컨트롤러(124)를 포함한다. 제3 전자 제어 장치(130)는 제3 프로세서(132) 및 제3 CAN 컨트롤러(134)를 포함한다. 제1 내지 제3 전자 제어 장치들(110~130) 각각은 CAN 버스(140)와 연결되어 통신을 수행한다. 예를 들어, CAN 시스템(100)이 차량 시스템인 경우, 제1 내지 제3 전자 제어 장치들(110~130) 각각은 엔진, 핸들, 브레이크 등 다양한 차량용 기기들을 전자적으로 제어하기 위한 장치일 수 있다.The first
제1 내지 제3 프로세서들(112~132)은 대응되는 전자 제어 장치에 대한 중앙 처리 장치(Central Processing Unit, CPU)의 기능을 수행할 수 있다. 예를 들어, 제1 전자 제어 장치(110)가 엔진을 제어하기 위한 ECU인 경우, 제1 프로세서(112)는 엔진을 제어하기 위하여 요구되는 제어 동작 및 연산 동작을 수행할 수 있다. 제1 프로세서(112)는 이러한 제어 동작 및 연산 동작에 의하여 생성된 정보를 송신 신호로 제1 CAN 컨트롤러(114)에 제공할 수 있다. 또한, 제1 프로세서(112)는 제2 프로세서(122) 또는 제3 프로세서(132)로부터 생성된 정보를 제1 CAN 컨트롤러(114)로부터 제공 받을 수 있다. 따라서, 전자 제어 장치는 다른 전자 제어 장치들과 상호작용할 수 있고, 이러한 상호작용을 통하여 자율 주행과 같은 복잡한 기능이 수행될 수 있다.The first to
제1 내지 제3 CAN 컨트롤러들(114~134)은 대응되는 전자 제어 장치에 대한 정보의 송수신을 제어한다. 제1 내지 제3 CAN 컨트롤러들(114~134) 각각은 식별 데이터를 포함하는 정보를 CAN 버스(140)에 제공한다. 제1 내지 제3 CAN 컨트롤러들(114~134) 각각은 CAN 버스(140)에 제공된 정보의 식별 데이터를 분석하여 정보의 수신 여부를 결정한다. 식별 데이터는 해당 정보의 속성을 나타내고, 제1 내지 제3 CAN 컨트롤러들(114~134) 각각은 해당 전자 제어 장치의 구동에 필요한 정보인지 식별 데이터를 통하여 판단할 수 있다.The first to
제1 내지 제3 CAN 컨트롤러들(114~134) 각각은 다양한 CAN 프로토콜을 통합 지원할 수 있다. 또한, 제1 내지 제3 CAN 컨트롤러들(114~134) 각각은 제1 내지 제3 프로세서들(112~132) 중 대응되는 프로세서의 로드 또는 CAN 버스(140)의 로드를 감지하여, 최신의 송신 정보 또는 수신 정보를 겹쳐 쓸 수 있다. 따라서, CAN 시스템(100)의 효율성이 확보되고, 로드에 의한 정보의 전송 지연이 방지되어 안정성이 확보될 수 있다. 송신 정보 또는 수신 정보를 겹쳐 쓰는 구체적인 내용은 후술된다.Each of the first to
CAN 버스(140)는 CAN 시스템(100)의 제1 내지 제3 전자 제어 장치들(110~130) 사이에서 통신 경로를 제공할 수 있다. 제1 내지 제3 전자 제어 장치들(110~130)은 CAN 버스(140)를 통하여 서로 정보를 교환할 수 있다. CAN 버스(140)를 이용하는 경우, 전자 제어 장치들 각각을 직접 연결하지 않고 정보를 교환하므로, 전자 제어 장치들 사이의 연결의 복잡도, 비용, 및 무게 측면에서 효율성이 확보될 수 있다. The
도 2는 도 1에 포함된 CAN 컨트롤러의 블록도이다. 설명의 편이상, 도 1의 도면 부호를 참조하여, 도 2의 구성들이 설명된다. CAN 컨트롤러(200)는 도 1의 제1 내지 제3 CAN 컨트롤러들(114~134)로 볼 수 있다. 이하, CAN 버스는 도 1의 CAN 버스(140)의 도면 부호를 참조하여 설명되고, 후술되는 프로세서는 도 1의 제1 프로세서(112)의 도면 부호를 참조하여 설명된다. 2 is a block diagram of the CAN controller included in FIG. On the aspect of the explanation, referring to the reference numerals of Fig. 1, the configurations of Fig. 2 will be described. The
도 2를 참조하면, CAN 컨트롤러(200)는 동기화기(210) 및 프로토콜 엔진(220)을 포함한다. 프로토콜 엔진(220)은 인터페이스(221), 데이터 버퍼부(222), 및 트랜시버(223)를 포함한다. CAN 컨트롤러(200)는 제1 내지 제3 전자 제어 장치들(110~130)에 포함될 수 있다. CAN 컨트롤러(200)는 프로세서(112)로부터 데이터 정보를 입력 받아, CAN 버스(140)에 데이터 정보를 출력할 수 있다. 또는, CAN 컨트롤러(200)는 CAN 버스(140)로부터 데이터 정보를 입력 받아, 프로세서(112)에 데이터 정보를 출력할 수 있다.Referring to FIG. 2, the
동기화기(210)는 프로세서(112)와 연결되어 데이터 통신을 수행할 수 있다. 동기화기(210)는 주변 장치 버스(Peripheral Bus)를 통하여 프로세서(112)와 연결될 수 있다. 예를 들어, 주변 장치 버스는 APB(Advanced Peripheral Bus)일 수 있다. 주변 장치 버스의 클럭 주파수 및 위상은 CAN 컨트롤러(200)의 클럭 주파수 및 위상과 다를 수 있다. 이 경우, CDC(Clock Domain Crossing)가 발생될 수 있다. 동기화기(210)는 주변 장치 버스의 클럭과 CAN 컨트롤러(200)의 클럭을 동기화시킬 수 있다.The
프로토콜 엔진(220)은 프로세서(112)와 CAN 버스(140) 사이의 데이터 통신을 제어한다. 이를 위하여, 프로토콜 엔진(220)은 CAN 버스(140)와의 데이터 통신을 위한 프로토콜을 생성할 수 있다. 프로토콜 엔진(220)은 동기화기(210)를 통하여 제공되는 프로세서(112)의 송신 정보를 수신할 수 있다. 프로토콜 엔진(220)은 송신 정보를 CAN 버스(140)에 송신할 수 있다. CAN 버스(140)에 제공된 송신 정보는 다른 전자 제어 장치에 포함된 CAN 컨트롤러에 제공될 수 있다. 프로토콜 엔진(220)은 CAN 버스(140)를 통하여 제공되는 수신 정보를 수신할 수 있다. 프로토콜 엔진(220)은 수신 정보를 동기화기(210)로 송신할 수 있다. 동기화기(210)는 수신 정보를 프로세서(112)에 제공할 수 있다.
인터페이스(221)는 프로토콜 엔진(220)과 프로세서(112) 사이의 데이터 통신을 수행하는 회로로 구현될 수 있다. 인터페이스(221)는 동기화기(210)로부터 수신된 송신 정보를 데이터 버퍼부(222)에 제공할 수 있다. 인터페이스(221)는 데이터 버퍼부(222)로부터 수신 신호를 수신하여 동기화기(210)에 제공할 수 있다. 수신 신호는 동기화기(210)를 통하여 주변 장치 버스에 제공되고, 프로세서(112)에 제공될 수 있다.The
데이터 버퍼부(222)는 트랜시버(223)로부터 제공된 송신 정보를 저장할 수 있다. 데이터 버퍼부(222)는 시간의 흐름에 따라 순차적으로 송신 정보를 저장하고, 저장된 순서로 송신 정보를 인터페이스(221)에 제공할 수 있다. 이를 위하여, 데이터 버퍼부(222)는 선입선출(First In First Out, FIFO) 메모리를 포함할 수 있다. 또한, 데이터 버퍼부(222)는 인터페이스(221)로부터 제공된 수신 정보를 저장할 수 있다. 데이터 버퍼부(222)는 시간의 흐름에 따라 순차적으로 수신 정보를 저장하고, 저장된 순서로 수신 정보를 트랜시버(223)에 제공할 수 있다. 이를 위하여, 데이터 버퍼부(222)는 선입선출 메모리를 포함할 수 있다.The
데이터 버퍼부(222)는 정상적인 상태에서 데이터가 입력된 순서로 데이터를 출력할 수 있다. 다만, 프로세서(112)의 데이터 처리량이 많거나, CAN 버스(140)에 제공된 데이터의 양이 많은 경우, 데이터 버퍼부(222)가 모든 데이터를 출력하는데 시간이 소요될 수 있다. 특히, CAN 통신 방식이 자주 사용되는 차량 시스템에서, 데이터 출력의 지연은 탑승자의 안전성과 직결될 수 있다. 또한, 실시간으로 주변 상황이 급변하고, 가장 최신의 데이터가 이전의 데이터보다 중요한 차량 시스템의 특성상, 모든 데이터를 출력하기 위하여 데이터 출력을 지연시키는 것은 비효율적일 수 있다. 따라서, 데이터 버퍼부(222)로 제공될 데이터 정보의 양이 많은 경우, 이미 저장된 데이터 정보에 새로운 데이터 정보가 겹쳐 쓰여질 수 있다. 이에 대한 구체적인 내용은 후술된다.The
트랜시버(223)는 데이터 버퍼부(222)로부터 송신 정보를 수신하여 CAN 버스(140)에 송신한다. 트랜시버(223)는 CAN 버스(140)로부터 수신 정보를 수신하여 데이터 버퍼부(222)에 송신한다. 트랜시버(223)는 프로토콜을 미리 설정할 수 있다. 트랜시버(223)는 설정된 프로토콜에 따라, 송신 정보를 CAN 버스(140)에 송신하고 수신 정보를 CAN 버스(140)로부터 수신할 수 있다. 프로토콜은 CAN 2.0 A, CAN 2.0 B, CAN 2.0 A FD, 및 CAN 2.0 B FD 중 어느 하나일 수 있다. 트랜시버(223)는 CAN 2.0 A, CAN 2.0 B, CAN 2.0 A FD, 및 CAN 2.0 B FD 모두를 지원할 수 있으며, 차량 시스템에 따라 결정된 프로토콜을 선택할 수 있다. 이에 대한 구체적인 내용은 후술된다.The
도 3은 도 2의 프로토콜 엔진을 구체화한 블록도이다. 도 3을 참조하면, 프로토콜 엔진(300)은 인터페이스(310), 데이터 버퍼부(320), 리시버(330), 및 트랜스미터(340)를 포함한다. 도 3의 인터페이스(310)는 도 2의 인터페이스(221)와 실질적으로 동일하므로, 구체적인 설명이 생략된다. 도 3의 데이터 버퍼부(320)는 도 2의 데이터 버퍼부(222)에 대응된다. 도 3의 리시버(330) 및 트랜스미터(340)는 도 2의 트랜시버(223)에 포함되는 구성으로 볼 수 있다.Figure 3 is a block diagram embodying the protocol engine of Figure 2; Referring to FIG. 3, the
데이터 버퍼부(320)는 수신 선입선출(First In First Out, FIFO) 메모리(322) 및 송신 선입선출 메모리(324)를 포함한다. 수신 선입선출 메모리(322) 및 송신 선입선출 메모리(324)는 원칙적으로 수신된 순서대로 데이터 정보를 저장하고, 저장된 순서대로 데이터 정보를 출력한다. 수신 선입선출 메모리(322)는 리시버(330)로부터 수신된 순서대로 수신 정보를 저장한다. 수신 선입선출 메모리(322)는 저장된 순서대로 수신 정보를 인터페이스(310)에 출력한다. 송신 선입선출 메모리(324)는 인터페이스(310)로부터 수신된 순서대로 송신 정보를 저장한다. 송신 선입선출 메모리(324)는 저장된 순서대로 송신 정보를 트랜스미터(340)에 출력한다. 수신 선입선출 메모리(322)와 송신 선입선출 메모리(324)는 동일한 종류의 메모로 구현될 수 있다.The
수신 선입선출 메모리(322)는 CAN 버스(140)의 버스 로드에 따라 수신 정보를 이전에 저장된 정보 대신에 저장할 수 있다. 버스 로드는 CAN 버스(140)에 제공되는 데이터의 양에 의하여 결정된다. CAN 버스에 제공되는 데이터의 양이 많은 경우, 버스 로드는 증가한다. 버스 로드가 큰 경우, 수신 선입선출 메모리(322)에 저장될 수신 정보가 증가할 수 있다. 이 경우, 새로 수신된 수신 정보가 동일한 속성을 갖는 수신 정보에 겹쳐 쓰여질 수 있다. 이 때, 수신 선입선출 메모리(322)에 저장된 수신 정보는 겹쳐 쓰기에 의하여 삭제된 수신 정보의 출력 순서에서 인터페이스(310)로 출력될 수 있다.The reception first-in-first-
송신 선입선출 메모리(324)는 프로세서(112)의 프로세서 로드에 따라 송신 정보를 이전에 저장된 정보 대신에 저장할 수 있다. 프로세서 로드는 프로세서(112)에서 데이터가 처리되는 양에 의하여 결정된다. 프로세서(112)에서 처리된 데이터의 양이 많은 경우, 프로세서 로드는 증가한다. 프로세서 로드가 큰 경우, 송신 선입선출 메모리(324)에 저장될 송신 정보가 증가할 수 있다. 이 경우, 새로 수신된 송신 정보가 동일한 속성을 갖는 송신 정보에 겹쳐 쓰여질 수 있다. 이 때, 송신 선입선출 메모리(324)에 저장된 송신 정보는 겹쳐 쓰기에 의하여 삭제된 송신 정보의 출력 순서에서 트랜스미터(340)로 출력될 수 있다.The transmission first-in-first-
리시버(330)는 CAN 버스(140)로부터 수신 정보를 수신할 수 있다. 리시버(330)는 수신 정보를 데이터 버퍼부(320)에 제공할 수 있다. 데이터 버퍼부(320)에 제공된 수신 정보는 수신 선입선출 메모리(322)에 저장될 수 있다. 리시버(330)는 에러 감지기(331), 수신 보-레이트 조절기(333), 마스킹 필터 레지스터(334), 및 프로토콜 분석기(335)를 포함한다. 에러 감지기(331)는 카운터(332)를 포함한다.The
에러 감지기(331)는 수신 정보의 에러를 감지한다. 예를 들어, 에러 감지기(331)는 비트 에러, 스터프(Stuff) 에러, 양식(Form) 에러, CRC(Cyclic redundancy check) 에러, 및 확인(acknowledgement) 비트 에러를 감지할 수 있다. 비트 에러는 하나의 노드로부터 전송된 정보가 CAN 버스에 표현되지 않는 경우에 발생된다. 스터프 에러는 CAN 프로토콜에서 6개의 연속적인 비트 값이 원칙적으로 나타날 수 없음에도 나타난 경우에 발생된다. 양식 에러는 0또는 1로 특정된 비트 값이 다르게 나타난 경우에 발생된다. CRC 에러는 수신 정보의 CRC 영역에 대한 CRC 계산을 통하여 일부 비트가 변경된 것이 확인된 경우에 발생된다. 확인 비트 에러는 리시버(330)가 에러 없이 수신 정보를 수신한 경우 0의 비트 값을 갖는 확인 비트가 다른 값을 가질 때 발생된다. 카운터(332)는 에러 감지기(331)에서 감지된 에러의 개수를 카운팅할 수 있다. 감지된 에러의 개수가 특정 개수 이상인 경우, 에러 감지기(331)는 리시버(330)가 수신 정보를 수신하여 수신 선입선출 메모리(322)에 제공하지 않도록 제어할 수 있다.The
수신 보-레이트 조절기(333)는 수신 정보의 보-레이트를 조절한다. 수신 보-레이트 조절기(333)는 설정된 프로토콜에 따라 수신 정보에 포함된 데이터 영역의 보-레이트를 조절한다. 예를 들어, 수신 보-레이트 조절기(333)는 프로토콜이 CAN 2.0 A 또는 CAN 2.0 B로 설정된 경우, 데이터 영역이 최대 1Mbps로 전송되도록 클럭을 조절할 수 있다. 수신 보-레이트 조절기(333)는 프로토콜이 CAN 2.0 A FD 또는 CAN 2.0 B FD로 설정된 경우, 데이터 영역이 최대 8Mbps로 전송되도록 클럭을 조절할 수 있다. 수신 보-레이트 조절기(333)는 설정된 프로토콜과 무관하게 데이터 영역을 제외한 다른 영역의 보-레이트는 조절하지 않을 수 있다. 예를 들어, 수신 보-레이트 조절기(333)는 후술될 중재 영역, 제어 영역, CRC 영역, 및 확인 영역의 보-레이트를 1Mbps로 유지할 수 있다. 또한, 수신 보-레이트 조절기(333)는 추가적으로 수신 정보의 샘플링 위치를 변경할 수 있다.The receive
마스킹 필터 레지스터(334)는 수신 정보의 식별 데이터에 근거하여 수신 정보를 필터링할 수 있다. 식별 데이터는 수신 정보의 데이터 프레임에 포함된 중재 영역에 제공될 수 있다. 마스킹 필터 레지스터(334)는 리시버(330)가 수신하여 수신 선입선출 메모리(322)에 제공할 수신 정보의 식별 데이터를 설정할 수 있다. 예를 들어, 수신 정보의 식별 데이터가 설정된 식별 데이터의 값과 일치하는 경우, 리시버(330)는 수신 정보를 수신 선입선출 메모리(322)에 제공할 수 있다. 수신 정보의 식별 데이터가 설정된 식별 데이터의 값과 다른 경우, 리시버(330)는 수신 정보를 수신 선입선출 메모리(322)에 제공하지 않을 수 있다. 반대로, 마스킹 필터 레지스터(334)는 수신 선입선출 메모리(322)에 제공하지 않을 수신 정보의 식별 데이터를 설정할 수 있다.The masking
프로토콜 분석기(335)는 CAN 버스(140)와 연결되어 수신 정보를 수신한다. 프로토콜 분석기(335)는 설정된 프로토콜에 따라 수신 정보를 분석한다. 프로토콜 분석기(335)는 설정된 프로토콜에 의한 데이터 프레임의 구조에 따라 순차적으로 수신 정보의 데이터 프레임을 분석할 수 있다. CAN 2.0 A, CAN 2.0 B, CAN 2.0 A FD, 및 CAN 2.0 B FD 프로토콜들 각각의 데이터 프레임에 포함된 비트들의 구조는 서로 다르다. 따라서, 설정된 프로토콜에 따라 수신 정보의 분석을 위한 상태 천이는 서로 다를 수 있다. 이러한 상태 천이의 구체적인 예는 후술된다.The
프로토콜 분석기(335)에서 분석된 수신 정보에 기초하여, 에러 감지기(331)는 에러 감지에 요구되는 비트의 위치를 인지할 수 있고, 에러를 감지할 수 있다. 분석된 수신 정보에 기초하여, 수신 보-레이트 조절기(333)는 데이터 영역의 위치를 인지할 수 있고, 설정된 프로토콜에 따라 데이터 영역의 보-레이트를 조절할 수 있다. 분석된 수신 정보에 기초하여, 마스킹 필터 레지스터(334)는 중재 영역 및 식별 데이터의 위치를 인지할 수 있고, 수신 정보의 제공여부를 결정할 수 있다.Based on the received information analyzed by the
프로토콜 분석기(335)는 수신 정보의 데이터 프레임의 스터프 비트를 제거할 수 있다. 상술하였듯이, CAN 프로토콜에서 6개의 연속적인 비트 값이 나타날 수 없다. 이를 위하여, 리시버(330)에 제공되는 수신 정보는 5개의 연속적인 비트 값이 나타나는 경우, 6번째 비트에 연속적인 비트 값과 반대되는 비트 값을 갖는 스터프 비트가 추가된다. 프로토콜 분석기(335)는 이러한 스터프 비트를 제거할 수 있다. 또한, 프로토콜 분석기(335)는 에러 없이 수신 정보가 수신되는 경우, 확인 비트가 0에서 1의 값을 갖도록 수신 정보를 조절할 수 있다.The
트랜스미터(340)는 데이터 버퍼부(320)로부터 송신 정보를 수신할 수 있다. 트랜스미터(340)는 송신 정보를 CAN 버스(140)에 제공할 수 있다. 트랜스미터(340)는 송신 보-레이트 조절기(343) 및 프로토콜 생성기(345)를 포함한다. 송신 보-레이트 조절기(343)는 리시버(330)에 포함된 수신 보-레이트 조절기(333)와 유사하게, 송신 정보에 포함된 데이터 영역의 보-레이트를 조절한다. 즉, 송신 보-레이트 조절기(343)는 프로토콜이 CAN 2.0 A 또는 CAN 2.0 B로 설정된 경우, 데이터 영역이 최대 1Mbps로 전송되도록 클럭을 조절할 수 있다. 송신 보-레이트 조절기(343)는 프로토콜이 CAN 2.0 A FD 또는 CAN 2.0 B FD로 설정된 경우, 데이터 영역이 최대 8Mbps로 전송되도록 클럭을 조절할 수 있다.The
프로토콜 생성기(345)는 CAN 버스(140)와 연결되어 송신 정보를 송신한다. 프로토콜 생성기(345)는 프로토콜을 설정한다. 프로토콜 생성기(345)는 CAN 2.0 A, CAN 2.0 B, CAN 2.0 A FD, 및 CAN 2.0 B FD 프로토콜을 통합 지원할 수 있다. 프로토콜 생성기(345)는 해당 차량 시스템에 대한 프로토콜의 유형에 맞도록 프로토콜을 선택할 수 있다. 예를 들어, 해당 CAN 컨트롤러를 포함하는 시스템이 CAN 2.0 A 프로토콜을 지원하는 경우, 프로토콜 생성기(345)는 CAN 2.0 A에 대응되는 데이터 프레임을 갖도록 프로토콜을 설정할 수 있다. The
프로토콜 생성기(345)는 설정된 프로토콜에 따라 송신 정보의 비트들 각각을 결정할 수 있다. 이러한 송신 정보의 비트들을 결정하기 위하여, 프로토콜 생성기(345)는 CAN 2.0 A, CAN 2.0 B, CAN 2.0 A FD, 및 CAN 2.0 B FD 프로토콜에 포함된 데이터 프레임의 모든 비트 상태들을 판단할 수 있다. 프로토콜 생성기(345)는 모든 비트 상태들 중 설정된 프로토콜에 따라 타겟 비트 상태들을 선택할 수 있다. 프로토콜 생성기(345)는 선택된 타겟 비트 상태들을 순차적으로 천이시켜 송신 정보의 데이터 프레임을 결정할 수 있다. 이러한 데이터 프레임의 상태 천이는 표 1과 같다.The
Mediation area
Control area
CRC area
Confirmation area
표 1을 참조하면, 데이터 프레임은 시작 프레임(Start of frame), 중재 영역(Arbitration Field), 제어 영역(Control Field), 데이터 영역(Data Field), CRC 영역(CRC Field), 확인 영역(Acknowledge Field), 및 종료 프레임(End of frame)으로 구분된다. 중재 영역은 제1 식별 데이터(ID1), SRR(Substitute Remote Request) 비트, IDE(Identifier extension) 비트, 제2 식별 데이터(ID2), RTR(Remote Transmission Request) 비트, 및 중재 영역 예비 비트(R1) 중 적어도 하나를 포함할 수 있다. 제어 영역은 IDE 비트, 제1 제어 영역 예비 비트(R1), EDL(Extended Data Length) 비트, 제2 제어 영역 예비 비트(R0), BRS(Bit Rate Switch) 비트, ESI(Error state indicator) 비트, 및 DLC(Data length code) 비트 중 적어도 하나를 포함할 수 있다. CRC 영역은 SC 비트, CRC 비트, 및 CRC 구획(Delimiter) 비트(CRC_D) 중 적어도 하나를 포함할 수 있다. 확인 영역은 확인 비트(ACK) 및 확인 구획 비트(ACK_D)를 포함할 수 있다.Referring to Table 1, a data frame includes a start of frame, an arbitration field, a control field, a data field, a CRC field, an Acknowledge Field ), And end frame (End of frame). The arbitration area includes a first identification data ID1, a Substitute Remote Request (SRR) bit, an IDE (Identifier extension) bit, a second identification data ID2, a Remote Transmission Request (RTR) Or the like. The control area includes an IDE bit, a first control area spare bit R1, an extended data length (EDL) bit, a second control area spare bit R0, a bit rate switch (BRS) bit, an error state indicator (ESI) And a data length code (DLC) bit. The CRC region may include at least one of an SC bit, a CRC bit, and a CRC Delimiter bit (CRC_D). The acknowledgment area may comprise acknowledgment bits (ACK) and acknowledgment bits (ACK_D).
CAN 2.0 A, CAN 2.0 B, CAN 2.0 A FD, 및 CAN 2.0 B FD 프로토콜들 각각의 데이터 프레임은 'O'로 표시된 비트 상태에 대응되는 비트를 포함하고, 'X'로 표시된 비트 상태에 대응되는 비트를 포함하지 않는다. 프로토콜 생성기(245)는 설정된 프로토콜에서 'O'로 표시된 비트 상태인 타겟 비트 상태들을 순차적으로 천이시켜 송신 정보의 데이터 프레임을 결정한다. 예를 들어, CAN 2.0 A 프로토콜이 설정된 경우, 프로토콜 생성기(245)는 시작 프레임(SOF), 제1 식별 데이터(ID1), RTR 비트, IDE 비트, 제2 제어 영역 예비 비트(R0), DLC 비트 등으로 순차적으로 상태 천이시켜 데이터 프레임을 결정한다. 이 때, 프로토콜 생성기(245)는 제1 식별 데이터(ID1)를 선택한 후 SRR 비트, 중재 영역의 IDE 비트, 및 제2 식별 데이터를 건너뛰고 RTR 비트로 상태 천이시켜 데이터 프레임을 결정할 수 있다. 각각의 비트 상태에 대응되는 비트들에 대한 설명은 후술된다.The data frame of each of the CAN 2.0 A, CAN 2.0 B, CAN 2.0 A FD, and CAN 2.0 B FD protocols includes bits corresponding to the bit states marked 'O', and corresponding to bit states marked 'X' It does not contain any bits. The protocol generator 245 sequentially shifts the target bit states, which are the bit states indicated by 'O' in the set protocol, to determine the data frame of the transmission information. For example, when the CAN 2.0 A protocol is set, the protocol generator 245 generates a start frame (SOF), a first identification data ID1, a RTR bit, an IDE bit, a second control area spare bit R0, And the like to sequentially determine a data frame. At this time, the protocol generator 245 may determine the data frame by selecting the first identification data ID1, then skipping the SRR bit, the IDE bit of the arbitration area, and the second identification data and transiting to the RTR bit. A description of the bits corresponding to each bit state will be described later.
프로토콜 생성기(345)는 표 1의 상태 천이를 구현하기 위하여 ASIC(Application Specific Integrated Circuit)와 같은 전용 회로를 이용할 수 있다. 예를 들어, 각각의 비트 상태들을 판단하는 복수의 판단 회로들이 직렬로 연결될 수 있고, 설정된 프로토콜에 따라 'O'로 표시된 비트 상태에 대응되는 판단 회로는 경유되고, 'X'로 표시된 비트 상태에 대응되는 판단 회로는 우회되도록 구현될 수 있다. 또한, 프로토콜 생성기(345)는 소프트 웨어 또는 펌 웨어로 구현되어, 'O'로 표시된 타겟 비트 상태들을 순차적으로 천이시켜 데이터 프레임을 결정 및 분석하도록 프로그램될 수 있다. 프로토콜 분석기(335)도 마찬가지로, 전용 회로, 소프트 웨어 또는 펌 웨어로 구현되어 데이터 프레임을 분석할 수 있다.The
프로토콜 생성기(345)가 송신 정보를 CAN 버스(140)에 송신할 때, 다른 트랜스미터에서 동시에 송신 정보를 CAN 버스(140)에 송신할 수 있다. 이 경우, 프로토콜 생성기(345)는 우선순위가 높은 트랜스미터에서 먼저 송신 정보를 CAN 버스에 송신하도록 중재할 수 있다. 우선순위는 송신 정보의 식별 데이터에 근거하여 결정될 수 있다. 프로토콜 생성기(345)는 추가적으로 스터프 비트를 추가할 수 있다. CAN 프로토콜에서 프로토콜 생성기(345)는 5개의 연속적인 비트 값이 나타나는 경우, 6번째 비트에 연속적인 비트 값과 반대되는 비트 값을 갖는 스터프 비트를 추가할 수 있다.When the
CAN 프로토콜에 의한 수신 정보 또는 송신 정보는 상술된 데이터 프레임뿐만 아니라 리모트 프레임, 에러 프레임, 및 오버로드 프레임을 포함할 수 있다. 리모트 프레임은 리시버(330)가 다른 노드의 트랜스미터에 정보의 전송을 요청하기 위하여 사용될 수 있다. 에러 프레임은 수신된 정보에서 에러가 감지될 때, 다른 노드들에 감지된 에러를 알리기 위하여 사용될 수 있다. 오버로드 프레임은 리시버(330)가 정보를 수신하기 위한 준비가 완료되지 않은 경우에 사용될 수 있다. CAN 2.0 A, CAN 2.0 B, CAN 2.0 A FD, 및 CAN 2.0 B FD 프로토콜들 각각의 데이터 프레임은 서로 다른 비트 구조를 가질 수 있으나, 리모트 프레임, 에러 프레임, 및 오버로드 프레임은 서로 동일한 비트 구조를 갖는다. 따라서, 프로토콜 생성기(345)는 데이터 프레임에 한하여 타겟 비트 상태들을 선택하여 데이터 프레임을 결정할 수 있다.The reception information or transmission information by the CAN protocol may include a remote frame, an error frame, and an overload frame as well as the above-described data frame. The remote frame may be used by the
도 4는 CAN 2.0 A 프로토콜에 대한 데이터 프레임의 구조를 나타내는 도면이다. 도 4를 참조하면, CAN 2.0 A 프로토콜에 대한 데이터 프레임은 시작 프레임(Start), 중재 영역, 제어 영역, 데이터 영역, CRC 영역, 확인 영역, 및 종료 프레임(End)로 구분된다. 데이터 프레임은 52 비트 이상 108 비트 이하의 길이를 가질 수 있다.4 is a diagram showing the structure of a data frame for the CAN 2.0 A protocol. Referring to FIG. 4, a data frame for the CAN 2.0 A protocol is divided into a start frame, an arbitration area, a control area, a data area, a CRC area, a confirmation area, and an end frame (End). The data frame may have a length of 52 bits or more and 108 bits or less.
중재 영역은 11 비트의 식별 데이터(ID)와 1 비트의 RTR 비트를 포함할 수 있다. 식별 데이터(ID)는 데이터 프레임의 속성을 나타낼 수 있다. 식별 데이터(ID)에 근거하여 데이터 프레임의 우선순위가 결정될 수 있다. RTR 비트는 데이터 프레임과 리모트 프레임을 결정하는데 사용되며, 데이터 프레임에서 0의 비트 값을 가질 수 있다.The arbitration area may include 11-bit identification data (ID) and 1-bit RTR bit. The identification data (ID) may indicate the attribute of the data frame. The priority of the data frame can be determined based on the identification data (ID). The RTR bit is used to determine the data frame and the remote frame, and may have a bit value of 0 in the data frame.
제어 영역은 1 비트의 IDE 비트, 1 비트의 예비 비트(Reserved Bit), 및 4 비트의 DLC 비트를 포함할 수 있다. IDE 비트는 11 비트의 식별 데이터(ID)를 갖는 CAN 2.0 A 프로토콜임을 나타내기 위하여 사용될 수 있으며, 0의 비트 값을 가질 수 있다. DLC 비트는 데이터 영역의 길이를 나타내기 위하여 사용될 수 있다. CAN 2.0 A 프로토콜에서 데이터 영역은 8 비트 이상 64 비트 이하의 길이를 가질 수 있다. 또한, 상술하였듯이, CAN 2.0 A 프로토콜에서 데이터 영역은 최대 1Mbps로 전송될 수 있다.The control area may include a 1-bit IDE bit, a 1-bit reserved bit, and a 4-bit DLC bit. The IDE bit can be used to indicate that it is a CAN 2.0 A protocol with 11 bits of identification data (ID) and can have a bit value of zero. The DLC bit can be used to indicate the length of the data area. In the CAN 2.0 A protocol, the data area can have a length of 8 bits or more and 64 bits or less. Further, as described above, in the CAN 2.0 A protocol, the data area can be transmitted at a maximum of 1 Mbps.
CRC 영역은 15 비트의 CRC 비트와 1 비트의 CRC 구획 비트를 포함할 수 있다. CRC 비트는 순환 중복 검사(Cyclic redundancy check)를 통하여 에러를 감지하기 위하여 사용될 수 있다. CRC 구획 비트는 CRC 영역과 확인 영역을 구분하기 위하여 제공될 수 있으며, 1의 비트 값을 가질 수 있다. 확인 영역은 1 비트의 확인 비트와 1 비트의 확인 구획 비트를 포함할 수 있다. 확인 비트는 송신 정보에서 1의 비트 값을 갖도록 설정되어, CAN 버스(140)로 제공될 수 있다. 확인 비트는 수신 정보가 에러 없이 수신되는 경우 0의 비트 값을 갖도록 설정될 수 있다. 확인 구획 비트는 확인 영역와 종료 프레임을 구분하기 위하여 제공될 수 있으며, 1의 비트 값을 가질 수 있다.The CRC area may include a 15-bit CRC bit and a 1-bit CRC partition bit. The CRC bits can be used to detect errors through a cyclic redundancy check. The CRC partition bit may be provided to distinguish the CRC region from the acknowledgment region and may have a bit value of one. The acknowledgment region may comprise a 1-bit acknowledgment bit and a 1-bit acknowledgment segment bit. The confirmation bit may be set to have a bit value of 1 in the transmission information and be provided to the
도 5는 CAN 2.0 B 프로토콜에 대한 데이터 프레임의 구조를 나타내는 도면이다. 도 5를 참조하면, CAN 2.0 B 프로토콜에 대한 데이터 프레임은 시작 프레임(Start), 중재 영역, 제어 영역, 데이터 영역, CRC 영역, 확인 영역, 및 종료 프레임(End)으로 구분된다. 데이터 프레임은 72 비트 이상 128 비트 이하의 길이를 가질 수 있다.5 is a diagram showing the structure of a data frame for the CAN 2.0 B protocol. Referring to FIG. 5, a data frame for the CAN 2.0 B protocol is divided into a start frame, an arbitration region, a control region, a data region, a CRC region, a confirmation region, and an end frame (End). The data frame may have a length of 72 bits or more and 128 bits or less.
중재 영역은 11 비트의 제1 식별 데이터(ID1), 1 비트의 SRR 비트, 1 비트의 IDE 비트, 18 비트의 제2 식별 데이터(ID2), 및 1 비트의 RTR 비트를 포함할 수 있다. 제1 식별 데이터(ID1) 및 RTR 비트는 도 3의 식별 데이터(ID) 및 RTR 비트와 동일한 기능을 수행한다. SRR 비트는 및 IDE 비트는 CAN 2.0 A 프로토콜과의 구별을 위하여 제공될 수 있으며, 1의 비트 값을 가질 수 있다. 도 2의 프로토콜 생성기(345) 또는 프로토콜 분석기(335)는 SRR 비트 및 IDE 비트를 분석하여 제2 식별 데이터(ID2)의 존재를 인식할 수 있다. CAN 2.0 B 프로토콜은 제2 식별 데이터(ID2)가 제공되므로 데이터 프레임의 더욱 다양한 속성들 및 우선순위들을 나타낼 수 있다.The arbitration area may include 11-bit first identification data (ID1), 1-bit SRR bit, 1-bit IDE bit, 18-bit second identification data (ID2), and 1-bit RTR bit. The first identification data ID1 and the RTR bit perform the same function as the identification data (ID) and the RTR bit in Fig. The SRR bit and the IDE bit can be provided for distinction from the CAN 2.0 A protocol and can have a bit value of one. The
제어 영역은 2 비트의 예비 비트(Reserved Bit), 및 4 비트의 DCL 비트를 포함할 수 있다. DLC 비트는 데이터 영역의 길이를 나타내기 위하여 사용될 수 있다. CAN 2.0 B 프로토콜에서 데이터 영역은 8 비트 이상 64 비트 이하의 길이를 가질 수 있다. 또한, 상술하였듯이, CAN 2.0 B 프로토콜에서 데이터 영역은 최대 1Mbps로 전송될 수 있다. CRC 영역은 도 4의 CAN 2.0 A 프로토콜과 같이 15 비트의 CRC 비트와 1 비트의 CRC 구획 비트를 포함할 수 있다. 확인 영역은 도 4의 CAN 2.0 A 프로토콜과 같이 1 비트의 확인 비트와 1 비트의 확인 구획 비트를 포함할 수 있다.The control area may include a 2-bit reserved bit and a 4-bit DCL bit. The DLC bit can be used to indicate the length of the data area. In the CAN 2.0 B protocol, the data area can have a length of 8 bits or more and 64 bits or less. Also, as described above, in the CAN 2.0 B protocol, the data area can be transmitted at a maximum of 1 Mbps. The CRC region may include a 15-bit CRC bit and a 1-bit CRC segment bit, such as the CAN 2.0 A protocol of FIG. The acknowledgment region may comprise a 1-bit acknowledgment bit and a 1-bit acknowledgment segment bit, such as the CAN 2.0 A protocol of FIG.
도 6은 CAN 2.0 A FD 프로토콜에 대한 데이터 프레임의 구조를 나타내는 도면이다. 도 6을 참조하면, CAN 2.0 A FD 프로토콜에 대한 데이터 프레임은 시작 프레임(Start), 중재 영역, 제어 영역, 데이터 영역, CRC 영역, 확인 영역, 및 종료 프레임(End)으로 구분된다. 중재 영역은 도 4의 CAN 2.0 A 프로토콜과 같이, 11 비트의 식별 데이터(ID)와 와 1 비트의 RTR 비트를 포함할 수 있다.6 is a diagram showing the structure of a data frame for the CAN 2.0 A FD protocol. Referring to FIG. 6, a data frame for the CAN 2.0 A FD protocol is divided into a start frame, an arbitration area, a control area, a data area, a CRC area, a confirmation area, and an end frame (End). The arbitration area may include 11-bit identification data (ID) and 1-bit RTR bit, as in the CAN 2.0 A protocol of FIG.
제어 영역은 1 비트의 IDE 비트, 1 비트의 EDL 비트, 1 비트의 예비 비트(Reserved bit), 1 비트의 BRS 비트, 1 비트의 ESI 비트, 및 4 비트의 DLC 비트를 포함할 수 있다. IDE 비트는 11 비트의 식별 데이터(ID)를 갖는 CAN 2.0 A 계열의 프로토콜임을 나타내기 위하여 사용될 수 있으며, 0의 비트 값을 가질 수 있다. EDL 비트는 확장된 데이터 영역의 길이를 갖는 FD 프로토콜임을 나타내기 위하여 사용될 수 있으며, 데이터 영역이 8byte 이상의 길이를 갖는 경우 1의 비트 값을 가질 수 있다. BRS 비트는 데이터 영역의 전송시 빠른 보-레이트로 전환하기 위하여 사용될 수 있으며, 1의 비트 값을 가질 수 있다. ESI 비트는 CAN 2.0 A FD 프로토콜에서의 정보 전송시의 에러를 식별하는데 사용될 수 있다. DLC 영역은 데이터 영역의 길이를 바이트 단위로 나타내기 위하여 사용될 수 있다. CAN 2.0 A FD 프로토콜에서 데이터 영역은 8 바이트 이상 64 바이트 이하의 길이를 가질 수 있다. 상술하였듯이, CAN 2.0 A FD 프로토콜에서 데이터 영역은 최대 8Mbps로 전송될 수 있다.The control area may include a 1-bit IDE bit, a 1-bit EDL bit, a 1-bit reserved bit, a 1-bit BRS bit, a 1-bit ESI bit, and 4-bit DLC bits. The IDE bit can be used to indicate that it is a CAN 2.0 A series protocol with 11 bits of identification data (ID), and can have a bit value of 0. The EDL bit may be used to indicate that it is an FD protocol having a length of an extended data area, and may have a bit value of 1 when the data area has a length of 8 bytes or more. The BRS bit can be used to switch to a fast baud rate during transmission of the data area and can have a bit value of one. The ESI bit can be used to identify errors in the transmission of information in the CAN 2.0 A FD protocol. The DLC area can be used to indicate the length of the data area in bytes. In the CAN 2.0 A FD protocol, the data area can have a length of 8 bytes or more and 64 bytes or less. As described above, in the CAN 2.0 A FD protocol, the data area can be transmitted at a maximum of 8 Mbps.
CRC 영역은 17 또는 21 비트의 CRC 비트와 1 비트의 CRC 구획 비트를 포함할 수 있다. CAN 2.0 A 프로토콜과 비교하여 늘어난 데이터 영역의 길이에 따라, 순환 중복 검사(CRC) 계산을 위한 CRC 비트의 길이도 늘어난다. CRC 구획 비트는 CRC 영역과 확인 영역을 구분하기 위하여 제공될 수 있으며, 1의 비트 값을 가질 수 있다. 도시되지 않았으나, CRC 영역은 순환 중복 검사(CRC) 계산시 스터프 비트를 반영하기 위한 스터프 카운트(Stuff Count, SC) 비트를 더 포함할 수 있다. 확인 영역은 도 3의 CAN 2.0 A 프로토콜과 같이 1 비트의 확인 비트와 1 비트의 확인 구획 비트를 포함할 수 있다.The CRC region may contain 17 or 21 bits of CRC bits and 1 bit of CRC partition bits. Depending on the length of the increased data area compared to the CAN 2.0 A protocol, the length of the CRC bits for cyclic redundancy check (CRC) calculation is also increased. The CRC partition bit may be provided to distinguish the CRC region from the acknowledgment region and may have a bit value of one. Although not shown, the CRC region may further include a Stuff Count (SC) bit for reflecting the stuff bits in the cyclic redundancy check (CRC) calculation. The acknowledgment region may comprise a 1-bit acknowledgment bit and a 1-bit acknowledgment segment bit, such as the CAN 2.0 A protocol of FIG.
도 7은 CAN 2.0 B FD 프로토콜에 대한 데이터 프레임의 구조를 나타내는 도면이다. 도 7을 참조하면, CAN 2.0 B FD 프로토콜에 대한 데이터 프레임은 시작 프레임(Start), 중재 영역, 제어 영역, 데이터 영역, CRC 영역, 확인 영역, 및 종료 프레임(End)으로 구분된다. 중재 영역은 도 4의 CAN 2.0 B 프로토콜과 같이, 11 비트의 제1 식별 데이터(ID1), 1 비트의 SRR 비트, 1 비트의 IDE 비트, 18 비트의 제2 식별 데이터(ID2), 및 1 비트의 RTR 비트를 포함할 수 있다.7 is a diagram showing the structure of a data frame for the CAN 2.0 B FD protocol. Referring to FIG. 7, a data frame for the CAN 2.0 B FD protocol is divided into a start frame, an arbitration region, a control region, a data region, a CRC region, a confirmation region, and an end frame (End). The intervening area is composed of 11-bit first identification data (ID1), 1-bit SRR bit, 1-bit IDE bit, 18-bit second identification data (ID2) Lt; RTI ID = 0.0 > RTR < / RTI >
제어 영역은 1 비트의 EDL 비트, 1 비트의 예비 비트(Reserved bit), 1 비트의 BRS 비트, 1 비트의 ESI 비트, 및 4 비트의 DLC 비트를 포함할 수 있다. EDL 비트, 예비 비트, BRS 비트, ESI 비트, 및 DLC 비트의 기능은 도 6의 CAN 2.0 A FD 프로토콜에서의 EDL 비트, 예비 비트, BRS 비트, ESI 비트, 및 DLC 비트와 동일하다. CAN 2.0 B FD 프로토콜에서 데이터 영역은 8 바이트 이상 64 바이트 이하의 길이를 가질 수 있다. 상술하였듯이, CAN 2.0 B FD 프로토콜에서 데이터 영역은 최대 8Mbps로 전송될 수 있다. CRC 영역은 도 6의 CAN 2.0 A FD 프로토콜과 같이 17 또는 21 비트의 CRC 비트와 1 비트의 CRC 구획 비트를 포함할 수 있다. 확인 영역은 도 4 내지 도 6의 프로토콜과 같이 1 비트의 확인 비트와 1 비트의 확인 구획 비트를 포함할 수 있다.The control area may include a 1-bit EDL bit, a 1-bit reserved bit, a 1-bit BRS bit, a 1-bit ESI bit, and 4-bit DLC bits. The functions of the EDL bit, spare bit, BRS bit, ESI bit, and DLC bit are the same as the EDL bit, spare bit, BRS bit, ESI bit, and DLC bit in the CAN 2.0 A FD protocol of FIG. In the CAN 2.0 B FD protocol, the data area may have a length of 8 bytes or more and 64 bytes or less. As described above, in the CAN 2.0 B FD protocol, the data area can be transmitted at a maximum of 8 Mbps. The CRC region may include 17 or 21 bits of CRC bits and 1 bit of CRC partition bits as in the CAN 2.0 A FD protocol of FIG. The confirmation area may include a 1-bit acknowledgment bit and a 1-bit acknowledgment bit, as in the protocols of FIGS. 4-6.
도 4 내지 도 7을 종합하면, CAN 2.0 A, CAN 2.0 B, CAN 2.0 A FD, 및 CAN 2.0 B FD 프로토콜들 각각은 서로 다른 데이터 프레임의 구조를 가질 수 있다. 각각의 프로토콜에서 선택되는 비트 상태들은 서로 다를 수 있다. 다만, 표 1에서 도시되었듯이, CAN 2.0 A, CAN 2.0 B, CAN 2.0 A FD, 및 CAN 2.0 B FD 프로토콜들에서 선택되는 타겟 비트 상태들은 총 21개의 비트 상태들 중에 존재한다. 4 through 7, each of the CAN 2.0 A, CAN 2.0 B, CAN 2.0 A FD, and CAN 2.0 B FD protocols can have a structure of different data frames. The bit states selected in each protocol may be different. However, as shown in Table 1, the target bit states selected in the CAN 2.0 A, CAN 2.0 B, CAN 2.0 A FD, and CAN 2.0 B FD protocols exist in a total of 21 bit states.
도 2의 프로토콜 생성기(345)는 CAN 2.0 A, CAN 2.0 B, CAN 2.0 A FD, 및 CAN 2.0 B FD 프로토콜들 중에서 하나를 설정할 수 있다. 이 경우, 프로토콜 생성기(345) 및 프로토콜 분석기(335)는 해당 프로토콜에서 선택되는 타겟 비트 상태들을 순차적으로 천이시켜 데이터 프레임을 결정 및 분석할 수 있다. 따라서, 본 발명의 CAN 컨트롤러는 CAN 2.0 A, CAN 2.0 B, CAN 2.0 A FD, 및 CAN 2.0 B FD 프로토콜들을 통합 지원할 수 있다. 즉, 서로 다른 프로토콜들을 지원하기 위하여 다른 CAN 컨트롤러의 이용이 요구되지 않고, CAN 컨트롤러 내부에 지원되는 프로토콜들의 수만큼의 모듈이 요구되지 않는다.The
도 8은 도 2 또는 도 3의 데이터 버퍼부를 구체화한 블록도이다. 도 8을 참조하면, 데이터 버퍼부(400)는 식별 데이터 스캐너(410), 버스 로드 감지기(420), 프로세서 로드 감지기(430), 및 선입선출 메모리(440)를 포함한다. 선입선출 메모리(440)는 복수의 메모리 블록(441~44n)을 포함한다. 선입선출 메모리(440)는 도 3의 수신 선입선출 메모리(322)로 볼 수 있다. 또는, 선입선출 메모리(440)는 도 3의 송신 선입선출 메모리(324)로 볼 수 있다. 설명의 편이상, 도 3의 도면 부호를 참조하여, 도 8의 구성들이 설명된다. 또한, CAN 버스는 도 1의 CAN 버스(140)의 도면 부호를 참조하여 설명되고, 후술되는 프로세서는 도 1의 제1 프로세서(112)의 도면 부호를 참조하여 설명된다. FIG. 8 is a block diagram embodying the data buffer unit of FIG. 2 or FIG. 3. FIG. Referring to FIG. 8, the
데이터 버퍼부(400)는 인터페이스(310)로부터 송신 정보(Td)를 수신하거나, 리시버(330)로부터 수신 정보(Rd)를 수신할 수 있다. 즉, 식별 데이터 스캐너(410), 버스 로드 감지기(420), 프로세서 로드 감지기(430), 및 선입선출 메모리(440)는 하나의 구성으로 도시되었으나, 실제 데이터 버퍼부(400)는 송신 정보(Td)를 처리하는 구성과 수신 정보(Rd)를 처리하는 구성으로 분리될 수 있다. 즉, 식별 데이터 스캐너(410), 버스 로드 감지기(420), 프로세서 로드 감지기(430), 및 선입선출 메모리(440)는 각각 두 개로 구성될 수 있다. 또는, 선입선출 메모리(440)만 두 개로 구성되고, 식별 데이터 스캐너(410), 버스 로드 감지기(420), 및 프로세서 로드 감지기(430)는 하나로 구성되어 송신 정보 및 수신 정보 모두를 처리할 수 있다.The
식별 데이터 스캐너(410)는 송신 정보(Td) 또는 수신 정보(Rd)를 수신한다. 식별 데이터 스캐너(410)는 송신 정보(Td) 또는 수신 정보(Rd)의 식별 데이터를 스캔한다. 상술하였듯이, 식별 데이터는 송신 정보(Td) 또는 수신 정보(Rd)의 데이터 프레임에서의 중재 영역에 존재한다. 식별 데이터 스캐너(410)는 스캔한 식별 데이터와 동일한 식별 데이터를 갖는 정보가 저장된 메모리 블록을 검색할 수 있다. 식별 데이터 스캐너(410)는 수신되는 송신 정보(Td) 또는 수신 정보(Rd)의 출력 지연이 예상되는 경우, 검색된 메모리 블록에 송신 정보(Td) 또는 수신 정보(Rd)를 겹쳐 쓸 수 있다.The
식별 데이터 스캐너(410)는 프로세서 로드에 기초하여 송신 정보(Td)를 메모리 블록에 겹쳐 쓸 수 있다. 식별 데이터 스캐너(410)는 프로세서 로드가 기준 로드보다 큰 경우, 송신 정보(Td)를 메모리 블록에 겹쳐 쓸 수 있다. 기준 로드는 기설정된 값일 수 있다. 이 경우, 기준 로드의 값은 변하지 않을 수 있고, 기준 로드의 값은 시스템의 안정성 및 신속성을 고려하여 결정될 수 있다. 또는, 기준 로드는 프로세서 로드일 수 있다. 프로세서 로드가 버스 로드보다 큰 경우, CAN 버스로의 송신 정보(Td)의 전송이 지연될 수 있다. 따라서, 식별 데이터 스캐너(410)는 신속한 송신 정보(Td)의 전송을 위하여 메모리 블록에 송신 정보(Td)를 겹쳐 쓸 수 있다.The
식별 데이터 스캐너(410)는 버스 로드에 기초하여 수신 정보(Rd)를 메모리 블록에 겹쳐 쓸 수 있다. 식별 데이터 스캐너(410)는 버스 로드가 기준 로드보다 큰 경우, 수신 정보(Rd)를 메모리 블록에 겹쳐 쓸 수 있다. 기준 로드는 기설정된 값일 수 있다. 이 경우, 기준 로드의 값은 변하지 않을 수 있고, 기준 로드의 값은 차량 시스템의 안정성 및 신속성을 고려하여 결정될 수 있다. 또는, 기준 로드는 프로세서 로드일 수 있다. 버스 로드가 프로세서 로드보다 큰 경우, 프로세서로의 수신 정보(Rd)의 전송이 지연될 수 있다. 따라서, 식별 데이터 스캐너(410)는 신속한 수신 정보(Rd)의 전송을 위하여 메모리 블록에 수신 정보(Rd)를 겹쳐 쓸 수 있다.The
버스 로드 감지기(420)는 CAN 버스(140)의 버스 로드를 감지한다. 버스 로드 감지기(420)는 CAN 버스(140)에 제공된 데이터의 양을 감지할 수 있다. 버스 로드 감지기(420)는 감지된 버스 로드에 근거하여 버스 로드 정보를 생성할 수 있다. 버스 로드 감지기(420)는 버스 로드 정보를 식별 데이터 스캐너(410)에 제공할 수 있다. 식별 데이터 스캐너(410)는 버스 로드 정보에 근거하여, 수신 정보(Rd) 또는 송신 정보(Td)의 겹쳐 쓰기 여부를 결정할 수 있다.The
프로세서 로드 감지기(430)는 프로세서 로드를 감지한다. 프로세서 로드 감지기(430)는 프로세서(112)에서 처리되는 데이터의 양을 감지할 수 있다. 프로세서 로드 감지기(430)는 감지된 프로세서 로드에 근거하여 프로세서 로드 정보를 생성할 수 있다. 프로세서 로드 감지기(430)는 프로세서 로드 정보를 식별 데이터 스캐너(410)에 제공할 수 있다. 식별 데이터 스캐너(410)는 프로세서 로드 정보에 근거하여, 송신 정보(Td) 또는 수신 정보(Rd)의 겹쳐 쓰기 여부를 결정할 수 있다.The
선입선출 메모리(440)는 시간의 흐름에 따라 제공되는 송신 정보(Td) 또는 수신 정보(Rd)를 수신된 순서대로 저장할 수 있다. 또한, 선입선출 메모리(440)는 저장된 순서대로 송신 정보(Td) 또는 수신 정보(Rd)를 출력할 수 있다. 예를 들어, 제1 메모리 블록(441)에 가장 먼저 제공된 제1 송신 정보(T1d)가 저장될 수 있고, 그 다음에 제공된 제2 송신 정보(T2d)가 제2 메모리 블록(442)에 저장될 수 있다. 이 후, 순차적으로 송신 정보는 제n 선입선출 메모리(44n)에 저장될 수 있다. 이 경우, 원칙적으로, 제1 송신 정보(T1d)와 제2 송신 정보(T2d), 그리고 제n 송신 정보(Tnd)까지는 순차적으로 트랜스미터(340)에 출력될 수 있다.The first-in first-
제3 메모리 블록(443)에는 제2 송신 정보(T2d) 다음에 제공된 제3 송신 정보가 저장될 수 있다. 다만, 식별 데이터 스캐너(410)는 프로세서 로드가 기준 로드(버스 로드)보다 크다고 판단하여 선입선출 메모리(440)에 송신 정보(Td)를 겹쳐 쓸 수 있다. 이 때, 제3 송신 정보와 송신 정보(Td)의 식별 데이터는 동일할 수 있다. 식별 데이터는 송신 정보의 속성을 나타낸다. 차량 시스템에서 동일한 속성을 갖는 정보 중 최신의 정보가 가장 중요할 것이므로, 송신 정보(Td)는 제3 메모리 블록(443)에 저장된다. 즉, 제3 송신 정보는 삭제된다.The
송신 정보(Td')는 제2 송신 정보(T2d)가 출력된 다음에 트랜스미터(340)로 출력된다. 즉, 송신 정보(Td)의 겹쳐 쓰기에 의하여 나중에 입력된 정보가 보다 빠르게 출력될 수 있다. 이 경우, 다음에 수신될 송신 정보들의 출력 순서는 하나씩 당겨질 수 있다. 따라서, 프로세서 로드가 큰 경우에도, 최신의 송신 정보가 CAN 버스로 빠르게 출력될 수 있다. 마찬가지로, 버스 로드가 큰 경우에도, 최신의 수신 정보가 프로세서로 빠르게 출력될 수 있다. 상술된 송신 정보(Td)의 전송 과정은 수신 정보(Rd)가 선입선출 메모리(440)에 겹쳐 쓰여지고, 출력되는 과정에도 동일하게 적용된다.The transmission information Td 'is output to the
도 9는 본 발명의 실시예에 따른 수신 정보의 전송 방법에 대한 순서도이다. 도 9의 단계들은 도 8의 데이터 버퍼부(400)에서 수행될 수 있다. 설명의 편이상, 도 8의 도면 부호를 참조하여, 도 8의 단계들이 설명된다. 9 is a flowchart illustrating a method of transmitting received information according to an embodiment of the present invention. The steps of FIG. 9 may be performed in the
S110 단계에서, 데이터 버퍼부(400)는 버스 로드 및 프로세서 로드를 감지한다. 버스 로드는 버스 로드 감지기(420)에서 감지될 수 있다. 프로세서 로드는 프로세서 로드 감지기(430)에서 감지될 수 있다.In step S110, the
S120 단계에서, 데이터 버퍼부(400)는 감지된 버스 로드와 프로세서 로드를 비교한다. 식별 데이터 스캐너(410)는 버스 로드 감지기(420)로부터 버스 로드 정보를 수신하고, 프로세서 로드 감지기(430)로부터 프로세서 로드 정보를 수신할 수 있다. 식별 데이터 스캐너(410)는 버스 로드 정보와 프로세서 로드 정보를 비교하여 더 큰 값을 갖는 로드 정보를 판단할 수 있다. 버스 로드가 프로세서 로드보다 큰 경우, S130 단계가 진행된다. 버스 로드가 프로세서 로드보다 크지 않은 경우, S150 단계가 진행된다. 이와 달리, 도 8에서 언급한 바와 같이, 식별 데이터 스캐너(410)는 버스 로드와 기설정된 기준 로드를 비교할 수 있다.In step S120, the
S130 단계에서, 데이터 버퍼부(400)는 동일한 식별 데이터를 갖는 수신 정보가 이미 저장되어 있는지 여부를 판단한다. 식별 데이터 스캐너(410)는 수신 정보(Rd)의 데이터 프레임을 분석하여, 식별 데이터를 추출할 수 있다. 식별 데이터 스캐너(410)는 선입선출 메모리(440)의 메모리 블록들 중 수신 정보(Rd)와 동일한 식별 데이터를 갖는 수신 정보를 검색할 수 있다. 수신 정보(Rd)와 동일한 식별 데이터를 갖는 수신 정보가 특정 메모리 블록에 저장되어 있는 경우, S140 단계가 진행된다. 수신 정보(Rd)와 동일한 식별 데이터를 갖는 수신 정보가 선입선출 메모리(440)의 모든 메모리 블록들에 저장되어 있지 않은 경우, S150 단계가 진행된다.In step S130, the
S140 단계에서, 데이터 버퍼부(400)는 동일한 식별 데이터를 갖는 수신 정보가 저장된 메모리 블록에 수신 정보(Rd)를 겹쳐 쓴다. 이에 따라, 이전에 저장된 수신 정보는 삭제되고, 새롭게 제공된 수신 정보(Rd)가 메모리 블록에 저장된다. S150 단계에서, 선입선출 메모리(440)는 수신 정보(Rd)를 저장한다. S150 단계는 버스 로드가 여유 있는 경우이므로, 선입선출 방식으로 충분히 프로세서로 모든 수신 정보들이 전달될 수 있다. 따라서, 수신 정보(Rd)는 비어있는 메모리 블록에 저장된다. S140 단계 또는 S150 단계가 진행된 후에 S160 단계가 진행된다.In step S140, the
S160 단계에서, 데이터 버퍼부(400)는 저장된 수신 정보(Rd)를 인터페이스(310)에 제공한다. 선입선출 메모리(440)는 저장된 정보의 출력 순위에 따라 수신 정보(Rd)를 인터페이스(310)로 출력한다. S140 단계에서, 수신 정보(Rd)가 겹쳐 쓰여진 경우, 수신 정보(Rd)는 삭제된 수신 정보의 출력 순위에 따라 인터페이스(310)로 출력된다. S150 단계에서, 수신 정보(Rd)가 비어있는 메모리 블록에 저장된 경우, 수신 정보(Rd)는 이전에 저장된 수신 정보들 모두 출력된 후에 인터페이스(310)로 출력될 수 있다. 단, 이후에 데이터 버퍼부(400)에 제공된 수신 정보가 이전 순위의 수신 정보에 겹쳐 쓰여진 경우, 이후에 겹쳐 쓰여진 수신 정보는 수신 정보(Rd)보다 먼저 인터페이스(310)로 출력될 수 있다.In step S160, the
도 10은 본 발명의 실시예에 따른 송신 정보의 전송 방법에 대한 순서도이다. 도 10의 단계들은 도 8의 데이터 버퍼부(400)에서 수행될 수 있다. 설명의 편이상, 도 8의 도면 부호를 참조하여, 도 10의 단계들이 설명된다. S210 단계에서, 데이터 버퍼부(400)는 버스 로드 및 프로세서 로드를 감지한다. 버스 로드는 버스 로드 감지기(420)에서 감지될 수 있다. 프로세서 로드는 프로세서 로드 감지기(430)에서 감지될 수 있다.10 is a flowchart illustrating a method of transmitting transmission information according to an embodiment of the present invention. The steps of FIG. 10 may be performed in the
S220 단계에서, 데이터 버퍼부(400)는 감지된 버스 로드와 프로세서 로드를 비교한다. 식별 데이터 스캐너(410)는 버스 로드 감지기(420)로부터 버스 로드 정보를 수신하고, 프로세서 로드 감지기(430)로부터 프로세서 로드 정보를 수신할 수 있다. 식별 데이터 스캐너(410)는 버스 로드 정보와 프로세서 로드 정보를 비교하여 더 큰 값을 갖는 로드 정보를 판단할 수 있다. 버스 로드가 프로세서 로드보다 작은 경우, S230 단계가 진행된다. 버스 로드가 프로세서 로드보다 작지 않은 경우, S250 단계가 진행된다. 이와 달리, 도 8에서 언급한 바와 같이, 식별 데이터 스캐너(410)는 프로세서 로드 정보와 기설정된 기준 로드를 비교할 수 있다.In step S220, the
S230 단계에서, 데이터 버퍼부(400)는 동일한 식별 데이터를 갖는 송신 정보가 이미 저장되어 있는지 여부를 판단한다. 식별 데이터 스캐너(410)는 수신 정보(Td)의 데이터 프레임을 분석하여, 식별 데이터를 추출할 수 있다. 식별 데이터 스캐너(410)는 선입선출 메모리(440)의 메모리 블록들 중 송신 정보(Td)와 동일한 식별 데이터를 갖는 송신 정보를 검색할 수 있다. 송신 정보(Td)와 동일한 식별 데이터를 갖는 송신 정보가 특정 메모리 블록에 저장되어 있는 경우, S240 단계가 진행된다. 송신 정보(Td)와 동일한 식별 데이터를 갖는 송신 정보가 선입선출 메모리(440)의 모든 메모리 블록들에 저장되어 있지 않은 경우, S250 단계가 진행된다.In step S230, the
S240 단계에서, 데이터 버퍼부(400)는 동일한 식별 데이터를 갖는 송신 정보가 저장된 메모리 블록에 송신 정보(Td)를 겹쳐 쓴다. 이에 따라, 이전에 저장된 송신 정보는 삭제되고, 새롭게 제공된 송신 정보(Td)가 메모리 블록에 저장된다. S250 단계에서, 선입선출 메모리(440)는 송신 정보(Td)를 저장한다. S250 단계는 프로세서 로드가 여유 있는 경우이므로, 선입선출 방식으로 충분히 CAN 버스(140)로 모든 송신 정보들이 전달될 수 있다. 따라서, 송신 정보(Td)는 비어있는 메모리 블록에 저장된다. S240 단계 또는 S250 단계가 진행된 후에 S260 단계가 진행된다.In step S240, the
S260 단계에서, 데이터 버퍼부(400)는 저장된 송신 정보(Td)를 트랜스미터(340)에 제공한다. 선입선출 메모리(440)는 저장된 정보의 출력 순위에 따라 송신 정보(Td)를 트랜스미터(340)로 출력한다. S240 단계에서, 송신 정보(Td)가 겹쳐 쓰여진 경우, 송신 정보(Td)는 삭제된 송신 정보의 출력 순위에 따라 트랜스미터(340)로 출력된다. S250 단계에서, 송신 정보(Td)가 비어있는 메모리 블록에 저장된 경우, 송신 정보(Td)는 이전에 저장된 송신 정보들 모두 출력된 후에 트랜스미터(340)로 출력될 수 있다. 단, 이후에 데이터 버퍼부(400)에 제공된 송신 정보가 이전 순위의 송신 정보에 겹쳐 쓰여진 경우, 이후에 겹쳐 쓰여진 송신 정보는 송신 정보(Td)보다 먼저 트랜스미터(340)로 출력될 수 있다.In step S260, the
위에서 설명한 내용은 본 발명을 실시하기 위한 구체적인 예들이다. 본 발명에는 위에서 설명한 실시 예들뿐만 아니라, 단순하게 설계 변경하거나 용이하게 변경할 수 있는 실시 예들도 포함될 것이다. 또한, 본 발명에는 상술한 실시 예들을 이용하여 앞으로 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다.The above description is a concrete example for carrying out the present invention. The present invention includes not only the above-described embodiments, but also embodiments that can be simply modified or easily changed. In addition, the present invention includes techniques that can be easily modified by using the above-described embodiments.
100: CAN 시스템
200: CAN 컨트롤러
220, 300: 프로토콜 엔진
221, 310: 인터페이스
222, 320, 400: 데이터 버퍼부
330: 리시버
335: 프로토콜 분석기
340: 트랜스미터
345: 프로토콜 생성기
410: 식별 데이터 스캐너
440: 선입선출 메모리100: CAN system 200: CAN controller
220, 300:
222, 320, 400: Data buffer unit 330: Receiver
335: Protocol Analyzer 340: Transmitter
345: Protocol Generator 410: Identification Data Scanner
440: first in first out memory
Claims (18)
상기 수신 정보의 식별 데이터 및 상기 CAN 버스의 버스 로드에 기초하여 이전에 저장된 수신 정보에 겹쳐 쓰여지도록 상기 수신 정보를 저장하는 수신 선입선출 메모리;
상기 수신 선입선출 메모리에 저장된 수신 정보를 프로세서에 제공하거나, 상기 프로세서로부터 송신 정보를 제공 받는 인터페이스;
상기 송신 정보의 식별 데이터 및 상기 프로세서의 프로세서 로드에 기초하여 이전에 저장된 송신 정보에 겹쳐 쓰여지도록 상기 송신 정보를 저장하는 송신 선입선출 메모리; 및
상기 프로토콜을 설정하고, 상기 프로토콜에 따라 상기 송신 선입선출 메모리에 저장된 송신 정보를 상기 CAN 버스로 송신하는 트랜스미터를 포함하는 CAN 컨트롤러.A receiver for analyzing the received information received from the CAN bus according to the established protocol;
A received first-in-first-out memory for storing the received information so as to be overwritten with previously stored received information based on the identification data of the received information and the bus load of the CAN bus;
An interface for providing reception information stored in the reception first-in-first-out memory to the processor or receiving transmission information from the processor;
A transmission first-in-first-out memory for storing the transmission information so as to be overwritten with previously stored transmission information based on the identification data of the transmission information and the processor load of the processor; And
And a transmitter for setting the protocol and transmitting the transmission information stored in the transmission first-in-first-out memory according to the protocol to the CAN bus.
상기 트랜스미터는,
복수의 비트 상태들 중 상기 프로토콜에 대응되는 데이터 프레임의 타겟 비트 상태들을 선택하여 상기 프로토콜을 설정하는 프로토콜 생성기를 포함하는 CAN 컨트롤러.The method according to claim 1,
The transmitter comprising:
And a protocol generator for selecting the target bit states of a data frame corresponding to the protocol among a plurality of bit states to set the protocol.
상기 프로토콜 생성기는,
각각의 상기 타겟 비트 상태들을 순차적으로 천이시켜 상기 송신 정보의 데이터 프레임을 결정하는 CAN 컨트롤러.3. The method of claim 2,
The protocol generator comprises:
And sequentially shifts each of the target bit states to determine a data frame of the transmission information.
상기 프로토콜 생성기는,
CAN 2.0 A 프로토콜, CAN 2.0 B 프로토콜, CAN 2.0 A FD 프로토콜, 및 CAN 2.0 B FD 프로토콜 중 하나를 선택하고, 상기 선택된 프로토콜에 기초하여 상기 타겟 비트 상태들을 선별하는 CAN 컨트롤러.3. The method of claim 2,
The protocol generator comprises:
A CAN controller for selecting one of a CAN 2.0 A protocol, a CAN 2.0 B protocol, a CAN 2.0 A FD protocol, and a CAN 2.0 B FD protocol, and selecting the target bit states based on the selected protocol.
상기 리시버는,
상기 타겟 비트 상태들을 순차적으로 천이시켜 상기 수신 정보를 분석하는 프로토콜 분석기를 포함하는 CAN 컨트롤러.3. The method of claim 2,
The receiver comprising:
And a protocol analyzer to analyze the received information by sequentially transitioning the target bit states.
상기 리시버는,
상기 수신 정보의 식별 데이터에 근거하여 상기 수신 선입선출 메모리에 상기 수신 정보의 제공여부를 결정하는 마스킹 필터 레지스터;
상기 설정된 프로토콜에 따라 상기 수신 정보의 데이터 프레임의 보-레이트를 조절하는 보-레이트 조절기; 및
상기 수신 정보의 에러를 감지하여 상기 수신 선입선출 메모리에 상기 수신 정보의 제공여부를 결정하는 에러 감지기를 포함하는 CAN 컨트롤러.The method according to claim 1,
The receiver comprising:
A masking filter register for determining whether to provide the reception information to the reception first-in-first-out memory based on the identification data of the reception information;
A baud rate adjuster for adjusting a baud rate of a data frame of the received information according to the set protocol; And
And an error detector for detecting an error of the reception information and determining whether to provide the reception information to the reception first-in-first-out memory.
상기 버스 로드가 상기 프로세서 로드보다 높은 경우, 상기 수신 정보의 식별 데이터와 동일한 식별 데이터를 갖는 정보가 저장된 상기 수신 선입선출 메모리의 메모리 블록에 상기 수신 정보를 겹쳐 쓰는 식별 데이터 스캐너를 더 포함하는 CAN 컨트롤러.The method according to claim 1,
Further comprising an identification data scanner for overwriting the received information in a memory block of the receive first-in-first-out memory where information having the same identification data as the identification data of the received information is stored when the bus load is higher than the processor load, .
상기 버스 로드를 감지하여, 버스 로드 정보를 상기 식별 데이터 스캐너에 제공하는 버스 로드 감지기; 및
상기 프로세서 로드를 감지하여, 프로세서 로드 정보를 상기 식별 데이터 스캐너에 제공하는 프로세서 로드 감지기를 더 포함하는 CAN 컨트롤러.8. The method of claim 7,
A bus load detector for sensing the bus load and providing bus load information to the identification data scanner; And
Further comprising a processor load detector for sensing the processor load and providing processor load information to the identification data scanner.
상기 프로세서 로드가 상기 버스 로드보다 높은 경우, 상기 송신 정보의 식별 데이터와 동일한 식별 데이터를 갖는 정보가 저장된 상기 송신 선입선출 메모리의 메모리 블록에 상기 송신 정보를 겹쳐 쓰는 식별 데이터 스캐너를 더 포함하는 CAN 컨트롤러.The method according to claim 1,
Further comprising an identification data scanner for overwriting the transmission information in a memory block of the transmission first-in-first-out memory where information having the same identification data as identification data of the transmission information is stored when the processor load is higher than the bus load, .
상기 CAN 컨트롤러가 수신이 예정되는 데이터 정보의 양을 감지하는 단계;
상기 CAN 컨트롤러가 상기 데이터 정보의 식별 데이터와 동일한 식별 데이터를 갖는 정보가 저장된 선입선출 메모리의 메모리 블록을 검색하는 단계; 및
상기 CAN 컨트롤러가 상기 수신이 예정되는 데이터 정보의 양에 기초하여 상기 메모리 블록에 상기 데이터 정보를 겹쳐 쓰는 단계를 포함하는 CAN 컨트롤러의 데이터 전송 방법.Receiving data information by the CAN controller;
Sensing the amount of data information the CAN controller is scheduled to receive;
Searching for a memory block of the first-in-first-out memory in which the CAN controller stores information having the same identification data as the identification data of the data information; And
And the CAN controller overwriting the data information in the memory block based on the amount of data information scheduled to be received.
상기 데이터 정보는 프로세서로부터 제공되는 송신 정보이고,
상기 데이터 정보의 양을 감지하는 단계는,
상기 CAN 컨트롤러가 상기 프로세서의 프로세서 로드를 감지하는 단계를 포함하는 CAN 컨트롤러의 데이터 전송 방법.11. The method of claim 10,
Wherein the data information is transmission information provided from a processor,
Wherein the sensing the amount of data information comprises:
And the CAN controller detecting a processor load of the processor.
상기 CAN 컨트롤러가 상기 선입선출 메모리에 저장된 정보를 순차적으로 CAN 버스에 출력하는 단계를 더 포함하는 CAN 컨트롤러의 데이터 전송 방법.12. The method of claim 11,
And the CAN controller sequentially outputs information stored in the first-in-first-out memory to the CAN bus.
상기 데이터 정보의 양을 감지하는 단계는,
상기 CAN 컨트롤러가 상기 프로세서 로드와 CAN 버스의 버스 로드를 비교하는 단계를 더 포함하고,
상기 데이터 정보를 겹쳐 쓰는 단계에서, 상기 프로세서 로드가 상기 버스 로드보다 큰 경우 상기 송신 정보를 겹쳐 쓰는 CAN 컨트롤러의 데이터 전송 방법.12. The method of claim 11,
Wherein the sensing the amount of data information comprises:
The CAN controller further comprising comparing the bus load of the CAN bus with the processor load,
Wherein the step of overwriting the data information overwrites the transmission information when the processor load is larger than the bus load.
상기 데이터 정보를 겹쳐 쓰는 단계에서, 상기 프로세서의 로드가 설정된 기준 로드 값보다 큰 경우 상기 송신 정보를 겹쳐 쓰는 CAN 컨트롤러의 데이터 전송 방법.12. The method of claim 11,
Wherein the step of overwriting the data information overwrites the transmission information when the load of the processor is larger than the set reference load value.
상기 데이터 정보는 CAN 버스로부터 제공되는 수신 정보이고,
상기 데이터 정보의 양을 감지하는 단계는,
상기 CAN 컨트롤러가 상기 CAN 버스의 버스 로드를 감지하는 단계를 포함하는 CAN 컨트롤러의 데이터 전송 방법.11. The method of claim 10,
The data information is reception information provided from the CAN bus,
Wherein the sensing the amount of data information comprises:
And the CAN controller detecting a bus load of the CAN bus.
상기 CAN 컨트롤러가 상기 선입선출 메모리에 저장된 정보를 순차적으로 프로세서에 출력하는 단계를 더 포함하는 CAN 컨트롤러의 데이터 전송 방법.16. The method of claim 15,
And the CAN controller sequentially outputs information stored in the first-in-first-out memory to the processor.
상기 데이터 정보의 양을 감지하는 단계는,
상기 CAN 컨트롤러가 프로세서의 로드와 상기 버스 로드를 비교하는 단계를 더 포함하고,
상기 데이터 정보를 겹쳐 쓰는 단계에서, 상기 버스 로드가 상기 프로세서 로드보다 큰 경우 상기 수신 정보를 겹쳐 쓰는 CAN 컨트롤러의 데이터 전송 방법.16. The method of claim 15,
Wherein the sensing the amount of data information comprises:
The CAN controller further comprising comparing the bus load with a load of the processor,
Wherein the step of overwriting the data information overwrites the received information if the bus load is greater than the processor load.
상기 데이터 정보를 겹쳐 쓰는 단계에서, 상기 버스 로드가 설정된 기준 로드 값보다 큰 경우 상기 수신 정보를 겹쳐 쓰는 CAN 컨트롤러의 데이터 전송 방법.16. The method of claim 15,
And overwriting the received information if the bus load is greater than the set reference load value in the step of overwriting the data information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/823,104 US10491418B2 (en) | 2016-12-05 | 2017-11-27 | Can controller and data transmission method using the same |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160164677 | 2016-12-05 | ||
KR20160164677 | 2016-12-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180064274A true KR20180064274A (en) | 2018-06-14 |
KR102204954B1 KR102204954B1 (en) | 2021-01-20 |
Family
ID=62629459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170128073A KR102204954B1 (en) | 2016-12-05 | 2017-09-29 | Can controller and method for transmission of data using the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102204954B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210071490A (en) * | 2019-12-06 | 2021-06-16 | 현대오트론 주식회사 | Apparatus and method for setting baud rate of electronic control unit based on can communication |
CN115902387A (en) * | 2023-02-15 | 2023-04-04 | 北京志翔科技股份有限公司 | Test tool and test method for load identification module |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110007759A1 (en) * | 2009-04-23 | 2011-01-13 | Microchip Technology Incorporated | Method for CAN Concatenating CAN Data Payloads |
-
2017
- 2017-09-29 KR KR1020170128073A patent/KR102204954B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110007759A1 (en) * | 2009-04-23 | 2011-01-13 | Microchip Technology Incorporated | Method for CAN Concatenating CAN Data Payloads |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210071490A (en) * | 2019-12-06 | 2021-06-16 | 현대오트론 주식회사 | Apparatus and method for setting baud rate of electronic control unit based on can communication |
CN115902387A (en) * | 2023-02-15 | 2023-04-04 | 北京志翔科技股份有限公司 | Test tool and test method for load identification module |
Also Published As
Publication number | Publication date |
---|---|
KR102204954B1 (en) | 2021-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10491418B2 (en) | Can controller and data transmission method using the same | |
US9361178B2 (en) | Method and device for improving the data transmission security in a serial data transmission having flexible message size | |
US10713106B2 (en) | Communication device, communication method and non-transitory storage medium | |
KR100884296B1 (en) | Communication message converting apparatus and communication message converting method | |
KR102007547B1 (en) | Method and device for serial data transmission having a flexible message size and a variable bit length | |
KR101936450B1 (en) | Method and device for serial data transmission which is adapted to memory sizes | |
EP1718008A2 (en) | Gateway apparatus and routing method | |
JP2008113096A (en) | Gateway device and data managing method | |
JP2014518599A (en) | Method and apparatus for increasing data transmission capacity in a serial bus system | |
KR101400329B1 (en) | Communication system | |
CN111343039A (en) | Distributed time synchronization protocol for asynchronous communication systems | |
JP2007036907A (en) | Gateway apparatus | |
JP2008113097A (en) | Gateway device and transfer control method | |
US7428608B2 (en) | Communication system, communication circuit and communication method | |
KR102204954B1 (en) | Can controller and method for transmission of data using the same | |
US11190332B2 (en) | Operation method of communication node for time synchronization in vehicle network | |
US9344375B2 (en) | Method for transmitting data packets between two communication modules and communication module for transmitting data packets, as well as communication module for receiving data packets | |
JP6200779B2 (en) | Communication control device | |
CN108632242B (en) | Communication device and receiving device | |
US20160147702A1 (en) | Communication control device, method of communicating a frame, and storage medium | |
JP6200734B2 (en) | Communication control device | |
US20230198802A1 (en) | Vehicle Control Device and Data Transfer Control Method | |
JP2008544623A (en) | Method and apparatus for data transmission using clock domain | |
US11831466B2 (en) | User station for a serial bus system, and method for transmitting a message in a serial bus system | |
US7724775B2 (en) | Data transmission circuit and method for controlling the data transmission circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |