Aktualizacja: 3.03.2003 -> Co nowego?
 |
Interfejs palm-MMC
- twój palm również może używać kart pamięci, nawet jeżeli jego producent tego nie chciał!
|
[ Wstęp | Stan prac | Budowa prototypu | Oprogramowanie | Historia projektu | Linki ]
Wstęp
Celem tego projektu jest umożliwienie korzystania z kart MMC w palmach. Chodzi oczywiście głównie o modele pozbawione takiego złącza... chociaż można sobie wyobrazić, że ktoś chciałby używać dwóch kart równocześnie (np bluetooth i karta pamięci) albo ma złącze na MemoryStick i koniecznie chce odczytać coś z karty MMC.
Podstawowe założenie: interfejs musi być tak prosty jak to tylko możliwe. Zwiększa to szanse, że komukolwiek oprócz mnie będzie chciało się go zbudować. Przez to jest też tani - przecież zamiast drogiego interfejsu każdy wolałby po prostu kupić palma ze złączem MMC.
Zastosowanie
Wiadomo, oczywiście:
- backup palma z dala od komputera stacjonarnego
- korzystanie z większej liczby programów i dokumentów niż mieści się w pamięci palma
Alternatywy
Podobne urządzenia można też kupić w sklepie.
- Czytnik MMC do Palm V (nie wiem czy jest do innych modeli)
Umożliwia backup i kopiowanie plików. Prawdopodobnie nie udostępnia karty dla VFS. (o tym produkcie niewiele wiem, nie znam nawet strony producenta)
- MemorySafe / FlashPlug
Jest to dodatkowa pamięć podłączana do portu hotsync (ale nie czytnik kart). Umożliwia backup. Dzięki dodatkowym programom zawartość tej pamięci może być widziana przez VFS.
- Interfejs MMC-Serial
Jest to projekt czytnika kart podłączanego do standardowego portu szeregowego, można więc go używać również z palmem (ale na razie nie ma żadnego oprogramowania umożliwiającego wykorzystanie go na palmie). W interfejsie tym używany jest osobny mikrokontroler, który steruje przesyłaniem danyc do i z karty. Ma to jedną wadę i kilka zalet. Wada to bardziej skomplikowany układ. Zalety: transmisja może być szybsza, wymaga tylko dwóch linii zamiast trzech (możliwe do zastosowania w handspring visor i ew. innych bez pelnego portu szeregowego), można zastosować inny kontroler i obsługiwać inne karty.
Stan prac
| Zadanie | Realizacja | Uwagi |
| Hardware | 90% | nie wyłącza się gdy port jest nieużywany a nawet gdy palm jest wyłączony, więc może szybko wyczerpać baterię jeżeli zapomni się go odłączyć! |
| Software: dostęp do karty | 30% | inicjalizacja karty, sprawdzanie statusu, czytanie bloku danych (bez obsługi CRC) |
| Software: obsługa FAT | 20% | tylko FAT12/16! odczyt katalogu, odczyt pliku. jeszcze bez obsługi długich nazw |
| Software: filemanager (dla OS<4.0) | 20% | |
| Software: slot driver dla VFS (dla OS>=4.0) | 0% | (na razie tylko planowany) |
Budowa prototypu
Układ połączeń wygląda następująco:

Konkretny schemat będzie zależał od modelu palma (a więc rodzaju złącza i dostępnych na nim sygnałów).
Sygnały portu szeregowego
- W Palm III, V i wcześniejszych sygnały mają poziom RS232 (+-12 V, w praktyce mniej). Do MMC musimy doprowadzić sygnały 0/3.3v, konieczny więc będzie konwerter napięcia (np MAX3232 lub podobny). Zauważmy, że w tych palmach napięcie +-12v dostarcza analogiczny konwerter przy porcie szeregowym, w naszym układzie przywracamy tylko pierwotny poziom napięć (niestety kosztem zużycia energii w obu konwerterach, pogorszenia szybkości transmisji i dodatkowej komplikacji układu...).
Połączenia w MAX3232: (3.3v do MMC, 12v do hotsync)
7. T2O - RD 12v
8. R2I - TD 12v
9. R2O - TD 3.3v
10. T2I - RD 3.3v
11. T1I - CTS 3.3v
12. R2O - RTS 3.3v
13. R1I - RTS 12v
14. T1O - CTS 12v
|
- Nowsze modele (m1xx, m5xx), w których standardowo stosuje się USB nie mają wbudowanego konwertera dla RS232 więc nie potrzebujemy tu nic odwracać i kartę można podłączyć bezpośrednio.
- Palmtopy Handspringa (ale nie wiem czy wszystkie, visory tak) są pozbawione sygnałów RTS/CTS, więc nie można w nich zastosować tego interfejsu.
- W Zire w ogóle nie ma RS232 więc też nie można podłączyć do nich karty w ten sposób
Druga sprawa to zasilanie:
- W Palm III pobieram je z pinu 2 hotsync, gdzie wyprowadzone jest napięcie +3.3v. Niestety, w tym modelu przy porcie hotsync wszystkie sygnały są zabezpieczone rezystorami 330 om, dlatego nie można stamtąd pobrać zbyt dużego prądu. Na razie "poprawiłem" konstrukcję palma omijając opornik więc nie mam tego problemu. Oczywiście jeżeli nie chcesz grzebać w palmie zawsze można zastosować zasilanie zewnętrzne no i może ktoś znajdzie lepsze rozwiązanie?
- Sprawdzałem też sytuacje w Palm V, tam na pinie 9 hotsync jest wyprowadzone napięcie prosto z baterii (do ładowania). Napięcie waha się w zależności od poziomu naładowania, od 4 do 3,6 v. Potrzebne do karty 3.3v można więc uzyskać przez połączenie szeregowo zwykłej diody prostowniczej
- Nie wiem jak w innych modelach. Napisz, sprawdź, to umieszcze informacje na stronie.
Gotowy interfejs do Palm III wygląda tak:
Jak widać, zamiast oryginalnego złącza do kart zastosowałem złącze krawędziowe. To białe na zdjęciu jest kawałkiem plastiku, który pełni rolę blokady utrudniającej włożenie karty w złym miejsciu.
Po włożeniu karta siedzi mocno, ale niestety możliwe jest jej niewłaściwe umieszczenie no i zawsze wystaje, przez co jest narażona na poruszenie w czasie pracy.
Jeżeli uda ci się zmontować układ w naprawde małej przestrzeni, zmieści się on w standardowej wtyczce. Pewnie będzie to łatwiejsze przy zastosowaniu układu SMD ale jak widać można zmieścić i zwykły.
Oprogramowanie
Program obsługujący interfejs nie nadaje się jeszcze do publikacji... ;-)
Na razie tylko kilka obrazków:
Historia projektu
- 3.03.2003 - Pierwsze oficjalne ogłoszenie i powstanie strony
Linki
[ Wstęp | Stan prac | Budowa prototypu | Oprogramowanie | Historia projektu | Linki ]
(C)2003 Szymon Ulatowski