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

AT89S8252 - wysypywanie sie pamięci

29 Sty 2006 10:07 3300 17
  • Poziom 15  
    Witam
    Mam problem z tym mikrokontrolerem mianowicie co jakiś czas wysypuje sie w nim pamięć .Procesor pracuje w maszynie która steruje m.in. załączaniem świetlówek, silnika rewersyjnego, grzałek. Układ jest wieloprocesorowy a ten konkretny procesor czyta klawiaturę 12-przyciskową(matrycowo) i steruje wyświetlaczem led. Odległość od płyty czołowej gdzie jest klawiatura i wyświetlacz ok 2m. Układ ma standardowy reset(10uF i 8k2) na zasilaniu procka dławik 22uH(po dławiku 100uF i 100nF). Czy Atmele są wrażliwymi mikrokontrolerami?
    Co można jeszcze zrobić w takim wypadku?
    Po wgraniu nowego softu procek pracuje poprawnie
    Darmowe szkolenie: Ethernet w przemyśle dziś i jutro. Zarejestruj się za darmo.
  • Relpol przekaźniki nadzorczeRelpol przekaźniki nadzorcze
  • VIP Zasłużony dla elektroda
    A linie /EA masz na stałe do plusa zasilania??
  • Poziom 15  
    Tak jest na stałe podłączona do 5V
  • Relpol przekaźniki nadzorczeRelpol przekaźniki nadzorcze
  • Poziom 42  
    Masz na myśli że gubi zawartość pamięci flash? Spróbuj odczytać taki jeden "wysypany" i porównaj pliki (żeby określić liczbe błędów i ich powtarzalność). Czy próbowałeś wymienić na inną sztukę?
  • Poziom 15  
    Tak zostaje zmieniona zawartość pamięci Flash ale nie cała tylko komórki
    o adresie 0 (z wartości 02(LJMP) na 00(NOP)) i adresie 3 (z 7F(MOV) na 03(RR)).
    Po resecie procesor czyta pamięć i zamiast rozkazu skoku zastaje NOP
    Co może być tego przyczyną ? Czy istnieje możliwość że w wyniku zakłócenia wywołanego włączeniem silnika(dużej ilości świetlówek) może nastąpić uaktywnienie szyny SPI i przypadkowe programowanie(myśle że raczej mało możliwe).
    Ma ktoś jakiś pomysł co z tym zrobić?
    Dodam że piny procesora od SPI(MOSI,MISO,SCK) służą do czytania klawiatury(matryca 3X4) a odległość mikroprzełączników od procesora to około 2m(taśma komputerowa) i nie jest to powodem tej konkretnej sztuki procka bo na innych też sie to dzieje.
  • Poziom 42  
    A jaki masz układ resetu? Żeby wejść w tryb programowania trzeba utrzymać procesor w resecie.
  • Poziom 15  
    Napisałem wyżej, standardowy reset (10uF od plusa i 8k2 do masy)
  • Użytkownik usunął konto  
  • Poziom 15  
    Jeśli miałbym zmieniać procesor to pewnie byłby to jakiś PIC albo coś z rodziny ST6 bo czytałem że są mniej wrażliwe na zakłócenia.
    Jednak ta opcja to ostatnia możliwość(ze względu na duże zmiany w systemie) i dlatego szukam innego rozwiązania.
    Co do zmiany programu to też bym przy tym nie obstawał bo może sie okazać że kolejny procek będzie miał uszkodzone(żle zapisane) komórki o innych adresach i problem powraca.
    Ma ktoś jeszcze jakieś pomysły?
  • Poziom 16  
    odpowiedz PIERWSZA

    prawdopodobnie angla znasz wiec czytaj:

    In revisions "S" and earlier of the AT89S8252 and AT89LS8252 devices, inadvertent writes to either the Flash program memory or the data EEPROM memory can occur. An inadvertent write is a possibility in the following two scenarios.

    Case A Conditions
    1. A MOVX instruction is used to write to the internal EEPROM.
    2. P2.4 = 0 (driven by external hardware)
    P2.5 = 1
    3. The RST pin is asserted high during execution of any MOVX instruction that writes to the EEPROM, while VCC is on. In this case, an inadvertent write to the EEPROM address location corresponding to the value at Port 1 and pins P2.0 - P2.5 can occur.

    Case B Conditions
    1. A MOVX instruction is used to write to the internal EEPROM.
    2. P2.4 = 0 (driven by external hardware)
    P2.5 = 0 (driven by external hardware)
    3. The RST pin is asserted high during execution of any MOVX instruction that writes to the EEPROM, while VCC is on. In this case, an inadvertent write to the Flash memory address location corresponding to the value at Port 1 and pins P2.0 - P2.5 can occur.

    Solutions
    1. Avoid driving pins P2.4 and P2.5 to logic level "0" by external hardware before performing a "warm" (soft) reset.
    2. Use revision "T" or later of the devices involved.

    Dodano po 14 [minuty]:

    po DRUGIE:
    jesli to mozliwe mozesz sprobowac ZABLOKOWAC zapis przez ISP poprzez:
    a) czesciowe "wylaczenie" dostepu do flash, blokada odczytu/zapisu bez skasowania zawartosci (ale nie zawsze mozna z roznych wzgledow),
    b) calkowite przez Serial Programming Fuse, jesli mozesz programowac uklad na zewnatrz programatorem,

    po TRZECIE,
    mozesz sprobowac AT89S8253 (nie testowalem osobiscie ale powinni poprawic conieco),

    a po CZWARTE,
    jest uklad AT89C51RB2/RC2, kompatybilny pinowo z poprzednimi, rozniacy sie jedynie sposobem programowania ISP bo poprzez port szeregowy :). Brak w nim EEPROM w obszarze RAM ale do czytania klawiszy chyba nie potrzebujesz takich funkcji.

    Sam polecam czwarte rozwiazanie bo z AT89S8252 tez mialem problemy ale innego rodzaju niz opisane.

    Dodano po 11 [minuty]:

    Marcin

    www.embedded.org.pl
  • Poziom 15  
    Witam
    Założyłem porządny filtr na zasilaniu procka i dodatkowe filtry RC na wejściach (na początku były tam diody 1N4148 w odpowiedniej konfiguracji) na razie wszystko jest ok ale zobaczymy czy to wystarczy
    Nie posiadam programatora który programuje równolegle gdyż uaktywniłbym również serial programming fuse jak pisał kolega symndz
    najwyżej trzeba będzie zmienić procek.
    Pozdrawiam
  • Poziom 33  
    Witam.

    Mam podobny problem z AT89C51RC2.
    W betoniarni pracuje 5 sztuk jako sterowniki wagowe.
    Wszystko działa poprawnie pomimo, że cała sterownia naszpikowana jest stycznikami, przekaźnikami, cewkami do elektrozaworów itp.

    Problem jest jak nastąpi zanik napięcia(nawet jak stacja stoi).
    Szafa ma wyłącznik główny i wyłacza wszystkie terminale. Po parokrotnych włączeniach i wyłączeniach pada program główny. Kasuje się około 100 pierwszych bajtów programu. Zasilacz standardowy na trafie dobrze filtrowany, reset na rezystorze i kondensatorze. Ustawione bity blokujące dostep do pamięci programu (Level2). Objawy są takie same we wszystkich 5 sztukach. Nic nie pomaga. Trzeba było dać UPS.

    I tu moje pytanie.
    1. Czy jeżeli napięcie zasilania uP oscyluje na granicy jego poprawnej pracy to można uszkodzić wewnętrznego Flasha?
    2. Czy problem zniknie po założeniu układu resetującego (np. DS1812)?
    3. Czy taka jest uroda tego Atmela?.

    Mam na biurku sporo podobnych sterowników, różnych producentów i nikt nie zrobił tego na Atmelu. Głównie Philips i NEC i w dodatku wszystko na zewnętrznej pamięci.
    Widać Atmele nie nadają się do "poważnych" zadań.:cry:
  • Poziom 33  
    To jaki wytrzyma takie wahania zasilania?
  • Poziom 16  
    to jest tak ze kazdy mozna zaklocic (stad wynikaja min mozliwosci odczytu zablokowanej pamieci) tyle ze ten at89s... jest szczegolnie podatny ..
    szczegolnie przy ukladzie resetu na rezystorze :) to wybrazam sobie reszte ukladu i projekt urzadzenia .. moze warto poszukac ukladu OTP?

    scislego odpowiednika (innej firmy) tego ukladu, nie znam, ale od czego google!
    teraz pojawily sie nowsze wersje tegu ukladu z wieksza pamiecia to powinny byc lepsze, a dwa, wczesniej podalem taki ktory jest pinowo odpowiedni ale nie ma wew. EEPROM i inaczej sie go programuje w ukladzie

    .. jest jeszcze AVR atmela tez pinowo zgodny z powyzszymi i latwo przenosi sie kod w C .. symbolu kosci nie pamietam jednak ale to chyba latwo odszukac ..
  • Poziom 33  
    Kolega symndz mnie nie zrozumiał.

    Ja mam problem z pamięcią Flash w AT89C51RC2. Program ładowany jest przez fabryczny bootloader przez UARTA. Pamięć blokowana jest bitami sprzętowymi.
    A co do projektu. Jest to terminal wagowy pracujący z napieciem wej. rzędu 20mV pracujący w strasznych warunkach starej sterowni betoniarskiej. I DZIALA POPRAWNIE (jak tylko ma zasilanie:D)
  • Poziom 16  
    w takim razie to by oznaczalo ze nalezy nie uzywac wcale tej seri AT89.... Atmela ..

    .. albo naprawde trzeba sie przyjerzec krytycznie projektowi sterownika
  • Poziom 40  
    Mam 3 szt AT89S8252 kupionych na początku ich sprzedaży. Żaden nie da sie zaprogramować nawet równolegle na fabrycznym programatorze.
    Z epromem na zewnątrz pracują prawidłowo. Kiszka.