logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

TMS320C6678 - Ustawienia PLL i periodyczne przerwania w SYS/BIOS z CCS5

maciej_333 18 Maj 2014 15:20 2751 1
REKLAMA
  • #1 13613177
    maciej_333
    Poziom 38  
    Korzystam z płyty TMDSEVM6678L. Mam pytanie dotyczące konfiguracji pętli PLL w SYS/BIOS z wykorzystaniem CCS5. Oczywiście przed załadowaniem programu uruchamiam skrypt GEL - polecenie "Global Default Setup". Teoretycznie powinienem teraz mieć częstotliwość taktowania CorePack na 1000MHz. To by mnie aktualnie nawet zadowoliło. Stworzyłem periodyczne przerwanie w ten sposób (nie mam pojęcia czy wykorzystane jest tu HWI/SWI, lub coś innego):

    Kod: text
    Zaloguj się, aby zobaczyć kod


    Powinienm mieć zatem zdarzenie co 500 cykli zegara. Zatem powinno wynieść to 500ns.

    Funkcja clk0Fxn wygląda tak:
    Kod: text
    Zaloguj się, aby zobaczyć kod


    Mamy tu zatem miganie diodą. Nic szczególnego. Przerwanie przychodzi, co 500 cykli - sprawdziłem to funkcją "Clock_getTicks". Problem w tym, że dioda w ogóle miga. Częstotliwość błysków diody to 1Hz. Z czego wynikałoby, że częstotliwość taktowania rdzeni to 1kHz. Przerwania powinno się pojawiać raczej, co 500ns. O co tu właściwie chodzi ? W CCS częstotliwość PLL jest ustawiona. Mój temat na forum TI: Link.
  • REKLAMA
  • #2 13649353
    maciej_333
    Poziom 38  
    Okazuje się, że częstotliwość taktowania rdzenia wynosi 1000MHz. PLL jest skonfigurowana prawidłowo. Moduł Clock zlicza jak się okazuje przerwania od wybranego Timera, nie zaś takty zegara. Domyślnie czas co jaki przychodzi przerwanie to 1000µs. Zatem jeżeli ustawić ilość taktów w Clocku na 500 uzyskuje się 500ms. Wystarczy zmniejszyć okres przy konfiguracji Clock, albo zastosować moduł Timer. Zastosowane oczywiście jest tu SWI. Problem został rozwiązany, dzięki pomocy kolegów z forum TI.
REKLAMA