티스토리 뷰

STM32Fxx

STM32F429 - WWDG(Window Watch Dog)

라이다 2018. 11. 4. 16:01
반응형

14. WWDG (Window Watch Dog)

-와치독 타이머는 프로그램이 어느 일정 시간을 초과해서 멈춰 있을 때 MCU 스스로 리셋하는 기능이다 이 기능을 사용하면 사용자가 수동으로 MCU를 리셋할 수 없는 상황일 때 사용된다

 

Block diagram

RM0090 데이터 시트에서 block diagram을 검색해보면 왼쪽과 같이 WWDG APB1 클럭에 연결 되어있다.



위의 그림은 와치독 타이머의 타이밍도이다 TCNT 카운터가 0x3F까지 내려오면 Reset이 된다.

Refresh allowed 구간에서 Refresh 함수를 실행해 주지 않는다면 MCU는 현재 자신의 동작에 문제가 있음을 알고 자체적으로 리셋을 한다.

Refresh not allowed 구간에서는 Refresh함수를 실행하면 Refresh가 되지 않는다.



CUBE MX 설정


Prescaler: APB1클럭을 8분주로 나눠 사용하겠다 16Mhz/8 = 2Mhz, 1clk = 0.5us

Window value: 위 의 Figure215 그림의 W[6:0]

Downcounter value: Figure215 그림의 T[6:0]


 

WDGTB 0~3값이다 CUBE MX에서 이미 8로 설정하였다 그러므로 우리는 WDGTB 3으로 설정한 것이다.




           와치독 타이머 실행 후 55.29ms~ 129.02ms 사이에 Refresh를 걸어주면 Reset이 일어나지 않는다

 

Source Code

/* USER CODE BEGIN 3 */

    HAL_Delay(54);//test 54,55,129,130

    //원래 딜레이 129까지 리프레쉬가 먹혀야 되는데 함수의 사이클로 인한 미세한 오차로 인해 129, 130으로 테스트 한다

    if(HAL_WWDG_Refresh(&hwwdg)== HAL_OK){

      HAL_GPIO_WritePin(GPIOG, GPIO_PIN_14, GPIO_PIN_SET);

    }

 

실행결과

14.WWDG 폴더의 동영상 참고






반응형

'STM32Fxx' 카테고리의 다른 글

STM32F429-DMA IT (Direct Memory Access Interrupt)  (0) 2018.11.08
STM32F429 - DMA poll(Direct Memory Access)  (0) 2018.11.04
STM32F429-IWDG(Independent Watch Dog)  (0) 2018.10.24
STM32F429-SPI IT  (0) 2018.10.24
STM32F429 - SPI Poll  (0) 2018.10.18
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함