Pytanie:
Zrzut pamięci Flash z SPI z SPANSION FL016KIF
samuirai
2013-07-27 23:35:15 UTC
view on stackexchange narkive permalink

Mam na płycie SPANSION FL016KIF (wyprowadzenie na str.12) i chcę zrzucić dane. W tym celu próbuję użyć BusPirate v3.

Chcę to zrobić w obwodzie. Nie połączyłem WP # i HOLD #.

enter image description here

To jest transkrypcja polecenia, której użyłem do skonfigurowania (próbowałem też innych odmian):

  HiZ>m1. HiZ2. 1-WIRE3. UART4. I2C5. SPI6. 2WIRE7. 3WIRE8. LCD9. DIOx. wyjście (bez zmian) (1) >5 Ustawiona prędkość: 1. 30KHz 2. 125KHz 3. 250KHz 4. 1MHz (1) >3 Polaryzacja zegara: 1. Idle low * default 2. Idle high (1) >1 Wyjściowa krawędź zegara: 1. Idle to aktywny 2. Aktywny do bezczynności * domyślnie (2) >2 Wejściowa faza próbkowania: 1. Środkowa * domyślnie 2. Koniec (1) >1CS: 1. CS 2. / CS * domyślnie (2) >2 Wybierz typ wyjścia: 1. Otwórz dren (H = Hi-Z, L = GND) 2. Normalny (H = 3,3 V, L = GND) (1) >2ReadySPI>W Zasilanie włączone  

I to jest instrukcja, którą próbuję wykonać, która powinien uzyskać informacje o urządzeniu:

  SPI> [0x9f r: 4] / CS ENABLEDWRITE: 0x9FREAD: 0x00 0x00 0x00 0x00 / CS DISABLEDSPI>  

Niestety ja tylko pobierz zera READ: 0x00 0x00 0x00 0x00 . Jak mogę znaleźć prawidłowe ustawienia SPI? Czy są inne pułapki?

Trzy odpowiedzi:
ixje
2013-07-28 17:29:58 UTC
view on stackexchange narkive permalink

Czy płyta główna jest zasilana? Oczywiście chip potrzebuje mocy, aby móc odczytać. Problem z robieniem tego, gdy jest on nadal na płycie, polega na tym, że inna logika może próbować uzyskać dostęp do twojego chipa w tym samym czasie.

Wszystko, co mogę polecić, to usunięcie go z płytki i zasilenie chipa za pomocą programatora (nie wiem, czy pirat autobusowy jest w stanie to zrobić). W przeszłości odczytywałem kilka chipów przez SPI (używając programatora dataman) i nigdy nie działało, gdy był jeszcze na płycie. Jako ekspert od elektroniki spodziewam się, że na płytce jest coś, co utrzymuje określone styki chipa na 0 lub 1, podczas gdy chcesz, aby były naprzemiennie. Może to być spowodowane niektórymi rezystorami pull-up / pull-down gdzieś w obwodzie lub czymś w tym rodzaju.

Widząc, jak to jest chip z krawędziami, nie powinno być zbyt trudne do usunięcia za pomocą podstawowego lutowania umiejętności. Zwłaszcza widząc, jak już jesteś w stanie przylutować na nim przewody. Jeśli nigdy wcześniej nie usuwałeś niektórych, to mogę powiedzieć; Podgrzej szpilki na jednej krawędzi i wepchnij pęsetę pod chip, aby unieść chip z jednej strony. Następnie powtórz po drugiej stronie. Te pakiety są dość elastyczne i nie zepsują twoich szpilek. Tylko nie przesadzaj z podnoszeniem;)

Przy `SPI> W` ->` Power supply ON` mogę aktywować zasilanie z BusPirate. Podłączyłem VCC i GND z BusPirate z 3.3V do chipa. Sama płyta jest wyłączona.
devttys0
2013-08-03 22:42:09 UTC
view on stackexchange narkive permalink

Po pierwsze, sugerowałbym upewnienie się, że bolec HOLD # jest wyciągnięty wysoko. Jeśli tak nie jest, układ jest w stanie „wstrzymania” i nie będzie można z niego odczytać.

Zrzuciłem kilka układów SPI, gdy były w obwodzie i jest to najczęstszy problem napotkałem to, że szyna zasilająca, z której układ jest zasilany na PCB, prawdopodobnie zasila również inne komponenty. Stwarza to dwa potencjalne problemy: 1) Twój zasilacz może nie być w stanie zapewnić wystarczającej ilości prądu, aby zasilić wszystko na szynie zasilającej, a zatem nie dostarczasz wystarczającej mocy do układu flash SPI, 2) Nawet jeśli możesz zapewnić wystarczającą ilość zasilania, inne części obwodu mogą również próbować komunikować się z układem SPI, co oczywiście spowoduje problemy. Moim rozwiązaniem jest ostrożne wylutowanie bolca zasilającego (pin 8) i wygięcie go tak, aby nie dotykał pola lutowniczego. W ten sposób możesz zasilić tylko układ flash, a nie resztę obwodu.

Wreszcie, czasami na płycie znajdują się inne elementy, które mogą zakłócać komunikację z chipem flash, więc jeśli nadal W przypadku problemów należy po prostu wylutować cały chip. Jak @ justsome wspomniałem, nie jest to w rzeczywistości trudne, szczególnie dla tych pakietów IC.

Igor Skochinsky
2013-07-29 00:40:31 UTC
view on stackexchange narkive permalink

Projekt Flashrom zawiera porady dotyczące ISP (programowanie w systemie) układów SPI. Na przykład:

Często części chipsetu są częściowo zasilane (przez napięcie dostarczane przez pin Vcc chipa flash). W takim przypadku odłącz Vcc od programatora i zasil go normalnym zasilaczem i spróbuj normalnie zasilić płytę i przytrzymując ją w pozycji resetowania (np. Użyj zworki zamiast przycisku resetowania).

Wypróbuj wskazówki podane na tej stronie.

Płytka nie jest podłączona do żadnego zasilacza.
Wtedy może * powinieneś * go zasilić, jak wspomniano we wskazówkach.
Cóż, powiedziano, że jest to opcja, gdy płyta jest częściowo zasilana. Ale ok, spróbuję.


To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 3.0, w ramach której jest rozpowszechniana.
Loading...