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

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

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

20220228_225812s

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

Но самое удивительное открытие автора сего повествования — это возможность наблюдения синтезированного трафика самим же анализатором!

20220228_230005s

От разъема «TO TARGET» блока SAS001MA кабель подключен к разъему «INITIATOR», а уже разъем «TARGET» к жесткому диску. Питание жесткого диска осуществляется от внешнего блока питания.

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

C:\Users\Public\Documents\LeCroy\SAS SATA Protocol Suite\Generation\Samples

Все подключено, можно переходит к экспериментам!

Опыт наблюдения перехода от скорости интерфейса в 3 гигабита (SATA2) к скорости 1.5 гигабита (SATA1).

Подаем питание на жесткий диск.

Открываем пример SATA_1_5G.ssg из меню «File/Open» (выложен)

Устанавливаем большой размер буфера записи трафика в настройках анализа протокола.

start_recording_settings

Нажимаем «Connect Link»:

connect_link

Включаем запись трафика:

start_recording

Включаем генерацию трафика:

start_gen

После чего останавливаем генерацию и наблюдаем результат.

SpeedSwitch_1

Самый левый столбец указывает на источник пакета. «T1» — это диск, а «I1» — это контроллер.

SpeedSwitch_2

Опыт с подачей команды чтения сектора идентификации жесткого диска. Скрипт.

SATAFrame_1m

Внизу текст скрипта, а сверху его «скомпилированная» версия уже в виде, похожем на тот, в котором трафик отображает сам анализатор. Красным обведен участок подачи команды. Синим обведена вставка синхронизации. Черным обведена инструкция из 210 циклов ожидания.

Результат запуска такой генерации на стороне анализатора выглядит так:

SATAFrame_2

Тут видна отправка команды от инициатора и прием данных от накопителя.

Подведем итоги первых шагов освоения сложного прибора от LeCroy. Получилось передать посылки SATA контроллера. Однако, понятного примера эмуляции накопителя с ответом на команду чтения идентификации жесткого диска с дальнейшей передачей сектора с данными нет. Это означает, что тема эмуляции поведения накопителя, возможно, появится в следующих постах этого цикла.

Но это еще не все. В рамках разбора исходников SATA контроллера для микросхем Xilinx возникла необходимость понять, как именно заводится тактовый сигнал, о котором упоминалось в части 4.

Научился заводить тактовую частоту от входа тактирования GTX. Примеры для Virtex-6 b Artix-7 выложены в репозитории.

Не забывайте делать бэкап. До новых встреч!

PS. Все публикации этой серии доступны по метке «SATA».

Поделиться ссылкой на пост в соц. сетях

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *