일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- AWS
- it
- 자동매매
- 백테스트
- AUTOSAR
- backtrader
- 퀀트
- 개발자
- 아마존 웹 서비스
- 확률
- TOEFL
- Cloud
- Bitcoin
- probability
- 암호화폐
- 비트코인
- can
- python
- 클라우드
- 토플 라이팅
- 토플
- 백트레이더
- 오토사
- 자동차sw
- 블록체인
- toefl writing
- 파이썬
- GeorgiaTech
- backtest
- 프로그래밍
- Today
- Total
목록Embedded (11)
Leo's Garage
최근에 개발 중인 제어기에서 메인 MCU를 보조하는 sub MCU를 개발할 일이 있어서 PIC16F1503을 개발 중이다. 이 MCU는 8bit MCU로 14pin을 가지고 있으며 내장 Flash를 가지는 나름의 기능이 출중한 MCU이다. 이 MCU의 용도는 메인 MCU가 꺼져 있을 때 외부 신호를 감지해서 특정 신호에 메인 MCU를 wake up 하는 목적으로 사용 중이다. 간략한 사양은 다음과 같다. 일단 내장 WDT이 존재하여 MCU 기능 고장을 감지할 수 있고, 각 핀들을 여러 기능으로 변경해서 사용이 가능한데 기본적으로 ADC, DIO Port 그리고 DAC나 Comparator등으로 활용이 가능하다. 게다가 자체 Sleep 기능도 존재하여 아주 최적으로 암전류를 관리할 수 있다. 이 MCU는 ..
SCR은 AURIX IC 내에 존재하는 별도의 Micom이다. 8 Bit Micom으로 XC800 Core를 기반으로 산업 표준 8051 프로세서와 호환된다. 이 Micom은 내장된 8KB의 XRAM에 프로그램 코드와 데이터를 적재하여 구동한다. 16Bit General Purpose Timer Real Time Clock Power Saving Mode 등을 지원한다. SCR은 주로 AURIX MCU의 Standby mode 구현을 위해 사용한다. SCR을 Turn on하고, AURIX의 나머지 모듈을 Turn off하면 저전력 대기 모드를 사용할 수 있게 된다. 가령 wake up signal을 단순히 edge detection이나 level detection이 아니라 로직이 돌아서 판단해야 하는 경..
AURIX TC3xx EVADC Self Diagnostic 구현에 관해 정리하고자 한다. EVADC는 ADC로 쉽게 말해 Analog로 들어오는 input Signal을 적절하게 Digital Signal로 변환해주는 HW 장치라고 이해하면 된다. 일반적으로 차량 시스템에는 다양한 Analog Signal이 있는데, 모든 신호은 전압의 형태로 들어오게 되고, 그 전압을 측정하여 정해진 Bit수에 맞게 변환해서 그 값을 User에게 전달하게 된다. EVADC는 12bit ADC로 들어오는 전압을 0부터 4095까지 표현할 수 있다. 일반적으로 MCU의 공급 전압은 5V이고, ADC ref Voltage로 5V를 주로 사용하므로 4095는 5V라고 생각해도 된다. 보통 더 큰 전압이 들어오면 해당 전압을 ..
MCAL에는 IRQ(Interrupt Request)라는 모듈이 존재한다. 해당 모듈은 각 MCU에서 Interrupt를 관장하는 HW와 user간에 통일된 API 혹은 함수로 호출할 수 있도록 사전에 정의해 놓은 코드들이다. AUTOSAR를 적용하면, Interrupt에 대해서 Category라는 것을 적용하게 된다. 그에 대한 정의를 보면 아래와 같다. Category 1. Cat1 interrupts are not supported by the OS and are only allowed to make a very small selection of OS calls to enable and disable all interrupts. Category 2. Cat2 ISRs are supported by ..
* 아래 글은 제가 Infineon Developer Community에 작성한 내용입니다. 외부 오실레이터 또는 백업 오실레이터에서 시작하여 QSPI 주변장치에 도달하는 지점까지 QSPI에 대한 전체 클럭 트리가 그림 1에 나와 있습니다. QSPI 개요 다이어그램(그림 2)에서 fPER은 그림 1에서 도출한 fQSPI이며, 이는 QSPI 모듈 시프트 엔진의 주파수입니다. 따라서 시프트 엔진은 fSPB와 독립적인 별도의 주파수 영역(즉, fPER)에 배치됩니다. SPI bus baud 속도는 GLOBALCON 및 ECON 레지스터를 구성하여 그림 3과 같이 fPER에 의해 결정됩니다. fPER는 먼저 글로벌 디바이더를 통과한 다음 채널별 디바이더를 통과하여 SPI 채널에 원하는 baud 속도에 도달합니다..
* 아래 글은 제가 Infineon Developer Community에 작성한 글입니다. CCU6는 주로 AC 드라이브 제어를 위한 애플리케이션별 모드를 갖춘 고해상도 16비트 Caputre 및 Compare 장치(CCU)입니다. CCU6 모듈은 CCU60 및 CCU61이라는 두 개의 동일한 커널로 구성됩니다. 각 커널에는 타이머 T12 및 타이머 T13이라는 두 개의 타이머가 있습니다. T12는 center-aligned 또는 edge-aligned 동기화된 PWM 신호를 최대 3개까지 생성할 수 있는 세 개의 Comparator로 구성됩니다. CCU61 커널을 사용하여 데드타임이 있는 세 쌍의 complemetary center-aligned PWM 신호를 생성하려면 다음을 수행합니다: CCU61_..
AURIX 2세대 MCU 중 범용 MCU로 널리 쓰이는 TC387을 기준으로 PMS 모듈, 그 중에서도 PBIST와 Voltage Monitor에 대해서 간략히 정리해보자 한다. AURIX 2G 3xx user manual의 PMS 쪽을 살펴보면 위와 같은 그림을 볼 수 있다. 보다시피, MCU에 공급되는 전압원이 여러 개가 있는데, 이런 전압에 대한 모니터링을 전부 PMS에서 관장하고 있다고 보면 된다. 전압들을 하나씩 살펴보면 VDD : internal PWM으로 외부 SMPS를 제어하여 생성되는 1.25V VDDP3: EVR(Embedded Voltage Regulator)나 External SMPS에 의해 공급되는 3.3V VEVRSB : 마이컴 공급 전압 5V 등등이 있다. PBIST(Power..
앞의 포스팅에서는 Compile에 대한 이야기를 해보았다. 이번 시간에는 Proprocessor, 즉 전처리기에 대한 이야기를 해보고자 한다. 우선 전처리기가 실행되는 시점부터 언급하고 넘어가겠다. 전처리기는 Compiler가 *.c 파일을 *.s 파일로 바꾸기 전에 C processor 와 Lint processor라는 것들이 Syntax를 정리하는 과정을 거친다. 예를 들어 MACRO나 define으로 선언된 것들을 실제 Compiler가 Compile을 하기 전에 정리해준다고 생각하면 편하다. #define and & a = a and b 만약에 위의 같은 코드가 있다고 해보자, 이 코드를 전처리기에 돌리게 되면 a = a & b 위와 같은 형태로 변하게 된다. 그럼 이렇게 바꿀 수 있는 녀석들은 ..
이번에 할 이야기는 임베디드 시스템에서 Compile을 할 때 실제로 어떤식으로 binary code가 나오는지 이야기해보도록 하겠다. 앞 서 말한 것과 같이 흔히 ~.c file 하나를 Compile한다고 하면, C file을 기계가 알아들을 수 있는 Native code의 집합인 Binary Image를 만들어내는 것이라고 이해하고 있다. 맞는 이야기이다. Binary Code를 뽑아내기 위해서는 C file과 header file들을 이용하게 되고 때때로는 s file도 사용하게 되는데 s File은 Assembly Code로 가끔 개발자가 판단할 때, C로 Code를 짜는 것보다 직접 Assembly로 짜는게 더 낫다는 생각이 들면 s file을 만드는 경우도 있다. 어쨌든 결론적으로 이야기하면,..
전자공학도로 학부 시절 Programming 수업 때 마주했던 새로운 개념들 중 하나인 Compile에 대해 이야기해보도록 하겠다. 학부시절에는 대부분 단순한 PC프로그램이나 이미 거의 다 구성된 간단한 embedded board에 작성한 코드를 기계어로 번역해서 넣을 수 있게 만든다?? 정도의 굉장히 모호한 개념만을 갖고 있다가 현업에 발을 들였던 것 같다. 실제로 Compile에 대한 개념을 이해한 시기는 현업에서 Compile 문제로 골머리를 싸매면서이다. (아이러니하게도 사람은 모든게 갖춰진 학습현장보다 사활이 걸린 업무현장에서 수 배는 더 학습할 수 있다) Compile에 대한 사전적인 의미를 먼저 생각해보자 네이버 사전에 검색해보면, "엮다, 편집하다" 라는 뜻을 갖고 있음을 알 수 있다. 그..