Arts-Union

Территория 3DOшников => Инженерная => Тема начата: Altmer от 22 Март 2010, 08:32:09

Название: Протокол джойстиков 3DO
Отправлено: Altmer от 22 Март 2010, 08:32:09
Выяснил полный протокол джойстиков 3DO и решил задокументировать ))

Распиновка порта консоли:

1 - GND
2 - VCC
3 - Aidio left
4 - Audio right
5 - VCC
6 - CONFIG   (выход стороны 3DO)
7 - CLOCK (выход со стороны 3DO)
8 - GND
9 - DATA  (выход со стороны устройства ввода)


Формат сигнала CLOCK:

___|0|--------------(синхронизирующий импульс ~ 0.0005 c. )---------------|1|___________(пауза ~0.0005 c. )__________|2|---|3|__|4|---|5|__|6|---|7|__|8|---|9|__...............

Мелкие импульсы имеют период ~0.000008 c.
По фронту |1| выдается перый бит потока данных со стороны устройств на линию  DATA, по фронту |3| - второй и т.д.
При подключении внешнего устройства по цепочке необходимо обеспечить корректное проходждение данных по линии CONFIG через джойстик, для этого по переднему фронту читаем CONFIG и выдаем его следующему устройству через полтора периода. Например - считали бит по фронту |0| и выдали по фронту |3|, следующий бит читаем по фронту |2|, а выдаем по фронту |5| и т.д.
Если к устройству не подключено дополнительных устройств - то по окончанию выдачи данных на линию DATA должен быть выставлен высокий уровень.

Формат данных для джойстика следующий:
 1,0,0,Down,Up,Right,Left,A,B,C,P,X,R,L,0,0
Причем, нажатой кнопке соответствует высокий уровень, а отпущенной - низкий.

Вот вроде и все - далее берете микроконтроллеры, паяльники и обращаете в веру 3DO джойстики ее убийц )))
Название: Re: Протокол джойстиков 3DO
Отправлено: AlexSan der Move от 22 Март 2010, 17:54:29
Та программировать-то я вроде немного умею, но вот прошивать ПЗУ - только в весьма отдалённой теории.
Название: Re: Протокол джойстиков 3DO
Отправлено: AlexSan der Move от 28 Август 2010, 14:29:36
Альтмер, ты пояснил формат сигнала КЛОК. А каковы форматы сигналов КОНФИГ и ДАТА? А то собрался прошивку писать и столкнулся с недостачей(или недопониманием) информации ???

АГА! С ДАТА тоже всё понятно. Но вот по конфиг - нет.
Название: Re: Протокол джойстиков 3DO
Отправлено: Altmer от 28 Август 2010, 20:12:45
А тебе знать о формате данных конфига ничего не надо, если ты джой делаешь, все что тебе надо знать - я написал, читай внимательней.
Название: Re: Протокол джойстиков 3DO
Отправлено: AlexSan der Move от 29 Август 2010, 14:47:27
А тебе знать о формате данных конфига ничего не надо, если ты джой делаешь, все что тебе надо знать - я написал, читай внимательней.
Не, ну я понял, что задача микросхемы ПЕРВОГО джоя - считать конфиг и просто передать его следующему джою, но с запозданием на полтора периода :) Но что должен делать с этим сигналом следующий джой? С этим сигналом что ничего ненадо что-ли делать кроме того, что передавать его, как эстафету? Он же зачем-то нужен? ??? Иначе зачем его передавать, если в ответ на этот сигнал джой ничего приставке возвращать не должен?
Название: Re: Протокол джойстиков 3DO
Отправлено: Altmer от 29 Август 2010, 15:58:03
В джоях эти сигналы не используются, они нужны в пистолетах и некоторых других экзотических устройствах
Название: Re: Протокол джойстиков 3DO
Отправлено: Yaroslav от 01 Декабрь 2010, 08:14:34
Ув. Altmer можно вопрос:
зачем на Вашей схеме подключения сигнал Clock идет через МК?
Не проще ли его напрямую пустить на следующий джой и реализовать алгоритм следующим образом:
Первый джой выталкивает в консоль 16 бит по заднему фронту CLK а по переднему считываем 16 бит от следующего джоя
таким образом после передачи 16 бит имеем в буфере 16 бит второго джоя.
Проверяем что в буфере если там 0xFFFF значит второго  джоя нет, иначе передаем эти 2 байта и опять проверяем принятое.
Хочу попробывать но пока нет второго МК
Название: Re: Протокол джойстиков 3DO
Отправлено: Altmer от 01 Декабрь 2010, 08:20:53
Можно и так, но общая информационная линия в длинной цепочке (до 8-ми устройств) имхо не очень хорошо.
Название: Re: Протокол джойстиков 3DO
Отправлено: Altmer от 01 Декабрь 2010, 08:24:32
Стоп - если разговор идет о USB конверторе, то вообще советую бросить идею с двумя контроллерами - неудобно, лучше взять один контроллер со встроенных USB хостом.
Название: Re: Протокол джойстиков 3DO
Отправлено: Yaroslav от 01 Декабрь 2010, 08:26:07
Нет я просто джойстик делаю (недавно купил консоль без джоя)

По поводу цепочки не подумал.
Решил что Вы его там еще по времени сдвигаете.
Название: Re: Протокол джойстиков 3DO
Отправлено: Altmer от 01 Декабрь 2010, 08:31:13
тогда зачем второй МК?
Название: Re: Протокол джойстиков 3DO
Отправлено: Yaroslav от 01 Декабрь 2010, 08:35:02
Собрать второй джой, подключить последовательно и проверить как будет работать моя прошивка.
Название: Re: Протокол джойстиков 3DO
Отправлено: Altmer от 01 Декабрь 2010, 08:51:43
ясно )
Название: Re: Протокол джойстиков 3DO
Отправлено: ПАУК от 15 Ноябрь 2014, 21:25:29
Выяснил полный протокол джойстиков 3DO и решил задокументировать ))

Распиновка порта консоли:

1 - GND
2 - VCC
3 - Aidio left
4 - Audio right
5 - VCC
6 - CONFIG   (выход стороны 3DO)
7 - CLOCK (выход со стороны 3DO)
8 - GND
9 - DATA  (выход со стороны устройства ввода)

А вот теперь нубовский вопрос. Где на приставке или джойстике какая цифра находится? Они же там не подписаны.
Название: Re: Протокол джойстиков 3DO
Отправлено: Altmer от 16 Ноябрь 2014, 07:16:55
подписаны, воспользуйся лупой, если нет близорукости )
Название: Re: Протокол джойстиков 3DO
Отправлено: ПАУК от 17 Ноябрь 2014, 05:37:24
И правда подписаны, всё отлично видно без увеличилок. Тады ой. Хотя я раньше и не смотрел, где там чего...
Просто помнится, хотел вывести выход для наушников куда-нибудь на приставку. А просто так тупо тыкать, спалить можно чего-нибудь.
А общий провод, который питание на Audio left/right даёт из них какой?

Читал про какую-то игру, в неё можно нормально играть только в стереонаушниках из джойстика, а что за игра и не помню теперь.
Название: Re: Протокол джойстиков 3DO
Отправлено: Altmer от 17 Ноябрь 2014, 08:54:11
Врать не буду, но по-моему 1 и 8 не развязаны. Посмотри на плате консоли.