본문 바로가기

CAN(Controller Area Network)

(5)
CANoe - CAPL로 신호 생성하기 CAPL이란? - CAPL은 vector에서 개발한 프로그래밍 언어로, C와 유사함 - Event-driven 방식으로 작동 => Event에 따라 동작하는 방식 1. 생성할 신호 DBC에 추가하기 - signals와, signals를 담을 message, message를 받을 노드를 생성 - CAPL에서 직접 message를 만들 수도 있지만, 이 방법이 좀 더 직관적임(사실 나도 잘 모름..) CAPL코드 작성하기 - 수정된 dbc를 다시 cfg에 업데이트 함(Node Synchronization) - 이후 message를 발생시킬 Simulation Node 생성 - File을 누르면 CAPL코드를 만들 수 있음 - 원하는 이름으로 정하면 됨 - 확장자는 .can - Tx_SIM.can 파일이 추가..
CANoe -Panel 만들기 & Graphic, Data window Panel 만들기 - dbc를 통해 can data frame을 만들어도, 실제 하드웨어 장비가 없어서 신호는 초기값으로만 나옴 - 신호를 변경하기 위해서 우선 Pannel을 활용하고자 함 - Tool => Panel Designer 클릭 - Panel의 확장자명은 .xvp - 왼쪽에는 dbc에 정의된 data를 확인 가능 - 오른쪽 아래 Toolbox를 누르면 CANoe에서 제공하는 panel 라이브러리를 사용가능 - 오른쪽 Track Bar를 가운데 흰 보드로 drag & drop, 흰 보드에 Track Bar 생성 - message의 signal을 흰 보드에 Track Bar에 drag & drop - LCD Control에 display하고자 하는 signal을 각각 매핑, 해당 LCD Contr..
CANoe - 실행 & Trace window CANoe 실행 - cfg 파일을 열면 다음과 같은 화면을 확인할 수 있음 - Simulation Setup에서 Databases => Add => 만들어 논 dbc파일을 열기 - dbc 파일이 추가된걸 확인할 수 있음 - 첫 화면 파란 블록을 오른쪽 마우스로 클릭 => Insert Network Node 클릭 => 새로운 ECU가 추가된걸 확인할 수 있음 - ECU 오른쪽 마우스 클릭 => Configuration 클릭 => Network node에서 dbc에서 정의한 ECU로 변경할 수 있음 - dbc파일에서 Node synchronization으로도 ECU를 추가할 수 있음 - 해당 블록을 더블 클릭하면 원하는 윈도우를 현재 desktop에 띄울 수 있음 실행 - 먼저 Bus를 simulated B..
CANoe - DBC 만들기 예제 Message ※ DBC에서 셋팅해야 할 기본적인 사항들 1. Network Protocol 2. Network ECU 3. Network Message(ID, Name, Length(byte), Cycle, Rx&Tx ECU, signal, Layout) 4. Signal(Name, Length(bit), Factor, Offset, Min, Max) 1. CANoe 실행 - 경로에는 한글이 포함되면 안됨 - 확장자명은 cfg(DBC의 확장자명은 .dbc) - cfg에서 Tool => CANdb++ Editor 선택 ※ CANdb++에서 직접 생성할 수도 있음 - CABdb++에서 File => Create Database => DBC Template 선택(Template은 상황에 따라 달라질 수..
CAN(Controller Area Network) & CAN DATA Frame CAN이란? - CAN이란, 차량 내에서 호스트 컴퓨터 없이 MCU나 장치들이 서로 통신하기 위해 설계된 표준 통신 Protocol - Broad Cast 방식으로 연결되어 있어, Bus를 통해 모든 ECU로 전달 가능(단 해당 ECU는 필요한 ID만 filtering) - 차량에 들어가는 harnesses를 기하급수적으로 줄일 수 있게 함 - CAN DATA Frame 1. SOF - CAN message의 처음을 알리는 부분, 동기화를 위해 사용함. Dominant(0) 값을 가짐 2. Arbitration Field(Identifier & RTR) - CAN 2.0A는 11, CAN 2.0B는 29bit로 구성되어 있음 - ID & RTR(data인지 remote인지)로 구성되어 있음, RTR값이 ..