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

 
 
4 страниц V  « < 2 3 4  
Reply to this topicStart new topic
> ATmega8515 + SRAM, Читает чисто, пишет с ошибками и путает адреса...
zombi
сообщение Apr 19 2017, 07:38
Сообщение #46


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

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



Цитата(manul78 @ Apr 19 2017, 08:28) *
А по моему троллите меня Вы!

Вы пишете одно, предполагаете другое и предполагаете ошибочно.
Как вас понять? как отвечать?

Форум буржуйский озвучите?
Go to the top of the page
 
+Quote Post
Baser
сообщение Apr 19 2017, 09:53
Сообщение #47


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

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



Цитата(zombi @ Apr 19 2017, 00:31) *
И какая максимально медленная память в принципе должна работать, без дополнительных wait states, согласно Ваших расчётов?

Написал же, что не смотрел - уснул. Может быть сегодня вечером гляну, если снова не усну sm.gif

Цитата(manul78 @ Apr 19 2017, 00:46) *
Базовая схема подразумевает что CE1 тупо посажен на землю, а ~CE2 на шину питания.То есть IO памяти всё время открыты.

Всякие там входы типа Chip Enable, Chip Select, и т.д. и их инверсии применяются исключительно для облегчения построения адресных дешифраторов в случае, когда на шине находится несколько устройств. Типа как я когда то делал: SRAM 8K, внешние регистры 74HC на ввод и вывод, второй УАРТ 16С550. Там нужно разделять адресное пространство.
Когда на шине только одно устройство, как у вас, все эти ноги подключаются к разрешающим уровням постоянно.
При этом если сигналы RD (OE) и WR (WE) пассивны (высокие), то шина данных памяти находится в Z-состоянии.

Цитата(manul78 @ Apr 19 2017, 08:28) *
Под "открыты" я имел в виду что они не в высокоомном состоянии, и их входные цепи могут как-то держать заряды. За счет внутреней емкости входов например. Как я еще могу объяснить нахождение на мультиплексированной шине маладшего адреса в момент когда МК уже перевел их с выхода на вход и читает данные?

Терминология у вас неправильная, поэтому сложно вас понимать.
У любого сигнала есть "задержка распространения", они и описаны в даташитах, и они и определяют "времянку".
Когда вы подали сигнал чтения на вход памяти - данные на выходе появятся только через это время. И снимутся они тоже только через некоторое время.
Для записи вам нужно, чтобы на входах памяти данные были заранее перед стробом записи. И держаться после строба тоже еще определенное время.
Иначе будут сбои как у вас.

Вот вы все картинки показываете, а они то типовые, всем хорошо известны. Важны именно цифры.
Go to the top of the page
 
+Quote Post
manul78
сообщение Apr 19 2017, 10:25
Сообщение #48


Местный
***

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




Всем доброго дня !

Когда сегодня 19 апреля 2017-го года я утром выглянул в окно и увидел, что выпало 15 см снега я подумал, что теперь меня уже ничем не удивишь, тем более глюками с МК... sm.gif

Но это так... лирическое отступление.

Значится так. Первым делом сегодня я проверил сохраненные фьюзы родной заводской прошивки. И таки да. 4 МГц внутреннего генератора.
Вероятно поляки посадили кварц на 7.3728 МГц и вывели RS-232 для каких-то своих отладочных целей, или это просто базовая плата МК с памятью, универсальная для разных применений. Вот что и изначально сбило меня.

До 10 утра гонял тесты с моей доработкой в виде D-триггера. Ошибок нет от слова ВООБЩЕ.
Так как родная прошивка работает на 4 МГц и надо проверить работу памяти на этой частоте - спаял приблуду на К176ИД2 и семисегментном индикаторе дабы видеть результаты тестов без использования USART. Прогнал тесты на 4 МГц-ах - ошибок нет.
Залил заводскую прошивку и поставил на оборудование. В тестовом режиме разумеется... sm.gif Всё работает.

В 11 часов привозят новую АТмегу8515 в DIP40...

Время есть. Решил проверить ВСЁ. Подцепил новую АТмегу. Залил тесты. Всё работает. Ошибок нет.
Отцепил свой триггер и вернул всё в назад как было изначально. И... Всё работает. Ошибок нет.
Переключился на внешний кварц 7.3728 - всё работает. Ошибок нет.

Решил добить всю схему до конца и поставил старую родную память HM62256-120, защёлку оставил 74ALS573, не стал менять на НС. Прогнал тест.
На 7.3728 - более 10% ошибок, то есть более 800 на 8Кб.
На 4 МГц - менее 0.1% ошибок, то есть 1-2 на 8Кб.

Ставил дополнительные циклы - изменения незначительные. На 7.3728МГц - куча ошибок, на 4 МГц - 1-2...

Исходя из этого, вернул UT6264, залил заводскую прошивку, выставил 4 Мгц внутреннего генератора и поставил на оборудование.

Всё работает.

Считаю, что проблема была комплексная. Старая АТмега8515 с поплывшими мозгами/портами + сдохшая не известно по какой причине защёлка + тупая 120нс память 88-го года выпуска.

Прошу всех извинить меня за резкости и кривую постановку задачи и её обсуждение. Торопился, злился, писал с телефона и пр... sm.gif
Тему можно считать закрытой.
Всем огромное спасибо за помощь и сотрудничество !

P.s. Для тех кому интересно, оборудование - австрийский термопластавтомат ENGEL, доработанный поляками и проданный в Россию 15 лет назад.


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


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

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



Поздравляю! sm.gif
Но терминологию подтяните... rolleyes.gif
Go to the top of the page
 
+Quote Post
manul78
сообщение Apr 19 2017, 10:58
Сообщение #50


Местный
***

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



Цитата(Baser @ Apr 19 2017, 12:53) *
Для записи вам нужно, чтобы на входах памяти данные были заранее перед стробом записи. И держаться после строба тоже еще определенное время.
Иначе будут сбои как у вас.

Вот вы все картинки показываете, а они то типовые, всем хорошо известны. Важны именно цифры.


После того как я заменил 62256-10 на 6264-70 - к записи данных претензий не было.
Проблема была с чтением.

Да и как я мог оперировать временными параметрами, если использовал аппаратный интерфейс микроконтроллера 8515 для работы с внешней памятью ? sm.gif

Там всего 4 бита управления задействованы.

SRW - вкл/выкл интерфейс.
SRW10 и SRW11 - выбор числа тактов ожидания (4 варианта соответственно)
XMBK - Bus Keeper вкл/выкл.

Про биты разрядности старшего байта XMM0, XMM1, XMM2 и биты определения секторов внешней памяти SRL0, SRL1, SRL2 я молчу, они роли не играют.


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


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

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



Цитата(manul78 @ Apr 19 2017, 13:25) *
Подцепил новую АТмегу. Залил тесты. Всё работает. Ошибок нет.
Отцепил свой триггер и вернул всё в назад как было изначально. И... Всё работает. Ошибок нет.
Переключился на внешний кварц 7.3728 - всё работает. Ошибок нет.

Еще в #9 сообщении я спросил меняли ли мегу.
Но ТС с шутками, прибаутками и анекдотами упорно продолжал тулить какие-то триггера и делать странные умозаключения. biggrin.gif

Адрес буржуйского форума держите в секрете?
Go to the top of the page
 
+Quote Post
manul78
сообщение Apr 19 2017, 11:55
Сообщение #52


Местный
***

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



Цитата(zombi @ Apr 19 2017, 14:24) *
Еще в #9 сообщении я спросил меняли ли мегу.
Но ТС с шутками, прибаутками и анекдотами упорно продолжал тулить какие-то триггера и делать странные умозаключения. biggrin.gif

Адрес буржуйского форума держите в секрете?


Да что-то за 20 лет практики (промышленное оборудование) не сталкивался в полудохлыми МК, обычно на МК думаешь в самую последнюю очередь.
Ну бывало порты выгорали, прошивка слетала, крыша съезжала у МК тоже встречал, но вот чтобы "то работает то нет" это первый случай. Обычно в промышленности используются довольно надёжные крепкие и толерантные к помехам схемы.
Да и менять то было не на что. sm.gif

https://wiki.mcselec.com/bavr/Adding_XRAM_w...emory_Interface


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


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

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



Цитата(manul78 @ Apr 18 2017, 23:41) *
Вот за что я уважаю буржуйские форумы

Цитата(manul78 @ Apr 19 2017, 14:55) *

Как оказалось и на буржуйских сайтах можно чушь прочитать biggrin.gif
Go to the top of the page
 
+Quote Post
manul78
сообщение Apr 19 2017, 18:23
Сообщение #54


Местный
***

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



bb-offtopic.gif

Пользуясь случаем, дабы не создавать новый топик, хочу спросить у тех кто много работал/работает с AVR Studio

У меня стоит студия "Семёрка". Но в ней нет симуляции 8515... Считается древним камнем.

В AVR Studio 4.19 разумеется есть симулятор. Вопрос: Можно заставить в настройках видеть в окнах Memory помимо Data,I/O,EEPROM,Reg видеть внешнюю память ? По умолчанию доступна только внутренняя.
Настройки Linker-а на студию как я понял не действуют. То есть я распределяю "кучу", стек, и пр. Всё как надо.


Upd: Нашел... Debug --> AVR Simulation options (Alt + O) --> Device selection --> галочка Use External memory.

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


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

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

 


RSS Текстовая версия Сейчас: 25th June 2017 - 19:03
Рейтинг@Mail.ru


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