내 친구 매버릭 10편(완결). TIMER(PIT) - 2009/02/10 23:05

관련교재(EP93xx_Users_Guide_UM1.pdf) : CHAP18( ~ page18.8)

여기서 TIMER라는 명칭대신에 PIT 라고 호칭 하도록 한다(PIT 는 Periodic Interrupt Timer 의 약어). 흔히 TIMER 는 그 활용에 있어서 PWM 장치나 Event Counter 로도 사용되는 만큼 본 칼럼에서의 주제는 주기적으로 발생 하는 인터럽트에 의한 시계 기능으로서의 타이머에만 촛점을 맞추어 살펴 보도록 한다.

타이머 장치(PIT) 는 그 사용에 있어 우선 임베디드 시스템을 비롯한 수많은 전자기기의 시계 기능으로서의 역할을 훌륭이 수행 해 왔다. 여기서의 시계라는 것은 우리가 일상생활에서 생각하는 시계와는 구별이 되어 그런 시계는 임베디드에서 RTC(Real Time Clock) 라는 이름으로 별도로 존재 한다.

PIT 는 운영체제의 이른바 커널이 필요로 하는 시계라고 보면 되겠다.

동작 원리를 간단하게 서술해 본다면, 프로그램된 시간마다 인터럽트가 발생하며 그 시간은 설정하기 나름 이겠으나 통상 1~10ms 의 시간으로 세팅 된다. 프로그램 된 시간마다 인터럽트가 발생하면 해당 ISR에서는 소위 TICK 이라는 누적변수에 값을 +1 증분 시키게 된다.

바로 이 TICK 이 커널에서 인식하는 시계라고 보면 되겠다.


PIT의 기술 적인 부분은 다음과 같다.


PIT의 체크포인트

첫째, 타이머의 동작 클럭과 카운터의 크기(예. 8비트, 16비트, 20비트, 32비트)에 따라 표현 할수 있는 시간의 범위가 결정된다.

따라서 원하는 시간의 대역을 먼저 확인한 후 타이머의 동작 클럭과 분주값(Prescaler) 을 결정하고 사용 카운터의 PRELOAD 값을 차례로 결정한다. 대개 이러한 값을 선정하는데는 참조 공식이 이미 있으므로 이와 관련하여 큰 기술적 어려움은 없을 것이다. 언급한 공식은 해당 레퍼런스 가이드를 참조 하여야 한다.

둘째, 타이머의 동작 모드에 따라 periodic 혹은 free-running mode 을 선택한다.

셋째, 시계의 기능이므로 프로그램된 시간으로 정확히 동작하는지의 여부를 확인하는 것은 필수.


본 칼럼을 끝으로 예정된 제 1단계의 모든 주제를 소화 하였다.

다음 2단계 칼럼의 시작은 빨라도 2주후에 시작 될 것으로 생각된다. EP9302 보드가 도착하면 준비된 코드를 내리고 디버깅 한 후 그 내용을 토대로 제 2단계의 기술칼럼을 써내려 갈 것을 약속 드린다.


다음 시간을 기약하며. . .


posted by 가일(GUILE)

♡ 포스팅이 유익 하셨다면 E-mail로 가일의 임베디드 스쿨을 구독하세요->

Trackback Address :: http://www.hongikcom.com/trackback/68 관련글 쓰기
Name
Password
Homepage
Secret
< PREV |  1  |  ...  66  |  67  |  68  |  69  |  70  |  71  |  72  |  73  |  74  |  ...  131  |  NEXT >