본문 바로가기
반응형

Embedded SW/[Infineon] Embedded SW Project21

[Infineon] 13. Aurix (TC23x) Clock Setting 임베디드 SW 개발에 있어서 가장 중요하다는 부분이 Clock Setting이라고 생각한다. 모든 주변기기의 동작은 Clock을 받아 동작하기 때문에 몇 Hz의 Clock이 주변기기로 들어오는지를 정확히 알아야 한다. TC237 개발 보드에는 20MHz의 외부 오실레이터가 달려 있다. 이 오실레이터를 기반으로 PLL(Phase Lock Loop)모듈을 통하여 더 높은 Hz로 분주를 한다. 이 PLL 모듈은 아래 System Control Unit 아래 CCU 모듈안에 있다. 위의 그림을 보면 20MHz의 외부 오실레이터를 input으로 받아서 200MHz의 주파수를 만들어 내는 것을 볼수 있다. TC237 MCU의 최대 주파수는 200MHz 까지기 때문에 최대한으로 분주하였다. 이제 어떻게 분주가 되는지.. 2021. 5. 28.
[Infineon] 12. Aurix (TC23x) GTM TOM을 이용한 PWM 출력 이제 모터를 돌려 볼 것이다. 모터를 돌리려면 어떻게 해야할까? 간단한 DC모터를 생각해 보자! DC 모터에 입력으로 들어가는 전압에 따라 모터의 회전 속도는 달라진다. 예를들어 0~5V의 입력을 가지는 모터에 1V DC 전압을 인가했을때보다 2V를 넣을때가 더 빠르고 3V를 넣을때가 더 빠르다. 그렇다면 MCU는 어떻게 DC모터에 전압을 인가할수 있을까? 어떻게 아날로그 전압을 만들어 줄까? MCU가 아날로그 전압을 만들어 주려면 별도의 Digital Analog IC를 이용하여 만들어주어야 한다. 어떠한 추가 장치가 필요하다는 의미이다. MCU자체내에서는 0V와 5V 전압밖에 낼수가 없다. 그런데 이렇게 하면 0~5V전압을 만들어 줄수 있다. 예를 들어 아래와 같이 5ms동안은 5V를 주고, 그후 또.. 2021. 5. 27.
[Infineon] 11. Aurix (TC23x) TFT를 이용한 디버깅 환경 구축 현재 나는 TFT가 장착된 개발보드를 이용하고 있다. 따라서 인피니언에서 제공하는 TFT 소스파일을 포팅하여 변수 및 그래프를 TFT 디스플레이로 실시간으로 확인할수 있다. 아래 블럭다이어 그램을 살펴보면 SPI 통신을 통해서 Control 되고 있음을 확인할수 있다. 추후, SPI도 다룰것이다. 우선, 인피니언 홈페이지에서 TC237 TFT Application SW를 다운 받고, TFT 관련된 SW를 포팅한다. 그리고 아래와 같이 TFT 초기화 SW를 실행 시킨다. void TFt_Init(void) { /* Initialise the application state */ g_AppCpu0.info.pllFreq = IfxScuCcu_getPllFrequency(); g_AppCpu0.info.cpu.. 2021. 5. 25.
[Infineon] 06. Aurix (TC23x) 인터럽트 Interrupt 이해하기 (2) 혹시, 코드가 필요하신 분들은 아래 댓글을 달아주세요. 개인적으로 전달해 드리도록 하겠습니다. ILLD 플랫폼과 연동시킨 플랫폼이고, CMD로 Build 할수 있도록 직접 Makefile을 만든것이여서 이것을 이용하면 좀더 쉽게 개발할수 있습니다. 그렇다면 지금부터 System Timer Module을 이용하여 1ms 마다 주기적으로 Interrupt를 발생시켜 보도록 하겠습니다. 우선 TC23x Reference Manual을 보시면 여기 STM을 누르시면 기본적이 설명이 나옵니다. 쭉 읽어 보시면 되겠습니다. 결국 Timer이다. 바로 초기화 코드를 살펴 보도록 하겠습니다. static void DrvStm0Init(void) { IfxStm_enableOcdsSuspend(&MODULE_STM0);.. 2021. 5. 19.
반응형