UNIT 15 Timer & Watch Dog 로봇 SW 교육원 조용수
학습 목표 Timer Timer Register Watch Dog Watch Dog Register
Timer Timer 는 내부 클럭을 Counting 하는 작업을 수행한다. 정확한 시간을 측정하거나 , 주기적으로 반복되는 작업 처리를 위해 사용. 외부 입력 핀(T0~T3) 클럭 카운팅, 간격 측정 등의 기능이 지원되기도 한다.
Timer N051 시리즈는 4개의 32Bit Timer 사용 각 Timer 는 독립적인 Clock Source를 사용 Time-out period (Period time of timer clock input) * (8-bit prescale counter + 1) * (24-bit TCMP) Maximum counting cycle time (1 / T MHz) * (2^8) * (2^24),
Timer Timer 동작방식 One-Shot : 1번 인터럽트 발생 후 종료 Periodic : 설정된 값에 따라서 주기적으로 인터럽트 발생 Toggle : T0~T3 핀으로 주기적으로 Output Signal 생성 Continuous Counting : 인터럽트 발생 후 타이머가 초기화 되지 않고 Counting 을 계속
Up Counter Setting Toggle Output : TMx Tx or TxEX Ex: TCMPR=100 Interrupt 100 One shot Reset counter Periodic 100 Reset counter Toggle Output : TMx Tx or TxEX Toggle 100 Overflow 100 101 224-1 Continuous counting
Timer Event Counting Mode Event Capture Mode T0~T3 핀의 클럭을 Counting Counting 가능 한 입력 클럭은 1/3 HCLK 이하 De-bounce Mode 에 따라서 달라짐 Event Capture Mode TxEX Pin 에서 클럭이 들어올 경우, TDR 의 Counting 값을 저장한다.
Timer Block Diagram Timer/Counter Capture Main block is 24-bit up counter. The count speed is controlled by clock source and prescale. If the number of up counter equals TCMPR, timer will generate reset up-counter signal or interrupt to do something. The equation is below. Besides, up-counter supports read back function.
Timer Register
Timer Register
Timer Register
Timer Register
Timer Register
Timer Register
Timer Register
Timer Register
Watch Dog 프로그램 오류나 H/W 동작이상으로 무한 루프 상태로 빠지는 것을 방지하기 위함. 일정 시간 내에 Counter를 Clear 를 하지 않으면 Reset
WDT Block Diagram
WDT Interval Select WTIS Interrupt Timeout Watchdog Reset Timeout WTR Timeout Interval (WDT_CLK = 10KHz) WTR Reset (WDT_CLK=10KHz) 000 24 WDT_CLK (24 + 1024) WDT_CLK 1.6 ms 104 ms 001 26 WDT_CLK (26 + 1024) WDT_CLK 6.4 ms 108.8 ms 010 28 WDT_CLK (28 + 1024) WDT_CLK 25.6 ms 128 ms 011 210 WDT_CLK (210 + 1024) WDT_CLK 102.4 ms 204.8 ms 100 212 WDT_CLK (212 + 1024) WDT_CLK 409.6 ms 512 ms 101 214 WDT_CLK (214 + 1024) WDT_CLK 1.6384 s 1.7408 s 110 216 WDT_CLK (216 + 1024) WDT_CLK 6.5536 s 6.656 s 111 218 WDT_CLK (218 + 1024) WDT_CLK 2.62144 s 26.3168 s
Watch Dog Register
WatchDog Register