Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Тестирование внешного RAM
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
zombi
Имеется система AVR и внешняя энергонезависимая RAM 32Kb.
Как можно протестировать RAM на работоспособность, но так чтобы в случае выключения питания во время теста не испортить содержимое RAM?
МП41
Это зависит от структуры данных в памяти, дублируются они, не дублируются, котр. сумма есть или нет и т.д. И насколько память занята полезными данными?
zombi
Цитата(МП41 @ Feb 4 2009, 18:36) *
Это зависит от структуры данных в памяти, дублируются они, не дублируются, котр. сумма есть или нет и т.д. И насколько память занята полезными данными?

Нужно проверить именно работоспособность RAM а не достоверность находящихся в ней данных!
Проверить нуно хотябы что нет кз по ШД т.е. по любому адресу пишется и читается правильно $00,$FF,$55,$AA
GDI
Тогда пишите/читайте в одну, например, последнюю ячейку и не занимайте ее под реальное хранение данных, тогда данные испортятся только в этой ячейке, но вам это не повредит. Тут, правда, может быть нюанс, если память работает только в каком-нибудь страничном режиме, то можете потерять всю страницу, хотя это больше к SDRAM относится, у вас же SRAM, полагаю.
zombi
Цитата(GDI @ Feb 4 2009, 18:58) *
Тогда пишите/читайте в одну, например, последнюю ячейку и не занимайте ее под реальное хранение данных, тогда данные испортятся только в этой ячейке, но вам это не повредит. Тут, правда, может быть нюанс, если память работает только в каком-нибудь страничном режиме, то можете потерять всю страницу, хотя это больше к SDRAM относится, у вас же SRAM, полагаю.

В таком случае я протестирую только одну ячейку памяти, а хотелось бы всю память протестить.
Да память SRAM, страниц нету.
Dog Pawlowa
Если шина данных замкнута, то что даст такая проверка?
Можно ли верить данным в такой памяти?
Все перевернуто с ног на голову.

1) Если устройство включается первый раз, то данных нет и память тестируется полностью.
2) Данные появляются и их достоверность контролируется контрольными суммами.
3) Если контрольные суммы не соответствуют, значит данным верит смысла нет, и память можно тестировать опять полностью.
Rst7
Используете доп. 3 переменных в ОЗУ. Адрес текущей проверяемой ячейки, данные в ней, флаг валидности.

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

Если произойдет сброс во время теста, то при установленном флаге валидности востанавливаете текущую тестируемую ячейку.

А вообще это способ себе ноги простреливать, через ресет поднимать состояние из внешнего озу.

PS Лично я рассматриваю эти тесты исключительно как отмазку при разного рода сертификационных испытаниях на соответствие каким-либо требованиям, в которых прописано - вот нужен тест, и писец. Ну и пусть будет, мне не жалко.
zombi
Цитата(Rst7 @ Feb 4 2009, 19:22) *
PS Лично я рассматриваю эти тесты исключительно как отмазку при разного рода сертификационных испытаниях на соответствие каким-либо требованиям, в которых прописано - вот нужен тест, и писец. Ну и пусть будет, мне не жалко.

Вот именно, нужен какой нибудь тест озу!
Ну не простож написать "RAM test" и через какоето время "completed" можнож в это время и потестить ченить biggrin.gif

Спасибо Rst7 за идею, будем ее думать rolleyes.gif
singlskv
Цитата(zombi @ Feb 4 2009, 20:50) *
Вот именно, нужен какой нибудь тест озу!
Ну не простож написать "RAM test" и через какоето время "completed" можнож в это время и потестить ченить biggrin.gif
Спасибо Rst7 за идею, будем ее думать rolleyes.gif
Google и поиск по memtest86 Вам в помогут,
все возможные алгоритмы тестирования памяти там уже есть... в исходниках...
Rst7
Цитата
Ну не простож написать "RAM test" и через какоето время "completed"


Если в ТЗ (или в другом руководящем документе) не указана вероятность пропуска ошибочной ситуации (написано просто "должно быть тестирование памяти", ну или "оборудования" или еще какой хрени), то можно и так. Один раз я так делал. В наглую. Прокатило.

Но лучше какое-нибудь дрючило ячеек написать.
defunct
Цитата(Rst7 @ Feb 4 2009, 17:22) *
PS Лично я рассматриваю эти тесты исключительно как отмазку при разного рода сертификационных испытаниях на соответствие каким-либо требованиям, в которых прописано - вот нужен тест, и писец. Ну и пусть будет, мне не жалко.
Тут все же ключевое слово "внешнее" ОЗУ.
Его надо тестировать, без фанатизма конечно, чтобы работоспособность шины проверить.
GDI
Цитата(zombi @ Feb 4 2009, 18:08) *
В таком случае я протестирую только одну ячейку памяти, а хотелось бы всю память протестить.
Да память SRAM, страниц нету.


Цитата
Проверить нуно хотябы что нет кз по ШД т.е. по любому адресу пишется и читается правильно $00,$FF,$55,$AA
Я из этого исходил, а другие варианты вам ответили уже выше.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.