Właśnie chciałem zająć się, obsługą kart MMC w trybie
SPI i chciałem się dowiedzieć czy istnieją jakieś znaczące różnice
między kartami MMC a MMCmobile, gdyż na jednym z forum znalazłem post
w którym autor napisał, że karta MMCmobile firmy Kingstone nie jest
zgodna ze specyfikacją MMC i nie można do niej zapisać i odczytać bloku
danych gdyż nie odpowiada "data token". Z kolei firma Kingstone nie
udostępniła datasheet'a karty twierdząc, że jest ona przeznaczona tylko
do telefonów komórkowych.
Bardzo byłbym wdzięczny za wyjaśnienie tego problemu. Pozdrawiam
Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj sięRóżnice między MMC a MMCmobile
Moderatorzy:Jacek Bogusz, Moderatorzy
Dzięki Piotr za info i cierpliwość mam jeszcze tylko takie pytanie: ponieważ projekt chce zrealizować na uC z rdzeniem ARM (lpc2114), który nie posiada rezystorów podciągających w porcie GPIO,a którego funkcją alternatywną jest właśnie interfejs SPI, tak więc czy w tym wypadku muszę zastosować zewnętrzne rezystory podciągające??
W końcu podłączylem kartę MMC do mikrokontrolera (LPC2114 z rdzeniem ARM7TDM) i pojawił się problem. O ile karta inicjalizuje się poprawnie i przyjmuje komendy, to gdy chce odczytać rejestr CID, zwraca Data Error Token (9). Podobnie jest w przypadku odczytu rejestru CSD, tylko tym razem zwraca 15. Kupiłem kartę Kingston MMCmobile 512, wiec być może tutaj tkwi problem, aczkolwiek napisane jest, ze jest zgodna z poprzednimi standardami MMC. Proszę o pomoc
[ Dodano: 19-04-2007, 23:50 ]
Mam jeszcze takie pytanie do Ciebie Piotrze, piszesz, że używałeś karty Kingston i działała. A możesz odczytać rejestr CID i CSD (czy otrzymujesz pierwszy bajt 0xFE)? i czy przy odczycie z karty dostajesz Data Token 0xFE?
[ Dodano: 24-04-2007, 21:17 ]
hej?! czy ktoś, może mi odpowiedzieć na to pytanie? Dzięki
[ Dodano: 19-04-2007, 23:50 ]
Mam jeszcze takie pytanie do Ciebie Piotrze, piszesz, że używałeś karty Kingston i działała. A możesz odczytać rejestr CID i CSD (czy otrzymujesz pierwszy bajt 0xFE)? i czy przy odczycie z karty dostajesz Data Token 0xFE?
[ Dodano: 24-04-2007, 21:17 ]
hej?! czy ktoś, może mi odpowiedzieć na to pytanie? Dzięki
witam mam podobny problem ja dostaje data token tylko potem lecą zera zamiast właściwych danych i to tylko na tej karcie MMC mobile bo na zwyklej MMC i MMC+ idzie wszystko ok.Czyli MMC mobile nie są do końca zgodne.
Zrealizowałem urządzenie (na procesorze PIC18F) które między innymi czyta karty MMC.
Chce aby urządzenie przyjmowało każda kartę MMC. kupiłem kilka różnych.
Zwykłą MMC, MMC+, MMC mobile.
No i z tą ostatnią jest problem.
po włączeniu urządzenia funkcja inicjuje kartę. na wszystkich kartach inicjalizacja karty działa poprawnie.Przy odczycie pojedynczego sektora karty za pomocą komendy MMC_READ_SINGLE_BLOCK
(najpierw jest wysyłana komenda MMC_READ_SINGLE_BLOCK potem oczekiwany jest znacznik początku bloku danych MMC_STARTBLOCK_READ który jest równy 0xFE i po tym znaczniku pobieranych jest 512 bajtów pojedynczego sektora)
w przypadku tych dwóch kart MMC i MMC+ idą poprawne dane natomiast z tej karty MMC mobile idą zera.Karta jest sprawna bo w czytniku na PC działa.Układ ma zasilanie 3V.Karta ma napisane "DualVoltage" ale z tego co czytam to jest nieistotne gdyż z 3V powinna pójść.
Nigdzie metody innej na odczytanie sektoru nie znalazłem wiec wnioskuję ze chodzi o jakiś drobny niuans że idą zera zamiast danych.Bo karta zachowuje się jak normalna MMC (przyjmuje komendę MMC_READ_SINGLE_BLOCK,daje znacznik MMC_STARTBLOCK_READ) tylko zamiast danych idą zera.
Proszę o pomoc kogoś kto na obsłudze kart MMC lub SD się zna. Bo nie rozumiem tego zjawiska.
Zrealizowałem urządzenie (na procesorze PIC18F) które między innymi czyta karty MMC.
Chce aby urządzenie przyjmowało każda kartę MMC. kupiłem kilka różnych.
Zwykłą MMC, MMC+, MMC mobile.
No i z tą ostatnią jest problem.
po włączeniu urządzenia funkcja inicjuje kartę. na wszystkich kartach inicjalizacja karty działa poprawnie.Przy odczycie pojedynczego sektora karty za pomocą komendy MMC_READ_SINGLE_BLOCK
(najpierw jest wysyłana komenda MMC_READ_SINGLE_BLOCK potem oczekiwany jest znacznik początku bloku danych MMC_STARTBLOCK_READ który jest równy 0xFE i po tym znaczniku pobieranych jest 512 bajtów pojedynczego sektora)
w przypadku tych dwóch kart MMC i MMC+ idą poprawne dane natomiast z tej karty MMC mobile idą zera.Karta jest sprawna bo w czytniku na PC działa.Układ ma zasilanie 3V.Karta ma napisane "DualVoltage" ale z tego co czytam to jest nieistotne gdyż z 3V powinna pójść.
Nigdzie metody innej na odczytanie sektoru nie znalazłem wiec wnioskuję ze chodzi o jakiś drobny niuans że idą zera zamiast danych.Bo karta zachowuje się jak normalna MMC (przyjmuje komendę MMC_READ_SINGLE_BLOCK,daje znacznik MMC_STARTBLOCK_READ) tylko zamiast danych idą zera.
Proszę o pomoc kogoś kto na obsłudze kart MMC lub SD się zna. Bo nie rozumiem tego zjawiska.
Witam , patrząc na specyfikacje jednej takiej karty (http://www.pqi.com.tw/product2.asp?TT=2 ... ROID=221#1 ) widzę że ma on dwa typy transmisji , normalne duże karty mają transmisję szeregową ta może ma domyślnie ustawiony tryb równoległy 8bitów (bus). Wyjąłem nawet taką małą kartę z mojej Noki , włożyłem w adapter i spróbowałem odpalić ją w moim notebooku , niestety kicha, nie wykrywa , możliwe że jest to wina adaptera lub karta jest przełączana z 8bitowego trybu na tryb szeregowy jakąś specjalną komendą której driver w moim starszym już notebooku nie rozpoznaje
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 64 gości