embeded/Cortex-M4 Ti2016. 11. 2. 19:19

32.768kHz를 달았는데

10분에 10초 빨라짐..

도대체 머가 문제일까...


//*****************************************************************************

//

// Macros defining oscillator configuration options for the

// HibernateClockConfig() function.

//

//*****************************************************************************

#define HIBERNATE_OSC_LFIOSC    0x00080000

#define HIBERNATE_OSC_LOWDRIVE  0x00000000

#define HIBERNATE_OSC_HIGHDRIVE 0x00020000

#define HIBERNATE_OSC_DISABLE   0x00010000

#define HIBERNATE_OUT_WRSTALL   0x20000000

#define HIBERNATE_OUT_SYSCLK    0x00000001

#define HIBERNATE_OUT_ALT1CLK   0x00000002 


드라이버 상에서

LOWDRIVER / HIGHDRIVER는 12pF / 24pF 관련설정이고 기본은 12pF(LOW)

OSC_DISABLE은 아래의 OSCBYP 쪽인데.. 설정을 하던 안하던 동일하다..

설정문제일까.. 클럭문제일까..


일단 32.7인데 33k 정도 잡히는거 봐서 빠른게 당연한건가 싶기도 하고

오실로스코프 한계일지도 모르지만 클럭이 날뛰면서 60k로도 잡히고 1M급으로도 날뛰어서

머가 문제인지... ㅠㅠ



+

RTC trim으로 조절하라는데 끄응...

[링크 : https://e2e.ti.com/support/microcontrollers/tiva_arm/f/908/t/257944]


어떻게 보면.. 0x7FFF는 32,767이고 

32.768kHz 에서 카운터로 사용하는 녀석이라 빠른 만큼 조절해주면

1초를 맞출수는 있는데.. 그래도 어느정도는 하드웨어로 맞추는게 낫지 않으려나...


extern void HibernateRTCTrimSet(uint32_t ui32Trim); 




계산을 해보니 1분 = 60초에 1초가 더 빨라지는 식이니

32768hz * 60 = 1분

32768/60 = 546.1333 이니

대충.. 32222 = 0x7DDE로 trim을 설정하면 시간이 맞아 지려나?

미네랄 여전히 똑같이 빠르네 -_-

(2분 확인)


미친척 더해보자? ㅋㅋ

0x8222


---

0xFFFE 로 했는데도 속도에 차이가 없는걸 보면 다른 설정을 건드려야

trim이 적용 되는 걸..지도?

'embeded > Cortex-M4 Ti' 카테고리의 다른 글

tm4c 하이버네이트 소스...  (0) 2016.12.20
tm4c rtc trim...  (0) 2016.11.23
tm4c hibernate module 초기화 관련..  (0) 2016.11.01
32.768kHz 크리스탈과 1Mohm 저항 유무에 따른 파형 차이  (0) 2016.10.28
tm4c FIFO 길이  (0) 2016.10.26
Posted by 구차니