본문 바로가기

자동차 임베디드 SW97

A-SPICE CL 레벨 의미, 심사 방법, 심사 기준 등 ▶해당 "프로젝트" 에서 A-SPICE 를 얼마나 잘 적용했는지 수준을 평가받게 되어있는데 그 레벨이 CL : Capability Level 이다. ▶ 프로젝트 단위로 CL 레벨을 평가받는다. 회사 단위로 레벨을 받는 개념이 아니다. 특정 회사의 특정 아이템,특정 프로젝트에서 레벨을 달성했다고 해서 다른 프로젝트도 모두 A-SPICE 레벨을 갖췄다고 보장할 순 없다. ▶ Audit(심사)를 통해서 CL 레벨을 평가받을 수 있다. Audit은 자격증을 갖춘 전문 심사위원에게 의뢰해서 우리 프로젝트에 대해 심사 받을 수 있고, 심사를 통해 레벨을 평가 받는다. ▶ 심사 방법1 일단 기본적으로, 각 프로세스 별로 평가받는다. Ex) Sys.2 : System Requirement 프로세스에 대해서 평가하여 레.. 2024. 4. 25.
mk 파워 서플라이 파이썬 제어 아래 사이트 프로토콜 문서 참고 https://m.mkpower.co.kr/article/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8/3001/3761/ DC POWER MK3003P/3005P/3010P/6003P/6005P 프로토콜프로그램 - 엠케이파워프로그램mkpower.co.kr위 파워 서플라이는 window com port를 통해 제어가 가능하다. 먼저 파워서플라이 드라이버 SW를 설치한 후, 장치관리자를 통해 COM Port로 제대로 인식되어 연결이 됐나를 확인한다. (이때, 장치관리자에서 com port의 baudrate도 설정 가능함) 암튼, com port 인식이 완료됐다면 파이썬의 pyserial 모듈로 해당 com port로 지정된 명령어를 날려서 서플라이를 제어.. 2024. 3. 4.
CAPL - Dbc 속 메세지들에 접근하기 Dbc에 정의된 모든 메세지에 접근하는건 모르겠고. 특정 노드의 tx, rx 메세지들을 for loop 순회로 접근하는건 가능하다. 예를 들어 프로젝트에 import 된 dbc 파일속에 네트워크이름이 Net_A이고 Node_A 가 정의된 경우 아래와 같이 가능. 이때 네트워크 이름 생략하고 노드이름만 바로 써도 된다. 즉 Net_A::Node_A 가 아니라 그냥 Node_A 라고 써도 됨.message * m; int i, mx; mx=elcount(Net_A::Node_A.Tx); for (i = 0; i < mx; ++i) { m.id=Net_A::Node_A.TX[i]; write(DBLookup(m).Name); } 한편, Node_A.tx[] 의 결과값은 메세지의 id 이다. dblookup 함.. 2024. 1. 25.
BeyondCompare 스크립트 Beyond compare는 자체적인 스크립트 기능을 지원한다. 1.BCompare.exe 설치폴더를 찾아서 환경변수에 등록시켜주자. 2.실행시키려는 스크립트 파일을 txt 파일로 작성해둔다. 3.아래와 같이 실행하면 스크립트 기반으로 동작한다. 파워쉘에서는 @ 키가 해석안되므로 cmd 로 해야한다.BCompare.exe @"TestScript.txt" 또는 BCompare.exe @"c:₩TestScript.txt"1. 샘플코드 왼쪽, 오른쪽에 폴더 가져온 후. 비교해서 왼쪽에 새로 생긴 파일들 오른쪽으로 업데이트 (같은 이름의 파일인데 내용 다른 경우 덮어 씌우진 않더라)load "Folder1" "Folder2" sync update:left->right load "Folder1" "Folder2".. 2023. 12. 18.
차량통신 NM의 개념(Network Management) 차량 내에는 여러개의 제어기가 들어있다. 각 제어기들은 전력소모를 줄이기 위해 필요에 따라 sleep,standby 모드 등의 상태로 진입할 수 있다. (간단히 말해서 제어기 전원 off 한다는 얘기다.) 이것을 shut down 이라고 칭하자. 이때, 서로 연관있는 (서로 동작에 영향을 주는) 제어기들은 독단적으로 shutdown 하지말고, 나를 필요로하는 제어기가 없다는게 확인됐을때만 shutdown하자. 이게 nm의 주요컨셉이다. 이러한 목적을 달성하기 위해서 제어기는 각각 자신이 동작하는 동안 nm 메세지를 송신해서 네트워크에 내가 살아있음을 알린다. 이때 해당 제어기와 연관되는 제어기는 누군가가 nm 메세지를 쏘고있다면 자신의 shutdown 조건을 만족했더라도 셧다운 되면 안된다. 자신의 셧다.. 2023. 12. 4.
CAPL 기초 메모장 CAPL Data Type부호 있는/ 없는 정수 char / byte 1byte int / word 2byte long / dword 4byte int64 / Qword 8byte 실수 데이터 float = double 8byte write 함수 출력포멧 %d 는 long 범위의 숫자출력가능 %u 는 dword 범위 8byte는 %lld , %llu, 실수는 %f System variable 값 읽기.쓰기 앞에 골뱅이 붙일것. ex) int test1; test1 = @namespace::sysvariable; @namespace::sysvariable = 123; 2023. 11. 9.
uds진단통신 0x27 security access 서비스 개념 특정 서비스, 또는 특정 서브펑션에 lock을 걸어놓는다. 그래서 인증 절차를 통과한 경우에만 해당 동작을 수행시킬 수 있도록 하기 위해서 사용되는게 security access 이다. 예를 들어 ecu reset 서비스는 sid가 0x11이다. 이 서비스에 특별히 lock이 걸려있지 않다면 그냥 곧바로 0x11 서비스를 요청하면 제어기가 응답해서 reset을 수행할 것이다. 근데 lock이 걸려있다면, 이 서비스를 실행하기전에 일단 lock을 푸는 절차를 거쳐야한다. 대강의 절차는 이러하다. 1.진단기가 제어기에게 seed 값을 요청 2.제어기는 seed 값을 보내줌(랜덤값) 3.진단기는 이 seed를 사용해서 지정된 알고리즘을 사용해서 key를 만들어낸다. 이 때, key를 만드는 알고리즘은 비밀이다.. 2023. 11. 1.
Dem Healing개념 #DTC Healing #진단통신 고장 Healing https://newbie-developer.tistory.com/m/389 Dem Aging 개념.참고자료 : Autosar Diagnostic Event Manager #DTC Aging #진단통신 고장 aging Aging의 개념을 간략히 말하면, confirmed 상태의 dtc 고장이 있을때, 특정 조건을 만족하면 confirmed 상태를 해제하는 기능이 aging이다.newbie-developer.tistory.com Healing은 DTC Status Bit7:warningIndicatorRequested와 연관된다. 고장 발생된 Event가 Indicator request set된 상태일 때 특정 조건을 만족하면 이것을 clear하는게 힐.. 2023. 10. 18.
Dem Aging 개념. 참고자료 : Autosar Diagnostic Event Manager #DTC Aging #진단통신 고장 aging Aging의 개념을 간략히 말하면, confirmed 상태의 dtc 고장이 있을때, 특정 조건을 만족하면 confirmed 상태를 해제하는 기능이 aging이다. 참고로 dtc status byte에서 오른쪽에서 4번째 비트. 즉 bit3 의 값이 confirmed 이다. 관련 동작을 살펴보자면, Dem Event fail 발생시 고장 관련 정보가 Dem primary event memory에 쓰여진다. 또한 조건에 따라 confirmed 상태가 되면 dtc status bit3 값이 1로 set 된다. (confirmed 되는 조건은 사양별로 상이) 한편, 해당 event가 aging이.. 2023. 10. 17.