-
Data: 2021-04-17 12:30:49
Temat: karta SD i pamięć RAM na jednej magistrali - dziwne zachowanie
Od: Atlantis <m...@w...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]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ć?
Następne wpisy z tego wątku
- 17.04.21 15:32 jacek
- 17.04.21 17:14 Atlantis
- 17.04.21 18:38 Grzegorz Niemirowski
- 17.04.21 19:34 Marek
- 21.04.21 22:08 Atlantis
- 22.04.21 09:00 Marek
- 22.04.21 09:44 Atlantis
Najnowsze wątki z tej grupy
- Rejestrator temperatur - termopara, siec
- Router LTE z możliwością zmian MTU
- Fajny film widziałem...
- Jaka ładowarka sieciowa do Iphona?
- Taśma izolacyjna do prac elektrycznych
- Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Wkrętarki, wiertarki...
- Zasilacz impulsowy 12V 10A, coś godnego uwagi jako zamiennik akumulatora wkrętarki
- Mouser - koszt wysyłki
- [OT] Jak wycinac ksztalt w piance lub styropianie?
- FV--> ciepła woda w kranie
- Szok
Najnowsze wątki
- 2025-07-14 granice
- 2025-07-14 Awaria VM?
- 2025-07-14 Gdańsk => Programista Kotlin <=
- 2025-07-14 Warszawa => Junior Rekruter <=
- 2025-07-14 Warszawa => Specjalista rekrutacji IT <=
- 2025-07-14 Wkłady do zniczy...
- 2025-07-14 Warszawa => Specjalista ds. Sprzętu Komputerowego <=
- 2025-07-14 Re: PO chroniło i chroni policyjnych bandziorów [zawiasy za katowanie obywatela (Poznań czerwiec 2012)]
- 2025-07-14 Warszawa => International Freight Forwarder <=
- 2025-07-14 Warszawa => Recruiter 360 <=
- 2025-07-14 Re: Rz?Âd ZAKAZUJE magazyn?Â?w energii ?!! Nowe prawo od 14 lipca to SZOK! ??Â
- 2025-07-14 Warszawa => Sales Assistant <=
- 2025-07-13 Fałszywe alerty
- 2025-07-12 dlaczego gadacie z tym debilem
- 2025-07-13 Unia Europejska przygotowuje nowy podatek