реклама на сайте
подробности

 
 
> at90USB? выбор контроллера
pil
сообщение Mar 9 2011, 21:59
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 33
Регистрация: 15-11-08
Пользователь №: 41 658



Здравствуйте профессионалы.
Подсоветуйте какой контроллер с USB использовать под следующие задачи:
1. Переходник (Ps/2 mouse + ps/2 kbd + com) <-> USB. При этом все в один конец USB.
Начитавшись ф том числе и на этом форуме, понял что стоит реализовывать составное USB устройство.
2. USB kbd + USB mouse + USB (что то еще, возможно виртуал com). Все устройства могут подключатся поотдельности, а также подсоединятся к USB kbd, как к концентратору.

Задачи раздельные, но контроллеры хотелось бы использовать одинаковые, дабы меньше геммороя.
1. Пока выбрал at90usb atmel а. Потянет ли он задачу номер один по ресурсам? или 8ми битами уже не обойтись? или вообще стоит взят что то другое?
2. В задачке 2 как реализовывать концентратор? есть стандартные решения?

Ну и вообще у какого какой опыт создание HID клавиатур, мышей, на чем?
а составные USB устроуства?

окажите помощь советом=)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
pil
сообщение Mar 10 2011, 14:26
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 33
Регистрация: 15-11-08
Пользователь №: 41 658



Так, все меня не очень поняли, значит плохо написал.
В посте описано 2 различных задачи, их хочется реализовать на одном типе контроллера, дабы не разбираться дважды. Итак 2 НЕСВЯЗАННЫЕ ЗАДАЧИ:
1. Составное USB устройство на одном контроллере пока at90usb. посути переходник Переходник (Ps/2 mouse + ps/2 kbd + com) <-> USB.

2. А вот тут модульное устройство. Модульность это в ТЗ, от нее никуда. . USB kbd + USB mouse + USB (что то еще, возможно виртуал com). USB kbd ведущее, если оно используется, то два других модуля подключ через него, но они могут быть подключены напрямую.

Новый вопрос: а бывают USB-концентратор в виде готового чипа. Т.е. что то типа ftdi, где припаял и пользуеш?

mega32u4? а чем его шить? в наличии есть только avrisp. JTAG никак не купить.

Xenia, спасибо, только про концентратор как?

follow_me, тож спасибо. Нужно и модульное устройство и немодульной, 2 разные задачи. Тут есть мнение, что возня с состаным устройством это неподъемно долго и следует 2 задачи решать одинакого, т.е. 3 usb устройства + hub. В одном случае они в одном корпусе, а в другом модульно. Мне правда дико не импонирует лепить 4 крисала, там где можно один.

Go to the top of the page
 
+Quote Post
Dx!
сообщение Mar 11 2011, 11:52
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 108
Регистрация: 6-02-09
Из: Новочеркасск
Пользователь №: 44 469



Цитата(pil @ Mar 10 2011, 18:26) *
mega32u4? а чем его шить? в наличии есть только avrisp. JTAG никак не купить.

Оно - обычный AVR. Чем угодно.
Go to the top of the page
 
+Quote Post
pil
сообщение Mar 11 2011, 17:19
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 33
Регистрация: 15-11-08
Пользователь №: 41 658




ATmega32U4 не понял чем оно лучше?
А вот всего 32кб флеши не нравится никак.
Go to the top of the page
 
+Quote Post
Xenia
сообщение Mar 11 2011, 20:11
Сообщение #5


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(pil @ Mar 11 2011, 20:19) *
ATmega32U4 не понял чем оно лучше?
А вот всего 32кб флеши не нравится никак.

Не ради флеши. Алгоритмически задача пересылки данных проста, и тут много флеши под программу не надо. Проблема в недостатке внутренней ОЗУ, которая тут зовется SRAM. Если вы возьмете AT90USB162, то его 16 К флеша для задачи вполне хватит, но 512 байт SRAM будет маловато.

ОЗУ нужна под буфера ввода-вывода. Ведь USB - "одностороний интерфейс", который управляется командами со стороны хоста (здесь персональным комьютером) где-то 1 раз в милисекунду (1000 гц). А при его сильной загруженности и того реже. Поэтому придется накапливать передаваемые байты в каких-то массивах, организуя FIFO, чтобы обеспечить непрерывность работы (копить, пока хост не запросит данные). Причем, очень возможно, что понадобится два отдельных буфера - один на передачу по USB, а другой на передачу по RS-232. Хотя для мышки и клавиатуры второй буфер не актуален.

Удобно брать буфер размером в 256 байт, тогда он очень просто сворачивается в кольцо, если для его индекса выбрать однобайтовую переменную или регистр. Но можно сделать и короче - 128 или 64, если при инкрементации индекса занулять старшие биты. Без промежуточного буфера стрёмно прогу написать, потому что те аппаратные буфера, который байты туда-сюда по USB отсылают, задействуются автоматически. И вам придется их наполнять и опустошать сразу по приходу прерывания готовности, а не ожидать пока по байтику перекапаете на медленный UART.

Промежуточные буфера традиционно используют во многих конверторах, когда скорости входных и выходных потоков отличаются или могут иметь вынужденные кратковременные задерки. Впрочем, я не стану так уж категорически утверждать, что без промежуточных буферов сделать надежной работу конвертора невозможно. Скажу лишь, что у меня это не получилось.

Так вот у AT90USB162 маловато SRAM для буферов, т.к. там еще стеки надо городить, а на это тоже память уходит. А следующим в линейке AT90USB будет уже AT90USB646, который по числу выводов уже монструозный (16х4), хотя SRAM у него достаточно - 4 КБайт. А вот ATmega32U4 по размеру SRAM составляет 2.5 КБайт, что уже вполне достаточно. Возможно, что уже ATmega16U4 вам годится, т.к. там 1.25 КБайт SRAM, т.е. в 2.5 раза больше, чем у AT90USB162.

Радует, что ATmega16U4 и ATmega32U4 по корпусам и выводам одинаковые. Поэтому вы можете ориентироваться на ATmega32U4, как вам верно подсказал Dx!, а когда на макете у вас все это нормально заработает, то можно испытать ATmega16U4, уменьшив размеры буферов. Или сразу писать прогу под ATmega16U4, а если не влезете, то впаивать ATmega32U4. В любом случае, вы не потратите лишних сил и времени, т.к. какой-то из этих МК наверняка удовлетворит ваши запросы.
Go to the top of the page
 
+Quote Post
pil
сообщение Mar 12 2011, 14:59
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 33
Регистрация: 15-11-08
Пользователь №: 41 658



спасибо, просто открываешь мне глаза=)

Про буферы не очень понятно, что там собственно накапливать?

По цене и давнему желанию приобщится к арму теперь смотрим на LPC1343 под те же задачи.

Сообщение отредактировал pil - Mar 12 2011, 15:00
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 01:35
Рейтинг@Mail.ru


Страница сгенерированна за 0.01418 секунд с 7
ELECTRONIX ©2004-2016