Kiedy należy zastosować zewnętrzny kryształ dla tego MCU, biorąc pod uwagę, że wewnętrzny oscylator jest znacznie szybszy?

12

Patrzę na to MCU i zastanawiałem się, czy warto użyć zewnętrznego kryształu.

Wyodrębniono z arkusza danych pg1,

* Zarządzanie zegarem
- Oscylator kwarcowy od 4 do 32 MHz
- Oscylator 32 kHz dla RTC z kalibracją - Wewnętrzny RC 8 MHz z opcją x6 PLL - Wewnętrzny oscylator RC 40 kHz

- Wewnętrzny oscylator 48 MHz z automatycznym przycinaniem w oparciu o ext. synchronizacja*

Wewnętrzny oscylator może wynosić do 48 MHz. Zewnętrzny kryształ ma między 4 - 32 MHz. Dlaczego warto używać zewnętrznego kryształu, gdy wewnętrzny jest szybszy niż 48 MHz, skoro zewnętrzny kryształ kosztuje i zajmuje przestrzeń? Kiedy należy użyć zewnętrznego kryształu?

użytkownik768421
źródło
4
jedyną zaletą wewnętrznego oscylatora mcu jest oszczędność kosztów, gdy nie wymagają dodatkowej dokładności zewnętrznych.
Mahmoud Hosseinipour,

Odpowiedzi:

24

Wewnętrzny oscylator jest znacznie mniej stabilny niż zewnętrzny oscylator kryształowy.

Jeśli poprawnie czytam arkusz danych, wewnętrzny oscylator 48 MHz jest fabrycznie skalibrowany tylko w zakresie 2,9% określonej częstotliwości - nawet nie jest wystarczająco dobry dla RS-232. Są sposoby na zsynchronizowanie go z zegarem zewnętrznym, myślę, że jest przeznaczony do użycia w urządzeniu USB, w którym można zablokować PLL do strumienia bitów USB.

Zewnętrzny kryształ ma zwykle dokładność do około 20 ppm , części na milion. To 0,002% od określonej częstotliwości. Jeśli potrzebujesz jeszcze lepiej, są nawet kompensowane temperaturowo, piekarnikowe oscylatory kwarcowe.

Ponadto może być wymagana dokładna prędkość zegara na innej częstotliwości, zwykle do komunikacji z urządzeniem lub urządzeniem nadrzędnym za pośrednictwem asynchronicznego kanału komunikacyjnego. W tym celu może być potrzebny oscylator na przykład 29491200 Hz (115200 * 256).

rura
źródło
2
szczerze mówiąc, 2,9% jest zwykle wystarczająco dobre dla UART / RS-232 (użyłem 115200 UART z co najmniej 3,5% tolerancją [z powodu wewnętrznego niedopasowania prędkości 8 MHz RC i wewnętrznych niedokładności] przez kilka tygodni bez zauważalnego błędy); AFAIR, UART / RS-232 jest dość użyteczny poniżej 5% całkowitego niedopasowania zegara, a graniczny użyteczny nawet o procent lub dwa wyższy - również przegapiłeś fakt (zauważony przez innych), że możesz użyć PLL do pomnożenia kryształowego zegara, aby uzyskać prędkości tak wysokie jak wewnętrzne taktowanie.
2
@vaxquis miałeś szczęście. 5% jest absolutnym maksymalnym dopuszczalnym niedopasowaniem prędkości transmisji, a jeśli nadawca i odbiorca mają 2,5% w różnych kierunkach, to masz rację.
Bruce Abbott,
6
RS232 jest standardem napięcia i pinów, a nie protokołem.
old_timer
2
Jeśli użyjesz 4x oversampling, najprawdopodobniej możesz uzyskać od 25 do 50% zniżki. Z 8x może być prawdopodobnie gorszy niż, a 16x nawet lepszy. Musisz być wystarczająco dokładny, aby przejść przez jedną postać, a następnie odbiornik ponownie synchronizuje bit startowy. Niektóre mogą nawet ponownie synchronizować na każdej krawędzi, co pozwala na jeszcze większy błąd. Zatem dekodowanie Uart zależy od konstrukcji odbiornika. Niektóre / rozsądne projekty mogą bardzo łatwo działać wiecznie z błędem zegara 2,9% i nigdy się nie ześlizgną.
old_timer
3
@pipe, czyli cały punkt oversamplingu 8 i 16x, aby uzyskać lepszą rozdzielczość, gdzie krawędzie są względem miejsca, w którym próbujesz. Być może części, o których mówisz, używają wewnętrznych oscylatorów. A może używani młodsi inżynierowie, ponieważ projektowanie jest dość trywialne. Możesz łatwo synchronizować na każdej krawędzi i zachować synchronizację na zawsze, nawet przy przesunięciu zegara. Ponieważ nie wiemy, chyba, że ​​tam pracujemy i nie znajdujemy się we właściwym dziale, w jaki sposób zaprojektowano odbiornik, najlepiej spróbować dostać się do tych kilku procent i / lub przeprowadzić wystarczającą liczbę testów, aby wygenerować statystyki dotyczące wskaźnika błędu bitowego.
old_timer
10

Wewnętrzny to oscylator, zwykle oscylator RC. Oscylatory te są znacznie mniej dokładne niż kryształy. Również te oscylatory mają tendencję do dryfowania ze zmianami temperatury.

Z drugiej strony kryształy mogą być tak dokładne, jak pieniądze, które chcesz wydać. Dokładność jest potrzebna, gdy na przykład używana jest szybka komunikacja, taka jak USB. USB ma bardzo wąskie tolerancje.

vini_i
źródło
8

Zobacz ten schemat na stronie 16:

Drzewo zegara ST

Wygląda na to, że można również użyć kryształu jako sygnału wejściowego do PLL, co pozwala na osiągnięcie wewnętrznych częstotliwości zegara 48 MHz z wolniejszego kryształu.

pjc50
źródło
7

Oscylator kwarcowy zasila wbudowaną pętlę fazową z zamkniętą pętlą (PLL), która może zwielokrotniać i dzielić częstotliwość kryształu przez wartości od 1 do 16. Tak więc za pomocą kryształu 8 MHz można wygenerować zegar główny 48 MHz dla procesora. Jak powiedzieli inni, zewnętrzny kryształ jest bardziej dokładny i stabilny niż szybki oscylator na chipie.

Steve G.
źródło