Полная версия этой страницы:
Проблема с USB и FLASH
kolyan_olvs
Mar 29 2007, 14:02
Скажу сразу: опыт работы с АРМом довольно мал (так, туда суда по UARTу цифири погонять)), поэтому прошу сразу помидорами не закидывать...)) )
Есть задача:
1) Сделать на ARM7
2) В процессе работы проц постоянно юзает 2 УАРТА (один на 38400, второй на 2,5 мегабота) - это само по себе интересно уже ,но проблема не в этом..
3) всю инфу в канале проц должен писать во флеш (объем не большой - примерно 5 минут обмена, не больше)
4) Если девайсу воткнуть в USB разъем ноутбук, то инфа. записанная во флеш должна слиться в ноут.
Вопрос: Как схемотехнически проще и правильней реализовать кусок схемы п 3) и 4)?
в основном вопрос касается USB)
Как вариант, можно ли сделать так, чтобы в процессе перелива инфы из флеш в ноут ARM вообще не принимал участия? (это было бы чудесно )).)
Заранее благодарен.
anpilog
Mar 29 2007, 14:55
2500000 бита = 312500 байта - почти предельная скорость для записи на SD/MMC карточку
Если успеете запихать это все, то решается пункт 4:
- извлекли карточку из девайса
- воткнули в комп
- считали данные
ЗЫ:
Не совсем ясно что э
тот девайс должен делать с такими требованиями 8(
kolyan_olvs
Mar 29 2007, 15:23
1) Насчет успеть запихать.... В высокоскоростном канале данные прут не непрерывным потоком -так что успеем.)
2) Никаких карточек быть не должно. Должен быть разъем USB b и флешка внутри девайса (кстати девайс работает при -40 .. +85)
3) Девайс настолько секретный, что прям аж жуть ))) и совсем уж прям жуть как НЕ гражданский.
Повторюсь: проблема в максимальном упрощении реализации следующего куска схемы:
usb -> проц ->флеш -> проц -> usb.
Да и вообще в самой реализации.
На нынешнем этапе думаю сделать так:
проц: LPC2138, ибо более менее знаком именно с ним, а также знаком с человеком, который заком с ним ))
память: любая SPI / параллельная FLASH
Контроллер типа FTDI (Usb - to - parallel), или MAX3420E (USB to SPI)
Решение проблемы сводится к следующему: Запись и чтение флеши - дело понятное!)
При втыкании ноутбука происходит активация связи с процом (вот только не до конца разобрался как )
МОЖЕТ кто работал с данными контроллерами - поможет??
Ну и если я в правильном направлении думаю, то по SPI ARM будет кидать посылки на MAX3420E, ну а тот уж сам на USB будет их передавать..
Вот только может как-нидь по-другому и попроще? ..
beer_warrior
Mar 29 2007, 17:35
Не знаю чем живет LPC, но в SAM7 USB бортовой. По стандартной схеме присутствует резистор, который говорит хосту о присутсвии девайса. И резисторный делитель с 5В питания, который сигналит девайсу о включении хоста. Описано в стандартных примерах с USB.
Остальное дело техники.
Дык чего проще - LPC2148 (поменьше) или LPC2364 (подешевле). Все на борту, -40...+85.
Качай демо Keil-a если его ещё не имеешь,там есть пример USBMEM вроде FAT16 в памяти оперативной создаётся,ну а дальше копать с SD. Хотя примитивные функции работы с FAT16 даже такой ламак как я разобрался за неделю и с нуля наскрябал(писать я пока не умею)
Цитата(kolyan_olvs @ Mar 29 2007, 15:23)

На нынешнем этапе думаю сделать так:
проц: LPC2138, ибо более менее знаком именно с ним, а также знаком с человеком, который заком с ним ))
память: любая SPI / параллельная FLASH
Контроллер типа FTDI (Usb - to - parallel), или MAX3420E (USB to SPI)
а не проще будет убрать последний пункт.
В памяти организовать FAT и писать данные в файл.
А потом при подключении по USB представить девайс как USB mass storage и слить файл в любом файловом менеджере.
Как выше Wano написал, у KEIL есть примеры mass storage для LPC2148. По ним думаю не сложно будет реализовать обмен с компьютером.
Можно все сделать на одной микросхеме LPC2148. USB есть, память программ 512К байт, часть используется под программу, оставшаяся часть - для хранения данных. Дешево и сердито.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.