PDA

Просмотр полной версии : Разработка системы на КР580 серии



Viktor2312
05.10.2015, 21:57
***********************

MM
06.10.2015, 00:54
Хитро замечу, что применения БИС СОЗУ КР537РУ16/РУ17 решит большинство проблем и позволит сделать абсолютно прозрачный видеовывод без снижения производительности конструкции. Еще более упростит ( логически ) конструкцию с видевыходом применение БИС СОЗУ КР132РУ10 ( в районе 60 руб 1 шт, 55-85 нс )
Беларусь-Интеграл допускается ?

shurik-ua
06.10.2015, 01:45
Виктор, собери все микросхемы в кучу и собери что нибудь в духе ретро как например вот тут человек - http://www.nedopc.org/forum/viewtopic.php?f=89&t=9155

вообще я думаю тот форум именно для тебя будет особенно интересным )

MM
06.10.2015, 02:23
...Описания/ссылки, на описание данных микросхем приветствуются. Но беспокоит доставаемость.
КР132РУ10 без аналога , так что только такое описание :
http://www.qrz.ru/reference/kozak/mem/mem02.shtml
http://www.qrz.ru/reference/kozak/mem/mem11.shtml#3
На них можно сделать графический дисплейчик 640х256х1 бит ( 20 кбайт ) с полностью программным скроллом, 0 тактов ожидания ЦПУ.
Продаются в Анионе ( Москва, м. Крестьянския застава, 150 метров ) :
http://www.anion.ru/
Микросхема КР132РУ10А 1996 >1000 54.00 49.00 45.00
Там же есть и ж. вариант БИС, но для богатеньких буратин.
Почтой они не спешат высылать .

Mick
06.10.2015, 08:31
Писать лучше все продумав и взвесив.
И не придираться к конкретным экземплярам микросхем, а то у нас любят на 20 страниц устроит срачь


Продумав и взвесив.
Я так понимаю, очередная реинкарнация ВМИР-1 http://zx-pk.ru/showthread.php?t=18817 :v2_dizzy_facepalm:

tnt23
06.10.2015, 09:51
Но тут потребуется иметь полноценные прерывания, то есть КР580ВН59
и как минимум столько же последовательных портов, сколько и прерываний, то есть КР580ВВ51,
А

Вот тут непонятно, зачем столько же портов, сколько прерываний? Для обслуживания ВВ51, как и вообще любой БИС, достаточно одного прерывания.

bigral
07.10.2015, 19:04
Было пачка тем по этому поводу, одна из них http://zx-pk.ru/showthread.php?t=21938

проблемные моменты:
1. MMU и распределение памяти (если сделать криво то резко ухудшается удобство программирования и эффективность использования памяти);
2. в добавление к первому пункту "стартовый регистр", он нужен изза того что в момент старта с адреса 0 должно сидеть ПЗУ но потом его наличие на том месте ущербно;
3. стандартность шины S100? multibus? isa? это влияет на возможность добавить DMA,multi-CPU и другие расширения компа (самый плохой вариант - ZX BUS);
4. данные микрухи - ЖРУТ! потому если питать платы через общую шину то кучу её выводов надо будет отдать на +5v; возможно стоит рассмотреть вариант подачи 12v по шине и дальнейшего преобразования на самой уже плате отдельно +5v -5v +12v -12v

В общем-то идея "максимального" использования 580/1810 клонов intel СБИС воплощенна в некоторых компах но далеко не на 100%. А было бы прикольно посмотреть, хотябы для того чтоб знать увеличит ли это число корпусов на плате при тех же возможностях или наоборот.

svofski
07.10.2015, 19:04
Один КР580 будет обрабатывать 9 последовательных портов без FIFO? Какая скорость поступления данных планируется при этом?

svofski
07.10.2015, 20:01
большую часть времени будет скорее всего вообще простаивать

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

Ewgeny7
07.10.2015, 23:14
Если скорость так низка и системе нечем заняться, то почему бы просто не опрашивать порты с регулярным интервалом? Это будет эффективней, чем обработка прерываний
Можно нубский вопрос? А чем оно будет эффективней?
Если система ждет прерывания, то и обработка события начнется практически сразу после его возникновения. А если опрашивать порты "по кругу", получая от них 99,999% отказов изза несвоевременности любопытства, то в чем же прикол?

VGrad
07.10.2015, 23:38
1. На сколько массовое производство устройств предполагается ?
Не проще взять какие то материнки и многопортовые платы (MOXA и подобные) ?

2. Выбор 580 процессора связан с некрофилией ? ;)
Почему бы не взять 1810 ?
- программировать проще
- схемотехника не сложнее
- одно питание (!)
- каскадируемые контроллеры прерываний, которые решат вопрос вопрос с количеством подключенных 51 портов
- и т.д.

3. Зачем городить видео, клавиатуру ... ?
Выделить один порт для подключения терминала или PC и всё ;)

4. Про статическую память вам уже рассказали.

P.S. в конце 80-х участвовал в разработке подобной платы на многопоследовательных портов ;)

svofski
08.10.2015, 02:27
А чем оно будет эффективней?
Если система ждет прерывания, то и обработка события начнется практически сразу после его возникновения. А если опрашивать порты "по кругу", получая от них 99,999% отказов изза несвоевременности любопытства, то в чем же прикол?
Просто поверхностная оценка. Виктор сказал, что система супер простая, ОС не предполагается и она будет исполнять какую-то одну программу с узко ограниченным набором функций. Значит все эти функции можно распланировать и выделить каждой из них свой временной слот в основном цикле.

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

Вот если бы была FIFO, да еще и такая, что генерируется запрос прерывания на половину загрузки, прерывания позволили бы сэкономить время за счет выгрузки накопившегося в каждом канале в пакетном режиме.

Пришла в голову еще идея. Наверное, для 580-го и подобной конструкции оптимальная. Оставить одно прерывание (без ВН59). Выходы IRQ всех 9 последовательных портов объединить по ИЛИ. Если прерывание возникает, обработчик опрашивает все 9 портов, затем выполняет обработку и отображение, затем возвращается в основной цикл. Основной цикл состоит из двух инструкций: EI, HLT. Преимущества: нету ВН59, опрос портов минимум на 1/9 по делу, в случае отсуствия данных в каналах процессор остановлен и остывает, можно спокойно злоупотреблять стеком, несмотря на использование прерывания, все поведение детерминированное.

VGrad
08.10.2015, 03:13
... некрофилия ...

Да.

Понятно :v2_dizzy_facepalm:

Удачи.

Ewgeny7
08.10.2015, 08:54
VGrad, а что не так-то?
На этом форуме народ собрался в основном как раз не ПЛИСы или микроконтроллеры за хвост таскать. А большей частью 580/Z80.
Тут некрофилов хватает с избытком, по твоей классификации :)

---------- Post added at 08:54 ---------- Previous post was at 08:49 ----------


Оставить одно прерывание (без ВН59). Выходы IRQ всех 9 последовательных портов объединить по ИЛИ.
Скромно отмечу, что я бы именно так и сделал конструктив, даже не задумываясь.
Зачем городить огород с контроллером ВН59? Ну, если только for fun, чтобы использовать 580-й комплект по-максимуму, тогда - да.

bigral
08.10.2015, 18:45
По поводу "таких" DRAM (ру3/ру6/ру5) нужно сказать что они требуют регенерации (а внутренних счетчиков для ROW (RAS) адреса у них нету, а городить схему на счетчиках + логике, пускай даже загнанной в 556РТ1, это значит плодить корпуса на плате) которую можно сделать:
1) как в том же РК86, там этим занимается DMA совмещенный с видеоконтроллером (поправте если туплю), так что дополнительный контроллер не нужен;
2) как в расширителях памяти ПОИСК-1, есть такое чудо как 1810ВТ3 (это специальная СБИС для "таких" DRAM); только мне не ясно, можно ли построить на этом схему, которая гарантированно предоставит данные (скажем для двойного буфера строк в ВГ75 или еще круче для video-dac) с заданной задержкой?

---------- Post added at 18:45 ---------- Previous post was at 18:18 ----------



- для меня сложнее.


У 1810вм88 есть один жирный плюс это КМ1810ВМ89 (как я понял выпускался токо в керамике и золоте) который добавляет в систему процессор "канала" (типо как в IBM360 mainframe). Причем как я понял вполне можно наваять схему в которой будет висеть много сопроцессоров i8089 (не ясно при этом, легко ли добавить в такую схему много i8088+i8087). Также сегментно-адресуемое пространство 1Mb против 64k у i8080.

Ewgeny7
08.10.2015, 22:21
Viktor2312, раз ты делаешь "на борту" сразу и видео на ВТ и ВГ, наверное есть смысл взять за основу схему Радио-86РК. Далее путем дробления на модули и добавления недостающего и вырисуется схема ТТ-1.

b2m
08.10.2015, 22:36
Радио-86РК мне очень, очень сильно не нравится, с отсутствием, использования команд IN и OUT
Тогда бери схему Юниора (ПК ФВ-6506).

svofski
08.10.2015, 23:07
Мне кажется, что лучше взять оригинал, с которого драли, так как Радио-86РК мне очень, очень сильно не нравится, с отсутствием, использования команд IN и OUT, а у меня они будут использоваться обязательно.
Команды IN/OUT не самое лучшее, что есть в КР580. Во времена жесточайшей экономии корпусов это позволяло выгадать пару чипов на дешифрации адреса. Какой смысл сейчас этим пользоваться? В чем сила инструкций IN и OUT?

Отображение портов на основное адресное пространство позволило бы использовать более гибкие инструкции для ввода-вывода. Например, MOV M, R, MOV R, M, MVI M, #xx, INR/DCR M. Для проверки и модификации битов состояния удобны ANA M/ORA M/XRA M. Обычный IN/OUT в такой схеме становится LDA/STA. Даже можно LHLD/SHLD использовать для парных регистров. Собственно, если отобразить все порты на одну страницу в 256 байт, можно сохранить и инструкции IN/OUT в полной силе на тот случай, если вдруг они окажутся чем-то удобны.

Какими порциями ВТ57+ВГ75 будут захватывать шину? То есть, на какие интервалы и с какой периодичностью процессор будет отключаться и пребывать в коме, не принимая данные? В 86рк не было другой заботы, а тут 9 каналов данных.

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

Elvys
08.10.2015, 23:07
To Viktor2312: Можно поинтересоваться, чем вызвано использование в качестве буферов ША мс К155ЛП10 (3 шт.) вместо обычных для этого 2 шт. мс КР580ИР82 (83)?

Elvys
08.10.2015, 23:56
Контроллеру КР580ВТ57 не требуется никаких арбитров шины. Вот цитата из описания:
В системе может стоять несколько КПДП, но при этом они соединяются каскадно (один ведущий, остальные ведомые). Сигнал с выхода HRQ ведомого заводится не на вход HOLD МП, а на вход DREQ одного из каналов ведущего. Если какой-либо канал КПДП настроен на каскадный режим, значит к входу DREQ этого канала подключен ведомый контроллер

svofski
09.10.2015, 00:16
Да не нужно этого всего усложнения, нужна простая, надёжная, стандартная, проверенная годами схема.
Это упрощение, а не усложнение. Минус специальные схемы, которые отличают обмен с устройством от обмена с памятью.

Elvys
09.10.2015, 00:31
Тоже вот сейчас почитал про ВВ51А и так понял, что для организации аппаратного контроля приема\передачи, на одну мс надо два прерывания использовать. Одно на принятый байт, второе на отправляемый. Если будет 9 шт. последовательных портов с аппаратным контролем, то ВН59 потребуется каскадировать аж три штуки.

Elvys
09.10.2015, 18:43
Процессор КР580ВМ80А действительно дублирует младшую половину шины адреса в старшей половине, при обработке инструкций IN addr и OUT addr. ADDR - это 256-битный адрес внешнего устройства. Команды IN 0Fh и OUT 0Fh установят на шине адреса то же самое, что и LDA 0F0Fh и STA 0F0Fh.
Во вложении немного инфы по работе с ВВ51.

tnt23
09.10.2015, 21:57
MIDI-интерфейс будет?

tnt23
09.10.2015, 23:05
Вообще с технической точки зрения MIDI очень удобен. Физически это токовая петля, то есть для него нужно всего 2 провода. Далее, может бегать на большие расстояния, десятки метров. И гальваническая развязка за счет применения оптронов (например, отечественных серий АОТ, АОД).

Огромное количество устройств ввода использует MIDI. Типовая клавиатура стоит рублей 500, и является практически дармовым источником ввода данных в компьютер. Есть также масса всяких контроллеров с ручками (крутилками), кнопками, педалями и т.д.

Elvys
10.10.2015, 14:25
Если линия связи будет под километр, придется rs-232 доработать до rs-422 :)
http://www.shematic.net/images/pages/INTERFACES/RS232_to_RS422.gif
Смысл, я думаю, понятен из схемы. Аналог иноземной микросхемы - К1102АП18.

HardWareMan
10.10.2015, 14:49
А что, токовая петля нынче не в моде?

Elvys
10.10.2015, 19:32
Не только гальваническая развязка. Усилители преобразуют однопроводную линию в двухпроводную противофазную. Это позволяет повысить помехозащищенность и увеличить скорость обмена по линии. Так, однопроводной RS-232 позволит без проблем организовать связь на 100 метров при скорости до 300 - 1200 бод, а двухпроводной RS-422 при той же протяженности линии, позволит поднять скорость до предельной для ВВ51.
Кроме того, между RS-232 и RS-422 полная программная совместимость по протоколу. Различна только физическая реализация, и то не смертельно.

svofski
10.10.2015, 19:48
Вообще с технической точки зрения MIDI очень удобен. Физически это токовая петля, то есть для него нужно всего 2 провода. Далее, может бегать на большие расстояния, десятки метров. И гальваническая развязка за счет применения оптронов (например, отечественных серий АОТ, АОД).

Главная идея — это объединение устройств в цепочку. Не надо делать 9 портов для сбора данных с 9 источников. Одного достаточно. Токовая петля при этом необязательное требование, если все устройства стоят в одной корзине.

Elvys
10.10.2015, 21:13
Один делитель на все ВВ51 сразу, и все порты с одной скоростью приема \ передачи?

tnt23
10.10.2015, 22:19
Почему бы для получения нужной опорной частоты не использовать БИС ВИ53?

Elvys
11.10.2015, 00:07
Ну, если кроме 9600 другие скорости не нужны, почему бы и не использовать обычные счетчики. Можно даже мультивибратор на 9600 Гц использовать. И это написали в уважаемом журнале "Мурзилка" №06 за 1989 год.

Elvys
11.10.2015, 00:43
Я вот тоже как-то больше доверяю кварцованному генератору. Есть такая мс, к561ие15 (http://lib.qrz.ru/node/5376). У нее коэффициент деления устанавливается от 3 до десятков тысяч. Можно использовать кварцевый генератор ( или другой источник синхросигнала ) на 1,8432 Мгц и эту мс с коэффициентом деления 192.

Mick
11.10.2015, 12:32
Ну, если кроме 9600 другие скорости не нужны, почему бы и не использовать обычные счетчики. Можно даже мультивибратор на 9600 Гц использовать. И это написали в уважаемом журнале "Мурзилка" №06 за 1989 год.

Да ну, скан в студию.

Elvys
11.10.2015, 18:42
...скан в студию.
Правый верхний угол страницы. :)
http://www.radioway.ru/images/big/1989/06/_1989_06_41.gif

svofski
11.10.2015, 19:12
AVR, да и наверное многие другие микроконтроллеры, имеют встроенный RC осциллятор. Последовательный интерфейс с ним работает на небольших скоростях приемлемо, хотя иногда требует калибровки.

KeKc
19.10.2015, 17:35
Виктор, а зачем сделали подтяжку на шине адреса и управления? Просто никогда раньше не видел.

Ewgeny7
19.10.2015, 17:43
Просто никогда раньше не видел
Просто это никогда и не делают. Ну, кроме Виктора, конечно.

Ewgeny7
20.10.2015, 14:52
возможно и увеличится быстродействие - это я так понимаю влияет на формирование фронтов сигналов, при длинных проводниках на плате
При входе/выходе в Z-состояние это ускоряет "наполнение шины", вроде как. Если у тебя процессор не будет отдавать шину адреса на руление другим, то лишние резисторы только лишнюю нагрузку дадут на выходы проца.

Elvys
21.10.2015, 16:56
Какую функцию выполняет, или будет выполнять, буферный регистр D16? И еще, монитор напряжения питания (http://lib.chipdip.ru/030/DOC001030243.pdf) случаем нет желания поставить?
По поводу подтяжки адресной шины, для сомневающихся:
Загадочные Е1, Е2, Е3 - не что иное, как сборки резисторов.

Elvys
21.10.2015, 17:50
И ошиблись как вроде в нумерации выводов
Ну, это естественно. Техническая литература в СССР пестрит подобными ляпами. Ощущение, что все наборщики в типографиях были диверсантами, работающими на ЦРУ :)

оно от ATX БП будет питаться
Оно же производства наших потенциальных противников :)

По поводу ВК28. Для нее сигналы /BUSEN и HLDA значат одно и то же? Т.е. любой из них отключит у ВК28 как линии данных, так и линии управления памятью и вводом-выводом?

Elvys
21.10.2015, 18:21
У ВК28 сигналы /MW и /IOW останутся активными при этом? Это я к чему, HLDA, получается, не полностью отключает ВК28. Может, имеет смысл в подаче HLDA от процессора на вход /BUSEN у ВК28?
у меня HLDA подан на ВК28 и на /OE буферов адресной шины (объединен по ИЛИ с сигналом /BUSEN ). Что бы ВТ57 могла спокойно адресную шину занимать для адресации ОЗУ.

костя
21.10.2015, 20:10
когда уже пайка системы начнется?

shurik-ua
21.10.2015, 20:14
когда уже пайка системы начнется?
после пайки ещё и софт нужен - а иначе получится эмулятор резистора )

Elvys
21.10.2015, 21:23
Я осваиваю сейчас Dip Trace, свободная версия с поддержкой до 1000 контактов. За месяц освоил 30% программы :) Выбрал ее за возможность сразу экспортировать схему в печатную плату и возможность авто трассировки.

такие схемы даже читать не могу
А какие - "могу"? :)

Elvys
21.10.2015, 23:58
Хм, сейчас попробовал Splan 7. Раз в десять проще Дип Трейса. Но библиотеки под 580 комплект нигде не найти. Придется, видимо, в редакторе рисовать, поминая ГОСТ добрым словом :)