Добро пожаловать, Гость
Логин: Пароль: Запомнить меня

ТЕМА: Минималистичный FS USB-хост для клавиатуры

Минималистичный FS USB-хост для клавиатуры 8 года 7 мес. назад #5546

  • Leka
  • Leka аватар Автор темы
  • Не в сети
  • Живу я здесь
  • Живу я здесь
  • Сообщений: 635
  • Спасибо получено: 54
Проект для DE0-nano, для Марсоходов надо сделать следующее(кто попробует, выкладывайте тут проекты):
1) изменить кристалл и назначения пинов в top.qsf
2) изменить период в top.sdc на 10нс
3) изменить параметры pll на клок 100МГц: #pll(5,6)(...)

DP - D+
DN - D-
key - скан-код последней нажатой клавиши, отпускания не фиксируются
ckey - счетчик клавиш, по изменениям можно узнавать о новых нажатиях
skey - карта нажатых Ctrl/Shift/Alt, 1-ый байт 8-байтовой посылки usb-клавиатуры

top.bat - запускает консольный синтез (после этого в папке появится "иконка" для вызова Квартуса).
sof.bat - загружает прошивку в ПЛИС.
Вложения:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от Leka. Причина: Уточнение - режим FS

Минималистичный USB-хост для клавиатуры 8 года 7 мес. назад #5548

Очень интересно, обязательно попробую, но чуть позже. А нет ли желания развить тему - сделать "не в лоб", разбить на слои, добавить поддержку хабов и т.п. Т.е. сделать несколько шагов к полноценному контроллеру.

Ну и несмотря на простоту лучше бы как-то оформить код - сделать "шапку" с указанием авторства, чуть красивее отформатировать исходник и всё такое подобное.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от alman.

Минималистичный USB-хост для клавиатуры 8 года 7 мес. назад #5549

  • Leka
  • Leka аватар Автор темы
  • Не в сети
  • Живу я здесь
  • Живу я здесь
  • Сообщений: 635
  • Спасибо получено: 54

alman пишет: сделать несколько шагов к полноценному контроллеру

Нет абсолютно никакого смысла. USB сделана по принципу: "а давайте запатентуем квадратное колесо, а потом заставим всех пользоваться этим".
Имеет смысл пытаться подключать к ПЛИС конкретные массовые устройства, которые существуют только в USB исполнении. Но не более.

как-то оформить код

Как для себя оформляю, так и выкладываю.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Минималистичный USB-хост для клавиатуры 8 года 7 мес. назад #5550

  • Leka
  • Leka аватар Автор темы
  • Не в сети
  • Живу я здесь
  • Живу я здесь
  • Сообщений: 635
  • Спасибо получено: 54
Сейчас думаю, как принудительно перевести обмен HS устройства с ПК к FS протоколу, чтобы можно было трекером прослушать. В БИОСе ПК соответствующего пункта нет, паять какую-либо схему не хочется...

Как простой схемой вырезать "чириканье" устройства (Chirp-K), еще не придумал, а фильтрация "чириканья" ПК приводит к "неопознанию" устройства, а не к переходу в режим FS.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от Leka.

Минималистичный USB-хост для клавиатуры 8 года 7 мес. назад #5553

  • Leka
  • Leka аватар Автор темы
  • Не в сети
  • Живу я здесь
  • Живу я здесь
  • Сообщений: 635
  • Спасибо получено: 54
Вырезал "чириканье" разрезанием USB-шины и пропусканием ее через ПЛИС, в результате ПК опознает устройства, как FS. Попробовал подключить таким способом старенький USB-модем e1550 - система опознала его, как составное устройство, и вроде работает. Так что и флешки можно будет попробовать... Только алгоритм трекинга надо поправить, лог неверный, хотя устройства работают нормально (через ПЛИС).

Попробовал флешку - работает, только медленнее (FS, 12Мбит/сек).
Зато логи проще будет снять, наверно, да и подключать напрямую можно (вся обвязка - 3 резистора).

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от Leka.

Минималистичный USB-хост для клавиатуры 8 года 7 мес. назад #5554

Leka пишет: Вырезал "чириканье" разрезанием USB-шины и пропусканием ее через ПЛИС, в результате ПК опознает устройства, как FS. Попробовал подключить таким способом старенький USB-модем e1550 - система опознала его, как составное устройство, и вроде работает. Так что и флешки можно будет попробовать... Только алгоритм трекинга надо поправить, лог неверный, хотя устройства работают нормально (через ПЛИС).

Попробовал флешку - работает, только медленнее (FS, 12Мбит/сек).
Зато логи проще будет снять, наверно, да и подключать напрямую можно (вся обвязка - 3 резистора).


Класс:) Мне было легче - материка позволила отключить HS, но разговор флешки с компьютером меня напугал, кроме setup и присвоения адреса я ничего не понял и решил, что без обычного CPU такое не реализовать. Интересно, что будет у вас заниматься дисковыми операциями с флешкой. Я так понял, что Вы больше верите в аппаратные решения.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Минималистичный USB-хост для клавиатуры 8 года 7 мес. назад #5555

  • Leka
  • Leka аватар Автор темы
  • Не в сети
  • Живу я здесь
  • Живу я здесь
  • Сообщений: 635
  • Спасибо получено: 54
Высокоуровневыми дисковыми операциями пусть софт-процессор занимается, но все-равно должен быть аппаратный контроллер, который берет на себя USB-протокол (как в примере с USB-клавиатурой).

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Минималистичный USB-хост для клавиатуры 8 года 7 мес. назад #5556

  • kox
  • kox аватар
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
  • Сообщений: 26
  • Спасибо получено: 3
А клавиатура напрямую к GPIO подключается, без резисторов?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Минималистичный USB-хост для клавиатуры 8 года 7 мес. назад #5557

  • Leka
  • Leka аватар Автор темы
  • Не в сети
  • Живу я здесь
  • Живу я здесь
  • Сообщений: 635
  • Спасибо получено: 54
Можно попробовать напрямую. Но клаву надо подключить до загрузки прошивки в ПЛИС (алгоритм упрощенный, сразу начинается инициализация).
У меня сейчас D+ и D- притянуты к земле резисторами по 15 кОм, но думаю, что и без них будет работать. Последовательно лучше небольшие резисторы ~40 Ом (у меня их нет, поленился).

На Марсоходах D+ и D- (с использованием шилда разъемов) уже притянуты к земле (по 15кОм).
Спасибо сказали: kox

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от Leka.

Минималистичный USB-хост для клавиатуры 8 года 7 мес. назад #5558

  • Leka
  • Leka аватар Автор темы
  • Не в сети
  • Живу я здесь
  • Живу я здесь
  • Сообщений: 635
  • Спасибо получено: 54
Уточнение - у меня FS клавиатура, и проект только для таких клавиатур.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.142 секунд
Работает на Kunena форум