Тута вам надо разобраться ...
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено систематизирующий 18 января 2005 г. 04:56
В ответ на: Протокол работы с USB Flash-Drive отправлено Foreman 17 января 2005 г. 18:19

у вас есть два варианта
1.
(PC)<--(USB Flash drive - везде продаюцца)<-->(ВАШ ДЕВАЙС)<--"измерямое"

т.е. _В_ ваш девайс втыкается стандартный usb flash drive и на него _ваш_ девайс что то пишет измерренное/накопленное. потом этот usb flash drive втыркивается в PC и все с ним хорошо - файлики с него читаюцца.

2.
PC)<--(ВАШ ДЕВАЙС)<--"измерямое"

при этом ВАШ ДЕВАЙС прикаидывается USB Flash drive для PC. Т.е. при притыкании к PC - оно думает что в него воткнлули USB Flash drive.

Так вот - первый вариант - енто вам не фунт арехов - так как ВАШ ДЕВАЙС тогда должен иметь функционал USB хоста. сделать это с нулика до диплома просто не реально - только если взять что то готовое. И тогда в этом готовом будет почти все что вам надо - останется только пристегнуть измерения сохранения. Но при этом большая часть для вас так и останется черным ящиком и совсем не факт что все заработает как надо

Совсем другое дело вариант-2 - его вполне по силам реализовать до диплома - хотя попатеть придется несомненно и не мало. Вам всего то надо реализовать USB девайс (а не хост заметте :)). который Вындовз (как впрочем и другие Оси) аппазнают как usb mass storage.

в общем вам надо выбрать что же надо то.

для варианта 2 надо

1. прочитать главу 9 спеки на usb 1.1 например
2. взять что вы там выбрали в какчестве usb девайса и сделать простеший девас - так что бы при притыкании к компу Вындовз успешно опознавал вашу девайсину.
3. прочитать про классы usb девайсов - чуть чуть в гугле :)
3-a. опцион - можно и без него - но вдруг - тогда "сделать" свой девайс удовлетворяющий,например, классу HID. Хотя этот пункт и баловство все же и при отсуствии времени его можно опустить.
4. "сделать" свой девайс удовлетворящий классу масс сторадж.

про масс сторадж.

девайс который удовлетворяет ентой спецификации управлятеся Хостовой ОС с помощью комманд. Т.е. вындовз (пусть он) шлет устройству команды - оно их выполняет и благодаря этому на микросхеме flash вырастает например FAT файловая система. Этих команннддд всего немного буквально несколько штук типа
- записать блок
- прочитать блок на флешке
- пару систмных команд - типа дай мне описание того то.

все немного усложняется тем что комманды транспортируюется в девайс посредством обмену по USB протоколу :)

итак после выполнения пунктов 1-2

чиатем вот это
http://www.usb.org/developers/devclass_docs/usb_msc_overview_1.2.pdf

это описание что и как - настоятельно реккомендую последовательность - сначала пункты 1-2 потом это.

разумно в какчестве транспорта выбрать bulk only - он попроще да и почти все его пользуют
описан вот тут
http://www.usb.org/developers/devclass_docs/usbmassbulk_10.pdf

при этом надо обратить внимание - что надо реализовать только некоторые команды - а не все

дальше надо выбрать какие же команды будет понимать устройство - опять таки реккомендуется вот это - SCSI-2 спека
http://www.danbbs.dk/~dino/SCSI/SCSI2.html

еще посмотрите в гугле - я только для примера первое схватил
она большая - но вам надо будет из нее только несколько команд - так что не бойтесь.
ну и тут наступит счастье - хотя и вымученное.


ну и в конце пару советов
- обязательно сначала разберитесь с USB девайсом
дескрипторы, что и как запрашивает хост, как ему отвечать - это глава 9 спеки + поищите в сети примеры кода - у меня например есть на Цэ реализация.

- потом поймите что такое классы - как и почему они нужны и за счет чего с ними так удобно. Опять таки гляньте примеры - у меня есть на Цэ
HID class usb device

- и вот только после этого смотрите спеки про масс сторадж про bult transport про SCSI команды.

в противной последовательности - можно сбится с пути или испугаться какой то кажущейся сложности.

Да - масс сторадж я не делал - делал его SM из dsp конфы - но на asm и для tms320vc5509 TI DSP - он его всем раздает - но что толку от asm для какого то там DSP блин - если знаешь что и как то да - а если нет 0 то блин и блин - так что думаю лучще в сети поискать реализации - например у фифлипса есть
вот например
http://www.semiconductors.philips.com/acrobat_download/usermanuals/UM10042_1.pdf

гугл все же рулит.


Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru