do znawców mikrokontrolerów

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)

Reply to
Novel
Loading thread data ...

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?

Reply to
T.M.F.

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. ;-)

Reply to
Marek Dzwonnik

Hm... interesujace.

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.

dzieki za rady

Jacek

Reply to
Novel

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 ;)

Reply to
Marek Dzwonnik

Marek Dzwonnik napisal(a):

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.

Wyglada na to, ze wszystko bedzie dobrze.

Reply to
Novel

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.