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

 
 
4 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> 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
Jury093
сообщение Apr 13 2017, 16:49
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(manul78 @ Apr 13 2017, 18:31) *
Заранее благодарен за любую помощь !

проверьте для начала питание.. за столько лет оно могло уплыть.. защелки просто так не дохнут..
Go to the top of the page
 
+Quote Post
Baser
сообщение Apr 13 2017, 16:52
Сообщение #3


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

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



Когда-то давно применял подобную комбинацию, еще с AT90S8515.
Там нужно проверять все задержки на шине, чтобы все было в допусках.
Смотреть настройки wait-стейтов.
И может понадобиться защелка типа 74AHC

И память HM62256LP-12 вроде имеет ТТЛ выходные уровни, работать с КМОП входами Меги должно внатяг.
За годы работы уровни могли поплыть - тогда это уже не чиниться.
Go to the top of the page
 
+Quote Post
zombi
сообщение Apr 13 2017, 17:24
Сообщение #4


Гуру
******

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



Ищите HCT
Go to the top of the page
 
+Quote Post
manul78
сообщение Apr 13 2017, 20:51
Сообщение #5


Местный
***

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



Цитата(Baser @ Apr 13 2017, 19:52) *
Там нужно проверять все задержки на шине, чтобы все было в допусках.
Смотреть настройки wait-стейтов.


Привезли две UT6264LP-70... Завтра буду пробовать в купе с ALS373.

ИМХО схема изначально была собрана внатяг, на грани фолла то бишь... У 8515 тайминги на чтенеие/запись внешней SRAM 55-70 нс. А у HM62256 120-150 нс. Но на честном слове всё это "как-то" работало.

Поставив НС я их окончательно растянул и поэтому такая чушь пишется. Но читается всё чётко sm.gif

Буду пробовать...

Цитата(zombi @ Apr 13 2017, 20:24) *
Ищите HCT


Да в том-то и дело что нет ни у кого в городе... Забыли все уже эту древность. Все на 3-х волльтах уже давно.



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


Местный
***

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



Цитата(zombi @ Apr 13 2017, 20:24) *
Ищите HCT


Поставил 74LS373 - вообще перестала читать...
Вернул назад 74HC573 и поставил UT6264LP-70 - всё как-бы заработало. Написал тест заливающий все 8К сначала "0", проверяет... Затем "FF", проверяет, Затем "AA" т.е "10101010" и проверяет...
По нулям на все 8К - 1-2 ошибки, либо их вообще нет. По FF - 12-20 ошибок, по "AA" - нет ошибок... sad.gif
Исходя из этого, сообразил, что пишет всё как надо, а вот читает с глюками...
Поставил 74ALS573 - ошибки уменьшились на 1/3. Убрал дополнительный цикл - ошибки уменьшились на половину.
Вернул защелку HC обратно, и установил дополнительный цикл для чтения/записи. 10-20 ошибок по всем тестам.
Тест чтения выдаёт каждый раз ошибки в разных адресах.
Читает криво... Пишет хорошо... sad.gif

Похоже Вы правы. Нужно искать HCT...




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


Гуру
******

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



Цитата(manul78 @ Apr 14 2017, 16:02) *
Читает криво... Пишет хорошо... sad.gif

Не могу понять как такое возможно.
Регистр просто защёлкивает младший байт адреса и делает это одинаково и при чтении и при записи.
Может Ваши тесты не дают верного результата?

В DS на ATmega8515 в разделе "Address Latch Requirements" всё довольно доходчиво описано.
И там как раз пишут что при 4V и 8MHz должна HC работать. Ничего не понимаю wacko.gif
Лично я всегда ставил HCT защёлку и проблем не было.
Правда последнее изделие с защёлкой было эдак лет 15 назад.
Go to the top of the page
 
+Quote Post
manul78
сообщение Apr 14 2017, 17:16
Сообщение #8


Местный
***

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



Цитата(zombi @ Apr 14 2017, 16:44) *
Может Ваши тесты не дают верного результата ?


Я уже накатал 4 теста. Все 8К я заполняю нулями, FF, AA, и в цикле последовательно числами от 0 до FF.
После каждого заполнения несколько раз читаю и сверяю, и ошибки вылазят почти всегда в разных адресах. Это говорит о том, что запись прошла успешно. Проблема с чтением. Между памятью и МК только защёлка. НС это чистый КМОП с уровнями в 3 В, НСТ это кмоп с ТТЛ выходами. Думаю, что собака здесь зарыта.
Работала-же вся эта схема с атмегой на 8 МГц и медленной 120-150нс памятью без проблем много лет.

P.s.
На "буржуйских" сайтах советуют снизить тактовую частоту или пробовать более быструю SRAM, минимум 50-55нс. sm.gif




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


Гуру
******

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



Цитата(manul78 @ Apr 14 2017, 20:16) *
Работала-же вся эта схема с атмегой на 8 МГц и медленной 120-150нс памятью без проблем много лет.

А чего же ей не работать, если судя по вр. диаграмме адрес на ногах sram будет в течении практически двух тактов процессора - Tpd регистра.

Цитата(manul78 @ Apr 14 2017, 20:16) *
На "буржуйских" сайтах советуют снизить тактовую частоту или пробовать более быструю SRAM, минимум 50-55нс. sm.gif

Не думаю что дело в скорости sram.

Sram и регистр меняли, а мегу -?


Цитата(manul78 @ Apr 13 2017, 23:51) *
У 8515 тайминги на чтенеие/запись внешней SRAM 55-70 нс

С чего это при тактовой 8MHz будет 55-70нс????
Опять же судя по вр. диаг. будет 250нс-Tpd ~ 220нс или около того

На шине данных кроме МК, регистра и SRAM есть что-то ? не может ли мешать чтению?
Go to the top of the page
 
+Quote Post
manul78
сообщение Apr 15 2017, 06:18
Сообщение #10


Местный
***

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



Цитата(zombi @ Apr 14 2017, 16:44) *
В DS на ATmega8515 в разделе "Address Latch Requirements" всё довольно доходчиво описано.
И там как раз пишут что при 4V и 8MHz должна HC работать. Ничего не понимаю wacko.gif
Лично я всегда ставил HCT защёлку и проблем не было.
Правда последнее изделие с защёлкой было эдак лет 15 назад.


Даташит на атмегу8515 стр 26:

Due to the high-speed operation of the XRAM interface, the address latch must be
selected with care for system frequencies above 8 MHz @ 4V and 4 MHz @ 2.7V.
When operating at conditions above these frequencies, the typical old style 74HC series
latch becomes inadequate. The external memory interface is designed in compliance to
the 74AHC series latch. However, most latches can be used as long they comply with
the main timing parameters.

Из-за высокой скорости работы интерфейса XRAM, адресная защелка должна быть
Выбранный с осторожностью для системных частот выше 8 МГц при 4 В и 4 МГц при 2,7 В.
При работе в условиях выше этих частот типичная серия 74HC старого стиля
Защелка становится неадекватной. Интерфейс внешней памяти разработан в соответствии с
Защелка серии 74AHC. Однако большинство защелок можно использовать, если они соответствуют


Такие дела... sad.gif HC серия ведёт себя неадекватно на 8 МГц...

К тому-же, во всех примерах найденных мною в сети почему-то забыли про бит дополнительного контрольного регистра EMCUCR SRW11, который даёт возможность помимо дополнительного цикла в MCUCR SWR10 добавить ещё 2 цикла ожидания для чтения/записи, и 1 цикл для выставления адреса.

Table 3. Wait States(1)
SRW11 SRW10 Wait States
0 0 No wait states.
0 1 Wait one cycle during read/write strobe.
1 0 Wait two cycles during read/write strobe.
1 1 Wait two cycles during read/write and wait one cycle before driving out new address.

Просто биты управления находяться в разных регистрах, и все трындят про только один дополнительно возможный цикл. Это не так... sm.gif

Буду пробовать.

А вообще, думаю дизассемблировать родную заводскую прошивку. Надо было сразу так сделать. Слава Богу она была не залочена и я её спокойно вынул из МК.
Как-то же работала схема с тупой и древней 120-150 нс-кундной памятью.

Сообщение отредактировал manul78 - Apr 15 2017, 07:10


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


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

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



Цитата(manul78 @ Apr 15 2017, 09:18) *
the typical old style 74HC series latch becomes inadequate.

Такие дела... sad.gif HC серия ведёт себя неадекватно на 8 МГц...

Немного некорректно перевели, там смысл другой.
Защелка 74HC будет вести себя совершенно адекватно sm.gif

Просто для данной схемы включения на такой частоте кварца её задержки распространения сигнала становятся "неадекватно большими" и предлагается применить защелку из более быстрой серии AHC

Я вам уже предлагал разрисовать диаграммы чтения и записи и проверить все важные задержки на мин/макс
Иначе ничего не получиться. Я так всегда делал, когда внешние параллельные шины применял.

И выходные уровни памяти тоже проверьте, они ТТЛ (тоже писал), уровень единицы может быть низковат для Меги.
Если очень низкий, можно подтянуть разряды шины к +5В через резисторы.
Go to the top of the page
 
+Quote Post
zombi
сообщение Apr 15 2017, 17:04
Сообщение #12


Гуру
******

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



Цитата(Baser @ Apr 15 2017, 15:54) *
(тоже писал)

Похоже надо несколько раз писать одно и тоже, поскольку ТС до сих под удивляется почему оно работало со 120-150 нс-кундной памятью без дополнительных wait states.

Цитата(manul78 @ Apr 15 2017, 09:18) *
Как-то же работала схема с тупой и древней 120-150 нс-кундной памятью.
Go to the top of the page
 
+Quote Post
k155la3
сообщение Apr 15 2017, 17:34
Сообщение #13


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

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



Попробуйте запитать весь девайс от проверенного источника питания требуемым напряжением и без импульсных помех.
На микросхемах контроллера, регистра, памяти добавьте блок. конденсаторы по питанию.
Пропишите всю память словами (по 2 байта) с содержимым == адресу слова.
Проверьте на чтение - что куда попадает.
Нет ли на плате рядом (или рядом с платой) источника помех.
etc

PS
Памяти сдохшего регистра ....
Проверьте монтаж (под микроскопом), непропаи, контакты.
Проверьте работу платы на цикл. тесте, на предмет реакции на вибрацию, легкий изгиб итп.


Сообщение отредактировал k155la3 - Apr 15 2017, 17:42
Go to the top of the page
 
+Quote Post
manul78
сообщение Apr 15 2017, 19:13
Сообщение #14


Местный
***

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



Цитата(zombi @ Apr 15 2017, 20:04) *
Похоже надо несколько раз писать одно и тоже, поскольку ТС до сих под удивляется почему оно работало со 120-150 нс-кундной памятью без дополнительных wait states.


Ребята, просто винигрет у меня в голове, да и не так силён я в работе с внешней памятью. Как-то не приходилось сталкиваться настолько близко.

Сейчас взял даташиты на все используемые в цепочке микросхемы, распечатал временные диаграммы и сижу курю их. С налёта "крепость" взять не получилось... sad.gif Буду брать по медленно, основательно подготовившись. Честно говоря уже спортивная злость появилась. В любом случае я её "схему" добью, даже если придётся лезть в глаза и брать напрокат крутой четырёхканальный пишущий осциллограф.


Цитата(k155la3 @ Apr 15 2017, 20:34) *
Пропишите всю память словами (по 2 байта) с содержимым == адресу слова.
Проверьте на чтение - что куда попадает.


За алгоритм теста - отдельное спасибо.


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


Местный
***

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






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

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

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

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


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

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

 


RSS Текстовая версия Сейчас: 18th June 2025 - 18:02
Рейтинг@Mail.ru


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