설계 Design/펌웨어 개발 Firmware 2

[펌웨어][F2837xx] ePWM Synchronization / ePWM 동기화

오늘은 ePWM Synchronization(동기화)에 대해 알아볼것이다. 그러기 위해 테크니컬 메뉴얼의 Chapter 15를 참조하였다. 테크니컬 메뉴얼은 아래 링크를 통해 다운로드 가능하다. https://www.ti.com/lit/pdf/spruhm8 TI 사의 MCU를 사용하는 이유중 하나라고 볼수있을 정도로 TI의 MCU내 ePWM모듈에는 다양한 기능들이 많다. ePWM 모듈은 내부의 서브모듈의 다양한 기능을 활용해 펄스신호를 만들어내고 출력할수있다. ePWM의 서브모듈은 8개로 구성된다. • Time-Base Submodule • Counter Compare Submodule • Action Qualifier Submodule • Dead-Band Generator Submodule • PWM..

[펌웨어][F2837xx] TBCTR Register와 TBSTS Register

TBCTR : Time Base Counter ePWM 모듈에서 컴페어 레지스터와 비교할 때 사용하게되는 카운터 레지스터이다. 레지스터의 필드설명을 보면 16비트로 구성되어있고 읽고 쓰는것이 가능하다. 이 레지스터를 읽어와 변수에 저장하고 다음 시점에서 또 읽어와 다른변수에 저장하면 두 값의 차이를 두 시점이 카운터 몇이 차이나는지 계산할수있다. 이를 응용하여 코드의 실행시간 분석이나 실행 시점등을 소프트웨어적으로 알수있다. 하지만 Up-Down 카운터를 사용하는 경우 레지스터의 값이 증가했다가 다시 감소하기 때문에 Up-Down 카운터 한주기 내에서 두 시점의 레지스터 값을 비교하기 마땅하지 않은 경우가 있다. 이때에는 타이머의 상태 레지스터에서 카운터가 현재 증가하는 상태인지? 감소하는 상태인지? 알..