Выпускная квалификационная работа Разработка SATA - IO-link контроллера с программными интерфейсами Legacy и AHCI Студент:Белянин И.В., ФРТК, 713 гр. Научный руководитель:Петраков П.Ю. Развитие интерфейсов накопителей IDE SATA Сравнение характеристик IDE и SATA IDE Максимальная пропускная способность 133 МБ/с (UDMA-6) Способ передачи данных параллельный интерфейс Кодировка нет Методы контроля ошибок CRC Метод подключения устройств master/slave SATA Максимальная пропускная способность SATA I — 150 МБ/c, SATA II 300 МБ/c Способ передачи данных последовательный интерфейс Кодировка 8/10b Методы контроля ошибок CRC & Scrambling Метод подключения устройств точка-точка Постановка задачи - - Разработать универсальный SATA-контроллер, удовлетворяющий следующим требованиям: поддержка программных интерфейсов Legacy и AHCI контроллер обязан полностью соответствовать стандартам SATA v2.5 и AHCI v1.3 интерфейс внешнего взаимодействия IO-link использование физического уровня фирмы «Synopsys» надежная работа в режимах SATA I — 1.5 GHz и SATA II — 3 GHz Расположение контроллера в структуре вычислительного комплекса Контроллер может располагаться как в составе чипсета или южного моста, так и подключаться извне с использованием шин PCI/PCI-X. Схема функциональных уровней стандарта SATA - - Commands and Application ― верхний уровень, обрабатывающий поступающие команды, работающий с памятью, выставляющий прерывания и т.д.; Serial Digital Transport Control ― транспортный уровень преобразование информации или выполняет контрольной данных, которые необходимо передать, в пакеты\фреймы (Frame Information Structure, FIS); - Serial Digital Link Layer ― реализует протокол звена данных, кодировка 8\10b; - Serial Physical Interface Plant ― физический уровень отвечает за передачу и прием данных по последовательному каналу; Особенности интерфейса AHCI - до 32-х портов - 32-х, 64-х битная адресация - отсутствие разделения накопителей на Master/Slave - улучшенное управление питанием - поддержка режима очередей (Native Queued Command) - ступенчатая «раскрутка» диска - Port Multiplier Конфигурационное пространство AHCI - Конфигурационное пространство AHCI полностью совпадает с конфигурационным устройством PCI контроллера. Базовые адреса, расположенные в конфигурационном пространстве: один базовый адрес 24h (реализация AHCI); пять базовых адресов (интерфейс Legacy); Формат команды AHCI Особенности реализации поддержка команд с невыровненным адресом поддержка режима передачи невыровненного количества слов поддержка 4-х портов 32-х битная адресация не реализована поддержка команд Native Queded Command не поддерживается Port Multiplier Реализация - IO-link client ― модуль, отвечающий за проведение транзакций на IO-link-интерфейсе; SATA ― IO-link Config Space ― конфигурационное пространство (набор управляющих регистров) совпадающее с PCI Config Space; - DMA Arbiter ― модуль, обеспечивающий арбитраж сигналов с разных портов; - AHCI HCSM (AHCI HBA Controller State Machine) ― модуль, определяющий внешнее поведение контроллера в режиме AHCI, содержит в себе такие опции как глобальный reset, бит AHCI enable, а также набор регистров отвечающих за поведение устройства; - SATA Port ― модуль, включающий в себя, модули отвечающие за обработку данных и общение с диском, самая объемная часть контроллера. К порту через SATA кабель подключается накопитель данных. Внутреннее устройство модуля SATA-port Автомат, реализующий DMA транзакции на AHCI уровне Моделирование Пример выполнения команды на уровне Commands & Application с интерфейсом AHCI - Порядок выполнения теста: инициализация диска(OOB sequence); выполнение команды записи данных на диск по определенному адресу; выполнение команды чтения данных с диска по тому же адресу; cравнение данных в памяти; смещение адреса и данных на фиксированную величину и повторение команды: Отладка на макете Из-за отсутствия тестового стенда с интерфейсом был использован PCI-интерфейс. - IO-link Использованное тестовое оборудование: ВК на основе микропроцессора МЦСТ «R150» набор тестов, входящих в состав boot макетная плата (4 разъема SATA, ПЛИС Xilinx Virtex-5, SATA phy layer GTP-Dual Transceiver, 1 PCI разъем) логический анализатор ПО ChipScope Analyzer Принцип тестирования совпадает с уже использованным при моделировании. Пример диаграммы, полученной с помощью логического анализатора Начальный момент процедуры OOB Sequence: -контроллер передает диску последовательность сигналов COM_RESET; -ожидание ответной последовательности сигналов COM_INIT; -обмен последовательностями сигналов COM_WAKE; -контроллер передает диску фиксированные данные; -если диск отвечает, что данные приняты верно, то определение диска и подстройка частоты прошла успешно. Результаты: - разработано RTL-описание универсального SATA- IO-link контроллера с интерфейсами Legacy и AHCI; - получен макет контроллера с PCI-интерфейсом; - собран тестовый стенд и успешно проведены имеющиеся тесты контроллера в составе стенда с использованием реальных SATA дисков фирмы Maxtor Перспективы: проведение более сложных тестов, включающих загрузку операционной системы с диска и имитацию работы пользователя. реализация функции Native Queded Command проведение отладки устройства на тестовом стенде с IO-linkинтерфейсом. В конечном итоге данный контроллер будет реализован на кристалле в составе южного моста, разработанного компанией ЗАО «МЦСТ». Спасибо за внимание!