Вход

Просмотр полной версии : Программатор 1801РР1 к УКНЦ.



Ynicky
11.06.2020, 21:52
Есть в наличии много КМ1801РР1 и две УКНЦ. Одна "уникальная", а другая
"стандартная". А программатора нет. В исходниках Дябина Михаила нашел
программу PROGR.MAC. Как сказал Михаил - она для программатора к ДВК.
По исходному коду вроде понятно как работает программатор, поэтому
решил сделать похожий для УКНЦ. Схему набросал. Перед разводкой хотел
бы уточнить несколько вопросов.
Создал .SAV файл и запустил на УКНЦ.
https://pic.maxiol.com/thumbs2/1591901178.1845267016.20200603202320.jpg (https://pic.maxiol.com/?v=1591901178.1845267016.20200603202320.jpg&dp=2)
Как я понял эта программа запускается в ЦП. Это значит программатор
должен быть вместо контроллера СА. А можно ли запустить ее из ПП?
Чтобы использовать два разъема сверху УКНЦ.
И если у кого-нибудь есть время и желание - посмотрите схему на наличие ошибок.
Адреса регистров немного изменил для лучшей оптимизации логики.
Элементы в программаторе применил те, которые у меня есть в наличии.

https://cloud.mail.ru/public/4aCe/w8EvJ3FBQ - исходник.
https://cloud.mail.ru/public/CyPE/3m346utM7 - схема.

MM
11.06.2020, 23:20
схему
Сигнал RPLY 1801РР1 никуда не идет ?


А программатора нет
См. "Стенд БК" :
https://zx-pk.ru/threads/21762-stend-mpi-sistem-tipa-bk-opisanie.html
Адреса регистров - 177670-177672, доп. окно - 177770-177772 ( не используется в 32-бит варианте ).
Для ДВК это выпускалось в виде полных плат, на выходе были КР531АП2. Для УКНЦ - специальное исполнение в виде 2 шт. полуплат, для слота СА ЦП через маленькую корзинку на 2 шт. полуплаты ДВК.

В данный момент софт остро заточен под БК0010 - 019 ПЗУ, и т.н. 1285 - ссылки на образы дисков для БК11М в наличии.

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

По Э3 ТС - задерживать RPLY в УКНЦ нет необходимости - можно обойтись простым германиевым диодиком Д9Б вместо транзистора с конденсатором, от вых. ДД1.3

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

П.С.
"Ушатанные" РР1 можно "реанимировать" подстройкой вх. напряжения программатора в рамках +22....30 в. - ПВГ будет неплохим.
*
ДПП Стенда БК и Программатора к нему до сих пор в продаже.

AFZ
12.06.2020, 06:56
Могу подкинуть идею программатора. Когда я нашел свою коллекцию прошитых РР1 (279, 183, 184 и 093), то, не долго думая, взял АТмегу8515 (ради 40 ног, лежат у меня несколько штук в коробочке) и сочинил читалку. Склепал ее, по-простому, лазерным утюгом, вычитал все м/с, слил через USART на писюк и опубликовал. Потом, почитав ДШ на эту РР1 понял, что добавить туда ключик на повышенное напряжение, переписать софтину и получится программатор для этих РР-ок. Но, поскольку их у меня нет и не предвидится, идея так и осталась в воздухе.

Да, по слухам, у этой РР-ки регистр адреса банка, в который ляжет массив ее памяти, программируется однократно, стереть его нельзя.

Ynicky
12.06.2020, 07:47
Сигнал RPLY 1801РР1 никуда не идет ?
В программе есть эмуляция этого сигнала, но на всякий случай объединю его и эмулируемый через диоды с резистором на питание.

SuperMax
12.06.2020, 08:01
Да, по слухам, у этой РР-ки регистр адреса банка, в который ляжет массив ее памяти, программируется однократно, стереть его нельзя.
это не слухи это официальная позиция производителя.
однако, есть соображение, что можно попробовать стереть рентгеном.

AFZ
13.06.2020, 07:04
Говоря "по слухам", я имел в виду, что я в этом не совсем уверен, читал об этом достаточно давно, мог и перепутать что-нибудь с чем-нибудь.

А о стирании рентгеном у меня противоречивые данные. Лет 15-20 назад потрошилось много старья (по тем временам), и там часто попадались 27256-27512 в пластике без окошка, фактически, однократки. Их тоже пытались тереть рентгеном и у кого-то получалось нормально, а у кого-то стиралось, но потом не записывалось. Естественно, вопрос в спектре излучения и в дозе облучения, но, во-первых, оно, скорее всего, индивидуально для разных чипов, а, во-вторых, подбирать эти параметры - упаришься, и микросхем перепортишь...

И вообще, РЕ-мулятор никто не отменял. Правда по нему у меня тоже есть пара вопросов. Во-первых, странно, что пришлось применять экстремальные меры по ускорению работы в виде написания софтины на асме и переноса ее в ОЗУ МК. Когда я отлаживал AZ на F103, я никаких проблем, связанных со скорострельностью МК, не заметил. И, во-вторых, мне категорически не нравится вариант втыкания круглых штырьков в панельку для м/с. А так...

Впрочем, подозреваю, что ответ на первый вопрос достаточно прост. Виновата, скорее всего, разводка. На такой мелкой платке, скорее всего, не разведешь так, чтобы AD00 приходил на GPIOB00, AD01 - на GPIOB01 ... AD15 - на GPIOB15. А развести, как получится, так собирать адрес из разнообразных битов, да еще, возможно, и считанных из разных GPIO, а потом раскладывать данные назад по этим же битам - процесс достаточно канительный, там не один десяток команд понадобится...

Интересно было бы попробовать: а вдруг разведется? Тогда STM32F103C8T6 - дешевка, плата - тоже копейки.

А по второму вопросу я бы пооткусывал выводы у ненужных непаянных микросхем в пластике, край платы оформил бы в стиле известных ESP-32 и припаял те самые ножки к этим краям.

SuperMax
13.06.2020, 07:10
И вообще, РЕ-мулятор никто не отменял. Правда по нему у меня тоже есть пара вопросов. Во-первых, странно, что пришлось применять экстремальные меры по ускорению работы в виде написания софтины на асме и переноса ее в ОЗУ МК. Когда я отлаживал AZ на F103, я никаких проблем, связанных со скорострельностью МК, не заметил. И, во-вторых, мне категорически не нравится вариант втыкания круглых штырьков в панельку для м/с. А так...
Впрочем, подозреваю, что ответ на первый вопрос достаточно прост. Виновата, скорее всего, разводка. На такой мелкой платке, скорее всего, не разведешь так, чтобы AD00 приходил на GPIOB00, AD01 - на GPIOB01 ... AD15 - на GPIOB15. А развести, как получится, так собирать адрес из разнообразных битов, да еще, возможно, и считанных из разных GPIO, а потом раскладывать данные назад по этим же битам - процесс достаточно канительный, там не один десяток команд понадобится...
Интересно было бы попробовать: а вдруг разведется? Тогда STM32F103C8T6 - дешевка, плата - тоже копейки.

если что я готов попробовать развести
надо только проверить саму концепцию в железе
касаемо скорострельности - нам никто не мешает разогнать - те 160Mhz без проблем (но это только в конфигурации с кварцем)

AFZ
13.06.2020, 07:17
Ну, голубую пилюлю никто не отменял... Будет время - попробую.

Vslav
13.06.2020, 08:36
И вообще, РЕ-мулятор никто не отменял. Правда по нему у меня тоже есть пара вопросов. Во-первых, странно, что пришлось применять экстремальные меры по ускорению работы в виде написания софтины на асме и переноса ее в ОЗУ МК.

Это не экстремальные меры, обычные :)
Самый тесный момент - это успеть ухватить надежно адрес по ниспадающему SYNC.
Это может быть фатально - потратить лишние 50-60нс, если случайно код ARM выпадет из мини-кеша флеш-акселератора STM32.



Когда я отлаживал AZ на F103, я никаких проблем, связанных со скорострельностью МК, не заметил. И, во-вторых, мне категорически не нравится вариант втыкания круглых штырьков в панельку для м/

100-ая серия не очень, 200 уже намного удобнее (выпускал серийные изделия на 100/200/400), по цене там разница не особо.



Виновата, скорее всего, разводка. На такой мелкой платке, скорее всего, не разведешь так, чтобы AD00 приходил на GPIOB00, AD01 - на GPIOB01 ... AD15 - на GPIOB15. А развести, как получится, так собирать адрес из разнообразных битов,

Вы меня обижаете - я все-таки Full-Stack Embedded Engineer :). При проектировании учитывается весь стек проблем, трассировка и распределение портов ввода-вывода тесно связаны и приоритеты всегда смещаются в нужную сторону. В РЕ-муляторе вся шина адреса/данных собрана на одном порту В, при этом было учтено что порт А содержит линии программатора (РЕ-мулятор можно перепрограммировать прямо в системе, не вынимая из панельки), а порт C не полностью 5V-толерантный.

Я вижу надо РЕ-мулятор выкладывать на github, а то тут тема потерялась. В планах было сделать PE-мулятор с Web-сервером на борту, чтобы упростить заливку и перейти на более дешевые китайские GD32. Но народ чего-то РЕ-муляторы только ругает, то с монтажем проблемы, то залить сложно, то имадж построить, поэтому как-то оно без лишнего энтузиазма у меня.



А по второму вопросу я бы пооткусывал выводы у ненужных непаянных микросхем в пластике, край платы оформил бы в стиле известных ESP-32 и припаял те самые ножки к этим краям.
Да, вариант, я заранее даю добро (если оно Вам требуется :)) на модификацию.

AFZ
13.06.2020, 17:44
Самый тесный момент - это успеть ухватить надежно адрес по ниспадающему SYNC.
Это может быть фатально - потратить лишние 50-60нс, если случайно код ARM выпадет из мини-кеша флеш-акселератора STM32.Так не отпускать RPLY, пока не приготовился ловить фронт SYNC


Вы меня обижаете - я все-таки Full-Stack Embedded Engineer . При проектировании учитывается весь стек проблем, трассировка и распределение портов ввода-вывода тесно связаны и приоритеты всегда смещаются в нужную сторону.Круто! Снимаю шляпу и приношу свои извинения. Правда, мою вину несколько уменьшает тот факт, что я так и не смог вспомнить, кто сочинил этот РЕ-мулятор, и в какой теме он описывается. :) Еще раз прошу прощения.

Кстати, именно РЕ-мулятор навел меня на мысль сделать обслуживание МПИ на STM32 в моем контроллере AZ, так, что благодарю за идею.

ZPilot
14.06.2020, 16:01
Ну, голубую пилюлю
Не пойдет. Нет 16 толерантных к 5 вольтам пинов одного порта. Блекпил советую, GPIOA полностью 5в толерантен.
Да и ловить на STMке связку SYNC - DIN/DOUT - RPLY нужен таки ассемблер, увы СИ не успеет.
Вот кусочек кода который отрабатывает запись/чтение в порты ВП1-128 (177130,177132), прерывания вызываются диспетчером адресов собранном на 27с512 и 155ла3:

//----------------------------------------------
// void EXTI4_IRQHandler(void)
//----------------------------------------------
.section .text.EXTI4_IRQHandler
.align
.global EXTI4_IRQHandler
.type EXTI4_IRQHandler, %function
EXTI4_IRQHandler:
push {r0-r3,lr}
ldr r0,=GPIO_BASE
ldr r1,=MEM_BASE
ldrh r2,[r1] //,#RSN_RDA] //load Status
EXTI4_IRQHandler_start:
READPORT_R0 r3,GPIOB
and r3,#7
eor r3,#7
tbb [pc,r3]
EXTI4_IRQHandler_table:
.byte (EXTI4_IRQHandler_case_0 - EXTI4_IRQHandler_table)/2 //case 0 - exit
.byte (EXTI4_IRQHandler_case_SYNC - EXTI4_IRQHandler_table)/2 //case 1 - only SYNC down
.byte (EXTI4_IRQHandler_case_0 - EXTI4_IRQHandler_table)/2 //case 2 = case 0
.byte (EXTI4_IRQHandler_case_DIN - EXTI4_IRQHandler_table)/2 //case 3 - SYNC|DIN down
.byte (EXTI4_IRQHandler_case_0 - EXTI4_IRQHandler_table)/2 //case 4 = case 0
.byte (EXTI4_IRQHandler_case_DOUT - EXTI4_IRQHandler_table)/2 //case 5 - SYNC|DOUT down
.byte (EXTI4_IRQHandler_case_0 - EXTI4_IRQHandler_table)/2 //case 6 = case 0
.byte (EXTI4_IRQHandler_case_0 - EXTI4_IRQHandler_table)/2 //case 7 = case 0

.align
EXTI4_IRQHandler_case_0:
//reset exti port
ldr r2,=(EXTI_PR1)
ldr r3,=EXTI_LINE_4
str r3,[r2]
//release RPLY|VA87DIR
SETGPIO_R0 r3,GPIOB,#(RPLY|VA87DIR)
pop {r0-r3,lr}
bx lr
EXTI4_IRQHandler_case_SYNC:
b EXTI4_IRQHandler_start
//--------------get Status-----------------
EXTI4_IRQHandler_case_DIN:
RESETGPIO_R0 r3,GPIOB,#(VA87DIR)
SETPORT_R0 r3,GPIOA,MODER,MODER_O
SETODRPORT_R0 r2,GPIOA //Out status from r2
RESETGPIO_R0 r3,GPIOB,#(RPLY)
irq4_din_rsn_h_wait:
READPORT_R0 r3,GPIOB
tst r3,#(DIN)
beq irq4_din_rsn_h_wait

and r2,#0
SETPORT_R0 r3,GPIOA,MODER,MODER_I
//-----------end din-----------------
//save operation
strb r2,[r1,SET_OPA]
//strh r2,[r1] //,#RSN_RDA] //RSN_RD=0
//reset exti port
ldr r2,=(EXTI_PR1)
ldr r3,=EXTI_LINE_4
str r3,[r2]
//release RPLY|VA87DIR
SETGPIO_R0 r3,GPIOB,#(RPLY|VA87DIR)
pop {r0-r3,lr}
bx lr
//--------------set CMD-----------------
EXTI4_IRQHandler_case_DOUT:
RESETGPIO_R0 r3,GPIOB,#(RPLY)
//SETPORT_R0 r3,GPIOA,MODER,MODER_I //may be delete?
irq4_rsn_dout_h_wait:
READPORT_R0 r3,GPIOA
READPORT_R0 r2,GPIOB
tst r2,#(DOUT)
beq irq4_rsn_dout_h_wait

strh r3,[r1,#RSN_WRA]
tst r3,#0x100 //GOR?
beq EXTI4_IRQHandler_case_DOUT_end
ldrh r2,=0 //cmd
strh r2,[r1,#RSN_RDA] //RSN_RD=0
strh r2,[r1,#RDN_RDA] //RDN_RD=0
//-----------end dout-----------------
EXTI4_IRQHandler_case_DOUT_end:
//reset exti port
ldr r2,=(EXTI_PR1)
ldr r3,=EXTI_LINE_4
str r3,[r2]
//release RPLY|VA87DIR
SETGPIO_R0 r3,GPIOB,#(RPLY|VA87DIR)
pop {r0-r3,lr}
bx lr


//----------------------------------------------
// void EXTI9_5_IRQHandler(void)
//----------------------------------------------
.section .text.EXTI9_5_IRQHandler
.align
.global EXTI9_5_IRQHandler
.type EXTI9_5_IRQHandler, %function
EXTI9_5_IRQHandler:
push {r0-r3,lr}
ldr r0,=GPIO_BASE
ldr r1,=MEM_BASE
ldrh r2,[r1,#RDN_RDA] //load Data
EXTI9_5_IRQHandler_start:
READPORT_R0 r3,GPIOB
and r3,#7
eor r3,#7
tbb [pc,r3]
EXTI9_5_IRQHandler_table:
.byte (EXTI9_5_IRQHandler_case_0 - EXTI9_5_IRQHandler_table)/2 //case 0 - exit
.byte (EXTI9_5_IRQHandler_case_SYNC - EXTI9_5_IRQHandler_table)/2 //case 1 - only SYNC down
.byte (EXTI9_5_IRQHandler_case_0 - EXTI9_5_IRQHandler_table)/2 //case 2 = case 0
.byte (EXTI9_5_IRQHandler_case_DIN - EXTI9_5_IRQHandler_table)/2 //case 3 - SYNC|DIN down
.byte (EXTI9_5_IRQHandler_case_0 - EXTI9_5_IRQHandler_table)/2 //case 4 = case 0
.byte (EXTI9_5_IRQHandler_case_DOUT - EXTI9_5_IRQHandler_table)/2 //case 5 - SYNC|DOUT down
.byte (EXTI9_5_IRQHandler_case_0 - EXTI9_5_IRQHandler_table)/2 //case 6 = case 0
.byte (EXTI9_5_IRQHandler_case_0 - EXTI9_5_IRQHandler_table)/2 //case 7 = case 0

.align
EXTI9_5_IRQHandler_case_0:
//reset exti port
ldr r2,=(EXTI_PR1)
ldr r3,=EXTI_LINE_5
str r3,[r2]
pop {r0-r3,lr}
bx lr
EXTI9_5_IRQHandler_case_SYNC:
b EXTI9_5_IRQHandler_start
EXTI9_5_IRQHandler_case_DIN:
RESETGPIO_R0 r3,GPIOB,#(VA87DIR)
SETPORT_R0 r3,GPIOA,MODER,MODER_O
SETODRPORT_R0 r2, GPIOA
RESETGPIO_R0 r3,GPIOB,#(RPLY)
irq5_din_rdn_h_wait:
READPORT_R0 r3,GPIOB
tst r3,#(DIN)
beq irq5_din_rdn_h_wait

SETPORT_R0 r3,GPIOA,MODER,MODER_I
SETGPIO_R0 r3,GPIOB,#(RPLY|VA87DIR)
//-----------end din-----------------
ldrh r3,[r1]//,#RSN_RDA] //eq 0
bic r3,#0x80 // 7 bit (TR)
strh r3,[r1]//,#RSN_RDA]
//reset exti port
ldr r2,=(EXTI_PR1)
ldr r3,=EXTI_LINE_5
str r3,[r2]
pop {r0-r3,lr}
bx lr
EXTI9_5_IRQHandler_case_DOUT:
RESETGPIO_R0 r3,GPIOB,#(RPLY)
//SETPORT_R0 r3,GPIOA,MODER,MODER_I
irq5_rdn_dout_h_wait:
READPORT_R0 r3,GPIOA
READPORT_R0 r2,GPIOB
tst r2,#(DOUT)
beq irq5_rdn_dout_h_wait

strh r3,[r1,#RDN_WRA]
SETGPIO_R0 r3,GPIOB,#(RPLY)
//-----------end dout-----------------
ldrh r3,[r1]//,#RSN_RDA] //eq 0
bic r3,#0x80 // 7 bit (TR)
strh r3,[r1]//,#RSN_RDA]
//reset exti port
ldr r2,=(EXTI_PR1)
ldr r3,=EXTI_LINE_5
str r3,[r2]
pop {r0-r3,lr}
bx lr
//-----------end EXTI9_5_IRQHandler-------------

Ynicky
14.06.2020, 17:49
Это что получается, если у 1801РР1 уже прописан код о100000, то ее можно перезашить на адреса о120000, о140000, о160000. А если уже о160000, то никуда более?
https://pic.maxiol.com/thumbs2/1592146087.1845267016.1801rr1code.jpg (https://pic.maxiol.com/?v=1592146087.1845267016.1801rr1code.jpg&dp=2)

MM
14.06.2020, 18:02
то никуда более?
Так точно, Сэр !
*
В самых крайних случаях, при наличии аппаратных колодок-переходов, можно хитрить с перестановкой линий АД13, АД14, АД15 - т.е. из 100000 сделать 020000 ил 040000 ( 8 ).
*
Т.к. запоминающий элемент в 1801РР1 - конденсатор, можно для полной прочистки делать выдержку при +190 градусах цельсия часок - может быть, адрес таки утечет...
Почему лучше не превышать +220 градусов - а выводы и крышечка корпуса припаяны припоем ПОС-40, с температурой плавления 238 градусов...

AFZ
14.06.2020, 19:32
Не пойдет. Нет 16 толерантных к 5 вольтам пинов одного порта.Ну, в этом месте толерантность и необязательна. Внутренняя шина всех плат на 1801-х м/с весьма хилая, по крайней мере в высоких уровнях, и подтяжки там, обычно, 4.7 кОм. Просядет оно до +4В (+3.3 + 0.7В на диодах), никто и не заметит, оно там и так до +5 не дотягтвает. Вон, коллега Vslav склепал свой РЕ-мулятор на F303, а там GPIOB вообще ни разу не толерантный.

Vslav
14.06.2020, 20:01
Вон, коллега Vslav склепал свой РЕ-мулятор на F303, а там GPIOB вообще ни разу не толерантный.
Коллега Vslav склепал РЕ-мулятор на stm32f205 и там все выводы GPIOB (адрес/данные МПИ) помечены в документации как FT (5V tolerant). То же самое относится к остальным входам на других портах (nSYNC, nDIN, etc). Толерантность относится только к режиму входа, поэтому когда нужен вывод данных - порт B переключается в режим открытый коллектор, чтобы верхние транзисторы в порту не открывались и на +3.3V через них не натекало.

AFZ
15.06.2020, 05:09
Значит склероз таки подвел.

Так вот почему я не мог найти тему про РЕ-мулятор. Она не на месте. Ее почему-то занесло в раздел "Отечественные компьютеры - разное", где обсуждают всякое барахло типа Крионн-128, Практик ПК8641 и прочие Роботроны 1715 и куда я, практически, не заглядываю. А поиск по нашему форуму - еще то чудо!.. Если что, вот она (https://zx-pk.ru/threads/21519-re-mulyator-vnutriskhemnyj-emulyator-1801re2-1801rr1.html).

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


Толерантность относится только к режиму входа, поэтому когда нужен вывод данных - порт B переключается в режим открытый коллектор, чтобы верхние транзисторы в порту не открывались и на +3.3V через них не натекало.Да много там натечет через подтяжку 4.7 кОм и разности потенциалов 1.7 В...

Vslav
15.06.2020, 08:55
Ее почему-то занесло в раздел "Отечественные компьютеры - разное"
Причешу проект и выложу на гитхаб.



Да много там натечет через подтяжку 4.7 кОм и разности потенциалов 1.7 В...
Это же универсальный модуль, может вставляться куда угодно, какие там подтяжки - неизвестно, что там и как на шину может эпизодически вылезти - неизвестно, поэтому - надо соответствовать.

MM
15.06.2020, 13:57
Ее почему-то занесло в раздел "Отечественные компьютеры - разное", где обсуждают всякое барахло типа Крионн-128, Практик ПК8641 и прочие Роботроны 1715 и куда я, практически, не заглядываю.
Есть 2 вида взглядов на ретро-ВТ :
1. Профессиональный ( электронщика ) - по типу процессора ( с чем совместим ) - Интел, ДЕК, Моторола, др. Либо с чем обычно применялся ( например, 15-ИЭ-00-013 ).
2. Музейщика - коллекционера - где и когда сделан - СССР, соцстраны, Запад, Япония, Китай.

Я довольно давно продвигал здесь идею отделить DEC - ветку форума от Зилога и Интеля, по типу Барахолки , со своей регистрацией.

AFZ
15.06.2020, 18:06
Это же универсальный модуль, может вставляться куда угодно, какие там подтяжки - неизвестно, что там и как на шину может эпизодически вылезти - неизвестно, поэтому - надо соответствовать.Оно-то, конечно, так. Только не следует забывать, что максимальный выходной ток в состоянии низкого уровня на выходе у оригинальных РР1 и РЕ2 всего 3.2 мА. Так, что абсолютный минимум подтяжки - 1.5 кОм. И это только в случае, если к шине не подключено никаких не-1801-х микросхем, ибо любая 1533-я м/с - это минус 150 мкА из этих 3.2 мА, а они там тоже встречаются...


Причешу проект и выложу на гитхаб. Давно пора.


Но народ чего-то РЕ-муляторы только ругает, то с монтажем проблемы, то залить сложно, то имадж построить, поэтому как-то оно без лишнего энтузиазма у меня. А это ты переоценил подготовку своих покупателей. Вон, СуперМакс продает наши AZ в комплекте с ST-link V2, для тех кто не специалист в МК. На страничке поддержки выложена подробнейшая инструкция по установке и настройке STM32 ST-link Utility, порядок выполнения процедуры перезаписи и т.п. Все это с картинками и пр. Для РЕ-мулятора надо только добавить процедуру сборки клиентских образов ПЗУ вместе с твоей софтиной в общий хекс-файл, и вперед! И жалобы покупателей волшебным образом прекратятся. А про монтаж я уже отписался...

Ynicky
24.06.2020, 17:21
Развел плату.
https://pic.maxiol.com/thumbs2/1593008297.1845267016.3dprogr1.jpg (https://pic.maxiol.com/?v=1593008297.1845267016.3dprogr1.jpg&dp=2)
https://pic.maxiol.com/thumbs2/1593008338.1845267016.3dprogr2.jpg (https://pic.maxiol.com/?v=1593008338.1845267016.3dprogr2.jpg&dp=2)
https://pic.maxiol.com/thumbs2/1593008395.1845267016.2dprogr1.jpg (https://pic.maxiol.com/?v=1593008395.1845267016.2dprogr1.jpg&dp=2)
Подкорректированная схема.
https://cloud.mail.ru/public/4Rwt/2ZPAQYW56

Ynicky
23.07.2020, 14:37
Пришли платы.
https://pic.maxiol.com/thumbs2/1595504200.1845267016.ukncprogr2.jpg (https://pic.maxiol.com/?v=1595504200.1845267016.ukncprogr2.jpg&dp=2)
https://pic.maxiol.com/thumbs2/1595504233.1845267016.ukncprogr3.jpg (https://pic.maxiol.com/?v=1595504233.1845267016.ukncprogr3.jpg&dp=2)

Ynicky
07.11.2020, 09:14
Решил немного отвлечься от проекта УКНЦ на FPGA по реверсам Titus-а. К сожалению в стандартной УКНЦ разъем оказался 40 контактный, поэтому подключил программатор ко второй нестандартной УКНЦ, полученной от Дябина Михаила недавно. ЦП не запустился. Будет время - займусь проверкой.

https://pic.maxiol.com/thumbs2/1604729489.1531905158.ukncprogr4.jpg (https://pic.maxiol.com/?v=1604729489.1531905158.ukncprogr4.jpg&dp=2)
https://pic.maxiol.com/thumbs2/1604729533.1531905158.ukncprogr5.jpg (https://pic.maxiol.com/?v=1604729533.1531905158.ukncprogr5.jpg&dp=2)
https://pic.maxiol.com/thumbs2/1604729567.1531905158.ukncprogr6.jpg (https://pic.maxiol.com/?v=1604729567.1531905158.ukncprogr6.jpg&dp=2)

Ynicky
13.11.2020, 17:28
С одним разобрался, появилось другое. Почему то не видит ПЗУ. Буду дальше разбираться.
https://pic.maxiol.com/thumbs2/1605277550.1531754047.ukncprogr7.jpg (https://pic.maxiol.com/?v=1605277550.1531754047.ukncprogr7.jpg&dp=2)
https://pic.maxiol.com/thumbs2/1605277568.1531754047.ukncprogr8.jpg (https://pic.maxiol.com/?v=1605277568.1531754047.ukncprogr8.jpg&dp=2)
https://pic.maxiol.com/thumbs2/1605277587.1531754047.ukncprogr9.jpg (https://pic.maxiol.com/?v=1605277587.1531754047.ukncprogr9.jpg&dp=2)

Ynicky
13.02.2021, 15:28
Осталось настроить аналоговую часть и проверить запись.
https://pic.maxiol.com/thumbs2/1613219123.1845235300.ukncprogr10.jpg (https://pic.maxiol.com/?v=1613219123.1845235300.ukncprogr10.jpg&dp=2)
https://pic.maxiol.com/thumbs2/1613219250.1845235300.ukncprogr11.jpg (https://pic.maxiol.com/?v=1613219250.1845235300.ukncprogr11.jpg&dp=2)
https://pic.maxiol.com/thumbs2/1613219276.1845235300.ukncprogr12.jpg (https://pic.maxiol.com/?v=1613219276.1845235300.ukncprogr12.jpg&dp=2)
https://pic.maxiol.com/thumbs2/1613219301.1845235300.ukncprogr13.jpg (https://pic.maxiol.com/?v=1613219301.1845235300.ukncprogr13.jpg&dp=2)

Ynicky
16.02.2021, 21:17
Перед записью новой информации в ППЗУ захотел сохранить в файл существующую прошивку. Но в меню нет такой опции. Спросил у Дябина Михаила как сохранять в файл прочитанную из ППЗУ информацию. Он сказал что точно не помнит, но возможно это делается средствами операционной системы. У меня АДОС 5.0. Он сказал что может быть это можно сделать командой DUMP. Посмотрел описание команды в RT-11. Действительно, можно записать в файл дамп памяти. Но примеров нет. Может кто знает как это сделать?
https://pic.maxiol.com/thumbs2/1613499019.1845235300.ukncprogr14.jpg (https://pic.maxiol.com/?v=1613499019.1845235300.ukncprogr14.jpg&dp=2)

Hunta
16.02.2021, 22:15
Посмотрел описание команды в RT-11. Действительно, можно записать в файл дамп памяти
Чего то такого функционала у DUMP я не знаю. А START и END - это начальный и конечный блок файла или устройства для дампа

А вот команда SAVE таки сделает это

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


Действительно, можно записать в файл дамп памяти.
Нет

Hunta
17.02.2021, 08:54
А вот (вспомнилось и проверилось) есть нюанс.. Если это диапазон из страницы в/в - то индейская изба...

hobot
17.02.2021, 12:28
Перед записью новой информации в ППЗУ захотел сохранить в файл существующую прошивку.
Я могу ошибаться, но вроде у Alex_K программа выгрузки ПЗУ УК-НЦ в файл готовая была? Или нет?
Я названия утилиты не помню, нахрапом не нашёл пока...

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


программа выгрузки ПЗУ УК-НЦ в файл готовая была?
Это не оно?



.TITLE UKROM
.IDENT /V01.00/
.MCALL .SETTOP,.ENTER,.WRITW,.CLOSE,.PURGE,.PRINT,.EXIT
START: .SETTOP #BUFFER+77000
.ENTER #AREA,#0,#FILNAM,#63.,#0
BCC 1$
.PRINT #ERRENT
BR 5$
1$: MOV #PPBLK,R0
MOV #5,R1
BR 3$
2$: MOVB R0,@#176676
SWAB R0
BIS #177400,R0
3$: TSTB @#176674
BPL 3$
SOB R1,2$
.WRITW #AREA,#0,#BUFFER,#37400,#0,#0
BCC 4$
.PURGE #0
.PRINT #ERRWRI
BR 5$
4$: .CLOSE #0
5$: .EXIT

PPBLK: .WORD 10*400,32,100000,BUFFER,37400
AREA: .BLKW 5
FILNAM: .RAD50 /DK UKNC ROM/
ERRENT: .ASCIZ /?UKROM-F-.ENTER error/
ERRWRI: .ASCIZ /?UKROM-F-.WRITW error/
.EVEN
BUFFER:
.END START




UKROM.dsk (http://archive.pdp-11.org.ru/ukdwk_archive/ukncbtlwebcomplekt/Alphaprog/)

Ynicky
17.02.2021, 18:39
Всем спасибо, команда SAVE работает.
Теперь буду пробовать стирание и запись.

Ynicky
17.02.2021, 21:00
Проверил стирание и запись массива. Запись адреса пока не проверял.
https://pic.maxiol.com/thumbs2/1613584723.1845235300.ukncprogr15.jpg (https://pic.maxiol.com/?v=1613584723.1845235300.ukncprogr15.jpg&dp=2)
https://pic.maxiol.com/thumbs2/1613584751.1845235300.ukncprogr16.jpg (https://pic.maxiol.com/?v=1613584751.1845235300.ukncprogr16.jpg&dp=2)
https://pic.maxiol.com/thumbs2/1613584775.1845235300.ukncprogr17.jpg (https://pic.maxiol.com/?v=1613584775.1845235300.ukncprogr17.jpg&dp=2)
https://pic.maxiol.com/thumbs2/1613584795.1845235300.ukncprogr18.jpg (https://pic.maxiol.com/?v=1613584795.1845235300.ukncprogr18.jpg&dp=2)

AFZ
20.02.2021, 07:14
Запись адреса пока не проверял.напоминаю: запись адреса у РР1 однокрвтнвя - стереть его нечем. Тут кто-то предлагал попробовать подержать эту РР-ку в сушильном шкафу сутки-двое при 220-230 градусах, но это несколько экстремально. Да еще и при 240 градусах там что-то может распаяться. А штатно, запись однократная. То есть, можно дописать недостающую единичку в какой-то бит адреса, а вот стереть ее - увы!..

Ynicky
23.02.2021, 20:08
Отредактировал схему после доработок. Исправил разводку. Сделал гербер файлы. Добавил образ дискеты с программой. Проект в Altium-е.
https://cloud.mail.ru/public/Zm6Y/A38c6HduK