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

AtXmega256a3bu - Przetaktowanie procesora, problem z przełączaniem zegara

p.mezydlo 02 Lut 2015 17:32 1290 16
  • #1 14395575
    p.mezydlo
    Poziom 11  
    Udało mi się uruchomić kamerę ov7670 obraz 320x240 ląduje na lcd ssd1289, Atxmega256a3bu pracuje na 32mhz udaje się uzyskać jakieś 5fps trochę mało ale i tak jestem pełen podziwu dla xmegi. Próbuję przetaktować atxmege niestety zegar się nie przełącza. Wstawię kod może ktoś coś znajdzie podpowie będę bardzo wdzięczny, bo sam nie mam pomysłu.
    Kod: text
    Zaloguj się, aby zobaczyć kod
  • Pomocny post
    #2 14396047
    Kużdo
    Poziom 20  
    Nie wiem do końca co chciałeś uzyskać, komentarze masz jakbyś chciał ustawić 32MHz, kod jakbyś ustawiał 2Mhz * 30, więc jeżeli chciałeś to drugie to:
    * w while masz zły warunek, zamiast OSC_RC2MEN_bm powinno być OSC_RC2MRDY_bm (tak, wiem, że to te same wartości, ale powinieneś używać odpowiednich stałych, nawet jeżeli mają te same wartości, ponieważ gdyby w przyszłości zmieniła się wartość pierwszej zmiennej, a drugiej pozostałaby taka jaka jest, to miałbyś problem). Poza tym nie potrzebne jest to opóźnienie,
    * jeżeli dobrze rozumiem notę, to blokada w CCP schodzi po 4 cyklach, więc musisz ją ustawiać ponownie,
    * wg. noty, włączenie PLL powinno być robione dopiero po ustawieniu mnożnika i źródła, dodatkowo jest podlinkowany rejestr STATUS, co oznacza, że powinieneś go sprawdzać przed włączeniem PLL.

    Więc spróbuj może taki kod:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Nie jestem pewien czy to będzie działać, bo nigdy nie miałem w rękach XMegi, a szczerze powiedziawszy to dopiero zaczynam zabawy z AVR (:D), ale wg. noty katalogowej, to tak to powinno wyglądać...

    PS. Staraj się pisać kod bardziej czytelnie, nie łącz operatorów z tekstem, stawiaj spacje pomiędzy nimi i sprawdzaj kod, bo ostatnia linijka zawiera dwie funkcje, z czego druga jest pusta.
  • #3 14396330
    p.mezydlo
    Poziom 11  
    Z moich obserwacji(po poprawkach oczywiście) wynika że nie atxmega nie może ustabilizować układu pll.

    zatrzymuje się w tym msc(dodałem diody)
    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #4 14396458
    Kużdo
    Poziom 20  
    Odczytaj przed tą linijką:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    zawartość OSC.PLLCTRL i później po tej linijce ponownie i sprawdź czy się zmieniło, jeżeli nie (co wydaje mi się najsensowniejsze), to przed tą linijką wrzuć wyłączenie zabezpieczenia rejestrów czyli:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    A w sumie możesz od razu to wrzucić przed tę linijkę i sprawdzić czy będzie działało.
  • #5 14396725
    Konto nie istnieje
    Poziom 1  
  • #6 14397059
    p.mezydlo
    Poziom 11  
    Dzięki kolego że nic nie wniosłeś do rozmowy(typowe w sumie). Nie mam cortex i nie mam zamiaru się nim bawić. Projekt wyłącznie naukowy więc dlaczego by nie spróbować.

    Wracając do tematu zrobiłem to co kolega Kuzdo zaproponował ale nadal PLL nie chce się ustabilizować(spr nawet dla całkiem normalnego mnożnika 10 i 15). Hmm przekopałem już sporo forów ale nic ciekawego.
  • Pomocny post
    #7 14397718
    Kużdo
    Poziom 20  
    Marek_Skalski napisał:
    No brawo, brawo... Xmega na 60MHz, bo za mało fps.
    Przecież ten uC chodzi tylko na 32MHz legalnie i dlatego PLL nie może się zatrzasnąć na 60MHz. A tak naprawdę to chyba 120MHz? Czasami komuś uda się uzyskać 48MHz, ale to już spore ryzyko, bo działa tylko przy spełnieniu pewnych warunków i różne cuda potrafią się zdarzyć. Kiedyś testowałem xmega256A3BU na płytce Xplained i wiem, że przy 48MHz układ nie jest/nie był stabilny.
    A wystarczy wziąć małego Cortex'a z DCMI i obraz z kamery do LCD lub PC przesyła się łatwiej, szybciej i taniej.

    A kolega umie liczyć? 30 x 2MHz to 120MHz? Chwila szukania w Googlach i widzę, że jest sporo stron, gdzie ludzie twierdzą, że pracowali na częstotliwościach do 70MHz i wszystko było ok, dopiero powyżej działy się cuda. Jedną z rzeczy, którą wyczytałem (i która może być prawdą, ale nie mam pewności) to to, że PLL może pracować nawet i na większych częstotliwościach, ale CPU już nie i w takich przypadkach można np. korzystać z wysokiej rozdzielczości timerów (np. na 88MHz), ale CPU powinno chodzić na swoich niższych częstotliwościach (czyli w tym przykładzie np. na 1/4 tego co PLL, więc 22MHz). Jak jest prawda, tego nie wiem, bo jak już w pierwszym poście zaznaczyłem, ja dopiero zaczynam zabawy z AVR (mam dopiero pierwszą ATMegę32 i nic więcej poza tym, a co dopiero ATXMega), więc opieram swoje wypowiedzi na nocie/forach internetowych.


    @p.mezydlo, przeczytałem dokumentację jeszcze raz i proponuję taki kod:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Jeżeli to nie zadziała, tzn. że oprócz tego co jest trzeba dodać jeszcze prescaler (PSCTRL - jest chroniony, więc trzeba przed jego ustawieniem wyłączyć CCP) ustawiony na 2, by zegar CPU wyniósł 30MHz.

    // Edit:
    Więcej informacji możesz szukać w TYM PDF-ie na stronie 5, punkt 2.3. Jest też tam takie info:
    Cytat:
    The user should make sure that the input clock source is stable before trying to enable the PLL. When enabled, the PLL typically needs 64 reference cycles to stabilize.
    The PLL configuration cannot be changed without disabling it first. Hardware will disregard any attempts to change the configuration while it is enabled.
    The user is responsible for providing a minimum input clock frequency of 0.44 MHz to the PLL and make sure that the output never exceeds 200 MHz. The minimum input frequency requirement applies when using an external clock signal as input to the PLL.


    Oraz w TYCH źródłach masz przykłady użycia wraz z ciekawą biblioteką do łatwego konfigurowania rejestrów. Polecam zajrzeć do clksys_example.c, linia 152 - dokładnie taki przypadek jak Twój.
  • #8 14397894
    BlueDraco
    Specjalista - Mikrokontrolery
    Autorze: projekt oceniłbym raczej jako szczeniacki, niż naukowy. Do jakiej prędkości rozpędzasz samochód na krętej drodze z drzewami w poboczu w czasie gołoledzi?
    Rozwiązanie problemu jest b. proste i wskazał je Marek Skalski. To Twoje wpisy niewiele tu wnoszą sensowności i technicznej poprawności.
  • #9 14397912
    Kużdo
    Poziom 20  
    BlueDraco napisał:
    Autorze: projekt oceniłbym raczej jako szczeniacki, niż naukowy. Do jakiej prędkości rozpędzasz samochód na krętej drodze z drzewami w poboczu w czasie gołoledzi?
    Rozwiązanie problemu jest b. proste i wskazał je Marek Skalski. To Twoje wpisy niewiele tu wnoszą sensowności i technicznej poprawności.


    Rozumiem, że Pana wypowiedź jest na temat i z pewnością pomoże lub przybliży problem autora tematu :) Bardzo profesjonalne podejście, nie ma co... Proszę mi wskazać punkt jakiegokolwiek Regulaminu zakazujący testowanie sprzętu, który się zakupiło - jakkolwiek byśmy chcieli go testować. A Pan Marek Skalski napisał troszkę więcej niż Pan, chociaż w sumie mijał się z prawdą, bo dokumentacja Atmela mówi co innego, a dokładniej - PLL może mieć max. 200 MHz na wyjściu. Może mi Pan również wskazać jakieś wytyczne wg. których ocenia Pan projekty jako szczeniackie albo naukowe? Wg. mnie, jeżeli ktoś się uczy lub coś sobie dłubie i testuje, to jest to projekt naukowy, bo czegoś się przez niego nauczy... Ale pewnie co ja tam wiem... No a poza tym, wystarczy tego mojego offtopica...
  • #10 14398277
    p.mezydlo
    Poziom 11  
    Działa na 60Mhz bez zarzutu. Ustawienia kamery lcd robię na 32Mhz dopiero gdy xmega zabiera się za przechwytywanie obrazu włączam 60Mhz. Dziękuje wszystkim za pomoc.
  • #11 14398709
    BlueDraco
    Specjalista - Mikrokontrolery
    Kuzdo:

    Projekt, który opiera się na pogwałceniu wartości układu specyfikowanych przez producenat jako graniczne, ocenić można tylko w jeden sposób. Takie projektowanie, to narażenie zdrowia ew. życia uśytkowników i finansów producenta. Działanie takiego urządzenia zależy np. od temperatury, a nawet od wilgotności powietrza. Proponuję zadać sobie proste pytanie: czy chciałbyś być nabywcą i użytkownikiem urządzenia zaprojektowanego w taki sposób?
  • #12 14399055
    Kużdo
    Poziom 20  
    Z przykrością pociągnę ten offtopic, ale gdzie tutaj zostało coś pogwałcone? PPL wg. Atmela można ustawiać do wyjściowych 200MHz, a nawet jeżeli zostałoby coś pogwałcone, to czy to jest sprzęt masowej produkcji dla klientów (chodzi mi tutaj o projekt autora tematu)? Skąd w ogóle pomysł, że takie projektowanie to narażanie czyjegoś życia lub finansów producenta i skąd pomysł, że to mogłoby trafić do klientów? Rozumiem, że chińszczyzna jest ok, bo skoro trafia do klientów, tzn. że pewnie jest projektowana w przemyślany sposób.

    Powtórzę po raz trzeci w tym temacie, sam zaczynam zabawy z AVR (naprawdę, w domu mam jedną ATMegę32, 6x wyświetlacz 7-segm., pcf8563 i uln2803 i zrobiłem sobie zegarek, bo dopiero zaczynam zabawę) i nie widzę nic złego w testowaniu SWOICH egzemplarzy jakichś tam produktów. Pierwsze co zrobiłem po kupieniu płytki stykowej i kilku LEDów, to sprawdzałem jak się przepalają... Tak dla testów/zabawy, bo zakupiłem za mało rzeczy, by móc coś sensownego złożyć...

    Kolega próbował tutaj rozwiązać swój problem, a Wy przychodzicie i marudzicie (tak, marudzicie), że ktoś coś robi nie tak ze swoim egzemplarzem. Rozumiem, że inni użytkownicy są ok, bo nie musicie im tak gadać? Że nie blokują sobie układów, nie podłączają vcc pod gnd albo nie robią innych zwarć na układach...

    Nie każdy jest święty i nie każdy czyta noty od A do Z, żeby wszystko wiedzieć, część nawet czyta to co potrzebne, ale źle to rozumie i przychodzi tutaj z problemami by poszukać u kogoś pomocy. Idiotyzmem jest nazywanie czyichś prac szczeniackimi, tym bardziej, że nie jest to żaden ukończony projekt, tylko jakieś próby połączenia kilku rzeczy w jedną całość... Jedyna szczeniacka tutaj "rzecz", to zachowanie komentujących w taki sposób, nic nie wnosicie do tematu, a tylko obrażacie innych użytkowników...


    Moderowany przez dondu:

    Panowie, proszę o mniej emocji, a więcej merytoryki :)
    bo już sypią się raporty ....

  • #13 14399359
    Konto nie istnieje
    Konto nie istnieje  
  • #15 14399797
    p.mezydlo
    Poziom 11  
    Aż żal zamykać tak interesującą rozmowę. Mogę się tylko pochwalić tzn. pochwalić xmege bo od kilkunastu godzin bez przeszkód odświeża obraz.
    Podsyłam zdjęcie. Eksperymenty polecam i pozdrawiam @p.mezydlo AtXmega256a3bu - Przetaktowanie procesora, problem z przełączaniem zegara
  • #16 14399973
    BlueDraco
    Specjalista - Mikrokontrolery
    Pochwal w lecie albo po zamknięciu urządzenia w obudowie. ;)
  • #17 14417785
    p.mezydlo
    Poziom 11  
    Zamykam. Wszystko wyjaśnione kod też jest. Powodzenia.
REKLAMA