Делимся опытом Наступив на грабли - сообщи другим! Обмен опытом разработки и ремонта электронных устройств. |
17.01.2020, 00:51
|
|
Прохожий
Регистрация: 01.01.2020
Сообщений: 9
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Возможность записи через чтение - ПЗУ с обратной связью
Существуют ли готовые ПЗУ с внутренней обратной связью, распиновка которых совпадает с обычными ПЗУ?
Кaк в том же анекдоте про глюки системы Windows, меня интересует подобный трюк…
![](https://asplinux.net/sites/default/files/images/error_of_write_on_read.jpg)
Имеется ПЗУ со стандартной прошивкой и есть желание расширить объём в 16 раз путём переключения страниц.
Естественно, к ПЗУ подходит лишь один сигнал - ВЫБОРКА. А подтягивать туда сторонний сигнал ЗАПИСИ нельзя, так как необходимо лишь сменить родное ПЗУ на свою микросхему…
Так как в родной прошивке ПЗУ есть ячейки, к которым родной код никогда не обращается, появилась идея ЗАПИСИ младшего ниббла адреса в регистр при ЧТЕНИИ этих ячеек.
Тем самым, при ЧТЕНИИ тех ячеек в регистр страницы ПЗУ будет заноситься адрес ячейки. И всё это требует лишь 155ЛА2 и 155ИР1…
Если состряпать свою платку, то её и можно будет воткнуть в панельку вместо родного ПЗУ…
Однако, на дворе - XXI век!
Существуют ли готовые ПЛМ или контроллеры, разводка выводов которых подходила под нужные ПЗУ и имелась бы возможность подобного трюка?
Вот здесь же и обсуждался вопрос про счётчик на РЕ3 с обратной связью.
В моём случае необходимо ПЗУ с 12-битным выходом данных, 4 бита которых должно возвращаться на адрес. Тем самым, ПЗУ сможет само переключить страницу без всяких регистров и логики.
Вопрос: Существуют ли готовые ПЗУ с внутренней обратной связью, распиновка которых совпадает с обычными ПЗУ?
Или всё-таки проще использовать ПЛМ малой степени интеграции?
Спасибо!
Последний раз редактировалось Alikberov; 17.01.2020 в 06:54.
|
|
|
|
17.01.2020, 08:32
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,990
Сказал спасибо: 3,012
Сказали Спасибо 3,186 раз(а) в 2,161 сообщении(ях)
|
Re: Возможность записи через чтение - ПЗУ с обратной связью
99%, что не существует. Распаять что-то новое на мелкой платке и вставлять её вместо старого DIP'а.
__________________
Экзорцист 40-го уровня.
|
|
|
|
17.01.2020, 11:08
|
|
Гражданин KAZUS.RU
Регистрация: 18.07.2010
Адрес: Днепр, Украина
Сообщений: 754
Сказал спасибо: 450
Сказали Спасибо 397 раз(а) в 279 сообщении(ях)
|
Re: Возможность записи через чтение - ПЗУ с обратной связью
Вопрос - а нужно ли извращаться, рискуя нарваться на гонки сигналов между линиями адреса?
Может правильнее
Сообщение от ForcePoint
|
Распаять что-то новое на мелкой платке
|
подтянуть старшие адреса резисторами на питание и замкнуть их на землю через примерно такой переключатель?
|
|
|
|
17.01.2020, 11:17
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.02.2005
Адрес: Минск, Беларусь
Сообщений: 7,998
Сказал спасибо: 2,764
Сказали Спасибо 2,708 раз(а) в 2,003 сообщении(ях)
|
Re: Возможность записи через чтение - ПЗУ с обратной связью
А какой объем памяти имеет существующее ПЗУ?
Может хватит встроенного гигибайта (почти) в каком-нибудь STM32 на требуемые 16 страниц.
|
|
|
|
18.01.2020, 00:15
|
|
Прохожий
Регистрация: 01.01.2020
Сообщений: 9
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Возможность записи через чтение - ПЗУ с обратной связью
Сообщение от Yuri222
|
А какой объем памяти имеет существующее ПЗУ?
|
Микросхемa - 2716, соответственно - 2 Кб.
Сообщение от Yuri222
|
Может хватит встроенного гигибайта (почти) в каком-нибудь STM32 на требуемые 16 страниц.
|
Тоже задумался об этом. Так как скорость обращения к ПЗУ не выше пары МГц - устройство древнее…
А можно ли подобрать микроконтроллер так, чтобы он чётко сел в панельку вместо 2716?
То есть, чтобы распиновка по питанию совпадала и по остальному - реально?
Есть мысль организации некоего протокола…
То есть, последовательным чтением ячеек 542h-559h-545h-50Dh отсылаем контроллеру команду «BYE», так как в нормальных условиях такая последовательность родной прошивкой никогда не будет достигнута…
Последний раз редактировалось Alikberov; 18.01.2020 в 00:20.
|
|
|
|
18.01.2020, 01:31
|
|
Гражданин KAZUS.RU
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 709
Сказал спасибо: 363
Сказали Спасибо 795 раз(а) в 370 сообщении(ях)
|
Re: Возможность записи через чтение - ПЗУ с обратной связью
Сообщение от Alikberov
|
А можно ли подобрать микроконтроллер так, чтобы он чётко сел в панельку вместо 2716?
|
Можно, и не только МК, но и существенную более сложную схему.
Посредством переходника. Например, подобной штуки:
![Нажмите на изображение для увеличения
Название: dip24.png
Просмотров: 0
Размер: 29.4 Кб
ID: 149407](https://kazus.ru/forums/attachment.php?attachmentid=149407&thumb=1&d=1579296515)
Это чОтко попадет в панельку. Распиновка - один-в-один DIP24.
Размер платы ограничен тем пространством, куда ее предполагается установить.
|
|
|
|
18.01.2020, 09:15
|
|
Почётный гражданин KAZUS.RU
Регистрация: 12.02.2013
Сообщений: 1,037
Сказал спасибо: 43
Сказали Спасибо 273 раз(а) в 214 сообщении(ях)
|
Re: Возможность записи через чтение - ПЗУ с обратной связью
Прочитал тему - ничего не понял. Потом снова прочитал - все равно ничего не понял.
На схеме микросхема ПЗУ с организацией 64кБит (16 линий адреса) на байт (8 линий данных). 64к*8=512 кБит - что следует из названия микросхемы.
Где вы там нашли скрытые резервы микросхемы и тем более страницы - напонятно.
|
|
|
|
18.01.2020, 14:05
|
|
Гражданин KAZUS.RU
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 709
Сказал спасибо: 363
Сказали Спасибо 795 раз(а) в 370 сообщении(ях)
|
Re: Возможность записи через чтение - ПЗУ с обратной связью
Сообщение от Alikberov
|
идея ЗАПИСИ младшего ниббла адреса в регистр при ЧТЕНИИ этих ячеек
|
Это один из способов вывода информации в микропроцессорных системах, когда используется сам факт чтения по какому-либо адресу.
Все равно нужен дешифратор адреса и защелка для выбора "страницы", т.е. по-любому будет присутствовать в том или ином виде "узел выбора банка памяти".
В прошлом тысячелетии делали на рассыпухе, Вам видимо проще использовать ПЛМ. А в текущем тысячелетии Вам вряд ли удастся найти современный МК в корпусе DIP24 да еще и с ножкировкой как у ПЗУ.
|
|
|
|
18.01.2020, 21:49
|
|
Прохожий
Регистрация: 01.01.2020
Сообщений: 9
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Возможность записи через чтение - ПЗУ с обратной связью
Сообщение от j-Roger
|
Это один из способов вывода информации в микропроцессорных системах, когда используется сам факт чтения по какому-либо адресу.
Все равно нужен дешифратор адреса и защелка для выбора "страницы", т.е. по-любому будет присутствовать в том или ином виде "узел выбора банка памяти".
В прошлом тысячелетии делали на рассыпухе, Вам видимо проще использовать ПЛМ. А в текущем тысячелетии Вам вряд ли удастся найти современный МК в корпусе DIP24 да еще и с ножкировкой как у ПЗУ.
|
Мнe подсказали, что в клоне «ZX-Spectrum» - «Хоббит», таким же образом переключались банки ПЗУ… ![Крут](images/smilies/icon_cool.gif)
То есть, моя идея не нова: Можно входить в подпрограммы разных банков ПЗУ без дополнительных проводов и сигнала ЗАПИСИ… ![Одобряю](images/smilies/icon_true.gif)
А вот с DIP24 действительно проблема - многое в DIP28 и больше…
Только я не понимаю одного момента: Если подобный трюк не так уж редко местами используются, почему нету готовых промышленных решений? ![Ну ты даешь](images/smilies/icon_wink2.gif)
Скажем, чтобы ПЗУ внешне на 2048 8-битных слов внутри было на 32768 12-битных слов, где старшие 4 бита подаются обратно на старшие разряды адреса?
Код:
|
Внешнее | Внутреннее
________| +-‹‹‹-+ ; Ниббл данных идёт обратно к адресу
-000 0D | 0_000 0_0D ; Чтение без переключения
-001 0A | 0_001 0_0A ; Чтение без переключения
.... .. | ..... .... ... ... ...
-476 48 | 3_476 3_48 ; Здесь указана страница #3
-477 45 | 3_477 3_45 ; И чтение происходит уже из неё
-478 4C | 3_478 3_4C ; И внешний контроллер
-479 4C | 3_479 3_4C ; ничего даже не
-47A 4F | 3_479 3_4F ; подозревает
-47B 20 | 0_479 0_20 ; Здесь "заплатка" кончилась |
Примерно вот такой внутренней схемой:
Последний раз редактировалось Alikberov; 18.01.2020 в 23:57.
|
|
|
|
19.01.2020, 02:05
|
|
Гражданин KAZUS.RU
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 709
Сказал спасибо: 363
Сказали Спасибо 795 раз(а) в 370 сообщении(ях)
|
Re: Возможность записи через чтение - ПЗУ с обратной связью
Сообщение от Alikberov
|
Если подобный трюк не так уж редко местами используются, почему нету готовых промышленных решений?
|
Думается, потому, что это именно трюк для системы, для которой на этапе разработки не предусмотрели возможность расширения. Иначе был бы, к примеру, явно адресуемый спец. регистр и/или порт выбора банка памяти (или с помощью линий выбора кристалла, или дешифратор старших битов адреса, или еще как-то). IBM PC AT - у той была ЕМНИП линия А20, которая управлялась битом порта, не имеющим (портом) никакого отношения к управлению памятью. Тоже трюк.
К тому же с шиной адреса может быть все не так просто - где-то адрес может быть мультиплексированным во времени (адрес выставляется "не сразу", а в несколько этапов - см. сигналы RAS и CAS в динамических ОЗУ), а где-то шина адреса может быть мультиплексирована/совмещена с шиной данных. Так что промышленное решение - это оставлять "лазейку" для расширения системы ее штатными средствами - например, диапазоном свободных адресов и набором управляющих сигналов, куда можно подключить что-то еще без трюков ![Рот до ушей](images/smilies/icon_doushei.gif) .
Думается, как-то вот так.
P. S.
Делал в начале 90-х подобную штуковину на ZX Spectrum 48K, но более прямолинейным способом, ибо все готовое уже имелось в системе ))
С помощью линии имеющегося на борту порта (КР580ВВ55А) подавался сигнал на старший бит адреса линейки из восьми КР565РУ5, благодаря чему стало возможным переключение старших 32КБайт памяти с "основного" на "теневое" ОЗУ, где был организован примитивный "RAM-диск". Была доработана программа Monitor48, которая поддерживала этот "диск". Смысл был в том, чтобы не грузить с кассетника инструментарий и данные каждый раз после нажатия кнопки сброса. Сэкономило кучу времени студенту ))
Последний раз редактировалось j-Roger; 19.01.2020 в 02:40.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 12:13.
|
|