Тогда и дергать ничего не надо, получается стандартный ROM-диск для Ориона, только
порты перепутаны.
Тогда и дергать ничего не надо, получается стандартный ROM-диск для Ориона, только
порты перепутаны.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
По моему самый простой вариант проверки в чем проблема в вашей winbond 27c512 или в схеме программатора , подключить ее на прямую к портам вв55 ,CE перемычкой , А15 перемычка ,ОЕ свободный бит от вв55 оставшийся вместо А15.
Увы общий формат форума вышел из рамок моего любимого места , более тут не бываю.
От безвыходности придётся спаять такой вариант. Не понял смысла замутки с OE и A15 ? Для проверки можно жёстко CE=OE=GND.
Углядел в даташите на Winbond такую штуку: для отправки в Standby на CE должно быть Vcc +/-0,3V. Тобишь не ниже 4,7V при питании 5,0V. Оно хоть к делу и не относится, но наводит на некоторые мысли...
В общем, убрал пока ключ подачи 6,5V для программирования UV-"стекляшек", забайпасил развязывающий диод, т.е. на ПЗУ теперь пойдёт честное питание (у меня это 4,95V). На неделе переделанный программатор доберётся до Ориона, проверю, отпишусь.
Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел
Процедура правильного чтения ,выставить адрес , перевести в 0 CE ,задержка ,перевести в 0 OE , прочитать данные и т.д.
Возможно ? что в winbond OE является не только ENABLE но и стробом ?
Я бы пробовал вот так (последовательность портов ВВ55 естественно как вам удобно) порт A шина данных ,порт B младшие восемь бит адреса ,порт C старшие 6 бит адреса , оставшиеся два бита порта B подать на CE и OE соответственно. А14 и А15 перемычки (читать будем по 16кб)
Написать такую процедуру чтения -
цикл 16384
OUT адрес (14-ти битный)
nop
nop
СE в #0
nop
nop
OE в #0
nop
nop
IN A , data
ld память+цикл ,А
СE в #1
OE в #1
jmp цикл
вот так будет самая правильная проверка
Sorry за мой ASM надеюсь суть ясна. Я так понял Орион не на Z80 , я делал программатор для пентагона но двух портах AY и порту принтера , могу дать исходники для Z-80
Последний раз редактировалось JV-Soft; 22.06.2015 в 13:12.
Увы общий формат форума вышел из рамок моего любимого места , более тут не бываю.
Это откуда такая информация?!
Класть чип в Standby и просыпать обратно (CE) при смене адреса - это какая-то жесть.
Winbond готов отдавать данные через 45 ns после смены адреса. CE нужен для отправки чипа в Standby (мизерное потребление), OE нужен для мультиплицирования нескольких чипов в общую ШД.
Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел
Я не буду утверждать так как лично не проверял winbond , CE точно можно засадить на землю ,но не является ли OE у нее еще и стробом для смены адреса ? Впрочем подключив как я говорил это можно узнать за пять минут написав програмку чтения. Как я делал у себя в программе сейчас не помню (19 лет прошло) достану исходники ,закину.
А еще как вариант , подтянуть шину данных между пзу и ВВ55. Хотя в уф стираемых точно это не требовалось ,много разных перешил ,все нормально было.
В общем лучше один раз испытать в железе ,чем писать догадки.
P.S. пробежал по даташиту , все вроде бы как и в обычных 27с512 , значит косяк или в выставлении адреса , или правда шину данных попробуйте подтянуть.
Вот стиралка интересная - http://nick17.ru/radiotehnika/proshi...ranie-w27c512/
Последний раз редактировалось JV-Soft; 22.06.2015 в 20:08.
Увы общий формат форума вышел из рамок моего любимого места , более тут не бываю.
Итак, продолжение сериала... уж не знаю, драмы или комедии ))
Как отписывал выше, подал честные 5 Вольт на питание ПЗУ и продолжил "лабораторные работы". В общем, полноценное питание никак не изменило ситуацию, по-прежнему в считываемом дампе имеют место рандомные вкрапления.
Ещё раз измерил напруги в статике. Итак, питание 4,95 Вольт (с КРЕНок 7805 почему-то всегда так, ни разу не встречал экземпляры с напругой выше 4,95в). Уровень лог."1" на выходе ВВ55-ой, нагруженной на КМОП-аналог ИР23-ей и входы ПЗУ W27C512 = 3,75 Вольт. На выходе нагруженном только на вход ПЗУ (CE) уровень лог."1" = 3,95 Вольт. Уровни лог."1" на выходах ИРки и ПЗУ равны питанию, т.е. все 4,95 Вольт. Уровень лог."1" на входе OE - 4,3 Вольта.
Дальше я уже стал мучать программную сторону вопроса. Сделал вот что, убрал изменение старшего байта адреса, т.е. 128 раз считываю только первые 256 байт данных из ПЗУ. Т.е. ИРка только один раз защёлкивает все нули и на протяжении всей процедуры чтения её состояние не меняется. Т.о. ещё и исключаю возможные проблемы с уровнем лог."1". Считываю... вообще какая-то лажа! В первых 32..128 байтах (длина каждый раз разная) какая-то информация, а далее считываются все FFh. Я вообще в непонятках, как это такое возможно?!
Далее ввожу в алгоритм чтения отключение выхода ПЗУ с помощью OE между сменой адреса. Начинает считываться информация! Причём за несколько попыток даже полностью совпали к/с дампов. Я даже было дело обрадовался.. Но сделал ещё несколько попыток, в результате которых проблема таки проявилась - в некоторых блоках вновь возникали вкрапления "левого" кода, просто оно стало происходить реже.
Далее пробую ввести задержки между каждыми обращениями к порту, ситуация не меняется.
Затем реализовываю "параноидальный" алгоритм чтения, о котором выше говорил JV-Soft, т.е. при чтении каждого байта усыпляю ПЗУ (CE=OE="1"), выставляю адрес, пауза, пробуждаю ПЗУ (CE="0"), пауза, активирую выход ПЗУ (OE="0"), пауза, читаю байт, усыпляю ПЗУ (CE=OE="1") и т.д.. Картина никак не меняется. Напомню, читаю только первые 256 байт, на A8..A15 перманентно выставлено 00h. Примерно в 1 из 640 раз проскакивает вкрапление "левого" кода в дампе.
Убираю лочку старшего байта адреса, пробую параноидальным алгоритмом читать весь дамп ПЗУ - проблема на месте, у всех считываний к/с разная.
На всех итерациях пробовал подкидывать керамическую ПЗУ с УФ-стиранием M27512. С неё при любом аппаратно-программном варианте всегда считывается достоверная информация! Т.е. проблемы только с ВинБондом ((
Теперь, имхо, осталось только одно узкое место: TTL-выхлоп ВВ55-ой подаётся на CMOS-вход ДжеймсБонда. Сегодня еду в ЧиД покупать трушную ТТЛ ИР23 (за 59 руб, блин ). Т.к. есть подозрение, что ВВ-хе нужна нагрузка в виде ТТЛ-входа, иначе она почему-то тупит, а два КМОП-входа за нагрузку не считает вовсе ((
ОФФ, а может и нет.. Вспомнил вот что. Сделан у меня на ОРИОНе RAM-диск на ОЗУшках SU6264, которые тоже КМОП. Так вот в своё время поимел я с ним некоторое кол-во "секса", и тоже по части считывания инфы.
Копнул исходники и вспомнил такую штуку. Если читать из этого RAM-диска блок не более 2 Кб, то всегда всё ок. Если же читать блок более 2 Кб, то возникают сюрпризы (далее 2 Кб считываются неверные рандомные данные). Решил тогда проблему усыплением/пробуждением RAM-диска через каждые 256 считываемых байт. С этим "костылём" считывание 100%-ное. Тогда списал на глюканат ОЗУшек, типа при чтении длинных блоков что-то там нагревается и "залипает" (была инфа, что русские аналоги КР537РУ17 не любят долго быть выбранными /СЕ=0/ - сильно разогреваются чипы). Сейчас понимаю, что скорее всего проблема со стороны ВВ55-ой... /-)
---------- Post added at 13:57 ---------- Previous post was at 12:30 ----------
К питанию? Каким номиналом, 10 ком или жощще?
Да, красиво. Всё прямо по учебнику, в смысле по даташиту. Один момент.. ZIF-кроватка стоит 1000 с лишним рубликов! Макетная плата 300 с лишним руб. Ради только стиралочки как-то жирновато получается Интегрировать данную фичу в программатор видится мне более логичным, что я и сделал в своём..
---------- Post added at 14:02 ---------- Previous post was at 13:57 ----------
Вангую, что не заработает ВинБонд в таком варианте. По ходу, проблема с выходом ВВ55-ой скорее всего. Току она хочет...
---------- Post added at 14:31 ---------- Previous post was at 14:02 ----------
Хм... интересно, с чего я взял, что ВВ55-ая ТТЛ?
Педевикия говорит, что она n-МОП...
Последний раз редактировалось Denn; 23.06.2015 в 14:39.
Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел
Denn
Управляли ВВ55 и ИР на прамую или через огород транзисторов ?
резисторы по 10К самое то.
Зря не подключили как я говорил без регистра и без ключей из полевиков к портам.
По памяти я при чтении OE всегда дергал. Зачем не знаю ,инстинктивно
Увы общий формат форума вышел из рамок моего любимого места , более тут не бываю.
Вопрос не понял, если честно. В этом смысле схема осталась прежней - http://www.denn.ru/orion/hardware/prog512.jpg
Строб ИРки напрямую от ВВ55ой, OE через ключ на ПТ.
Если не поможет ТТЛ-защёлка, то попробую. Спасибо.
Это надо много паять. У меня мастерская на другой квартире, я там бываю только по выходным и у меня там много другой работы. Не хочется делать лишних телодвижений, я привык больше мозговым штурмом, а руками делать когда совсем наверняка.
Кстати, к этому и вспомнил про RAM-диск - там как раз без регистра и без ключей, и похоже те же проблемы.
Последний раз редактировалось Denn; 23.06.2015 в 15:47.
Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)