Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

WILLEM - Pamięci SRAM EEPROM NVRAM błedy zapisu oraz odczytu

coberr 03 Mar 2016 17:54 2529 3
  • #1 03 Mar 2016 17:54
    coberr
    Poziom 19  

    mam problem w programatorem WILLEM.

    DOkładniej jest to programator zgodny z willem - opis publikowany był w Praktycznym Elektroniku 5/2001.

    Generalnie nie mialem praktycznie żadnych problemów z programowaniem pamieci FLASH, EPROM, EEPROM, NVRAM.
    Jesli byly - to drobne - wywołane problemami ze skrajnie dziadoskiej jakości przełączników typu DiP-switch zakupionych w jeszcze bardziej dziadoskiej znanej łódzkiej firmie - ktora obecnie prócz chińskiego ścierwa nic już praktycznie chyba nie sprowadza. Problem z tymi dip switchami jest taki - ze mają trwałość zaledwie KILKU przełączeń.
    Z czasem przełączniki te zastąpiłem sobie nakładką ze zworkami... Jednak to nie jest ważne.

    Problem jest następujący:

    OD kilku dni programator nie chce poprawnie odczytywać ani programować pamięci NVRAM (np. DS1230, DS1235) EEEPROM (np. AT28C64B).

    Odczyt NVRAM - pierwsze kilkadziesiąt bajtów odczytuje sie jako 04h 06h - naprzemiennie.(64 moze troche wiecej) Pozostałe odczytują sie już bez problemu.
    Zapis NVRAM - bląd juz przy pierwszej komórce. (zwraca wartośc 04H)

    Ta sama pamięć - wrzucona na test jako 62256 - przechodzi test bez problemu.

    (żeby nie było - układ podtrzymania (ds1210) sprawny - Ucc>3V)

    Wstawiona w podstawkę z DS1210 pamieć 6264 - te same cyrki.

    O dziwo pamieci te ustawione jako EEPROM (8K 32K) zapisują sie prawie bez problemu. Prawie - bo na wszystkie zapisane komorki wartością FF - jedną zwraca błednie - z reguly jest to 1555h=55h lub 2AAAh =55h.

    Nie wierzę, zebym miał uszkodzone pamięci wszystkie w ten sam sposób (okazjonalnie jedna lub dwie te same komórki) - zwłaszcza , że RAM TEST przechodzą bez problemów.

    CYRK z EEPROM - AT28C64B. Programator bez problemu zapisywal mi te pamieci. Obecnie nie jestem w stanie zapisać poprawnie zerowego lub pierwszego sektora (w zaleznosci od tego co wpisuję - 00 czy ffh)
    Pierwsze 64 bajty zwraca jako ffh.

    Nie wiem - czy zablokował mi tę pamięc programowo (przypadkową kombinacją bajtów czy jaki czort)

    Cały programator sprawdzony (zwarcia, przejscia, działanie posczególnych sekcji - także z menu H/W test). Sygnaly dochodza aż do samego układu pamieci. Układy scalone w programatorze podstawione, rózne serie (HC, LS (CD40xx) To samo...

    Sprawdzone relacje pomiedzy załączanym VCC oraz sygnałami CE/OE/WE.
    Wszystko wydaje sie byc ok.

    Zastanawiającym jest fakt - ze programator zalącza VCC na chwile - kilkadzieisąt ms. Następnie wylącza je (równiez kilkadziesiąt ms) i ponownie załącza. Dalsza sekwencja sygnałow WE/OE/CE odbywa sie już po ponownym załączeniu VCC.

    Napiecia w normie - 5,5V. Przebiegi na szynach rowniez nie zaniżone...

    Testowalem rozne wersje oprogramowania - ten sam cyrk...

    I przyznam szczerze że po czwartym dniu już skonczyły mnie sie pomysły.

    Sprawdzilem chyba wszystko co możliwe. Przerylem cały programator wszystko wydaje sie być ok. a ze scalakami - loteria. Nie przypuszczam mimo wszystko , zeby byly uszkodzone - zwlaszcza że częśc to nowe układy kupione w dziadoskiej lódzkiej firmie (np. WS6264 LLPG-70 lub UM62256E -70LL)


    Ktoś walczyl może z podobnym problemem?

    0 3
  • #2 03 Mar 2016 22:53
    onepiotr
    Poziom 24  

    Podepnij do innego kompa. Może coś z LPT.
    Taka głupia rzecz - czy ta wersja softu posiada przełącznik rodzaju programatora ((willem/... coś tam)?

    0
  • #3 04 Mar 2016 03:29
    coberr
    Poziom 19  

    własnie LPT też biore pod uwagę i w sumie męczy mnie ta myśl cały czas tylko kurcze co tu jest grane?

    Własnie dobralem sie do gada z innej strony - a dokładnie zacząłęm sprawdzać samo adresowanie pamięci. (Jak wspomniałem wszystkie sygnały są ok (poziomy)
    Jednak coś mi nie pasowało w samych adresach (mimo ze wszystkie linie ustawiane ręcznie są ok.

    CHodzi o sterowanie samych liczników 4015. DO pełnego wpisania oraz przesunięcia do końca łańcucha calego adresu (18bitów) potrzebujemy w sumie 19 impulsów na wejsciu CLK.

    Zacząłem sprawdzać jeszcze raz pod tym kątem starsze wersje oprogramowania
    (normalnie używałem wersji 0.98ja bez najmniejszego problemu.)

    Tym razem jednak widzę - ze podczas wpisywania pelnego adresu - port generuje jedynie 13... 16 impulsów (w zależności od wersji oprogramowania)
    STara wersja (np. 085) generuje pełne 19 impulsów.
    nowsze wersje mam ustawione do wersji "WILLEM" - zreszta inaczej sie tu nie da. Ten programator projektowany był pod pierwsze wersje oprogramowania.

    Jednak zaznaczam - do tej pory z wersją "0.98ja" - pracował bez najmniejszego problemu.

    w ząłacznikach przedstawiam oscylogramy na pinach 1 i 15 pierwszego z łańcucha rejestrów przesuwających (dla rożnych wersji oprogramowania).

    WILLEM - Pamięci SRAM EEPROM NVRAM błedy zapisu oraz odczytuwillem_v08...D_4015.png Download (3.76 kB) WILLEM - Pamięci SRAM EEPROM NVRAM błedy zapisu oraz odczytuwillem_v09...D_4015.png Download (4.39 kB)

    Dziwna sprawa - bo na laptopie mam ten sam cyrk. (a również działało bez problemu)

    Ta wersja (jak każda począwszy od 0.9x) posiada przełącznik willem/pcb3B (o ile o ten chodzi)

    co do portu LPT - ustawiony jako ECP+EPP adr. 378h.
    próbowałem też SPP (tak zalecali pierwotnie).
    Ostatnio w wielu instrukcjach pojawia sie ECP+EPP.

    studiowałem również ten wątek:
    http://www.py2bbs.qsl.br/willem_pcb45en.php

    Zatem wiem o istniejących przeróbkach oraz wersjach oprogramowania.
    (u siebie testowałem również rezystory na liniach D,CLK oraz AUTO,SELIN)
    Bez większego rezultatu - teraz chyba wiem dlaczego.(przynajmniej czesciowo).

    Jesli port LPT - to co tam może sie wyrabiać ?(programowo -bo pewnie sprzętowo jest w pełni sprawny)

    0
  • #4 05 Mar 2016 01:55
    coberr
    Poziom 19  

    niestety sprawdziłem dzisiaj na innym komputerze z win xp oraz win 98 - te same cyrki...
    Nawet jeszcze lepsze - bo tam program ver.0.97j wysyla 25 impulsów na teście... (wpis adresu)

    We wszystkich wersjach LPT podaje 13 impulsów na zapis adresu podczas normalnego odczytu... cyrki...


    Zatem nie windows, nie LPT, nie programator, nie układy pamięci... (przewód równiez sprawdzony podmieniony).

    Nie mam juz czasu męczyć sie z tym złomem - wiec chyba musze skapitulować...

    Jesli ktos ma jeszcze jakies sugestie - to bardzo proszę. CHyba ze ktoś ma możliwośc przesledzić oscyloskopem zapis adresu do rejestru podczas procesu odczytu i dać cynk - jak to wyglada - będę wdzięczny.

    0