Автор Тема: Собираем клавиатуру для DreamCast своими руками  (Прочитано 10724 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн masyanya

  • Пользователь
  • Сообщений: 545
  • Пол: Мужской
  • ...there's no knowledge that is not power...
    • Youtube
    • Просмотр профиля
 Значит так, смысл понятен из названия поста. Для начала немного теории.
 Без домыслов. Обо в интернете столько домыслов и врак что вообще :-\, при этом народ пишет всякий бред, кто пишет что передача идет на скорости 600КГц, кто на 5МГц, при этом у человека на руках есть логический анализатор, вообще можно детально пакеты рассматривать >:( а он гонит, вместо того чтобы разобраться!, а на одном сайте я видел, ну в переводе на русский язык примерно такое, - "Передача данных идет на частоте 1КГц, при этом за одинтакт передается 2 бита, удивлены?".  Конечно удивлен, как такое создание как ты земля родит! :-O
 Всё это бред, если передавать чисто ноли то частота будет 1.2МГц в каждой линии (что в SDCKA, что в SDCLKB), а если слать данные то частота, если мерить частотомером будет слегка уменьшаться из за изменения скважности импульсов. И вообще нельзя брать каджую линию в отдельности ибо каждая линия неотьемлемая часть интерфейса, по сути сам интерфейс работает на частоте 2МГц.
Вот пример одного пакета:

А. Значит так, понеслась, очень коротенечко. Переферия дрима работает по 5-ти проводам.
No.1    SDCKA   - зеленый
No.2   +5V   - красный
No.3   SHEILD   - серый
No.4   GND   - черный
No.5   SDCKB   - синий
В.
 В.0 Каждый пакет начинается с PATTERN. Выглядит он так, - Линия А - уходит в низкий уровень, а по линии В - идут импульсы, колличество импульсов пришедших по линии В, в то время пока линия А находиться в состоянии логического нуля и означает номер PATTERN'a.
 Паттернов всего 4
 1. FRAME PATTERN = 0x04
 2. FRAME CRC PATTERN = 0x06
 3. SDCKB OCCUPANCY PATTERN = 0x08
 4. RESET PATTERN = 0x014
 В.1 Передача данный идет в двух фазах. В первой фазе линия B выступает в роли линии данных, A - Clock. Во второй фазе наоборот А-выступает в роли линии данныхб В - Clock.
 "Дословно" передача байта данных по шине MAPLE выглядит так (синий - фаза 1, зеленый - фаза 2):
1.0 Ставим на SDCKB 7-ой бит, щёлкаем по SDCKA
1.1 Ставим на SDCKA 6-ой бит, щёлкаем по SDCKB
2.0 Ставим на SDCKB 5-ый бит, щёлкаем по SDCKA
2.1 Ставим на SDCKА 4-ый бит, щёлкаем по SDCKB
3.0 Ставим на SDCKB 3-ый бит, щёлкаем по SDCKA
3.1 Ставим на SDCKА 2-ой бит, щёлкаем по SDCKB
4.0 Ставим на SDCKB 1-ый бит, щёлкаем по SDCKA
4.1 Ставим на SDCKА 0-ой бит, щёлкаем по SDCKB
 В.2 Пакеты пронумерованные FRAME PATTERN и FRAME CRC PATTERN, обязаны заканчиваться маркером EOF. Выглядит он так, - Линия В - уходит в низкий уровень, а по линии А - нащелкивается 2 импульса.
 Ну теперь к сути.
 С. Аппаратная реализвция
 С.0 Сразу скажу, что домыслы по поводу различных частот работы MAPLE BUS различных переферийных устройств для дрима не случайны. Связано это с тем, что по сути входная логика способна принимать данные чуть быстрее чем на частоте 2MHz, по сути для устойчивого приема девиация частоты возможна в промежутке от 4MHz до 100КГц. Естественно логично например передавая данныё в карту памяти VMU или скажем забирая данные от микрофона, частоту поднять до максимума. Ибо данных значительно болше необходимо передать чем просто прочитать состояние джойстика. Поэтому сразу вывод такой, если пользуем дешевые микроконтроллеры для интергации алгоритма без входной логики не обойтись, ибо микроконтроллер не успеет обработать входной поток данных. Кстати, логика на входе в микрокомпьютер который стоит в джойстиках и прочей переферии называется MIE (Maple Bus I/F Engine)
Далее я перечислю важнейшие элементы которые необходимо поместить в логику, всё остальное может выполнять микроконтроллер.
 С.0 Важной частью MIE является "Clock Devider". Этот модуль задает такты для работы других модулей MIE. Мне этот модуль видиться таким:

Вот так оно работает:

 С.1 Модуль который отправляет данные в моем понимании вот такой:

А вот и его диаграмка (отправляемый байт = 0x0F):

 С.2 Модуль приема в моем понимании вот такой:

Диаграмму выкладывать не буду, никому итак не интересно.

Ну как вам лес? Помоему полный ПЭ! 0_0
Дешевую PLD  под это я не нашел.
Поэтому схема пришлось сильнейшим образом упростить.
Для клавиатуры она у меня получилась вот такая:

Всё, выдохся позже продолжу.  o_0 (в приложенном файле печатка и схема)
« Последнее редактирование: 28 Март 2008, 11:22:39 от masyanya »

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7279
    • Просмотр профиля
Золотой фонд Masyanya. Надо вынести все твои поделки и изыскания в отдельный подфорум. И жёстко его модерировать от всякого спама.

Оффлайн Photon9

  • Пользователь
  • Сообщений: 10339
  • Пол: Мужской
  • йОжик сОник
    • Просмотр профиля
Токо не пинайте ногами, но как бы еще мышку приспособить :blush:

Оффлайн masyanya

  • Пользователь
  • Сообщений: 545
  • Пол: Мужской
  • ...there's no knowledge that is not power...
    • Youtube
    • Просмотр профиля
Не, ну пинать не будем, но готов ли ты деньгами поучаствовать в разработке?
В магазине пнимаешь-ли микроконтроллеры просто так не раздают.
« Последнее редактирование: 28 Март 2008, 22:14:09 от masyanya »

Оффлайн Photon9

  • Пользователь
  • Сообщений: 10339
  • Пол: Мужской
  • йОжик сОник
    • Просмотр профиля
Ну это смотря о какой суме речь идет :), сколько вообще эти микроконтроллеры стоят. И они как вообще достать легко или только на заказ.

Оффлайн masyanya

  • Пользователь
  • Сообщений: 545
  • Пол: Мужской
  • ...there's no knowledge that is not power...
    • Youtube
    • Просмотр профиля
Идея простая, заказать печатные платы под мышь для дримкаста, при этом печатная плата такая, чт берем распространенную мышь, апример Logiteh RX250, вытаскиваем родную печатную плату и вствляем ту которую я разработаю, выпаиваем из сарой недостающие элементы впаиваем в новую вставляем обратно и получаем мышь для дрима. Вся фишка в том что минимум можно заказать одну технологическую заготовку. е цена примерно 4200р, может меньше, зависит от типа вырезов, на одной заготовке получается приблизительно 22 платы мыши дрима, может меньше, я просто ещё не разрабатывал, но по размеру корпуа прикинул ибо болший размер не влезет. Вывод прост, все 22 мне не надо. Так что чем больше запишется нроду тем быстрей сделаю. <_<

Добавлено позже:
А про микроконтроллеры я к предведущему посту, на разработку клавиатуры я потратил примерно 2500р, и это тока на разработку, естественно эти деньги мне никто не вернет, поэтому я не выложу здесь прошивку в клавиатуру пока не напродаю стока клавиатур чтоб хотя бы покрыть расходы. :-\

Оффлайн Photon9

  • Пользователь
  • Сообщений: 10339
  • Пол: Мужской
  • йОжик сОник
    • Просмотр профиля
Ого  0_0 тоесть только разработка схемы клавы обошлась тебе в 100 баксов. А что если не собирать мышку, а сделать переходник под обычную комповскую, может это позволит снизить затраты? Вот тут  можно увидеть сам переходник он в верхнем ряду третий слева, мда былобы у нас купил нераздумывая^_^. Там еще есть какойто кабель DC to DC Link Cable я так понимаю для сетки меж двумя дримами. Вообще такая куча добра для дрима что глаза разбегаються:). Ну и так сказать в догонку тут в самом низу есть вещичка не совсем имеющая отношение к дриму но тоже не безинтересная. Сорри что засоряю тему просто немогу удержаться там столько всего :blush:
« Последнее редактирование: 29 Март 2008, 02:38:59 от Photon9 »

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7279
    • Просмотр профиля
Ого  0_0 тоесть только разработка схемы клавы обошлась тебе в 100 баксов. А что если не собирать мышку, а сделать переходник под обычную комповскую, может это позволит снизить затраты?
Ну это уже наглость. И что, ты думаешь это будет дешевле? Человек затратил самые дорогие и невосполнимые ресурсы - время и умственные способности, а он сразу типо "дорого" и все дела. Тебе сказали, что ты не должен покрывать все затраты сам, достаточно чтобы ты привлек к этому еще хотя-бы пару-тройку людей.
Masyanya, я в деле на мышку и клавку. Лучше, если это будет все же переходник на PS/2.

Оффлайн p_star

  • Модератор
  • Сообщений: 5598
  • Пол: Мужской
  • We are The Prodigy...
    • Просмотр профиля
Я тоже готов помочь в железном деле. 4200/22 = 200 руб :) Хоть и дороговато, но за то для науки.  :D

Оффлайн Photon9

  • Пользователь
  • Сообщений: 10339
  • Пол: Мужской
  • йОжик сОник
    • Просмотр профиля
Цитата: HardWareMan
Ну это уже наглость.
Я непонял почему наглость  :?, я ведь просто удивился что так дорого, мне клава родная в магазине 20 баксов стоила, но теперь я так прикинул и правда ведь в магазине партию берут от поставщика, а тут приходться все самому с нуля делать. А от сотрудничества не возражаю и баксов 10-15 могу до общего дела доложить , только растолкуйте как и куда я просто не в курсе, могу перекинуть на щет в банке токо дайте координаты. А относительно переходника предложил потому как удобнее мне он кажеться и мышку потом каждый сможет прикрутить на свой вкус.
« Последнее редактирование: 29 Март 2008, 15:28:10 от Photon9 »

Оффлайн masyanya

  • Пользователь
  • Сообщений: 545
  • Пол: Мужской
  • ...there's no knowledge that is not power...
    • Youtube
    • Просмотр профиля
Разработка устройства и сборка уже разработанного вещи разные, оооооочень разные, - пркидываешь что нужно едешь в магазин закупаешь что намыслил, собираешь первую версию такой какой она тебе видится, и о чудо!!!!.... :wow: нихрена не работает :(. Смотришь изучаешь, а вот это надо прикрутить. Идешь в магазин, покупаешь, собираеш второй билд устройства, собираешь к нему дебагер, который нахер при сборке не нужен, но который стоит в 6 раз больше самого устройства, ах блин, опять не то и дебагер не такой, и всё не так работает, всё перечеркиваешь и занова мыслить, снова в магазин, и снова и снова и снова и снова и так далее до победного конца. В итоге после оончания разработи у тя куча деталей которые в конечной версии вообще не присутствуют, причем паянных, а ну и конечно же, берешь чуть болше штучек тем тебе нужно... друг сгорит или ещё чего, чтоб в магазин по 10 раз не бегать.
 А тот кто собирает, посмотрел скока чего, взял в притык и спаял. Всё.
 Гопода, вещи то очевидные пишу... Тут задача связать интерфейсы, и неважно что взять за основу USB мышь, PS/2 или просто раковырять мышь и засунуть кишки в неё для дрима однохренственно. надо разрабатывать. Хотя последний вариант будет по проще двух других.

 Мне кажеться ажиотаж будет сильнее если я в барахолке выложу объяву, "Продам оптическую мышь для Dreamcast". А так соберу, выложу. И чего? Все кому не лень смогут собрать.

Оффлайн Photon9

  • Пользователь
  • Сообщений: 10339
  • Пол: Мужской
  • йОжик сОник
    • Просмотр профиля
Цитата: masyanya
 Мне кажеться ажиотаж будет сильнее если я в барахолке выложу объяву, "Продам оптическую мышь для Dreamcast". А так соберу, выложу. И чего? Все кому не лень смогут собрать.
Да но ведь ты можеш собрать туже схему наклепать по ней переходников и выложить в барахолке на продажу, я думаю что длаже при наличии схемы найдеться много желающих купить его, не так уж и мало дримов есть у людей, и не каждый сможет сам собрать переходник. Так и денюжку отобеш  :). Ну и как вариант можно схему не сразу выкладывать, или делиться ею при условии финансовой помощи в создании. Сорри если я че не так понял или неправильно сформулировал

Оффлайн Rumata

  • Модератор
  • Сообщений: 23960
    • Просмотр профиля
Цитата: masyanya
Все кому не лень смогут собрать.
Ну если тебя интересует коммерческая сторона, то достаточно продавать прошитый контроллер. А всё остальное выложить свободно.
Вообще более перспективным кажется переходник PS/2 to DC. Замена платы с перепайкой компонентов (особенно, если мышь оптическая) - очень трудоемкий процесс, соответственно, резко повышается себестоимось. Кроме того, в любой момент может оказаться, что мышь, на которую ты ориентируешься, уже не выпускается, а в новую плата не лезет.
И мне кажется, более успешным будет готовое изделие, так как реально что-то спаять и прошить могут очень не многие.

А $100 за разработку - это очень мало

Оффлайн Anakinevgen

  • Пользователь
  • Сообщений: 109
  • Пол: Мужской
    • Просмотр профиля
И мне кажется, более успешным будет готовое изделие, так как реально что-то спаять и прошить могут очень не многие.
Это точо. Я захожу сюда, с интересом читаю темы и просто в шоке какие вещи люди делают. Сам пытался джойстик smd перепаять, так и не заставил работать.