logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Willem ver 3.0 z adapterem MCS-51 ver 2.0 - błąd programowania po przerwie

Citek 17 Lip 2005 00:28 5027 18
REKLAMA
  • #1 1659322
    Citek
    Poziom 22  
    Posty: 712
    Pomógł: 13
    Ocena: 52
    Witam wszystkich.
    Mam pewien problem i niewiem jak go rozwiazać.
    A chodzi o to, że...
    Kupiłem sobie kiedyś na allegro kit programatora willem (chyba ver 3.0) z adapterem MCS-51 ver.2.0 , szybko i staranie go złożyłem, podłączyłem do kompa... i wszystko ładnie się programowało, odczytywało i kasowało.
    Gdy programowanie częściowo mi się znudziło wrzuciłem programator do szafki.
    Po 2 miesiącach znowu chciałem się pobawić, podłączyłem programator, uruchomiłem program, wczytałem plik i chciałem go zaprogramować, ale w trakcie programowanie wyskakuje błąd:
    Error at 0x000000 Chip = 0x40 buffer = 0x02.
    Co może być tego przyczyną?
  • REKLAMA
  • #2 1659397
    WojtasJD
    Poziom 43  
    Posty: 13772
    Pomógł: 2911
    Ocena: 1577
    Citek napisał:
    [...]
    Error at 0x000000 Chip = 0x40 buffer = 0x02.
    Co może być tego przyczyną?


    jaki uklad probujesz programowac ?
    testowales inne ?
  • #3 1659953
    Citek
    Poziom 22  
    Posty: 712
    Pomógł: 13
    Ocena: 52
    próbowałem programować na samym początku układ AT89C2051. Dało go się niby odczytać (same FF) i także zaprogramować ale też tylko samym FF. Raz wyświetłał ID a raz nie.
    Następnie wziąłem układ starego biosu 27C512, ładnie dało się zczytać pamięć, ale jak już chciałem coś zmienić to też wyskakiwał błąd. Jedynie mogłem wgrać w tym przypadku same 00 (przy samych FF pokazywał się pasek programowania, dochodził do 100% i też wyskakiwał błąd)
  • #4 1660282
    LordBlick
    VIP Zasłużony dla elektroda
    Posty: 5438
    Pomógł: 549
    Ocena: 69
    A może byś najpierw pokazał pdf-a od tego "starego BIOSU", lub chociaż podał producenta i pełne oznakowanie ? Większość tak oznaczonych kostek to EPROM, wersji bez okrągłego okienka u góry obudowy nie można kasować, bo robi się to promieniami UV, a ich programowanie polega na ustawianiu poszczególnych bitów na 0, więc możliwe, że Willem działa... ;)
    --
    Pozdrawiam, Daniel
  • #5 1660670
    Citek
    Poziom 22  
    Posty: 712
    Pomógł: 13
    Ocena: 52
    Ten układ od "starego biosa" to TMS 27C512-2JL ALDP8922 i jest to wersja z okienkien (tylko dziwi mnie to jak to możliwe, że usunąłem dane z tego EPROMa).
    Gdyby Willem działał to programowałby też ATMELe...
  • REKLAMA
  • #6 1660869
    WojtasJD
    Poziom 43  
    Posty: 13772
    Pomógł: 2911
    Ocena: 1577
    czyli UV-EPROM:
    http://focus.ti.com/docs/prod/folders/print/tms27c512.html

    najlepiej jakbyś odstawił tego typu pamięci (no chyba że masz kasowarke - czasochłonne) i przejściówke z Atmelem a do testów załatwił Flasha typu 28F010 , 28F020.
    Nie 'programuj' ukladów samymi FF, w menu -> 'Action' masz -> 'Clear buffer' np. '0xAA,0x55'.
    Niezależnie od tego możesz zając się sprawdzeniem układu przetwornicy po wypisaniu jak zasilasz (parametry) Willema i jakich elementów użyłeś do budowy.
  • #7 1660894
    radioda
    Poziom 16  
    Posty: 123
    Pomógł: 7
    Ocena: 2
    Podłącze sie do tematu bo też mam Willema z tym ze kupiłem już złożonego.
    Początkowo działał bez zarzutów (przynajmniej tak mi sie wydaje). Od jakiegoś czasu jednak dosyć często uwala mi Atmele.

    Wygląda to mniej wiecej tak i powtarza sie:
    po włączeniu programatora klikam zawsze Test Hardware, wkładam np. AT89C2051 (mam adapter) odczytuje z niego ID (mam taki nawyk) które sie ładnie pokazuje, następnie kasuje procesor i zaczynam programować i w tym momencie wywala mi na samym poczatku błąd podobny do kolegi ale nie pamiętam dokładnie jaki. Okazuje sie że procesor jest już wtedy uwalony :/ nawet ID już nie można sprawdzić...

    Co ciekawe kolejne programowanie (oczywiście już na nowym uP) przebiega normalnie.

    Nie wiem... może po każdym włączeniu zasilania występują jakieś nieokreślone stany na LPT które są szkodliwe dla uP? Może na początku zasymuluje programowanie bez procka? Sprawdze to bo jak na razie każdą zabawe zaczyna uwalenie mikrokontrolerka... :/
  • #8 1661079
    LordBlick
    VIP Zasłużony dla elektroda
    Posty: 5438
    Pomógł: 549
    Ocena: 69
    @Citek - nie masz się czemu dziwić, bity nie zaprogramowane w poprzednim programowaniu EPROM-a dają się zaprogramowac na 0 w nastepnym, a kasowanie UV przywraca wszędzie 0xFF... Przeanalizuj dokładnie wagi poszczególnych bitów w liczbie szesnastkowej.
    @radioda, może pierwsze programowanie rób bez procesorka, wyskoczy błąd, ale stany tego pseudo-programatora się ustalą... Porządny programator (z własnym procesorem/układem sterującym) po włączeniu zasilania natychmiast ustawia się w stan bezpieczny, a tu nie mozna nic wkładać do podstawek przed uruchomieniem programu, a i pewnie trzeba coś w ustawieniach pogrzebać na okoliczność "Find hardware after start" (tak przypuszczam, nigdy nie grzeszyłem Willemem ;))...
  • REKLAMA
  • #9 1661446
    Citek
    Poziom 22  
    Posty: 712
    Pomógł: 13
    Ocena: 52
    WojtasJD napisał:

    Niezależnie od tego możesz zając się sprawdzeniem układu przetwornicy po wypisaniu jak zasilasz (parametry) Willema i jakich elementów użyłeś do budowy.

    Na samym początku zasilałem programator zasilaczem uniwersalnym z bazaru 1,5-12v o wydajności 300mA.
    Teraz podłączyłem go do zasilacza komputerowego.
    Przeglądając elektrodę trafiłę na zapis, że poprzez program Willem Eprom można zrobić test sprawdzając napięcia na poszczególnych gniazdach podstawki. Jakie powinny być te napięcia?
    W moim przypadku na 1 pinie jest +12V na 32 +5V, na pozostałych jest 4,34V oprócz pinu 14 (3,5V), 24 (3,78V) i 26 (2,88V). Czy te napięcia są poprawne?
  • #10 1661666
    WojtasJD
    Poziom 43  
    Posty: 13772
    Pomógł: 2911
    Ocena: 1577
    Cytat:
    W moim przypadku na 1 pinie jest +12V na 32 +5V, na pozostałych jest 4,34V oprócz pinu 14 (3,5V), 24 (3,78V) i 26 (2,88V). Czy te napięcia są poprawne?


    można sie przyczepić do pinu 14 (3.5V)

    dla porównania podaje napięcia z mojej płytki (pusty ZIF, miernikiem cyfrowym mierzone względem nogi 16 podstawki; w programie jak na obrazku ustawiono na wszystkich liniach adresowych i danych, OE, CE stan wysoki: -> 'Address Out' - 'A0->A23 0xFFFFFF' oraz -> 'Data Out' - 'D0->D7 0xFF' ; włączono także napięcia Vcc i Vpp (przetwornica ustawiona na 12.7V):
    1 - 12.75V
    2 - 4.38V
    3 - 4.38V
    4 - 4.38V
    5 - 4.38V
    6 - 4.38V
    7 - 4.38V
    8 - 4.38V
    9 - 4.38V
    10 - 4.38V
    11 - 4.38V
    12 - 4.38V
    13 - 4.38V
    14 - 4.38V
    15 - 4.38V
    16 - 0V
    17 - 4.38V
    18 - 4.38V
    19 - 4.38V
    20 - 4.38V
    21 - 4.38V
    22 - 4.31V
    23 - 4.38V
    24 - 4.38V
    25 - 4.38V
    26 - 3.02V
    27 - 4.38V
    28 - 4.38V
    29 - 4.38V
    30 - 4.38V
    31 - 4.38V
    32 - 5.00V

    proponuje Ci też poznęcać się nad przetwornicą: to że masz 12V na Vpp w stanie jałowym jeszcze nie świadczy że jest OK; między 1 i 16 noge ZIFa włóż rezystor 220Ω (dla Vpp 12V) i zmierz na nim napięcie (uaktywnic Vpp w programie). Rezystorek najlepiej 1W czy 2W, 'ćwiartka' może sie usmażyć jak mi przed chwilą.
    Gdy napięcie nie wiele spadnie z przetwornicy będzie brany prąd ok. 50..60mA.
    Podczas tego testu warto obmacać MC34063 , dławik, diode przy dławiku ; 7805 na płytce zasilany z wydajnego źródla typu zasilacz komputerowy 12V może znacznie się nagrzewać.
    Załączniki:
    • Willem ver 3.0 z adapterem MCS-51 ver 2.0 - błąd programowania po przerwie willem.jpg (45.64 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #11 1662468
    Citek
    Poziom 22  
    Posty: 712
    Pomógł: 13
    Ocena: 52
    sprawdziłem napięcia przy takich ustawieniach co twoje i u mnie wychodzi :
    1 - 12.71V
    2 - 4.38V
    3 - 4.38V
    4 - 4.38V
    5 - 4.38V
    6 - 4.38V
    7 - 4.38V
    8 - 4.38V
    9 - 4.38V
    10 - 4.38V
    11 - 4.38V
    12 - 4.38V
    13 - 4.38V
    14 - 3,55V
    15 - 4.38V
    16 - 0V
    17 - 4.38V
    18 - 4.38V
    19 - 4.38V
    20 - 4.38V
    21 - 4.38V
    22 - 3,77V
    23 - 4.38V
    24 - 4.38V
    25 - 4.38V
    26 - 3.06V
    27 - 4.38V
    28 - 4.38V
    29 - 4.38V
    30 - 4.38V
    31 - 4.38V
    32 - 5.00V

    Czyli 2 piny się poważnie różne od twoich pomiarów, 14 i 22.
    Nad przetwornicą się jeszcze nie znęcałem, bo nie mam akurat takiego rezystora (o takiej mocy), muszę skoczyć do miasta i kupić.

    Ma ktoś opis co się reguluje poszczegółnymi zworami, bo ja gdzie zgubiłem swoją kartke z rozpiską.
  • #12 1663361
    WojtasJD
    Poziom 43  
    Posty: 13772
    Pomógł: 2911
    Ocena: 1577
    Citek napisał:
    sprawdziłem napięcia przy takich ustawieniach co twoje i u mnie wychodzi :
    [...]
    14 - 3,55V
    [...]
    22 - 3,77V
    [...]
    26 - 3.06V
    [...]

    Czyli 2 piny się poważnie różne od twoich pomiarów, 14 i 22.
    Nad przetwornicą się jeszcze nie znęcałem, bo nie mam akurat takiego rezystora (o takiej mocy), muszę skoczyć do miasta i kupić.


    tak jak pisałem poprzednio nie podoba mi się napięcie na nodze 14 -> sygnał D1 - idący do nogi 14 - stanowi też CLK dla 93Cxx (DIP8) , 24Cxx (DIP8) , 25Cxx (DIP8) , PIC (DIP18) - czy te podstawki masz puste podczas testów ? Zrób podmiane 74HC367 (wystarczy zamienić ze sobą na płytce - najlepiej jak je masz w podstawkach) i ponownie sprawdź.

    teraz noga 22 -> między tą nogą a masą siedzi rezystor 2.2kΩ co powoduje że napięcie odbiega tu nieco od 'standardu' - dla pewności sprawdź czy rzeczywiście masz 2.2kΩ.

    noga 26 -> OK - znów mała anomalia pewnie dlatego że masz wersje wg schematu 3Bx - sygnał A9 przechodzi przez diode 1N4148 i jeszcze za nią jest inny rezystorek 2.2kΩ do masy.

    Mimo wszystko skombinuj ten rezystor do pomęczenia przetwornicy.
  • #13 2388446
    Johny256
    Poziom 12  
    Posty: 40
    Ocena: 1
    Witam

    Czy ktoś wie jak można podnieść napięcie na A9 26 noga ?

    pozdrawiam Paweł
  • #14 2390974
    WojtasJD
    Poziom 43  
    Posty: 13772
    Pomógł: 2911
    Ocena: 1577
    jak to w czymś przeszkadza spróbuj wymienić 1N4148 na np. BAT42
  • #15 2567825
    sp4msu
    Poziom 20  
    Posty: 492
    Pomógł: 21
    Ocena: 53
    witam
    U mnie z kolei willem czyta same zera 00 00 00 00 itd .
    i nie ważne czy pusty czy zaprogramowany , ale tylko 27C512 .
    27C128 czyta i programuje , test na napięcia dobry ,
    gdzie szukać ??
  • REKLAMA
  • #16 2567855
    WojtasJD
    Poziom 43  
    Posty: 13772
    Pomógł: 2911
    Ocena: 1577
    mam nadzieje że wiesz że ustawienia DipSwitcha dla 27C128 są zupełnie inne niż dla 27C512, może w tym rejonie poszukaj usterki
  • #17 3912619
    KB
    Poziom 25  
    Posty: 1002
    Pomógł: 45
    Ocena: 63
    To nie jest kwestia ustawień.
    Masz uwalony jeden z tranzystorów pnp na płytce Willema.
    Poszukaj, jest przebity B-C.
    Pozdrawiam.
  • #18 3912657
    Ibuprom
    Poziom 26  
    Posty: 1377
    Pomógł: 52
    Ocena: 180
    Miałłem podobny problem. Początkowo sądziłem iż problem leżał w Q3 (bc557). Przy programowaniu VCC wynosiło ok 2,5V a powinno 5. Wymieniłem i.... nie pomogło. Ściągnąłem schemat i Q3 sterowany był U12 (u mnie 4069 a ten już bezpośrednio z portu LPT). Okazało się że w międzyczasie zmieniłem właściwości portu w biosie i stąd te problemy. Również miałem odczyt 04 04 04....
  • #19 14083850
    yodi
    Poziom 12  
    Posty: 29
    Ocena: 6
    Proszę o pomoc gdzie szukać, u mnie napięcia brak na 22 , a na 3 i 24 w zależności od zaptaszkowania w Vpp i Vcc jest gdy zaptaszkuje Vpp na 22 i 24 mam 12,5 gdy zaptaszkuje Vcc mam 4,4 a na pozostałych pinach zif 5,05 . Programator to Willem Telwis At3 ,Od początku był jakiś problem bo grzał się trochę MC34063 i jeden kondensator, ale programowanie i odczyty były ok. Któregoś razu po zaprogramowaniu 27c512 padło Vpp dioda świeciła cały czas i był walnięty tranzystor. Po wymianie tranzystora i Mc34063 i wszystkich 4015 oraz hc367 na 4053 efekt jak na początku. Gdzie szukac problemu?

Podsumowanie tematu

✨ Problem dotyczy programatora Willem ver 3.0 z adapterem MCS-51 ver 2.0, który po przerwie użytkowania generuje błąd programowania: "Error at 0x000000 Chip = 0x40 buffer = 0x02". Początkowo programator poprawnie programował układy AT89C2051 i EPROM TMS 27C512-2JL, jednak po czasie pojawiły się problemy z zapisem i odczytem, m.in. programowanie kończyło się błędem lub zapisywało tylko wartości 0x00 lub 0xFF. Wskazano, że EPROM bez okienka UV nie może być kasowany promieniowaniem UV, a programowanie polega na ustawianiu bitów na 0. Sugerowano testowanie innych pamięci, np. Flash 28F010, 28F020, oraz unikanie programowania samymi wartościami 0xFF bez wcześniejszego wyczyszczenia bufora.

Wskazano na konieczność sprawdzenia napięć na poszczególnych pinach podstawki ZIF, gdzie nieprawidłowe wartości (np. 3,5 V na pinie 14 zamiast ~4,38 V) mogą wskazywać na problemy z przetwornicą napięcia lub elementami sterującymi. Zalecano pomiary napięć pod obciążeniem (np. rezystorem 220 Ω) oraz kontrolę rezystorów 2,2 kΩ i diody 1N4148 na linii A9 (pin 26), które mogą wpływać na napięcie. Wskazano również na możliwość uszkodzenia tranzystora PNP (np. BC557) na płytce programatora, co skutkuje obniżonym napięciem VCC podczas programowania.

Dodatkowo poruszono problem nieprawidłowych stanów na porcie LPT po włączeniu zasilania, które mogą uszkadzać mikrokontrolery podczas programowania. Zalecano testowanie programowania bez układu w podstawce, aby ustabilizować stany programatora. Wskazano na konieczność odpowiednich ustawień DIP switch dla różnych typów pamięci EPROM (np. 27C128 vs 27C512). W przypadku problemów z napięciami i stabilnością pracy programatora, sugerowano wymianę układów 4015, 74HC367 na 4053 oraz kontrolę elementów przetwornicy MC34063.

Podsumowując, przyczyną błędów programowania mogą być uszkodzone elementy sterujące napięciami (tranzystory, diody, rezystory), nieprawidłowe napięcia na pinach podstawki, błędne ustawienia DIP switch, a także problemy z portem LPT i oprogramowaniem. Diagnostyka powinna obejmować pomiary napięć pod obciążeniem, testowanie różnych układów pamięci, sprawdzenie i ewentualną wymianę elementów przetwornicy oraz kontrolę konfiguracji programatora i portu LPT.
Wygenerowane przez model językowy.
REKLAMA