DataFlash Atmela - problem przy uruchomieniu



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: Rogher <rogher_at_nospam_wp.pl>
Subject: DataFlash Atmela - problem przy uruchomieniu
Date: Tue, 25 Jul 2006 10:36:32 +0200


Cześć,

Już ponad tydzień siedzę nad problemem i utknąłem. Może pomożecie.
W systemie jest PIC18F2420 i DataFlash AT45DB011.
Mam problem z zapisem do MainPage'a jakichkolwiek danych.

Co działa:

1) czytam status - działa
2) zapis do bufora SRAM - działa
3) odczyt z bufora SRAM - działa
4) zapis do MainPage a następnie odczyt z MainPage - zwraca tylko FF-y.

Co zabawne - Robię tak:

1) Załadowanie strony nr x do bufora SRAM
2) Zapis nowych danych do bufora
3) zaprogramowanie bufora SRAM do Flash'a

W międzyczasie podglądam sobie timingi i podczas zapisu do Flash'a układ
nawet jest busy przez 15ms czyli jakby programował.
A robię mu potem odczyt a on mi zwraca FF'y. Dla pewności już 1mln razy
sprawdziłem że WP jest podciągnięty do +3V.

Dla chętnych pomocy mogę wrzucić zrzuty z analizatora na priva.

Może ktoś wie co jeszcze może być nie tak.

dzięki i pozdrawiam

Rogher

Poprzedni Następny
Wiadomość
Spis treści
From: "Paweł \(0\)" <apcom_at_nospam_interia.pl>
Subject: Re: DataFlash Atmela - problem przy uruchomieniu
Date: Tue, 25 Jul 2006 11:02:14 +0200


Już ponad tydzień siedzę nad problemem i utknąłem. Może pomożecie.
W systemie jest PIC18F2420 i DataFlash AT45DB011.
Mam problem z zapisem do MainPage'a jakichkolwiek danych.

Może ktoś wie co jeszcze może być nie tak.
Pokaż co dokładnie wysyłasz w SPI przy nie działających
rozkazach.
Miałem jakiś czas temu podobne problemy, ale nie pamiętam
jak je rozwiązałem :-) Nie wiem czy czasem nie chodziło o to że pomyliłem
rozkazy gdzie należy wysyłać 4 a gdzie 1 dodatkowy bajt pomiędzy
rozkazem a danymi

pozdr



Poprzedni Następny
Wiadomość
Spis treści
From: Rogher <rogher_at_nospam_wp.pl>
Subject: Re: DataFlash Atmela - problem przy uruchomieniu
Date: Tue, 25 Jul 2006 12:03:52 +0200


Miałem jakiś czas temu podobne problemy, ale nie pamiętam
jak je rozwiązałem :-) Nie wiem czy czasem nie chodziło o to że pomyliłem
rozkazy gdzie należy wysyłać 4 a gdzie 1 dodatkowy bajt pomiędzy
rozkazem a danymi

pozdr


Leci tak (wykrzyknik to jeden kompletny rozkaz z argumentami):
Jeszcze 1 komentarz: 0x33 - to u mnie don't care bits

//sprawdza STATUS i flagę BUSY
1! (CS: 1->0), 0xD7, (czeka na READY), (CS: 0->1)

//MainMemoryToBuffer
2! (CS: 1->0), 0x53, 0x00, 0x00, 0x33, (CS: 0->1)

//STATUS
3! (CS: 1->0), 0xD7, (CS: 0->1)

//BufferWrite
4! (CS: 1->0), 0x84, 0x33, 0x00, 0x00, 'T', 'O', 'M', 'A', 'S', 'Z',
(CS: 0->1)

//STATUS
5! (CS: 1->0), 0xD7, (CS: 0->1)

//BufferToMainMemoryWithBuiltErase
6! (CS: 1->0), 0x83, 0x00, 0x00, 0x33, (CS: 0->1)

//STATUS
7! (CS: 1->0), 0xD7, (tu czeka 15,7ms aż BUSY zostanie skasowane), (CS:
0->1)

i teraz odczyt:

//ContinousArrayRead
8! (CS: 1->0), 0xE8, 0x00, 0x00, 0x00, 0x33, 0x33, 0x33, 0x33,
(i teraz DATAFLASH przełącza SDO z 0->1, i puszczam kolejne 10 paczek
impulsów na SCK. Odczyt na linii SDO daje 10 razy 0xFF, (CS: 0->1)

KONIEC.

Dzięki za podejście do tematu

Rogher

Poprzedni Następny
Wiadomość
Spis treści
From: "Paweł \(0\)" <apcom_at_nospam_interia.pl>
Subject: Re: DataFlash Atmela - problem przy uruchomieniu
Date: Wed, 26 Jul 2006 08:44:23 +0200


i teraz odczyt:

//ContinousArrayRead
8! (CS: 1->0), 0xE8, 0x00, 0x00, 0x00, 0x33, 0x33, 0x33, 0x33,
(i teraz DATAFLASH przełącza SDO z 0->1, i puszczam kolejne 10 paczek
impulsów na SCK. Odczyt na linii SDO daje 10 razy 0xFF, (CS: 0->1)

A spróbuj odczytać flasha do bufora (0x52, 0xD2), a potem odczytać
bufor.

może tak:
zapis do bufora
odczyt z bufora (żeby sobie potwierdzić co tam siedzi)
odczyt flash do bufora
odczyt z bufora

jak tu będzie miał FFy to znaczy że może nie działa zapis do flash
jak będzie ok to odczyt bezpośrednio z flasha nie działa

spróbuj też zapisu poprzez 0x82

pozdr



Poprzedni Następny
Wiadomość
Spis treści
From: "Marek P." <marco999_at_nospam_vp.pl>
Subject: Re: DataFlash Atmela - problem przy uruchomieniu
Date: Tue, 25 Jul 2006 14:01:25 +0200


Użytkownik Rogher napisał:
Cześć,

Już ponad tydzień siedzę nad problemem i utknąłem. Może pomożecie.
W systemie jest PIC18F2420 i DataFlash AT45DB011.
Mam problem z zapisem do MainPage'a jakichkolwiek danych.

Co działa:

1) czytam status - działa
2) zapis do bufora SRAM - działa
3) odczyt z bufora SRAM - działa
4) zapis do MainPage a następnie odczyt z MainPage - zwraca tylko FF-y.

Co zabawne - Robię tak:

1) Załadowanie strony nr x do bufora SRAM
2) Zapis nowych danych do bufora
3) zaprogramowanie bufora SRAM do Flash'a

W międzyczasie podglądam sobie timingi i podczas zapisu do Flash'a układ
nawet jest busy przez 15ms czyli jakby programował.
A robię mu potem odczyt a on mi zwraca FF'y. Dla pewności już 1mln razy
sprawdziłem że WP jest podciągnięty do +3V.

Dla chętnych pomocy mogę wrzucić zrzuty z analizatora na priva.

Może ktoś wie co jeszcze może być nie tak.

dzięki i pozdrawiam

Rogher

Witam,
Dobry "hint" na DF to dobry elektrolit/tantal na nogach zasilania.
Często gdy magazyn energii jest za daleko, rozkazy zapisu/kasowania
Flasha są błędne. Przećwiczone wiele razy. Już zastanawiałem się kiedyś,
czy nie zrobić DF+tantal jako 1 element biblioteczny ;)
Marek

Poprzedni Następny
Wiadomość
Spis treści
From: Rogher <rogher_at_nospam_wp.pl>
Subject: Re: DataFlash Atmela - problem przy uruchomieniu
Date: Tue, 25 Jul 2006 14:06:35 +0200



Witam,
Dobry "hint" na DF to dobry elektrolit/tantal na nogach zasilania.
Często gdy magazyn energii jest za daleko, rozkazy zapisu/kasowania
Flasha są błędne. Przećwiczone wiele razy. Już zastanawiałem się kiedyś,
czy nie zrobić DF+tantal jako 1 element biblioteczny ;)
Marek

Już sprawdzam....

Rogher

Poprzedni Następny
Wiadomość
Spis treści
From: Kosma <kosmam.SPAMMERS_at_nospam_GO.TO.HELL.op.pl>
Subject: Re: DataFlash Atmela - problem przy uruchomieniu
Date: Tue, 25 Jul 2006 14:33:10 +0200


Marek P. wrote:
Dobry "hint" na DF to dobry elektrolit/tantal na nogach zasilania.
Często gdy magazyn energii jest za daleko, rozkazy zapisu/kasowania
Flasha są błędne. Przećwiczone wiele razy. Już zastanawiałem się kiedyś,
czy nie zrobić DF+tantal jako 1 element biblioteczny ;)

Ja miałem podobne problemy z AT89C2051. Tak często zapominałem o
odsprzęganiu zasilania lizaczkiem 100n, że zacząłęm przylutowywać
kondensatory od góry do nóg zasilania procka. Wygląda to śmiesznie, ale
działa niezawodnie... bo nie muszę pamiętać o kondensatorze.

W ogóle te kondensatorki powinny być zintegrowane. :P

Kosma

Poprzedni Następny
Wiadomość
Spis treści
From: Rogher <rogher_at_nospam_wp.pl>
Subject: Re: DataFlash Atmela - problem przy uruchomieniu
Date: Tue, 25 Jul 2006 14:34:01 +0200



Witam,
Dobry "hint" na DF to dobry elektrolit/tantal na nogach zasilania.
Często gdy magazyn energii jest za daleko, rozkazy zapisu/kasowania
Flasha są błędne. Przećwiczone wiele razy. Już zastanawiałem się kiedyś,
czy nie zrobić DF+tantal jako 1 element biblioteczny ;)
Marek

Niestety, nie pomogło.

Wstawiłem najbliżej jak się dało tantala 22u + 100u (niskoimpedancyjny)
+ 1000u (jakiś zwykły). Bez zmian.

A wcześniej też podejrzewałem jakiś problem może od tej strony i
podłączyłem oscyloskop do zasilania DataFlash'a. Nie udało mi się jednak
zarejestrować żadnego skoku. Także to chyba nie o to chodzi...

Ale do dalszych prób - kondensatory te zostawiam :)

Rogher

Poprzedni Następny
Wiadomość
Spis treści
From: "Marek P." <marco999_at_nospam_vp.pl>
Subject: Re: DataFlash Atmela - problem przy uruchomieniu
Date: Tue, 25 Jul 2006 14:37:35 +0200


Użytkownik Rogher napisał:


Witam,
Dobry "hint" na DF to dobry elektrolit/tantal na nogach zasilania.
Często gdy magazyn energii jest za daleko, rozkazy zapisu/kasowania
Flasha są błędne. Przećwiczone wiele razy. Już zastanawiałem się
kiedyś, czy nie zrobić DF+tantal jako 1 element biblioteczny ;)
Marek


Niestety, nie pomogło.

Wstawiłem najbliżej jak się dało tantala 22u + 100u (niskoimpedancyjny)
+ 1000u (jakiś zwykły). Bez zmian.

A wcześniej też podejrzewałem jakiś problem może od tej strony i
podłączyłem oscyloskop do zasilania DataFlash'a. Nie udało mi się jednak
zarejestrować żadnego skoku. Także to chyba nie o to chodzi...

Ale do dalszych prób - kondensatory te zostawiam :)

Rogher
Piszesz w C?
Jesli chcesz podeśle Ci sprawdzone procedurki. Ja oczwiscie mam na AVRki
, ale to juz przerobisz sobie.
Marek

Poprzedni Następny
Wiadomość
Spis treści
From: Rogher <rogher_at_nospam_wp.pl>
Subject: Re: DataFlash Atmela - problem przy uruchomieniu
Date: Tue, 25 Jul 2006 14:42:12 +0200


Marek P. napisał(a):
Użytkownik Rogher napisał:


Witam,
Dobry "hint" na DF to dobry elektrolit/tantal na nogach zasilania.
Często gdy magazyn energii jest za daleko, rozkazy zapisu/kasowania
Flasha są błędne. Przećwiczone wiele razy. Już zastanawiałem się
kiedyś, czy nie zrobić DF+tantal jako 1 element biblioteczny ;)
Marek


Niestety, nie pomogło.

Wstawiłem najbliżej jak się dało tantala 22u + 100u
(niskoimpedancyjny) + 1000u (jakiś zwykły). Bez zmian.

A wcześniej też podejrzewałem jakiś problem może od tej strony i
podłączyłem oscyloskop do zasilania DataFlash'a. Nie udało mi się
jednak zarejestrować żadnego skoku. Także to chyba nie o to chodzi...

Ale do dalszych prób - kondensatory te zostawiam :)

Rogher
Piszesz w C?
Jesli chcesz podeśle Ci sprawdzone procedurki. Ja oczwiscie mam na AVRki
, ale to juz przerobisz sobie.
Marek

Tak, w C. Jeżeli możesz to podrzuć - może podratuje.

dzięki

Poprzedni Następny
Wiadomość
Spis treści
From: Rogher <rogher_at_nospam_wp.pl>
Subject: Re: DataFlash Atmela - problem przy uruchomieniu
Date: Wed, 26 Jul 2006 06:52:31 +0200





Piszesz w C?
Jesli chcesz podeśle Ci sprawdzone procedurki. Ja oczwiscie mam na AVRki
, ale to juz przerobisz sobie.
Marek

Witam,

Temat cały czas aktualny. Porównałem procedurki od Marka ze swoimi. Mam
właściwie identyczne. A kod już jest tak prosty że prostszy nie może
być. Tymbardziej że mam podgląd na analizatorze i widzę co idzie
faktycznie po SPI.

Co jeszcze może być powodem że nie chce programować Main Memory?
(przypominam, że do buforów SRAM zapisuje i odczytuje z nich)

A może jest jakiś hint aby odczytać z MainPage'a. Może zapisało a nie
mogę odczytać???

Proszę o wsparcie a ja w międzyczasie mam jeszcze 1 pomysł. Zmajstruję
programator A. Dybkowskiego i podejrzę na analizatorze jak wygląda zapis
i odczyt czegoś co działa.

A może WriteProtect jest na stałe zablokowany mimo pina podwieszonego???
Zdażyło się kiedyś komuś?

pozdrawiam

Rogher

Poprzedni Następny
Wiadomość
Spis treści
From: Rogher <rogher_at_nospam_wp.pl>
Subject: Re: DataFlash Atmela - problem przy uruchomieniu
Date: Wed, 26 Jul 2006 13:08:01 +0200


Witam,

Na chwilę obecną wylutowałem DataFlasha z PCB podłączyłem go na pająku
do portu LPT (wg opisu A. Dybkowskiego, lecz bez buforów 74LVC244),
zasiliłem 3,3V, podłączyłem kondensatory na zasilaniu (22u tantal + 100u
niskoimp. + 1000u) i odpaliłem ISPProg'a.
linie WP i RST podłączyłem twardo do 3,3V.

1. Czyta sygnaturę poprawnie.
2. Próba zapisu kończy się WriteError ("powinno być 0x54 a jest 0xFF").

Podejrzałem sobie timingi z programatora - identyko jak u mnie i u Marka P.

Stawiam na uszkodzoną kość, co objawia się brakiem możliwości zapisu do
MainMemory (lub odczytu z niej). Zamówiłem nowe kości. Dam znać jak
dostanę i przetestuję.

Rogher