На барахолке будут? )
Вид для печати
На барахолке будут? )
Как соберу хотя бы 1, там и посмотрим. МК у меня на пару штук есть в наличии, остальное надо докупать с деталями, если всё будет работать нормально.
Всё покажет тестирование и отладка на реальном железе.
PS: В режиме "MATRIX" контроллер можно будет подключить вместо ATMEGA на платке для PS/2 клавиатуры - ведь там и так все выводы матрицы клавиатуры присутствуют. Надо только провода правильно припаять.
Вопрос: Есть беспроводной комплект от A4tech, клава + мыша, но один момент, мышь определяется как мышь и клава, в итоге комп видит мышь и две клавы (на мыше доп кнопка которая выдает дикую последовательность клавиш клавиатуры, которая открывает браузер и страницу с дровами, а если дрова стоят, то они ее заменяют на то что назначишь), так вот, как на это отреагирует контроллер?
PS: Я в очередь за девайсом
PPS: Было бы неплохо реализовать функционал ZXMC2, как минимум в части своих раскладок, клавиатурных скриптов...
1) Надо смотреть по факту и думать. А так - если не нажимать эти кнопки, то и конфликта, по идее, не будет. Каждая HID-клавиатура пишет данные в общий массив нажатых клавиш, который в дальнейшем интерпретируется в зависимости от выхода.
2) ZXMC2 - не исключено, что будет. Одна проблема - конфигурирование через USB будет невозможным в текущей конфигурации. Разве что один из переключателей завести на эдакий BootConfig-флаг, при активации которого будет загружена процедура с инициализацией USB-Device и прочим барахлом для этого. В любом случае - это вопрос чисто софтверный и решаемый, в принципе. Из аппаратных условия - необходимо будет добавить подтяжку одной линии USB к питанию транзисторным ключом, для переключения между USB-Host и USB-Device. Те же часы подключить не проблема - внутренние использовать не так надёжно, а внешние вешаются на I2C, выведенный уже.
По проекту - после выхода на связь тов. BlackCat, всё переросло до ZXMC-3, что сейчас с ним и обсуждаем активно.
Плюсы:
* Стандартный функционал ZXMC-2 сохранится полностью, с некоторыми изменениями (по части настроек и т.п.);
* Поддерживаемые функции значительно расширятся - это ещё в процессе обсуждения.
Минусы:
* Придется добавлять CPLD для организации быстрого реагирования на состояния шины - там будут адресные дешифраторы и обработка прерываний с формированием прерываний для STM32 при необходимости.
PS: Почти все детали для сборки опытного образца для отладки основных нюансов уже пришли, жду самих плат. Жаль, что их придётся списывать в утиль сразу же - под новую версию они никак не подходят. Да и с CPLD на борту плата увеличится, так что буду умещать всё в 2 слоя (а не в 4, как сейчас, ради компактности).
Платы текущей версии получены. Сегодня начну собирать тестовый образец.
Проверять буду на "Байт"е, других спеков рабочих прямо сейчас нет :)
Специально для самых нетерпеливых - текущий вариант будет продаваться и в текущем виде, "как есть". Если, конечно, не будет сильно серьёзных аппаратных косяков.
А для тех, кому не сложно потерпеть поболее - сейчас на стадии обсуждения концепт ZXMC-3. Там будет то же самое железо + CPLD, в которую будет вынесена вся дешифрация портов для работы устройства без торможения компьютера.
На данный момент очень плотно занимаюсь софтом - ушел от стандартного фреймворка ST, допиливаю библиотеки для данной серии МК.
Первые тесты на рабочей плате:
Скрытый текст
Уже есть автообновление прошивки с USB-флешки с проверкой контрольных сумм. Осталось ещё сделать автопроверку версий, что бы не приходилось удалять прочитанный файл - иначе при каждом запуске будет перепрошиваться без перерыва.
Так же с редкими (очень редкими) USB-устройствами определение происходит очень редко - у меня как раз такой "свисток" от комплекта клавиатура+мышь, на нём и буду тестировать проблемы :)
Для подключения к какой-либо шине надо будет ещё переходник сваять как-то...
Итак, надо же периодически что-то писать :)
Пока что очень плотно занимаемся прошивкой CPLD, за 2 дня вот сделал её предварительную версию и составил тесты. Сразу же вылезли косяки теоретической части, которые будут исправляться после вдумчивого пыхтения над бумажками :) Надо как-то оптимизировать получение 8-битного вектора прерывания с минимальными затратами логики - свободных ячеек достаточно мало.
Клавиатура и джойстики будут полностью безвейтовыми - их состояние хранится в CPLD, периодически обновляемые микроконтроллером. Всё остальное будет тормозить процессор на время обработки запроса. К сожалению, обойти это без применения "жирных" ПЛИС не получится - время до первой реакции МК на прерывание будет не ранее, чем через 200нс. А по факту (с учётом обработки параметров и выдачи сигналов на выход) - до 500нс.
andreil, если возможно вместо usb разъема поставить гребенку как на материнках, чтобы можно было выводить в любое место корпуса, используя штатные планки или фронтальные разъемы корпуса.
Только если отдельно разводить разъём - дополнительные контакты под сдвоенным USB не умещаются никак.
PS: Во вторник у BYTEMAN'a возьму клона Специалиста - буду на нём проверять режим эмуляции ВВ55, как единственный имеющий право на жизнь в текущем варианте (без ожиданий и прочего, ест). Для подключения вместо матрицы имеющейся клавиатуры такой вариант, к сожалению, не пригоден полностью - не тот принцип опроса USB-клавиатуры, что бы успеть отреагировать на изменения шины =/
Вторая ревизия делается на CPLD, как уже писалось выше. И там будет куда больше возможностей.
Куда девали мой бред о эмульгировании клав? Может, кому полезен будет, да и мне интересно почитать. Модераторы проказники.
Таки вернусь к простым вещам. Короче восемь бит на считывание, 4 бита на прогонку строк. раз
И два. Интересна тема в виде когда-то популярных клав. Меняем только маленькую платку в клаве. И возможности можно в разы расширить.
- - - Добавлено - - -
Это ведь просто реализуемо. А стм64 и спартаны 6 – это капец:v2_jawdr:
OrionExt,Может "эмулировании"? И что там эмулировать, кроме матрицы?
Девайс в минимуме будет эмулировать "тупую" матричную клавиатуру до 12*12. Конкретно сейчас думаю сделать на имеющемся экземпляре замену клавиатурам на ВВ55, как писал выше.
Кстати, только сейчас обратил внимание, на плате разъем zx-bus, а не расматривается вариант подключения как zx multi card, ламели на плате? Тем более анонсировано развитие проекта как zxmc3?
Можно готовый девайс купить? Поддержка usb клавиатуры и мыши будет с передачей на разъемы ps/2?
...просто скромно напомню о контроллере USB/AT/PS2 клавиатур в ASCII, https://zx-pk.ru/threads/29901-(usb-...pic16f684.html Проект открыт, можете использовать и переделывать как угодно. Вот с подключением мыши не заморачивался, так что вы как-нить сами ;)