pendrive i AVR

Jan 08, 2004 9 Replies

Witam! Czy ktos moze zajmowa³ sie wspólpraca mikrokontrolera z pamieciami typu pendrive poprzez USB? Chodzi mi o sposób zapisu,protkó³ ... moze jakies linki? pozdrawiam zIo



formatting link
Tam znajdziesz specyfikacje protokolu USB i opis klasy Mass Storage. Potem musisz znale¼æ jaki¶ uk³ad hosta usb i oprogramowaæ to wszystko.

Witam!

Je¶li zadowoli Ciê nieco ni¿sza prêdko¶æ to Mo¿e Ci siê przydaæ ten link:

formatting link
tam opisana programowa implementacja USB w AVR- kach. Dok³adasz do tego flasha i masz pendrive'a...

po pierwsze, ten kod nie nadaje się do niczego poza prostym sterowaniem urządzeń. nie obsługuje transferu danych potrzebnego w obsłudze dysków.

po drugie, pytanie było o współpracę z pendrive'ami, a nie o ich tworzenie.

w.

Witam!

Obs³uguje. Standardowo mo¿esz np. u¿ywaæ zawartego w procku eeproma jako scratchpad - to ju¿ jest pendrive, tyle ¿e o mikroskopijnej wielko¶ci ;) Ale do³o¿enie do tego zewnêtrznej pamiêci i oprogramowanie tego jest bardzo proste.

A to przepraszam, nie zrozumia³em. Ale to bêdzie baaardzo ciê¿kie. Tworzenie urz±dzenia które ma wspó³pracowaæ z komputerem przez USB to jedno (i nie jest to takie trudne), a tworzenie urz±dzenia które ma siê komunikowaæ z innym urz±dzeniem przez USB pe³ni±c rolê komputera to drugie (i to faktycznie jest trudne). ZTCW ¿aden dostêpny na rynku procek nie ma wbudowanej obs³ugi w trybie "host" a nie "peripheral". W ka¿dym razie poszukaj informacji o USB OTG (USB On-The-Go), no i ¿yczê powodzenia...

nie wiem dlaczego, ale pendrive'y kojarzą mi się z urządzenami klasy mass storage obsługującymi transfery typu bulk. tego kod Igora Cesko nie potrafi. owszem, można napisać kawałek kodu do obsługi kart MMC, ale co to za pendrive, który wymaga instalacji sterowników w każdym systemie?

w.

No to wystarczy tylko napisac obsluge klasy Mass Storage dla AVRka (kod zrodlowy softu AVRka jest do sciagniecia ze strony "igorowego" konwertera USB-RS232) i juz. Nie wymaga specjalnych sterownikow po stronie komputera.

tyle to i jak wiem, ale to nie jest ani ,,dokładasz do tego flasha i masz pendrive'a'', ani ,,dołożenie do tego zewnętrznej pamięci i oprogramowanie tego jest bardzo proste'' jak pisał mój przedmówca. próbowałeś kiedyś zrozumieć 64kB źródeł w asemblerze z komentarzami po słowacku? ten kod nie przewiduje niczego poza wysyłaniem rozkazów kontrolnych do jednego endpointu. łatwiej i taniej (jeśli liczyć poświęcony czas) użyć kości kontrolera usb, albo napisać to samemu od zera, wzorując się tylko na kodzie Igora. ja, mimo tego, że czasem miewam dziwne pomysły, nie podjąłbym się tego (;

w.

Wszystko zale¿y od tego co chcesz osi±gn±æ. Je¶li chcesz mieæ "prawdziwego pendrive'a" obs³ugiwanego w wiêkszo¶ci systemów bez sterownika to najpro¶ciej i najtaniej (jak to piszesz "je¶li liczyæ po¶wiêcony czas") jest kupiæ gotowy. Je¶li chcesz mieæ po prostu podpinane do usb urz±dzonko gdzie mo¿esz przechowaæ kilka MB i mo¿esz pogodziæ siê z konieczno¶ci± instalacji sterowników i wolnym dostêpem, a jednocze¶nie chcesz mieæ satysfakcjê ¿e zrobi³e¶ co¶ swojego to we¼miesz kod Igora i dodasz do niego wspó³pracê z zewnêtrzn± pamiêci±. Ale schodzimy trochê na OT bo jak s³usznie zauwa¿y³e¶ (a ja nie ;) pytanie by³o o wspó³pracê z pendrive'ami a nie o ich tworzenie.

I jeszcze zrobic - chocby prostego - hosta SCSI. definicja klasy MassStorage to tylko protokol transportowy - obsluga "drive" idzie wg. specyfikacji SCSI (tego scsi nie jestem na 100% pewny - chodzi w kazdym razie o specyfikacje komend typu "zapis do sektora" , "czytanie sektora". A potem obsluge systemu plikow (np. FAT16 - jest chyba najprostszy). Ogolnie troche tego jest... GRG

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required