Всем привет!
В этой теме буду выкладывать свои доработки схемы компьютера Орион. Кое-какие результаты уже достигнуты, но уже трудно что-либо вспомнить по последовательности доработок. Поэтому решил постить здесь все с нуля, восстанавливая доработки в хронологическом порядке (думаю, будет полезно в образовательных целях).
Что хочется получить на выходе:
** переработать синхрогенератор для работы с 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 точек на экране. После запуска она копирует себя из ПЗУ в ОЗУ и работает уже в ОЗУ. Это позволяет проверить работу ОЗУ, причем значительно быстрее, чем ждать запуска стандартного монитора.
Проект в архиве. Версия Proteus 8.17 SP5
Доработки схемы Орион
Moderator: Shaos
-
FizikS
- Doomed
- Posts: 352
- Joined: 11 Oct 2018 00:52
- Location: г. Клинцы, Брянская обл.
Доработки схемы Орион
You do not have the required permissions to view the files attached to this post.
-
FizikS
- Doomed
- Posts: 352
- Joined: 11 Oct 2018 00:52
- Location: г. Клинцы, Брянская обл.
Re: Доработки схемы Орион
Небольшая доработка схемы ПК Орион.
Изменено:
Полностью переработан синхрогенератор.
- на горизонтальную развертку установлены синхронные счетчики 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.
Изменено:
Полностью переработан синхрогенератор.
- на горизонтальную развертку установлены синхронные счетчики 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.
You do not have the required permissions to view the files attached to this post.
-
FizikS
- Doomed
- Posts: 352
- Joined: 11 Oct 2018 00:52
- Location: г. Клинцы, Брянская обл.
Re: Доработки схемы Орион
Еще одна доработка схемы: замена 2-х восьмибитных микросхем SRAM одной 16-ти битной. Получаем в одной микросхеме ОЗУ 512 кБт памяти и цвет.
Симуляция проходит нормально.
Необходимо установить модели для Proteus отсюда: viewtopic.php?t=24264
Симуляция проходит нормально.
Необходимо установить модели для Proteus отсюда: viewtopic.php?t=24264
You do not have the required permissions to view the files attached to this post.
-
FizikS
- Doomed
- Posts: 352
- Joined: 11 Oct 2018 00:52
- Location: г. Клинцы, Брянская обл.
Re: Доработки схемы Орион
Пересмотрел еще раз даташит на 16 битную память, и понял, что схему включения можно немного упростить. Оказалось, что при активном сигнале /OE можно производить запись в микросхему.
Измененная схема во вложении.
Измененная схема во вложении.
You do not have the required permissions to view the files attached to this post.
-
FizikS
- Doomed
- Posts: 352
- Joined: 11 Oct 2018 00:52
- Location: г. Клинцы, Брянская обл.
Re: Доработки схемы Орион
Очередная доработка схемы Орион. Теперь начинаем упрощать схему, используя микросхемы программируемой логики. Я выбрал для этих целей GAL22V10.
Первая доработка: меняем управление статическим ОЗУ. При применении GAL больше не нужно задерживать сигнал, формируемый элементом DD16.A.
Легко заметить, что заменяемая часть схемы представляет собой узел комбинационной логики, который легко описывается логическими уравнениями, по которым несложно "состряпать" прошивку для GAL-ки.
Первая доработка: меняем управление статическим ОЗУ. При применении 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;
You do not have the required permissions to view the files attached to this post.
-
FizikS
- Doomed
- Posts: 352
- Joined: 11 Oct 2018 00:52
- Location: г. Клинцы, Брянская обл.
Re: Доработки схемы Орион
Двигаемся не спеша дальше.
Очередная доработка: заменяем печкообразные К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:
Очередная доработка: заменяем печкообразные К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:
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;
You do not have the required permissions to view the files attached to this post.
-
FizikS
- Doomed
- Posts: 352
- Joined: 11 Oct 2018 00:52
- Location: г. Клинцы, Брянская обл.
Re: Доработки схемы Орион
Следующая доработка: убираем мультиплексоры U56, U57 в формирователе сигналов RGBI и ставим вместо них одну GAL20V8
You do not have the required permissions to view the files attached to this post.
-
FizikS
- Doomed
- Posts: 352
- Joined: 11 Oct 2018 00:52
- Location: г. Клинцы, Брянская обл.
Re: Доработки схемы Орион
Упрощаем схему мультиплексора адресов ОЗУ. Все 5 1533КП11 (74ALS257) меняем на 3 штуки GAL20V8. Остаются свободными входы и выходы, которые можно пустить на увеличение объема ОЗУ до 2 МБ.
Прошивка GAL:
Прошивка 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;
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: Доработки схемы Орион
осталось заменить 8080 на EM3512 и будет щастье 
-
FizikS
- Doomed
- Posts: 352
- Joined: 11 Oct 2018 00:52
- Location: г. Клинцы, Брянская обл.
Re: Доработки схемы Орион
Тогда уж лучше мурмулятор - дешевле выйдет.
