Witam,
Zrobiłem kilka urządzeń na AVR32, a dokładnie AT32UC3B0256. Wszystko byłoby OK gdyby nie USB. To co wyprawia mi ten procek z USB to są jakieś czary.
Napisałem własną bibliotekę USB-CDC. Wszystko chodziło super. Ale do czasu aż zrobiłem znajomemu sterownik zasilaczy do magnetronów. Było to pierwsze urządzenie w którym USB jest wykorzystywane "na okrągło" - cały czas PCet steruje zasilaczami i odbiera od nich wyniki.
Historia wygląda tak:
- robię mu ten sterownik. u mnie wszystko chodzi jak burza.
- znajomy dostaje go i dorabia interfejs między sterownikiem a zasilaczami
- robi sobie testy i informuje mnie że na tym nie da się pracować! są okresy (testy robił przez kilka tygodni 2 dni w tygodniu). mówi że wystarczy włączyć lutownicę, światło, dotknąć palcem masy, albo też NIC nie robić i zwiecha.
- biorę sterownik do siebie. robię testy. rzeczywiście. załączam lampę, zwiecha, lutownica, zwiecha, każde byle co i zwiecha, czasem zwiecha bez powodu!
- zacząłem dorabiać co tylko mi do głowy przyszło - dodatkowe odsprzęganie, pojemności, indukcyjności, itp. było lepiej
- po paru dniach zawiozłem sterownik do znajomego. on robi testy. jest OK
A teraz najlepsze
- na sprawdzenia wziąłem moją płytkę z prockiem (tylko AVR32+ stabilizator 3,3V), dorobiłem stabilizator z 9V na 5V + przekaźnik na zasilaniu bez gaszenia (abym miał czym wytwarzać zakłócenia)
- napisałem program który komunikuje się z PCtem poprzez RSa i USB
- przy zakłócenia (lampa, lutownica, przekaźnik, albo NIC!) mam zwiechę USB. Program i RS nadal jednak chodzi! Tak więc mam potwierdzenia że zwiesza się tylko USB w procku.
- wymyślam różne zabiegi na liniach USB aby to odkłócić.
- wczoraj do południa dzwoni znajomy - zwiechy ma co chwilę! bez żadnej przyczyny.
- ja bawię się u siebie - mam to samo!
I teraz uwaga!!!
Mówię mu że przyjadę i powalczę z tym. Zapuszczam u siebie układ testowy i idę pod przysznic. Układ pracuje, licznik zlicza czas do zwiechy. Po jakimś czasie wracam a układ chodzi!!! Robię testy, strzelam przekaźnikiem, lampą, lutownicą i NICZYM nie mogę zwiesić USB!!!
Wsiadam w samochód, jadę do znajomego. Puszczamy jego układ i NIC!!! Wszystko chodzi. Można strzelać lutownicą, jeździć paluchami po płytce - żadnej zwiechy. Włączamy dwa zasilacze magnetronów, ładujemy na pełną moc... i NIC!!!
Ponieważ wziąłem ze sobą swój układzik testowy, testuję także i jego. Wszystko chodzi. Wywaliłem wszystko kondensatory, dławiki, kable połączyłem na pajęczynkę. I co? I niczym nie mogę uwalić transmisji po USB!!!
COŚ się zmieniło wczorajszego dnia w południe, że dwa różne układy , różny soft, różne PCty, różne zasilacze, oddalone o 20km nagle zaczęły działać!
Mam u siebie stale podpięty układ testowy w pogotowiu. Co jakiś czas testuję. Był już w lodówce, grzałem go suszarką. Wszystko chodzi. Czekam do środy/czwartku. Znajomy będzie robił testy u siebie. Jeśli będzie miał zwiechy USB, ma dzwonić do mnie. Ja wtedy od razu sprawdzam czy mam u siebie to samo.
W tej chwili przychodzi mi tylko jedna rzecz do głowy - wrażliwość procka (a dokładnie części obsługującej USB) na promieniowanie kosmiczne. Być może ostatnie szaleństwa słońca wyrzucają tyle cząstek wysokoenergetycznych że ten procek głupieje. Nie wiem na ile jest to sensowne wyjaśnienie, ale w tej chwili nic lepszego mi do głowy nie przychodzi.
SM