kamyczek napisał: Jeżeli rozrzut oscylatora rc mieści się w zakresie 2% i przyłożymy się do tego żeby w warunkach normalnych być jak najbliżej środka to układ z dużym prawdopodobieństwem będzie działał poprawnie bo błąd generatora przekłada się 1:1 na błąd uarta a ten w zakresie +/- 2% powinien działać prawidłowo i nawet jeśli trafi się sztuka która ma odchyłkę można ją w pewnym zakresie zniwelować zmieniając minimalnie osccal lub prędkość uarta . Budowałem urządzenia które pracują na dworze maja od +40 do -40 C i ani brak rezonatora kwarcowego ani skoki temperatur im nie szkodzą ale to trzeba zrobić biorąc pod uwagę takie parametry i po prostu sprawdzić efekty . Błędy działania uarta zazwyczaj wynikają z przeładowania bufora nadawczego lub zbyt wolnego odbierania danych z bufora odbiorczego . A po podpięciu analizatora wyszło że atmel wysyła tak jak trzeba tylko terminal się gubi przy szybkich i długich pakietach danych i wychodzą śmieci .
O to duże prawdopodobieństwo (o którym piszesz) właśnie chodzi, czyli o brak pewności działania urządzenia.
Dobry projektant różni się od kiepskiego tym, że przy założonym koszcie produkcji jego urządzenia działają zawsze i wiecznie, a tego drugiego przez przypadek.
Niestosowanie kwarcu do urządzeń pracujących w zakresach jakie wspomniałeś, w dodatku kwarców przeznaczonych do takich temperatur jest oczywiście dopuszczalne nawet na poziomie profesjonalnym:
- jeśli urządzenie nie musi być niezawodne
- lub dodanie odpowiedniego kwarcu powoduje znaczący wzrost kosztów urządzenia,
- lub następuje autokalibracja w zależności od temperatury.
Można oczywiście wykorzystać wbudowane w niektóre mikrokontrolery elementy pomiarowe temperatury wewnętrznej mikrokontrolera lub jeśli go nie ma, zawsze można wykorzystać tani termistor i go dołożyć. Wtedy można opracować program tak, by sam się kalibrował w zależności od temperatury pod warunkiem, że taka programowa możliwość istnieje.
Dlatego też my uczymy jak projektować poprawnie, ale oczywiście można stosować pewne kompromisy - ważne by być świadomym konsekwencji.
Problem z takimi wypowiedziami jak Twoje jest taki, że początkujący zapamięta, że przecież na forum Kamyczek pisał że będzie działać, a wykonany projekt, poświęcony czas i pieniądze poszły na marne, bo nie ma jak dodać kwarcu i kondensatorów. Ba, a może nawet pacjent zmarł, bo defibrylator nie działał na mrozie ...
Dlatego nasze wypowiedzi muszą wyjaśniać wszelkie aspekty z tym związane, by nie tworzyły się mity powtarzane później w sieci.
To, że opisany przez Ciebie mikrokontroler działał prawidłowo mogło być bowiem spowodowane faktem, że mikrokontroler wcale nie miał temperatury -40°C, ze względu na wydzielane w nim ciepło związane z takim, a nie innym zaprojektowaniem urządzenia. To należałoby indywidualnie przeanalizować,
ale nie można podawać tego jako reguły.
... osobny aspekt, to sumowanie się błędów niedopasowania częstotliwości po stronie obu "gadających" ze sobą urządzeń. Co z tego bowiem, że oba trzymają swoje parametry w granicach błędu np. 2%, gdy akurat błędy te są z przeciwnym znakiem, co daje łączny błąd 4% ...
O ile na błąd mikrokontrolera można mieć łatwy wpływ dodając kwarc lub kalibrując, o tyle w drugim urządzeniu możemy nie mieć takiej możliwości. W takiej sytuacji bezwzględnie należy zastosować kwarc, a nawet kwarc tzw. "USART friendly", czyli taki, który daje zerową wartość błędu częstotliwości.
Dlatego starajmy się podpowiadać tak, by czytelnicy znali konsekwencje niezastosowania właściwego w danej sytuacji rozwiązania i poznali związane z tym zysk, koszty oraz ryzyko.
W szczególności o ryzyko tutaj chodzi, bo to że Ty je podjąłeś, to była Twoja przemyślana (mam nadzieję) decyzja.
Swoją drogą dlaczego taką decyzję (czytaj ryzyko) podjąłeś?