jacek pozniak
Guest
Wed Dec 27, 2017 2:38 pm
Witam
Może ktoś coś wie.
(mówimy o czytaniu RAW, pomijamy zagadnienia systemu plików)
Karta SD może być zapisywana w całych blokach 512, OK.
Czytana również.
Ale czy coś się stanie jeśli po przeczytaniu, np. 16 bajtów podniosę sygnał
CS i rozpocznę czytanie innego sektora?
Nie chcę czytać (ze względów czasowych) całych 512 bajtów ale nie chcę też
aby, np. po przerwaniu operacji czytania, trzeba by było przeprowadzać jakąś
równie czasochłonną inicjalizację.
Słyszał/robił ktoś coś na ten temat?
Pozdrawiam
jp
--
jp
www.flowservice.pl
www.flowsystem.pl
Marek
Guest
Wed Dec 27, 2017 6:47 pm
On Wed, 27 Dec 2017 14:38:38 +0100, jacek pozniak
<jacek.pozniak@flowservice.pl> wrote:
Quote:
Nie chcę czytać (ze względów czasowych) całych 512 bajtów ale nie
chcę też
aby, np. po przerwaniu operacji czytania, trzeba by było
przeprowadzać jakąś
równie czasochłonną inicjalizację.
Przetestuj, natomiast może być z tym problem. Jeśli nie chcesz czytać
całego 512 bloku możesz użyć cmd16 by ustawić mniejszy blok czytania
(nawet jeden bajt), ale uwaga blok mniejszy niż 512 przyjmują tylko
stare karty i to nie wszystkich producentów.
--
Marek
jacek pozniak
Guest
Thu Dec 28, 2017 11:57 am
Marek wrote:
Quote:
On Wed, 27 Dec 2017 14:38:38 +0100, jacek pozniak
jacek.pozniak@flowservice.pl> wrote:
Nie chcę czytać (ze względów czasowych) całych 512 bajtów ale nie
chcę też
aby, np. po przerwaniu operacji czytania, trzeba by było
przeprowadzać jakąś
równie czasochłonną inicjalizację.
Przetestuj, natomiast może być z tym problem. Jeśli nie chcesz czytać
całego 512 bloku możesz użyć cmd16 by ustawić mniejszy blok czytania
(nawet jeden bajt), ale uwaga blok mniejszy niż 512 przyjmują tylko
stare karty i to nie wszystkich producentów.
Przetestuję, na razie walczę aby uruchomić toto z STM32F103.
I tak się zastanawiam czemu te karty nie są tak proste w obsłudze jak, dajmy
na to, pamięć 25LC512?
--
jp
www.flowservice.pl
www.flowsystem.pl
J.F.
Guest
Thu Dec 28, 2017 12:15 pm
Dnia Thu, 28 Dec 2017 11:57:06 +0100, jacek pozniak napisał(a):
Quote:
Przetestuję, na razie walczę aby uruchomić toto z STM32F103.
I tak się zastanawiam czemu te karty nie są tak proste w obsłudze jak, dajmy
na to, pamięć 25LC512?
Bo do czego innego sluza, maja byc szybkie, pojemne i udawac dysk,
a nie proste w obsludze :-)
Dodaj, ze to flash (kasowalny calymi sektorami), co generuje mase
problemow.
J.
Marek
Guest
Thu Dec 28, 2017 8:55 pm
On Thu, 28 Dec 2017 11:57:06 +0100, jacek pozniak
<jacek.pozniak@flowservice.pl> wrote:
Quote:
I tak się zastanawiam czemu te karty nie są tak proste w obsłudze
jak, dajmy
na to, pamięć 25LC512?
im bardziej skomplikowane tym więcej można na tym zarobić
Komunikacja z sd bardzo przypomina scsi, być może było to zamierzone,
by łatwiej implementowalo się z scsi mass storage.
Pytanie po Co ci karta sd skoro masz prostsza pamięć 25LC512?
--
Marek
jacek pozniak
Guest
Thu Dec 28, 2017 10:55 pm
Marek wrote:
Quote:
On Thu, 28 Dec 2017 11:57:06 +0100, jacek pozniak
jacek.pozniak@flowservice.pl> wrote:
I tak się zastanawiam czemu te karty nie są tak proste w obsłudze
jak, dajmy
na to, pamięć 25LC512?
im bardziej skomplikowane tym więcej można na tym zarobić
Komunikacja z sd bardzo przypomina scsi, być może było to zamierzone,
by łatwiej implementowalo się z scsi mass storage.
Pytanie po Co ci karta sd skoro masz prostsza pamięć 25LC512?
W urządzeniu będzie karta SD, do przechowywania plików, ma być widziana z
zewnątrz jako mass storage (przez USB).
Myślałem aby na niej wydzielić 'partycję' i używać jej jako nieulotną pamięć
"operacyjną" (potrzebuję tego około 0,25..1 MB).
Będę ją chyba jednak musiał złożyć z 4 szt. 25LC1024 lub coś takiego.
Trochę dziwne są te karty SD, nawet nie jestem pewien czy mogą byś na jednej
magistrali z pamięcią SPI albo z innymi, skoro inicjalizacja polega na
wysylaniu sygnału zegarowego przy NIEAKTYWNYM sygnale CS.
--
jp
www.flowservice.pl
www.flowsystem.pl
Marek
Guest
Fri Dec 29, 2017 12:05 am
On Thu, 28 Dec 2017 22:55:05 +0100, jacek pozniak
<jacek.pozniak@flowservice.pl> wrote:
Quote:
Będę ją chyba jednak musiał złożyć z 4 szt. 25LC1024 lub coś
takiego.
Użycie serial flash zamiast sd ma swoje wady i zalety. Zaletą jest
prostota obsługi, wadą brak kontrolera wear levelingu, przynajmniej w
większości spi flash (z kontrolerem wl flash spi robi tylko chyba
lattice). No chyba, że wl zaimplementujesz sam w mcu.
Quote:
Trochę dziwne są te karty SD, nawet nie jestem pewien czy mogą byś
na jednej
magistrali z pamięcią SPI albo z innymi, skoro inicjalizacja polega
na
wysylaniu sygnału zegarowego przy NIEAKTYWNYM sygnale CS.
To nic, specyfikacja sd zwraca uwagę, że wysokie cs nie ustawia od
razu SDO karty w stan wysokiej imp. jak większość urządzeń spi by
uwolnić magistralę. Karta zrobi to dopiero po przesłaniu do niej
ekstra jednego bajtu po ustawieniu cs na 1.
Mimo to daje się sprawnie spiąć kilka urządzeń spi wraz z kartą.
--
Marek
jacek pozniak
Guest
Fri Dec 29, 2017 1:28 pm
Marek wrote:
Quote:
On Thu, 28 Dec 2017 22:55:05 +0100, jacek pozniak
jacek.pozniak@flowservice.pl> wrote:
Będę ją chyba jednak musiał złożyć z 4 szt. 25LC1024 lub coś
takiego.
Użycie serial flash zamiast sd ma swoje wady i zalety. Zaletą jest
prostota obsługi, wadą brak kontrolera wear levelingu, przynajmniej w
większości spi flash (z kontrolerem wl flash spi robi tylko chyba
lattice). No chyba, że wl zaimplementujesz sam w mcu.
Trochę dziwne są te karty SD, nawet nie jestem pewien czy mogą byś
na jednej
magistrali z pamięcią SPI albo z innymi, skoro inicjalizacja polega
na
wysylaniu sygnału zegarowego przy NIEAKTYWNYM sygnale CS.
To nic, specyfikacja sd zwraca uwagę, że wysokie cs nie ustawia od
razu SDO karty w stan wysokiej imp. jak większość urządzeń spi by
uwolnić magistralę. Karta zrobi to dopiero po przesłaniu do niej
ekstra jednego bajtu po ustawieniu cs na 1.
Mimo to daje się sprawnie spiąć kilka urządzeń spi wraz z kartą.
Dzięki za wskazówki
Pomału ogarniam; może coś z tego będzie.
Rozmiar bloku daje się zmienić na np. 16 bajtów.
Muszę jednak sprawdzić czy daje się ten rozmiar dość szybko zmieniać na 512
i z powrotem na 16.
No i muszę to sprawdzić na kilku różnych kartach, na razie testuję SanDisk
2GB (SD)
--
jp
www.flowservice.pl
www.flowsystem.pl
Marek
Guest
Fri Dec 29, 2017 2:27 pm
On Fri, 29 Dec 2017 13:28:49 +0100, jacek pozniak
<jacek.pozniak@flowservice.pl> wrote:
Quote:
No i muszę to sprawdzić na kilku różnych kartach, na razie testuję
SanDisk
2GB (SD)
Dla kart hc i xc blok odczytu nie może być mniejszy 512.
--
Marek
jacek pozniak
Guest
Wed Jan 03, 2018 12:10 pm
Marek wrote:
Quote:
On Fri, 29 Dec 2017 13:28:49 +0100, jacek pozniak
jacek.pozniak@flowservice.pl> wrote:
No i muszę to sprawdzić na kilku różnych kartach, na razie testuję
SanDisk
2GB (SD)
Dla kart hc i xc blok odczytu nie może być mniejszy 512.
No tak, potwierdziło mi sie doświadczalnie (dla karty hc).
Zamykam CS i mimo, że wyslę kilka cykli zegara to i tak nie mogę przejść do
drugiego sektora.
no nic, jakiś kompromis znajdę :)
Pozdrawiam
jp
--
jp
www.flowservice.pl
www.flowsystem.pl
jacek pozniak
Guest
Wed Jan 03, 2018 3:17 pm
Marek wrote:
Quote:
On Fri, 29 Dec 2017 13:28:49 +0100, jacek pozniak
jacek.pozniak@flowservice.pl> wrote:
No i muszę to sprawdzić na kilku różnych kartach, na razie testuję
SanDisk
2GB (SD)
Dla kart hc i xc blok odczytu nie może być mniejszy 512.
Ale wygląda na to, że karty sd standard powinny być jeszcze parę lat na
rynku. Na allegro widzę je jako karty "do nawigacji".
jp
--
jp
www.flowservice.pl
www.flowsystem.pl