일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 블록체인
- 자동매매
- 파이썬
- AWS
- GeorgiaTech
- 퀀트
- 개발자
- 토플 라이팅
- 아마존 웹 서비스
- 암호화폐
- 프로그래밍
- backtest
- TOEFL
- 확률
- 비트코인
- python
- toefl writing
- 토플
- 오토사
- AUTOSAR
- 백트레이더
- can
- 자동차sw
- backtrader
- it
- probability
- 백테스트
- Cloud
- 클라우드
- Bitcoin
- Today
- Total
목록자동차 및 자동차 SW (58)
Leo's Garage
Vector 사의 MICROSAR는 Vector 사에서 AUTOSAR 표준과 추가적인 기능을 더 넣어서 만든 유사 AUTOSAR Package이다. 여기서 유사라고 말 한 이유는 MICROSAR가 완벽하게 AUTOSAR 표준만을 따른 것은 아니고 또한 AUTOSAR Methodology를 완벽하게 계승한 것이 아니기 때문이다. 아무튼 각설하고, Vector의 MICROSAR를 사용해서 BSW Configuration을 작업하는데, CAN DBC import에서 Attribute 부분이 말성인 경우가 많다. 뭐 오토사 Based Project가 아니더라 하더라도 그 이전의 개발 프로세스였다고 하더라도 제어기 설계에서 가장 기본이 되는 부분은 통신/네트워크 구성에 대한 정보를 import하는 것이다. 이 때..
CAN DBC file이란 무엇인가 CAN DBC file (CAN Database)는 raw CAN Bus data를 '물리적'인 값으로 디코딩하기 위한 정보가 포함된 Text file이다. 이 raw CAN Data는 아래와 같이 생겼다. CAN ID Data bytes 0CF00400 FF FF FF 68 13 FF FF FF CAN ID에 대한 디코딩 규칙이 포함된 CAN DBC가 있는 경우에는 데이터 Byte에서 signal을 추출할 수 있고, 그 신호 중 하나가 EngineSpeed일 수도 있다. Message Signal Value Unit EEC1 EngineSpeed 621 rpm DBC 디코딩 작동 방식을 이해하기 위해 DBC 구문을 설명하고 예제를 보도록 하자. DBC message ..
AUTOSAR CAN 통신 스택을 이용해서 CAN 통신을 구현하기 위해 필요한 정보를 정리해보고자 한다. AUTOSAR는 기본적으로 하드웨어 독립적으로 구축하는 것을 목표로 하기 때문에 하위 레이어에 HW 종속적인 모듈이 위치하고, 상위로 갈수록 HW에 독립적인 모듈이 위치하게 된다. BSW를 개발하는 입장에서는 이러한 계층 구조와 각 모듈간의 서로 필요한 정보가 무엇인지 아는 것이 중요하다. 개인적으로 어떤 AUTOSAR Tool을 사용하여 BSW를 Configuration한다고 하더라도 가장 중요한 것은 역시 Communication DB(DataBase)일 것이다. 일반적으로 차량용 제어기는 통신 네트워크 구조를 기반으로 설계가 되어진다. 따라서 어떤 제어기든 개발에 앞서서 가장 중요한 건 바로 이..
AUTOSAR에서는 message를 대략적으로 PDU(Protocol Data Unit)이라고 부른다. 이렇게 대략적이라는 말을 붙이는 이유는 PDU 내부에는 송신 또는 수신 상, 각각 하위 계층 혹은 상위 계층에서 사용하거나 추출하는 데이터 이외의 정보가 포함되어 있기 때문이다. PDU는 크기가 다양하게 n개 있을 수 있고 기본적으로 하위 계층 정보와 함께 Packing된 Signal의 그룹이다. AUTOSAR COM은 송수신 시 각각 PDU 안팎에서 신호의 Packing, Unpacking을 수행하며, 모든 PDU에는 고유한 Identifier가 있다. PDU에는 SDU(Service Data Unit)와 PCI(Protocol Control Information)가 포함된다. SDU는 전송해야 하는..
CAN 통신 스택은 AUTOSAR에서 CAN 버스를 활용한 차량 통신 시스템 모듈 그룹이다. 이는 애플리케이션에서 프로토콜 및 메시지 속성을 숨기는 것과 함께 CAN 네트워크에 대한 균일한 Interface를 제공한다. Low Level은 통신 스택에서 처리되며, CAN 통신 스택은 표준 CAN 및 CAN FD(하드웨어에서 지원하는 경우)을 지원한다. 위의 불록도는 AUTOSAR 의 CAN 통신과 관련된 세부 레이어를 간략하게 보여주고 있다. 다만 해당 블록도가 전부는 아니다. 이 블록도에서는 통신 서비스, 통신 하드웨어 추상화, 통신 드라이버만 고려하고 있다. 1. CAN NM: CAN Network Manager, CAN 종속 모듈이긴 하지만, HW에 대해서는 독립적인 모듈이다. 주요 목적은 CAN ..
Multiplex message는 일반적으로 메시지의 DLC가 허용하는 것보다 더 많은 Signal을 전달할 수 있게 한다. Multiplex message를 정의하려면 포함된 signal이 "multiflexor"로 설정된 경우 해당 값(index)은 message의 나머지 바이트에서 어떤 데이터가 전송되는지를 나타낸다. ECU는 현재 Multiplex message를 사용하고 있다. Signal1는 모든 경우 전송되는 고정 Signal이다. 그리고 multiplexor signal에 따라서 나머지 두 Byte의 Signal의 경우 서로 다른 내용을 송신할 수 있게 된다. 즉, 제한적인 DLC를 최대한 활용해보고자 하는 방안이라고 생각할 수 있다. 물론 CAN FD의 경우에는 DLC를 최대 64Byte..
배경은 역시나 일반 CAN의 한계 때문이다. 자동차가 발전 됨에 따라서 더 많은 기능과 제어기가 들어가게 되었다. 따라서 CAN의 네트워크 속도는 한계에 직면했고 돌파구가 필요했다. 그래서 CAN을 개발한 Bosch는 2012년에 CAN의 확장 형태인 CAN FD(CAN with Flexible Data rate)의 사양을 발표했다. 표준 CAN 네트워크는 Frame 당 최대 payload가 8bytes인 1Mbit/s로 제한된다. CAN FD는 CAN의 physical layer를 변경하지 않고도 Frame당 최대 64bytes까지 더 긴 Data Field를 허용하여 유효 데이터 전송률을 높인다. 또한 CAN FD는 일반적인 CAN bus arbitration을 유지하여 Arbitration이 끝날 ..
Error Handling은 CAN protocol에 정의되어 있으며, CAN 시스템 성능에 매우 중요한 역할을 한다. Error Handling은 CAN 버스의 메시지의 오류를 감지하여 일반적으로는 송신기가 오류 메시지를 재전송할 수 있게 하는 것을 목표로 하고 있다. 따라서 버스 내의 모든 CAN controller는 메시지 내에서 오류를 감지하려고 시도한다. 일단 오류가 발견되면, 오류를 발견한 노드는 Error Flag를 전송하여 Bus traffic을 파괴한다. 다른 노드는 이 Error flag를 통해서 오류를 감지하고 현재 메시지를 폐기하는 등의 조치를 취한다. 각 노드는 두 개의 Error Counter, 전송 Error Counter와 수신 Error Counter를 가지고 있다. 이 C..
CAN bus의 각 bit는 Timing을 위해 최소 4개의 Quanta로 나뉜다. 이 Quanta는 논리적으로 4개의 그룹 또는 세그먼트로 나뉘게 된다. 1. Synchronization Segment : 동기화 세그먼트 2. Propagation Segment : 전파 세그먼트 3. Phase Segment 1 : 위상 세그먼트 1 4. Phase Segment 2 : 위상 세그먼트 2 이 Segment들은 소위 Time Quantum이라고 불리는 단위 시간의 정수 배를 의미한다. Time Quantum은 CAN system의 Clock 주기와 동일하다. 이는 MCU에 의해 구현되는 것이다. 결국 이것들은 CAN message의 1bit가 날아갈 때, CAN clock의 몇 배가 각 영역에 할당되어야..