timer를 통해 시간을 생성을 하다가 나중에 확인을 하면 시간이 틀어진 경우를 확인 할 수 있다.
왜 시간이 틀어지는것인가 확인을 해보면 PPM때문에 발생한 이슈였다.
PPM이란 Parts per Milion의 약자이며 100만분의 1이다.
MCU가 도앚ㄱ하기 위해서는 크리스털이나 오실레이터를 사용한다.
아무리 정확한 크리스털 혹은 오실레이터라도 오차가 발생할 수 있다는 것이다.
일반적으로 20PPM을사용하니 20 / 1000000정도의 오차가 생긴다.
이번에 테스트 한 장비는 25MHz 오실레이터를 사용 했으니 500Hz의 오차가 발생 할수있다는것이다.
이것을 시간으로 바꾸면 매우 큰 오차가 되니 시간을 만들때는 동기화 및 알고리즘을 잘 사용하도록 하자…
'FW' 카테고리의 다른 글
STM32CubeIDE개발환경 구축하기 (0) | 2022.09.01 |
---|---|
LPF(low pass filter) (0) | 2022.01.27 |
stm32 HAL timer(1) (0) | 2021.10.30 |
IAR Heap Stack size 조절 (0) | 2021.09.19 |
Hanning window (0) | 2021.09.19 |