Czy jest jakiś prosty sposób, by pospolity Pen Drive USB (32MB...1GB) sprząc z mikrokontrolerem np.: PIC 16F84 ? Celem jest przesyłanie co kilka sekund bajtu danych z układu pomiarowego zrealizowanego na PICu do zewnętrznej pamięci, którą później dałoby się odczytać w PC-ci i zrobić z tego jakiś wykres czy inną obróbkę
Pen drive - mikrokontroler. Jak to podłączyć?
Sep 30, 2005
32 Replies
Prosty - nie. Mikrokontroler musiałby być hostem (czyli inaczej masterem) i mieć zaimplementowany dość skomplikowany protokół USB, składający się z kilku warstw. Sam zajmuje się tym od kilku m-cy - co prawda nie cały czas, ale jestem jeszcze w lesie. Używam SL811HS firmy Cypress jako układu USB, który załatwia trochę roboty za procesor. Niestety jest słabo opisany przez producenta. Ogólnie rzecz biorąc w sieci jest mało informacji na ten temat. Ja osobiście podpierałem się kodem źródłowym Linuxa. Żeby potem przeczytać dane z pendriva w PC-cie muszą być zapisane jako pliki, czyli w Twoim urządzeniu musi dojść jeszcze kolejna warstwa - systemu plików, taka jak w DOS-ie. Jak zabierałem się za to przeczytałem gdzieś na jakiejś grupie, że to zadanie jest gdzieś między bardzo trudnym, a niemożliwym. Aha jeszcze jedno - wybrałem atmegę - sądzę, że z czymś słabszym poziom trudności przesuwa się bardziej w rejony impossible.
Dużo łatwiej jest zrobić urządzenie USB - wiele procesorów ma wbudowane kontrolery typu device. Mógłbyś przychodzić z laptopem i odczytywać dane z urządzenia.
BG
e tam gadanie, koledzy z grupy już dawno rozwalili to zagadnienie... archiwum, archiwum, archiwum... (chyba)
lepeij podłączyć SD, procedury podłączenia MMC albo SD do 51 sa proste.
chyba jednak nie:)
Są mikrokontrolery ze sprzętowym hostem USB. Widziałem jakiś 8051 na Allegro, ale niestety nie pamiętam nazwy układu. Są też ARMy w Seguro, ale znacznie droższe (60+ zł.).
No to lepsze będą karty CF/MMC/SD. Z drugiej strony host USB ma o tyle prostsze zadanie, że to on generuje timingi -- a skoro zrobiono programowe USB device na AVR 2313, to być może i hosta się da
-- zawsze możesz przetrzeć szlaki. :-) Inna sprawa, czy warto.
Pozdrawiam Piotr Wyderski
Hm, dalo sie zrobic slave, to moze i da sie zrobic mastera:
formatting link
Ale powiedzmy sobie szczerze ze to nie jest dobre podejscie.
A musi byc USB ? Moze do pica podlacz karte pamieci, jakies SD/MMC, i dokup czytniczek USB. A elektryczny interfejs kart jest znacznie prostszy.
W obydwu przypadkach masz problem ze wypadaloby napisac cala obsluge systemu plikow. A tym picusiu jest to raczej niewykonalne. Albo wlasny program obslugi karty/pena na pececie, bez systemu plikow.
Albo podejscie takie: na pececie formatujemy karte, tworzymy na niej jeden duzy plik ... i wtedy mozna zalozyc ze jego dane sie zaczynaja zawsze w tym samym sektorze i rozciagaja na kolejne...
J.
Timingi to najmniejszy problem. Struktura USB jest właśnie taka, aby większość pracy wykonywał host, zaś device ma być maksymalnie prosty. Z założenia hostem ma być silna maszyna, zaś device to mysz, klawiatura albo inny pen.
IMHO o wiele prosciej wziac karte CF a w zestawie z urzadzeniem dolozyc czytnik CF za jakies grosze. Bardzo prosta obsluga (w kilka dni napisalem - ale po 'odkryciu' ze numerki w PDFie i na zlaczu Samteca mialy lustrzane odbicie...).
Piotr Wyderski napisał(a):
formatting link
w.
Użytkownik "J.F." <jfox snipped-for-privacy@poczta.onet.pl> napisał w wiadomości news: snipped-for-privacy@4ax.com...
Właśnie się nad tym" ideafix" zastanawiam. Pen Drive jest pospolitym nośnikiem i wydaje mi się, że przez najbliższe lata będzie produkowany. Pamięci SD to rzadkość, ciągle modyfikowane i wymagają specjalnego czytnika. Na razie w tym urządzeniu jest tak, że dane są zapisywane do EEPROM, ale odczyt tego wymaga fachowca. Widzę, że nie jest to trywialne zadanie (spodziewałem się, że być może istnieje jakiś pospolity gotowy scalak) i byle człek (inspektor nie będący ani elektronikiem ani komputerowcem) będzie mógł wsadzić do maszyny swojego kontrolnego pen driva a potem go sobie w swoim PC-cie odczytać. Niby proste i zbędne, ale chodzi o to, by fachowiec nie oszukał inspektora :-)
Użytkownik "UE feat. Polska & GW (+Białoruś)" snipped-for-privacy@go2.pl napisał w wiadomości news:dhj38l$cf6$ snipped-for-privacy@news.onet.pl...
Jaaaaaaaaasne:-) jakby było w archiwum, nie byłoby tego pytania:-(
Użytkownik "Wojtek Kaniewski" snipped-for-privacy@SPAM.SPAM.SPAM> napisał w wiadomości news:dhj8nt$565$ snipped-for-privacy@inews.gazeta.pl...
Nie znam japońskiego. Wygląda mi, ze to urządzenie odczytuje mysz. Czy odczyt jest dużo prostszy od wpisania czegoś do PenDriva ?
SP9LWH napisał(a):
to była informacja dla Piotra, a nie propozycja rozwiązanie dla Ciebie. z tego co pamiętam, urządzenia klasy mass storage przesyłają dane w trybie bulk, a to mogą robić tylko urządzenia full speed. mały AVR da radę obsłuży USB tylko w trybie low speed.
(jeśli plotę bzdury, proszę mnie poprawić.)
w.
formatting link
Pozdrawiam Piotr Wyderski
O właśnie, korzystając z okazji: chciałbym w przyszłości poeksperymentować z obsługą kart SD oraz MMC, czy ktoś ma może jakąś dokumentację protokołu (zwłaszcza w trybie 4-bitowym)? Niestety nie udaje mi się znaleźć niczego wartego uwagi w Google.
Pozdrawiam Piotr Wyderski
SP9LWH napisał(a):
Stawiam kasztany przeciwko żołędziom, że w obiegu jest więcej kart SD niz pendrive'ów... A standard SD ( a właściwie MMC bo taki jest najprostszy do obsługi ) sie nie zmienił od chwili powstania.
W sensie prostoty obsługi SD/MMC niczym sie nie różni od pen drive'a, a czytnik kosztuje grosze. A co do ew. oszukiwania, to plik z danymi można równie łatwo grzebnąć i tu i tam. Więc jeśli taki problem cię czeka, to trzeba będzie niezaleznie od nośnika pomysleć o jakimś szyfrowaniu.
Piotr Wyderski napisał(a):
wystarczy wpłacić odpowiednią sumę SD Card Association. za darmo jest tylko mocno okrojona dokumentacja na ich stronie.
w.
O ile moze to byc jakis wykladnik: Allegro
Fotografia/karty/SD-MMC: 705 ofert, komputery/pendrive: 523 oferty.
:-)
J.
formatting link
- procedury w C do obługi kart SD/MMC dla AVR i ARM
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required