PDA

Просмотр полной версии : Проект MSX FLEX от RBSC



Wierzbowsky
10.04.2019, 13:11
*** Проект опубликован в репозитории RBSC ***

Отсутствие доступного по цене удлиннителя слотов подвигло нас на создание проекта MSX FLEX. Ямаховский UNC-01 - достаточно редкий и дорогой адаптер, и он подходит только для устройств, которые вставляются в боковой слот Ямах. Поэтому было решено сделать универсальный удлиннитель.

Комплект будет состоять из картриджной части для 50-пинового слота MSX с разъёмом, адаптера для 60-пиновых модулей бокового слота Ямах и адаптера для обычных 50-пиновых картриджей. Соединение будет осуществляться 30-сантиметровым гибким 50-проводным шлейфом с разъёмом для подключения к картриджной части удлиннителя. Во избежание конфликтов, к картриджной части можно будет подключать одновременно только один адаптер.

Проект находится в стадии прототипирования. Печатаются модели корпусов, покупается комплектуха, скоро будут заказаны платы. Вот рендеры прототипов корпусов.

http://podrezov.com/flex/flexcart.png

http://podrezov.com/flex/flex50.png

http://podrezov.com/flex/flex60.png

Проект будет открытым.

Wierzbowsky
13.04.2019, 02:25
Напечатал корпуса на пробу. Всё влезло. Теперь надо заказывать платки и разъёмы.

http://podrezov.com/flex/printed.jpg

Планируется печатать корпуса в основном белым пластиком. Но полупрозрачный останется как опция.

Wierzbowsky
06.05.2019, 00:32
Пришли платки, кабель и разъёмы. Тестирую 60-пиновый удлиннитель-конвертор. Всё работает. Проверено с SFG, Ямаховским сетевиком и адаптером для Готека.

http://podrezov.com/flex/test60.jpg

Wierzbowsky
09.05.2019, 15:43
А вот с 50-пиновым удлиннителем есть проблемы. Похоже, что некоторые картриджи начинают подглючивать если работают в удлиннителе. Пока что подглючивают 2 самодельных картриджа с маппером Конами, MMM (расширитель ОЗУ) картридж и наш IDE-FDD контроллер. Все остальные, в том числе Карнивор2, самодельные картриджи с мапперами ASCII, официальные игровые картриджи, SFG, простые самоделки (до 64кб) и прочее работает нормально. Примечательно, что есть самодельный картридж с Конами маппером, который не глючит в отличие от своих собратьев.

Сегодня протестировал удлиннитель, подключив его к разъёму Expansion Bus компьютера SVI-728.

http://podrezov.com/flex/expbus_test.jpg

Интересно, что MMM и IDE-FDD картриджи, которые глючили на Ямахе, на этом компе отлично работают с удлиннителем. А вот картриджи с маппером Конами глючат и там, и там. Если у кого есть идеи почему такое может происходить, прошу поделиться мыслями. И да, шину данных к 5в я уже подтягивал, но это не дало результата. Примечательно, что глюки разные если удлиннитель подключать к разным слотам Ямахи. Где-то, видимо, наводка идёт...

АПДЕЙТ: Посмотрел какие сигналы идут по шлейфу рядом с сигналами шины данных - оказалось что CLK совсем рядом. Ради эксперимента отрезал его дорожку в картриджной части. Не помогло. :(

АПДЕЙТ: Притянул шину данных к земле через 1к резисторы, как на slot expander'ах (спасибо, OrionExt!) и часть картриджей заработала. Вторая часть всё ещё подключивает через некоторое время. Притянуть адресную шину тоже?

ram_scan
10.05.2019, 10:57
АПДЕЙТ: Притянул шину данных к земле через 1к резисторы, как на slot expander'ах (спасибо, OrionExt!) и часть картриджей заработала. Вторая часть всё ещё подключивает через некоторое время. Притянуть адресную шину тоже?

Шины и так должны быть притянуты, раз имеют третье состояние. Скорее всего звон. Нужно не подтягивать (подтягивать невозбранно можно только ОК/ОС, иначе сильно повышается нагрузочная на выходной каскад, они с третьим состоянием двухплечевые, а не ОК/ОС со встроенной подтяжкой, за редким исключением) а пытаться в разрыв ставить ставить резисторы небольшого номинала, порядка 330-560 ом. То есть последовательно. Это резко понизит добротность паразитных контуров из индуктивности шлейфа и емкости монтажа, устранив звенящие хвосты и уменьшит завал фронтов за счет сжирания на резисторе паразитных отражений от ближнего и дальнего конца. А также отвяжет "глюки" по шлейфу от общей шины. Лучше притулить резисторы со стороны разьема который втыкается в ямаховский слот.

Wierzbowsky
10.05.2019, 12:36
Спасибо. На все линии ставить резисторы (кроме питания и земли) или только на шину данных+адреса?

ram_scan
10.05.2019, 15:03
Я думаю есть смысл начать с управляющих сигналов, чаще всего именно на них звон вызывает ложное защелкивание, потом ША, она выставляется раньше данных, потом ШД. Для чистоты эксперимента нужно убрать подтяжку.

Вообще хорошо бы посмотреть общую картину логическим анализатором многоканальным. Там бы стало видно где по таймингу разбежка идет. Но у китайских USBшных весьма низкое входное сопротивление, поэтому они шунтируя ее будут оказывать существенное влияние на измеряемую цепь. Особенно в КМОП схеме. А осликом каналов недостаточно.

Wierzbowsky
10.05.2019, 18:04
Интересно девки пляшут... Поставил резюки 68ом в разрыв шины данных на дальнем конце кабеля, как мне порекомендовал многоуважаемый Ptero. Заработал мелкий карик с ПЗУ и MMM расширитель ОЗУ. Остальные 3 карика (2 флешкарика и IDE-FDD контроллер) так же не работают. С подтяжкой шины данных к земле именно они работали, а вот MMM маппер, простой карик с ПЗУ и IDE-FDD контроллер не работали. Но нельзя же и подтяжку к земле делать при установленных последовательно резисторах, чтобы заработало всё вместе. Или можно? Или лучше поиграть номиналами резюков?

К сожалению я в электронике не силён и не понимаю физику явления в кабеле...

CLR
10.05.2019, 20:32
А шинные формирователи не хочется поставить? Типа АП5/АП6(74ALS244/74ALS245)

Wierzbowsky
10.05.2019, 21:04
А шинные формирователи не хочется поставить? Типа АП5/АП6(74ALS244/74ALS245)

Это вариант, конечно. Но мне нужен был простой и дешёвый конвертор-удлиннитель. Так что компонентов планировалось использовать самый минимум.

АПДЕЙТ: После установки резисторов на 100Ом последовательно в линии данных всё, что не работало до этого заработало и заработало стабильно. Единственное, что не заработало - это IDE-FDD контроллер. После многочасовых плясок с бубном и установки резисторов на все сигналы, которые он использует (кроме адресных) добиться его стабильной работы так и не удалось. Он запустился только после установки резисторов на BUSDIR и RD. Но работал всё равно нестабильно. При установке резисторов на другие сигналы (SLTSEL, WR, IORQ) либо ничего не менялось, либо вообще переставало работать. В общем остановлюсь на стоомниках в шине данных. Сейчас идут тесты на стабильность со всеми имеющимися у меня кариками.

Спасибо всем, кто помогал!

GreyWolf
10.05.2019, 21:35
Единственное, что не заработало - это IDE-FDD контроллер.

Попробуй замени кабель, причём уменьшение длины не всегда помогает.
Я несколько лет назад подбирал кабель для платы – преобразователя SD ⇒ 3.5" IDE (https://wiki.yola.ru/sd_ide40:sd_ide40).

Wierzbowsky
10.05.2019, 21:55
Попробуй замени кабель, причём уменьшение длины не всегда помогает.
Я несколько лет назад подбирал кабель для платы – преобразователя SD ⇒ 3.5" IDE (https://wiki.yola.ru/sd_ide40:sd_ide40).

Дык у меня то не IDE кабель, а 50-жильный неэкранированный. Для IDE можно использовать кабель с экраном, что сильно увеличивает стабильность и скорость, а вот для моего проекта такие кабели не подойдут.

GreyWolf
10.05.2019, 22:03
Дык у меня то не IDE кабель, а 50-пиновый неэкранированный. Для IDE можно использовать кабель с экраном, что сильно увеличивает стабильность и скорость, а вот для моего проекта такие кабели не подойдут.
Я понимаю, что не IDE. Дело не в экране, а в других характеристиках кабеля.

Wierzbowsky
10.05.2019, 22:39
Можно бесконечно долго пытаться найти характеристики кабеля у китайцев на AliExpress. ;)

https://www.aliexpress.com/item/2m-lot-Rainbow-Ribbon-Cable-10P-14P-16P-20P-26P-34P-40P-50P-Flat-Color-Wire/32877970218.html

TomaTLAB
10.05.2019, 23:24
...После установки резисторов на 100Ом последовательно в линии данных...
Вооо... Посмотрел в нескольких местах. Пишут, что... волновое сопротивление "ремешка" 1,27мм равно ~105Ом.
Единственно, что раскладка сигналов в слоте не фонтан для передачи через шлейфик.
Их бы через один с землей перемешать. Как у флоповерта или в UltraDMA шлейфике.
Можно пустить два шлейфа, половину сигналов вперемешку с землей по одному, аналогично, половину по другому.

Wierzbowsky
11.05.2019, 11:06
Тогда понятно почему стоомники решили проблему. Ставил 68 и 150 - не работало.

Не вижу смысла из-за одного картриджа тянуть 2 шлейфа. Тем более тогда придется основательно переделывать платы и корпуса. Кстати шлейф у китайцев дорогой - я заплатил 15 евро за 6 метров.

Задача была сделать дешёвый удлиннитель-конвертор. И она, с оговоркой, выполнена. Платы были переделаны для штатной установки резисторов и блокировочного конденсатора по питанию. На старые платы резисторы будут напаяны в разрыв дорожек. Проект будет выложен в репозиторий группы в конце мая.

TomaTLAB
11.05.2019, 16:37
Кстати шлейф у китайцев дорогой...
Изоляция у него такая же жестко-говняная как и у всей китайской "радуги"? Или все же ближе к обычным серым?
А то она больше на полиэтилен смахивает у тех, что с разделанными наконечниками, при попытке облудить мгновенно оплавляется и скукоживается миллиметров на 5...7.

Wierzbowsky
11.05.2019, 16:46
Никогда не паял такие шлейфы, так что сказать не могу. Я обжимкой с двумя разными адаптерами работаю.

tnt23
12.05.2019, 23:10
Еще как вариант поставить терминирующие резисторы на дальнем конце кабеля, что-нибудь начиная от 1К и вниз до 100 ом на землю.

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

- - - Добавлено - - -

Вот неплохая статья с Хабра про линию передачи, с доступными картинками: https://habr.com/ru/post/183006/

Wierzbowsky
13.05.2019, 11:43
Я смотрел все сигналы двухканальным осциллографом на слоте и на конце кабеля. Разницы не заметил. Ну разьве что по питанию чуть больше помех было. Терминаторы на 1к решили проблему. Но я всё же не рискнул нагружать линии и поставил резисторы по 100 Ом последовательно. Результат меня удовлетворил.

Статью обязательно прочту.

- - - Добавлено - - -

Я понял, что я ничего не понял. Так как IDE-FDD картридж тактируется от слота, сопротивление линии CLOCK надо подбирать исходя из длины кабеля (30 см), частоты (3.58 МГц) и вольтажа (5 в)? Сопротивление на 68 или 100 Ом в конце линии не дало никакого эффекта - картридж так же глючил.

OrionExt
13.05.2019, 12:42
Я понял, что я ничего не понял. Так как IDE-FDD картридж тактируется от слота, сопротивление линии CLOCK надо подбирать исходя из длины кабеля (30 см), частоты (3.58 МГц) и вольтажа (5 в)? Сопротивление на 68 или 100 Ом в конце линии не дало никакого эффекта - картридж так же глючил.Тут такой момент. Как вариант новоделы были спроектированы с предельными отклонениями от спецификации шины MSX (или спецификации шины IDE). И тут уж этот шлейф-задержка ставит финальную точку - сбоит.

С такой фигней я столкнулся в моем клоне Sunrise IDE. И начались танцы с бубнами и подбором задержек в 5-15нс.

- - - Добавлено - - -


Еще как вариант поставить терминирующие резисторы на дальнем конце кабеля, что-нибудь начиная от 1К и вниз до 100 ом на землю.Терминаторы полезны, если делать расширение слота с буферизацией. А так навесить шлейф с дикой нагрузкой на микрухи. Чревато порчей раритета. Не все MSX имеют буферизацию слотов. Вот так уж сложилось.

tnt23
13.05.2019, 14:47
Терминаторы полезны, если делать расширение слота с буферизацией. А так навесить шлейф с дикой нагрузкой на микрухи. Чревато порчей раритета. Не все MSX имеют буферизацию слотов. Вот так уж сложилось.

Пожалуй, да, не стоит :) хотя подключать к пинам чипсета болтающиеся в воздухе провода длиной в десяток-другой сантиметров немногим лучше.

- - - Добавлено - - -


Я смотрел все сигналы двухканальным осциллографом на слоте и на конце кабеля. Разницы не заметил.

Смотреть надо на фронты с максимально возможной детализацией, чтобы увидеть звон:

https://www.analog.com/-/media/images/analog-dialogue/en/volume-49/number-1/articles/design-reliable-digital-interfaces/ad49011fig05.png?

ram_scan
13.05.2019, 15:00
Там разницы осликом может быть еще не видно если у ослика входное сопротивление невысокое или входная емкость большая. Поэтому подключение ослика портит (точнее улучшает) картинку. В сфероконичном случае если на ослике звона не видно, то значит и логика не должна ложно срабатывать.

Помеху нужного уровня на ложное срабатывание на шлейф навести нельзя. Напряжения не те, не полтора вольта там по уровням бегает. Значит это завалы фронтов, и скользкие допуски на тайминги в конкретных экземплярах устройств.

Можно попытаться пойти в лоб, взять моток МГТФа и просто начать укорачивать отдельные линии и шины в шлейфе до минимума. Может быть результат натолкнет на размышления.

OrionExt
13.05.2019, 15:48
Пожалуй, да, не стоит хотя подключать к пинам чипсета болтающиеся в воздухе провода длиной в десяток-другой сантиметров немногим лучше.Хмм. Есть такое. Хотя у меня на шине MSX-EXT болтается овер 32 дорожки длиной 20см и ничего (их там 96 /3*32/).


Смотреть надо на фронты с максимально возможной детализацией, чтобы увидеть звон: Звон подчистили 100Ом последовательно включенными, как могли. Новоделы, тут, видимо другая история.

- - - Добавлено - - -


Там разницы осликом может быть еще не видно если у ослика входное сопротивление невысокое или входная емкость большая. Поэтому подключение ослика портит (точнее улучшает) картинку.Все так. С осликом за $500 и шнуром за $20, ага "намереем" там - звон, фронты и т.д. ;)

- - - Добавлено - - -

Я вообще слабо представляю как должен выглядеть тестовый стенд для измерения задержки в 2нс. И ловли звона с периодом 1нс с фулл амплитудой.

- - - Добавлено - - -

ПОВТОРЮСЬ, копайте новоделы!!!

Wierzbowsky
17.05.2019, 02:50
Конечный результат:

http://podrezov.com/flex/ready.jpg

Dolphin101546015
17.05.2019, 06:39
А меня лично, разница результата на разных машинах смущает.
Глянуть бы что там с питанием в этот момент.
Может имеет смысл внешнее подкинуть?
Или конденсаторами подровнять на дальнем конце.

Wierzbowsky
17.05.2019, 11:35
На дальнем конце поставил керамику. Пульсации стали меньше.

Wierzbowsky
19.05.2019, 00:23
Попробовал сделать лазерную гравировку на чёрном пластике (PLA). Вышло вполне ничего. Так что можно и в чёрном исполнении FLEX сделать...

http://podrezov.com/flex/rbsc_engr.jpg

Wierzbowsky
10.06.2019, 02:19
При печати чёрным пластиком на корпусах нужна гравировка. Пока что получилось вот так:

http://podrezov.com/flex/ready1.jpg

Wierzbowsky
14.06.2019, 18:12
Проект опубликован в репозитории группы RBSC:

https://github.com/RBSC/FLEX

Wierzbowsky
30.06.2019, 12:39
Если кто-то хочет приобрести - обращайтесь в личку. Остались последние 3 комплекта - 1 чёрный с гравировкой, 1 белый и один без корпусов для тех, у кого уже есть 3D принтер.

UPDATE: Больше комплектов на продажу не осталось.