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

[STK200/300][PonyProg][95020] Device Not Responding

tronics 12 Paź 2012 09:19 2046 2
REKLAMA
  • #1 11403043
    tronics
    Poziom 38  
    Posty: 5062
    Pomógł: 358
    Ocena: 840
    Witam. Zbudowałem dawno temu programator ISP STK200/300 w oparciu o bufor 74HC244. Programowałem nim bez większego problemu AVR i 8051 Atmela, natomiast aktualnie w pracy pojawiła się konieczność programowania in-system układów SPI EEPROM 95020 (niby zamienne z 25020). Ogółem chodzi o to, że urządzenie składa się z płytki głównej ze slotami oraz różnych kart gdzie wykrywanie typu karty odbywa się przez odczytanie 1 bajtu (lub 2 bajtów) pamięci EEPROM. Mam spreparowaną płytkę główną (usunięte komponenty wiszące na liniach SPI), w zasadzie zostaje tylko dekoder 3 na 8 będący na kartach (ale linie wybierające skonfigurowane są tak by wskazywał na pamięć EEPROM) i odczyt pamięci z różnych kart działa bez zarzutu. Ponyprog przy wybraniu 25020 i AvrISP-I/O może czytać pamięć kart.
    Połączenie standardowo MOSI, MISO, SCK i /RESET na /CS.
    Problem pojawia się przy zapisie - gdy /CS podpięte było do masy bezpośrednio przy zapisie pojawiało się "write failed" lub "device not responding", obecnie gdy jest do /CS podpięty reset przy próbie zapisu jest "device not responding". Kość zasilana jest poprzez płytkę z karty zasilacza urządzenia - przetwornicy 24V->5V z dość dużą obciążalnością prądową. Czy ktoś kiedyś używał podobnej kombinacji narzędzi i napotkał (+pokonał) ten problem?
  • REKLAMA
  • Pomocny post
    #2 11405213
    Konto nie istnieje
    Poziom 1  
  • #3 11413348
    tronics
    Poziom 38  
    Posty: 5062
    Pomógł: 358
    Ocena: 840
    W zasadzie jedyna różnica, która moim zdaniem może na to wpływać to owe 4..7 bity rejestru stanu, z tym, że w trakcie samego czytania/zapisu raczej ów rejestr jest nieruszany, a jedynie przed/po. Co do różnic "page size" to raczej kosmetyka, bo nikt nie każe czytać na 95020 wszystkich 16 bajtów pod rząd - po wystawieniu /CS na H autoinkrementacja jest bodajże zatrzymywana jak i cały zapis. Jeśli ktoś ma zatem jakiś pomysł "nieinwazyjny" do oczytu i zapisu tej pamięci bez użycia lutownicy czy bardziej zaawansowanych programatorów (np. dataman) to chętnie powitam sugestie. Wprawdzie zasadniczo chodzi mi o zmianę pierwszego bajtu więc w razie czego mogę mcu zaprogramować do tego w zależnie od dip switchy, ale wolałbym nie dorabiać dodatkowej logiki.
REKLAMA