Важная информация

User Tag List

Страница 1 из 4 1234 ПоследняяПоследняя
Показано с 1 по 10 из 32

Тема: ZX UniKeyboard или как подключить к Спеку клавиатуру произвольной конфигурации

  1. #1
    Master Аватар для valerium
    Регистрация
    03.05.2020
    Адрес
    г. Челябинск
    Сообщений
    760
    Записей в дневнике
    2
    Спасибо Благодарностей отдано 
    225
    Спасибо Благодарностей получено 
    257
    Поблагодарили
    136 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию ZX UniKeyboard или как подключить к Спеку клавиатуру произвольной конфигурации

    Наверное у каждого спектрумиста есть в запасах какая-нибудь компактная и удобная клавиатура от ноута или еще чего мобильного, которую бы он хотел видеть на своем спеке, но обычно такие идеи отпадают, если клавиатура пленочная и не может работать в формате PS/2...

    А начиналось все здесь. Бравый форумчанин CLR опубликовал решение для переделки любой клавиатуры в формат PS/2, и это отличное решение, но были сложности: большинству Спеков нужно не PS/2, а простую матрицу 5х8 - это раз; надо было как-то выяснять конфигурацию клавиатурной матрицы - это два. Да и сама реализация PS/2 в простых контроллерах, которые работают с PCшной клавой, далека от стандарта - и в этом случае это приводило к "несовместимым диалектам формата PS/2" )

    Когда случились новогодние каникулы, я начал призадумываться над тем, как это реализовать иначе.
    Учтя все идеи и обсуждения вышеупомянутой ветки, где я немало намусорил (сорри), было получено вот такое решение:
    https://github.com/valerium-labs/zx-unikeyboard

    За основу взята разработка andykarpov для клавиатурного контроллера на AVR+CPLD, только AVR получает данные не с PS/2, а с нашей ноутбучной матрицы, а в CPLD реализован регистр состояния клавиш и спецкнопок Спека, который Спек может опрашивать как свою штатную клавиатуру (и если кратко - то да, без /WAIT).
    Ног надо было побольше, поэтому экспериментировал на ATMega32 для чтения матрицы, а CPLD-часть хоть и удалось упростить, но ПЛИС осталась та же (7128 или 3128). Сейчас поддерживаются клавиатуры до 26 пин.

    Как предлагал Eltaron, реализована идея обучаемости схемы. То есть изначально в атмегу заливается обучающая прошивка (она же известна как "тестовая"), которая через компорт при помощи "специальной программы" (скриптик на autoit3) транслирует номера линий нажатых клавиш. Когда опрошена вся клавиатура и получены для каждого клавишного имени ее матричные координаты, строится описание массива клавиш, которое затем компилируется вместе с исходником "рабочей" прошивки. С ней контроллер уже используется на Спеке.

    Как это использовать - более подробно изложено в доках проекта, например в этом

    Сейчас реализовано на макетке на atmega32-16au и epm7128slc84, но плату развел и заказал под epm3128atc100, жду доставку, поэтому боевой вариант еще не обкатан.

    Отлаживал на клавиатуре Asus X200, сейчас добыл еще клавиатуру от Asus X551 на 24 пина, 102-клавишная. На адаптацию такой клавиатуры с нуля уходит минут 10-15, причем бОльшую часть времени занимает составление клавиатурного шаблона с именами клавиш (разумеется, я делал это только единожды). Шаблон можно теперь и не писать в нуля, а взять за основу имеющийся - чтоб попасть в имена клавиш и почти не править исходник рабочей прошивки.

    Ну и вот как это сейчас выглядит:

    Программа "обучения"
    Нажмите на изображение для увеличения. 

Название:	ZXUK_reading.PNG 
Просмотров:	210 
Размер:	19.5 Кб 
ID:	74483
    Нажмите на изображение для увеличения. 

Название:	ZXUK_AnalyzeRq.PNG 
Просмотров:	157 
Размер:	17.3 Кб 
ID:	74484

    Макет на Спеке.
    Нажмите на изображение для увеличения. 

Название:	devboard.jpg 
Просмотров:	263 
Размер:	76.9 Кб 
ID:	74482
    Нажмите на изображение для увеличения. 

Название:	on_speccy.jpg 
Просмотров:	205 
Размер:	64.0 Кб 
ID:	74485

  2. Эти 9 пользователя(ей) поблагодарили valerium за это полезное сообщение:

    andykarpov (08.02.2021), Anubis_OD (16.03.2021), CLR (15.02.2021), dim (19.03.2021), Eltaron (23.01.2021), oistalker (24.01.2021), Rio444 (16.03.2021), Romych (11.02.2021), solegstar (23.01.2021)

  3. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  4. #2
    Master Аватар для valerium
    Регистрация
    03.05.2020
    Адрес
    г. Челябинск
    Сообщений
    760
    Записей в дневнике
    2
    Спасибо Благодарностей отдано 
    225
    Спасибо Благодарностей получено 
    257
    Поблагодарили
    136 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Приехали платы, не без косяков, конечно, но опробовал уже даже в двух экземплярах вариант на 3128 - запустилось без проблем.
    Что касается ошибок на плате - было два ляпа:
    1. перерисовывал схему с 7128, потому на коннектор JTAG на питание программатора подал 5в вместо 3,3в.
    2. при разводке платы схватил первые попавшиеся двухрядные хедеры на 2,54мм, оказалось, что это ответная часть (зеркальное расположение пинов) - и я это при заказе не увидел. Пришлось коннекторы JTAG и ISP запаивать на обратную сторону, но для моего случае это не проблема, т.к. вообще после отладки я не собираюсь их оставлять на плате, чтоб она была максимально плоской.
    Ну и питание разведено абы как, но вроде для потребления двух корпусов это не сильно критично.

    Схему здесь исправил, плату переделаю по уму, выложу герберы, если будет интерес к ним.

    Из удобств - софт для обучения платы вполне пригоден, коннектор от клавиатуры вообще не важно, в каком порядке запаивать, хоть вверх ногами, хоть зеркально, хоть хаотично - переобучение за 5-10 мин решает проблему в любом виде.

    Клавиатура для HP2311 на кронштейне из листового пластика (ее планирую засунуть в корпус ноута).
    У нее очень короткий шлейф снизу, на него запаяна плата с разъемом под FPC и и разъемом PLD24, на который надевается сама плата Unikeyboard.
    Во всех случаях шлейф клавиатуры подключается через внешний переходник для универсальности, т.к. коннектор для FPC лепить прямо на плату можно только подгоняя сборку под какой-то готовый корпус, у меня не было такой цели.
    Нажмите на изображение для увеличения. 

Название:	keyb1_1.jpg 
Просмотров:	149 
Размер:	59.6 Кб 
ID:	74644
    Нажмите на изображение для увеличения. 

Название:	keyb1_2.jpg 
Просмотров:	150 
Размер:	54.1 Кб 
ID:	74643
    Нажмите на изображение для увеличения. 

Название:	keyb1_3.jpg 
Просмотров:	136 
Размер:	48.1 Кб 
ID:	74642

    Ну и вторая клава от Asus X200:
    Нажмите на изображение для увеличения. 

Название:	keyb2_1.jpg 
Просмотров:	141 
Размер:	58.3 Кб 
ID:	74645
    Нажмите на изображение для увеличения. 

Название:	keyb2_2.jpg 
Просмотров:	158 
Размер:	46.1 Кб 
ID:	74646

    На плате по краям кучу выведенных свободных пинов от 3128, это просто из соображений "не пропадать же добру". Вытянуто наружу 43 пина, в самой ПЛИСине свободная 51 макроячейка, можно использовать как макетку для всяких мелких доработок, если будет необходимость )

    ЗЫ. Китайские 3128 работают через одну, но они дешевые, можно взять горсть и пробовать. Одна плата собрана на 3128 от Павла - все ок, вторая - на китайской, перед которой еще одна китайская пошла в мусорку.

  5. Эти 2 пользователя(ей) поблагодарили valerium за это полезное сообщение:

    oistalker (09.02.2021), Rio444 (05.05.2021)

  6. #3
    Master
    Регистрация
    30.11.2016
    Адрес
    г. Москва
    Сообщений
    514
    Спасибо Благодарностей отдано 
    160
    Спасибо Благодарностей получено 
    82
    Поблагодарили
    48 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Предполгаю, что почти любую мембранную клаву можно переделать под спековские 5*8, просто наклеив на неё новые дорожки самоклеящейся фольгой с алиэкспресса) я так восстановил мембрану от дельта-с-подобной клавиатуры: https://zx-pk.ru/threads/32722-remon...klaviatur.html

    Никакого контроллера при этом не потребуется, напрямую подключаемся к порту клавиатуры любого спека.

    Но на ноутбучных клавах я ещё не пробовал. Опыт пока только из одной восстановленной клавы состоит.

  7. #4
    Master Аватар для valerium
    Регистрация
    03.05.2020
    Адрес
    г. Челябинск
    Сообщений
    760
    Записей в дневнике
    2
    Спасибо Благодарностей отдано 
    225
    Спасибо Благодарностей получено 
    257
    Поблагодарили
    136 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Возможно, но ноутбучные клавиатуры собираются обычно на тонкой металлической подложке, из которой выгнуты и крепежные ушки для механизмов клавиш. Разобрать их, да еще и расклеить пленки с подложкой имхо зверски трудоемко, да могут и клавиши пострадать.
    Ну и в пленках (новых) надо будет кучу точных вырезов делать, т.к. эти ушки торчат через них насквозь. Это работа машинная, а руками... ну мне вот слабО )
    Впрочем, наверное это моя лень )
    Можно провести эксперимент с мертвой клавиатурой, у меня как раз есть такая, отфотаю ее внутренности.
    Последний раз редактировалось valerium; 11.02.2021 в 17:37.

  8. #5
    Master
    Регистрация
    30.11.2016
    Адрес
    г. Москва
    Сообщений
    514
    Спасибо Благодарностей отдано 
    160
    Спасибо Благодарностей получено 
    82
    Поблагодарили
    48 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не спорю! хорошо, когда у каждого есть выбор)

  9. #6
    Veteran Аватар для tank-uk
    Регистрация
    10.06.2015
    Адрес
    г. Запорожье, Украина
    Сообщений
    1,712
    Спасибо Благодарностей отдано 
    80
    Спасибо Благодарностей получено 
    415
    Поблагодарили
    198 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Развел плату с разьемами для прямого и перевернутого шлейфа клавы , добавил USB-UART для удобства

    Нажмите на изображение для увеличения. 

Название:	top.jpg 
Просмотров:	163 
Размер:	23.7 Кб 
ID:	74682
    Нажмите на изображение для увеличения. 

Название:	bot.jpg 
Просмотров:	124 
Размер:	22.9 Кб 
ID:	74683

    keyboard_parallel_RC0.2_gerberx2.zip

    Скрытый текст


    Специалист "УЦА" +SD-Vinxru +PS/2-Vinxru
    PLM-X 128 + AY -эмуль на 8меге
    Profi V3.2 - 768+Color-CP/M+ProfiExtender Solegstar
    Profi V3.2 -1024 Sim30+Color-CP/M+ProfiExtender Solegstar
    Pentagon 1024SL 1.42 - работает не совсем стабильно
    ZXM-Phoenix V06
    ZX-Evolition Rev C2 White FSP-MItX
    Sprinter 2000 v.Zorel
    Karabas128 + ZX-Taper by TrolSoft +DivSD +ScanDoubler
    ZX-UNO v4.1 2М с 4 переключаемыми флешками
    Поиск-1 - ждет ремонта
    Корвет ПК8010 up to 8020
    MisT 1.31
    Galaksija + SMD
    [свернуть]

  10. Эти 3 пользователя(ей) поблагодарили tank-uk за это полезное сообщение:

    Anubis_OD (16.03.2021), dim (19.03.2021), valerium (11.02.2021)

  11. #7
    Master Аватар для valerium
    Регистрация
    03.05.2020
    Адрес
    г. Челябинск
    Сообщений
    760
    Записей в дневнике
    2
    Спасибо Благодарностей отдано 
    225
    Спасибо Благодарностей получено 
    257
    Поблагодарили
    136 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Компактненько, класс.
    Y1 - это кварц для атмеги ? Я у себя под него площадку поленился сделать, хотя действительно полезно - хотя бы на случай ошибок с фьюзами.

  12. #8
    Veteran Аватар для tank-uk
    Регистрация
    10.06.2015
    Адрес
    г. Запорожье, Украина
    Сообщений
    1,712
    Спасибо Благодарностей отдано 
    80
    Спасибо Благодарностей получено 
    415
    Поблагодарили
    198 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от valerium Посмотреть сообщение
    Y1 - это кварц для атмеги ?
    да , на всякий случай

    токоограничивающие сборки по умолчанию перемкнуты , если нужно поставить , нужно перерезать перемычки

    Скрытый текст


    Специалист "УЦА" +SD-Vinxru +PS/2-Vinxru
    PLM-X 128 + AY -эмуль на 8меге
    Profi V3.2 - 768+Color-CP/M+ProfiExtender Solegstar
    Profi V3.2 -1024 Sim30+Color-CP/M+ProfiExtender Solegstar
    Pentagon 1024SL 1.42 - работает не совсем стабильно
    ZXM-Phoenix V06
    ZX-Evolition Rev C2 White FSP-MItX
    Sprinter 2000 v.Zorel
    Karabas128 + ZX-Taper by TrolSoft +DivSD +ScanDoubler
    ZX-UNO v4.1 2М с 4 переключаемыми флешками
    Поиск-1 - ждет ремонта
    Корвет ПК8010 up to 8020
    MisT 1.31
    Galaksija + SMD
    [свернуть]

  13. #9
    Master Аватар для saymon
    Регистрация
    22.02.2017
    Адрес
    г. Кривой Рог, Украина
    Сообщений
    632
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    33
    Поблагодарили
    28 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    tank-uk, заказывать платки и комплектующие будете?

    Мой парк



    ZX evo rev. C4 +NeoGS+ZXmSC extreme
    ZX uno Pi
    Buryak Pi 2021
    Igrospec

    [свернуть]

  14. #10
    Veteran Аватар для tank-uk
    Регистрация
    10.06.2015
    Адрес
    г. Запорожье, Украина
    Сообщений
    1,712
    Спасибо Благодарностей отдано 
    80
    Спасибо Благодарностей получено 
    415
    Поблагодарили
    198 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от saymon Посмотреть сообщение
    заказывать платки и комплектующие будете?
    да , буду , но позднее , у китов НГ и еще что-то добавлю для размера

    Скрытый текст


    Специалист "УЦА" +SD-Vinxru +PS/2-Vinxru
    PLM-X 128 + AY -эмуль на 8меге
    Profi V3.2 - 768+Color-CP/M+ProfiExtender Solegstar
    Profi V3.2 -1024 Sim30+Color-CP/M+ProfiExtender Solegstar
    Pentagon 1024SL 1.42 - работает не совсем стабильно
    ZXM-Phoenix V06
    ZX-Evolition Rev C2 White FSP-MItX
    Sprinter 2000 v.Zorel
    Karabas128 + ZX-Taper by TrolSoft +DivSD +ScanDoubler
    ZX-UNO v4.1 2М с 4 переключаемыми флешками
    Поиск-1 - ждет ремонта
    Корвет ПК8010 up to 8020
    MisT 1.31
    Galaksija + SMD
    [свернуть]

Страница 1 из 4 1234 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Как подключить дискетник на 5.25 или 1.5 к Спектрум 48?
    от Вадим Димтревич в разделе Внешние накопители
    Ответов: 13
    Последнее: 15.04.2020, 13:12
  2. Ответов: 30
    Последнее: 07.04.2020, 15:49
  3. Как подключить к спеку два 5.25" флопа?
    от idc в разделе Внешние накопители
    Ответов: 6
    Последнее: 26.12.2009, 20:49
  4. Помогите подключить PS/2 клаву к Спеку...
    от Roger Wilco в разделе Устройства ввода
    Ответов: 9
    Последнее: 24.02.2008, 19:16
  5. Ландшафт произвольной формы (как в worms)
    от newart в разделе Программирование
    Ответов: 3
    Последнее: 17.04.2007, 14:24

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •