Устройство жёсткого диска – индикаторы состояния

В накопителях с интерфейсом ATA (жесткие диски и SSD) реализованы регистр состояния и регистр ошибок. В этом видео дано подробное .

Видео запись части лекции с рассказом значения битов этих регистров доступно на нашем канале:

https://youtu.be/QC2jQq710Yk

Курс проводится на базе ЦДПО МФТИ.

Материнская плата для Intel 386

Попалась в руки интересная материнская плата:

IMG_1044s

Впервые вижу, чтобы у 386-ой все микросхемы были в DIP-корпусах. К сожалению,  процессор и сопроцессор с нее утрачен, но и он явно был не обычным. Судя по микросхеме P82384 тактовая частота процессора была 16 мегагерц…

Continue reading

Конструкция интерфейса SATA. Часть 7

Дальнейшие шаги по освоению интерфейса SATA связаны с получением возможности наблюдать и вносить правки во все регистры динамического порта реконфигурации (DRP) универсального скоростного последовательного интерфейса (GTX/GTP) встроенного в ПЛИС фирмы Xilinx. Доступ с внешнего компьютера к DRP удобно получить через гигабитный интерфейс Ethernet. В плате Wukong (Artix-7) такой интерфейс уже имеется, а плату с микросхемой Virtex-6 нужно оснастить внешним модулем.

На Aliexpress было куплено два разных модуля расширения. По их получению оказалось, что один из них почему-то подошел практически идеально! Это позволило не делать переходную плату, так как модуль просто устанавливается в определенное место разъема расширения платы Virtex-6 .

RTL8211_module

Continue reading

Устройство жёсткого диска – принцип трансляции

На наш youtube канал добавлена видео версия статьи про транслятор: тут.

В жестких дисках (HDD) применяется сложный алгоритм преобразования физических координат расположения данных в сектора LBA, с которым работают операционные системы. Объяснена работа всего алгоритма и его составных частей: P-List, G-List, таблица зон и карта головок.

Ссылка на модель: https://rlab.ru/opt/HDDTranslyator/HD…

Англоязычная версия: https://rlab.ru/opt/HDDTranslyator/HD…

Статья про таблицу зонного распределения: https://rlab.ru/doc/hdd_tracks_and_zo… Текстовая версия ролика: https://rlab.ru/doc/hdd_translator.html

Видео урок по Xilinx ISE 14.7 для QMTECH Wukong платы, часть 2

Это вторая часть, где логика реализована на языке Verilog:

https://youtu.be/QR7vbME-waM

Отладка при помощи симуляции и Chipscope.

Публикации по тематике ПЛИС/FPGA доступны по метке/тэгу «FPGA»

Видео урок по Xilinx ISE 14.7 для QMTECH Wukong платы, часть 1

Это первая часть, где логика реализована на языке VHDL:

https://youtu.be/ioQVxqQMIvI

Отладка при помощи симуляции и Chipscope.

Публикации по тематике ПЛИС/FPGA доступны по метке/тэгу «FPGA».

Конструкция интерфейса SATA. Часть 6.

Во второй части этого цикла публикаций речь шла про универсальный тест корректности передачи данных через универсальный скоростной последовательный интерфейс GTX/GTP встроенный в ПЛИС фирмы Xilinx. Однако, хотелось бы этот тест настроить именно на параметры SATA интерфейса и посмотреть, как все будет работать.

Первое, что необходимо для такой перенастройки — это установка кварцевого генератора на 150 МГц. Такая доработка уже выполнена.

Вторая доработка потребовалась из-за того, что на плате «Wukong» нет SATA портов. Пришлось «подвесить» их на дополнительной плате. Вот что получилось:

IMG_0980m

Continue reading

Изобретаем жесткий диск. STM32 Nucleo-64. Часть 19.

После перерыва в год, мы выпускаем новую публикацию по исследованию WD21000. Такая длительная пауза была обусловлена постепенным усилением технологической базы всех проводимых исследований, как программных, так и аппаратных. Итак, после того, как уровень поднят, можно пользоваться наработками.

Начнем с того, что обновлена принципиальная схема. Уточнено подключение процессора 80С196.

А еще вкусного в этом посте то, что он сопровождается ассемблер-листингом из IDA базы на github.

Итак, пришло время задействовать анализатор. Подключение к шине процессора рассматривалось тут (часть 16).

Теперь, хорошо бы понять, как идет управление шпиндельным двигателем, а именно: разгон, стабилизация скорости и торможение. Плюс еще в микросхеме WD61C13A находится синтезатор частоты. Возможно, он как-то тоже управляется. Полученные знания попробую протестировать на макете — при помощи подключенного к этой микросхеме процессора STM32 (Часть 15)

Еще важный момент. У автора этого опуса нет глубоких знаний ассемблера процессора 80С196, так как он никогда не писал на нем программы и не отлаживал их. Нет коллекции библиотек и исходников для него, чтобы что-то посмотреть по аналогии. Автор знакомится с героем своего повествования по мере написания этого текста. Поэтому, набираться опыта и знаний нужно по схеме: смотрим анализатором, как работает и ищем это в коде. Находим — хорошо! Пытаемся понять зачем. А вот если не находим, то отмечаем, что есть какое-то непонимание. Формулируем вопрос и заносим его в список неизвестного.

Для решения задачи потребуется прибор, назовем его «счетчик/синхронизатор». Проблема в том, что анализатор ловит случайный пакет по входу синхронизации. Не получается посмотреть, например, первый от включения диска запрос к интересующей микросхеме, второй и так далее.

Чтобы посмотреть номерные обращения нужен счетчик импульсов сигнала «CS3#», который когда досчитает до заданного номера выдаст сигнал синхронизации. А уже от этого сигнала сработает анализатор и запишет кадр.

Проект счетчика/синхронизатора сделан в среде Arduino под плату STM32 Nucleo-64, F091RC.

Исходный код программы на github.

Для того, чтобы среда разработки Arduino могла работать с STM32 нужно поставить соответствующий модуль.

Используется аппаратный таймер в режиме счета импульсов, поступающих на вход «D2».

В процедуре void InputCapture_IT_callback(void) есть условие вида:

« if(isInputCapture >= 9) {», где число 9 задает количество отсчетов до срабатывания выхода «D4».

Процесс постановки опыта по записи осциллограммы одного обращения по сигнал CS3#:

1) установить значение условия срабатывания;

2) собрать и загрузить программу в плату;

3) запускать кнопкой RUN/STOP осциллограф в режим ожидания сигнала триггера;

4) подавать питание на жесткий диск.

Тестовая установка:

IMG_0963s

Continue reading

Конструкция интерфейса SATA. Часть 5.

В этой части продолжим обзор возможностей анализатора интерфейсов SAS и SATA фирмы LeCroy, который был обозначен в третей части повествования про интерфейс SATA.

Классическое и вполне очевидное использование анализатора — это установить его в разрез кабеля соединяющего компьютер и жесткий диск, как показано на фото:

20220228_225812s

Но, оказалось, что модуль SAS001MA в этом анализаторе предназначен для генерации SAS / SATA трафика как контроллера, так и накопителя. Реализация описана в SASSuite_User_Manual.pdf, Chapter 12: Traffic Generation with SAS Trainer.

Continue reading