Witam
Po latach wracam do głębszego poznania procków MSP430F a konkretnie MSP430F449 i mam problem z układem taktującym. Podłączając rezonator "zegarkowy" 32768Hz i wykorzystując ustrojstwo wewnątrz procka do mnożenia częstotliwości chcę uzyskać sygnał taktujący rzędu ok 8MHz. Postępuję według noty TI: Link tyle że jest tam według mnie nie do końca sprecyzowane co uzyskam konfigurując poszczególne rejestry a już tym bardziej nie zgadza się to z tym co uzyskuję w praktyce.
Konkretnie chodzi o częstotliwość fDCOCLK którą wybieram jako sygnał dla MCLK i SMCLK. Według noty fDCOCLK=(N+1)*fcrystal dla wyzerowanego bitu DCOPLUS lub fDCOCLK=D*(N+1)*fcrystal dla ustawionego bitu DCOPLUS gdzie N jest określane przez bity w rejestrze SCFQCTL a D określają bity FLLDx w rejestrze SCFI0 w praktyce jednak wychodzi że przy DCOPLUS=1 fDCOCLK w przybliżeniu jest proporcjonalne do D a przy DCOPLUS=0 odwrotnie proporcjonalne. I jaki wpływ liczbowy na częstotliwość końcową mają bity FN_x w generatorze DCO bo ich zmiana znacząco zmienia częstotliwość wyjściową ale nie znalazłem wzoru w jaki sposób.
To jest listing programu jaki używam do testów:
Przerwania od timera A używam do zapalania diody i odmierzania czasu za jej pomocą.
Może trochę nie jasno wszystko opisałem więc uściślę pytanie: Czy ktoś zna faktyczne wzory na konfigurację rejestrów aby otrzymać faktyczną wartość częstotliwości taktującej bo to co podaje producent w nocie aplikacyjnej nijak się ma do tego co otrzymuję w testach?
Potrzebuję znać konkretną wartość bo chce te procki wykorzystać do transmisji przez USART.
Pozdrawiam
Po latach wracam do głębszego poznania procków MSP430F a konkretnie MSP430F449 i mam problem z układem taktującym. Podłączając rezonator "zegarkowy" 32768Hz i wykorzystując ustrojstwo wewnątrz procka do mnożenia częstotliwości chcę uzyskać sygnał taktujący rzędu ok 8MHz. Postępuję według noty TI: Link tyle że jest tam według mnie nie do końca sprecyzowane co uzyskam konfigurując poszczególne rejestry a już tym bardziej nie zgadza się to z tym co uzyskuję w praktyce.
Konkretnie chodzi o częstotliwość fDCOCLK którą wybieram jako sygnał dla MCLK i SMCLK. Według noty fDCOCLK=(N+1)*fcrystal dla wyzerowanego bitu DCOPLUS lub fDCOCLK=D*(N+1)*fcrystal dla ustawionego bitu DCOPLUS gdzie N jest określane przez bity w rejestrze SCFQCTL a D określają bity FLLDx w rejestrze SCFI0 w praktyce jednak wychodzi że przy DCOPLUS=1 fDCOCLK w przybliżeniu jest proporcjonalne do D a przy DCOPLUS=0 odwrotnie proporcjonalne. I jaki wpływ liczbowy na częstotliwość końcową mają bity FN_x w generatorze DCO bo ich zmiana znacząco zmienia częstotliwość wyjściową ale nie znalazłem wzoru w jaki sposób.
To jest listing programu jaki używam do testów:
Kod: C / C++
Przerwania od timera A używam do zapalania diody i odmierzania czasu za jej pomocą.
Może trochę nie jasno wszystko opisałem więc uściślę pytanie: Czy ktoś zna faktyczne wzory na konfigurację rejestrów aby otrzymać faktyczną wartość częstotliwości taktującej bo to co podaje producent w nocie aplikacyjnej nijak się ma do tego co otrzymuję w testach?
Potrzebuję znać konkretną wartość bo chce te procki wykorzystać do transmisji przez USART.
Pozdrawiam