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

 
 
> LPC1788 и EMC, Есть ли промежуточные буферы (кэш)?
haker_fox
сообщение Dec 6 2016, 13:46
Сообщение #1


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Добрый день, дамы и господа!

Есть названный микроконтроллер и снаружи 2 микросхемы SDRAM по 32 Мбайт. Шина данных 32 бит, шина адреса 15 бит.

Память работает адекватно, по-крайней мере пока... Но появилось желание добавить тест. Пока начали с простейших тестов: неисправность ША и ШД. Алгоритм следующий (для ША): устанавливаем фиксированный адрес в пространстве SDRAM, и начинаем записывать "бегущую" единичку по этому адресу, контролируя запись считыванием. Алгоритм не сами придумали, а почитали умные документы) Но что интересно, когда шину данных коротишь капелькой припоя, штатная программа виснет, оно и понятно - память становится "повреждённой". Но тест этого не видит. Он считывает данные без ошибок. Выяснилось, что забыли переменную указателя адреса объявить volatile. Но это помогло, но как-то странно: в 1 случае из 10 тест стал выявлять замыкание. Мы подумали, что есть кэши и буфера, и добавили перебор адресов и данных (128) смежных ячеек. Результат тот-же: тест видит ошибку примерно каждый 10 запуск. Может быть кто-то сталкивался с тонкостями SDRAM? Что может влиять? Куда глядеть?

Спасибо!!!


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
haker_fox
сообщение Dec 9 2016, 01:09
Сообщение #2


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



QUOTE (demiurg_spb @ Dec 7 2016, 17:19) *
Тайминги проверяли-перепроверяли?
У коллеги была схожая ситуация - оказалось дело в настройках таймингов.

Уже сижу перепроверяю rolleyes.gif


QUOTE (jcxz @ Dec 8 2016, 18:37) *
А потом весь этот объём считать, стартовав псевдослучайный генератор с того-же seed. И сравнить.

Спасибо, вам!


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Dec 9 2016, 08:40
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(haker_fox @ Dec 9 2016, 04:09) *
Спасибо, вам!

Да не за что, сам недавно тестил. И как раз на LPC1788 wink.gif
Правда я проверял не качество монтажа, а работу режима Self Refresh
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Dec 10 2016, 09:43
Сообщение #4


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



QUOTE (jcxz @ Dec 9 2016, 16:40) *
Да не за что, сам недавно тестил. И как раз на LPC1788 wink.gif
Правда я проверял не качество монтажа, а работу режима Self Refresh

Сделал заполнение объёма рандомом, как вы и посоветовали... В общем у меня неправильно был сконфигурирован EMC, и вместо 64 Мб в системе было 16, причём каждый 16 Мб блок маппился на один и тот же адрес... Теперь все тесты проходят. Правда тест с ногами отдельно не прогонял, времени пока не было, но тест рандомом с разными seedами был запущен 100 раз в цикле, и ни одного сбоя!

Не порекомендуете лёгкое для чтения чтиво по принципу работы SDRAM? rolleyes.gif Так, чтобы не погрузить себя в дебри, и более-менее понять принцип работы этой памяти? До сих пор толком не знаю, как она устроена))) Ну кроме элементарного уровня.


--------------------
Выбор.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


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


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