|
ATmega8515 + SRAM, Читает чисто, пишет с ошибками и путает адреса... |
|
|
|
Apr 13 2017, 15:31
|

Местный
  
Группа: Участник
Сообщений: 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 лет почти проработала) или в защёлке не родной ?
Заранее благодарен за любую помощь !
--------------------
" Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий." (с) К.Прутков.
|
|
|
|
|
 |
Ответов
|
Apr 17 2017, 08:05
|

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

|
 Написал новый ТЕСТ, который забивает память байтами от 0 до FF... Читаем. Видим, что случайно, каждый раз по разным адресам считывается младший адресный байт, а не байт данных... Причём это не всегда, а где-то 5-10 случаев на страницу в 8К. Народ ! У меня уже что-то голова не варит совсем. Это что ? Как такое может быть ? МК выставляет младший и старший адрес на шину. Защёлкивает. Даёт сигнал чтения RD и читает сам себя что-ли ? "Остатки" младшего адреса заместо выставленных памятью данных ? Чушь какая-то...
--------------------
" Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий." (с) К.Прутков.
|
|
|
|
|
Apr 17 2017, 10:31
|

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

|
Цитата(manul78 @ Apr 17 2017, 11:05)  случайно, каждый раз по разным адресам считывается младший адресный байт, а не байт данных...
МК выставляет младший и старший адрес на шину. Защёлкивает. Даёт сигнал чтения RD и читает сам себя что-ли ? "Остатки" младшего адреса заместо выставленных памятью данных ? Вам нужно еще раз внимательно прочитать, как работает мультиплексная Интеловская внешняя шина. То, что вы видите, типичное нарушение "времянки" работы шины. Причем сбои могут быть как при записи, так и при чтении, по этому тесту непонятно где. МК выставляет младший и старший адрес на шину. Защёлкивает младший байт адреса. Потом выдает на те же линии данные для записи или выдает строб чтения и ждет на этой линии данные из памяти. Если защелка медленная, она держит данные на DA7:0 слишком долго и возникает коллизия из-за того, что или МК или память выводят значения данных на DA7:0. Кто-то из двух будет пересиливать, данные будут неправильные. На осциллографе коллизии хорошо видны в виде третьих уровней на диаграммах, около половины питания. Еще Bus keeper (XMBK) будет влиять на работу, с ним разберитесь.
|
|
|
|
|
Apr 17 2017, 16:33
|

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

|
Цитата(Baser @ Apr 17 2017, 14:31)  МК выставляет младший и старший адрес на шину. Защёлкивает младший байт адреса. Потом выдает на те же линии данные для записи или выдает строб чтения и ждет на этой линии данные из памяти. Еще Bus keeper (XMBK) будет влиять на работу, с ним разберитесь. Похоже я где-то рядом... Те кто разрабатывал схему тупо посадили ногу (Enable and read register (transparent mode)) OE защёлки на землю... Защелка не переходит после фиксации в Z состояние. На шине получается висит младший адрес... Получается мне надо привязать эту ногу через инвертор к сигналу ALE ?
--------------------
" Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий." (с) К.Прутков.
|
|
|
|
|
Apr 17 2017, 17:11
|

Гуру
     
Группа: Свой
Сообщений: 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)  Похоже я где-то рядом... Судя по всему вы еще огого как далеко
|
|
|
|
|
Apr 18 2017, 08:14
|

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

|
Короче победил похоже... (Сейчас тесты гоняю) Аппаратно добил... У UT6264LP-70 в отличии от 62256 два сигнала стробирования СЕ и СЕ2 (инв) работающие в противофазе. Я по анлогии с 62256 повесил СЕ2 на +5 (у 62256 активный 0). Зря я это сделал. Отсюда и глюки... Сейчас я пустил сигнал ALE через 74ALS74 (ТМ2) то есть через D-триггер. Сигнал ALE через триггер выходит прямой на CE и инвертированный на СЕ2 соответственно. Плюс мелкая задержка на самом триггере за счет времени прохождения. Все. Ошибок нет. Пока нет...
--------------------
" Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий." (с) К.Прутков.
|
|
|
|
|
Apr 18 2017, 13:31
|
Профессионал
    
Группа: Свой
Сообщений: 1 123
Регистрация: 8-03-09
Из: Днепр
Пользователь №: 45 848

|
Цитата(manul78 @ Apr 18 2017, 11:14)  Короче победил похоже... (Сейчас тесты гоняю) Аппаратно добил... . . . .  мудрено аднака. посмею предположить, что пока аппаратно решали проблему, то пропаяли неконтакт, и оно аннилигилировалосььььь. (извиняюсь за наглость) Выложите схему, так, ничего личного, просто посмотреть
|
|
|
|
|
Apr 18 2017, 16:35
|

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

|
Цитата(k155la3 @ Apr 18 2017, 16:31)  посмею предположить, что пока аппаратно решали проблему, то пропаяли неконтакт, и оно аннилигилировалосььььь Ничего подобного. Предыдущее сообщение ввело меня в сомнения и я вернул всё взад... Те-же грабли вылезли. Сейчас выложу следующим комментарием фундаментально что я делал почти 2(!) недели.  Значится так: Повторюсь. АТмега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 память оживает и не имеет на своих входах "мусора" как если-бы она всегда находилась в активном состоянии в ожидании чтения/записи. Вот такие дела...
Сообщение отредактировал manul78 - Apr 18 2017, 16:00
--------------------
" Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий." (с) К.Прутков.
|
|
|
|
|
Apr 18 2017, 17:09
|

Гуру
     
Группа: Свой
Сообщений: 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)  всё через ж.пу, и противоречит гарвардской архитектуре и интеловским даташитам Это Вы точно подметили. Если когда нибудь Вы всё таки разберётесь с гарвардской архитектурой и интеловскими даташитами, то будете сами над собой смеяться.
|
|
|
|
|
Apr 18 2017, 17:31
|

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

|
Цитата(zombi @ Apr 18 2017, 20:09)  Попробуйте выяснить как работает защелка 74HC573 (Octal D-type transparent latch; 3-state)
Это Вы точно подметили. Если когда нибудь Вы всё таки разберётесь с гарвардской архитектурой и интеловскими даташитами, то будете сами над собой смеяться. Я прекрасно понимаю как она работает. И смеяться я над собой не буду... Потому что через ж..пу - но работает. А по всем правилам и канонам в данном конкретном случае - НЕТ  Замечу так-же, что шмель летает вопреки всем законам аэродинамики. Возможно, где-то в схеме сидит глюк, или просто уже старая мега мудрит...
--------------------
" Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий." (с) К.Прутков.
|
|
|
|
Сообщений в этой теме
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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|