PDA

Просмотр полной версии : Специалист МХ2: реализация в CPLD



fifan
25.08.2018, 18:34
По просьбе Павла Рябцова открываю новую тему про создания клона Специалиста. Не секрет что созданный несколько лет назад Специалист МХ2 является одним из наиболее популярным и легко запускаемым современным клоном (я бы ещё поставил рядом Сябр, но наверное некоторые со мной поспорят).

Задумка такая. В небольшую CPLD (https://ru.wikipedia.org/wiki/CPLD), например из серии Макс компании Алтера на 100 пинов запихать всю схему Специалиста МХ2. Жирные микросхемы оставить за бортом плисины. Режимы и совместимость архитектурную полностью оставить от Специалиста МХ2.

Убрать вообще, за ненадобностью:
- шину МХ-BUS;
- интерфейс магнитофона;
- управление и подключение БП AT/ATX;
- вывод звука наружу.

Добавить или модернизировать:
- адаптер PS/2 клавиатуры;
- контроллер SD карты;
- конверторы/преобразователи питания +12 и -5 вольт;
- буферы формирования фаз процессора 8080 Ф1 и Ф2.

Высказывайтесь, всех выслушаем.

Схема и внешний вид печатной платы. (http://специалист-пк.рф/SpetsialistMX2CPLD/SpetsialistMX2CPLD.pdf)

Прошивка ПЗУ (http://специалист-пк.рф/Soft/SVGASpec.rar) (полностью совпадает со Специалистом МХ2).

http://специалист-пк.рф/SpetsialistMX2CPLD/SpetsialistMX2CPLD.png

HardWareMan
25.08.2018, 18:58
Ставьте EPM7128S чтобы всё было чисто под 5в. Прошивку, заменяющую рандомную логику я вам сделаю правильно, согласно схеме и в синхронном дизайне. SPI можно будет упаковать туда же. Я попробую прикинуть заполняемость на днях, ато может придется брать EPM7256S.

fifan
25.08.2018, 19:30
Начнём, наверное с EPM7128STC100-15N. Сейчас нужно наметить входные/выходные пины.

Не вижу предложений по схеме. В конце концов какого формата плату делать?

HardWareMan
25.08.2018, 19:35
Как минимум - половину от текущей. Чтобы разъемы оставались на своих местах. Это если кто-то уже корпус сделал или рассчитал, чтобы была совместимость вверх. Схему я сейчас пересмотрю и скажу что конкретно будем пытаться упаковать в CPLD. SPI, кстати, надо упаковать однозначно.

Павел Рябцов
25.08.2018, 19:50
Предлагаю сразу остановится на EPM7256ATI144(EPM7512AETC144), чтоб потом не думалось влезет или нет, а так же IO чуть больше. А 144 ногую думаю запаять смогут ну не без проблем, но смогут, шаг что них одинаковый, а размером чуть больше.) Да и по ценнику она стоит как 7128!!
ПиСи, как вариант на крайний случай EPM7256EQC160, это думаю вообще за глаза.

HardWareMan
25.08.2018, 19:56
Я поддерживаю. Так как много сигналов придется пропустить через CPLD (адреса - точно).

Павел Рябцов
25.08.2018, 20:13
Убрать вообще, за ненадобностью:
- шину МХ-BUS;
- интерфейс магнитофона;
- управление и подключение БП AT/ATX;
- вывод звука наружу.

Добавить или модернизировать:
- контроллер SD карты;
- конверторы/преобразователи питания +12 и -5 вольт;
- буферы формирования фаз процессора 8080 Ф1 и Ф2.



Зачем это убирать? Я не вижу смысла. Пусть будет. Проще не распаивать, чем потом лапшей тянуть.
Насчёт SD не могу ничего сказать.
Что то я не вижу на схеме PS2, это вообще не порядок. Почему Вы его изначально не внедрили? Вы делаете плату в АТХ корпус и тут на тебе.

fifan
25.08.2018, 20:32
Я не настаиваю на ATX корпусе, да и плата (судя по значительной запихнутости плисины) будет небольшая. Про PS/2 забыл - внедряю. EPM7512AETC144 - она мне нравится. Блин очень трудно найти распиновку плисин - Altera -> Intel закрыли даташиты старые.

Павел Рябцов
25.08.2018, 20:37
Я не настаиваю на ATX корпусе, да и плата (судя по значительной запихнутости плисины) будет небольшая. Про PS/2 забыл - внедряю. EPM7512AETC144 - она мне нравится. Блин очень трудно найти распиновку плисин - Altera -> Intel закрыли даташиты старые.

http://www.dexsilicium.com/altera_m7000a.pdf 51 страница
Или тут https://www.intel.com/content/dam/altera-www/global/en_US/pdfs/literature/dp/max7k/archives/epm7512ae.pdf

HardWareMan
25.08.2018, 20:42
А нам хватит 120 пользовательских I/O ног? И еще, суффикс А говорит, что это уже MAX7000A, а это означает, что она 3.3в. Не наступайте на те грабли, по которым я уже протоптал тропинку! Я призываю к полностью 5в дизайну! Нужен MAX7000, а это суффикс S (что-бы с JTAG).
http://jpegshare.net/images/15/7a/157af89af9491a71cc8a1e59fefdf3bb.png

fifan
25.08.2018, 20:43
Неа нам нужны 5 вольтовые плисины, на крайний случай совместимые с 5 вольтовой логикой. А иначе сколько нужно будет преобразователей ставить! Так что только S серия (сначала ошибся).

Павел Рябцов
25.08.2018, 20:44
А нам хватит 120 пользовательских I/O ног?

Игорь, это Вам лучше знать))
Следующая 208 ногая уже, её точно тяжко будет запаять.
Хотя нет, есть ещё варианты EPM7192EQC160, EPM7256EQC160

fifan
25.08.2018, 20:53
Правильно, HardWareMan! А вы представьте если не 5 вольтовые входа у плисины. Ну в качестве входа ещё пойдет через резистор, а в качестве выхода? Нужно будет преобразователи ставить. 120 ног наверное хватит.

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

HardWareMan
25.08.2018, 20:59
Сейчас начну прикидывать, что к чему. Отталкиваюсь пока от имеющихся EPM7128S.

Павел Рябцов
25.08.2018, 21:08
Сейчас начну прикидывать, что к чему. Отталкиваюсь пока от имеющихся EPM7128S.
Вот вариант поинтересней EPM7192SQC160

Mick
25.08.2018, 21:14
Хотя нет, есть ещё варианты EPM7192EQC160, EPM7256EQC160

Только не вздумайте MAX7000E серию - она древняя и требует специального программатора. JTAGом ее не прошьешь.

Кстати можете применять MAX3256 или MAX3512 - они хоть 3.3В, но толерантны с 5 вольтовой логики. Вон я свои поделки (клоны Спекки) на них в частности делал

fifan
25.08.2018, 21:22
Сейчас пины посчитаем. Гадать сколько надо не будем.

HardWareMan
25.08.2018, 21:51
Mick, именно поэтому:

Нужен MAX7000, а это суффикс S (что-бы с JTAG).

HardWareMan
26.08.2018, 11:28
Вчера накидал синхрогенератор, за базу взял EPM7128SLC84 - вышло вот:
http://jpegshare.net/images/55/90/5590eeadfba9fd09e273155c960c8b23.png
Оставшихся 58 ячеек хватит и на SPI и на дешифратор полностью. Но в ногах уже 99%, а ведь там еще не все сигналы заведены. Так что да, ограничение у нас только в ногах. Перехожу на EPM7192SQC160.

Павел Рябцов
26.08.2018, 11:46
Узнал стоимость EPM7192SQC160( с разборки 400-450р, новая как космический корабль), ну совсем не дешево выйдет эта плата, нааамного дешевле на рассыпухе собрать, смысл тогда это городить? Нам только S серия подойдёт?

Mick
26.08.2018, 14:04
Перехожу на EPM7192SQC160.

Или на EPM3256ATC144 :)

Павел Рябцов
26.08.2018, 14:12
Или на EPM3256ATC144 :)

Михаил, она совместима(толерантна) с 5 вольтами? Вы бы написали что узнать надо точно по буквам, а то я тут как .... метаюсь))

Mick
26.08.2018, 14:32
Михаил, она совместима(толерантна) с 5 вольтами? Вы бы написали что узнать надо точно по буквам, а то я тут как .... метаюсь))

Читаем сами - https://static.chipdip.ru/lib/223/DOC000223940.pdf

Насколько помню других вроде серий у MAX3000 нет, не то что у MAX7000

Единственно возможно возникнут проблемы если нагрузить ее допустим 8 микрухами РУ5 (фиг знает как там обстоят дела с нагрузочной способностью), но это не точно :)

fifan
26.08.2018, 15:20
Я уже писал, что эти плисины совместимы по уровню +5 В на входах, а вот выходы их нужно будет докачивать до +5 В, т. е. ставить дополнительно преобразователи, что нежелательно.

HardWareMan
26.08.2018, 15:55
Нет, докачивать не надо, у конкретно этой MAX3000A на выходе лог.1 = 3.3в, т.е., выше, чем надо до ТТЛ и ниже чем для КМОП. Толерантненько, но не совсем: ТТЛ будет больше грузить выход а КМОП может попасть внезапно в тиристорный эффект.
http://jpegshare.net/images/55/0c/550c472f9d962f03b771b8d394c84f8a.png
Что касается EPM7192SQC160 - это просто к примеру с большим количеством ног. Вы предлагайте свои варианты MAX7000S.

A074MO
26.08.2018, 16:38
Простите что вмешиваюсь,

КМОП может попасть внезапно в тиристорный эффект.
но мне кажется что эта "детская болезнь КМОП" давно побеждена.
По вопросу совместимости:

https://thumb.ibb.co/edrNQ9/MAX3000.png (https://ibb.co/edrNQ9) https://thumb.ibb.co/i9gNQ9/TTL_LVTTL.png (https://ibb.co/i9gNQ9)

Выводы за Вами

HardWareMan
26.08.2018, 17:21
но мне кажется что эта "детская болезнь КМОП" давно побеждена.
Когда кажется - креститься надо. Тем не менее, микросхемы защиты от тиристорного эффекта (http://www.asic.ru/images/stories/prod/1469TK035.pdf) до сих пор выпускают и что-то там изучают в предмете (http://www.conf.mirea.ru/CD2016/pdf/p3/51.pdf).

Выводы за Вами
К чему эти переведенные филькины грамоты, когда я буквально перед этим дал скриншот из оригинальной оффдоки от производителя?

fifan
26.08.2018, 18:49
Количество ног в 160 - это нормально, пользовательских всего 100, вернее на 4 меньше (JTAG - 4). Вот примерно схема (http://www.spetsialist-mx.ru/SpetsialistMX2CPLD/SpetsialistMX2CPLD.pdf), я ещё не нарисовал эмиттерные повторители на VGA, выводы на SD карту. А теперь посчитайте сколько осталось (цепь Net) - не больше десятка.

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

Я тут подумал, а какое количество ячеек у нас задействовано? Ведь можно оставить плисину с 160 пинами, а вот количество вентилей понизить? EPM7192SQC160 - это 192 макроячейки. Есть и на 160, и на 128.

HardWareMan
26.08.2018, 18:50
Не забываем про Z80. Ибо это МХ2 - комп с возможностью выбора процессора. Все цепи ЛА8 остаются, кроме некоторых моментов:
1. Из CPLD выходят инверсные nF1 и nF2, которые приводятся элементами ЛА8 в позитивную норму с размахом 12в для ВМ80.
2. Сигнал nF2 как раз имеет правильную фазу для тактирования Z80.
3. Буферизацию шин процесса следует оставить, это нужно для усиления сигналов на слотах.
Остальное по мелочи, буду дописывать по мере вырисовывания идеи.

Я тут подумал, а какое количество ячеек у нас задействовано? Ведь можно оставить плисину с 160 пинами, а вот количество вентилей понизить? EPM7192SQC160 - это 192 макроячейки. Есть и на 160, и на 128.
http://zx-pk.ru/threads/29464-spetsialist-mkh2-realizatsiya-v-cpld.html?p=976716&viewfull=1#post976716

fifan
26.08.2018, 19:01
3. Буферизацию шин процесса следует оставить, это нужно для усиления сигналов на слотах.
Буферизацию можно оставить, а какие ещё слоты? Надобность в разъёмах MX-BUS не вижу.

HardWareMan
26.08.2018, 19:29
Совсем никак? А зачем ты их тогда внедрял вообще?

fifan
26.08.2018, 20:32
Хотел вставлять контроллер дисковода, но передумал.

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

Хотел спросить кто-нибудь пользуется/пользовался Flash-диском, подключаемый к порту программатора ВВ55?

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

Добавил (http://www.spetsialist-mx.ru/SpetsialistMX2CPLD/SpetsialistMX2CPLD.pdf) буфера на шину данных и адреса обоих процессоров.

Павел Рябцов
26.08.2018, 20:41
Хотел вставлять контроллер дисковода, но передумал.

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

Хотел спросить кто-нибудь пользуется/пользовался Flash-диском, подключаемый к порту программатора ВВ55?

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

Добавил (http://www.spetsialist-mx.ru/SpetsialistMX2CPLD/SpetsialistMX2CPLD.pdf) буфера на шину данных и адреса обоих процессоров.

Всё та же схема без буферов.

fifan
26.08.2018, 20:49
Сори, заменил. HardWareMan, как дела с запихивание схемы в плисину?

HardWareMan
26.08.2018, 21:06
Я работаю над этим. Синхрогенератор то весь, нужно запихать дешифратор и менеджер памяти/цвета.

fifan
26.08.2018, 21:14
Павел, не прикинешь примерную стоимость деталей на плате по моей схеме?

Павел Рябцов
26.08.2018, 21:16
Павел, не прикинешь примерную стоимость деталей на плате по моей схеме?

Всё копейки, думаю 300-350р, но CPLD дорогая, я писал выше 400-450р. По этому и говорил, не целесообразно применять. Проще на мелкологике собрать, там весь комп думаю в 500р умещался. Ну можно ещё применить 2 CPLD меньшей интеграции но по 100 ног, это выйдет 220-240р за обе. Но это всё образно.

HardWareMan
26.08.2018, 23:56
У нас основное ОЗУ используется как 16 битное (8 обычное + 8 цвета в тени). Есть смысл поискать чип 64Кх16, вместо 2х 64Кх8. Посмотрите? Условия те же: чистые 5 вольт, статика, скорость не хуже 70нс (лучше до 50нс).

Павел Рябцов
27.08.2018, 05:09
У нас основное ОЗУ используется как 16 битное (8 обычное + 8 цвета в тени). Есть смысл поискать чип 64Кх16, вместо 2х 64Кх8. Посмотрите? Условия те же: чистые 5 вольт, статика, скорость не хуже 70нс (лучше до 50нс).

3 вольтовых как грязи, буду искать 5 вольтовую. Позже напишу. Но только не понятна цель преследуемая?!

https://ru.mouser.com/datasheet/2/12/as7c1026bv1.3-1265363.pdf 100р
http://pdf.datasheetcatalog.com/datasheets2/18/189271_1.pdf 160p.

fifan
27.08.2018, 07:10
У нас основное ОЗУ используется как 16 битное (8 обычное + 8 цвета в тени). Есть смысл поискать чип 64Кх16, вместо 2х 64Кх8.

CY7C1021 - Брать только с питанием 5 вольт. Даташит (http://www.spetsialist-mx.ru/SpetsialistMX2CPLD/cy7c1021.pdf) на неё.

Павел Рябцов
27.08.2018, 07:18
CY7C1021 - Брать только с питанием 5 вольт. Даташит (http://www.spetsialist-mx.ru/SpetsialistMX2CPLD/cy7c1021.pdf) на неё.

В DIP найти проблема да ещё и на 5 вольт, Вы чего сами себе жизнь усложняете то?
В 44-SOJ цена 220р. Эта плата космическая встанет, остановитесь!!!

worker_vl
27.08.2018, 09:04
Добрый день, коллеги!

Встряну со своими "5-ю копейками". Вы спланировали "Специалиста" на CPLD, и для каких-то целей продолжаете держаться за DIP корпуса. Я понимаю, ни ВМ80, ни его пращур 8080 для поверхностного монтажа не выпускались, но остальное-то можно и без отверстий поставить. Кстати, и Z80 можно сразу распаять, ИМХО, только организовать диодами "персональный" сброс. Если я правильно помню, во время сброса все выводы проца в 3-е состояние переходят и процы друг другу мешать не должны.

Павел Рябцов
27.08.2018, 09:43
Добрый день, коллеги!

Встряну со своими "5-ю копейками". Вы спланировали "Специалиста" на CPLD, и для каких-то целей продолжаете держаться за DIP корпуса. Я понимаю, ни ВМ80, ни его пращур 8080 для поверхностного монтажа не выпускались, но остальное-то можно и без отверстий поставить. Кстати, и Z80 можно сразу распаять, ИМХО, только организовать диодами "персональный" сброс. Если я правильно помню, во время сброса все выводы проца в 3-е состояние переходят и процы друг другу мешать не должны.

Владимир, на плате всё должно смотреться гармонично!! Хотя это дело вкуса каждого.
Да и вопрос сейчас в другом, стоимости этого всего. Зачем это надо при такой стоимости? Когда можно на рассыпухе собрать в 2 раза дешевле.

worker_vl
27.08.2018, 09:46
Ну, наверное, искусство ради искусства! Не могу осуждать - сам такой. Спрашивается: нафига мне компы из прошлого века? Ностальгия :) тут, наверное, тоже свои стимулы...


Отправлено с моего iPad используя Tapatalk

Павел Рябцов
27.08.2018, 09:55
Ну, наверное, искусство ради искусства! Не могу осуждать - сам такой. Спрашивается: нафига мне компы из прошлого века? Ностальгия :) тут, наверное, тоже свои стимулы...


Отправлено с моего iPad используя Tapatalk

Не понял суть ответа.
Ну если это ответ про стоимость, так есть чип и дип, зачем ищем то всё дешевле, этож искусство.

fifan
27.08.2018, 11:40
Я привел ссылку на срамину именно в 5 вольт, корпус TSOP2-44. А теперь ищем срамину на 512кбайт х 8. Условие то же: 5 вольт.

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

Их корпусов в DIP останутся: оба процессоры, флеш или уф ПЗУ на 64 кбайта, вв55 и ви53. Я даже ир33 и ап6 предлагаю в SOI корпусе.

Снова изменил схему (http://www.специалист-пк.рф//SpetsialistMX2CPLD//SpetsialistMX2CPLD.pdf). Вопрос к HardWareMan'у: кварцевый генератор на какую частоту применим: 40 или 20 МГц?

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

Вот нашёл у китайцев (https://ru.aliexpress.com/item/71V016S-71V416L-71V416S-AS6C2016-AS6C4016-AS6C8008-AS6C8016-AS7C1026-AS7C31026-AS7C34096-AS7C34098-AT89LP6440-BD7967-BD9757-BQ20/32906020826.html?spm=a2g0v.search0604.3.8.6a47104e 09ZCEU&ws_ab_test=searchweb0_0,searchweb201602_1_5724111_ 10065_10068_5724411_5724211_10059_5724311_10696_10 0031_10084_10083_10103_5724811_10618_5725011_10307 _5723511_10301,searchweb201603_56,ppcSwitch_7&algo_expid=c49e2865-67e8-4c5d-8de0-ce429db447a1-1&algo_pvid=c49e2865-67e8-4c5d-8de0-ce429db447a1&priceBeautifyAB=0) AS7C1026B-20TCN - 1 075,41 руб за 5 шт. (215 за 1 шт.). Её скорость 20 нс, 5 В, корпус TSOP 2 44 пина.

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

А вот AS64008 - срамина на 512 кБайт стоит аж по 53,5 руб (https://ru.aliexpress.com/item/AS6C4008-55SINTR-AS6C4008/32908624387.html?spm=a2g0v.search0604.3.1.5fa05cab rVjkzF&ws_ab_test=searchweb0_0%2Csearchweb201602_1_572411 1_10065_10068_5724411_5724211_10059_5724311_10696_ 100031_10084_10083_10103_5724811_10618_5725011_103 07_5723511_10301%2Csearchweb201603_56%2CppcSwitch_ 7&algo_expid=b0c0445f-fb18-4b0d-ba82-74c5d1eba54d-0&algo_pvid=b0c0445f-fb18-4b0d-ba82-74c5d1eba54d&priceBeautifyAB=0).

Павел Рябцов
27.08.2018, 11:55
А вот AS64008 - срамина на 512 кБайт стоит аж по 53,5 руб (https://ru.aliexpress.com/item/AS6C4008-55SINTR-AS6C4008/32908624387.html?spm=a2g0v.search0604.3.1.5fa05cab rVjkzF&ws_ab_test=searchweb0_0%2Csearchweb201602_1_572411 1_10065_10068_5724411_5724211_10059_5724311_10696_ 100031_10084_10083_10103_5724811_10618_5725011_103 07_5723511_10301%2Csearchweb201603_56%2CppcSwitch_ 7&algo_expid=b0c0445f-fb18-4b0d-ba82-74c5d1eba54d-0&algo_pvid=b0c0445f-fb18-4b0d-ba82-74c5d1eba54d&priceBeautifyAB=0).

Вы уверены что это не пустышка? Нет таких цен даже в Китае))) Посмотрите на неё, она не внушает доверия, могу прислать фотку оригинала, вроде оставались ещё.

Первая попавшаяся с интернета

https://gd2.alicdn.com/imgextra/i2/0/TB1KAGySpXXXXX_aXXXXXXXXXXX_!!0-item_pic.jpg Так скать найдите отличие!!

HardWareMan
27.08.2018, 12:50
40МГц. 16бит просто чтобы уменьшить количество корпусов, но никто не запрещает поставить 2х 8ми битных в SMD.

fifan
27.08.2018, 13:05
Я тут спрашивал несколько постов назад о флеш диске. Никто не ответил о его применении. Может удалим его и заодно весь порт в лице одной вв55 исчезнит. Я заметил, что флеш диск гасит работу SD контроллера - адреса то одинаковые.

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


никто не запрещает поставить 2х 8ми битных в SMD.
Да мы насчёт памяти не спорим, Павел сетует на то, что плисина дороговата выходит.

Ewgeny7
27.08.2018, 13:45
160-лапая CPLD? Это сурово, да.
Может тогда уж старенький Циклон-1 + SRAM + ROM? Помнится, Орион-2010 делали на подобном наборе, работает до сих пор.

https://a.radikal.ru/a02/1808/cc/9622f977eb10t.jpg (https://a.radikal.ru/a02/1808/cc/9622f977eb10.jpg)

Павел Рябцов
27.08.2018, 13:59
Евгений, не в суровости дело, а в цене выливаемой в просто игрушку, ну не очень это серьёзно. А что это я пропустил ОРИОН2010, где информация, можно увидеть, пишите в личку, я трек дам с неизвестно какой то платой :v2_dizzy_punk:
ПиСи, а не, уже нашел, читаю....

Ewgeny7
27.08.2018, 14:16
Евгений, не в суровости дело, а в цене выливаемой в просто игрушку, ну не очень это серьёзно.
Суровость - в сложности пайки такого тараканища для многих, не являющимися сенсеями тупого раскаленного предмета. Выльется это в распайку таракана тем чуваком, кто будет изготавливать и рассылать платы. При большом желании можно догадаться, о ком идет речь :)
А Орион-2010 (http://scorpion-zs.narod.ru/Orion/index.html) - давняя история...
Было сделано несколько штук, и забыто.
Сейчас, просматривая тот код, хватаюсь за голову... :)
Есть желание все переписать нафиг, но никак лень с приступами активности не синхронизировать.
А ведь на плату можно и специалиста МПХ МХ забубенить.

fifan
27.08.2018, 16:13
Не стоит отчаиваться. В крайнем случае запихаем всё в две EPM7128SLC84. Данная плис через панельку паяется легко и недорого стоит. Будут так называемые северный и южный мост...

vlad
27.08.2018, 17:15
В крайнем случае запихаем всё в две EPM7128SLC84. Данная плис через панельку паяется легко и недорого стоит. Будут так называемые северный и южный мост...
Ехали медведи на велосипеде, а за ними кот, задом на перёд...

fifan
27.08.2018, 17:40
Ну насмехаться каждый может, а вот предложить что-нибудь дельное не всякий.

vlad
27.08.2018, 18:10
а вот предложить что-нибудь дельное не всякий.
Смотри подпись.

Павел Рябцов
27.08.2018, 18:12
fifan Не надо ничего кардинально удалять и менять, наоборот надо в плату запихать максимум, а кому не надо тот не будет это распаивать, я это уже говорил!! А то потом начнётся бутерброд из лапши МГТФ и текстолита.
По CPLD, не надо использовать дорогие чипы, должно быть чем дешевле, тем лучше для всех!!
Т.е. 7128 100 ногая стоит по моему сейчас 120р, 84 ногую не советую потому что много залоченых, да и стоимость практически те же 100р.
Но опять же, что мы преследуем, удешевить, так это однозначно на мелкологике, уменьшить, это на плисине.
ПиСи Я просил конкретно модели которые можно использовать, в Китае попадается просто ХАЛЯВА!! или демонтаж по копейкам. А так же ОРИГИНАЛЬНЫЕ чипы памяти, а не тот сброд что на али. Вообще я склоняюсь сам к демонтажу, так как нарваться на подделку 0%.

А вообще меня(и думаю кто просил изготовить) плата и так устраивала, как она была прежде, ну может дороги пере развезти, для эстетики!! А главное стоимость копейки, при том же функционале что и будет на CPLD.

Игорь, что конкретно влезает в 100 ногую 7128? Может оставить одну её и пока хватит?

И с vlad я чем то согласен, ну на плисах есть интересные платы, по мне как, так пусть лучше с пол сотни корпусов 555 логики, чем 1 плисина, я не получаю удовольствие от пайки тараканов.

fifan
27.08.2018, 18:30
7128 со 100 пинами по ногам можно втиснутся, я прикидывал. Затыка в ячейках. HardWareMan приводил итоги трансляции. Ждём наполнение плисины от HardWareMan. А так по микросхемам следующее:

1. EPM7128SQI100
2. К580ВМ80;
3. Z80;
4. К580ВВ55 (предлагаю оставить только одну);
5. К580ВИ53;
6. К155ЛА8;
7. SN74HC245 - 3 шт.
8. CY7C1021-10ZC
9. AS6C4008-55SIN
10. I27512
11. MC34063 - 2 шт.
12. ATMEGA8
13. ...

fifan
29.08.2018, 06:23
HardWareMan, ждёмс.

HardWareMan
29.08.2018, 20:12
Подождите, сделаю ASAP.

Павел Рябцов
29.08.2018, 20:30
Подождите, сделаю ASAP.

Нам ASAP не надо. Нам бы итоги трансляции.

fifan
29.08.2018, 20:58
Я постепенно рисую схему (http://www.spetsialist-mx.ru/SpetsialistMX2CPLD/SpetsialistMX2CPLD.pdf). Не хватает пинов в плисине под ввод цвета с вв55. Но есть выход: можно в плисине эмулировать один порт вв55 на вывод. В любом случае необходим схемный или языковой ввод в плисине, сравнить с моей распиновкой схемы.

P.S. в Орионе автор использует (http://zx-pk.ru/threads/28763-eshche-odin-orion-na-plis.html?p=976249&viewfull=1#post976249) даже два 100 выходных таракана и это не выглядит, как высказался vlad "Ехали медведи на велосипеде, а за ними кот, задом на перёд... ".

HardWareMan
31.08.2018, 10:26
Предварительные данные без оптимизации и, что важнее, без проверки (небольшая симуляция не в счет, нужна проверка на железе):
http://jpegshare.net/images/a2/a4/a2a4627336c72a121ed1f2adeb5db237.png
Что внутри: синхрогенератор, видеовыход, дешифратор (карта памяти МХ2), SPI модуль. Требуемые сигналы:

// Системные входы
Clk Тактирование с генератора 40МГц.
nRES Сброс
Fast Сигнал выбора скорости процессора 2.5МГц/2.0МГц

// Интерфейс процессора
nF1 Инверсная фаза F1 для ВМ80
nF2 Инверсная фаза F2 для ВМ80, тактовая для Z80, частота для генератора -5В (если используется старая схема)
nRD Сигнал чтения процессора (Z80 подключен напрямую, ВМ80 подключен через элемент ЛА8 в режиме инверсии, как в оригинальной схеме)
nWR Сигнал записи процессора
A[15:0] Входной адрес от процессора
D[7:0] Шина данных процессора

// Интерфейс основного ОЗУ
nOE Строб чтения основного ОЗУ
nWE Строб записи основного ОЗУ
MA[15:0] Адрес на основное ОЗУ
MD[7:0] Шина данных основного ОЗУ (и графики)
CD[7:0] Шина данных теневого ОЗУ (и цвета)

// Управляющие сигналы
BA[2:0] Выход номера банка ОЗУ
nROM Выбор ПЗУ
nDSK Выбор дополнительного ОЗУ
nU7 Выбор системного ППА
nU6 Выбор дополнительного ППА
nU5 U5
nU4 Выбор ВИ53
nU3 U3

// Сигналы SPI
nSEL Сигнал выбора карты
SCK Сигнал тактирования карты
MISO Сигнал входных данных
MOSI Сигнал выходных данных
nRED Сигнал красной лампочки
nGREEN Сигнал зеленой лампочки
nINS Сигнал вставления карты

// Видеовыход
Pix[3:0] Выводимый пиксель в формате IGRB
HSync Строчная синхронизация
VSync Кадровая синхронизация
CR Входной сигнал R цвета с ВВ55
CG Входной сигнал G цвета с ВВ55
CB Входной сигнал B цвета с ВВ55

Как и в случае с дискретным МХ2, пользователь при установке Z80 удаляет ВМ80 и ЛА8 либо удаляет Z80 и устанавливает ВМ80 и ЛА8. ЛА8 инвертирует фазовые сигналы nF1 и nF2 приводя их к размаху в 12в. Генерация -5В может быть осуществлена по старой схеме на элементе ЛА8 от сигнала nF2.

Прикидывайте ресурсы по ногам и элементам. Уточнения будут появляться по мере продвижения проекта (например, если потребуются дополнительные выводы для управления буферами шины).

fifan
31.08.2018, 11:41
Лёд тронулся. Возник вопрос по сигналу:
// Интерфейс основного ОЗУ
nOE Строб чтения основного ОЗУ
раньше он был инверсный от nWE, сейчас отдельный?
Судя по приведённому количеству пинов (и это только начало) одной плисиной не обойдёмся (имя ввиду 100 пиновые). Приведу названия сигналов на схеме согласно принятым выше в посте единобразно.

Кстати, HardWareMan, пора переходит на Квартус 13.0.1. Он понимает большинство старых CPLD и поддерживает новые.

Ещё. Наверное достаточно вывести только сигналы сразу на VGA монитор, без эмиттерных повторителей, напрямую через резисторы.

HardWareMan
31.08.2018, 12:03
Лёд тронулся. Возник вопрос по сигналу:
// Интерфейс основного ОЗУ
nOE Строб чтения основного ОЗУ
раньше он был инверсный от nWE, сейчас отдельный?
Так и есть, не будешь же ты снаружи инвертор вешать? К тому же, у нас появится возможность запирать его при ненадобности, если это понадобиться.

Судя по приведённому количеству пинов (и это только начало) одной плисиной не обойдёмся (имя ввиду 100 пиновые). Приведу названия сигналов на схеме согласно принятым выше в посте единобразно.
Я могу раздробить данный проект на 2 составляющие: синхрогенератор с адресами и порты В/В (вместе с регистрами сдвига изображения и т.д.). Можно уложиться в 2шт EPM7128SLC84.

Кстати, HardWareMan, пора переходит на Квартус 13.0.1. Он понимает большинство старых CPLD и поддерживает новые.
Кстати я активно использую 9.1.2, 13.1.0 и 15.1.0. И пока я не освою ModelSim (постоянно не хватает времени) никакого 13.х в треде про CPLD.

Ещё. Наверное достаточно вывести только сигналы сразу на VGA монитор, без эмиттерных повторителей, напрямую через резисторы.
При 2-х чиповом варианте это, вероятно, возможно.

fifan
31.08.2018, 12:20
Можно уложиться в 2шт EPM7128SLC84
Давай уложимся. Ещё и пины останутся. По твоему проекту использовано пинов: 95. Пинов у EPM7128SLC84: 64*2=128 - вполне хватит ещё на что-нибудь. Дели проект на два CPLD.

HardWareMan
31.08.2018, 12:35
Я тут посмотрел, можно все же сдвиг утянуть в первую CPLD. Тогда получится, что первая это видеогенератор в сборе + арбитраж главного ОЗУ. А вторая практически свободная, т.е. можно попробовать внутри нее уложить даже кусок ВВ55, которую вы тут хотели упразднить.

andreil
31.08.2018, 12:55
P.S. в Орионе автор использует (http://zx-pk.ru/threads/28763-eshche-odin-orion-na-plis.html?p=976249&viewfull=1#post976249) даже два 100 выходных таракана и это не выглядит, как высказался vlad "Ехали медведи на велосипеде, а за ними кот, задом на перёд... ".
К сожалению, в Орионе целый зоопарк портов и прочего. И всё это в 1 чип не влезло - самый минимум портов (управление RAM/ROM, видео, конфигурационные) уже еле-еле влезли в 1 чип EPM7128 =| А ведь есть ещё клавиатура, дисковод и прочее...
И да - один 100-ногий чип у меня является памятью. Для безвейтовости решил его использовать, что бы не заморачиваться с таймингами арбитра памяти - в симуляции это место было самым проблемным.

fifan
31.08.2018, 13:19
Я тут посмотрел, можно все же сдвиг утянуть в первую CPLD. Тогда получится, что первая это видеогенератор в сборе + арбитраж главного ОЗУ.
;)

А вторая практически свободная, т.е. можно попробовать внутри нее уложить даже кусок ВВ55, которую вы тут хотели упразднить.
Если не использовать Flash-диск, то нам вторая ВВ55 нужна только для ввода сигнала на KA0 (http://www.spetsialist-mx.ru/schemes/SpetsialistMX1.png)? И всё. Тем более у меня, я уже писал ранее, при работе Flash-диска SPI интерфейс отваливается. Я выборку ВВ55 №2 отключал (есть такой джампер) и SPI работал.

Сигнал:
nRES Сброс
Необходимо удлинить в плисине, как сделано в оригинальном Специалисте и вывести наружу уже два сигнала: прямой (для ВМ80 и ВВ55) и инверсный (для Z80).

fifan
02.09.2018, 08:46
Исправил схему (http://www.spetsialist-mx.ru/SpetsialistMX2CPLD/SpetsialistMX2CPLD.pdf), в ней добавил:
- преобразователь +12 В -> -5 В по схеме Экспресса;
- используется две ПЛИС: EPM7128SLC84;
- все резисторы (кроме 0,5 Вт и сборок) и конденсаторы (кроме электролитов) используются SMD.

Хочу добавить:
- интерфейс магнитофона, но с обратной стороны платы по схеме Павла Рябцова из Специалиста SRAM;
- вывести в разъём на переднюю плату сигналы: динамик, светодиоды, переключатель "Норма-Турбо".

Вот внешний вид платы (http://www.специалист-пк.рф/SpetsialistMX2CPLD/SpetsialistMX2CPLD.png) размером miniITX 17 на 17 см. Не разведены сейчас обе ПЛИС и блокировочные конденсаторы.

Павел Рябцов
02.09.2018, 11:56
Виталий, яж уже говорил, в PLCC84 альтеры много залоченых!!! Яж предлагал применить 100 ногую, ценник одинаковый!!!

fifan
02.09.2018, 14:10
Виталий, яж уже говорил, в PLCC84 альтеры много залоченых!!! Яж предлагал применить 100 ногую, ценник одинаковый!!!
По пинам в одну 100 выводную не влазим, в ней всего - 80 для пользователя. Нам нужно 90 пинов. В одной EPM7128SLC84 - 64 пина для пользователя. В любом случае я ещё плисины не разводил.

Павел Рябцов
02.09.2018, 14:37
По пинам в одну 100 выводную не влазим, в ней всего - 80 для пользователя. Нам нужно 90 пинов. В одной EPM7128SLC84 - 64 пина для пользователя. В любом случае я ещё плисины не разводил.

Да не в занятости ног дело и не в количестве альтер, а в качестве микросхем, смысл нарваться на залоченую, у меня их около трех десятков лежит.

fifan
02.09.2018, 16:13
Да не в занятости ног дело и не в количестве альтер, а в качестве микросхем, смысл нарваться на залоченую, у меня их около трех десятков лежит.
Павел, как на счёт доступности/цены на EPM7128STC100?

Павел Рябцов
02.09.2018, 18:03
Павел, как на счёт доступности/цены на EPM7128STC100?

Этих как грязи, 110-130р. Оригинал демонтаж, либо китай хз что там, тоже 110-130р.
Есть вот такие EPM7128SQC160-10, не вариант? 240р. и EPM7192SQC160-10 440р. Оригинал, демонтаж.

fifan
02.09.2018, 18:19
Остановимся на EPM7128STC100 - 2 штуки на плату, развожу плату дальше на них.

Павел Рябцов
02.09.2018, 18:25
Остановимся на EPM7128STC100 - 2 штуки на плату, развожу плату дальше на них.

Ну дело Ваше) Но я думаю это самый лучший вариант. Посчитал сколько микросхем стоит мелкологики в МХ2, примерно 43 штуки. Средняя стоимость 260-300р. Чуток сэкономим на стоимости платы, и в принципе будет самое то.

fifan
04.09.2018, 09:27
Основная часть схемы вошла в ПЛИС №1, кроме диспетчера страниц RAM-диска, SPI интерфейса, эмуллятора портов программатора и дешифратора внешних устройств. Последний мне пришлось перенести из-за недостаточного количества пинов в ПЛИС №1. Из первой ПЛИС во вторую нужно провести следующие связи: NIOP и AN, которые соответствуют цепям 4,5 DD27 и 3 DD41 схемы Специалиста МХ2 (http://www.специалист-пк.рф/schemes/SpetsialistMX_2_2.png). Но для формирования сигнала U1 в ПЛИС №1 нужно ввести логическую схему.

fifan
05.09.2018, 18:52
Всё, готов почти окончательный вариант (http://www.специалист-пк.рф/SpetsialistMX2CPLD/SpetsialistMX2CPLD.pdf) (будет корректировка дорожек). Особенности схемы:
- питание: либо через разъём Molex (+5В/+12В), преобразователь +5В -> +12В паять не нужно, либо через разъём, преобразователь +5В -> +12В необходим;
- преобразователь +5В -> -5В, он и К155ЛА8 необходимы для работы процессора К580ВМ80, для процессора Z80 этого ничего не нужно;
- применение трёх 74HC245D (КР1554АП6) в качестве буферов данных и адреса с микропроцессора;
- применение двух портовой SRAM в качестве основного и видео цвета ОЗУ;
- вывод звука либо через пьезопищалку, либо через разъём Jack, либо через разъём на переднюю панель;
- работа с магнитофоном через разъём Jack;
- загрузка файлов с SD карты;
- подключение 72-х кнопочной клавиатуры через разъём под Atmega8, либо подключение PS/2 клавиатуры через адаптер от Vinxru.

to HardWreMan: нужны прошивки плисин.

http://www.spetsialist-mx.ru/SpetsialistMX2CPLD/SpetsialistMX2CPLD.png

Павел Рябцов
05.09.2018, 19:10
fifan Как я понял всёж решили ставить 84 PLCC?

fifan
05.09.2018, 19:14
fifan Как я понял всёж решили ставить 84 PLCC?
Блин что-то картинка не обновилась.

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

Всё обновил - реальное 3D изображение.

fifan
06.09.2018, 07:03
Пока корректируется плата высказывайтесь по вашим хотелкам.

Павел Рябцов
06.09.2018, 07:37
Виталий, глядя на пустое место на плате, так и просятся АП и мелкологика в DIP, ну и можно память тоже. Сопротивления и конденсаторы выводные а не SMD. Место под генератор в маленьком корпусе ещё предусмотрите. По мне так это гармоничней будет смотреться, да и место позволяет.

fifan
06.09.2018, 09:38
глядя на пустое место на плате, так и просятся АП и мелкологика в DIP, ну и можно память тоже.
Так ведь SO и SOP корпуса дешевле купить или я не прав?

Сопротивления и конденсаторы выводные а не SMD.
Надо подумать. Хотя изначально у меня были выводные, но при установке по плате у меня в некоторых местах не хватало места. С обратно стороны платы сейчас стоят блокировочные SMD конденсаторы и все детали интерфейса магнитофона.

Место под генератор в маленьком корпусе ещё предусмотрите. По мне так это гармоничней будет смотреться, да и место позволяет.
Не знаю размеры. На данный момент предусмотрены посадочные места кварцевого генератора под DIP8 или DIP14 корпуса.

Павел Рябцов
06.09.2018, 10:04
Так ведь SO и SOP корпуса дешевле купить или я не прав?
.

Не прав!! Тем более DIP АП6 думаю у каждого есть, место позволяет, зачем ему пропадать.
Не понимаю как тут места мало)) Тут 2 таких схемы можно разместить.
Глянул SRAM нет в DIPе.
С обратной стороны пусть SMD будет, оно не видно.
Не понятные разъёмы для звука, что такое? Где брать? У меня таких нет, а если я буду делать платы, то начнётся как всегда, надо то и это....Так же нет 78L33 в таком корпусе.
Почему светодиоды сзади? Кому они там нужны? Корпус то ITX. Выводите(дублируйте) на разъем XS5.

fifan
06.09.2018, 10:14
Но память (одна 512 кБайт SRAM, вторая - двухпортовая 64 4Байтх16 SRAM) точно уж в DIP или не найдешь или дороже. А АП6 в DIP корпусе поставлю.

HardWareMan
06.09.2018, 11:25
84 ногую не советую потому что много залоченых, да и стоимость практически те же 100р.
***
Виталий, яж уже говорил, в PLCC84 альтеры много залоченых!!!
Засомневался, собрал макетку и проверил 20шт своих EPM7128SLC84-15, купленных 2017-01-31. Цена $20.5/лот.
http://jpegshare.net/images/b3/fd/b3fd520b498b13619affb6c6344d1eac.jpg
18шт ответили на JTAG и даже сразу прошли проверку на чистоту (без необходимости стирания). 2шт не ответили на JTAG: одна сказала, что TDO прилип на Vcc, а у другой на GND. Стереть их попробую когда мне вернут мой Xeltek. Т.е., получилось 10% брака. Забавен факт: я посмотрел историю и в лоте значится 10шт, но пришло 20шт. Не могу ничем это объяснить, особенность менталитета китайцев?

to HardWreMan: нужны прошивки плисин.
Сначала я проверю схему, что ты там натворил. С некоторыми уже озвученными положениями я не согласен, но оформлю свою претензию только после детального изучения твоей схемы.

Павел Рябцов
06.09.2018, 11:41
HardWareMan Значит за Альтерами к Вам пусть стучаться!!! У меня их нет и попадать я больше с этим г.. не хочу.

https://preview.ibb.co/cRMpVK/IMG_20180906_121210_resized_20180906_121224749.jpg

HardWareMan
06.09.2018, 14:30
Павел Рябцов, ты всегда можешь прислать их мне и я попробую их стереть. Ты ничего не теряешь, а я, возможно, смогу вернуть тебе 30 рабочих чипсов.

VladimirS
06.09.2018, 14:38
- применение двух портовой SRAM в качестве основного и видео цвета ОЗУ;

CY7C1021-10ZC - это у тебя двух портовое ОЗУ??? Не смеши людей!

Павел Рябцов
06.09.2018, 15:11
Павел Рябцов, ты всегда можешь прислать их мне и я попробую их стереть. Ты ничего не теряешь, а я, возможно, смогу вернуть тебе 30 рабочих чипсов.

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

HardWareMan
06.09.2018, 16:18
CY7C1021-10ZC - это у тебя двух портовое ОЗУ??? Не смеши людей!
Человек имел в виду 2 8ми битных порта. Т.е. один чип х16. Будь снисходительным.

fifan
06.09.2018, 17:30
CY7C1021-10ZC - это у тебя двух портовое ОЗУ??? Не смеши людей!
Сори не так выразился.

fifan
06.09.2018, 20:11
По просьбе Павла заменил АП6 на аналогичные в DIP20 корпусе, так же заменил ЛЕ1 в корпусе DIP14.

Павел Рябцов
06.09.2018, 20:22
По просьбе Павла заменил АП6 на аналогичные в DIP20 корпусе, так же заменил ЛЕ1 в корпусе DIP14.

Виталий, зачем так их близко расположили? У Вас куча места на плате!! Хотя как Вам будет удобно. Но по мне яб плату сократил.

fifan
06.09.2018, 20:25
Зачем плату сокращать? Её размер 17 на 17 см. Очень трудно разводить шину данных и адреса процессора. Я в ручную платы развожу, не пользуюсь автотрассировщиком.

Павел Рябцов
06.09.2018, 21:02
Зачем плату сокращать? Её размер 17 на 17 см. Очень трудно разводить шину данных и адреса процессора. Я в ручную платы развожу, не пользуюсь автотрассировщиком.

Да я вижу что в ручную. Ну я свои пожелания высказал...тут http://zx-pk.ru/threads/29464-spetsialist-mkh2-realizatsiya-v-cpld.html?p=977868&viewfull=1#post977868

fifan
07.09.2018, 07:25
Хорошо. Все резисторы и конденсаторы (кроме блокировочных со стороны монтажа под всеми микросхемами) будут выводные. Т.к. у HardWareMan'а всё хорошо с EPM7128SLC84 (да и у меня так же), но наверное поставим эти плисины. Ждём окончания его экспериментов.

HardWareMan
07.09.2018, 11:09
Из первой ПЛИС во вторую нужно провести следующие связи: NIOP и AN, которые соответствуют цепям 4,5 DD27 и 3 DD41 схемы Специалиста МХ2 (http://www.специалист-пк.рф/schemes/SpetsialistMX_2_2.png). Но для формирования сигнала U1 в ПЛИС №1 нужно ввести логическую схему.
В чем смысл данных сигналов?

fifan
07.09.2018, 13:07
В чем смысл данных сигналов?
В первой плисине не хватило пинов для вывода сигналов и я предлагаю дешифратор устройств (DD27) перенести во вторую плисину. Для этого нужно два сигнала NIOP и AN, которые соответствуют цепям 4,5 DD27 и 3 DD41, вывести наружу из первой плисины во вторую. Но у нас остаётся сигнал /U0 в первой плисине - его нужно сформировать из логики.

HardWareMan
07.09.2018, 13:33
А я предлагаю отделить мух от котлет. В первой пусть будет видеоподсистема полностью, как контроллер основного ОЗУ. И она будет полностью автономна от второй, кроме естественных сигналов выборки ОЗУ RAM и дополнительно запись в регистр цвета U1. А вторая - это уже классический дешифратор ресурсов и реализация остальных ресурсов. Он будет так же подключен ко всей шине адреса и к шине данных. И будет вырабатывать все необходимые сигналы для периферии за бортом, в том числе и RAM/U1 для видеоподсистемы. Если дополнительно пробросить еще 2 провода между этими CPLD, то можно передавать начальный адрес экрана и получится режим Ориона, аппаратно при этом ничего менять не надо (кроме клавиатурной части, но в случае с АТМегой ее тоже можно сделать переключаемой на два стандарта). Но это просто как вариант. Да, неудобно раскидывать адреса на обе CPLD, но если они у тебя стоят рядом, я бы между ними сделал шину адреса, а JTAG разнес по углам (чуть ниже ОЗУ, что они обслуживают. Тогда дорожки на одной стороне соединяли бы общие сигнальные пины каждой CPLD просто единой шиной. Магнитофон вернуть на место, у меня много кассет, которые я еще не оцифровал. Иногда, когда формат записи нестандартный (вроде лейки на спеце) проще загрузить его на реале, чем писать анализатор. В общем, я за магнитофон.

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

Неправильно сделан узел вывода на VGA. Если ты захотел избавиться от 3х транзисторов, то на каждый из аналоговых выходов придется выделить 2 выхода CPLD. И построить простейший R-2R или взвешивающий ЦАП.

fifan
07.09.2018, 15:10
В первой пусть будет видеоподсистема полностью, как контроллер основного ОЗУ. И она будет полностью автономна от второй, кроме естественных сигналов выборки ОЗУ RAM и дополнительно запись в регистр цвета U1.
Понятно. Входные сигналы: шина данных и адреса микропроцессора, 40 МГц, выход - шина адреса и данных ОЗУ, шина данных видео ОЗУ цвета.

А вторая - это уже классический дешифратор ресурсов и реализация остальных ресурсов. Он будет так же подключен ко всей шине адреса и к шине данных. И будет вырабатывать все необходимые сигналы для периферии за бортом, в том числе и RAM/U1 для видеоподсистемы.
То же для входа: шина данных и адреса микропроцессора, выход - все сигналы управления устройствами и ОЗУ, ПЗУ, F1, F2.

Если дополнительно пробросить еще 2 провода между этими CPLD, то можно передавать начальный адрес экрана и получится режим Ориона, аппаратно при этом ничего менять не надо (кроме клавиатурной части, но в случае с АТМегой ее тоже можно сделать переключаемой на два стандарта). Но это просто как вариант.
Не совсем понятно.

Да, неудобно раскидывать адреса на обе CPLD, но если они у тебя стоят рядом, я бы между ними сделал шину адреса, а JTAG разнес по углам (чуть ниже ОЗУ, что они обслуживают. Тогда дорожки на одной стороне соединяли бы общие сигнальные пины каждой CPLD просто единой шиной.
Я предполагал, что на вторую плисину нужно будет тоже добавить адреса и данные с микропроцессора. Добавил данные, адреса буду добавлять (А5-А15).

Магнитофон вернуть на место, у меня много кассет, которые я еще не оцифровал. Иногда, когда формат записи нестандартный (вроде лейки на спеце) проще загрузить его на реале, чем писать анализатор. В общем, я за магнитофон.
Есть внимательно присмотрись на схему, расположил пока с обратной стороны платы возле разъёмов джеков, на 3D картинке кроме диодов не видно.

Неправильно сделан узел вывода на VGA. Если ты захотел избавиться от 3х транзисторов, то на каждый из аналоговых выходов придется выделить 2 выхода CPLD. И построить простейший R-2R или взвешивающий ЦАП.
Понял тебя. Реализую.

HardWareMan
07.09.2018, 15:19
Тут, короче, при SLC84 реально придется ужать по пинам аппетит. Скорее всего, буфер данных так же придется переложить в порты (от чего вместо сигнала RAM получается сигнал S/C обратного направления). Я думаю так: я сделаю проект максимально под 2х SLC84, под себя. А вы уже можете себе ставить STC100. Там пины переназначите в проекте и всего делов.

fifan
07.09.2018, 17:38
Ждёмс. А я пока и на вторую плисину адреса с процессора завёл. Буду пока продолжать заменять SMD кондёры и резисторы на выводные.

HardWareMan
08.09.2018, 09:37
Похоже что в случае с SLC84 не получится реализовать 2 автономных узла. Тупо не хватает ног. Придется делать в связке. Тогда предлагаю новый план: первая будет заниматься адресами (и, соответственно, разверткой), а вторая - данными. Главное ОЗУ в таком случае придется расположить между CPLD (адреса с одной стороны и данные с другой), будет несколько связанных сигналов между ними (в основном синхронизация арбитража) и, что более интересно, их можно будет объеденить в цепочку по интерфейсу JTAG. Да, и прошивать за раз.

fifan
08.09.2018, 11:45
Я думаю, что тебе тупа не хватает ног при 84-выводной плисине. У меня сейчас на схеме (http://www.spetsialist-mx.ru/SpetsialistMX2CPLD/SpetsialistMX2CPLD.pdf) к обоим плисинам подведены и шина данных и шина адреса процессора.
Сейчас с первой выходят: шина адреса и шина данных на основное ОЗУ и видео ОЗУ цвета (у нас одна SRAM), данные на VGA монитор (кстати нужны номиналы на резисторы цвета), сформированные инверсный и прямой сигналы сброса;
Со второй выходят: все управляющие сигналы ОЗУ, ПЗУ, внешними устройствами, а также сигналы F1, F2, сигналы SPI интерфейса и адреса страницы RAM-диска.

HardWareMan
08.09.2018, 13:55
Я думаю, что тебе тупа не хватает ног при 84-выводной плисине.
Чукча писатель, не читатель?

Похоже что в случае с SLC84 не получится реализовать 2 автономных узла. Тупо не хватает ног. Придется делать в связке.
Далее,

У меня сейчас на схеме (http://www.специалист-пк.рф/SpetsialistMX2CPLD/SpetsialistMX2CPLD.pdf) к обоим плисинам подведены и шина данных и шина адреса процессора.
Очень рад за тебя, но:

Я думаю так: я сделаю проект максимально под 2х SLC84, под себя. А вы уже можете себе ставить STC100.

andreil
08.09.2018, 18:39
Кстати, вопрос по схеме - насколько необходима буферизация сигналов Z80? Мне тут недавно писали, что с пару десятков чипов спокойно тянет по нагрузке напрямую.

HardWareMan
08.09.2018, 18:55
andreil, так как в схему можно ставить ВМ80, вопроса о необходимости буферизации не должно возникать.

andreil
08.09.2018, 19:12
HardWareMan, Точно, забыл об этом нюансе :) И ооочень не понимал, зачем в схеме с Z80 сигналы NF1 и NF2 :)

fifan
08.09.2018, 19:18
Полностью заменил все детали: резисторы и конденсаторы теперь выводные (кроме блокировочных конденсаторов под микросхемами) , все микросхемы (кроме ОЗУ и ПЛИС) теперь в DIP корпусах. Внешний 3D вид и схема в первом посту (http://zx-pk.ru/threads/29464-spetsialist-mkh2-realizatsiya-v-cpld.html).

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


И ооочень не понимал, зачем в схеме с Z80 сигналы NF1 и NF2 :)
При использовании Z80 необходимость в преобразователях питания отсутствует и вся обвязка микросхем DD5 и DA1 не используется. Хотя необходимо запаять резистор R3 на вход частоты процессора.

Павел Рябцов
08.09.2018, 20:47
Виталий, лучше стало, но вопрос по ждекам остался, что за джеки такие?

fifan
08.09.2018, 21:05
что за джеки такие?
Сам не помню. Сейчас посмотрел радиомагазины и не нашёл похожие. Наверое ещё со старых библиотек остались. Предлагайте свои. Ещё вопрос по держателю карты. Я такой же ставил на плату Галаксии, там пользователи уже не находят схожий. Тоже предлагайте свои. Я так вообще буду использовать китайский SD модуль.

Павел Рябцов
09.09.2018, 07:31
Сам не помню. Сейчас посмотрел радиомагазины и не нашёл похожие. Наверое ещё со старых библиотек остались. Предлагайте свои. Ещё вопрос по держателю карты. Я такой же ставил на плату Галаксии, там пользователи уже не находят схожий. Тоже предлагайте свои. Я так вообще буду использовать китайский SD модуль.

SD сокет без проблем китайский короткий подходит.

Гнездо типа такое.

https://техмарт.рф/d/327926/d/1.031.jpg

fifan
09.09.2018, 07:47
Прекрасно, вот ты б ещё такую же картинку на держатель SD карты привёл.

Павел Рябцов
09.09.2018, 07:56
Прекрасно, вот ты б ещё такую же картинку на держатель SD карты привёл.

Зачем? Я написал же, что он подходит, его не надо менять, если конечное такой же как в Галаксии.

fifan
09.09.2018, 08:22
Зачем? Я написал же, что он подходит, его не надо менять, если конечное такой же как в Галаксии.
Тады потом мне парочку таких продашь, я не нашёл таких где купить.

Т.к. к XS5 паяются проводки к китайскому модулю SD карты (https://ru.aliexpress.com/item/1-SD/32881492419.html?spm=a2g0v.search0204.3.15.713a1aa 3YcmHXs&s=p&ws_ab_test=searchweb0_0,searchweb201602_1_10065_10 068_5015511_10059_316_10696_100031_5016211_10084_1 0083_5015611_10103_451_10618_452_10307_5016311_572 3511_10301,searchweb201603_54,ppcSwitch_7_ppcChann el&priceBeautifyAB=0) я его перемещаю на поле для держателя SD карты чтоб освободить место под резисторы. Я так думаю два одновременно разъёма (XS4 и XS5) не будут использоваться пользователем.

Павел Рябцов
09.09.2018, 08:29
Тады потом мне парочку таких продашь, я не нашёл таких где купить.

Т.к. к XS5 паяются проводки к китайскому модулю SD карты (https://ru.aliexpress.com/item/1-SD/32881492419.html?spm=a2g0v.search0204.3.15.713a1aa 3YcmHXs&s=p&ws_ab_test=searchweb0_0,searchweb201602_1_10065_10 068_5015511_10059_316_10696_100031_5016211_10084_1 0083_5015611_10103_451_10618_452_10307_5016311_572 3511_10301,searchweb201603_54,ppcSwitch_7_ppcChann el&priceBeautifyAB=0) я его перемещаю на поле для держателя SD карты чтоб освободить место под резисторы. Я так думаю два одновременно разъёма (XS4 и XS5) не будут использоваться пользователем.

https://ru.aliexpress.com/item/10pcs-not-pop-up-memory-card-socket-MMC-SD-card-slot-card-seats-good-quality-and/32701171602.html?spm=a2g0v.search0104.3.28.1c4d766 6T4ufID&ws_ab_test=searchweb0_0,searchweb201602_1_10065_10 068_5015511_10059_316_10696_100031_5016211_10084_1 0083_5015611_10103_451_10618_452_10307_5016311_572 3511_10301,searchweb201603_56,ppcSwitch_5&algo_expid=17a1d513-43c1-4cad-9199-5ff56f287bc3-4&algo_pvid=17a1d513-43c1-4cad-9199-5ff56f287bc3&priceBeautifyAB=0

fifan
09.09.2018, 15:30
Хотелки Павла сделал, кто ещё что посоветует?

fifan
12.09.2018, 09:32
Ну что, HardWareMan, есть результаты?

HardWareMan
16.09.2018, 19:25
Короче, у меня тут аврал и времени на это не хватает. Делайте как знаете. Ставь 100 ног, заводи все адреса полностью. Между ними сделай несколько связей - так точно не промахнешься.

fifan
16.09.2018, 19:55
Короче, у меня тут аврал и времени на это не хватает. Делайте как знаете. Ставь 100 ног, заводи все адреса полностью. Между ними сделай несколько связей - так точно не промахнешься.
Я так и сделал, ждёмс только тебя.

fifan
04.10.2018, 19:46
Мы дождёмся?

HardWareMan
05.10.2018, 09:52
Делайте как знаете.
Это относится не только к плате но и к коду в CPLD. Мне больше этот проект не интересен.

fifan
05.10.2018, 20:20
Мне тоже не интересен, закрываю тему.

fifan
06.10.2018, 15:39
А не всё таки столько сил потрачено, нужно уж допинать до конца. Есть у меня сырки по VGA видеоадптеру совместим с селектором адресов МХ2. Одобряете?

Павел Рябцов
06.10.2018, 15:52
Да ладно? Вы как дети право, хотел вчера написать, да тема закрыта была. Давайте все по своим домам разбредемся и закроем на фиг форум. Мужики хватит ерундой заниматься. Игорь, давайте доделаем, найдите время, Виталий, надо спокойней ко всему относиться.

fifan
06.10.2018, 17:24
По полочкам:
- сырцы для VGA видеоадаптера позаимствую у Ewgeny7, когда-то опробованные на Специалисте на девборде U10 Reverse;
- селектор адресов от Специалиста МХ2 нужно будет писать с самого начала;
- добавлять пины (определение в Квартусе) буду по мере надобности.

Сейчас начал писать проект первой плисины. В ней будут: видеоадаптер, формирователь сигнала сброса (удинение импульса от клавиатуры). Будете смеяться, но если просмотрев исходники от U10 (http://www.spetsialist-mx.ru/index34.html), можно обнаружить, что в качестве входной частоты используется 16 МГц (у нас на плате стоит кварцевый генератор). Да, VGA видеоадаптер будет на этой частоте работать.

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

Пока такие результаты компиляции:

Flow Status Successful - Sat Oct 06 19:16:49 2018
Quartus II 64-Bit Version 13.0.1 Build 232 06/12/2013 SP 1 SJ Web Edition
Revision Name spetsialist_mx2_cpld_1
Top-level Entity Name spets_mx2_1
Family MAX7000S
Device EPM7128STC100-15
Timing Models Final
Total macrocells 70 / 128 ( 55 % )
Total pins 79 / 84 ( 94 % )
Много предупреждений (72), ошибок нет.
Текст исходника приведу позже.

HardWareMan
06.10.2018, 20:22
Синхрогенератор проще, чем вы думаете.

// MX2 Address Chipset
module MX2_CPLD_VID(
// Системные входы
input Clk, // Тактирование
input nRES, // Кнопка сброса
input Fast, // Сигнал скорости 2,5МГц
// Интерфейс процессора
output reg nF1, // Инверсная фаза F1 для ВМ80
output reg nF2, // Инверсная фаза F2 для ВМ80, тактовая для Z80
input [15:0]A, // Входной адрес от процессора
output reg RST, // Выход положительного синхронного уровня сброса
// Интерфейс памяти
output [15:0]MA, // Адрес на ОЗУ
input [7:0]MD, // Данные ОЗУ графика
input [7:0]CD, // Данные ОЗУ цвет
// Интерфейс арбитра
output SnC, // Арбитраж обращения
input MX, // Выбор режима MX
// Видеовыход
output reg [1:0]R, // Пиксели красный
output reg [1:0]G, // Пиксели зеленый
output reg [1:0]B, // Пиксели синий
output reg HSync, // Горизонтальная синхронизация
output reg VSync // Вертикальная синхронизация
);

// Синхрогенератор
reg [6:0]Arb; // Арбитер цикла ОЗУ
reg FSL; // Синхронизация входного сигнала
wire [1:0]Red; // Текущий цвет пикселя красного
wire [1:0]Green; // Текущий цвет пикселя зеленого
wire [1:0]Blue; // Текущий цвет пикселя синего
reg [7:0]Shift; // Сдвиговый регистр
reg [7:0]Atrib; // Регистр атрибутов
reg MXR; // Синхронизация входа цветового режима
reg [6:0]X; // Горизонтальный счетчик
reg HBlank; // Горизонтальное гашение
reg [9:0]Y; // Вертикальный счетчик

// Ассинхронная логика
assign SnC = Arb[3] & Arb[2];
assign MA[15:0] = (Arb[3] & Arb[2]) ? {2'h2,X[5:0],Y[8:1]} : A[15:0];
// Биты цвета
assign Red[0] = ~HBlank & ~Y[9] & ((Shift[7] & Atrib[6]) | (~Shift[7] & Atrib[2]));
assign Green[0] = ~HBlank & ~Y[9] & ((Shift[7] & Atrib[5]) | (~Shift[7] & Atrib[1]));
assign Blue[0] = ~HBlank & ~Y[9] & ((Shift[7] & Atrib[4]) | (~Shift[7] & Atrib[0]));
// Биты яркости
assign Red[1] = ~HBlank & ~Y[9] & ((~MXR & (Shift[7] & Atrib[6])) | (MXR & ((Shift[7] & Atrib[7]) | (~Shift[7] & Atrib[3]))));
assign Green[1] = ~HBlank & ~Y[9] & ((~MXR & (Shift[7] & Atrib[5])) | (MXR & ((Shift[7] & Atrib[7]) | (~Shift[7] & Atrib[3]))));
assign Blue[1] = ~HBlank & ~Y[9] & ((~MXR & (Shift[7] & Atrib[4])) | (MXR & ((Shift[7] & Atrib[7]) | (~Shift[7] & Atrib[3]))));

// Синхронная логика
always @(posedge Clk) begin
// Счетчик цикла
if (Arb[6] & ~Arb[5] & ~Arb[4] & Arb[3] & Arb[2] & Arb[1] & Arb[0]) Arb[6:0] <= 7'h00; else Arb[6:0] <= Arb[6:0] + 7'h01;
// Синхронизация замедлителя
if (Arb[6] & ~Arb[5] & ~Arb[4] & Arb[3] & Arb[2] & Arb[1] & Arb[0]) FSL <= ~Fast;
// Арбитраж работает на скорости пиксельклока
if (Arb[0]) begin
// Выходные пиксели
R[1:0] <= Red[1:0]; G[1:0] <= Green[1:0]; B[1:0] <= Blue[1:0];
// Режим MX
MXR <= MX;
// Сигналы процессора
if (Arb[1]) nF1 <= (FSL & Arb[6]) | ~(~Arb[3] & Arb[2]);
if (Arb[1]) nF2 <= ~(FSL & Arb[6]) & ~Arb[3];
// Сигналы сдвигового регистра и регистра атрибутов
if (Arb[3] & Arb[2] & Arb[1]) begin
// Загружаем оба
{Atrib[7:0],Shift[7:0]} <= {CD[7:0],MD[7:0]};
// Горизонтальное гашение
if (~X[6] & X[4] & ~X[3] & ~X[2] & ~X[1] & ~X[0]) HBlank <= 1'b0;
else if (X[6]) HBlank <= 1'b1;
end else Shift[7:0] <= {Shift[6:0],1'b0};
// Горизонтальный счетчик
if (~Arb[3] & Arb[2] & Arb[1]) begin
// Считаем горизонтальную координату
if (X[6] & X[0]) begin
// Обнуляем горизонтальный счетчик
X[6:0] <= 7'h00;
// Вертикальный счетчик
if (Y[9] & Y[6] & Y[5] & Y[4] & Y[2]) begin
// Обнуляем счетчик
Y[9:0] <= 10'h000;
// Синхронизируем сброс
RST <= ~nRES;
end else Y[9:0] <= Y[9:0] + 10'h001;
// Вертикальная синхра
VSync <= ~(Y[9] & ~Y[6] & Y[5] & ~Y[4] & Y[3] & Y[2]);
end else X[6:0] <= X[6:0] + 7'h01;
// Горизонтальная синхра
if (X[3] & X[0]) HSync <= 1'b1;
else if (HBlank & ~X[6] & ~X[3] & X[0]) HSync <= 1'b0;
end
end
end

// Конец
endmodule

http://jpegshare.net/images/f7/0e/f70ec022bd536041d2dcae53f2d82ca5.png
Варнинг:

Warning: Timing Analysis does not support the analysis of latches as synchronous elements for the currently selected device family
И симуляция:
http://jpegshare.net/images/23/2a/232ae673c6a9df56d657bd793441b2c1.png
Сигнал MX задает логику атрибутов MX/STD, при этом в режиме STD яркость каждого канала максимальна (чего нет у микросхемного MX2). В общем, ковыряйтесь.

fifan
06.10.2018, 21:05
Ну вот, HardWareMan, могём! Большое спасибо за код. Я его, если ты не против, вставлю в виде модуля без изменений. Частота Clk = 40 МГц? Хотя я писал, что у меня синхрогенератор и на 16 МГц работает, но с моим кодом. Твой код изяшнее, и самое главное уже причёсан и проверен. Ещё раз спасибо.

Во второй плисине поменьше на много предупреждений, но я там ещё не вставил диспетчер верхних адресов RAM-диска и эмулятор порта программатора. Я уже писал, что ради одного применяемого сигнала KA0 (R5) (http://www.специалист-пк.рф/schemes/SpetsialistMX1.png) я решил не ставить реальную ВВ55, а эмулировать её.

fifan
07.10.2018, 08:30
Случился затык. Не могу понять как организовать передачу данных с шины данных процессора на шину данных ОЗУ (md) и обратно.

С шиной цвета (cd) так всё понятно. В режиме МХ просто по росту сигнала u1 защёлкиваем данные с шины данных процессора, в Std - сигналы о цвете со старшей тетрады порта С порта клавиатуры.

fifan
07.10.2018, 12:04
Не могу понять как организовать передачу данных с шины данных процессора на шину данных ОЗУ (md) и обратно.
Сделал так, не знаю верно или нет:

--------------------------------- Запись / чтение данных в / из ОЗУ -----------------------------------
process(clock, wr, d, md_buf)
begin
if (clock'event and clock = '0') then
if wr = '0' then
md_buf <= d; -- запись данных в ОЗУ
md <= md_buf;
else
md_buf <= md; -- чтение данных из ОЗУ
d <= md_buf;
end if;
end if;
end process;

--------------------------------------- Ввод информации о цвете ---------------------------------------
process(clock, wr, u1, mode, d, ncr, ncg, ncb)
begin
if (clock'event and clock = '0') then
if wr = '0' then
if mode = '1' then
if u1 = '1' then
cd_buf <= d; -- ввод данных в режиме MX
else
cd_buf <= "00000000";
end if;
else
cd_buf <= "00000" & ncb & ncr & ncg; -- ввод данных в режиме Std
end if;
end if;
end if;
end process;

fifan
07.10.2018, 20:51
Обновил схему, печатную плату (http://www.специалист-пк.рф/SpetsialistMX2CPLD/SpetsialistMX2CPLD.pdf). Выложил исходники ПЛИС №1 (http://www.специалист-пк.рф/SpetsialistMX2CPLD/spetsialist_mx2_cpld_1.rar) и ПЛИС №2 (http://www.специалист-пк.рф/SpetsialistMX2CPLD/spetsialist_mx2_cpld_2.rar).

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

HardWareMan, вопрос возник. Может на вход преобразователя +12V -> -5V (8, 9 DD5) подать другую частоту? Сейчас там 2 МГц, а вот на схеме Экспресса подавали намного меньше.

HardWareMan
07.10.2018, 23:12
Раз теперь экономить выводы не надо, можешь вывести отдельный выход и запитать на любую понравившуюся частоту. В микросхемном варианте МХ2 оно запитано от 2,5МГц и работает отлично.

fifan
08.10.2018, 07:33
Во второй плисине свободных 32 пина. Стоит ли поставить там схему управления внешним Flash диском объёмом до 2 МБайт? Поставить джампер выбора работы с Flash диском или SPI интерфейсом SD карты (оба интерфейса одновременно не работают).

fifan
08.10.2018, 09:42
Во второй плисине свободных 32 пина. Стоит ли поставить там схему управления внешним Flash диском объёмом до 2 МБайт? Поставить джампер выбора работы с Flash диском или SPI интерфейсом SD карты (оба интерфейса одновременно не работают).
Не получилось - тупо не хватает ячеек в плисине.

fifan
08.10.2018, 16:28
Вроде всё готово. Обновил исходники проектов плисины, схему и печатку (http://zx-pk.ru/threads/29464-spetsialist-mkh2-realizatsiya-v-cpld.html?p=981449&viewfull=1#post981449).

Для чёткого следования схемы сделал на ланчах эмуляцию АП6 и ИР33, ввёл из второй плисины сигнал /RAM:

--------------------------------- Запись / чтение данных в / из ОЗУ -----------------------------------
process(clock, wr, ram_n, d, md_buf)
begin
if (clock'event and clock = '0') then
if ram_n = '0' then
if wr = '0' then
md_buf <= d; -- запись данных в ОЗУ
md <= md_buf;
else
md_buf <= md; -- чтение данных из ОЗУ
d <= md_buf;
end if;
else
md <= "ZZZZZZZZ";
d <= "ZZZZZZZZ";
end if;
end if;
end process;

--------------------------------------- Ввод информации о цвете ---------------------------------------
process(clock, wr, u1, mode, md_buf, cd, ncr, ncg, ncb)
begin
if (clock'event and clock = '0') then
if wr = '0' then
if mode = '1' then
if u1 = '1' then
cd <= md_buf; -- ввод данных в режиме MX
end if;
else
cd <= "00000" & ncb & ncr & ncg; -- ввод данных в режиме Std
end if;
else
cd_buf <= cd;
end if;
end if;
end process;

Далее информация о микселах (MDn) и цвете (CDn) подаётся на модуль MX2 Address Chipset от HardWareMan'а.

HardWareMan
08.10.2018, 18:23
Ничего там выдумывать не надо. Нужно просто синхронизироваться к сигналу SnC (для этого он и выведен) и организовывать обращение к ОЗУ строго при SnC = 0 (блокировать MemWR и активировать MemRD при SnC = 1 для чтения видеоданных).

fifan
08.10.2018, 19:21
Ничего там выдумывать не надо. Нужно просто синхронизироваться к сигналу SnC (для этого он и выведен) и организовывать обращение к ОЗУ строго при SnC = 0 (блокировать MemWR и активировать MemRD при SnC = 1 для чтения видеоданных).

Т.е. NWR=0 и SnC=0 - запись в ОЗУ; NRD=0 и SnC=1 - чтение из ОЗУ?

HardWareMan
09.10.2018, 04:16
Т.е. SnC=1 => Принудительное чтение ОЗУ (NWR=1, NRD=0, развязка по шине данных от процессора), SnC=0 => Обращение процессора к ОЗУ (NWR и NRD согласно типу обращения).

fifan
09.10.2018, 13:51
Т.е. SnC=1 => Принудительное чтение ОЗУ (NWR=1, NRD=0, развязка по шине данных от процессора), SnC=0 => Обращение процессора к ОЗУ (NWR и NRD согласно типу обращения).
Попробуем в прошивке и эту комбинацию сигналов. На всякий случай я на первую плисину завёл и /RAM и /RD.

Если всех устраивает расположение деталей на печатке (http://www.специалист-пк.рф//SpetsialistMX2CPLD/SpetsialistMX2CPLD.pdf) и правильность межмикросхемных связей, то пора подумать и о производстве печатных плат.

fifan
14.10.2018, 15:29
Видимо Павел занят другими проектами, у него их так много. Плотнее компьютером займусь в новом году. Нужно найти китайского производителя, который бы сделал хотя бы десяток печатных плат по-дешевле. Была бы плата размерами 10 на 10 см - у них это льготный размер.

Павел Рябцов
14.10.2018, 15:35
Видимо Павел занят другими проектами, у него их так много. Плотнее компьютером займусь в новом году. Нужно найти китайского производителя, который бы сделал хотя бы десяток печатных плат по-дешевле. Была бы плата размерами 10 на 10 см - у них это льготный размер.
А что от меня то требуется? Ничего нет, говорите, в ноябре платы будут тут, если есть что делать)

fifan
14.10.2018, 15:39
А что от меня то требуется?
Павел, ты здесь? Наверное необходимо заказать десяток плат, вернее то количество, на сколько будет желающих. Нужно создать тему в барахолке.

По деталям. Как реально и за какую цену можно будет приобрести хотя бы основные - ПЛИС и ОЗУ?

Павел Рябцов
14.10.2018, 15:42
Павел, ты здесь? Наверное необходимо заказать десяток плат, вернее то количество, на сколько будет желающих. Нужно создать тему в барахолке.

По деталям. Как реально и за какую цену можно будет приобрести хотя бы основные - ПЛИС и ОЗУ?

Виталий, у Вас же есть моё мыло, напишите, скиньте файлы, завтра закажу, а так же ВОМ. Проблем то в этом. В брахолке тема есть, закажу 10 плат.

fifan
14.10.2018, 17:40
скиньте файлы
Скину гербер файлы.

а так же ВОМ
Не нравится мне этот BOM, лучше я сам составлю список.

P.S. Кстати, вот (http://www.специалист-пк.рф/SpetsialistMX2CPLD/SpetsialistMX2CPLD.pdf) окончательная схема и вид печатной платы.

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

В барахолке тема создана (http://zx-pk.com/forum/viewtopic.php?f=40&t=10950&p=107258&hilit=%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D0%B0%D0%BB%D 0%B8%D1%81%D1%82#p107258), но закрыта - пора открыть. И необходимо к заглавию Специалист МХ2 добавить буквы CPLD.

Павел Рябцов
14.10.2018, 17:52
Скину гербер файлы.

Не нравится мне этот BOM, лучше я сам составлю список.

P.S. Кстати, вот (http://www.spetsialist-mx.ru/SpetsialistMX2CPLD/SpetsialistMX2CPLD.pdf) окончательная схема и вид печатной платы.

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

В барахолке тема создана (http://zx-pk.com/forum/viewtopic.php?f=40&t=10950&p=107258&hilit=%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D0%B0%D0%BB%D 0%B8%D1%81%D1%82#p107258), но закрыта - пора открыть. И необходимо к заглавию Специалист МХ2 добавить буквы CPLD.

Завтра плата в синьке уйдёт в производство. Откроем тему когда платы будут.

fifan
15.10.2018, 20:10
А пока хотел бы разложить по полкам схему питания компьютера:
1. Питание только от +5 вольт. Необходимо собирать преобразователь +5В -> +12В на DA1 (MC34063AP) с обвязкой.
2. Питание через разъём Molex +5 и +12 вольт. Преобразователь +5В -> +12В на DA1 с обвязкой не нужен.
Пункты 1 и 2 нужны для пользователей, кто будет юзать процессор К580ВМ80, которому как известно нужны три источника питания: +5, +12 и -5 вольт. Для получения питания -5 вольт необходим преобразователь на DD5 (К155ЛА8).
3. Питание только от +5 вольт необходимо для пользователей, кто будет юзать процессор Z80. Соответственно два перечисленных выше преобразователя питания не нужны.

fifan
16.10.2018, 19:04
Начинаю писать список используемых деталей.

Преобразователь +5В -> +12В. Схема заимствована с сайта (http://www.trolsoft.ru/ru/sch/rk86-power). Детали:
1. Дроссель L1 - 100 мкГн 1А;
2. Диод VD4 - 1N5817 или 1N5819;
3. Микросхема DA1 - MC34063AP;
4. Резисторы: R9 - 180;
R10 - 13К;
R11 - 1,5 К;
R12 - 0,33;
5. Конденсаторы: C4 - 470;
С5 - 0,1 МК;
С6 - 470 МК Х 25В.

Микросхемы:
1. EPM7128STC100 - ПЛИС, 2 шт.;
2. К580ВМ80+К155ЛА8 или Z80 - микропроцессор, 1 шт.;
3. CY7C1021-10ZC или AS7C1026-12TC - основное ОЗУ, 64 kByte X 16 bit SRAM 5v, 1 шт.;
4. AS6C4008-55SIN - RAM-диск, 512 kByte X 8 bit SRAM 5v, 1 шт.;
5. К555АП6 - буферы, 3 шт.;
6. К580ВВ55 - порт ввода/вывода, 1 шт.;
7. ATmega8-16PC - микроконтроллер, 1 шт.;
8. К555ЛЕ1 - логика 4 Х 2 ИЛИ/НЕ, 1 шт.;
9. 78L33 - линейный стабилизатор, 3,3 В, 1 шт.;
10. LM311P - компаратор, считыватель с магнитофона, 1 шт.

Примечание: пункт 2. Связка К580ВМ80+К155ЛА8 обязательна, применение К155ЛА8 - единственное решение.
пункт 9. 78L33 не используется при применении модуля SD карты (https://ru.aliexpress.com/premium/SD-card-module.html?spm=a2g0v.search0204.0.0.3c761aa3ZTeVK p&site=rus&groupsort=1&SortType=price_asc&SearchText=SD+card+module&g=y&tc=ppc&initiative_id=SB_20181016081333&filterCat=202001107,202000062,202001115), R24..R29, C7, C8 так же в этом случае не нужны.
пункт 10. Компаратор LM311P с обвязкой (R32...R35, C30, VD5, VD6) ставится только при считывании с магнитофона, опционно.

fifan
17.10.2018, 15:04
Продолжаю писать список деталей к компьютеру.

Все резисторы типа МЛТ-0,125/0,25 или аналогичные зарубежные, кроме R1 и R2:
R1, R2 - МЛТ-0,5 (0,5 Вт) 390 - 2 шт.; - ставятся в преобразователь +5В -> -5В (К580ВМ80);
R3 - 470 - 1 шт.; - ставится только для Z80;
R4 - 390 - 1 шт.; - ставится в преобразователь +5В -> -5В (К580ВМ80);
R5 - 5100 - 1 шт.; - ставится только для К580ВМ80;
R6 - 10 кОм - 1 шт.;
R7, R8 - резисторные сборки на 9 резисторов 4,7 кОм и более - 2 шт.;
R9 - 180 - 1 шт.; - ставится в преобразователь +5В -> +12В (К580ВМ80);
R10 - 13 кОм - 1 шт.; - ставится в преобразователь +5В -> +12В (К580ВМ80);
R11 - 1,5 кОм - 1 шт.; - ставится в преобразователь +5В -> +12В (К580ВМ80);
R12 - 0,33 (Ом) - 1 шт.; - ставится в преобразователь +5В -> +12В (К580ВМ80);
R13, R15, R17 - 5500 - 3 шт.;
R14, R16, R18 - 2,2 кОм - 3 шт.;
R19, R20 - 470 - 2 шт.; - номинал уточню позже;
R21, R22 - 4,7 кОм - 2 шт.;
R23 - 1 кОм - 1 шт.;
R24, R25, R26 - 1,7 кОм - 3 шт.; - не ставятся при применении модуля SD карты;
R27, R28, R29 - 3,3 кОм - 3 шт.; - не ставятся при применении модуля SD карты;
R30, R31 - 1 кОм - 2 шт.;
R32, R33, R34 - 30 кОм - 3 шт.; - ставятся при использовании компаратора считывателя с магнитофона;
R35 - 510 - 1 шт.; - ставится при использовании компаратора считывателя с магнитофона;
R36 - 5,6 кОм - 1 шт.; - ставится при выводе информации на магнитофон;
R37 - 270 - 1 шт.; - ставится при выводе информации на магнитофон.

Конденсаторы типа КМ (кроме блокировочных), электролиты - любые:
С1 - 2,2 МК Х 25 В - 1 шт.; - ставится в преобразователь +5В -> -5В (К580ВМ80);;
С2 - 1 МК - 1 шт.; - ставится в преобразователь +5В -> -5В (К580ВМ80);
С3 - 10 МК Х 10 В - 1 шт.;
С4 - 470 - 1 шт.; - ставится в преобразователь +5В -> +12В (К580ВМ80);
С5 - 0,1 МК - 1 шт.; - ставится в преобразователь +5В -> +12В (К580ВМ80);
С6 - 470 МК Х 25 В - 1 шт.; - ставится в преобразователь +5В -> +12В (К580ВМ80);
С7 - 100 МК Х 10 В - 1 шт.; - не ставится при применении модуля SD карты;
С8 - 47 МК Х 10 В - 1 шт.; - не ставится при применении модуля SD карты;
С9...С29 - 0,1 МК - 21 шт.; - блокировочные конденсаторы в исполнении SMD, тип размер 0802;
С30 - 300 МК Х 10 В - 1 шт.

Диоды и стабилитрон:
VD1, VD2 - КД521 или КД522 или 1N4148 - 2 шт.; - ставятся в преобразователь +5В -> -5В (К580ВМ80);
VD3 - КС147 или импортный стабилитрон на 4,7 В - 1 шт.; - ставится в преобразователь +5В -> -5В (К580ВМ80);
VD4 - 1N5817 или 1N5819 - 1 шт.;
VD5, VD6 - КД521 или КД522 или 1N4148 - 2 шт.; - ставятся при использовании компаратора считывателя с магнитофона.

HL1 и HL2 - 2 шт., светодиоды любые, желательно разного цвета.

ZQ1 -кварцевый генератор на 40 МГц, 1 шт.; - корпус DIL8 или DIL14.

fifan
18.10.2018, 19:31
И последнее. Тип и назначение разъёмов:
1. XP1, XP2 - BH-10 или DS1013-10S или IDC-10MS, 2 шт., разъёмы для подключения Byte/USB Blaster'а;
2. XP3 - THP-4MR или 5081R (https://www.chipdip.ru/product/5081r), 1 шт., для подключения питания +5 и +12 вольт;
3. XP4 - штырьки в 2 ряда по 5 контактов, PLD-10 или DS1021-2x5, 1 шт., для подключения: переключателя Норма/Турбо, пищалки, светодиодов;
4. XS1 - PJ-002A, 1 шт., подача питания +5 вольт на плату;
5. XS2 - DHR-15FB или DS1038-15F, 1 шт., разъём для подключения VGA монитора;
6. XS3 - Mini DIN (6 pin) (DS1093-01-6), 1 шт., разъём для подключения PS/2 клавиатуры;
7. XS4 - держатель SD карты, 1 шт.;
8. XS5 - произвольного типа разъём/гнездо для подключения модуля SD/microSD карты, 1 шт., - в этом случае XS4 не ставится;
9. XS6 - PJ-306A, 1 шт., разъём для подключения магнитофона через Jack;
10. XS7 - PJ-306A, 1 шт., разъём для подключения звука через Jack.

Вывод звука возможен через: штырьки XP4, разъём XS7 или пищалку BQ1.

fifan
20.10.2018, 19:44
Пока не стали собирать компьютер необходимо выяснить какие номиналы резисторов нужно применить в качестве R12...R20 VGA разъёма.

andreil
22.10.2018, 09:17
Пока не стали собирать компьютер необходимо выяснить какие номиналы резисторов нужно применить в качестве R12...R20 VGA разъёма.
У меня в Протеусе была готовая симуляция такой схемы. Получил номиналы 550R и 2к2 - с ними при нагрузке 75Ом получается выход 0.6В и 0.73В, что примерно соответствует требуемым градациям яркости. Питающие "пины" - 5В.

fifan
22.10.2018, 16:32
За схему с симуляцией спасибо. На синхронизацию какие резисторы ставить?

HardWareMan
22.10.2018, 20:46
andreil, ага, ага. Кнопка это прерыватель. Выход CPLD - это PUSH-PULL выход. Не, конечно же можно настроить его как Open Source (в противовес Open Drain), но кому это интересно, да?

andreil
23.10.2018, 08:19
andreil, ага, ага. Кнопка это прерыватель. Выход CPLD - это PUSH-PULL выход. Не, конечно же можно настроить его как Open Source (в противовес Open Drain), но кому это интересно, да?
Ну, на Орионе подобная схематика работает нормально, но там у меня выход на ATF22V10.

balu_dark
24.10.2018, 00:39
А ориентировочная цена есть на плату ? есть интерес к одной плате.

fifan
03.12.2018, 10:00
Павел Рябцов куда делся? Он платы заказал или нет?

Павел Рябцов
03.12.2018, 10:03
Павел Рябцов куда делся? Он платы заказал или нет?

Да ктож его знает куда он делся))) В пути они вроде, задержка вышла опять, к НГ вероятей всего приедут.

Shewan
14.12.2018, 11:09
Да ктож его знает куда он делся))) В пути они вроде, задержка вышла опять, к НГ вероятей всего приедут.

В связи с известными событиями там напишу здесь: хотелось бы заполучить одну в свои загребущие лапки :)

Павел Рябцов
14.12.2018, 11:25
В связи с известными событиями там напишу здесь: хотелось бы заполучить одну в свои загребущие лапки :)

Сергей))) Думаю после 25 числа, но не уверен, я отпишусь тут.

Shewan
14.12.2018, 11:45
Спасибо, жду информацию

Павел Рябцов
25.12.2018, 16:01
Shewan, fifan Приехали платы, до деталей пока не добрался, так как разобрать 37кг плат нужен думаю не один день((. Сергей, пишите не здесь, там все новинки выложу завтра.

fifan
25.12.2018, 18:23
Хорошо. Ждёмс. До Нового года то сможешь разобраться с платами?

Shewan
31.12.2018, 19:12
О. Платы это хорошо

fifan
31.12.2018, 19:35
Ждём после праздников.

fifan
07.02.2019, 01:52
Платы готовы. Мне одну Павел выслал, жду. Готовлю пока детали. Плисины обещал Павел подогнать. Другими труднодоставаемыми микросхемами я бы указал ОЗУ. Основное/цвета DS1 - его нужно ставить в первую очередь - для первого запуска также нужен процессор, ПЗУ с тестом и обе защиты плисины. Т. к. Процессор подключается шинами данных и адреса, то наличие трёх АП6 также необходимо.

fifan
08.02.2019, 11:25
Плата пришла, плисины и ОЗУ. Спасибо Павлу за плату и детали.

Входное питание будет только +5 вольт. Буду собирать на плате преобразователь питания +5 вольт > +12 вольт, сначала поставлю К580ВМ80, само собой для неё поставлю К155ЛА8 с обвязкой и преобразователем питания +12 вольт > -5 вольт. Уже забыл, что все блокировочные конденсаторы SMD и установлены со стороны проводников, подготовил сначала выводные. Все не SMD микросхемы будут вставлены в панельки, связь с магнитофоном не буду распаивать. Завтра выложу фото печатки, сначала хочу отсканировать печатку на сканере в большом разрешении.

fifan
16.02.2019, 18:46
Вот отсканировал верх и низ печатной платы компьютера.

https://i.ibb.co/mvnFy04/Sp-MX2-top.png (https://ibb.co/YD5TdXh)
Специалист МХ2 CPLD верх (https://aluminumsulfate.net/aluminum-hydroxide)

https://i.ibb.co/HDrnGVY/Sp-MX2-bottom.png (https://ibb.co/27jgcyP)
Специалист МХ2 CPLD низ (https://freeonlinedice.com/)

HardWareMan
16.02.2019, 19:16
fifan, ну слушай, растёшь! Видно, что появляется опыт по трассировке печатных плат. Конкретно в этой есть еще недочёты (в основном - питающие дороги), но в целом уже неплохо.

fifan
16.02.2019, 20:34
Рад стараться. Кстати тебе, если Павел не против полагается как автору бесплатная плата (я за микросхемы и кнопки ему заплатил).

Павла можно найти в контакте (https://vk.com/id18110958). Cдавайте деньги на плату Павлу, кто заказывал. Я не знаю сколько он их заказал. Сюда на форум он не ходок.

HardWareMan
17.02.2019, 07:44
Нет, действительно, МХ2 а дискретах разведен ужасно, но главное было что он разведен. У меня бы времени не было на это. Что касается экземпляра - сообщи ему сам, я в тентактли не вхож.

balu_dark
18.02.2019, 12:39
Решены ли проблемы с цветом в режиме МХ ?

fifan
18.02.2019, 12:46
Решены ли проблемы с цветом в режиме МХ ?

А они были? Может речь шла об Специалисте SRAM в режиме МХ? На Специалисте МХ2 всегда с цветом было всё в порядке.

balu_dark
18.02.2019, 12:50
:) Сорри - с лёту не разобрался :)
Помню что их обсуждали в контексте режима МХ.
Еще раз извиняюсь если ввел общественность в ступор.

Павел Рябцов
18.02.2019, 12:53
Рад стараться. Кстати тебе, если Павел не против полагается как автору бесплатная плата (я за микросхемы и кнопки ему заплатил).

Павла можно найти в контакте (https://vk.com/id18110958). Cдавайте деньги на плату Павлу, кто заказывал. Я не знаю сколько он их заказал. Сюда на форум он не ходок.

Почему это я не ходок, я продавать тут на форуме не буду больше ничего, а так я всё вижу)) Платы не кто не заказывал и не кто не платил за них. Осталось на сегодня 4 платы, так как по ошибке заказал всего 5 штук(. Разработчикам вышлю бесплатно, как и обещал.

fifan
18.02.2019, 14:42
+1 HardWareMan'у. Хорошо что Павел у дел.

Shewan
18.02.2019, 16:03
Одну заполучить можно?

fifan
13.03.2019, 15:33
Сегодня мне по просьбе запаяли четыре "таракана" (ПЛИС и срамины). Начинаю паять плату.

fifan
15.03.2019, 16:35
Отчёт о сделанном.
- Прошил обе плисины (правда вторую нужно перепрошивать - нашёл помарку в проекте);
- Припаял под ВМ80, ВИ53, ПЗУ, ЛА8, ЛЕ1, ВВ55, Atmega8, АП6 панельки;
- Завёл готовые напряжения (+5, -5 и +12 вольт) отдельно для проверки. Потом распаяю преобразователи прямо на плате;
- Запаял штырьки XP4 и под них светодиоды, переключатель норма/турбо и пищалка. Резисторы под светодиоды не запаял - потом подберу номинал.

fifan
17.03.2019, 16:42
Очередной отчёт.
- Подключил VGA монитор, изображения нет;
- Греются процессор (ВМ80) и обе плисины. Должны ли плисины греться не знаю, никогда не обращал внимания;
- Нашёл в блоке MX2_CPLD_VID.v от HardWareMan'а (https://zx-pk.ru/threads/29464-spetsialist-mkh2-realizatsiya-v-cpld.html?p=981337&viewfull=1#post981337) ошибку или так задумано автором? Ошибку закоментировал:


// assign MA[15:0] = (Arb[3] & Arb[2]) ? {2'h2,X[5:0],Y[8:1]} : A[15:0]; Y[8:1] - может не верно?
assign MA[15:0] = (Arb[3] & Arb[2]) ? {2'h2,X[5:0],Y[7:0]} : A[15:0];


P.S. может я всё-таки не верно выбрал номиналы резисторов на VGA монитор: 470 Ом и 1 кОм, обсуждаемые здесь (https://zx-pk.ru/threads/29464-spetsialist-mkh2-realizatsiya-v-cpld.html?p=983155&viewfull=1#post983155). Хотя я проверил, что там на цветах почти ничего нет. Надо подключать осциллограф.

HardWareMan
17.03.2019, 17:47
Нет там ошибки. Ты забыл про аппаратное удвоение изображения. Не пытайся исправить то, что и так работает.

fifan
17.03.2019, 18:57
Хорошо, верну обратно. Но всё же чёрный экран, наверное нужны номиналы сопротивлений на VGA нужны другие.

balu_dark
17.03.2019, 20:30
Ну по идее плисины должны быть весьма теплыми , исходя из их прожорливости.
Что касается VGA - резисторами выходной сигнал с микросхем должен делится примерно до 0.7 Вольта в амплитуде - это желательно осцилографом глянуть или сразу посчитать делитель напряжения на любом онлайн калькуляторе.

Shewan
21.03.2019, 15:08
Коллеги, мне тут плата и тараканы от Павла приехали на почту, еще не получал, но вопрос назрел: а прошивки альтер имеются в природе готовые или нет еще? Порылся в теме и как-то не обнаружил ничего, кроме прошивки ПЗУ

fifan
21.03.2019, 16:57
Пока не отлажен комп, прошивки будут внизу этой страницы (http://www.специалист-пк.рф/index21.html) (пока там лежат не рабочие). А ОЗУ обе есть? Мне так Павел выслал только одну из двух.

Нужно сначала определится с питанием процессора ВМ80 - обеспечить подачу всех трёх напряжений.

Shewan
21.03.2019, 19:20
Аааа, Семен Семеныч! Точно, туда-то я и не заглянул.
Вообще должны быть два штук... Но повторюсь - пока нет возможности добраться до почты. В выходные доеду скорее всего

fifan
21.03.2019, 19:45
Мне так Павел выслал только одну из двух.
Не оказалась в посылке именно самая нужна озушка, а именно DS1 по схеме: CY7C1021-10ZC - срамина 64 кБайт х 16 бит. Я когда-то подсуитился и нашёл его на али. Вторая озушка - это 512 кБайт, требуется только для RAM-диска в режиме МХ, она то и легко доставаемая и имеет много аналогов.

Shewan
22.03.2019, 18:05
Не оказалась в посылке именно самая нужна озушка, а именно DS1 по схеме: CY7C1021-10ZC - срамина 64 кБайт х 16 бит. Я когда-то подсуитился и нашёл его на али. Вторая озушка - это 512 кБайт, требуется только для RAM-диска в режиме МХ, она то и легко доставаемая и имеет много аналогов.

так-то вроде бы они если вдруг, не?

https://ru.aliexpress.com/item/2-CY7C1021V33-10ZCT-TSOP44/32855876981.html?spm=a2g0v.search0204.3.31.17a6353 2yODe5J&ws_ab_test=searchweb0_0%2Csearchweb201602_10_10065 _10068_319_317_10696_453_10084_454_10083_10618_103 07_10301_537_536_10902_10059_10884_10889_10887_321 _322_10915_10103_10914_10911_10910%2Csearchweb2016 03_58%2CppcSwitch_0&algo_pvid=13184ecb-2ca6-4c58-a49f-9219085b13d3&algo_expid=13184ecb-2ca6-4c58-a49f-9219085b13d3-4

fifan
22.03.2019, 18:29
Я думал пришли две разные срамины, но оказалось обе на 512 кБайт корейского производства. В любом случае смотрите даташиты (http://www.allcomponents.ru/), нам нужны ОЗУ с питанием только +5 вольт.

Shewan
22.03.2019, 21:01
Ну да. Действительно 3,3 вольта... но в целом вроде как в ненавистном чипдипе есть под заказ ☺

а 10нс это критично или можно и 15 например?

fifan
23.03.2019, 05:37
а 10нс это критично или можно и 15 например?
Не критично. Мы работаем с частотой Специалиста 8 МГц, 40 МГц - для VGA развёртки.

Shewan
23.03.2019, 11:25
Не критично. Мы работаем с частотой Специалиста 8 МГц, 40 МГц - для VGA развёртки.

Более чем прекрасно, в дельте есть недорого 15нс, правда в SOJ, но сие не есть особое препятствие - паста+фен помогут

Shewan
26.03.2019, 00:50
Коллеги, как оказалось действительно не столь легко найти cy7c1021, но попалась одна статься по чипам памяти, в том числе таблицы по аналогам разных производителей. В частности, например, есть такой аналог: AS7C1026, который IMHO найти уже проще. Выложу на всеобщее оборз... :v2_dizzy_facepalm: эээ обозрение конечно же :v2_dizzy_heart:


https://ibb.co/rGL5q52
https://ibb.co/zbggSKC
https://ibb.co/zhkdgj3
https://ibb.co/SVnKFMt
https://ibb.co/ScH0wf1

fifan
26.03.2019, 05:27
есть такой аналог: AS7C1026, который IMHO найти уже проще.
Подтверждаю, полный аналог.

Shewan
26.03.2019, 15:36
В итоге дельта все же договорилась с поставщиком по поводу CY7C1021 в правильном корпусе. Теперь ждать 2-3 недели. Остальное запаял

fifan
26.03.2019, 20:53
Зачем всё паять, можно всё постепенно. Самое главное проверить питающие напряжения. Извиняюсь, что не выкладываю прошивку - немного замотался. В очередной раз нашёл ошибки в проектах обоих ПЛИС, исправил, нужно перепрошить. Займусь через пару дней.

Shewan
27.03.2019, 18:03
Зачем всё паять, можно всё постепенно. Самое главное проверить питающие напряжения. Извиняюсь, что не выкладываю прошивку - немного замотался. В очередной раз нашёл ошибки в проектах обоих ПЛИС, исправил, нужно перепрошить. Займусь через пару дней.

Основной памяти все равно пока нет. Оплатил заказ. Ждемс когда приедет на склад.

В итоге вывод на на монитор заработал?

Да есть несколько замечаний (мое личное IMHO)

1) Посадочные места под С4, С5 узковаты малость (навскидку 2,54мм). Желтенькие китайцы (~5мм) лезут туда с изрядным подгибом. Не критично конечно же, я так вообще запаял smd 0805...
2) Посадочное место под С6 при заявленном в схеме номинале 470 мкф Х 25 вольт явно маловато. Или имелся в виду "мини"?
3) Что за номинал такой C31 300мкф Х 10 вольт? Вроде бы в стандартном ряду такого нет и в помине.
4) Посадочное место под DS2 чуть узковато - "таракан полностью перекрывает его ножками. Паять малость затруднительно.
5) Примерил китайский слот SD на место: пины и площадки смещены относительно друг друга. Ну и на плате нет отверстий под штырьки на слоте (и то и другое не критично).
Резисторы в делителе напряжения sd карты номиналом 1,7К существуют? В моем большом наборчике с али таких нет, для интереса глянул в чипе их тоже нет. В итоге пересчитал номиналы учетом наличия у меня: например

1,8К и 3,6К или 2,0К и 3,9К.

Вроде все пока.

ЗЫ: ах да, под R23 отверстие определенно лишнее :D

fifan
27.03.2019, 20:42
В итоге вывод на на монитор заработал?
Пока нет. После перепрошивки плисин будет ясно. Последний раз был чёрный экран, но монитор сигнал 800 на 600 определял, не ругался.


1) Посадочные места под С4, С5 узковаты малость (навскидку 2,54мм). Желтенькие китайцы (~5мм) лезут туда с изрядным подгибом. Не критично конечно же, я так вообще запаял smd 0805...

Нормальные у меня китайские лезут.


2) Посадочное место под С6 при заявленном в схеме номинале 470 мкф Х 25 вольт явно маловато. Или имелся в виду "мини"?
Да, чуть не расчитал. Нужен именно такой номинал. Нужно будет искать миниатюрный.


3) Что за номинал такой C31 300мкф Х 10 вольт? Вроде бы в стандартном ряду такого нет и в помине.
Можно любой поставить, даже на 220 мкФ, на напряжение 10В.


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


5) Примерил китайский слот SD на место: пины и площадки смещены относительно друг друга. Ну и на плате нет отверстий под штырьки на слоте (и то и другое не критично).
Я делал под свой держатель, но похоже такие больше не выпускают. На плате есть разъём под китайский модуль SD карты XS5, я такой буду использовать.


Резисторы в делителе напряжения sd карты номиналом 1,7К существуют? В моем большом наборчике с али таких нет, для интереса глянул в чипе их тоже нет. В итоге пересчитал номиналы учетом наличия у меня: например 1,8К и 3,6К или 2,0К и 3,9К.
Номиналы не я выдумал, такой делитель был где-то в инете позаимствован. Такой делитель использовал Vinxru в своём адаптере, я просто повторил.


под R23 отверстие определенно лишнее :D
Нет, это сделано специально и отверстие по середине резистора соединено с общим. Если в держателе или модуле SD карты нет датчика вставленной карты, то соединив это отверстие с соседним, без запайки резистора мы сообщаем системе, что якобы SD карта вставлена всегда. А то не заработает определение наличия карты.

Вообще-то нужно будет ставить SMD блокировочные конденсаторы, расположенные с обратной стороны платы. На каждый корпус по одному, на плисины по 4.

Shewan
28.03.2019, 08:52
Нормальные у меня китайские лезут.

Лезуть-то они лезуть, но с подгибом, а я чертов перфекционист :)


Да, чуть не расчитал. Нужен именно такой номинал. Нужно будет искать миниатюрный.

а вот это изрядный промах, похоже "мини" только до 100 мкф существует, нус подогнем (перфекционист во мне орет) :)


Можно любой поставить, даже на 220 мкФ, на напряжение 10В.

ну 330 и воткнул.


По ширине, может быть. Были три посадочных места под этот корпус, я выбрал средний, нужно было ещё ширше ставить.

однозначно, пришлось слегка подгибать лапки таракану, а глаза в линзах на близком расстоянии плохо фокусируются, но в целом запаялось :)


Я делал под свой держатель, но похоже такие больше не выпускают. На плате есть разъём под китайский модуль SD карты XS5, я такой буду использовать.
как я писал некритично, штырьки на корпусе откусить-шлифануть, площадки под пины на корпусе сразу залудить-залить жидким флюсом и паяльником осадить по месту, выводы хоть и с некоторым смещением но запаиваются надежно.


Номиналы не я выдумал, такой делитель был где-то в инете позаимствован. Такой делитель использовал Vinxru в своём адаптере, я просто повторил.

есть такое, но пересчитать все же проще чем найти эти 1,7к


Нет, это сделано специально и отверстие по середине резистора соединено с общим. Если в держателе или модуле SD карты нет датчика вставленной карты, то соединив это отверстие с соседним, без запайки резистора мы сообщаем системе, что якобы SD карта вставлена всегда. А то не заработает определение наличия карты.

"Семен Семеныч" (с) х/ф "Бриллиантовая рука" :)


Вообще-то нужно будет ставить SMD блокировочные конденсаторы, расположенные с обратной стороны платы. На каждый корпус по одному, на плисины по 4.

так ото ж, кто же спорит, запаяны в лучшем виде (0805 одно удовольствие паять, это вам не это, точнее не 0402 и меньше).

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

fifan
02.04.2019, 12:30
Перепрошил обе плисины. Обратил внимание, что сильно греется основное ОЗУ - наверное дохлое. Экран тёмный, но монитор что нет сигнала не выводит.

balu_dark
02.04.2019, 13:32
Так может с плисины идет постоянный уровень на выход озу?

fifan
02.04.2019, 13:38
Буду подключать осциллограф - так гадать то же нет смысла.

Shewan
02.04.2019, 19:20
Перепрошил обе плисины. Обратил внимание, что сильно греется основное ОЗУ - наверное дохлое. Экран тёмный, но монитор что нет сигнала не выводит.

а оно точно 5-ти вольтовое?

fifan
03.04.2019, 07:00
а оно точно 5-ти вольтовое?
По даташиту питание 5 вольт. Полное наименование микросхемы: CY7C1021D-10ZSXI - Fast Asynchronous SRAM, Data width × 16-bits02 = 1-Mbit density, 10 ns, 44-pin TSOP Type II, Industrial Temperature Range.

Первая плисина управляет выдачей адреса и данных с/на основного/ое ОЗУ. Было нагромождение текста, микросхема постоянно сидела на шине. Я исправил ситуацию. Очередной раз перепрошью. Посмотрим.

Что-то мне надоели внешние стабилизаторы напряжения (такой временно использую (https://trolsoft.ru/ru/sch/rk86-power)) начинаю паять на плате. Питание будет одно - через разъём 5 В на задней стороне. А то для прошивки отключаю внешние стабилизаторы, вытаскиваю проц.

Serg6845
03.04.2019, 09:09
Что-то мне надоели внешние стабилизаторы напряжения (такой временно использую (https://trolsoft.ru/ru/sch/rk86-power)) начинаю паять на плате. Питание будет одно - через разъём 5 В на задней стороне. А то для прошивки отключаю внешние стабилизаторы, вытаскиваю проц.

а зачем для прошивки ПЛИС через JTAG все отключать? или просто провода не дотягиваются?

fifan
03.04.2019, 10:16
Я не дописал, что подаю на схему только 5 вольт. Я тут на плате уже спалил проц - подал только 5 вольт - больше не хочу.

Shewan
03.04.2019, 12:57
А то для прошивки отключаю внешние стабилизаторы, вытаскиваю проц.

Вот как раз для прошивки приходится подавать на плату питание. Мой китайский usb-blaster недотягивает питалово и при прошивке появляются ошибки (выявил сию особенность на rgb-vga.pal в свое время)

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


Полное наименование микросхемы: CY7C1021D-10ZSXI

Я сейчас ожидаю CY7C1021B-15VC в количестве 3-х штук из radel.ru - тоже самое, только корпус SOJ
Действительно чертовски редкая микросхемка :)

balu_dark
03.04.2019, 14:13
Было нагромождение текста, микросхема постоянно сидела на шине. Я исправил ситуацию. Очередной раз перепрошью. Посмотрим.


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

fifan
03.04.2019, 17:10
Завтра запаяю преобразователь на плате и ещё кое-какие детали. Прошивка тоже планируется. Сделал новую прошивку ПЗУ - её тоже нужно попробовать. Из нового в этой прошивке: убрана поддержка Flash-диска (его теперь нет физически) и добавлен SD loader v.6 от HardWareMan'а. В эмуляторе лоадер работает.

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


Мой китайский usb-blaster недотягивает питалово и при прошивке появляются ошибки.
У меня так же, может он и не предназначен подавать напряжение на плисину?

HardWareMan
03.04.2019, 18:22
Все USB бластеры не предназначены для запитки устройства программирования. А питание туда должно подаваться для шифтеров уровней, т.к. Бластер умеет как 5в и 3.3в так и 1.2В устройства. А для этого надо согласовываться.

Shewan
03.04.2019, 20:31
У меня так же, может он и не предназначен подавать напряжение на плисину?

Подает, там же один из пинов в jtag-е питалово, что при 10 пинах, что при 6. Но напряжение какое-то странное. Точно не помню, в памяти сидит 2,9 вольта. Я где-то в форумах писал про это.

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


Все USB бластеры не предназначены для запитки устройства программирования. А питание туда должно подаваться для шифтеров уровней, т.к. Бластер умеет как 5в и 3.3в так и 1.2В устройства. А для этого надо согласовываться.

Ну вот что-то такое и есть

fifan
12.04.2019, 14:06
Очередная попытка запуска. Перепрошил 1-ю плисину. ОЗУ перестала греться. Плисины так же греются. Изображения на мониторе нет. Наверное нужно сделать какую-то тестовую прошивку, которая бы выводила изображение на экран. Про конфигурацию Специалиста МХ2 пока забыть.

Спаял оба преобразователя напряжения. Сначало впаял стабилитрон КС147А, он не выдал нужные 5 вольт. Применил буржуйский на 5,1 вольт - преобразователь стал стабильно -5,1 вольт давать.

HardWareMan
12.04.2019, 20:29
Сначало впаял стабилитрон КС147А, он не выдал нужные 5 вольт.
Потому, что для 5 вольт нужно ставить КС156А. Он на 5,6в (как раз для параметрического для компенсации 0.5в падения на транзисторе), а КС147 выдает 4,7в.

Shewan
13.04.2019, 22:27
Очередная попытка запуска. Перепрошил 1-ю плисину. ОЗУ перестала греться. Плисины так же греются. Изображения на мониторе нет. Наверное нужно сделать какую-то тестовую прошивку, которая бы выводила изображение на экран. Про конфигурацию Специалиста МХ2 пока забыть.

Печалька. А тут понимаешь ли память нужная пришла. Осталось только забрать...

fifan
14.04.2019, 21:04
Тестовую прошивку нашёл. Был бесплатный проект из ПО к купленной плате с Циклоном 4. Правда там частота 50 МГц, а не 40, как у нас. Зато сразу будет ясно с VGA выхлопом. На днях попробую.

Shewan
03.05.2019, 21:27
ничего нового нет?

Shewan
16.05.2019, 12:41
проект заморожен или сложности возникли?

Shewan
15.06.2019, 08:46
Новостей не будет?

fifan
08.07.2019, 18:59
Извините за молчание, но у меня новостей по данной плате не было никаких. Занят был другим. Поразмыслив у меня назрела догадка почему ничего не происходит с выводом на монитор. Есть такой сигнал FAST, его HardWareMan применил для переключения скорости работы процессора в своём модуля в данном проекте. Этот сигнал является аналогичным в МХ2. Но в данном компе он всегда подвешан к 1 или 0, а у меня он ни на чём не сидел, висел в воздухе. Попробую его задействовать. Но сначала хочу всё ж вывести через первую плисину тестовый видеосигнал, потом и к проекту МХ2 вернусь. Но не торопите меня, постараюсь побыстрее всё описанное выше воплотить в жизнь. Позже отпишусь.

fifan
22.08.2019, 17:00
Освободил немного времени. Сделал тестовую прошивку для вывода на VGA монитор. Значит видео выход работает.

https://i.ibb.co/R6k6Rs3/IMG-20190822-145350.jpg (https://ibb.co/M1x1Ftc)

Займусь исправлением проекта и прошивкой самого Спеца.

В атаче - файл тестовой VGA прошивки (ПЛМ №1)

fifan
26.08.2019, 07:25
После прошивки в ПЛМ1 Спеца ничего не появилась. Вернулся обратно, прошил вышеприведённую прошивку и - всё пропало, нет цветной таблицы. Засим, думаю сдохла плисина. Смысл дальнейших экспериментов не вижу.

Shewan
27.08.2019, 22:28
Как я понимаю прошивок не будет?

fifan
28.08.2019, 07:47
Хрен его знает. Пытаюсь вывезти изображение - не получается. Да ещё и монитор отказывается выводить низкое разрешение. Это наверное и получилось с изображением несколько топиков выше. На экране другого монитора пишет, что не оптимальное изображение. Может и с кодом что-то напутал - см. приложение. Если, кто подскажет как мне вставить код PLL, для этой серии (MAX7000S) не генерит. Мне нужно 40 -> 16 МГц - хочу вставить проверенный код от Ewgeny7.

Xrust
28.08.2019, 09:20
fifan, вот подробная статья (https://m.habr.com/ru/post/306132/) на тему дробных коэффициентов деления.

HardWareMan
28.08.2019, 12:20
У CPLD нет PLL. Он даже не у всех FPGA есть. Понапривыкали, блин. Читайте буквари к устройствам, которые программируете.

fifan
28.08.2019, 15:35
Ну такого не может быть. Сделал новый пустой проект состоящий почти только из видеогенератора - результат тот же - пустой экран. Наверное сдохла 1-я плисина окончательно. Возможно от статического напряжения.

Есть кто купил и запаял плату? Если есть не могли бы проверить одну из прошивок?

fifan
29.08.2019, 16:20
Спешу обрадовать следящих за темой - прошивки на новый Специалист будут.

Объясню что я нашёл неисправного на плате. Сначала я хорошо промыл плату спиртом. Потом перекомпилировал прошивки на квартусе 9 полной версии.
Подключил я к плате первый раз осциллограф для поиска сигналов. И когда коснулся выхода кварцевого генератора на мониторе появилась цветная таблица как на фото с предыдущего поста. Я пропаивал выводы и кидал проводники непосредственно на вход синхронизации первой плисины - помогало максимум на 5 минут. Возможно внутренний обрыв в корпусе, я так думаю, т. к. после очередного прогрева паяльником выхода генератора комп выводил цвета ровно столько, пока не остыл корпус генератора.

Попробовал я и прошивку видеогенератора, на котором будет базироваться главная схема Спеца. В ней я чётко выводил на экран одно и то же значение - 11001100. В результате чёткие параллельные синие линии на экране.

Заказываю ещё один генератор на 40 МГц и допиливаю прошивку. О результатах отпишусь. P.S. на картинке - осциллограммы основной частоты 40 МГц, инвентированых фаз на ВМ80 и синхронизация на монитор.

https://i.ibb.co/BfSTWpm/osc-spmx2-1.png (https://ibb.co/L029jFM)

fifan
02.09.2019, 07:32
Я тут распинаюсь, а оказывается моя Web версия Quartus'а уже не поддерживает:
Parallel compilation is not licensed and has been disabled
CAUSE: Certain editions of the Quartus II software do not support parallel compilation.
ACTION: No action is required.

Как бы у меня в проекте десяток параллельных процессов. И получается что это всё не работает? Прийдётся с 13.0 Web откатиться на 9.1 Full (последняя у меня работает на компе с XP). Всё заново перекомпилировать.

Xrust
02.09.2019, 07:38
А что, без параллельной компиляции никак? Честно, не понимаю в чём проблема.

fifan
02.09.2019, 09:20
А что, без параллельной компиляции никак? Честно, не понимаю в чём проблема.

Это как? Вот два параллельных процесса и они должны выполняться одновременно или по-другому параллельно.

process(reset, u0, a_buff (1 downto 0)) -- триггер режимов
begin
if reset = '0' then
m0 <= '1';
m1 <= '1';
elsif (u0'event and u0 = '1') then
m0 <= a_buff (0);
m1 <= a_buff (1);
end if;
end process;

mode <= not (m0 and m1); -- режим работы: 1 - Std, 0 - MX

process(reset, u1, data_i (0)) -- триггер
begin
if reset = '0' then
ren <= '0';
elsif (u1'event and u1 = '1') then
ren <= data_i (0);
end if;
end process;

Конечно можно переписать всё под условие. Но я не гарантирую что это будет правильно работать.

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

Сегодня проверю две версии теста (цветные кубики, на фото как выше несколько постов назад). Одна будет скомпилирована на Web версии, другая - на Full. Будет ясно сразу. Хотя в инете пишут, что это предупреждение сообщает только о том, что при компиляции будет задействовано только одно ядро (процессора что ли?), а не два.

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

Сегодня проверю две версии теста (цветные кубики, на фото как выше несколько постов назад). Одна будет скомпилирована на Web версии, другая - на Full. Будет ясно сразу. Хотя в инете пишут, что это предупреждение сообщает только о том, что при компиляции будет задействовано только одно ядро (процессора что ли?), а не два:

означает, что Quratus II использует одно ядро. Это не займет много времени для такого простого дизайна

Xrust
02.09.2019, 09:27
fifan, параллельная компиляция это не исполнение. Просто при компиляции будет задействовано только одно ядро. Не настолько сложный проект, чтобы это было критично.

fifan
02.09.2019, 09:32
Хорошо проверю свою догадку. По крайней мере я заметил. что откомпелированный на Full версии проект работал сразу.

Когда-то, лет 5 назад, совместно с Ewgeny7 велись работы первого Специалиста на плис. И тогда я заметил, что после n-го количества компиляций у меня проект не запускался - тёмный экран. Хотя тоже самое у Ewgeny7 работало. Но стоило зашить просто файл через программатор (без компиляции) - всё работало.

HardWareMan
02.09.2019, 10:44
Когда-то, лет 5 назад, совместно с Ewgeny7 велись работы первого Специалиста на плис. И тогда я заметил, что после n-го количества компиляций у меня проект не запускался - тёмный экран. Хотя тоже самое у Ewgeny7 работало. Но стоило зашить просто файл через программатор (без компиляции) - всё работало.
Это говорит лишь о том, что проект ты свой не профилировал и он работал на грани. Почаще смотри в TimeQuest и подтягивай свой скилл в синхронном дизайне.

fifan
03.09.2019, 17:13
Решил откатиться назад и начать с малого. Первое фото - не мой проект вывода изображения при 40 МГц. Второе фото - просто тестовые полоски, проект собственного построения. Третье фото - ввод данных просто с шин данных - соответственно цветной шум. Необходимо теперь перейти ко второй плис и проверить управление ОЗУ.

https://i.ibb.co/D4qJc6S/IMG-20190903-112009.jpg (https://ibb.co/gyn2qXB) https://i.ibb.co/kMQVmfy/IMG-20190903-144438.jpg (https://ibb.co/nRzqPv0)

fifan
27.09.2019, 16:33
Уф, как мне тяжко. Никак нет изображения с плисины касательно картинки Специалиста. Я склоняюсь, что неверно работают двухнаправленные шины d, md и cd. Соответственно: шина данных процессора, шина данных ОЗУ и шина данных ОЗУ цвета. Привёл описание этих шин. Далее приведены присвоения при вызовы процедуры от HardWareMan'а (https://zx-pk.ru/threads/29464-spetsialist-mkh2-realizatsiya-v-cpld.html?p=981337&viewfull=1#post981337) . Эта процедура синхрогенератор/видеогенератор и т.п.

md_in <= d when (ram_n = '0' and wr = '0') else "11111111"; -- данные ОЗУ графика
cd_in <= d when (mode = '1' and u1 = '1' and wr = '0') else "00000" & ncb & ncr & ncg when (mode = '0' and wr = '0') else "00000000"; -- данные ОЗУ цвет
md <= d when (ram_n = '0' and wr = '0') else "ZZZZZZZZ"; -- шина данных ОЗУ
cd <= cd_in when (sc = '0' and clock = '1' and wr = '0') else "ZZZZZZZZ"; -- шина данных ОЗУ цвета
d <= md when (ram_n = '0' and rd = '0') else "ZZZZZZZZ"; -- шина данных процессора

MX2: MX2_CPLD_VID -- MX2 Address Chipset
port map(
Clk => clk, -- тактирование 40 МГц
nRES => reset_in, -- кнопка сброса
Fast => '0', -- сигнал скорости 2,5 МГц
MX => mode, -- выбор режима MX
A => a_buff, -- входной адрес от процессора
MD => md_in, -- данные ОЗУ графика
CD => cd_in, -- данные ОЗУ цвет
nF1 => f1_n, -- инверсная фаза F1 для ВМ80
nF2 => f2_n, -- инверсная фаза F2 для ВМ80, тактовая для Z80
RST => reset, -- выход положительного синхронного уровня сброса
SnC => sc, -- арбитраж обращения
HSync => hs, -- горизонтальная синхронизация
VSync => vs, -- вертикальная синхронизация
MA => ram, -- адрес на ОЗУ
R => r, -- пиксели красный
G => g, -- пиксели зеленый
B => b -- пиксели синий
);

Пояснение: ram_n - выборка основного ОЗУ,
wr - сигнал чтения,
mode - режим (0-Std, 1-MX),
u1 - выборка контроллера цвета,
ncb, ncr, ncg - сигналы цвета в режиме Std
sc - арбитр синхрогенератор/адрес,
clock - частота 40 МГц,
rd - сигнал чтения.

Пока задействовал мапер стандартного (Std) Специалиста. В ПЗУ зашил тест Рюмика. Если надо приведу исходники.

fifan
14.10.2019, 14:25
(Я уже зае...) Мне уже надоело отлаживать проект. Я не поленился и прошил в обе плисины схемный ввод (да рисовал каждый элемент!) и ноль выхода! Теперь даже нет сигнала на VGA монитор. Может у меня действительно одна или две плисины дохлые, а может ещё и срамина. Откликнитесь, если есть, владельцы платы с запаянными микросхемами (ОЗУ, ПЛИС). Может у вас заработают проекты. У меня сейчас ощутимо греются основное ОЗУ и 1-я плисина.

Пока беру безрочную паузу, и так полгода с этой платой трахаюсь.

HardWareMan
14.10.2019, 17:34
:v2_dizzy_facepalm: Я бы сделал это за 1 вечер, но у меня нет такой платы.

fifan
26.10.2019, 19:23
Я не забросил проект, я не хочу писать сюда плохие результаты. Перепроверил несколько проектов - результат один - не верное изображение.

Вопрос к HardWareman'у: что может быть не правильно. С шинами данных вроде обошёлся как ты советовал:
SnC=1 => Принудительное чтение ОЗУ (NWR=1, NRD=0, развязка по шине данных от процессора),
SnC=0 => Обращение процессора к ОЗУ (NWR и NRD согласно типу обращения).


process(clock, sel, wr_n, rd_n, ram_n, cr, cg, cb, cd, md, d)
begin
if (clock'event and clock = '0') then
if (rd_n = '0' and sel = '1' and ram_n = '0') then -- принудительное чтение ОЗУ
md_buff <= md;
cd_buff <= cd;
elsif (wr_n = '0' and sel = '0' and ram_n = '0') then -- запись в ОЗУ из процессора
md <= d;
elsif (rd_n = '0' and sel = '0' and ram_n = '0') then -- чтение из ОЗУ в процессор
d <= md;
cd <= '1' & not cr & not cg & not cb & "1111";
else
d <= "ZZZZZZZZ";
md <= "ZZZZZZZZ";
cd <= "ZZZZZZZZ";
end if;
end if;
end process;

Для взаимодействия с твоей процедурой всё вроде описал правильно:

MX2: MX2_CPLD_VID
port map(
Clk => clock, -- входная частота 40 МГц
nRES => res_in, -- сигнал сброса с кнопки
Fast => fast, -- скорость Norma/Turbo
MX => mode, -- Standard/MX
A => a, -- шина данных процессора
MD => md_buff, -- данные ОЗУ графика
CD => cd_buff, -- данные ОЗУ цвет
nF1 => nf1, -- инверсная фаза F1 для ВМ80
nF2 => nf2, -- инверсная фаза F2 для ВМ80, тактовая для Z80
RST => reset, -- выход положительного сброса
SnC => sel, -- арбитраж обращения
MA => ma, -- шина адреса ОЗУ
R => red, -- выход сигнала красного цвета
G => green, -- выход сигнала зелёного цвета
B => blue, -- выход сигнала синего цвета
HSync => hs, -- горизонтальная синхронизация
VSync => vs -- вертикальная синхронизация
);

Во второй ПЛИС я прошил проект пока Std маппера. В ПЗУ зашит тест Рюмика. Могу привести весь текст проекта, но он не значительно больше приведённого выше текста. Легенда:
md_buff и cd_buff - данные о пикселах и цвете, считываемые с ОЗУ,
sel и SnC - одно и тоже, арбитраж обращения,
cr, cg, cb - данные о цвете, снимаются со старшей тетрады порта С ВВ55.
ram_n - выборка основного ОЗУ, сигнал снимается со 2-й ПЛИС,
md, d и cd - шины данных соответственно: данные с ОЗУ, шина данных процессора и цвет с ОЗУ.

SpaceEngineer
01.12.2021, 19:21
Сорри за некропостинг :)


Во второй плисине поменьше на много предупреждений, но я там ещё не вставил диспетчер верхних адресов RAM-диска и эмулятор порта программатора. Я уже писал, что ради одного применяемого сигнала KA0 (R5) (http://www.spetsialist-mx.ru/schemes/SpetsialistMX1.png) я решил не ставить реальную ВВ55, а эмулировать её.

Этот сигнал используется в одном месте в Ramfos, в функции вывода звука, в цикле ожидания окончания звучания (пока выход ВИ53 не станет лог. 1). По-моему, это какой-то дикий костыль. Не проще ли в цикле читать состояние счётчика того канала ВИ53 и сравнивать с нулем? Или что-то ещё кроме рамфос использует это?

oxy
06.07.2022, 16:28
Можно описать детали видео вывода? В каком режиме VGA выводите? 800х600 с окном 768х512 /*2x upscale?*/ ?

fifan
15.07.2022, 04:32
Давно уже этот проект заброшен. Если очень интересуетесь могу дать исходники, может найдёте ошибки.