Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 20 kwi 2024, o 10:04


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 17 mar 2020, o 11:47 
Offline
Użytkownik

Dołączył(a): 23 sty 2014
Posty: 1080
Pomógł: 73

Cześć,

macie jakieś fajne patenty na przeprowadzenie diagnostyki mikrokontrolera w celu oszacowania jego "obciążenia"? Nie chodzi o obciążenie w sensie zużycia energii tylko pokazanie np. w zakresie 0-100% ile swojej "mocy obliczeniowej" zużywa w danym momencie mikrokontroler...

Przyszło mi na myśl włączenie timera sprzętowego i odczytywanie go tuż przed końcem obiegu pętli głównej. Im więcej timer zliczy impulsów tym procek bardziej obciążony. Po odczycie następowałby reset zliczonych impulsów i sytuacja się powtarza z każdym obiegiem pętli. Można wyciągnąć jakąś średnio z określonego przedziału czas itd. Generalnie idea banalna. Oczywiście program musi być napisany nieblokująco bo inaczej nie ma to sensu.

To moja wizja a może ktoś ma pomysł albo stosował inne techniki? Będę wdzięczny za każdą radę :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 mar 2020, o 11:52 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2561
Pomógł: 126

Np. miganie pinem i sprawdzanie logic analyzerem. Mirek chyba stworzył taki filmik.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 mar 2020, o 12:27 
Offline
Użytkownik

Dołączył(a): 23 sty 2014
Posty: 1080
Pomógł: 73

micky napisał(a):
Np. miganie pinem i sprawdzanie logic analyzerem. Mirek chyba stworzył taki filmik.


Ciekawe rozwiązanie aczkolwiek bardziej myślę nad tym, aby mieć możliwość wyświetlić informację o "zajętości" mikrokontrolera np na LCD



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 mar 2020, o 12:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 lis 2015
Posty: 219
Pomógł: 20

Procek zawsze śmiga na 100%. Zeby sprawdzić obciążenie to poza wyliczeniem czasu dzialania programu musisz też mieć czas w jakim uc jest uśpione-bezczynne. I wtedy obciążenie to stosunek czasów.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 mar 2020, o 12:54 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 mar 2014
Posty: 356
Lokalizacja: Pruszków
Pomógł: 15

Witaj

Trochę dziwne pytanie jeśli chodzi o AVR-a bo przecież procesor jest sprzętowy i nie ma w sobie jakiegoś systemu operacyjnego który powoduje obciążenie.
To programista obciąża go ilością kodu (ilością rozkazów itp.).
Właśnie Mirek w poradniku z analizatorem pokazuje jak sobie mierzyć ile zajmuje wykonanie danego programu.
Bo w zależności jak napiszesz program tak szybko będzie działał.

No chyba, że nie chodzi ci o obciążenie programowe tylko ile prądu procesor pobiera maksymalnie.

Co do kodu to nie jest zbyt łatwo określić ile cykli zegara zużyje procesor na wykonanie programu bo trzeba by analizować kod asemblerowy.

Wszystkie peryferia jak porty, timery, adc w procku są sprzętowe i mogą działać jednocześnie nie powodując jakichś obciążeń.
Jedynie programista używając przerwań musi zadbać o optymalizację kodu dla prawidłowej pracy programu.

Mirek w bluebook-u wyjaśnia ten temat jak podejść do programowania trzeba sobie przyjąć jakiś minimalny czas wykonania programu.

Jeśli napisałem tu jakieś bzdury to proszę kolegów o poprawę, ja właśnie tak rozumiem działanie jedno-układowców.

Pozdrawiam Paweł



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 mar 2020, o 13:06 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2561
Pomógł: 126

Domyślam się, że koledze chodzi o określenie wielkości bezczynności. Do analizy 'zajętości' procesora służą np profilery. Ale najszybciej jest to zrobić z logic analizerem.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 9 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO