PDA

Просмотр полной версии : Простой модуль ПЗУ/ППЗУ БК11/М на китайских ИС с внутрисхемным программированием



MM
07.01.2018, 19:36
Модуль ППЗУ БК11М с внутрисхемным программированием +12.5в, минимальный объем ПЗУ - 128 кбайт ( полезное использование объема ППЗУ - в районе 50% )
http://storage8.static.itmages.ru/i/18/0107/s_1515337834_5095193_a2d47b7de3.jpg (https://itmages.ru/image/view/6380421/a2d47b7d)http://storage3.static.itmages.ru/i/18/0107/s_1515341262_9993296_46cb032038.jpg (https://itmages.ru/image/view/6380533/46cb0320)
Обеспечивает работу ИС ПЗУ :
10 страница - 100000 и 120000
11 страница - 100000 и 120000
12 страница - 100000 и 120000 ( 017 и 1285 ПЗУ )
1 шт. по адресу 140000-157777
1 шт. по адресу 160000-167777
Все ИС ПЗУ - отключаемые, раздельное включение записи и чтения
для всего модуля.
Внутрисхемное программирование ( копирование ПЗУ на самой БК11/М ) обеспечивается в колодке ПЗУ платы БК11/М, при подключении дополнительного сигнала DOUT.
При настройке модуля установить длительность программирущего импульса подбором С2, по даташиту СБИС ППЗУ.
В случае существенного потребления по линии +12.5 вольт применять паузы между записью слов, до 1 мс и более, т.к. диодно-конденсаторный источник напряжения слабоват...
Предполагается применение УФ ППЗУ M27C1024 ( 16 бит ), его выводы соединить :
VPP выв.01 - к коллектору транзистора КТ3107 основной схемы ( напряжение программирования +12.5 вольт )
CE выв.02 - к выходу 1533ЛА7 выв. 06 Д8 ( сигнал выборки ППЗУ )
OE выв.20 - к выводу 04 Д7 1533ЛА3 ( сигнал выдачи данных ППЗУ )
WE выв.39 - к выводу 07 Д7 1533ЛА3 ( сигнал разрешения записи ППЗУ ).
Питание +5в. ППЗУ - 40 выв.
Общий ППЗУ - выв. 11 и 30
Адресные входы А0...А13 ППЗУ подключать к выходам 1533ИР23 - в соответствии с обозначением на схеме
Адресные входы А14, А15 ППЗУ подключать к выв. Д5 1533ЛЕ4 выв.08 и Д7 1533ЛА3 выв.11. Обращаю внимание, что адрес А15 - прямой, остальные адреса ППЗУ - инверсные, как на МПИ.
Выводы данных ППЗУ Д0...Д15 подключать к линиям МПИ АД0...АД15.
Допускается применение 2 шт. 8-битных ППЗУ ( все сигналы ППЗУ включить параллельно, кроме данных ).

MM
08.01.2018, 00:56
Т.к. изрядное к-во простых УФ ППЗУ требуют импульса программирования порядка 100 мкс непрерывно, для внутрисхемного программирования следует снизить тактовую частоту процессора БК11М с 4 до примерно 0.25 мгц, например делителем 155ИЕ5, 555ИЕ5, или половинкой 533ИЕ19 ( 74LS393 ) ( деление на 16 ).
Это связано с тем, что 1801ВМ1 имеет тайм-аут шины МПИ примерно 64 такта, что для тактовой частоты 4 мгц даст максимальное время ожидания ответа МПИ - 0.25 мкс х 64 такта = 16 мкс ( или даже чуть меньше ), что пригодно только для СБИС ППЗУ , имеющим время программирования слова не более 10 мкс.
Использование тактовой частоты 0.25 мгц даст максимальное время ожидания МПИ - 4 мкс х 64 такта = 256 мкс, что вполне достаточно для большинства СБИС ППЗУ ( 100 мкс программирующий импульс ).
Включать делитель частоты следует в разрез от выв.09 155ТМ2 ,которая в углу платы ( со стороны разъемов клавы ), до продолжения трека.
Процесс копирования для БК11М с частотой 0.25 мгц :
1.Прочистить ППЗУ УФ лампой ( которая белая такая на столбе болтается )
2.Установить модуль параллельно колодке для Бейсика БК11М, подключив сигнал DOUT к модулю.
3.Отключить все ПЗУ выключателями на модуле. Отключить сигнал DIN выключателем, включить сигнал DOUT.
4.Программирование.
4.1.Программирование 324/201 ПЗУ. Включить сектор ППЗУ в адресе 140000 , набрать программу в адресе 001000 :
001000 : 012737 000000 177716 012700 140000 012701 010000 011020
001020 : 077102 010027 000000 000000
и запустить её. Примерно через несколько сек. произойдет прерывание по 4 вектору. В слове 1024 должно быть значение примерно 160000.
4.2.Программирование 325/202 ПЗУ и половины Бейсика. Включить сектора ППЗУ в адресе 100000 и 120000 страницы 10 , набрать программу в адресе 001000 :
001000 : 012737 004001 177716 012700 100000 012701 020000 011020
001020 : 077102 010027 000000 000000
и запустить её. Примерно через несколько сек. произойдет прерывание по 4 вектору. В слове 1024 должно быть значение примерно 140000.
4.3.Программирование второй половины Бейсика. Включить сектора ППЗУ в адресе 100000 и 120000 страницы 11 , набрать программу в адресе 001000 :
001000 : 012737 004002 177716 012700 100000 012701 020000 011020
001020 : 077102 010027 000000 000000
и запустить её. Примерно через несколько сек. произойдет прерывание по 4 вектору. В слове 1024 должно быть значение примерно 140000.
4.4.Программирование копий ПЗУ пользователя ( в 12 странице ( в колодках )). Включить сектора ППЗУ в адресе 100000 и 120000 страницы 12 , набрать программу в адресе 001000 :
001000 : 012737 004010 177716 012700 100000 012701 020000 011020
001020 : 077102 010027 000000 000000
и запустить её. Примерно через несколько сек. произойдет прерывание по 4 вектору. В слове 1024 должно быть значение примерно 140000.( или 120000, если было только 017 ПЗУ пользователя )
4.5.Программирование копии ПЗУ блока КНГМД ( 326/253/1284 ). Включить сектор ППЗУ в адресе 160000, набрать программу в адресе 001000 :
001000 : 012737 000000 177716 012700 160000 012701 004000 011020
001020 : 077102 010027 000000 000000
и запустить её. Примерно через несколько сек. произойдет прерывание по 4 вектору. В слове 1024 должно быть значение примерно 170000.
5.По окончанию процесса программирования отключить штатные ПЗУ БК11/М ( вынуть блок Бейсика, а имеющиеся 1801РЕ2 на плате БК отключить, подав на выв.23 ПЗУ уровень в районе +5в., и отрезав трек от выв.23 к остальным компонентам на плате БК ). Выключить разрешение записи на модуле ППЗУ, включить разрешение чтения. Провести пуск БК со вставленным модулем ППЗУ в колодку Бейсика БК.
*
Следует экспериментально установить номинал конденсатора модуля ППЗУ С2, в районе 0.047 мкф, для получения длительности импульса записи в районе 100 мкс.
*
Если ППЗУ не прошилось с 1 раза - можно запускать прошивку несколько раз.
Точную проверку копий ПЗУ выполнять блоком МСТД БК11/М ( отключив массив ППЗУ в адресе 160000 )
Как вариант - можно предварительную проверку ППЗУ проводить, включив сигнал DIN и отключив DOUT, посредством перезапуска БКшки, после программирования всех штатных страниц ППЗУ.
*
Программа прошивки для многожрущей ППЗУ ( когда напряжение при программировании на входе ИС 78L12 становится меньше 15 вольт ):
001000 : 012737 (данные) 177716 012700 (адрес) 012701 (длина) 011020
001020 : 012702 000100 077201 077105 010027 000000 000000
Результат смотреть ( конечный адрес копирования ) в слове 1032
( уменьшает потребление ППЗУ примерно в 10 раз, во столько же раз удлиняется время прошивки )