전체 글293 Aurix ADC - 컨버전 요청. Trigger Aurix의 VADC 모듈의 동작 주요컨셉 ▶ 3개의 큐가 존재. ▶ 컨버전 하려는 채널을 컨버전 원하는 순서대로 큐에 집어넣음 ▶ 큐에 컨버전 요청 ( Conversion Request) ▶ 컨버전 요청 받으면 큐에 집어넣은 채널의 adc conversion이 이뤄짐 ▶ 실제로 conversion이 수행되고 Conversion 결과가 Result레지스터에 담긴다. ▶ 큐에 채널 삽입하기전에 이런저런 셋팅을 하고 큐에 삽입하는데, 예를 들면 컨버전 완료되고나서 다시 큐에 자동삽입 할건지. 컨버전 완료됐을때 인터럽트나 dma로 알려줄건지(Service Request) 등을 셋팅한다. 이 셋팅한 결과에 따라 해당 채널이 큐에서 꺼내지면서 컨버전완료 된 후 동작 달라짐. ▶ Adc Conversion 완료 후.. 2022. 9. 23. Aurix 이슈. 디버깅시 STM Stop Aurix에는 STM 이라는 타이머가 있는데 RTOS를 만들때 OS의 System Timer로 STM을 많이 사용함. 한편 RTOS에서 일반적으로 주기 Task를 많이 사용하는데, 오토사 OS에는 동일한 Task가 동시에 최대 몇번 Activation이 가능한지 설정할 수 있다. 예를 들어 1ms 주기의 TASK A가 있는데 TASK A의 실행시간이 1ms를 초과한다면, TASK A가 아직 실행중인데 TASK A가 또 한번 Activation 될 것이다. 이런 경우가 Activation이 2번 된 것이다. 만약 해당 Task의 Activation 제한값이 1인 경우,이때 에러로 판단해서 OS hook이 발생한다. 한편, Sw디버깅을 하다보면 break point에 멈춰놓고 쓸 때가 있다. 이때 break.. 2022. 9. 22. makefile function들 makefile function gnu function https://www.gnu.org/software/make/manual/html_node/Foreach-Function.html#Foreach-Function 위 홈페이지 내용 참조. foreach 함수 $(foreach var,list,text) 파이썬에서 for문으로 list 순회하는거랑 같은 개념이다. 실제 쓰고 싶은 명령문은 text 내용이고, text 안에 var 가 들어간다. list 를 순회하면서 list 내용이 하나하나 var에 들어감 ex) dirs := a b c d files := $(foreach dir,$(dirs),$(wildcard $(dir)/*)) files := $(wildcard a/*) files := $(wil.. 2022. 9. 21. Aurix 이슈 - SMU 와 PLL Clock 관련 System PLL Output CLock 속도 변경과 SMU 알람에 대하여(MCU Clock 설정 관련 SMU 알람 발생 이슈)Aurix TC3xx 시리즈 유저매뉴얼의 Clock과 관련된 부분 중에서System PLL Functional Description이라는 절이 있는데 여기 내용을 보면PLL Output frequency를 바꿔야 하는 경우 클락 관련 설정을 바꾸기 전에loss of lock 과 관련된 SMU Alarm generation을 disable 하라고 돼있다.그리고 clock 설정이 끝난 후에는 System PLL Loss-of Lock Event를 Clear 하고, 그러고나서 다시 SMU를 Enable 하라고 돼있다. 사실 정확하게 내용이 이해되진 않는데 암튼 SMU에는 PLL Lo.. 2022. 9. 20. Aurix SMU- 2 기능 구현. 순서대로 나열 -SMU의 고장 감지 기능을 Safety Mechanism (세이프티 매커니즘) 이라고 부른다. (이제 이것을 SM이라고 표현하겠다.) - 사용하려는 Aurix 제품이 어떤 SM을 제공하는지 목록을 파악한다 - 제공되는 SM 중에 우리가 사용하려는, 연관된 SM이 어떤것이 있는지 파악한다 - 우리가 이용하려는 SM 을 사용하려면 유저가 별도의 조치를 취해서 Enable 해야하는지, 아니면 Default로 켜져있는 것인지 파악한다. - 별도로 Enable을 해야된다면 enable 하는 방법을 파악하고, 언제 Enable 할 것인지를 결정한다. - 이용하려는 SM과 알람 간의 Mapping 관계를 Appendix 문서를 통해 파악한다. - 이용하려는 SM이 동작됐을때(에러감지했을 때) 어떤 Reaction을.. 2022. 9. 17. Aurix BMHD 그리고 Start Address Aurix Start Address Aurix BMHD 개념 MCU에 전원이 딱 켜졌을때 Cpu는 무엇을 할까. Aurix에는 SSW(Start SW)라는 하드 코드 된 코드가 들어가있는데 CPU에 전원이 들어오면 SSW가 실행된다. 이 SSW 코드는 공장에서 제품 만들당시에 삽입되는 코드라 유저가 수정이 불가하다. 하지만 이 SSW가 실행될 때, 메모리의 특정영역 혹은 특정 핀의 값 등에 따라 동작이 달라지긴한다. 상세한 내용은 생략하고 아무튼 SSW가 할 일을 다 한 뒤, 가장 처음으로 실행시키는 유저 코드는 어디에 있을까? 우리가 c언어로 코딩한 코드 중에 mcu가 가장 첫번째로 실행하는 코드가 무엇일까? 그것을 결정하는 것이 바로 Start Address다. SSW가 할 일 다하고나서 처음으로 실.. 2022. 9. 15. Aurix SMU- 1 완벽 개념 정리 Aurix Safety Management Unit란 Aurix SMU란mcu와 관련된 각종 고장을 감지하고, 고장 발생시 지정된 reaction을 수행하는 것이 주요 기능이다. 참고로 이 때 고장감지는 MCU가 하드웨어적으로 자체적으로 수행하는 것이라 유저가 sw구현 할 부분은 딱히 없다. 있다면 그냥 해당 기능을 enable하는 정도이다. (ex 락스텝 에러감지는 유저가 별도로 enable 했을때만 감지함. 그러나 대부분의 고장은 자동으로 켜져있음. 이 때 어떤 reaction을 수행할 것인지는 유저가 configure한다.(리액션 아무것도 안하게 할수도 있음. 만약 그렇다면 감지만하고 아무동작 안할 것) 예를 들면 MCU의 Ram에서 bit에러 발생시 ecc를 통해 이름 감지하고, 이것이 감지되면 .. 2022. 9. 12. T32 System Menu T32 NoDebug T32의 JTAG이나 DAP 포트를 제어보드에 꽂아놓으면 보드에 전원공급해도 sw가 실행이 안되고 멈춰 있음. 근데 NoDebug를 누른 상태에서 제어기를 껐다가 켜면 t32 포트가 꽂혀있어도 sw가 실행이 된다. T32 Attach 앞에서 말했던 NoDebug 상태로 코드가 돌고있는 상황에서, 이제 다시 t32가 연결되어 디버깅을 하고 싶을때 .Attach 버튼을 누르면 다시 t32로 디버깅이 가능하게 됨 2022. 9. 7. BMS 관련 기초 배경지식 정리 中 ▶ 셀 -> 모듈 -> 팩 -셀이 모여서 모듈을 구성, 모듈이 모여서 팩을 구성한다. -셀 하나의 전압이 대략 4v 정도 -몇 개의 셀을 모아서 모듈을 만들고, 몇개의 모듈을 모아서 팩을 만들고 그것은 제조사의 선택 예시 : 셀 12개 모아서 1개의 모듈 & 8개 모듈 모아서 1개의 팩 이 경우 총 96개의 셀이 하나의 팩을 구성하게 됨. 이 때 하나의 팩 전압은 대략 4 x 96 이 될테니 약 400v 정도가 될 것임 ■ 버스바 모듈과 모듈을 서로 직렬로 연결하는 금속 철판 막대기. 전선으로 연결해도 되지만 가격.내구성 등의 이유로 버스바를 사용한다고 한다. (역할은 전선이랑 똑같음) 형상은 제품에 따라 천차만별로 다양하다. ▶ 전압 측정 각각 셀의 현재 전압, 모듈의 전압, 팩 전압을 측정해야 한다... 2022. 8. 31. 이전 1 ··· 13 14 15 16 17 18 19 ··· 33 다음