2.8 실시간 타이머
시간을 측정 하기 위한 RTT 가 존재 한다. SCLK클럭으로 동작 하며, 32bit 카운터 이다. 초단위 카운터 동작이 가능하며 시간을 비교해서 알람을 발생할 수 있으며 인터럽트 발생도 가능하다.
Real-time Timer Mode Register
- RTTRST : 1설정시 32bit 카운터 16비트 분주기 0으로 초기화
- RTTINCIEN : 1 설정시 RTTINC 가 set 되면 rtt_int로 인터럽트 요청
- ALMIEN : 1설정시 ALMS 가 set되면 rtt_int로 인터럽트 요청
- RTPRES : 1설정시 1~65536중 지정된 값으로 프리스케일러 동작 , 0 설정시 2에16승으로 프리스케일러 동작
Real-time Timer Alarm Register
- ALMV : 32bit 카운터와 비교되는 알람발생 값
Real-time Timer Value Register
- CRTV : 32bit 카운터
Real-time Timer Status Register
- RTTINC : 1설정시 이전 RTT_SR을 읽은후 32bit 카운터값 증가
- ALMS : 1설정시 이전 RTT_SR을 읽은후 알람이 발생
2.9 주기 타이머
OS에게 주기적인 인터럽트 신호를 주기 위한 타이머이며 이름은 PIT 라 한다. 정확도를 위한 MCLK를 사용한다. PIT_MR레지스터의 PITEN을 설정하여 동작시킨다. 디버그 모드에서 동작을 정지하며 CPIV값이 증가 하다가 PIV값과 동일해지면 0으로 초기화하고 PICNT 값을 1씩 증가 시킨다. 이때 인터럽트를 발생 할 수도 있으며, 인터럽트 발생을 위해 PIT_MR의 PITIEN을 설정해야 한다. 인터럽트 발생 후 PIT_PIVR을 읽으면 PICNT 값이 0이 되며 PIT_SR 레지스터의 PITS bit도 0으로 변경하면서 인터럽트가 종료 된다. PIT_PIIR 을 읽으면 PITS bit가 0이 되지 않는다.
Periodic Interval Timer Mode Register
- PITIEN : 1설정 시 PITS 비트 설정 시 pit_irq로 인터럽트 요청
- PITEN : 1설정시 타이머가 동작, 0 설정시 한번 카운터 완료되면 정지
- PIV : CPIV와 비교하기 위한 값
Periodic Interval Timer Status Register
- PITS : 1시에 CPIV값이 PIV값과 동일하게 된 적이 있다.
Periodic Interval Timer Value Register
- PICNT : PITS가 발생된 횟수를 기록한다.
- CPIV : 타이머 카운터
Periodic Interval Timer Image Register
- PICNT : PITS가 발생된 횟수를 기록한다.
- CPIV : 타이머 카운터
'공부 > SAM7S' 카테고리의 다른 글
[SAM7S] AT91SAM7S 자료 10 (0) | 2012.11.14 |
---|---|
[SAM7S] AT91SAM7S 자료 9 (0) | 2012.11.14 |
[SAM7S] AT91SAM7S 자료 7 (0) | 2012.11.14 |
[SAM7S] AT91SAM7S 자료 6 (0) | 2012.11.14 |
[SAM7S] AT91SAM7S 자료 5 (0) | 2012.11.14 |