Итак, добрались до изучения нашего героя повествования (жесткого диска) WD21000 при помощи цифрового анализатора встроенного в осциллограф Rigol DS1052D.
Как уже отмечалось в самом первом посте этой серии, у данного диска все важные функциональные элементы выполнены в виде отдельных микросхем, что позволяет проанализировать электрическое взаимодействие между ними. В более новых дисках степень интеграции резко возросла и не позволяет посмотреть отдельно, например, работу серводемодулятора.
Итак, следуя намеченному плану в предыдущей части приступим к изучению цифровым анализатором протокола взаимодействия программы управления с контроллером шпиндельного двигателя.
Подключение цифрового анализатора к жесткому диску выполнено через штатный заводской отладочный разъем, четыре ряда контактов которого видны на установленной плате. Шаг контактов разъема 2мм. Для надежности проводники со стороны жесткого диска припаяны, а со стороны входа анализатора есть разъем, чтобы было легко его отсоединить.
Схема подключения показана на таблице ниже:
Линия анализатора — контакт отладочного разъема — функция
D0 — 212 — MD0
D1 — 211 — MD1
D2 — 210 — MD2
D3 — 190 — MD3
D4 — 178 — MD4
D5 — 191 — MD5
D6 — 179 — MD6
D7 — 192 — MD7
D8 — 123 — ALE
D9 — 182 — WR#
D10 — 196 — RD#
D11 — 127 — EXTINT1
D12 — 124 — CS3#
GND — 122 — GND
На схеме (напоминаю, выложена тут) перед обозначением точки отладочного разъема поставлена буква «p», так как KiCad не позволяет делать только цифровые обозначения. Например, на плате жесткого диска рядом с контактом отладочного разъема написано 212, а в схеме этот же контакт обозначен p212.
Вот так выглядит на экране логического анализатора доступ к регистрам микросхемы WD61C13A-WM:
Осциллограф позволяет записывать осциллограммы в файлы на подключаемой USB-флэшке. Однако программы просмотра сохраненных файлов не открывают данные из логического анализатора. Возможно, в рамках данного исследования автор еще сделает программу отображения на компьютере файлов цифрового анализатора для такого осциллографа.
Но для связи функций микросхемы с текстом дизассемблера реализованного подключения недостаточно. Еще необходимо реализовать возможность запускать захват сигналов (внешний триггер) по номеру импульса сигнала CS3#. Для этого нужно сделать программируемый внешний счетчик.
В следующей части цикла займемся реализацией такого счетчика при помощи платы STM32 NUCLEO-64.
Не забывайте делать бэкап. До новых встреч!
PS. Все публикации этой серии доступны по метке «WD21000».