[an error occurred while processing this directive]
Случай из жизни ... MCU+Flash Drive= :) (+) (студент)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено уни 05 февраля 2003 г. 17:38
В ответ на: А если к микроконтроллеру надо подключить USB flash drive- что посоветуете? отправлено goshka 05 февраля 2003 г. 12:57

Значит дело было так. Очень привлекательной была бы возможность работать напрямую MCU<->Flash Drive. Вроде бы никаких тебе проблем, допустим я очень умный %) и накидал прогу, достал быстрый МК, преобразовал интерфейс из чего-то в USB (или взял с встроенным USB)скинул инфу на USB Flash Drive, дальше на практически любой комп современный. Ляпота. Мечты, обычное дело. Как это реализовать подумал я? Первое - разбираю Драйв и смотрю на внутренности, обнаруживаю 2 микрухи памяти по 32 метра и нечто, на что я доков не нашёл (может опыта ещё мало, а может так быть должно?). Далее скачиваю перевод - доку на USB 1.1 (есть такая) ну и доку на USB 2.0 (англ). Понимаю, уровень МК не соответствует уровню на котором разговаривает Драйв. А хочется ведь всё сейчас и сразу %). Ну думаю мне то все-го навсего сбросить на флешдрайв пару сотен байт, наверняка это не сложно. А почему бы этот процесс не зафиксировать? Подключаю Драйв к компу вешаюсь на линию цифровой платой (АЦП с дифф. входом) ну и переписываю на Драйв заранее заданный файлик и смотрю на монитор как он пролетел ввиде пачки. Быстро пролетел %) ресурсов моей платы для таких скоростей не хватило - пачку видно и всё (это метод аналогичный работе сниффера, я хотел протокол снять). Далее мои действия напоминали тыкание пальцем в небо ... не буду рассказывать как я пытался создать помехи на линии, чтобы скорость снизить, короче, результат - у меня на стенке висит паленый драйв за 1300 р :( Молодец, у меня продержался целых несколько дней :). Итого, мои соображения: Первое, если не знаешь англ., то что-нить на русском найти ... если найдете вот мое мыло [uni@iidt.ru] :) Второе, надо очень хорошо разобраться в USB 2.0, в той части, где протоколы описаны, если хотите напрямую с драйвом работать. Третье - смущает строчка в FreeBSD, где описано подключение flashдрайва как жесткого диска. Т.е. как мне кажется контроллер (описание на который я не нашёл) внутри драйва эмулирует работу как с HDD. То бишь понимает команды работы с HDD? Это ещё одна надстройка над USB? Тут я сомневаюсь, потому как слышал разные мысли по этому поводу от разных людей. В общем ;) работа MCU+USB мне видиться следующим образом: инфа вроде по кадрам передается, нужно знать заранее процедуру подключения устройства, проверки наличия на линии (видел я на осциллограмме периодические импульсы, кто их посылал и куда осталось пока загадкой), подсчет CRC по стандартному алгоритму (Этих CRC может быть несколько в зависимости от уровней вложенности протоколов), если действительно комп выдает команды управления/запись/считывание как для HDD, то и их надо знать ;) (тут хоть есть куча компьютерной литературы) только потом можно свои данные передавать (про считывание я еще даже не думал %) ) Это всё здоровенный айсберг, вершинка которого - приятная возможность практически ничего не делая носить в кармане пару гиг (обещают)... спать уже хочу. Ну как? Это мои только исключительно логические рассуждения. Черт его знает, что там есть на самом деле. Есть ещё преобразователи интерфейсов RS-232 -> USB и обратно, думаю они тут ничем не помогут. Безусловно идея соблазнительна и её обязательно кто-нить разрешит. Если уж нужен брелок, то можно на ИК лучах сделать. В брелке Мелкий MCU + IrDA трансивер и кодек, + I2C'шная флешка, ну и батарейка. Думаю это реализовать на порядок проще.

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

Ответы



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

E-mail: info@telesys.ru