Jest taka sytuacja procesor DS80C320 jest odlaczony z napiecia, a na jego porty podawane sa sygnaly, które adresuja do przylaczonej do niego pamieci. Generalnie chodzi o to by z portu drukarki wczytywal sie program do pamieci ram, a potem przylaczamy procesor do zasilania i program sie uruchamia na nim. Takie inteligentne rozszerzenie portu sterowane wysylanym programem. Mianowicie mam takie pytanie czy nie powstana dziwne rzeczy z procesorem gdy bedzie wylaczony od zasilania a na jego porty pojawiac sie beda sygnaly... czy spokojnie to moze tak pracowac?
(DS80C320- bez pamieci programu wew. dallasowska 8032 podrasowana)
Raczej bedzie - patrz watek o "Jak z zasilaniem uk...". '51 pewnie beda mialy tak samo. Zamiast sterowac zasilaniem procka, nie lepiej go trzymac w RESET az do ukonczenia ladowania programu? Procki, w tym '51 chyba przy aktywnym RESET zawieszaja wyprowadzenia w stan wysokiej impedancji?
Uzytkownik "Novel" snipped-for-privacy@poczta.onet.pl> napisal w wiadomosci news: snipped-for-privacy@y43g2000cwc.googlegroups.com
Oj.. powstana. W PDFie do C320 nie ma zastepczych schematów linii portów ale zazwyczaj jest tak, ze kazde wejscie ma dwie diody obcinajace - jedna od strony masy (to wynika z samej technologii wykorzystujacej izolacje zlaczowa) a druga od strony zasilania jako zabezpieczenie bramki tranzystora wejsciowego. W takim ukladzie podanie na wejscie czegokolwiek przekraczajacego w dól poziom masy lub w góre poziom zasilania powoduje spolaryzowanie jednej z tych diod w kierunku przewodzenia i przeplyw pradu przez linie wejsciowa.
Zreszta widac to w PDFie:
formatting link
str.20 ABSOLUTE MAXIMUM RATINGS* Voltage on Any Pin Relative to Ground -0.3V to (VCC + 0.5V) Voltage on VCC Relative to Ground -0.3V to +6.0V
Jezeli podasz stan wysoki na linie wejsciowe procesora z wiszacym zasilaniem to porty zaczna podciagac poziom Vcc i pasozytniczo zasilac procesor. Skutki mozesz sobie wyobrazic:
- prawdopodobnie zródlo sygnalu sterujace linie adresowe/danych nie bedzie w stanie udzwignac poboru pradu zasilania przez procesor a tym samym nie zdola wystawic na nich poprawnych stanów wysokich.
- zasilany procesor moze zaczac zyc wlasnym zyciem wystawiajac na linie stany kolidujace z wymuszeniem z zewnatrz.
Zatem nie tedy droga. Najprostsze rozwiazanie to zostawic procesor z zasilaniem a jedynie przytrzymac go resetem w stanie nieaktywnym. MCS51 w stanie resetu trzyma na wszystkich portach stany wysokie, czyli praktycznie Hi-Z, co najwyzej (tzn. nie na wszystkich portach) z niewielkim pullup-em podciagajacym linie do zasilania. Prad dostarczany przez pull-up jest na tyle niewielki, ze zewnetrzne zródlo sygnalu bez problemu bedzie w stanie wymusic na nich stany niskie a zarazem nie bedzie mialo zadnych przeszkód w wystawieniu na te same linie stanu H.
BTW... Grzebiac niedawno w szufladzie zlokalizowalem w niej bodajze 2szt nowych nieuzywanych DS80C320-33MHz (DIP40). Leza i sie kurza, a watpie, zebym ich jeszcze gdzies uzyl. W razie potrzeby moge je oddac w dobre rece
*).
*) "W razie naglej" tzn. jak juz uda Ci sie spalic ta swoja 320-ke. ;-)
Skoro w razie spalenia przeslesz mi uklad to tak zrobie ;) ewentualnie pózniej jak to nie wyjdzie zrobie bootloader z pamiecia flash wczytywany z równoleglego lub usb z tym ukladzikiem FT czy cos.
Uzytkownik "Novel" snipped-for-privacy@poczta.onet.pl> napisal w wiadomosci news: snipped-for-privacy@y43g2000cwc.googlegroups.com
To "w razie naglej" daj znac :-) Tylko pamietaj, ze szufladzie mam DIPy (DS80C320-MCL) a nie PLCC czy QFP.
Aha... Tylko pamietaj, ze przez odpaleniem procesora musisz zdjac wymuszenie stanu linii ze strony LPT bo dojdzie do konfliktu. Wiec nie zapomnij o jakims HC245 od tej strony. Najlepiej sterowanym z przeciwfazie z sygnalem Reset uC. Tzn. linie adresowe i danych pamieci moga byc sterowane albo przez uC, albo od strony LPT (a raczej pewnie jakichs dodatkowych rejestrów lub liczników, bo 8bitów na LPT to jakby cos malo ;)
No i reset ustala sie jakies dwa cykle zegara. Wiec trzeba te
100ns zaczekac z podawaniem na porty sygnalów.
Na poczatek podlaczylem mikrokontroler do zasilania razem z oscylatorem 25Mhz i zrobilem kilka pomiarów. Hm... w zasadzie pracowal bez pamieci, potem przylaczylem reset. Co prawda takie eksperymenty sa ryzykowne ale postanowilem to zmierzyc. W takim stanie pobieral 30mA przy 4.95V zasilania, po dolaczeniu resetu pobieral 20mA czyli zgodnie z danymi. W stanie resetu podlaczalem do pinów obciazenie 4.5K - na takie obciazenie na portach 0 i 2 pobór pradu wynosil 144uA z nózki ALE 420uA, a pozostalych portów 1 i 3 344uA.
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.