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

XMEGA256a3bu - Vbat - brak podtrzymania RTC32 po odłączeniu zasilania

Mystik 23 Lis 2016 17:55 939 5
  • #1 16081192
    Mystik
    Poziom 11  
    Witam,

    Ćwiczę ostatnio Xmegę. A ponieważ chcę uprościć konstrukcję, to chce wykorzystać RTC32 i V-bat.

    Generalnie wszystko udało się już uruchomić poza PWM-ami, łącznie z zegarem i teoretycznie systemem podtrzymania bateryjnego.

    Pisze teoretycznie, bo nie do końca jestem zadowolony z jego działania.

    Jeśli chodzi o przykładowe procedury, to korzystałem z książki AVR Praktyczne projekty, a do zegara z ASF.

    Najpierw zastosowałem kondensator jako źródło zasilania awaryjnego na pinie Vbat. Ale zauważyłem, że tak co drugi, trzeci raz jak wyciągnę wtyczkę zasilacza z gniazdka, to układ zgłasza błąd:

    if (VBAT.STATUS & VBAT_BBPORF_bm) return 2


    co powoduje wyzerowanie zegara.

    Wymieniłem kondensator na baterie odłączając Vbat całkowicie od zasilania i jest to samo.

    Nie wiem o co chodzi. Spotkał się ktoś z czymś takim?

    I jeszcze jedno. Kiedyś do AVR-ów były piękne kilkuset stronicowe dokumentacje z opisanym każdym bitem konfiguracyjnym, a tego diabelstwa o Vbat nie mogę znaleźć.

    pozdrawiam
  • #2 16081401
    tmf
    VIP Zasłużony dla elektroda
    W nocie np. XMEGA A manual masz opis systemu podtrzymywania. Co do problemów to może wynikają one z błędnego projektu elektrycznego płytki. Zobacz jak zaprojektowana jest płytka XPlained XMEGA z XMEGA256A3BU.
  • #3 16081572
    Mystik
    Poziom 11  
    Dzięki za odpowiedź.

    Powiem, że niestety mądrzejszy nie jestem :D
    Przeanalizowałem wszystko programowo. Płytka jest faktycznie pewną modyfikacją płytki "startowej" leon-a do Xmegi bez wejścia vbat i może, powtórzę może z tego powodu są problemy.

    Z dokumentacji odczytałem znaczenie flagi, która się ustawia w problematycznych momentach:

    Bit 0 – BBPODF: Battery Backup Power-on Detection Flag

    This flag is set if battery backup power-on is detected; i.e., when power is connected to the VBAT pin. The flag is updated only during device startup when main power is applied. Applying or reapplying power to the VBAT pin while main power is present will not change this flag until main power is removed and re-applied. The flag can be cleared by writing a one to this bit location. This flag is not valid when BBPWR is set.

    No i teraz prosze o pomoc jak powyższe rozumiecie?

    Bo dla mnie ta flaga powinna się ustawiać gdy wraca zasilanie podstawowe, a to z baterii jest nagle poniżej progu. Albo samo przełączenie zasilania w układzie zasilania awaryjnego szwankuje.
    U mnie pin Vbat jest podpięty TYLKO do baterii zewnętrznej. Masa oczywiście do masy płytki.

    Tak kombinuje czy może sam scalak nie jest jakiś trefny? Niestety dostanie Xmegi 256a3bu w normalnej cenie graniczy z cudem :(. Dlatego na podmianę nie mam.

    Spróbuję jeszcze podłączyć pod Vbat oscyloskop i zobaczę czy może tam się coś nie dzieje.
  • Pomocny post
    #4 16081652
    tmf
    VIP Zasłużony dla elektroda
    Znaczy to tylko, że na VBAT jest napięcie, czyli jest OK. Źle by było gdyby ustawiona była BBBODF.
  • #5 16081744
    tronics
    Poziom 38  
    Cytat:
    No i teraz prosze o pomoc jak powyższe rozumiecie?

    No jak... tak jest to opisane. Jeśli masz podłączone VBAT to przy uruchomieniu (załączenie normalnego zasilania) flaga zostanie ustawiona. Tyle i tylko tyle. Odłączanie i podłączanie VBAT podczas pracy na głównym zasilaniu nic nie zmieni. Ona jest aktualizowana tylko podczas startup. Twoje rozumienie działania tej konkretnej flagi jest nieprawidłowe.
  • #6 16083278
    Mystik
    Poziom 11  
    No zgodziłbym się z Wami w 100% gdyby nie to, że niestety nie do końca to działa tak jak opisujecie.

    Jeżeli faktycznie Bit 0 – BBPODF: Battery Backup Power-on Detection Flag odpowiadało za sygnalizację, że bateria jest po wyłączeniu zasilania powinna być ustawiana ZAWSZE (przy podłączonej baterii), a tak nie jest. Ustawia się tak 50/50.

    I drugie. Zmieniłem sprawdzanie na BBBODF i wtedy zdarza się, że zegar się zeruje i stoi. Żeby to odblokować, to musze odłączyć baterię i wyłączyć zasilanie. Wtedy procedura resetu vbat powoduje ponowne uruchomienie zegara RTC32.

    Poniżej przedstawiam listing procedur, które za to wszystko odpowiadają. Może jest jakiś prosty błąd.

    Kod: text
    Zaloguj się, aby zobaczyć kod


    Rozpoczynamy od: BatBackup_init()

    pozdrawiam

    Dodano po 4 [godziny] 19 [minuty]:

    I jeszcze jedno. Zwróciłem uwagę na rysunek w dokumencie AVR1321:

    XMEGA256a3bu - Vbat - brak podtrzymania RTC32 po odłączeniu zasilania

    I z tego wynik, że ustawiona flaga BBPORF (vel BBPODF)oznacza jednak problemy.
REKLAMA