Warto kupić ? C dla PIC

Witam,

Spodziewałem się, że 16F627A będzie względnie niezawodny ale zajrzałem do erraty i... jest kilka błędów choć jeden nie aż tak istotny (odczytywanie TRISB) drugi trochę bardziej (spieprzone override dla LVP). Natomiast ciekawostką są problemy z TIMER1 dotyczącą bardzo wielu układów.

Ale rozumiem teraz na czym polega ta względna niezawodność.

Tu akurat trzeba i tak wykonać dodatkową pracę więc to pół biedy (można się spodziewać takich problemów). Gorsze chyba byłoby pojawienie się kolejnej podwersji tego samego chipa ale z jakimś jeszcze nie poznanym błędem. I co wtedy? Chipy są potrzebne a tu już nie ma rev. A tylko B z ryzykiem, że coś może nie działać tak jak poprzednio. Errata się pojawi ewentualnie i owszem ale za kwartał (dla przykładu) a co z tymi wszystkimi produktami sprzedanymi w międzyczasie?

Ciekawe ile projektów opartych na µC nie korzysta z watchdoga? (właśnie czy przypadkiem WDT nie powoduje, że można mieć niezawodność kodu trochę bardziej w pewnym miejscu? :) )

Pozdrawiam,

Radek

Reply to
Radek
Loading thread data ...

Radek napisał(a):

Problemy z Timer1 dotyczą zdaje się modu 16-bitowego i są łatwe do obejścia. Ważne jest też to co napisałeś, że te problemy sa identyczne we wszystkich układach, więc jedno porządne zapoznanie się z problemem wystarczy.

627 to prosty układ i ilość kłopotów, nawet jeśli akurat wszystkie nas dotyczą, jest niewielka.

No, niekoniecznie. W swoim czasie przezbrajałem urządzenie z 18f458 na

18f6620 i poszło gładko w 2 godziny. Potem przeszedłem na 8722 i zajęło mi 3 dni... A wszystko przez błędy w porcie szeregowym i niuansowe różnice w pracy programu, których nie tolerowało otoczenie.

Gorsze chyba byłoby pojawienie się

Akurat w Microchipie bym się tym nie martwił, bo praktycznie kiedy układ jest do kupienia wtedy jest juz errata do niego. A z podzespołami jest podobnie jak z samochodami - nie stosuje się nowości do sprzętu o wymaganym wysokim poziomie niezawodności, podobnie jak nie kupuje się samochodów europpejskich z pierwszego roku produkcji..

Nie zawsze użycie wdoga, nawet 10% skutecznego, jest rozwiązaniem w pełni satysfakcjonującym. Wdog to ostatnie koło ratunku, procesor WCALE nie powinien się wykładać.

Reply to
A.Grodecki

Witam,

Dlatego go wybrałem to moich prób i eksperymentów a także dlatego, że wydawał mi się dobrym kompromisem pomiędzy dostępnymi zasobami, opakowaniem i dostępną pamięcią (na początek).

Tu akurat miałem na myśli sytuację, kiedy pojawią się podwersja konkretnego modelu zastępując poprzednią i już nie można kupić starszej.

Ale w niektórych zastosowaniach użytkownik może wcale nie zauważyć, że właśnie mikrokomputer w urządzeniu, które właśnie używa zawiesił się i to kilka razy? W końcu WD restartuje cpu po 256 cyklach w PIC to nawet z niewielkim zegarem jest to mały ułamek sekundy. Ponad to kod może rozpoznać jaka była przyczyna restartu i odpowiednio zareagować.

Nie to, że uważam kodowanie z uwzględnieniem WD jako funkcjonalną część aplikacji za coś chwalebnego ale potrafię sobie to wyobrazić.

Ciekawi mnie jaki procent aplikacji korzystających z µC ma właśnie WD włączonego?

Pozdrawiam,

Radek

Reply to
Radek

Radek napisał(a):

Ale cykl wdoga trwa zwykle co najmniej milisekundy i to daje się zauważyć. Mikrokontrolery nie "zawieszają się" jak pecety. Program który grzęźnie (niecelowo) to program beznadziejnie źle napisany.

Może to być funkcjonalan część. Jeśli np chcemy aby urządzenie się zrestartowało a nie ma instrukcji resetu, wtedy zatrzymujemy program i czekamy aż wdog go uruchomi na nowo, na przykład.

Moje wszystkie. A jak inaczej rozruszać kontroler, który poszedł w krzaki np z powodu jakiegoś nietypowego zakłócenia warunków pracy?

Reply to
A.Grodecki

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.