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

Emulator EEPROM 27256 mój projekt błędy odczytu

30 Kwi 2015 15:11 879 2
  • Poziom 2  
    Witam,
    Zaprojektowałem emulator pamięci EEPROM typu 27256, projekt fizycznie powstał ale nie działa zgodnie z założeniami, mianowicie są widoczne sporadyczne błędy odczytu podczas odczytu na programatorze Willem, po podłączeniu do układu aplikacyjnego układ wcale nie rusza. Zamiennikiem kości 27256 jest pamięć SRAM 62256, sterowaniem zajmuję się płytka Arduino Nano (przełącza stany logiczne samej pamięci W/R, wpisuje odpowiednie bajty pod odpowiedni adres), do odwoływania się po adresach pamięci używam dwóch połączonych kaskadowo liczników binarnych. W tej części nie ma problemu: zrobiłem diagnostykę za pomocą płytki arduino i odczytałem zawartość SRAMU, tutaj wszystko się zgadza. Aby odseparować kość SRAM od układu docelowego użyłem trzech buforów 74HC541D. Na czas modyfikowania zawartości SRAMu ustawiam te kości w stan wysokiej impedancji aby nie wprowadzać przekłamań na liniach adresowych i danych. Po zakończeniu wgrywania programu do SRAMu operacja jest odwrotna: wyjście liczników binarnych jest ustawione w stan wysokiej impedancji tak samo jak linie danych z arduino. Algorytm działa poprawnie bo po odczytaniu płytki za pomocą programatora (jako model podaję 27c256) dane są na swoim miejscu jednak zawsze jest kilka przekłamanych bajtów i za każdą kolejną próbą odczytu błędy są w innych miejscach. Obstawiam, że ze strony hardwarowej coś jest nie tak. Za długi kabel emulacyjny (ok 10cm) ? A może bufor 74HC541D wprowadza jakieś przekłamania ? W załączniku schematy eagle. Zastanawiam się też jakie są wymagania co do czasu dostępu do takiej pamięci. Odczytem zawartości tego epromu docelowo jest mikroprocesor motoroli 68hc11, który działa z częstotliwością 2MHz. Zastanawiam się też czy problemem nie są zakłócenia na tym kablu emulacyjnym (j. t. taśma przewodów, nieekranowana). Wiem też, że bufory 74HC542D wprowadzają dodatkowe opóźnienie ale moim zdaniem nie powinno to mieć znaczenia....
    Emulator EEPROM 27256 mój projekt błędy odczytu
  • Computer ControlsComputer Controls
  • Pomocny post
    Poziom 27  
    Jak są tylko sporadyczne błędy podczas odczytu na programatorze to masz dużo szczęścia, bo wcale nie zrobiłeś emulatora pamięci EPROM 27256 (bo nie EEPROM) tylko emulator pamięci EPROM na stałe wybranej. Na wtyku emulacyjnym (złącza JP2 i JP3) masz tylko wejścia adresowe A14-A0 oraz wyjścia danych O7-O0, a zupełnie pominąłeś sygnał wyboru pamięci CE/ i otwarcia bufora danych OE/. W rezultacie jak tylko po zapisaniu SRAM sygnał OUTHIGHIMPEDANCE zmieni stan na niski, bufor danych 74HCT541 jest otwarty na stałe czy trzeba czy nie trzeba. A tymczasem pamięć EPROM 27256 powinna wystawiać dane tylko i wyłącznie wtedy, gdy jednocześnie CE/=L, OE/=L i Vpp=5V. Pin Vpp można sobie jeszcze od biedy pominąć, ale CE/ i OE/ w żadnym wypadku, bo te wejścia są wykorzystywane praktycznie w każdym projekcie mikroprocesorowym, inaczej nie byłoby jak dekodować poszczególnych układów podłączonych do wspólnej szyny danych.

    Reszty nie będę analizował, bo i tak schemat jest do luftu. Niestety sterowanie wejściami G1/ i G2/ bufora szyny danych 74HCT541 a także wejściami CE/, OE/ i WE/ pamięci SRAM wymaga nieco bardziej skomplikowanej logiki (w postaci układu kombinacyjnego). Dopiero jak to zrobisz to będziesz mógł się martwić czasem dostępu czy długościami kabelków, o ile taki problem w ogóle się pojawi.
  • Computer ControlsComputer Controls
  • Poziom 2  
    Witam,
    Dzięki za zainteresowanie tematem kspro. Fakt, że na temat pinu OE nie doczytałem (na czas emulacji ustawiałem mu poziom LOW na sztywno a okazuje się, że musi zmieniać swój stan przy każdym odwołaniu się do adresu) ale już jakiś czas temu poprawiłem to, także układ aplikacyjny jak i programator podczas odczytu steruje tym pinem, błędów o dziwo już nie ma ale docelowo układ nie rusza z 68HC11. O sterowaniu wyjścia buforów przez układ aplikacyjny nawet nie pomyślałem ale pewnie masz rację. Trzeba się jeszcze podszkolić :) Na razie zrobię "spaw na krótko" i zobaczymy. No i oczywiście pin CE :/ Ten eprom ma współpracować z motorolą 68hc11 a ta używa expandera portów, który też jest sterowany przez CE. Masz absolutnie rację, że w tym przypadku jest on niezbędny. Do poprawy :). Dzięki za wskazówki i pozdrawiam.