matt90 Napisano Wrzesień 13, 2012 Udostępnij Napisano Wrzesień 13, 2012 Mam takie może i głupie i banalne pytanie, ale w jakim celu stosuje się kwarc w układach? Wiem, że podnosi on częstotliwość procesora ale po co? Co daje wyższe taktowanie procka? Do jakiej wartości można zwiększyć taktowanie przez użycie kwarcu? __________ Komentarz dodany przez: Treker
Carpe Diem Wrzesień 13, 2012 Udostępnij Wrzesień 13, 2012 Zwiększenie taktowania przyspiesza działanie procesora, a użycie kwarcu dodatkowo zwiększa dokładność pomiaru czasu. Granica zwiększenia taktowania jest zależna od procesora - Atmega32 ma maks taktowanie 16MHz, niektóre ARMy 128MHz. 1
matt90 Wrzesień 13, 2012 Autor tematu Udostępnij Wrzesień 13, 2012 Więc zastosowanie kwarcu w robocie jest raczej wskazane? Czy jak dołożę kwarc to wtedy normalnie piszę program tylko na początku zamiast taktowania 8MHz daję więcej? Ile wynosi taktowanie z kwarcem dla Atmegi 8?
davidpi Wrzesień 13, 2012 Udostępnij Wrzesień 13, 2012 Mikroprocesor wykonuje różne operacje. Ale nie robi tego przypadkowo. Wszystkie operacje są wykonywane w odpowiednich chwilach czasu. Dlatego mikroprocesor musi mieć jakiś sygnał taktujący. W każdym takcie wykonywana jest jedna instrukcja (tak w przybliżeniu). Właśnie za to taktowanie odpowiedzialny jest kwarc. To on podaje te impulsy taktujące. Jeżeli kwarc podaje impulsy z małą częstotliwością tu uC pracuje powoli. Jeżeli z dużą to uC pracuje szybko. Zatem kwarc 2MHz sprawi, że procek będzie pracował dwa razy szybciej niż na kwarcu 1MHz. Oczywiście nie można kwarcu zwiększać w nieskończoność. Dla większości avr maksimum to 16MHz. 1
sosnus Wrzesień 13, 2012 Udostępnij Wrzesień 13, 2012 Atnega8 na wbudowanym oscylatorze może działać maksymalnie na taktowaniu 8Mhz. Natomiast możesz dołożyć zewnętrzny kwarc, np.16Mhz, który przejmie rolę wewnętrznego oscylatora. W przypadku pisania programów na uC w środowisku eclipse, musisz w ustawieniach zmienić częstotliwość taktowania. W przypadku bascoma to chyba musisz na początku programu napisać $crystal 16000000 (chyba, nie znam bascoma). Po za tym musisz zmienić ustawienie fuse bitów, za pomocą programu np. mkAVRcalculator, którego wersję darmową możesz pobrać z neta. 1
bartek1333 Wrzesień 13, 2012 Udostępnij Wrzesień 13, 2012 Producent pisze, że dla większości AVR'ów max to 16MHz. Jednak nic się nie stanie jak np. damy kwarc 18MHz lub nawet trochę wyższy i też będzie działać.
matt90 Wrzesień 13, 2012 Autor tematu Udostępnij Wrzesień 13, 2012 A stosowanie kwarcu daje jakieś zauważalne różnice w pracy robota? Znalazłem kwarc 14,7MHz czyli przyjmuje taktowanie jako 15MHz? Czy zmieniając te FuseBity jest jakieś ryzyko zablokowania procka, bo czytałem że zdarza się to czasami..
sosnus Wrzesień 13, 2012 Udostępnij Wrzesień 13, 2012 Ja najczęściej stosuję 16Mhz, bo wszystko ładnie działa, a układ jest 2x szybszy niż na maksymalnym wewnętrznym taktowaniu. Zauważalne różnice... Jeżeli masz w programie jakiś zaawansowany algorytm, który wykonuje sporo obliczeń, to tak. Jak już ukończysz konstrukcję, puść ją na trasę kilka razy, raz załączając zewnętrzny kwarc, raz na wewnętrznym taktowaniu 8Mhz, a na koniec na wewnętrznym taktowaniu 1Mhz, a sam się przekonasz o różnicy. [ Dodano: 14-09-2012, 00:23 ] Ryzyko zablokowania procka... Właściwie to zawsze jest takie ryzyko. Ale jak używasz nakładki graficznej na avrdude (np. mkAVRcalculator), zmniejszasz prawdopodobieństwo, że coś pójdzie źle
matt90 Wrzesień 13, 2012 Autor tematu Udostępnij Wrzesień 13, 2012 Ok, dziękuję Wam za odpowiedzi. Powiedzcie mi jeszcze tylko ten kwarc co mam 14,7456MHz jak to ująć w proagramie jako 14MHz czy jakie 15Mhz?
matt90 Wrzesień 14, 2012 Autor tematu Udostępnij Wrzesień 14, 2012 Mogę dziękuję wszystkim za odpowiedzi
Pomocna odpowiedź
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ę »