PDA

Просмотр полной версии : ...И еще одна РК-шка...



Anubis_OD
26.02.2016, 12:15
Вот такую (http://zx-pk.ru/showthread.php?t=25205) РК-шку я сделал в студенческие годы.
Оживить не удалось.. сильно сказались условия хранения..Дорожки на плате в некоторых местах сгнили..
Решил сделать новую.. Не пропадать же корпусу от СУРЫ с клавой. Ей повезло больше.
Помыл/перебрал смазал каждую кнопку.
..Наткнулся на проект Rokl-а. Сделал на его основе типа Микроком Лайт.
Считаю что не сильно надо в РК часы.. да и дисковод тоже.. и Сд-карточка.
Сделал только РОМ диск.. Туда весь мне известный софт влезет.. Так было сделано на старой моей РК-шке.
Хотел сделать компактную плату. Проц в корпусе QFP. Остальное тоже, что нашел...
Схемку приложу (https://www.dropbox.com/s/br23jc7tbo63fbx/%D0%A0%D0%B0%D0%B4%D0%B8%D0%BE86%D0%A0%D0%9A1.pdf? dl=0)..
Дизасемблировал свой старый монитор.. Сильно я его тогда перекопал..
Допилил под новые реалии.
Вот такая платка вышла.. Это версия 1.. Пока клаву не прицепил.
http://i74.fastpic.ru/thumb/2016/0226/bb/46aa9e095590a5fef102a45d578f02bb.jpeg (http://fastpic.ru/view/74/2016/0226/46aa9e095590a5fef102a45d578f02bb.jpg.html)
Спасибо Саше (АлександрПП) за помощь с разводкой.
Планирую сделать версию 2. Не нравится формат видеовыхода. Из 5 моников дома захотел работать 1..
И то.. изображение смещено. Пиксели помигивают. HCT166 работать отказался. 1533ИР10 работает (она на МГТФе в кадр не попала), но криво.
Покопался в сети.чуть изучил тему.
Хочу весь обвес за ВГ75 запихнусть в CPLD типа Xilinx XCL9572XL.
Давно думал начать изучать Плисину на каком то проекте.
Т.е сигналы с ВГ-ки защелкивать в ТМ8, счетчики, регистр, курсор, ИР1 от Апогея, цвета, атрибуты LA0,1 использовать.
Сделать стандартные времянки гашения в развертке чтобы на любом монике работало.
Символ клок 3,177Mhz ВГ-шка должна потянуть. Сейчас на 3Mhz и импорт и наша работает. Чуть греется. но не критично
..тогда по идее выходит красиво 640х480@60Hz с стандартным пиксельклоком 25.175Mh и символом 8 точек.
и всеми правильными porch-ами. Так чтобы без мощных FPGA и скандаблеров.
Также есть мысль, чтобы не сильно раздувать ноги ПЛИСины, попробовать Знакогенератор засунуть в SPI ПЗУ.. Soic-8. Их сейчас
даже на 75Mhz полно.. Должна успеть..

HardWareMan
26.02.2016, 14:13
Касаемо таймингов SPI ПЗУх. Я делал расчеты. При рандомном доступе (а у вас он именно такой), нужно порядка 48 тактов для HS режима: 8 команда + 24 адрес + 8 задержка + 8 данные.
http://savepic.ru/8844787.png
Это будет порядка (1/75*48) 640нс на полное чтение или 1,5МГц время доступа. И да, найти шуструю SPI с меньшим адресным пространством проблемно. Есть небольшой выход: QSPI. Здесь все сжимается до 22 тактов: 8 команда + 8 адрес + 4 задержка + 2 байт.
http://savepic.ru/8824309.png
Что при тех же 75МГц дает нам уже (1/75*22) 293нс или 3,4МГц. Я находил нативную QSPI с частотой 100МГц и у меня получалось 190нс или ~5,2МГц (14 тактов). Именно поэтому, SPI флеши стоят только в системах, где перед запуском процессора (отпусканием сброса) происходит копирование образа из SPI в ОЗУ. Доля секунды для человека и вечность для процессора.

Anubis_OD
26.02.2016, 15:47
Есть вот такая
M25PE20VMN6
256кбит. 75Mhz там чуть короче адрес на 1 цикл..., но.. да. сильно длинно будет похоже и с ней.

Да. посмотрел в даташите в режиме
READ DATA BYTES at HIGHER SPEED
3 байта адрес 1 байт пустой и данные пошли.

Alex_LG
26.02.2016, 20:12
чтобы на любом монике работало.

Это давно сделано см. http://zx-pk.ru/showthread.php?t=19685&p=709049&viewfull=1#post709049



Хочу весь обвес за ВГ75 запихнусть в CPLD типа Xilinx XCL9572XL

У меня практически вся логика поместилось в 9536.

Anubis_OD
26.02.2016, 21:35
Спасибо за ссылку. Изучу внимательно. Но сделать хочу по своему..

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

Alex_LG, выходы управления синхронизацией с ВГ75 - это полуфабрикат для полноценных сигналов строчной и кадровой развертки.
Для приведения к стандарту часто используют одновибраторы или таймер ВИ53.
У вас ничего такого не нашел.
Хочу чтобы все было как описано тут:
http://martin.hinner.info/vga/640x480_60.html
т.е каждая строк

8 pixels front porch
96 pixels horizontal sync
40 pixels back porch
8 pixels left border
640 pixels video
8 pixels right border

там же есть параметры по кадровой.

Alex_LG
26.02.2016, 22:47
Понял, про такое где-то в журнале МПСиС было написано и схема была, но софта не было.

Anubis_OD
26.02.2016, 23:40
МПСиС N3 за 1985 год. стр 51-60
"Принципы организации и работы дисплеев на основе БИС КР580ВГ75."
Решения на трех одновибраторах АГ3 применено в компе Юниор. Кроме того в проектах Интел Винтаже (http://www.intel-vintage.info/projects.htm) есть несколько вариантов
проектов с ВГ75 с разными пиксель клоками и с одновибраторами.
А софт то не проблема...

Anubis_OD
06.03.2016, 14:05
Подниму тему.
В схеме применен 8237 контроллер и использован для его тактирования вывод CLKOUT проца 8085.
Хотя в мануале интеловском прямо указано:
"
The Timing Control block derives internal timing
from the clock input. In 8237A systems, this input
will usually be the w2 TTL clock from an 8224 or
CLK from an 8085AH or 8284A. 33% duty cycle
clock generators, however, may not meet the clock
high time requirement of the 8237A of the same fre-
quency. For example, 82C84A-5 CLK output violates
the clock high time requirement of 8237A-5. In this
case 82C84A CLK can simply be inverted to meet
8237A-5 clock high and low time requirements. For
8085AH-2 systems above 3.9 MHz, the 8085
CLK(OUT) does not satisfy 8237A-5 clock LOW and
HIGH time requirements. In this case, an external
clock should be used to drive the 8237A-5.
"

Переведу в 2-х словах. Скважность вывода CLKOUT 8085 не сильно подходит под требования 8237.
Надо как минимум инвертировать сигнал.. И все равно при частоте выше 3.9 Мгц, требования будут нарушены и надо тактировать от другого генератора.

Это из мануала Интел на 5Mhz 8237.

Кто-то сталкивался с этим вопросом?
У меня работает. Но в версии 2 платы сделаю синхру от делителя ВГ-шки 3 или 6MHz.

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

И еще вопрос .. Шото курю мануалы и форум и не могу понять..
В Радио-86РК ПДП работает в режиме Write Transfer (т.е формально данные из ИО пересылаются в память), но для правильного функционирования
сигналы поменяны местами. MEMW используется как RD для чтения из памяти, а IOR используется как WR для ВГ75.
Rokl, авторы РК-86 SRAM и я повторяем этот режим..
Рисую потихоньку всю логику внутрь CPLD. И тут.. для экономии выводом, решил было изменить режим.
Пробовал сделать правильно.. Сделал Read Transfer режим, сигнал MEMR соединил с RD системы, IOW и так на WR сидит.
Не работает.. Не могу понять в чем дело. Осцилограмы красивые..

b2m
06.03.2016, 23:45
В Радио-86РК ПДП работает в режиме Write Transfer (т.е формально данные из ИО пересылаются в память), но для правильного функционирования
сигналы поменяны местами. MEMW используется как RD для чтения из памяти, а IOR используется как WR для ВГ75.
Связано с тем, что порты отображены на память. Обычно для инициализации ПДП используется IOW, но в схеме Радио-86РК туда идёт сигнал записи в память. Т.е. если читать из памяти и писать в порт, то когда ПДП будет рулить шиной, он активирует сигнал IOW, а это по схеме будет запись в память.

Anubis_OD
07.03.2016, 00:14
Ну в РК 8080 проц..сигнал DBIN и прочее. У меня в схеме ( как и в микрокоме) 8085 проц сразу генерит красивые RD и WR c 3-ми состояниями при захвате шин ПДП. Порты конечно отображены в память. Что не позволяет нормально работать в режиме Read transfer? IORD 8237-го (выход с 3-сост. , и вне режима ПДП никому не мешает)в режиме ПДП нормально должен читать память а IOWR 8237 подключено к сигналу WR системы. Контроллеры настраиваются нормально, писк портом издаю - тоже без проблем. Но экран не очищается и завален мусором..

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

А не в этом ли проблема? Р режиме ПДП на озу формируется и RD и WR. Т.е чтобы все работало надо перед самой памятью блокировать сигнал WR при цикле ПДП ?

b2m
07.03.2016, 15:40
Ещё раз. Чтобы выводить в порты ПДП, сигнал записи подаём на IOW. Этот же сигнал используется для записи в память (когда на шине адреса область памяти). В цикле read transfer ПДП одновременно активирует сигналы MEMR и IOW (а также соответствующий каналу DACK, который должен выбирать нужный порт, в нашем случае ВГ75). Так что неважно, куда ты подключишь MEMW, проблема в том, что IOW активирует сигнал записи, а при наличии на шине адреса области памяти будет произведена запись в память, а не устройство.

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


Р режиме ПДП на озу формируется и RD и WR. Т.е чтобы все работало надо перед самой памятью блокировать сигнал WR при цикле ПДП ?
Чтобы всё работало, нужно в цикле ПДП активировать чтение из ОЗУ и запись в ВГ75.

kovdry
07.03.2016, 19:30
Почитайте вот еще:
http://zx-pk.ru/showthread.php?t=19685&page=19
http://www.nedopc.org/forum/viewtopic.php?t=10051

Anubis_OD
07.03.2016, 19:59
Да. Все понял... Спасибо. Можно сделать и по феншую, но надо WR блокировать. Чтобы при цикле ПДП стгнал WR на память не доходил.

Anubis_OD
07.03.2016, 21:20
Не.. РОМ диск еще не готов.. Но процедуры и идеалогия есть.. Проблем не жду.. выложу как нашпигую флешку..Хардварная псевдографика с атрибутами LC0, LC1 будет.

b2m
07.03.2016, 21:39
Почитайте вот еще:
http://www.nedopc.org/forum/viewtopic.php?t=10051
Вот помню, что где-то отвечал уже на эту тему, а где - забыл :)

Anubis_OD
07.03.2016, 21:52
Точно.. пишу с телефона по памяти.. но речь именно про них.

Rokl
21.03.2016, 16:08
Подниму тему.
В схеме применен 8237 контроллер и использован для его тактирования вывод CLKOUT проца 8085.
Хотя в мануале интеловском прямо указано:
"
.... For example, 82C84A-5 CLK output violates
the clock high time requirement of 8237A-5. In this
case 82C84A CLK can simply be inverted to meet
8237A-5 clock high and low time requirements. For
8085AH-2 systems above 3.9 MHz, the 8085
CLK(OUT) does not satisfy 8237A-5 clock LOW and
HIGH time requirements. In this case, an external
clock should be used to drive the 8237A-5.
"

Переведу в 2-х словах. Скважность вывода CLKOUT 8085 не сильно подходит под требования 8237.
Надо как минимум инвертировать сигнал.. И все равно при частоте выше 3.9 Мгц, требования будут нарушены и надо тактировать от другого генератора.

Это из мануала Интел на 5Mhz 8237.

Кто-то сталкивался с этим вопросом?
У меня работает...
Вообще я так понял из мануала, что это у 8284 проблемы с таймингами и 8237... и нужно инвертировать сигнал с 8284 для 8237. А у 8085 всё нормально, но с частотой CLKOUT выше 3,9 Мгц у некоторых экземпляров 8085 могут быть проблемы при совместной работе 8085 и 8237.(у 8085 официально 5 мгц мах частота кварца, а раз CLKOUT 3,9 Мгц, то частота кварца процика 8085 уже 7,8 Мгц, что выше мануала. Потому буржуи подстраховались и рекомендовали тактировать 8237 отдельным генератором и не превышать мануальских 5 мгц для генератора процика 8085.
Во всяком случае у меня более 10 шт. 8085 работали с десятком 8237 без проблем на частотах кварца до 10 Мгц. Да и у вас тоже работает. Так что с этим вопросом не стоит заморачиваться.

Anubis_OD
21.03.2016, 23:23
Думаю что немного не так..
Это из мануала на 8237A-5 (5MHz) и о проце, который обеспечивает CLKOUT -3,9Mhz.
там нормируется:
TCH Clock High Time (Transitions s 10 ns) 80 ns
TCL Clock LOW Time (Transitions s 10 ns) 68 ns

У 8284 генератора CLKOUT имеет скважность 1/3. Т.е Хай тайм при 3,9MHz
1/3,9*0,33=0,084 = 84ns что по мануалу на грани требований в 80ns.

А вот посмотрел параметры CLKOUT у 8085 - там таких проблем нет.
http://i73.fastpic.ru/big/2016/0321/5f/3591e85ac029a33a9ef2d1ae32dede5f.jpg

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

А пока едут заказанные Альтер-ы 7000S (от Хилинкса отказался в пользу 5 вольтовых альтер),
и пока схемки потихоньку рисую, решил с формирование кадровых и строчных СИ разобраться.
Вот такое придумал со строками:
http://i73.fastpic.ru/thumb/2016/0321/42/62b1cc4a42981fc58362c315bd516f42.jpeg (http://fastpic.ru/view/73/2016/0321/62b1cc4a42981fc58362c315bd516f42.jpg.html)
Т.е надо на 2 символа затянуть начало и продлить импульс на 12 символов. (на схеме на 3 показано, потом переделал)
2 ИР8, ТМ2, 1инвертор ЛН1
собрал на беспаячной макетке.
http://i75.fastpic.ru/thumb/2016/0321/86/e6ed923673fb2ed3dfaf4904c9bd0886.jpeg (http://fastpic.ru/view/75/2016/0321/e6ed923673fb2ed3dfaf4904c9bd0886.jpg.html)
На осциллографе - не сигнал - сказка.
На мониторе тоже. строки строго по центру
http://i74.fastpic.ru/thumb/2016/0321/29/af0224b56ffd5d8f6fdfa3a6cd5c0029.jpeg (http://fastpic.ru/view/74/2016/0321/af0224b56ffd5d8f6fdfa3a6cd5c0029.jpg.html)
тестом прописаны первая и последняя значимые строки экранки.
осталось по такому же принципу сделать нужное с кадрами.
там надо частоту сдвига сначала получить делителями.

Anubis_OD
19.04.2016, 21:18
Аналогично сделал с кадровыми импульсами.

http://i78.fastpic.ru/thumb/2016/0419/5f/033088eccee3612feee0399cfc78c55f.jpeg (http://fastpic.ru/view/78/2016/0419/033088eccee3612feee0399cfc78c55f.jpg.html)

Нашел диск от осциллографа. Вот так получилось.


http://i80.fastpic.ru/thumb/2016/0419/fa/ff0396b8cb5d51a76cd32c27f175bcfa.jpeg (http://fastpic.ru/view/80/2016/0419/ff0396b8cb5d51a76cd32c27f175bcfa.jpg.html)

Синий импульс - формирует ВГ-шка, в которой кадровый запрограммирован на 3 строки.
Длина 1472мкс.
Сейчас кварц 25.14Mhz. символ - 0,3182мкс. всего их в строке 0,3182*(78+18)=30,55мкс
3 строки символов (высота 16) = 30,55*16*3=1466,4.
Оно. (с погрешностью графических измерений.)
желтый - после доработки формирователем.
В итоге:
Длительность КСИ - 62мкс (2 строки)
задержана от фронта на 328мкс (10 строк) - передний гасящий.
Задний гасящий - 1082мкс = 35 строк (надо 33, но точнее уже ВГ не позволяет).
Можно легко сделать 11/2/34.
Почти все как по "талмуду".

Anubis_OD
20.04.2016, 12:09
После оптимизации схемы по кол-ву сдвиговых регистров и частот сдвигов
вышло вот так:
http://i77.fastpic.ru/thumb/2016/0420/0e/9832a5851f8e5959a1f93d2263ee880e.jpeg (http://fastpic.ru/view/77/2016/0420/9832a5851f8e5959a1f93d2263ee880e.jpg.html)
Все работает. картинка по центру. Монитор центрует её в режиме Авто. (зебра - наводки от проводов монтажки)
http://i80.fastpic.ru/thumb/2016/0420/51/3e85a9544de72b93ed0f0ac45a7af751.jpeg (http://fastpic.ru/view/80/2016/0420/3e85a9544de72b93ed0f0ac45a7af751.jpg.html)

Мой Виевсоник пишет такое:
http://i77.fastpic.ru/thumb/2016/0420/4d/46a190e35066fa9f93837520cf6cc64d.jpeg (http://fastpic.ru/view/77/2016/0420/46a190e35066fa9f93837520cf6cc64d.jpg.html)

при ВГ-шке, запрограммированной на 18 символов межстрочного и 3 линии межкадрового, и при пиксельклоке 3,1425Mhz - чуть коротковат межстрочный интервал. (есть 5,728мкс - надо 6,356)...и чуть длинноват межкадровый ( надо 1,4299мс - есть 1,4664). Но не критично..

Пора тулить Альтеру на проводках.. С атрибутами буду уже в ней играться.