IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> AZБК в режиме эмуляции SMK-512
SuperMax
сообщение 11.6.2022, 17:48
Сообщение #1


Администратор
*****

Группа: Root Admin
Сообщений: 6 282
Регистрация: 7.1.2006
Из: Красноярск
Пользователь №: 1



Предистория

серия контроллеров SMK изначально спроектирован в условиях с ограниченными ресурсами и содержит некоторые неверные технические решения

одно из таких решений - это соединение 2х выходов микросхем вместе, что является допустимым только для выходов с общим коллектором (OK) или для имеющих 3 состояния (0,1, и Z-cостояние полного отключения)

В нашем случае это выход D36 - 12ая нога cм схему БК-0011М
Прикрепленное изображение
этот выход обозначен в шине номером 66 и он выведен на разъем МПИ на пин A22
Прикрепленное изображение
повторю - это выход который РАЗРЕШАЕТ работу ПЗУ ЛВС
см документация
иначе говоря софт который хочет включить ПЗУ в окно 100-137k должен его включить явно послав нужный бит в регистр 177716 и тогда через схему на D32.1
Прикрепленное изображение
окно ОЗУ с адреса 100-137k будет выключено

Иначе говоря есть корректный способ отключить окно - сказав что мы включаем несуществующее ПЗУ - ПЗУ ЛВС к примеру и мы можем воткнуть туда ОЗУ к примеру - что сделано в SMK к примеру.

Но к сожалению разработчики решили сделать хитрость и зацепили выход своего регистра на А22 МПИ с целью манипулировать им напрямую!

Напомню что физический 0 это логическая 1-ца тк шина у нас инверсная. Соответственно в нормальном состоянии на выходе D36 у нас физические 1цы, с SMK может подаваться физический ноль, который "перетягивает" на себя сигнал и схема отключения ОЗУ думает что мы включили ПЗУ через 177716 (!)

Сразу возникает вопрос - а микросхемы могут сгореть от такого включения ? в данном случае они скорее всего не сгорят [по крайней мере, такие случаи с БК-0011М нигде не описаны], но конечно они будут греться ибо одна микросхема тянет в 1 а другая в 0. Очевидно, что это в принципе неверное схемотехническое решение.

Путь тока показан на рисунке - это типовой этемент ТТЛШ (тот самый что стоит в D36)
Прикрепленное изображение
ток соответственно ограничивается резистором и потому элемент не сгорает

Правильно сначала записать код отключения ПЗУ в 177716 а уже потом через SMK или другой контроллер, подключать страницы памяти и в этом случае оба выхода будут в 0 и не будут конфликтовать.

Проблема также была описана тут


--------------------
Живы будем - Не помрем !
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
SuperMax
сообщение 11.6.2022, 17:57
Сообщение #2


Администратор
*****

Группа: Root Admin
Сообщений: 6 282
Регистрация: 7.1.2006
Из: Красноярск
Пользователь №: 1



Доработка AZБК

Однако не все так просто, так как программисты в принципе не знали о такой хитрости разработчиков SMK, существует множество программ которые эксплуатируют эту особенность и отключают страницу 1 памяти БК-0011М через установку режима средствами SMK минуя его API

Соответственно для поддержки этого режима в AZ была добавлена возможность имитировать поведение SMK и перетягивание 1 в 0.

Так как AZ изначально проектировался без знаний о таких приколах [мне даже в голову не могло придти что кто-то будет перетягивать выходы], то управление окном через A22 изначально не разведенo на плате. Однако это легко поправить

На нижней плате AZБК надо отпаять резистор R14 и припаять проводок от ноги ПЛИС к левой [на фото] площадке где был резистор:

общий вид
Прикрепленное изображение

более детально
Прикрепленное изображение


--------------------
Живы будем - Не помрем !
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 29.3.2024, 15:24