[펌웨어설계] 6. 타이머

Sireal·2022년 2월 8일
0

펌웨어 설계

목록 보기
6/16

STM32F4 Clock

  • STM32F429의 Clock은 최대 180MHz 속도
    • 동작속도가 빠르면 전력소모가 많음.
  • 외부에 clock, 오실레이터를 달아야 보통 cpu가 작동하는데 이친구는 내부에 크리스털이 있어서 필요없음

CPU clock 설정

  • HSE : High Speed External : 외부 빠른속도 클럭 설정
  • HSI : High Speed Internal : 내부 빠른속도 클럭 설정
  • LSE : Low Speed External : 외부 느린속도 클럭설정(32.728KHz)
  • LSI : Low Speed External : 내부 느린속도 클럭설정(32KHz)

회도로 보는 클럭

  • X3는 외부 크리스털이지만 N/A(없음) 상태 -> HSE 불가능
  • X2는 외부 크리스털이며 LSE로 사용 가능.
    • LS : Low Speed. 초단위 시간을 재는 속도. 32.728KHz가 초단위로서 정확하다.

LSE로 설정하는 과정

  • System Core -> RCC -> LSE ( Crystal/Ceramic Resonator )
    • Activate Clock Source 설정
    • LSE로 설정

타이머 종류 5가지

  • SystickWatchDoc TimerBasic TimerGeneral purpose TimerAdvanced-control Timer
  • SysTick : 시스템 틱. 항상동작하는 시스템 타이머 ( 항상 1ms 단위 동작하는 인터럽트 발생 )
  • WatchDog Timer : CPU의 오동작을 탐지하여 문제가 발생하면 재부팅 시켜주는 타이머
  • Baci Timer : 입출려기능없음. 시간기반 타이머.
  • General purpose Timer : 범용타이머, 출력비교, 원펄스, 입력캡쳐 등으로 사용되는 타이머
  • Advanced-control Timer : 범용타이머 보다 기능이 많음. 모터제어, 디지털 파워변환 용도

타이머 특징 분류

  • 카운터 해상도 : 16비트 또는 32비트로 구성
  • 카운터 타입 : Up , Up or Down, Up & Down
  • DMA를 사용할 수 있는 타이머

타이머 레지스터

  • Counter Register : 카운터 값 자체를 저장하는 레지스터. 종류마다 up down 호환
  • Prescaler register : 분주비 레지스터. 공급되는 클럭을 1~65536 범위로 나누어 분주비 설정하는 레지스터
  • Auto Reload Register : 카운터 주기 레지스터
  • Capture/ Compare_Reg : 캡쳐/비교기 레지스터.

General Purpose Timer를 사용한 타이머 설정

  • Timer에서 공급되는 버스 'Clock속도, Prescaler값, Peroid 값'
  • 위의 세가지를 만져야 원하는 주기를 발생시킬 수 있다.
    • Period (1/APB1) Prescaler
    • 0.01초 = 900 (1/90MHz) 1000
profile
🚄계속 앞으로🚄

0개의 댓글

관련 채용 정보