Важная информация

User Tag List

Показано с 1 по 5 из 5

Тема: Тест памяти для Z80

  1. #1
    Veteran Аватар для AlexBel
    Регистрация
    02.01.2007
    Адрес
    Волгоград, Россия
    Сообщений
    1,182
    Спасибо Благодарностей отдано 
    94
    Спасибо Благодарностей получено 
    68
    Поблагодарили
    42 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Тест памяти для Z80

    Всем привет. Нужен исходник теста памяти для Z80, позволяющий проверить не только отдельные ячейки, но и обрыв/замыкание адресных линий, т.е. когда происходит дублирование участка физической памяти в адресном пространстве процессора. Буду благодарен за проверенный, рабочий тест.
    Девайс работает, но неустойчиво, есть подозрение на некорректную работу памяти. Для вывода результатов тестирования есть UART и порт с несколькими светодиодами, чего, думаю, вполне достаточно.


    Вопрос более не актуален. Не знаю, как удалить тему.
    Последний раз редактировалось AlexBel; 05.07.2022 в 10:02.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Veteran
    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,494
    Спасибо Благодарностей отдано 
    171
    Спасибо Благодарностей получено 
    253
    Поблагодарили
    178 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Тест на замыкание адресных линий, на самом деле, довольно прост, сам по себе.
    Если уверен в исправности ОЗУ, то достаточно по нескольким адресам записать разные метки, а потом прочитать их и сравнить с эталоном. Если метка не совпадает, то линия содержит посторонний шум.
    Но подозреваю, что тест адресных линий аппаратно-зависим, т.е. при анализе очень важно понимать есть ли на шине мультиплексирование разрядов, и прочей аппаратной фигни.
    Я в своём тесте писал метки по адресам: FFFE, FFFD, FFFB, FFF7, FFEF, FFDF, FFBF, FF7F, FEFF, FDFF, FBFF, F7FF, EFFF, DFFF, BFFF, 7FFF.
    Причём важно записать метки сначала в таком порядке, проанализировать метки (выловить одну из замкнутых линий), а потом заполнить метками в обратном порядке начиная с 7FFF и заканчивая FFFE, тогда при повторном анализе, будет видно вторую из замкнутых линий, и в результате будем знать обе взаимно-замкнутые линии адреса, а не только одну.
    Использовать метки по адресам типа 8000, 4000, 2000, ... и т.д. у меня не получилось. при анализе вылазят артевакты, искажающие результат теста. А вот когда все разряды в "1", а тестируемый в "0", то результат теста получается чистый, и достоверный.

    Напомню, все записываемые метки обязательно должны быть разными.
    Последний раз редактировалось KTSerg; 05.07.2022 в 16:29.

  4. Этот пользователь поблагодарил KTSerg за это полезное сообщение:

    AlexBel (05.07.2022)

  5. #3
    Master
    Регистрация
    03.07.2021
    Адрес
    г. Кировск
    Сообщений
    791
    Спасибо Благодарностей отдано 
    56
    Спасибо Благодарностей получено 
    138
    Поблагодарили
    122 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    Использовать метки по адресам типа 8000, 4000, 2000, ... и т.д. у меня не получилось.
    Предположу, что сильный ТТЛ-ноль просто забивал дохлую ТТЛ-единицу =)
    Поэтому первый вариант (с бегущим нулем) правильнее.

  6. Этот пользователь поблагодарил reddie за это полезное сообщение:

    AlexBel (05.07.2022)

  7. #4
    Veteran Аватар для AlexBel
    Регистрация
    02.01.2007
    Адрес
    Волгоград, Россия
    Сообщений
    1,182
    Спасибо Благодарностей отдано 
    94
    Спасибо Благодарностей получено 
    68
    Поблагодарили
    42 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В результате дело оказалось не в памяти. Если точнее - в памяти, но в моей, а не компьютерной Я забыл, что Z80 при использовании прерывания /INT для считывания вектора недостаточно управлять буфером данных только по /RD, нужно ещё учитывать низкий уровень /M1 и /IORQ. А вот это у меня, как раз, и не было сделано и при приёме символа SIO и срабатывании прерывания, процессор вместо вектора хватал то, что было на шине данных с отключённым буфером, т.е. что попало А я грешил на память, так как уже не знал, в чём ещё может быть дело. К счастью, я вспомнил про "какую-то хитрость при прерывании" и полез в документацию. Посмотрел диаграммы, обругал себя нехорошим словом, добавил к управлению буфером пару мелких микросхем и облегчённо выдохнул
    Но, в любом случае, большое спасибо за ответы, если и не мне, то кому-нибудь они помогут.

  8. #5
    Master
    Регистрация
    27.11.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    664
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    86
    Поблагодарили
    74 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ну уже не требуется. однако добавлю.
    Сперва надо тестовой пзу протестировать саму себя. сами подумайте: если адреса "рядом" с процессором глючат - то никакой тест не запустится.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Специалист: Тест памяти
    от Protom в разделе Специалист
    Ответов: 78
    Последнее: 27.04.2020, 13:34
  2. Тест памяти в tap/tzx для ленинграда
    от Ден в разделе Ленинград
    Ответов: 1
    Последнее: 12.09.2019, 14:23
  3. Тест памяти 86РК
    от Connect-2000 в разделе Радио-86РК
    Ответов: 83
    Последнее: 03.08.2013, 22:42
  4. АТМ 2+, настройка, тест памяти
    от Anteos в разделе ATM
    Ответов: 3
    Последнее: 15.06.2011, 15:23
  5. Тест памяти
    от spleen в разделе Софт
    Ответов: 2
    Последнее: 02.05.2006, 14:15

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •