ZST-BUS
|
|
zst | Дата: Четверг, 12.11.2015, 18:44 | Сообщение # 1 |
10h
Группа: Пользователи
Сообщений: 17
Статус: Offline
| Давайте обсудим развитие шины ZX-BUS в шину ZST-BUS с возможность подключать трехвольтовые и пятивольтовые контроллеры/модули: Шина адреса и управления на контроллеры через буферы 74LVC245AD Шина данных пятивольтовая Дополнительная шина данных трехвольтовая
Готов пересмотреть свои старые предложения в пользу новых возможностей ?
|
|
| |
Black_Cat | Дата: Четверг, 12.11.2015, 21:43 | Сообщение # 2 |
Координатор
Группа: Координаторы
Сообщений: 730
Статус: Offline
| Я считаю, что толерантность к 3,3в это проблема самих контроллеров использующих такую логику :) . В своё время, KoE сдуру на Пенте 2.666 сделал 3,3в шину, вплоть до того, что питание 5в на 3,3в поменял, и всякие другие благоглупости :) . Но потом благоразумно одумался и уже на Пенте 2.666 ЛайтЭдишен вернул всё взад :) .
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!". "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло." Гарри Трумэн
|
|
| |
zst | Дата: Четверг, 12.11.2015, 22:39 | Сообщение # 3 |
10h
Группа: Пользователи
Сообщений: 17
Статус: Offline
| Мне нужна возможность подключать старые пятивольтовые и новые трехвольтовые. Без усложнения и удорожания. Установка по 4-5 буферов на каждый контроллер - не очень хороший способ совместимости.
|
|
| |
Black_Cat | Дата: Четверг, 12.11.2015, 23:07 | Сообщение # 4 |
Координатор
Группа: Координаторы
Сообщений: 730
Статус: Offline
| Цитата zst ( ) Установка по 4-5 буферов на каждый контроллер - не очень хороший способ совместимости. Ставь в контроллер CPLD толерантную 3,3/5в.
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!". "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло." Гарри Трумэн
|
|
| |
zst | Дата: Четверг, 12.11.2015, 23:14 | Сообщение # 5 |
10h
Группа: Пользователи
Сообщений: 17
Статус: Offline
| Желательно разводить простую печатную плату для контроллера - соединить ПЛИС или FPGA напрямую с разъемом без дополнительных CPLD для согласования, так как это сложно и дорого.
|
|
| |
Black_Cat | Дата: Пятница, 13.11.2015, 00:22 | Сообщение # 6 |
Координатор
Группа: Координаторы
Сообщений: 730
Статус: Offline
| Имхо проблема всё-таки высосана из пальца, ибо таких контроллеров не существует, и существовать не будет никогда, т.к. контроллеры делают под существующую доминирующую шину, т.е. под NemoBus. И чтобы тема стала актуальной надо чтоб случилось невероятное, и компьютеры с ZST-BUS повсеместно пришли на смену компам с NemoBus, вероятность чего, увы, стремится к нулю. Надо быть реалистом, у тебя не будет в запасе ни 20 лет на популяризацию своей шины, ни массового спроса на Спектрумы, которые были у Nemo, этот поезд ушёл.
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!". "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло." Гарри Трумэн
|
|
| |
zst | Дата: Пятница, 13.11.2015, 06:46 | Сообщение # 7 |
10h
Группа: Пользователи
Сообщений: 17
Статус: Offline
| А я сейчас планирую сделать шину, которая облегчит разработку новых контроллеров. Раз это пока интересует только меня, я делаю так, как считаю правильным. При этом я учитываю, что это может пригодиться другим. Поэтому надо сделать насколько возможно правильно. Старая шина остается, как ты ее разрабатываешь. Я же предлагаю ответвление для конкретных целей от NEMO-BUS и ZX-BUS оригинального Спектрума. Совместимость по большинству сигналов ZX-BUS останется, но только для сигналов, которые используются в большинстве контроллеров. Они останутся на тех же местах. Буферированные сигналы размахом 3.3V подходят для микросхем TTL.
Ты можешь помочь обеспечить эту совместимость. Я за этим к тебе и обратился. У тебя есть опыт и знания. Во-первых нужна таблица сигналов ZX-BUS, где написано, в каком контроллере он используется, например, в каком-то одном или в большинстве. Потом давай обсудим, каких сигналов не хватает для новых устройств на будущее и добавил их вместо неиспользуемых. Для простых контроллеров с трехвольтовой шиной надо 8 линий этой шины и 1 сигнал для включения буфера чтения.Добавлено (13.11.2015, 06:26) --------------------------------------------- Не вижу кнопок для редактирования и создания новой темы. Так как это не совсем ZX-BUS, а ее развитие надо бы в отдельную тему вынести. Добавлено (13.11.2015, 06:28) --------------------------------------------- Я разрабатываю модульный компьютер и мне нужна новая шина. Ты можешь поучаствовать. И некоторые твои идеи можно реализовать. Добавлено (13.11.2015, 06:37) --------------------------------------------- Надо освободить на шине место для новых сигналов. Принцип такой, если сигнал используется только в одном контроллере, то это кандидат на удашение из шины. Не все сигналы Z80 нужны на шине. Например, сигнал RFSH в шине не нужен. Также +12V используется только в контроллере дисководов. Его тоже можно убрать с шины и подавать на один контроллер напрямую. Если нельзя обойтись без дисковода. Добавлено (13.11.2015, 06:40) --------------------------------------------- Также предлагаю убрать сигналы, связанные с захватом шин Z80. Так как в шине ZX-BUS сигналы буферированные, то DMA не используется. Но для сохранения этой возможности остается один слот ZX-BUS с разъемом SL-62 без буферизации. Он соединен напрямую к модулю с Z80 или компьютеру с Z80, к которому подключена плата с новой шиной ZST-BUS. Добавлено (13.11.2015, 06:46) ---------------------------------------------
|
|
| |
Black_Cat | Дата: Пятница, 13.11.2015, 11:20 | Сообщение # 8 |
Координатор
Группа: Координаторы
Сообщений: 730
Статус: Offline
| Цитата zst ( ) Также предлагаю убрать сигналы, связанные с захватом шин Z80. Так как в шине ZX-BUS сигналы буферированные, то DMA не используется. Вообще-то во всех правильных клонах они не буферированные, более того, буферизация адреса и управления для NemoBus противопоказана.
Цитата zst ( ) Потом давай обсудим, каких сигналов не хватает для новых устройств на будущее и добавил их вместо неиспользуемых. Для простых контроллеров с трехвольтовой шиной надо 8 линий этой шины и 1 сигнал для включения буфера чтения. Цитата zst ( ) Например, сигнал RFSH в шине не нужен. :) Если бы ты читал Info Guide #7 "Стандартизация ZX BUS интерфейсов и шин", то знал бы, что свободных пинов в слоте уже нет, а часть сигналов даже имеют несколько значений в разных режимах, т.е. вся шина забита плотно, и ничего туда больше не добавить и не выкинуть без потери обратной совместимости. Т.е. остаётся только изобретать свою новую, ни с чем не совместимую шину, и лепить её в дополнение к существующей, как это уже было на PC. Вот тут возникает вопрос - готов ли ты потянуть выпуск компов и контроллеров с новой шиной, потому как вряд-ли это ещё кому-то нужно, ибо обоснованность твоей шины весьма сомнительна, а это то, с чего следовало начинать чтоб решить нужна ли такая шина вообще, или какая нужна..
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!". "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло." Гарри Трумэн
|
|
| |
zst | Дата: Пятница, 13.11.2015, 12:27 | Сообщение # 9 |
10h
Группа: Пользователи
Сообщений: 17
Статус: Offline
| Давай вместе спроектируем новую версию шины, но без ДМА. За основу возьмем NemoBUS V1.0 и начнем анализировать, какие сигналы убрать и добавить. В разъеме будет 64 контакта. Но наплату вместо него можно будет впаять и стандартный слот с 62 контактами. Буферы 74LVC245 очень быстрые, так что это не сильно повлияет. Задержка около 4 ns. Добавлено (13.11.2015, 12:24) --------------------------------------------- Черновое расположение новых сигналов в шине ZST-BUS:
17A (свободен) = RD_TBUS (включение чтения через трехвольтовый буфер шины данных) 18A (свободен) = TD0 (бит 0 трехвольтовой шины данных) 19A (BRQ) = TD1 (бит 1 трехвольтовой шины данных) 26A (BUSAK) = TD2 (бит 2 трехвольтовой шины данных) 15B (HALT) = TD3 (бит 3 трехвольтовой шины данных) 20B (свободен) = TD4 (бит 4 трехвольтовой шины данных) 22B (свободен) = TD5 (бит 5 трехвольтовой шины данных) 23B (свободен) = TD6 (бит 6 трехвольтовой шины данных) 25B (RFSH) = TD7 (бит 7 трехвольтовой шины данных) 29B (+12V) = +3.3V
Пока свободные контакты: 31A,31B,32A,32B Добавлено (13.11.2015, 12:27) --------------------------------------------- Можно еще обсудить необходимость для новых и старых контроллеров сигнала TURBO и некоторых других.
|
|
| |
Black_Cat | Дата: Пятница, 13.11.2015, 13:38 | Сообщение # 10 |
Координатор
Группа: Координаторы
Сообщений: 730
Статус: Offline
| :) Имхо обычно проект начинается с обоснования его необходимости. Обоснуй необходимость множества разнообразных 3,3в контроллеров. Ну один контроллер а-ля девборда с FPGA для экспериментов я ещё могу понять, и для него вполне можно обойтись преобразователями уровней. Зачем таких контроллеров много, если всё может влезть в одну FPGA мне уже непонятно. Полагаю, остальным это тоже непонятно, а значит поддержки не будет, ибо никто не знает зачем оно нужно.
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!". "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло." Гарри Трумэн
|
|
| |
zst | Дата: Пятница, 13.11.2015, 14:05 | Сообщение # 11 |
10h
Группа: Пользователи
Сообщений: 17
Статус: Offline
| Есть компьютеры на FPGA типа Speccy2010, Reverse, Aeon и т.п. А есть многоплатные, где нет стремления впихать на одну плату все возможные устройства. Каждый модуль можно сделать на DIP микросхемах или CPLD. Одним из модулей будет видеокарта Meteor Graphics на FPGA. Второй модуль - порты ввода-вывода. В DIP можно сделать только простой типа механической клавиатуры, кемпстон джойстика, TAPE-IN, BEEPER. Более навороченный - типа Z-CONTROLLERA, divIDE, divMMC уже требует CPLD. По доступной цене несовместим с +5V. Поэтому на шине должны быть сигналы трехвольтовые. В современных условиях новый контроллер тоже проще сделать на CPLD. Отсюда вывод о потребности в простом сопряжении и новой шине ZST-BUS. Для этого и будут буферы-пробразователи в трехвольтовые уровни шины адреса и управления. Заодно они уменьшают нагрзуку на Z80. Еще раз повторю - ДМА для большинства контроллеров не нужен. Для одного контроллера будет разъем ZX-BUS. Старые контроллеры, при необходимости можно будет подключить к шине, припаяв на краевой разъем вилку DIN-64 или впаяв в плату HEPTAGON слот SL-62 вместо розетки DIN-64. Добавлено (13.11.2015, 14:05) --------------------------------------------- Микросхемы памяти тоже есть трехвольтовые. Если мы хотим возможность добавлять в комьпютер новые возможности и функции, то мы должны обеспечить легкость добавления новых модулей на трехвольтовых CPLD и памяти.
|
|
| |
Black_Cat | Дата: Пятница, 13.11.2015, 20:01 | Сообщение # 12 |
Координатор
Группа: Координаторы
Сообщений: 730
Статус: Offline
| Цитата zst ( ) Одним из модулей будет видеокарта Meteor Graphics на FPGA. Второй модуль - порты ввода-вывода. Ну вот мы и подошли к тому, откуда растут ноги у твоей ZST-BUS, и зачем насамделе нужна трёхвольтовость - из твоего представления модульного компьютера. К сожалению, принятая тобою концепция модульности на уровне функциональных блоков была актуальна для 70х годов, а сейчас из-за развития ПЛИС такое мелкое деление не актуально. Сейчас уровень модуля - это как минимум функционально законченное устройство, а то и комбайн, включающий несколько устройств сходного назначения. Поэтому сейчас присутствует тенденция стремительного сокращается количества таких модулей за счёт их укрупнения, а значит, даже если в них будут использоваться преобразователи уровней, то даже если таких укрупнённых блоков будет аж три, то смысла городить под эти аж три блока отдельную шину нет никакого. Поэтому пусть остаётся NemoBus для всего - и для новых укрупнённых устройств и для старых устройств с узкой функциональностью. И ничего страшного если для трёх устройств надо разориться на буфера - для трёх устройств разориться можно! :)
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!". "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло." Гарри Трумэн
|
|
| |
zst | Дата: Суббота, 14.11.2015, 07:58 | Сообщение # 13 |
10h
Группа: Пользователи
Сообщений: 17
Статус: Offline
| Согласен, что предпочтительнее разрабатывать укрупненные модули, где объединить несколько устройств. Иначе для более мелких устройств не хватит разъемов. И есть определенное преимущество их объдинять.
Например, минимальный вариант модуля устройств ввода-вывода, как в оригинальном Спектруме: механическая клавиатура, TAPE-IN, TAPE-OUT, BEEPER. Ведь в 1982 году в компьютере не было даже джойстика. Эти устройства можно легко сделать на нескольких микросхемах. Но для большинства людей этого мало. Надо еще минимум джойстик. Можно сделать на отдельном модуле, как было раньше за границей. Но один кемпстон джойстик — тоже мало. Желательно еще и SINCLAIR, мышь. Можно сделать еще один модуль. Но тогда количество модулей будет слишком большим. Поэтому будет логично их объединить на одном модуле. Естественно,такое устройство проще сделать на одной микросхеме CPLD и микроконтроллере.
Не нельзя быть уверенным, что достаточно будет трех модулей. Всегда может появиться идея сделать новое устройство для Спектрума. Это может быть и не очень нужное все устройство типа для подключения аналоговых джойстиков от PlayStation2. Или устройство для упрощения прохождения игр — сохранение и восстановление состояния игры в образах SNA. Или модуль памяти 32MB на SDRAM. Да мы даже не можем угадать, какое устройство придумают в будущем. Но мы можем облегчить работу будушим разработчикам.
Размещение буферов и стабилизатора на 3.3В на каждой плате не совсем логично. Зачем это дублирование ? Надо их перенести на плату расширения «HEPTAGON» и тройник ZX-BUS - ZST-BUS «TRITON». Этим мы упрощаем разработку платы каждого модуля, уменьшаем габариты печатной платы каждого модуля, уменьшаем их себестоимость, упрощаем изготовление, уменьшаем нагрузку на Z80. И это хорошо даже для одного экземпляра компьютера, который я разработаю для себя. А в будущем это может пригодиться другим.
|
|
| |
Black_Cat | Дата: Суббота, 14.11.2015, 11:33 | Сообщение # 14 |
Координатор
Группа: Координаторы
Сообщений: 730
Статус: Offline
| Цитата zst ( ) Но нельзя быть уверенным, что достаточно будет трех модулей. Всегда может появиться идея сделать новое устройство для Спектрума. Это может быть и не очень нужное все устройство типа для подключения аналоговых джойстиков от PlayStation2. Или устройство для упрощения прохождения игр — сохранение и восстановление состояния игры в образах SNA. Или модуль памяти 32MB на SDRAM. Да мы даже не можем угадать, какое устройство придумают в будущем. Но мы можем облегчить работу будушим разработчикам.
Необходимость создания не узкоспециализированных устройств, а комбайнов или devboard на FPGA разработчики уже осознают. Вон TSL даж прототип под NemoBus сделал с жирной FPGA чтоб засунуть туда все медиаустройства (правда так и не довёл до конца), MVV так же продвигает свою U16 как такой медиаконтроллер, для чего сделал интерфейсную плату для подключения к NemoBus. На U16 очень большая FPGA, туда можно не только все медиаустройства, но и ещё пару Спектрумов целиком засунуть, так что места для наращивания хотелок на будущее больше чем достаточно. Моё мнение, что в качестве медиаустройств надо ориентироваться именно на такие универсальные устройства как U16.
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!". "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло." Гарри Трумэн
|
|
| |
zst | Дата: Суббота, 14.11.2015, 21:23 | Сообщение # 15 |
10h
Группа: Пользователи
Сообщений: 17
Статус: Offline
| На моей видеокарте тоже будет жирная FPGA EP2C5Q208. Но это не значит, что туда надо пытаться все уместить. Да всего и не предусмотреть.
MVV тоже осознает полезность модульной конструкции компьютера: "Я же тебе осмелюсь предложить немного другое направление. Совместную разработку модульной платформы наподобие к примеру известной всем Arduino или PinBoard. Т.е. платы спроектировать таким образом, чтобы их можно было при необходимости расширять, добавляя в устройство новые компоненты. Благодаря такому подходу проектирования, у любого появится возможность собрать как в Lego нужную ему систему. Что скажешь?" (цитата отсюда: http://zx-pk.ru/showthread.php?t=24813&p=802241&viewfull=1#post802241)
Так что давай не будем обсуждать необходимость, а начнем разработку. Я могу и один делать, но лучше сообща. Считай, что это внутренняя шина одного из компьютеров. И надо ее сделать достаточно проработанной в условиях ограничений на количество контактов.
|
|
| |
Black_Cat | Дата: Суббота, 14.11.2015, 22:38 | Сообщение # 16 |
Координатор
Группа: Координаторы
Сообщений: 730
Статус: Offline
| Цитата zst ( ) MVV тоже осознает полезность модульной конструкции компьютера Только у него модуль как у тебя 4 компьютера со всей периферией :)
Цитата zst ( ) Так что давай не будем обсуждать необходимость, а начнем разработку. Я могу и один делать, но лучше сообща. Считай, что это внутренняя шина одного из компьютеров. И надо ее сделать достаточно проработанной в условиях ограничений на количество контактов.
Не, я смысла в такой шине не вижу, пока NemoBus v.1.2 хватает за глаза для всего, и обоснования от тебя я так и не услышал. Что-то мож и подскажу, но участия принимать не буду.
Имхо, если ты юзаешь а-ля СНП , то можно применить СНП59-96/DIN 3x32, где на средний ряд вывести твои специфичные сигналы, а крайние оставить как в NemoBus, будет вполне эволюционное развитие :) , можно будет паять либо ISA8 либо СНП/DIN. С двухсторонней разводкой конечно будет сложновато, но тут ничего не поделать, хотел - мучайся :)
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!". "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло." Гарри Трумэн
|
|
| |
zst | Дата: Воскресенье, 15.11.2015, 10:11 | Сообщение # 17 |
10h
Группа: Пользователи
Сообщений: 17
Статус: Offline
| Разъемы будут двухрядные с шагом 2.54 2X32=46 контакта. Как на фотографии:
Нумерация такае, как у ZX-BUS. То есть, если мы подпаиваем контроллер ZX-BUS к прямой вилке DIN-64 и устанавливаем в разъем шины ZST-BUS он должне работать. Советы приветствуются. Есть 4 свободных контакта. Один можно использовать для TMREQGE. Названия сигналов я буду писать без наклонной линии.Добавлено (15.11.2015, 10:02) --------------------------------------------- Разъемы c 64 контактами. Номера от 1 до 30 в ряду соответствуют шине NemoBUS 1.0, только шина адреса и управления трехвольтовые. У таких сигналав в названии добавляется буква T: TA0-TA15, TIORQ, TMREQ, TRD, TWR, TWAIT, TRESET. Шина адреса есть пятивольтовая D0-D7 и трехвольтовая TD0-TD7. Добавлено (15.11.2015, 10:11) --------------------------------------------- Трехвольтовая шина добавляется на место неиспользуемых сигналов NemoBUS V1.0. Подключается к пятивольтовой шине через два буфера 74LVC245AD с шагом 1.27 для легкости пайки материнской платы. При TWR=0 данные передаются через буфер записи с пятивольтовой шины на трехвольтовую. При TRD=0 данные с трехвольтовой шины поступают на пятивольтовую. Когда TWR=TRD=1 оба буфера в Z состоянии. Трехвольтовая шина имеет резисторы подтяжки к +3.3V через резисторы по 10К. На входе управления выходами буфера чтения тоже подтяжка 10К к +3.3V. Этот сигнал подается на контакт RD-TBUS. К нему подключаются выходы ПЛИС, настроенные на режим с открытым коллектором или через диоды. ПЛИС, которой надо передать данные в Z80, устанавливает на сигнале RD-TBUS низкий логический уровень. Это приводит к открыванию трехвольтового буфера чтения. Трехвольтовые данные во время сигнала TWR=0 подаются на все трехвольтовые контроллеры.
|
|
| |
Black_Cat | Дата: Воскресенье, 15.11.2015, 18:13 | Сообщение # 18 |
Координатор
Группа: Координаторы
Сообщений: 730
Статус: Offline
| Всё слишком усложнено, а значит - не нужно. Поставь трёхрядный разъём и будет достаточно.
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!". "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло." Гарри Трумэн
|
|
| |
zst | Дата: Воскресенье, 15.11.2015, 18:20 | Сообщение # 19 |
10h
Группа: Пользователи
Сообщений: 17
Статус: Offline
| Сложность в 8 линиях данных и одном управляющем ? Есть способ проще ? И он одинаков - на материнской плате или на каждом контроллере. Все равно надо 2 буфера для надежной работы.
|
|
| |
Black_Cat | Дата: Воскресенье, 15.11.2015, 18:31 | Сообщение # 20 |
Координатор
Группа: Координаторы
Сообщений: 730
Статус: Offline
| Я тебе сказал уже способ проще, и кстати есть двунаправленные буфера без управляющего сигнала, на CC'14 кажись, в девайсе что на конференции демонстрировали такие стояли.
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!". "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло." Гарри Трумэн
|
|
| |
|