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



Teraz jest 30 lis 2024, o 00:42


Strefa czasowa: UTC + 1





Utwórz nowy wątek Ten wątek jest zablokowany. Nie możesz w nim pisać ani edytować postów.  [ Posty: 8 ] 
Autor Wiadomość
PostNapisane: 6 lut 2016, o 16:55 
Offline
Nowy

Dołączył(a): 06 gru 2015
Posty: 7
Pomógł: 0

Witam
Jestem dopiero początkującym w dziedzinie programowania mikrokontrolerów, choć na swoim koncie mam już autorskie projekty, chciałbym zadać kilka nurtujących mnie pytań co do teorii i praktyki.

1. Licznik rozkazów - wiem, że jest on odpowiedzialny za adresacje pobieranych rozkazów, ale czy jest on także odpowiedzialny za liczenie pobieranych rozkazów?

2. Stos - krótko mówiąc, służy on do przechowywania danych, ale czy ponadto składuje adresy powrotu ? czy wywołuje przerwania ?

3. Watchdog - jak wiemy jest to licznik, którego wartość kasujemy cyklicznie i na podstawie owego układu badamy prawidłowość funkcjonowania procesu,ale czy jest możliwe kasowanie wartości w funkcji obsługi przerwań?

4. Transmisja szeregowa synchroniczna - pytanie dotyczące sygnału synchronizującego. Jaka jest jego częstotliwość ? Musi być unormowaną, czy może przyjąć dowolna wartość i czy musi być ona stała ?

5. Transmisja szeregowa asynchroniczna - Jaki jest najszybszy standard transmisji ? Wydaję mi się,że RS232 ,ale czy ktoś to może potwierdzić?

6. Różnicowa transmisja szeregowa - (mało artykułów o niej znalazłem) czy zwiększa ona odporność na zakłócenia, czy umożliwia zwiększenie prędkości transmisji, czy zmniejsza ilość przewodów kanału transmisyjnego.

7. Taktowanie mikroprocesora - Czy jeśli zwiększam częstotliwość taktowania to pobór prądu układu zwiększa się liniowo czy kwadratowo ? Czy w ogóle on się nie zmienia?

8. Układ Brown out - wiem , że ten układ jest odpowiedzialny za wykrywanie chwilowych zaników zasilanie, ale czy wykrywa po prostu zanik zasilania i czy wykrywa bipolarne zmiany sygnału wyjściowego ?

9. Czy układ Watchdog można realizować analogowo lub cyfrowo?

10. Fuse Bity - czyli konfiguracja mikrokontrolera - jestem w stanie wybrać rodzaj generatora taktującego uC ,ale czy jestem w stanie ustalić częstotliwość taktowania uC( przy generatorze z rezonatorem kwarcowym ?

11. Magistrale SPI oraz I2C - Jeśli zadbam o tą samą częstotliwość taktowania w obu przypadkach to gdzie uzyskam większą predkość przesyłania ramki danych w SPI czy I2C ? Czy może będą takie same?

12. Pytanie dotyczące Timera w trybie CTC - Czy jestem w stanie wygenerować czas gdy OCRn=0 ? Przejdzie ten jeden takt czy nie ?

Dziękuję z góry za odpowiedzi. Posiadam pewną wiedzę na temat programowania ,ale chciałbym ową wiedzę uzupełnić poprzez owe pytania.

Pozdrawiam



Góra
 Zobacz profil  
 
PostNapisane: 6 lut 2016, o 19:04 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27315
Lokalizacja: Szczecin
Pomógł: 1041

Ja przepraszam, że nie wprost ale aż tyle pytań ...

tu znajdziesz nie tylko na te pytania odpowiedzi
http://atnel.pl/mikrokontrolery-avr-jezyk-c.html

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
 
PostNapisane: 6 lut 2016, o 20:37 
Offline
Użytkownik

Dołączył(a): 16 sty 2015
Posty: 84
Pomógł: 6

Na ile w mojej mocy i na ile wiem spróbuje odpowiedzieć.
Przed każdą odpowiedzą na pytanie powinno być - na tyle ile wiem/wydaje mi się że...

1. Mikrokontroler robi coś takiego: pobierz rozkaz z "licznik" -> inkrementuj "licznik" -> wykonaj komendę (w zależności od długości instrukcji) i potem zapętla
tylko że skoki polegają na tym że zmieniasz wartość tego licznika na konkretną wartość
więc tak na prawdę nie liczy on komend tylko bajty od początku programu i tak na prawdę ich nie liczy tylko wskazuje na instrukcje która będzie wykonana jako następna
Nazwa licznik jest tutaj nietrafiona ale się przyjęła - gdzieś mi się obiło o uszy że w niektórych architekturach nazywano to instruction pointer ale się nie przebiło - niestety

2. stos to taka szuflada jak coś do niej włożysz to jest na wierzchu żeby wyjąć coś z dołu musisz wyjąć wszystko od góry - ktoś kiedyś wpadł na pomysł żeby wysyłać adres powrotu z funkcji właśnie na stos a po wyjściu z funkcji pobierana jest ze stosu wartość licznika - dlatego ważne żeby jeśli bawisz się w asemblerze w każdej funkcji zachowywać czysty stos - czyli stan stosu musi być taki sam na wyjściu jak był na wejściu

3. "badamy prawidłowość funkcjonowania procesu" - nie badamy czy program nie poszedł w jakieś nieprzewidziane przez nas otchłanie programu (i się nie zapętlił tam) ale poza tym nic nie sprawdza. Wydaje mi się że to jest zwykła komórka pamięci co przechowuje licznik watchdoga czyli tak można ją czyścić w każdym momencie.

4. sygnał zegarowy może być taki jaki sobie wymyślisz o ile realizujesz to programowo mastera i slave się do tego dostosują ale np korzystając ze sprzętowego spi jako master nie masz co liczyć na takie akcje :)

5. rs232 nie jest najszybszym protokołem szeregowym asynchronicznym - to na pewno, ale wątpię żebyś sam rozumiał pytanie które zadałeś ;) Co masz na myśli mówiąc RS232? RS232 jako standard komunikacji ma ponad 50 lat strasznie smutne byłoby gdybyśmy nie wynaleźli czegoś szybszego i z tego co pamiętam definiuje on między innymi "kable" po których przesyła informacje, teraz rzadko kto używa prawdziwego RS232 zwykle korzystając jedynie z linii Tx i Rx rozkręcając zegar do jakiś standardowych wartości - ogólnie w zależności od "kabli" możesz próbować "rozkręcać" zegar do różnych częstotliwości, i w ten sposób zdefiniowane RS232 jako sposób odbierania i transmisji danych i konfiguracji ramki - nie ma ani prędkości maksymalnej ani minimalnej. Nie wiem jaki jest najszybszy gdzieś tam co jakiś czas pojawiają się informacje o jakiś niesamowitych prędkościach rzędu kilkuset Gb/s, a z przyziemnych to choćby ethernet ma już całkiem duże prędkości a i USB3.0 w mikrokontrolerach zwykle i tak używa się UARTa z asynchronicznych (czyli właśnie TX i RX oraz określona ramka) itp. Poczytaj sobie o tym RS232 i zadaj sobie pytanie czy można zrobić baudrate 54321 czy istnieją jakieś technologiczne przeszkody ku temu?

6. tak,pośrednio,nie - zmniejszając wpływ zakłóceń możemy zwiększać prędkości - krótszy czas potrzebny na ustabilizowanie się sygnału - zasady działania nie pamiętam zbyt dobrze, a przewodów jest 2 razy więcej

7. specyfikacja :) w ogólności P = f*u^2*c czyli liniowy wpływ częstotliwości i kwadratowy napięcia ale zawsze posprawdzaj sobie z dokumentacją jak to wygląda

8. pas

9. watchdog analogowo? nie rozumiem

10. wybierasz zakres w jakim jest taktowany Twój procesor - nie do końca rozumiem...

11. SPI - ale po prostu poczytaj o tych transmisjach warto je znać

12. znów nie rozumiem


edit. Ponad wszystko - widać że potrzebujesz gruntownej wiedzy, zaopatrz się w książkę Mirka albo pójdź do biblioteki po jego książkę bądź jakąś równie dobrą (o ile taka jest) i mocno ugruntuj tą wiedzę po co chwilę będziesz miał takie serie pytań - a książka odpowiada na baaaardzo wiele z nich



Góra
 Zobacz profil  
 
PostNapisane: 6 lut 2016, o 22:16 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sty 2016
Posty: 1164
Lokalizacja: Kraków
Pomógł: 93

8. Z tego, co wiem, Brown Out - układ nie wykrywa zaników zasilania, tylko wyłącza mikrokontroler, jeżeli napięcie zasilania spadnie do wartości, która uniemożliwia poprawną, stabilną pracę. Po powrocie zasilania do odpowiedniej wartości, mikrokontroler wznawia pracę



Góra
 Zobacz profil  
 
PostNapisane: 7 lut 2016, o 10:12 
Offline
Nowy

Dołączył(a): 06 gru 2015
Posty: 7
Pomógł: 0

Bardzo dziękuję za odpowiedzi i poświęcony czas, większość u mnie już się wyjaśniła choć mam jeszcze małe wątpliwości co do następujących pytań:

Oryginalna treść pytania brzmi: (wielokrotne odpowiedzi mogą się zdarzyć)

1. Zegar taktujący w transmisji szeregowej synchronicznej:
A. Musi mieć mieć normowaną częstotliwość
B. Może mieć dowolną częstotliwość
C. Jego częstotliwość musi być stała

2. Standart transmisji szeregowej asynchronicznej RS232:
A. Stosuje różnicową transmisję bitów
B. Potrzebuje symetrycznego zasilania nadajnika
C. Jest najszybszym standardem transmisji asynchronicznej
A odpada , B prawidłowe ale czy C?

3. Źródłem sygnału zerowania po włączeniu zasilania jest:
A. Układ POR
B. Obwód zew. RC
C. Przycisk Reset

4. Układ detektora BOD:
A. Wykrywa bipolarne zmiany sygnału wyjściowego
B. Wykrywa chwilowy zanik zasilania
C. Wykrywa znak zasilania
odpowiedz B, ale czy tez A i C?

5. Układ Watchdog:
A. Można zrealizować analogowo lub cyfrowo
B. Wykrywa zawieszenie oprogramowania
C. Wymaga cyklicznego kasowania
odpowiedz B i C ,ale czy A ?

6. Bity konfiguracyjne (Fuse Bits):
A. Umożliwiają wybór rodzaju generatora taktującego uC
B. Ustalają częstotliwość taktowania uC (przy generatorze z rezonatorem kwarcowym)
C. Mogą zabezpieczać przed odczytem pamięci programu
odpowiedź A i C, ale czy B?

7. Magistrala szeregowa SPI:
A. Wymaga przypisania adresów układom Slave
B. Adresowanie odbywa się przez linie SS
C. Przypisanie adresów układów Slave dokonywane jest automatycznie przy inicjalizacji interfejsu
odpowiedź B, ale czy A i C?

8. W trybie CTC timera 8-bitowego:
A. Najkrótszy czas uzyskamy dla rejestru OCRn=0
B. OCRn=255
C. dla TCNTn=1
Nie wiem czy to pytanie nie jest po prostu podchwytliwe, bo dla OCRn=255 dostaniemy maksymalny, dla TCNn=1, czas krotszy i pytanie czy dla OCRn=0 timer ruszy ?

Do powyższych pytań mam właśnie niepewności, z góry dziękuję za pomoc :)



Góra
 Zobacz profil  
 
PostNapisane: 7 lut 2016, o 16:42 
Offline
Moderator zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 18 lip 2012
Posty: 3206
Lokalizacja: Kraków - obok FAB5 ATMEL'a
Pomógł: 91

Ha! Czyli zadanie/test do szkoły mamy ci rozwiązać :lol:

_________________
http://www.jaglarz.info



Góra
 Zobacz profil  
 
PostNapisane: 7 lut 2016, o 18:10 
Offline
Użytkownik

Dołączył(a): 16 sty 2015
Posty: 84
Pomógł: 6

"Kilka pytań dotyczących mikrokontrolerów z mojej pracy domowej"
poszukaj sobie może w internecie odpowiedzi na te pytania...



Góra
 Zobacz profil  
 
PostNapisane: 7 lut 2016, o 18:49 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27315
Lokalizacja: Szczecin
Pomógł: 1041

Kolega autor dostał WARNA forumowego za takie robienie ludzi w konia na forum ...

a kolejnym podobnym pytaniem zarobi sobie na banana

wątek zamykam

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
 
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Ten wątek jest zablokowany. Nie możesz w nim pisać ani edytować postów.  [ Posty: 8 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO