|
у вас есть два варианта
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