eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikakarta SD i pamięć RAM na jednej magistrali - dziwne zachowanieRe: karta SD i pamięć RAM na jednej magistrali - dziwne zachowanie
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erj
    e.net!feeder.erje.net!news.uzoreto.com!news-out.netnews.com!news.alt.net!fdc3.n
    etnews.com!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer01.ams4!peer.am4.
    highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-02.n
    ews.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-fo
    r-mail
    User-Agent: NewsTap/5.3.5 (iPhone/iPod Touch)
    Cancel-Lock: sha1:2o2tyfeOy64TZjU7MwkBfara+NE=
    Newsgroups: pl.misc.elektronika
    Message-ID: <607ae383$0$546$65785112@news.neostrada.pl>
    Subject: Re: karta SD i pamięć RAM na jednej magistrali - dziwne zachowanie
    Content-Type: text/plain; charset=UTF-8
    Mime-Version: 1.0
    Content-Transfer-Encoding: 8bit
    From: jacek <j...@f...pl>
    References: <607ab8d9$0$508$65785112@news.neostrada.pl>
    Date: 17 Apr 2021 13:32:51 GMT
    Lines: 59
    Organization: Telekomunikacja Polska
    NNTP-Posting-Host: 83.20.253.201
    X-Trace: 1618666371 unt-rea-a-02.news.neostrada.pl 546 83.20.253.201:26994
    X-Complaints-To: a...@n...neostrada.pl
    X-Received-Bytes: 3986
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:764146
    [ ukryj nagłówki ]

    Atlantis <m...@w...pl> wrote:
    > Jest sobie układ z MCU STM32F107. Do magistrali SPI3 podłączone dwa
    > urządzenia: karta SD oraz pamięć RAM 23LC1024. Każde z urządzeń z osobna
    > dział prawidłowo. Mogę zapisywać i odczytywać dane do/z pamięci RAM, a
    > karta SD jest prawidłowo obsługiwana przez FatFS. Każde z urządzeń jest
    > aktywowane software'owo swoim własnym pinem CS.
    >
    > Bardzo konkretny problem pojawia się natomiast w bardzo konkretnej
    > sytuacji. Mianowicie:
    > 1) W programie mamy otwarty plik, z którego kilkanaście razy na sekundę
    > czytana jest porcja danych.
    > 2) Raz na 25 sekund wykonywany jest test zapisu i odczytu do/z pamięci
    > 23LC1024. Trafia do niej pewna porcja danych, która następnie jest
    > odczytywana.
    >
    > Problem pojawia się w momencie, gdy po zakończeniu ostatniej operacji na
    > SPI RAM przychodzi czas na kolejną operację na karcie (czyli w
    > opisywanym przypadku odczyt kolejnego fragmentu danych z pliku, chociaż
    > próbowałem wstawiać też w tym miejscy operację zapisu do innego pliku i
    > efekt był taki sam). Mianowicie wywalany jest wtedy błąd funkcji
    > readSECTOR sterownika karty SD, którego numer wskazuje na odrzucenie
    > komendy READ_SINGLE, wysłanej do karty (funkcja wysyłająca komendę
    > odbiera z magistrali odpowiedź inną niż 0).
    >
    > Problem występuje raz, odczyty kolejnych porcji danych już tego błędu
    > nie wywalają, to znaczy do czasu aż upłynie kolejnych 25 sekund i
    > przyjdzie kolej odczytania porcji tuż po zakończeniu kolejnej operacji
    > na pamięci SPI.
    >
    > Same operacje na RAM-ie poprzedzające ten błąd wykonują się prawidłowo.
    >
    > Dodatkowe informacje/co udało mi się wykluczyć:
    > 1) Analizator stanów logicznych pokazuje, że linie CS obydwu urządzeń
    > nigdy NIE znajdują się w stanie niskim jednocześnie.
    > 2) Czas jaki upływa od podniesienia linii CS_RAM-u do upuszczenia linii
    > CS_SD zdaje się nie mieć znaczenia. Normalnie pomiędzy tymi zdarzeniami
    > upływa trochę ponad 3ms (pomiędzy operacjami jest jeden printf) ale
    > próbowałem wstawiać tam ręcznie opóźnienia idące w setki ms - nie pomagało.
    > 3) Magistrala SPI jest konfigurowana przy inicjacji karty SD. Sterownik
    > pamięci RAM nie ingeruje w konfigurację magistrali. Przyjmuje stan
    > zastany i jedynie wysyła/odbiera dane.
    > 4) Nie używam RTOS-a. Wszystkie operacje są wykonywane sekwencyjnie w
    > pętli głównej.
    > 5) Nie używam przerwań do transmisji SPI ani nie inicjuję transmisji z
    > funkcji obsługi przerwań.
    > 6) Nie używam DMA do obsługi transmisji SPI.
    >
    > Ktoś ma jakiś pomysł co może być przyczyną tak dziwnego zachowania
    > układu/programu? Co jeszcze mogę sprawdzić?
    >

    O ile dobrze pamietam to karta SD wymaga taktowania jeszcze po wyłączeniu
    CS, albo przed aktywowaniem CS, jakies cyrki z tym są; to nie jest tak jak
    normalne SPI.
    Nie pamietam już dokładnie.

    jp


Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: