Доработки схемы Орион

Компьютер Орион-128 (1990) расширяемый до 256 КБ и его развитие

Moderator: Shaos

User avatar
FizikS
Doomed
Posts: 352
Joined: 11 Oct 2018 00:52
Location: г. Клинцы, Брянская обл.

Доработки схемы Орион

Post by FizikS »

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

Что хочется получить на выходе:
** переработать синхрогенератор для работы с VGA дисплеем без дополнительных конвертеров, сохранив возможность работы с бытовым телевизором;
** интегрировать схему Турбо 200%;
** использовать статическую память на 16 бит - исключительно ради уменьшения печатной платы и упрощения разводки;
** разработать печатную плату для модернизации собранного компьютера.

В качестве исходного варианта взял схему с этого форума: viewtopic.php?t=23931

Первая доработка схемы - замена всех микросхем 155-й серии (SN74xx) на 1533 серию (SN74ALSxx).
Оставил только счетчики 155ИЕ5 (7493), 155ТМ7 (7475), 155ИР13 (74198). Замены производил по одной - двум микросхемам, контролируя корректность симуляции схемы. Такой подход позволил быстро находить проблемные места при замене микросхем. Кое где пришлось добавлять пару инверторов для задержки сигналов. Это цепи 70, 87, 61 и сигнал с выхода элемента DD16.A (3 нога)
Для проверки симуляции пришлось писать простенькую программу (написана очень коряво, но мне хватает), которая рисует шахматное поле из квадратов 8*8 точек на экране. После запуска она копирует себя из ПЗУ в ОЗУ и работает уже в ОЗУ. Это позволяет проверить работу ОЗУ, причем значительно быстрее, чем ждать запуска стандартного монитора.
ORION_ALS1.PNG
Проект в архиве. Версия Proteus 8.17 SP5
You do not have the required permissions to view the files attached to this post.
User avatar
FizikS
Doomed
Posts: 352
Joined: 11 Oct 2018 00:52
Location: г. Клинцы, Брянская обл.

Re: Доработки схемы Орион

Post by FizikS »

Небольшая доработка схемы ПК Орион.
Изменено:
Полностью переработан синхрогенератор.
- на горизонтальную развертку установлены синхронные счетчики 74ALS161
- на вертикальную развертку установлен счетчик 74HC4040
- добавлен сдвиг растра по вертикали (DSW1 на схеме). Верхний включенный дип переключатель соответствует наибольшему смещению растра вниз
- реализована поддержка 3-х разрешений экрана с настройками. 384*256, 480*256, 512*256. Возможна некорректная симуляция отображения картинки из-за несовершенной модели RGBIOUT.DLL. На дешифраторах U5, U6 реализованы формирователи сдвига сигналов гашения и строчного синхроимпульса. Начало импульса гашения выбирается переключением входов 6,5,4,3 мультиплексора U40 к выходам дешифраторов. Синхроимпульс двигается переключением диодов D13,D14; D15,D16; D17,D18.
- упрощена схема управления регистрами сдвига 74198, формирующими изображение
- заменены прозрачные летчи 74LS373 на защелки 74ALS574
- изменено управление буфером шины данных процессора
- арбитр памяти и эмуляторы сигналов i8080 (на инверторах) пришлось оставить "медленными" серии 74xx.
Orion_ALS_161.PNG
You do not have the required permissions to view the files attached to this post.
User avatar
FizikS
Doomed
Posts: 352
Joined: 11 Oct 2018 00:52
Location: г. Клинцы, Брянская обл.

Re: Доработки схемы Орион

Post by FizikS »

Еще одна доработка схемы: замена 2-х восьмибитных микросхем SRAM одной 16-ти битной. Получаем в одной микросхеме ОЗУ 512 кБт памяти и цвет.
Симуляция проходит нормально.
Необходимо установить модели для Proteus отсюда: viewtopic.php?t=24264
Orion_SRAM_16_bit.PNG
You do not have the required permissions to view the files attached to this post.
User avatar
FizikS
Doomed
Posts: 352
Joined: 11 Oct 2018 00:52
Location: г. Клинцы, Брянская обл.

Re: Доработки схемы Орион

Post by FizikS »

Пересмотрел еще раз даташит на 16 битную память, и понял, что схему включения можно немного упростить. Оказалось, что при активном сигнале /OE можно производить запись в микросхему.
Orion_SRAM_16_bit1.PNG
Измененная схема во вложении.
You do not have the required permissions to view the files attached to this post.
User avatar
FizikS
Doomed
Posts: 352
Joined: 11 Oct 2018 00:52
Location: г. Клинцы, Брянская обл.

Re: Доработки схемы Орион

Post by FizikS »

Очередная доработка схемы Орион. Теперь начинаем упрощать схему, используя микросхемы программируемой логики. Я выбрал для этих целей GAL22V10.
Первая доработка: меняем управление статическим ОЗУ. При применении GAL больше не нужно задерживать сигнал, формируемый элементом DD16.A.
Легко заметить, что заменяемая часть схемы представляет собой узел комбинационной логики, который легко описывается логическими уравнениями, по которым несложно "состряпать" прошивку для GAL-ки.

Code: Select all

Name       GAL1.pld;
Partno     ;
Date       ;
Revision   ;
Designer   ;
Company    ;
Assembly   ;
Location   ;
Device     P22V10;



/* *************** INPUT PINS *********************/
PIN  2 = N87;
PIN  3 = N73;
PIN  4 = N43;
PIN  5 = N118;
PIN  6 = N83;
PIN  7 = BA12;
PIN  8 = BA11;
PIN  9 = BA10;
PIN 10 = BA13;
PIN 11 = BA14;
PIN 13 = BA15;   
/* *************** OUTPUT PINS *********************/
PIN 23 = RAM_WE; 
PIN 21 = N94 ;  
PIN 20 = N95; 
PIN 19 = RAM_LB; 
PIN 18 = RAM_UB; 
PIN 17 = N92; 
PIN 16 = N93;
PIN 15 = N112;
PIN 14 = NAF4;
/* ********* */
NAF  = BA12 & BA13 & BA14 & BA15; /* select addr. 0FxxxH */
N112 = !(BA11 & NAF # N83);
A    = !(!NAF & N118);
C    = !(N73 & N43);
E    = N87;
D    = N87;
NAF4 = !(BA10 & NAF);
F    = N112 & NAF4;

/* --- 74155--*/
E1 = !E & F;
E2 = !D & !C;
N94 = !(E1 & !A);
N95 = !(E1 &  A);
N92 = !(E2 & !A);
N93 = !(E2 &  A);
/* END OF 74155 */

RAM_WE =   N92 & N93;
RAM_LB = !N92;
RAM_UB = !N93;

GAL0.png
GAL1.PNG
You do not have the required permissions to view the files attached to this post.
User avatar
FizikS
Doomed
Posts: 352
Joined: 11 Oct 2018 00:52
Location: г. Клинцы, Брянская обл.

Re: Доработки схемы Орион

Post by FizikS »

Двигаемся не спеша дальше.
Очередная доработка: заменяем печкообразные К155ИР13 на CPLD. В теории должны получить экономию по энергопотреблению, узкий корпус, возможность работы в VGA режиме на частоте около 33 МГц. Можно попробовать применить КР1533ИР13, но цены на них...
На сегодняшний момент реализовал 2 варианта замены:

1. на GAL22V10 - получается полный функциональный аналог К155ИР13
2. на GAL20V8 - получается частичный функциональный аналог К155ИР13. Отличия: вход "Сброс" - синхронный вместо асинхронного, как у К155ИР13, входы SR, SL не реализованы по причине нехватки свободных контактов у GAL20V8. В Орион-128 они не используются, поэтому переживать не будем.

Рассмотрим вариант №2, т.к. он по цене вопроса самый экономичный получается. (закупился этих микросхем по 25 руб/шт, жду, когда приедут)

С этой микросхемой есть проблема: в Proteus Pro она симулируется с ошибкой. Для устранения идем сюда: viewtopic.php?p=185194#p185194 и проводим лечение.
Писать прошивку в Win CUPL II не получится (не поддерживается эта микросхема), придется использовать старую версию Win CUPL.

Прошивка GAL20V8 для замены К155ИР13:
155IR13_diagram.png

Code: Select all

Name     GAL_IR13_20V8 ;
PartNo   00 ;
Date     14.09.2026 ;
Revision 01 ;
Designer Fizik_S ;
Company  RST-2 ;
Assembly None ;
Location  ;
Device   g20v8a ;


/* *************** INPUT PINS *********************/
PIN  1   =  CLK ; /*                              */ 
PIN  2   =  D0 ;
PIN  3   =  D1 ;
PIN  4   =  D2 ;
PIN  5   =  D3 ;
PIN  6   =  D4 ;
PIN  7   =  D5 ;
PIN  8   =  D6 ;
PIN  9   =  D7 ;

PIN 10   =  S0 ;
PIN 11   =  S1 ;

PIN 23   =  MR ; /* MR = 0 - RESET, MR =1 - NORMAL WORK */


                           

/* *************** OUTPUT PINS *********************/
PIN 22 = Q0; /*                                 */ 
PIN 21 = Q1; /*                                 */ 
PIN 20 = Q2; /*                                 */ 
PIN 19 = Q3; /*                                 */ 
PIN 18 = Q4; /*                                 */ 
PIN 17 = Q5; /*                                 */ 
PIN 16 = Q6; /*                                 */ 
PIN 15 = Q7; /*                                 */ 

/*------------*/

MSAVE = !S0 & !S1 & MR; /* 0 SAVE */
MSL   = !S0 &  S1 & MR; /* 2 SHIFT LEFT */
MSR   =  S0 & !S1 & MR; /* 1 SHIFT RIGHT */
MLOAD =  S0 &  S1 & MR; /* 3 PARALLEL LOAD */

SR = 'B'0;
SL = 'B'0;

Q0.D = Q0 & MSAVE # SR & MSR # Q1 & MSL # D0 & MLOAD;

Q1.D = Q1 & MSAVE # Q0 & MSR # Q2 & MSL # D1 & MLOAD;
Q2.D = Q2 & MSAVE # Q1 & MSR # Q3 & MSL # D2 & MLOAD;
Q3.D = Q3 & MSAVE # Q2 & MSR # Q4 & MSL # D3 & MLOAD;
Q4.D = Q4 & MSAVE # Q3 & MSR # Q5 & MSL # D4 & MLOAD;
Q5.D = Q5 & MSAVE # Q4 & MSR # Q6 & MSL # D5 & MLOAD;
Q6.D = Q6 & MSAVE # Q5 & MSR # Q7 & MSL # D6 & MLOAD;
Q7.D = Q7 & MSAVE # Q6 & MSR # SL & MSL # D7 & MLOAD;

ORION_GAL2.PNG
You do not have the required permissions to view the files attached to this post.
User avatar
FizikS
Doomed
Posts: 352
Joined: 11 Oct 2018 00:52
Location: г. Клинцы, Брянская обл.

Re: Доработки схемы Орион

Post by FizikS »

Следующая доработка: убираем мультиплексоры U56, U57 в формирователе сигналов RGBI и ставим вместо них одну GAL20V8
ORION_GAL3.PNG
You do not have the required permissions to view the files attached to this post.
User avatar
FizikS
Doomed
Posts: 352
Joined: 11 Oct 2018 00:52
Location: г. Клинцы, Брянская обл.

Re: Доработки схемы Орион

Post by FizikS »

Упрощаем схему мультиплексора адресов ОЗУ. Все 5 1533КП11 (74ALS257) меняем на 3 штуки GAL20V8. Остаются свободными входы и выходы, которые можно пустить на увеличение объема ОЗУ до 2 МБ.
Прошивка GAL:

Code: Select all

Name     GAL_KP11 ;
PartNo   00 ;
Date     19.09.2026 ;
Revision 01 ;
Designer Fizik_S ;
Company  RST-2 ;
Assembly None ;
Location  ;
Device   g20v8a ;

/* *************** INPUT PINS *********************/
PIN  1 = A0; /* */ 
PIN  2 = A1; /* */ 
PIN  3 = A2; /* */ 
PIN  4 = A3; /* */ 
PIN  5 = A4; /* */ 
PIN  6 = A5; /* */ 
PIN  7 = A6; /* */ 

PIN  8 = B0; /* */ 
PIN  9 = B1; /* */ 
PIN 10 = B2; /* */ 
PIN 11 = B3; /* */ 
PIN 13 = B4; /* */ 
PIN 14 = B5; /* */ 
PIN 23 = B6; /* */ 

PIN 15 = AB; /* */ 


/* *************** OUTPUT PINS *********************/
PIN 22 = Y0 ; /* */ 
PIN 21 = Y1 ; /* */ 
PIN 20 = Y2 ; /* */ 
PIN 19 = Y3 ; /* */ 
PIN 18 = Y4 ; /* */ 
PIN 17 = Y5 ; /* */ 
PIN 16 = Y6 ; /* */ 

/*                    */
Y0  =  A0  & !AB # B0 & AB;
Y1  =  A1  & !AB # B1 & AB;
Y2  =  A2  & !AB # B2 & AB;
Y3  =  A3  & !AB # B3 & AB;
Y4  =  A4  & !AB # B4 & AB;
Y5  =  A5  & !AB # B5 & AB;
Y6  =  A6  & !AB # B6 & AB;

ORION_GAL4.PNG
You do not have the required permissions to view the files attached to this post.
imsushka
Doomed
Posts: 422
Joined: 01 Jan 2022 04:34
Location: USSR, Tashkent

Re: Доработки схемы Орион

Post by imsushka »

осталось заменить 8080 на EM3512 и будет щастье :rotate:
User avatar
FizikS
Doomed
Posts: 352
Joined: 11 Oct 2018 00:52
Location: г. Клинцы, Брянская обл.

Re: Доработки схемы Орион

Post by FizikS »

Тогда уж лучше мурмулятор - дешевле выйдет.