Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Программный (software) USB на ARMe без встроенной аппаратной поддержки.
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Ardomas
Встретился интересный контроллер STM32F100C4T6B - интересный своей ценой (1,3 доллара) и доступностью.
Подумалось, а нет ли для него (или другого АРМа без аппаратной поддержки USB) программного USB по примеру контроллеров ATMEL.
Имеются в виду программные реализации Игоря Цеско (см. аппликейшены Атмела, это реализация на ассемблере) и реализация на Си V-USB от Objective Development ( http://www.obdev.at/products/vusb/index.html ).
И это все для микроконтроллеров без встроенного аппаратного USB, пусть хоть и скорость 1,5Мбит/с USB1.1, зато по цене очень вкусно.
Для ARM таких решений не нашел (пока что...)

Кто знает, есть ли такие решения для АРМов ?
Или как можно портировать на платформу АРМ?
Подскажите, пожалуйста!
Ivan A-R
На армах это проблематично сделать, в отличии от авров сложно предугадать, сколько тактов будет затрачено на ту или иную команду.
Да даже на аврах - программный USB штука очень ненадёжная. А stm32 с аппаратным USB стоят порядка 100 рублей.
Ardomas
Цитата(Ivan A-R @ Mar 30 2012, 14:36) *
На армах это проблематично сделать, в отличии от авров сложно предугадать, сколько тактов будет затрачено на ту или иную команду.
Да даже на аврах - программный USB штука очень ненадёжная. А stm32 с аппаратным USB стоят порядка 100 рублей.


Имеется в виду "Сколько тактов затрачено на команду сложно предугадать" - наверно для Си ?
Первая реализация для Атмелов от Игоря Цеско была чисто на ассемблере. "ОбДевы" похоже нашли запас по мощности, поэтому сделали свой программный USB смешанно на Си и Ассемблере, до конца я не разобрался. Поэтому легко применять ихнюю реализацию в прикладных программах на Си.
Неужели нельзя повторить и для АРМов?
И на надежность реализации Игоря (и клонов) я не жаловался.
Да, а ближайший stm32а103 с аппаратным USB стоит ровно в три раза дороже , чем stm32а100. Конечно ненамного в абсолютном значении дороже, но всетки...
Кроме того, мне в "сотом" нужен ЦАП, которого в ближайшем "стотретьем" нету.
У меня нету возможностей городить чтото свое, поэтому ищу готовое решение.
_3m
Цитата(Ardomas @ Mar 30 2012, 15:08) *
Имеется в виду "Сколько тактов затрачено на команду сложно предугадать" - наверно для Си ?

Нет, для процессорного ядра. Точно предугадать за сколько тактов выполнится обращение к GPIO на арме бывает весьма нетривиально или вообще невозможно.
В армах уже все по-взрослому: шинные коммутаторы, разные источники тактирования и т.д...
Aner
Думаю, идеологически неверно делать программный USB, это нужно только для ознакомления. Для реальных проектов это ошибка.
zöner
ближайший с USB это скорее 32F102. А еще есть AT90USB82, PIC18F14K50.
Цитата
Имеется в виду "Сколько тактов затрачено на команду сложно предугадать" - наверно для Си ?
неважно на чем, конвейер не обманешь...

Да и непонятно зачем вам этот гемор ? По опыту использования софтового на АВР - исключительно глючная и капризная штука.
Aner
Абсолютно согласен, причем не толко на AVR.
YAM
Цитата(Aner @ Mar 30 2012, 14:49) *
Абсолютно согласен, причем не толко на AVR.

Ну, значит Вы не умеете их готовить...
Сделал уже около десятка проектов с использованием софтового USB на AVR от M8 до M32, всегда только положительные эмоции... и на всех платформах от XP до WIN7 x64...
zöner
а какой в этом смысл если М32 стоит как нижний АРМ с аппаратным УСБ с полноценным Full-speed, DMA, и прочими штуками ?
YAM
Цитата(zцner @ Apr 1 2012, 12:25) *
а какой в этом смысл если М32 стоит как нижний АРМ с аппаратным УСБ с полноценным Full-speed, DMA, и прочими штуками ?

А смысл очень тайный wink.gif, если необходимо питание 5В и обслуживание такой-же периферии...
Мало того, на M32 еще крутится задача программного обслуживания шины IEBUS (естественно не во время работы по USB), эта шина требует тоже времянной привязки, что ARM не обеспечит...
zöner
Цитата
если необходимо питание 5В и обслуживание такой-же периферии
там большинство выводов 5V-tolerant, а 5V-периферия успешно работает с сигналом 3.3В
YAM
Цитата(YAM @ Apr 1 2012, 13:37) *
..поскипано...программного обслуживания шины IEBUS...поскипано..., эта шина требует тоже времянной привязки, что ARM не обеспечит...

Читаем объяснение....

p.s.
я не против АРМ-ов вообще, я за применение нужного проца в нужном контексте...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.