реклама на сайте
подробности

 
 
> ATmega8515 + SRAM, Читает чисто, пишет с ошибками и путает адреса...
manul78
сообщение Apr 13 2017, 15:31
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 403
Регистрация: 14-05-07
Из: Россия, г.Пенза
Пользователь №: 27 719



Доброго всем время суток !

Ковыряю/ремонтирую древний промышленный девайс. Суть: Есть Атмега8515 с внешним кварцем на 7.3728 MHz, к которой подключена SRAM HM62256LP-12 аж 1988-го года выпуска. Судя по схеме из 32Кбайт используется только 8К. Регистр защёлка сдох. Был 74HCT573... Так как в магазинах оригинала не нашел - поставил то-же, но только HC. Схема завелась. Написал быстро программку чтения/записи для проверки.
Читает всё чётко без ошибок. А вот пишет с ошибками. Причём не только данные, иногда путает адреса.
Заливал все 8К "нулями" - где-то 5% ошибок. Заливал "FF" ошибок практически нет. Писал рандомно - иногда путает адреса, но данные пишет.
Удержание на один такт программно увеличивал - ошибок меньше но они есть.

Вопрос: Я думаю что дело в защёлке, но оригинал взять негде. Есть в наличии 74LS373, 74ALS373 (выпаянные со старой компьютерной платы), можно попробовать ? Или другую серию искать ? Ещё раз повторюсь, в оригинале стояла защёлка HCT, то есть КМОП с ТТЛ уровнями, SRAM тоже с КМОП с ТТЛ. Из 573 нашел только HC. В чём загвоздка ? В медленной памяти (120 нс и возможно полудохлой от старости, всё-же 30 лет почти проработала) или в защёлке не родной ?

Заранее благодарен за любую помощь !


--------------------
" Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий." (с) К.Прутков.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
manul78
сообщение Apr 17 2017, 08:05
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 403
Регистрация: 14-05-07
Из: Россия, г.Пенза
Пользователь №: 27 719






Написал новый ТЕСТ, который забивает память байтами от 0 до FF...
Читаем. Видим, что случайно, каждый раз по разным адресам считывается младший адресный байт, а не байт данных...
Причём это не всегда, а где-то 5-10 случаев на страницу в 8К.

Народ ! У меня уже что-то голова не варит совсем. Это что ? Как такое может быть ?

МК выставляет младший и старший адрес на шину. Защёлкивает. Даёт сигнал чтения RD и читает сам себя что-ли ? "Остатки" младшего адреса заместо выставленных памятью данных ?

Чушь какая-то... sad.gif


--------------------
" Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий." (с) К.Прутков.
Go to the top of the page
 
+Quote Post
Baser
сообщение Apr 17 2017, 10:31
Сообщение #3


Просто Che
*****

Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881



Цитата(manul78 @ Apr 17 2017, 11:05) *
случайно, каждый раз по разным адресам считывается младший адресный байт, а не байт данных...

МК выставляет младший и старший адрес на шину. Защёлкивает. Даёт сигнал чтения RD и читает сам себя что-ли ? "Остатки" младшего адреса заместо выставленных памятью данных ?

Вам нужно еще раз внимательно прочитать, как работает мультиплексная Интеловская внешняя шина.
То, что вы видите, типичное нарушение "времянки" работы шины. Причем сбои могут быть как при записи, так и при чтении, по этому тесту непонятно где.

МК выставляет младший и старший адрес на шину. Защёлкивает младший байт адреса. Потом выдает на те же линии данные для записи или выдает строб чтения и ждет на этой линии данные из памяти.
Если защелка медленная, она держит данные на DA7:0 слишком долго и возникает коллизия из-за того, что или МК или память выводят значения данных на DA7:0. Кто-то из двух будет пересиливать, данные будут неправильные. На осциллографе коллизии хорошо видны в виде третьих уровней на диаграммах, около половины питания.

Еще Bus keeper (XMBK) будет влиять на работу, с ним разберитесь.
Go to the top of the page
 
+Quote Post
manul78
сообщение Apr 17 2017, 16:33
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 403
Регистрация: 14-05-07
Из: Россия, г.Пенза
Пользователь №: 27 719



Цитата(Baser @ Apr 17 2017, 14:31) *
МК выставляет младший и старший адрес на шину. Защёлкивает младший байт адреса. Потом выдает на те же линии данные для записи или выдает строб чтения и ждет на этой линии данные из памяти.
Еще Bus keeper (XMBK) будет влиять на работу, с ним разберитесь.



Похоже я где-то рядом... Те кто разрабатывал схему тупо посадили ногу (Enable and read register (transparent
mode)) OE защёлки на землю... Защелка не переходит после фиксации в Z состояние. На шине получается висит младший адрес...

Получается мне надо привязать эту ногу через инвертор к сигналу ALE ?


--------------------
" Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий." (с) К.Прутков.
Go to the top of the page
 
+Quote Post
zombi
сообщение Apr 17 2017, 17:11
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(manul78 @ Apr 17 2017, 19:33) *
Те кто разрабатывал схему тупо посадили ногу OE защёлки на землю

Правильно сделали.
Цитата(manul78 @ Apr 17 2017, 19:33) *
... Защелка не переходит после фиксации в Z состояние.

И не должна она никуда переходить.
Цитата(manul78 @ Apr 17 2017, 19:33) *
На шине получается висит младший адрес...

И правильно делает. Именно младший адрес и должен там висеть.
Цитата(manul78 @ Apr 17 2017, 19:33) *
Получается мне надо привязать эту ногу через инвертор к сигналу ALE ?

Зачем? Ненужно его никуда привязывать.
Цитата(manul78 @ Apr 17 2017, 19:33) *
Похоже я где-то рядом...

Судя по всему вы еще огого как далеко biggrin.gif
Go to the top of the page
 
+Quote Post
manul78
сообщение Apr 18 2017, 08:14
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 403
Регистрация: 14-05-07
Из: Россия, г.Пенза
Пользователь №: 27 719



Короче победил похоже... (Сейчас тесты гоняю)
Аппаратно добил...
У UT6264LP-70 в отличии от 62256 два сигнала стробирования СЕ и СЕ2 (инв) работающие в противофазе. Я по анлогии с 62256 повесил СЕ2 на +5 (у 62256 активный 0).
Зря я это сделал. Отсюда и глюки...

Сейчас я пустил сигнал ALE через 74ALS74 (ТМ2) то есть через D-триггер. Сигнал ALE через триггер выходит прямой на CE и инвертированный на СЕ2 соответственно. Плюс мелкая задержка на самом триггере за счет времени прохождения. Все. Ошибок нет. Пока нет... sm.gif




--------------------
" Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий." (с) К.Прутков.
Go to the top of the page
 
+Quote Post
k155la3
сообщение Apr 18 2017, 13:31
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 123
Регистрация: 8-03-09
Из: Днепр
Пользователь №: 45 848



Цитата(manul78 @ Apr 18 2017, 11:14) *
Короче победил похоже... (Сейчас тесты гоняю)
Аппаратно добил...
. . . .

sm.gif
мудрено аднака.
посмею предположить, что пока аппаратно решали проблему, то пропаяли неконтакт, и оно аннилигилировалосььььь.
(извиняюсь за наглость)
Выложите схему, так, ничего личного, просто посмотреть sm.gif

Go to the top of the page
 
+Quote Post
manul78
сообщение Apr 18 2017, 16:35
Сообщение #8


Местный
***

Группа: Участник
Сообщений: 403
Регистрация: 14-05-07
Из: Россия, г.Пенза
Пользователь №: 27 719



Цитата(k155la3 @ Apr 18 2017, 16:31) *
посмею предположить, что пока аппаратно решали проблему, то пропаяли неконтакт, и оно аннилигилировалосььььь


Ничего подобного. Предыдущее сообщение ввело меня в сомнения и я вернул всё взад... Те-же грабли вылезли.

Сейчас выложу следующим комментарием фундаментально что я делал почти 2(!) недели. sm.gif

Значится так:

Повторюсь. АТмега8515, защёлка 74HCT573 (дохлая), память HM62256-120 нс, кварц 7.3728 МГц (для RS-232)

Схема подключения стандартная, коих как грязи в интернете. Единственная разница, что из 32К используются только 8К

Выпаял "покойника", впаял "кроватку" и заменил его на 74HC573. Запустил... Пошли глюки. Считал прошивку. Залил свою с тестом и начались танцы с бубнами... Я выпаял память. Впаял кроватку и нашел такую-же микросхему памяти от старого принтера. Ошибки... Ошибки... Ошибки... Дикое количество.
Менял "защёлки", ALS, LS, 573... 373... Ошибки, ошибки, ошибки... Рандомные. По разным адресам, разные данные... Менял настройки интерфейса памяти 8515, Bus keeper, дополнительные циклы и пр. НИХРЕНА.
Всё те-же ошибки в разных местах. И питание дал чистейшее. И всё обвязал по питанию конденсаторами на 100N... И чего только не делал.
Наконец принесли U6264-70 нс. Поставил. Загнал CE на землю и СЕ2 на плюс...



Было... HM62256-120




Стало... U6264-70

Остальное осталось как и было. Защёлка НС573

Прогнал тест. Количество ошибок уменьшилось в разы... на 8К где-то 20-30...

Сменил защёлку на ALS. Ошибок стало ещё меньше 5-10...

И нарисовалась чёткая тенденция. Заместо данных из памяти МК читает значение младшего адреса.

И опять я и биты MCUCR и EMCUCR менял и чего только не делал... Нихрена. 5-10 ошибок по разным совершенно непредсказуемым адресам...

Начал крепко курить даташиты:

ATmega8515




HM 64256-120













И её таблица...






Теперь UT 6264-70...














"Дьявол как известно прячется в деталях..." (с)

Внимательно читаем notes...




Что я сделал:

Взял обычный D-триггер 74AST74 (он-же ТМ2)

На ноги D и Clock подал сигнал ALE с 8515.

Выход Q на LE защёлки... Выход ~Q на ~CE2 памяти 6264..

Что это даёт. Когда положительный строб ALE заставляет защёлку запомнить младший адрес на входе ~CE2 памяти низкий уровень, который переводит её входы/выходы в Z состояние и соответственно после снятия сигнала ALE память оживает и не имеет на своих входах "мусора" как если-бы она всегда находилась в активном состоянии в ожидании чтения/записи.

Вот такие дела... sm.gif


Сообщение отредактировал manul78 - Apr 18 2017, 16:00


--------------------
" Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий." (с) К.Прутков.
Go to the top of the page
 
+Quote Post
zombi
сообщение Apr 18 2017, 17:09
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(manul78 @ Apr 18 2017, 19:35) *
Когда положительный строб ALE заставляет защёлку запомнить младший адрес

Попробуйте выяснить как работает защелка 74HC573 (Octal D-type transparent latch; 3-state)

Цитата(manul78 @ Apr 18 2017, 20:00) *
всё через ж.пу, и противоречит гарвардской архитектуре и интеловским даташитам

Это Вы точно подметили.
Если когда нибудь Вы всё таки разберётесь с гарвардской архитектурой и интеловскими даташитами, то будете сами над собой смеяться.
Go to the top of the page
 
+Quote Post
manul78
сообщение Apr 18 2017, 17:31
Сообщение #10


Местный
***

Группа: Участник
Сообщений: 403
Регистрация: 14-05-07
Из: Россия, г.Пенза
Пользователь №: 27 719



Цитата(zombi @ Apr 18 2017, 20:09) *
Попробуйте выяснить как работает защелка 74HC573 (Octal D-type transparent latch; 3-state)


Это Вы точно подметили.
Если когда нибудь Вы всё таки разберётесь с гарвардской архитектурой и интеловскими даташитами, то будете сами над собой смеяться.


Я прекрасно понимаю как она работает. sm.gif

И смеяться я над собой не буду... Потому что через ж..пу - но работает. А по всем правилам и канонам в данном конкретном случае - НЕТ sad.gif

Замечу так-же, что шмель летает вопреки всем законам аэродинамики.

Возможно, где-то в схеме сидит глюк, или просто уже старая мега мудрит...


--------------------
" Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий." (с) К.Прутков.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- manul78   ATmega8515 + SRAM   Apr 13 2017, 15:31
- - Jury093   Цитата(manul78 @ Apr 13 2017, 18:31) Зара...   Apr 13 2017, 16:49
- - Baser   Когда-то давно применял подобную комбинацию, еще с...   Apr 13 2017, 16:52
|- - manul78   Цитата(Baser @ Apr 13 2017, 19:52) Там ну...   Apr 13 2017, 20:51
- - zombi   Ищите HCT   Apr 13 2017, 17:24
|- - manul78   Цитата(zombi @ Apr 13 2017, 20:24) Ищите ...   Apr 14 2017, 13:02
|- - zombi   Цитата(manul78 @ Apr 14 2017, 16:02) Чита...   Apr 14 2017, 13:44
|- - manul78   Цитата(zombi @ Apr 14 2017, 16:44) Может ...   Apr 14 2017, 17:16
||- - zombi   Цитата(manul78 @ Apr 14 2017, 20:16) Рабо...   Apr 14 2017, 17:45
|- - manul78   Цитата(zombi @ Apr 14 2017, 16:44) В DS н...   Apr 15 2017, 06:18
|- - Baser   Цитата(manul78 @ Apr 15 2017, 09:18) the ...   Apr 15 2017, 12:54
|- - zombi   Цитата(Baser @ Apr 15 2017, 15:54) (тоже ...   Apr 15 2017, 17:04
|- - manul78   Цитата(zombi @ Apr 15 2017, 20:04) Похоже...   Apr 15 2017, 19:13
- - k155la3   Попробуйте запитать весь девайс от проверенного ис...   Apr 15 2017, 17:34
|- - zombi   Цитата(manul78 @ Apr 18 2017, 11:14) Коро...   Apr 18 2017, 11:48
|- - zombi   Цитата(manul78 @ Apr 18 2017, 19:35) И че...   Apr 18 2017, 16:46
||- - manul78   Цитата(zombi @ Apr 18 2017, 19:46) Процес...   Apr 18 2017, 17:16
||- - zombi   Цитата(manul78 @ Apr 18 2017, 20:16) Я не...   Apr 18 2017, 17:21
|- - zombi   Цитата(manul78 @ Apr 18 2017, 20:31) Пото...   Apr 18 2017, 17:37
|- - manul78   Цитата(zombi @ Apr 18 2017, 20:37) т.е. В...   Apr 18 2017, 18:27
|- - zombi   Цитата(manul78 @ Apr 18 2017, 21:27) ...   Apr 18 2017, 19:06
|- - zombi   Цитата(manul78 @ Apr 18 2017, 21:27) И чт...   Apr 18 2017, 19:13
- - rx3apf   А точно это именно тест ЧИТАЕТ неверное значение ?...   Apr 17 2017, 10:16
- - rx3apf   ??? 573 фиксирует младший байт адреса с шины данны...   Apr 17 2017, 16:40
- - manul78   Можете конечно заявить, что всё через ж.пу, и прот...   Apr 18 2017, 17:00
- - rx3apf   Я бы в такой ситуации, прежде чем играться с тести...   Apr 18 2017, 19:13
|- - manul78   Цитата(rx3apf @ Apr 18 2017, 22:13) Я бы ...   Apr 18 2017, 19:28
- - rx3apf   Вовсе не факт, что читался младший байт адреса. Вп...   Apr 18 2017, 20:12
- - manul78   Upd: Вот за что я уважаю буржуйские форумы, так ...   Apr 18 2017, 20:41
|- - zombi   Цитата(manul78 @ Apr 18 2017, 23:41) Upd:...   Apr 18 2017, 20:57
|- - zombi   Цитата(manul78 @ Apr 18 2017, 23:41) Вот ...   Apr 19 2017, 12:49
- - Baser   Глянул сейчас подробно с цифрами на запись адреса ...   Apr 18 2017, 21:23
|- - zombi   Цитата(Baser @ Apr 19 2017, 00:23) так чт...   Apr 18 2017, 21:31
|- - manul78   Цитата(Baser @ Apr 19 2017, 00:23) Так чт...   Apr 18 2017, 21:46
|- - zombi   Цитата(manul78 @ Apr 19 2017, 00:46) Базо...   Apr 18 2017, 21:57
|- - manul78   Цитата(zombi @ Apr 19 2017, 00:57) Во жес...   Apr 19 2017, 05:28
|- - Сергей Борщ   QUOTE (manul78 @ Apr 19 2017, 08:28) По п...   Apr 19 2017, 06:20
|- - zombi   Цитата(manul78 @ Apr 19 2017, 08:28) А по...   Apr 19 2017, 07:38
- - Baser   Цитата(zombi @ Apr 19 2017, 00:31) И кака...   Apr 19 2017, 09:53
|- - manul78   Цитата(Baser @ Apr 19 2017, 12:53) Для за...   Apr 19 2017, 10:58
- - manul78   Всем доброго дня ! Когда сегодня 19 апреля 2...   Apr 19 2017, 10:25
|- - zombi   Цитата(manul78 @ Apr 19 2017, 13:25) Подц...   Apr 19 2017, 11:24
|- - manul78   Цитата(zombi @ Apr 19 2017, 14:24) Еще в ...   Apr 19 2017, 11:55
- - Baser   Поздравляю! Но терминологию подтяните...   Apr 19 2017, 10:53
- - manul78   Пользуясь случаем, дабы не создавать новый топик, ...   Apr 19 2017, 18:23


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 9th August 2025 - 11:42
Рейтинг@Mail.ru


Страница сгенерированна за 0.01544 секунд с 7
ELECTRONIX ©2004-2016