Skocz do zawartości

Kurs STM32L4 – #5 – taktowanie układu, RTC, watchdog, quiz


Pomocna odpowiedź

Napisano

Kurs STM32L4 – #5 – taktowanie układu, RTC, watchdog, quiz

Mikrokontroler używany w naszym kursie STM32 może pracować z częstotliwością 80 MHz. Temat ten jest jednak dość rozległy i jedna wartość to zbyt mało, aby opisać możliwości tego układu. Pora, aby omówić dostępne źródła taktowania. Sprawdzimy, czym się różnią i jak wpływają na pracę układu. Wykorzystamy też watchdoga.

UWAGA, to tylko wstęp! Dalsza część artykułu dostępna jest na blogu.

Przeczytaj całość »

Poniżej znajdują się komentarze powiązane z tym wpisem.

Przypominamy: w komentarzach do kursów rozmawiamy wyłącznie na tematy związane z konkretnym kursem. Mile widziane są również informacje od osób, które korzystały wcześniej z naszych poradników. Wszystko po to, aby kursanci, którzy mają zamiar korzystać z tego kursu nie musieli "przedzierać" się przez dziesiątki postów na inne tematy. Tematy na pytanie, które nie są związane z kursem można zadawać na naszym forum o mikrokontrolerach.

Kolejny odcinek już dostępny! Tym razem zegary, czyli taktowanie układu - zachęcam do lektury i eksperymentowania, bo zagadnienia omówione w tym odcinku będą pojawiały się w wielu kolejnych lekcjach i przykładach 🙂

Przyznaję się... szybko przeczytałem, aby zrobić quiz jako pierwszy. Chyba trochę zbyt mocno się pospieszyłem, bo tylko 80%... Wracam do początku i jednak wykonam ćwiczenia z tej części :D Ale ogólnie jak zawsze świetna robota, bo odcinek wygląda super. Dzięki!

  • Lubię! 1

@Nore21 dzięki, miło słyszeć, że się podoba - 80% to całkiem dobry wynik, ale po praktyce na pewno byłoby 100%. Spróbuj później drugi raz, już dla własnej satysfakcji. Na marginesie dodam, że przez chwilę na stronie pokazywało się, że rozwiązałeś quiz... godzinę przed jego publikacją. Miałem w głowie chwilowe zaćmienie, ale później okazało się, że to błąd w naszej tabeli wyników (była ustawiona błędna strefa czasowa), ale już naprawione 😉

Po korekcie i odpowiednim formatowaniu artykuły wyglądają faktycznie dużo lepiej, czasem jestem wręcz zaskoczony, czytając ostateczną wersję. Duże brawa dla Redakcji.  No i należy się ogromny plus za wybór zdjęć, watchdog w okularach jest idealny. Chociaż zawsze trochę inaczej sobie wyobrażałem tego psa-wartownika 🙂

Głowa boli...

Jednak napisane bardzo precyzyjnie, da się zrozumieć co jest naisane😁.

Mnie tylko ciekawi kto to wszystko projektuje i buduje? Jak jest z najnowszymi prockami? Dalej to ogarniają ludzie czy już algorytmy? Co za bystrzaki piszą te biblioteki?

Pozdrawiam autorów. Dobra robota.

  • Lubię! 1

Jak chodzi o tematykę zegarów czasu rzeczywistego (RTC), to ich użycie bywa czasem o wiele trudniejsze niż się wydaje oraz może prowadzić do nieoczekiwanych błędów. Problem polega na tym, że czas do którego jesteśmy przyzwyczajeni, bywa "niemonotoniczny", czyli mogą się pojawiać pewne luki, albo wręcz cofnięcia. Zmiana czasu z letniego na zimowy i odwrotnie jest dobrym przykładem, ale każda korekta czyli wywołanie HAL_RTC_SetTime może powodować problemy. Wyobraźmy sobie, że zapisujemy w dzienniku (logu), polecenia wykonywane przez urządzenie. Taki log bywa bardzo istotny jeśli zdarzy się awaria i trzeba ustalić co było jej przyczyną. Ale jeśli możliwe są zmiany czasu, taki log będzie trudny do odczytania - to samo opisywał w tym wątku @Treker. Wyglądało jakby kolega @Nore21 rozwiązał quiz przed jego publikacją. Dlatego w niektórych projektach nigdy, albo nigdy poza pierwszym uruchomieniem urządzenia na etapie produkcji nie używa się funkcji ustawiającej RTC. Zamiast tego przechowywana jest różnica między wskazaniami sprzętowego RTC, a tym co jest prezentowane użytkownikowi. Takie rozwiązanie jest trudniejsze programowo i na pewno wykracza poza zakres naszego kursu, warto jednak pamiętać, że czas "rzeczywisty" bywa kapryśny.

  • Lubię! 1

@Elvis a jak to jest maksymalnymi częstotliwościami działania mikrokontrolera? Czy w przypadku tego typu układów też można je podkręcać powyżej parametrów podawanych przez producenta? Są do tego jakieś mechanizmy? Nie mam zamiaru tego robić, ale pytam tylko z czystej ciekawości, bo zmiana częstotliwości taktowania od razu kojarzy się (pewnie nie tylko mi) z podkręcaniem procesorów w PC. Pytanie potraktuj ogólnie, niekoniecznie w kontekście opisywanych tu STM32L4 ;)

  • Lubię! 1

@Elvis super, bardzo dziękuję!

Czyli jak rozumiem teoretycznie można by było pójść też w drugą stronę i próbować taktować układ z ekstremalnie niskiej częstotliwości?

1 godzinę temu, Elvis napisał:

Dlatego układy przeznaczone np. do zastosowań związanych z płatnościami za pomocą kart, mają specjalne układy monitorujące częstotliwość pracy i kasujące klucze kryptograficzne po wykryciu jakichkolwiek zakłóceń.

Wow, jestem pod wrażeniem tego rozwiązania... oraz Twojej wiedzy. Super, że można uczyć się od takiej osoby 🙂

  • Lubię! 1

@Nore21 Jak najbardziej, częstotliwość taktowania powinno się dobierać do konkretnych potrzeb. Trochę więcej będzie o tym w kolejnej części, gdzie pokażemy jaki wpływ ma taktowanie na pobór energii.

  • Lubię! 1
  • 1 miesiąc później...

@Elvis mam takie laickie pytanie co do tego fragmentu kursu:

Cytat

Pierwszy kod korzystający z zegara RTC może wyglądać tak jak poniżej (jest to zawartość pętli while). Tworzymy dwie zmienne, zapisujemy do nich aktualną datę i czas [...]

czy umieszcznie RTC_TimeTypeDef time; i RTC_DateTypeDef date; nie sprawi ze zmienne te beda tworzone na nowo za kazdym razem jak petla zacznie sie od nowa? co wtedy z poprzednimi wersjami? nie doprowadzi to problemow z pamiecia?

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...