Мезонинный адаптер USB 2.0

Создание мезонинного адаптера USB 2.0. - устройства, позволяющего быстро передавать большие объемы данных и связывать специализированные устройства с компьютером через USB интерфейс. Электрическая принципиальная схема адаптера. Себестоимость изделия.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 28.06.2011
Размер файла 718,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Оглавление

Введение

Техническое задание

1. Описание интерфейса USB2.0

1.1 Введение

1.2 Цели создания USB шины

1.3 Технические характеристики

1.4 Описание архитектуры

1.5 Функциональное устройство

1.6 Электрические параметры

1.7 Пакеты в USB

1.8 Кадры и микрокадры в USB

1.9 Помехоустойчивость

1.10 Синхронизация переключения данных и повторная передача

1.11 Классы оконечного устройства

1.11.1 Класс USB Mass Storage

2. Класс USB Mass Storage (Bulk-Only Transport)

2.1 Введение

2.2 Функциональные характеристики

2.3 Стандартные дескрипторы

2.3.1 Дескриптор устройства

2.3.2 Дескриптор конфигурации

2.3.3 Дескриптор интерфейса

2.3.4 Дескриптор конечной точки

2.4 Протокол передачи Command/Data/Status

2.4.1 Пересылка команды (Command Transport)

2.4.2 Пересылка состояния (Status Transport)

2.4.3 Передача данных (Data Transport)

2.4.4 Режимы передачи данных

3. SCSI команды в пакете CBW

3.1 Команда INQUIRY (12h)

3.2 Команда READ (10)

3.3 Команда READ CAPACITY

3.4 Команда REQUEST SENSE

3.5 Команда MODE SENSE

3.6 Команда WRITE (10)

4. Обоснование выбора элементной базы

4.1 Описание структурной схемы

4.2 Выбор элементной базы

4.2.1 Выбор микроконтроллера

4.2.2 Выбор генератора тактовых импульсов

4.2.3 Выбор понижающего контроллера

4.2.4 Выбор микросхемы памяти

4.2.5 Выбор монитора питания

5. Описание схемы электрической принципиальной устройства

6. Описание сборочного чертежа

7. Расчетная часть

7.1 Расчет потребляемой мощности

7.2 Расчет основных показателей надежности

8. Алгоритм работы программы

8.1 Инициализация CY7C68013A

8.2 Поиск и настройка устройства АТА

8.3 Процесс передачи данных

8.4 Процедура перехода в HI-SPEED режим

9. Выводы

Технологическая часть

1. Введение

2. Технологическая оснастка

3. Приемо-сдаточные испытания

4. Методы контроля

5. Выводы

Организационно-экономическая часть

1. Введение

2. Краткие теоретические сведения

3. Расчет себестоимости методом удельных весов

4. Расчет себестоимости методом нормативной калькуляции

4.1 Исходные данные

4.2 Расчет себестоимости изделия

5. Выводы

Производственно-экологическая безопасность

1. Введение

2. Электроопасность оборудования

3. Воздействие излучений работающего оборудования

4. Нерациональная освещенность рабочего места

5. Шумовые воздействия

6. Опасности при проведении монтажных работ

7. Ненормированные климатические параметры в помещении

7.1 Расчет воздухообмена

8. Психофизиологические параметры рабочего места

9. Экологическая безопасность

9.1 Утилизация электрооборудования

10. Выводы

Заключение

Источники

Приложения

Введение

мезонинный адаптер данные компьютер

Целью данного дипломного проекта является создание мезонинного адаптера USB.20, предназначенного для связи высокоскоростных интерфейсов USB2.0 и АТА.

Идея преобразования различных интерфейсов в USB появилась почти сразу же при появлении USB2.0. Это связано с высокой скоростью работы данного интерфейса, его простотой и возможностью разнесения точек связи на расстояния до 5 метров. К примеру, стандарт АТА устанавливает максимальную длину кабеля равной 46 см.

Именно высокая скорость работы, простота реализации USB2.0 и требования к расстояниям между точками связи, определившие в прошлом выбор в пользу интерфейса RS232, на данный момент определили выбор в пользу интерфейса USB.

В данной работе стоит задача выбора элементной базы для реализации требований технического задания. Несмотря на то, что стандарты USB и АТА нельзя назвать новыми и на рынке представлено множество готовых решений для связи этих двух интерфейсов, только недавно начали появляться микроконтроллеры интерфейса USB, предназначенные для жестких условий эксплуатации. Необходимо также отметить бурное развитие контроллеров USB, благодаря которому периферия USB становится все более широкой, универсальной. Появились микроконтроллеры, позволяющие программирование через USB интерфейс, что дополнительно облегчает разработку и сокращает время реализации проекта.

Техническое задание

Настоящее техническое задание распространяется на разработку мезонинной платы контроллера интерфейса USB 2.0. Мезонинная плата представляет собой связующее звено между USB и такими популярными интерфейсами, как ATA и UART, при этом предполагается и нестандартное программирование параллельных портов ввода-вывода, позволяющих передавать данные на скорости до 60МБ/с.

Основание для разработки

Распоряжение начальника отдела разработок ЗАО НТЦ «ЭЛИНС».

Назначение разработки

Создание устройства, позволяющего быстро передавать большие объемы данных, а также связывать специализированные устройства с компьютером через USB интерфейс.

Технические требования

1. Изделие должно соответствовать требованиям ТУ и конструкторской документации на блок.

2. Назначение устройства: адаптер должен обеспечивать связь устройств, работающих с различными интерфейсами, с компьютером посредством интерфейса USB.

3. Основные технические характеристики:

3.1. Адаптер должен поддерживать высокоскоростной режим работы USB (hi-speed USB, до 480Мбит/с).

3.2. Адаптер должен обеспечивать скорость считывания с АТА устройств 15МБ/с.

3.3. Питание платы адаптера должно осуществляться непосредственно от интерфейса USB. Ток потребления - до 200 мА.

4. Требования к конструкции и технологичности:

4.1. Габаритные размеры платы должны соответствовать требованиям КД.

4.2. Способ крепления устройства: объемными соединителями с крепежом винтами.

4.3. Требования к защите: плата должна быть покрыта защитным лаком.

4.4. Технологические ограничения: при изготовлении печатных плат использовать двухсторонние печатные платы.

5. Требования к надежности:

5.1. Наработка на отказ - не менее 10000 часов.

5.2. Срок службы - не менее 10 лет.

6. Эксплуатационные требования:

6.1. Климатические требования: диапазон рабочих температур от -400С до +850С.

6.2. Механические требования: плата должна быть устойчива к синусоидальным вибрациям частотой 30 Гц и ускорением 5 g.

7. Требования к материалам и покупным изделям:

7.1. Все материалы и покупные изделия должны соответствовать действующим стандартам и ТУ на них, иметь сертификаты заводов-поставщиков.

7.2. Фактические сроки хранения материалов и покупных изделий ко времени их использования и установки в изделие не должны превышать величин сроков хранения, установленных на них в ТУ или стандартах.

8. Требования безопасности: плата адаптера должна быть безопасна в эксплуатации, в том числе при проведении технического обслуживания и ремонта.

9. Требования к упаковке и маркировке.

9.1. Плата должна содержать заводскую маркировку.

9.2. Упаковка должна содержать: наименование изделия; название предприятия; дату опечатки; фамилию, должность и подпись ответственного лица.

10. Требования к транспортировке и хранению: не предъявляются.

1. Описание интерфейса USB 2.0.

1.1 Введение

Шина USB (Universal Serial Bus - универсальная последовательная шина) появилась по компьютерным меркам довольно давно - версия первого утвержденного варианта стандарта появилась 15 января 1996 года. Основная цель стандарта, поставленная перед его разработчиками - создать реальную возможность пользователям работать в режиме Plug&Play с периферийными устройствами. Это означает, что должно быть предусмотрено подключение устройства к работающему компьютеру, автоматическое распознавание его немедленно после подключения и последующей установки соответствующих драйверов. Кроме этого, желательно питание маломощных устройств подавать с самой шины. Скорость шины должна быть достаточной для подавляющего большинства периферийных устройств.

1.2 Цели создания USB шины

Разработчики шины ориентировались на создание интерфейса, обладающего следующими свойствами:

§ легко реализуемое расширение периферии ПК;

§ дешевое решение, позволяющее передавать данные со скоростью до 12 Мбит/с (480 Мбит/с для USB 2.0);

§ полная поддержка в реальном времени голосовых, аудио- и видеопотоков;

§ гибкость протокола смешанной передачи изохронных данных и асинхронных сообщений;

§ интеграция с выпускаемыми устройствами;

§ охват всевозможных конфигураций и конструкций ПК;

§ обеспечение стандартного интерфейса, способного быстро завоевать рынок;

§ создание новых классов устройств, расширяющих ПК.

Спецификация USB определяет следующие функциональные возможности интерфейса:

§ простота использования для конечного пользователя:

o простота кабельной системы и подключений;

o скрытие подробностей электрического подключения от конечного пользователя;

o самоидентифицирующиеся устройства с автоматическим конфигурированием;

o динамическое подключение и переконфигурирование периферийных устройств;

§ широкие возможности работы:

o пропускная способность от нескольких Кбайт/с до нескольких Мбайт/с;

o поддержка одновременно как изохронной, так и асинхронной передачи данных;

o поддержка одновременных операций со многими устройствами (multiple connections);

o поддержка до 127 устройств на шине;

o передача разнообразных потоков данных и сообщений;

o поддержка составных устройств (т. е. периферийное устройство, выполняющее несколько функций);

o низкие накладные расходы передачи данных;

§ равномерная пропускная способность:

o гарантированная пропускная способность и низкие задержки голосовых и аудиоданных;

o возможность использования всей полосы пропускания;

§ гибкость:

o поддержка разных размеров пакетов, которые позволяют настраивать функции буферизации устройств;

o настраиваемое соотношение размера пакета и задержки данных;

o управление потоком (flow control) данных на уровне протокола;

§ надежность:

o контроль ошибок и восстановление на уровне протокола;

o динамическое добавление и удаление устройств прозрачно для конечного пользователя;

o поддержка идентификации неисправных устройств;

o исключение неправильного соединения устройств;

§ выгода для разработчиков:

o простота реализации и внедрения;

o объединение с архитектурой Plug and Play;

§ дешевая реализация:

o дешевые каналы со скоростью работы до 1,5 Мбайт/с;

o оптимизация для интеграции с периферией;

o применимость для реализации дешевой периферии;

o дешевые кабели и разъемы;

o использование выгодных товарных технологий;

§ возможность простого обновления.

1.3 Технические характеристики

§ Высоко - скоростной обмен HS (high speed) 480 Мбит/с

§ Максимальная длина кабеля для HS обмена 5 м

§ Полно - скоростной обмен FS (full-speed) 12 Мбит/с

§ Максимальная длина кабеля для FS обмена 5 м

§ Низко - скоростной обмен LS (low-speed) 1.5 Мбит/с

§ Максимальная длина кабеля для LS обмена 3 м

§ Максимальное количество подключенных устройств (включая хабы) - 127

§ Возможность подключения устройств с различными скоростями обмена

§ Напряжение питания для периферийных устройств 5 В

§ Максимальный ток потребления на одно устройство 500мА

Конструкция разъемов для USB рассчитана на многократное сочленение/расчленение. В одной и той же системе могут присутствовать и одновременно работать устройства со всеми тремя скоростями. Шина позволяет соединять устройства, удаленные от компьютера на расстояние до 25 м (с использованием промежуточных хабов). Питание непосредственно от USB возможно только для устройств с малым энергопотреблением, таких как клавиатуры, мыши, джойстики и тому подобное.

1.4 Описание архитектуры

USB это шина, которая поддерживает обмен данными между хостом и большим количеством одновременно доступных периферийных устройств. Шина позволяет подключать периферийные устройства, использовать и отключать их, в то время как работают хост и другие периферийные устройства.

Первая архитектурная особенность шины USB: ее логическая топология - многоуровневая звезда (рис.2.1). Это объясняется тем, что каждый концентратор обеспечивает прозрачно для хоста соединение с устройством.

Самым верхним уровнем является корневой концентратор, который обычно совмещается с USB контроллером. Его функция такая же, что и концентраторов сетей передачи данных - добавление новых портов для подключения большего числа устройств. Ничего большего, чем просто разветвитель.

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

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

Рис.1.1. Физическая архитектура USB.

Детали физической архитектуры скрыты от прикладных программ в ПО хоста, поэтому логическая архитектура выглядит как обычная звезда, центром которой является прикладное ПО, а вершинами - набор конечных точек (рис. 1.2).

Рис. 1.2. Логическая архитектура USB.

Хост, как уже было сказано, программно-аппаратный комплекс. В обязанности хоста входит:

слежение за подключением и отключением устройств;

организация управляющих потоков между USB-устройством и хостом;

организация потоков данных между USB-устройством и хостом;

контроль состояния устройств и ведение статистики активности;

снабжение подключенных устройств электропитанием.

Аппаратной частью является хост контроллер - посредник между хостом и устройствами на шине.

1.5 Функциональное устройство

С точки зрения USB, устройство - это набор конечных точек (endpoints), с которыми возможен обмен данными. Число и функции точек зависят от устройства и выполняемых им функций, и определяются при производстве. В обязательном порядке присутствует точка с номером 0 - для контроля состояния устройства и управления им. До осуществления конфигурирования устройства через точку 0 остальные каналы не доступны. Каждая конечная точка устройства описывается следующими параметрами:

§ Частотой обращения к шине и требованиями к задержкам;

§ Необходимой полосой пропускания;

§ Номером конечной точки;

§ Требованиями к обработке ошибок;

§ Максимальным размером кадра, который может быть принят или послан;

§ Типом поддерживаемой передачи данных;

§ Направлением осуществления передачи между конечной точной и хостом;

Для низкоскоростных (LS) устройств возможно существование до двух дополнительных точек; для FS и HS устройств их число ограничивается лишь возможностями протокола и может достигать 15-ти для ввода и 15-ти для вывода.

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

§ Каналы сообщений (message pipes). Являются двунаправленными каналами и служат для передачи сообщений, имеющих строго определенный в спецификации формат, необходимый для обеспечения надежной идентификации и передачи команд. Возникает канал при отсылке хостом запроса в устройства, и управляет передачей только хост. Каналы сообщений используются для передач только управляющего типа (см. ниже).

§ Потоковые каналы (stream pipes). Являются однонаправленными. В отличие от четко определенных сообщений не имеют определенного закрепленного в стандарте формата, что означает возможность передачи данных любого вида. Эти передачи могут контролироваться не только хостом, но и устройством. Используются для передач данных типа прерывание, групповая пересылка, изохронная (см. ниже).

В спецификации в зависимости от типа передаваемых данных, предъявляемых требований к скорости обработки, задержки доставки и т.п. определены следующие типы передач.

§ Управляющие передачи. Используются для конфигурирования устройств во время подключения и выполнения других специфических функций над устройством, включая организацию новых каналов.

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

§ Групповая пересылка. Используется для гарантированной передачи данных больших объемов без предъявленных требований к скоростям и задержкам. Занимает под себя всю свободную пропускную способность шины. В любой момент доступная полоса может быть урезана при необходимости осуществления передач других видов с более высоким приоритетом, или добавлена, при освобождении другими устройствами. Обычно такие передачи используются между принтерами, сканерами, накопителями и др.

§ Изохронная передача. Используется для потоковых передач данных в реальном времени. Резервируется определенная полоса пропускания шины, гарантируются определенные величины задержек доставки, но не гарантируется доставка (в случае обнаружения ошибки повторной передачи не происходит). Передачи этого вида используются для передачи аудио и видео трафика.

1.6 Электрические параметры

В USB шине сигнал и мощность передаются по четырехпроводному кабелю, показанному на рис.1.3. Передача сигналов происходит по двум проводам и только от точки к точке.

Рис.1.3. кабель USB.

Цепи VBUS и GND служат для подведения питания к устройству. Обычно VBUS +5В от источника. Шина D+ предназначена для передачи данных по шине, а шина D- для приема данных.

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

Синхронизация передается закодированно наряду с данными. Синхронизация кодируется схемой - NRZI с заполнением бит, чтобы гарантировать правильную передачу. SYNC поле предшествует каждому пакету, чтобы позволить приемнику(ам) синхронизировать свои частоты восстанавливаемых бит.

1.7 Пакеты в USB

Для USB шины используются четыре типа пакетов. Пакет-маркер обозначает, какого типа транзакция начинается на шине; пакет данных включает в себя передаваемую структуру данных; пакеты статуса используются для информирования об успешно выполненной транзакции или ошибках, произошедших при передаче; пакеты начала кадра инициируются при генерации нового кадра на шине.

§ Маркерные пакеты (Token Packets)

Существуют три типа маркерных пакетов:

o In - информируют USB устройство, что ХОСТ хочет читать данные из устройства;

o Out - информирует USB устройство, что ХОСТ хочет передавать данные в устройство;

o Setup - используются для обозначения начала управляющего (Control Transfer) типа передачи данных;

Все маркерные пакеты имеют следующий формат:

SYNC

PID

ADDR

ENDP

CRC5

EOP

Рис.1.4. Маркерный пакет.

§ Пакеты данных (Data Packets)

Существуют два типа пакетов данных, каждый из которых способен содержать до 1024 байтов данных:

o DATA0;

o DATA1;

У высокоскоростных устройств для пакетов данных определены два других PID-a: DATA2 и MDATA. Пакет данных имеет нижеследующий формат:

SYNC

PID

DATA

CRC16

EOP

Рис.1.5. Пакет данных.

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

§ для LS устройств 8 байт;

§ для FS устройств 1023 байта;

§ для HS устройств 1024 байта;

Данные всегда посылаются целым числом байт. Данные CRC16 вычисляются только для поля данных в пакете и не включают PID, который имеет собственное поле проверки.

§ Пакеты подтверждения (Handshake Packets)

Существуют три типа пакетов подтверждения, структура которых имеет только PID поле:

o ACK - подтверждение того, что пакет был успешно принят;

o NAK - информирует, что устройство в данный момент не может принимать либо отправлять данные. Также используется в Interrupt транзакциях для информирования Хоста, что устройство не имеет новых данных для передачи;

o STALL - указывает, что устройство неспособно передавать или получать данные, и требуется вмешательство ХОСТа для снятий состояния останова;

Пакет подтверждения имеет нижеследующий формат:

SYNC

PID

EOP

Рис.1.6. Пакет подтверждения.

§ Пакеты начала кадра (Start of Frame Packets)

SOF пакет состоит из 11-ти битного номера кадра и генерируется хостом каждую 1 мс ± 500 нс для полноскоростной шины и каждые 125 мкс ± 0.0625 мкс для высокоскоростной шины.

Пакет начала кадра имеет нижеследующий формат:

SYNC

PID

Frame Number

CRC16

EOP

Рис.1.7. Пакет начала кадра.

Биты посылаются в шину в следующем порядке: LSB - первый, за ним следующий за LSB, и т.д. до заканчивающего MSB.

1.8 Кадры и микрокадры в USB

В USB существует два понятия: кадры и микрокадры (рис.1.8). При полноскоростной передаче данных выделяется кадр длительностью 1 мс. Индикатором данного кадра является Start Of Frame (SOF), который вырабатывается каждую 1 мс (с допустимыми отклонениями). При высокоскоростной передаче данных определено понятие микрокадр длительностью в 125 мкс. SOF пакеты генерируются хостом для полноскоростной передачи каждые 1 мс, а для высокоскоростной передачи генерируются после каждых следующих семи периодов по 125 мкс. Высокоскоростное устройство просматривает SOF пакеты с одним и тем же номером кадра восемь раз (каждые 125 мкс) в течение каждого 1 мс периода. Если необходимо, данное устройство может определять конкретный номер микрокадра, опознавая SOF, у которого другой номер кадра, а не такой как у предыдущего SOF. Следующие семь SOF с таким же номером кадра определяются как микрокадры с 1 по 7.

Рис.1.8. Отличия между кадрами и микрокадрами.

Микрокадр может содержать несколько транзакций. Для каждого типа передач определяется количество транзакций в пределах одного микрокадра. Для bulk-передачи частота шины и время микрокадра ограничивают максимальное количество успешных bulk транзакций в пределах микрокадра в количестве не более 13 транзакций при высокоскоростной передаче при 512 байт полезных данных.

1.9 Помехоустойчивость

Имеются несколько атрибутов USB, которые способствуют помехоустойчивости:

§ дифференциальные приемники и передатчики, экранирование;

§ защита с помощью CRC полей управления и данных;

§ обнаружение присоединения и отсоединения и конфигурации ресурсов системы;

§ самовосстановление в протоколе, использующее блокировки времени для потерянных или испорченных пакетов;

§ каналы данных и управления создаются для обеспечения независимости от вредного взаимодействия между функциями;

§ поддержка обнаружения отказавших устройств;

Протокол необязательно учитывает обработку ошибок в аппаратных средствах или программном обеспечении. Аппаратная обработка включает в себя сообщение и повторение неудачных передач. Хост контроллер повторит передачу ошибочного данного три раза перед информированием клиентского программного обеспечения об ошибке. Клиентское программное обеспечение может реализовывать специфический способ восстановления.

1.10 Синхронизация переключения данных и повторная передача

USB обеспечивает механизм гарантированной синхронизации последовательности данных между передатчиком и приемником при множестве транзакций. Этот механизм обеспечивает правильную интерпретацию и передатчиком и приемником фазы квитирования транзакции. Синхронизация достигается с помощью поля PID (DATA0 и DATA1) и отдельными перепадами в битовой последовательности данных. Приемник синхронизируется только тогда, когда он способен принять данные и получает пакет данных без ошибок с правильным PID данных. Передатчик синхронизируется только, когда он получает правильное квитирование ACK. Передатчик и приемник данных должны иметь синхронизированные в начале транзакции биты последовательности. Используемый механизм синхронизации зависит от типа транзакции.

1.11 Классы оконечного устройства

Так как USB интерфейс предназначен для большого количества устройств с разным назначением, то существует несколько классов с разными характеристиками и с разной пропускной способностью:

§ Audio class - устройство ввода аудио с поддержкой даже 24-бит;

§ Communication Device Class CDC ACM - представляет собой драйвер виртуального COM порта;

§ Imaging Class - устройства ввода изображения: Цифровой фотоаппарат или Сканер;

§ Mass Storage - устройство накопитель информации;

§ HID Сlass - предназначен для периферийных устройств ввода информации, таких как: манипулятор, клавиатура, джойстик;

§ Также существуют другие классы. За более подробной информацией обращаться по интернет адресу на сайт производителя: http://www.usb.org/developers/devclass_docs

Поскольку стоит задача разработки устройства Mass Storage Class, поэтому далее более подробно будет рассмотрен именно этот класс.

1.11.1 Класс USB Mass Storage

USB Mass Storage Class - это класс стандартов, применяемых в устройствах с большой памятью, которые подключаются к хосту и управляют приемом и передачей данных.

,При передаче данных между хостом и функцией, используются четыре типа транзакций, определенных в USB. Существуют так называемые протокольные коды (protocol codes), которые устанавливают тип транзакции и то, как он используется.

Существует несколько классов USB Mass Storage:

§ USB Mass Storage Class Control/Bulk/Interrupt (CBI) Transport;

§ USB Mass Storage Class Bulk-Only Transport;

§ USB Mass Storage Class UFI Command Specification;

§ USB Mass Storage Class Bootability Specification;

§ USB Mass Storage Class Compliance Test Specification;

Но чаще всего используются:

§ USB Mass Storage Class Control/Bulk/Interrupt (CBI) Transport;

§ USB Mass Storage Class Bulk-Only Transport;

USB Mass Storage Class Control/Bulk/Interrupt (CBI) Transport - это протокол передачи данных, который использует передачу управления, групповую пересылку данных и передачу прерывания.

Как видно из названия, USB Mass Storage Class Bulk-Only Transport - это протокол передачи данных, в которой используется только групповая передача данных.

В USB Mass Storage существует такое понятие как дескрипторы. Определены четыре вида дескрипторов: дескриптор устройства, конфигурации, интерфейса и конечной точки. Дескрипторы несут информацию, необходимую для поддержки функционирования Plug&Play. Сами дескрипторы будут рассмотрены ниже. А сейчас рассмотрим два поля дескриптора интерфейса, несущих информацию о коде подкласса и коде протокола.

Подклассовый код

Дескриптор интерфейса устройства USB Mass Storage включает поле bInterfaceSubClass. Это поле указывает стандартный протокол интерфейса класса Mass Storage. Значение поля bInterfaceSubClass должно быть одним из подклассовых кодов, которые изображены в таблице 1.1.

Коды подклассов важны, так как показывают формат команды, посылаемой хостом функции. Формат команды можно определить по значению команды передачи. В таблице приведены некоторые типы форматов команд.

Замечание: значение подклассового кода, используемого в поле bInterfaceSubClass, определяется стандартной спецификацией, которая характеризует протокол передачи и командный код системы (command code systems), переданный интерфейсом. Подклассовый код не определяет тип устройства хранения.

Таблица 1.1

Подклассовые коды

Подклассовый код

Command Block Specification

Комментарий

01h

Reduced Block Command (RBC) T10 Project 1240-D

Обычно, Flash устройство использует RBC. Впрочем, любое устройство Mass Storage может использовать RBC.

02h

SFF-8020i, MMC-2 (ATAPI)

Обычно, устройства CD/DVD используют SFF-8020i или MMC-2 для своего Mass Storage интерфейса.

03h

QIC-157

Обычно, устройство tape использует QIC-157.

04h

UFI

Обычно, устройство для гибких дисков (дисковод) (FDD).

05h

SFF-8070i

Обычно, FDD использует SFF-8070i. Впрочем, FDD устройство может быть в другом подклассе (например, RBC), и другие типы устройств хранения могут относиться к подклассу SFF-8070i.

06h

SCSI transparent command set

Команды SCSI

07h-FFh

Зарезервировано для использования в будущем

Протокольный код

Дескриптор интерфейса устройств класса USB Mass Storage включает поле bInterfaceProtocol. Это поле обозначает транспортный протокол, используемый интерфейсом (табл.1.4).

Таблица 1.2

Mass Storage транспортный протокол

bInterfaceProtocol

Применение протокола

00h

Control/Bulk/Interrupt протокол

(с прерыванием по завершениею команды)

01h

Control/Bulk/Interrupt протокол

(без прерывания по завершению команды)

50h

Bulk-Only Transport

02h-4Fh

Зарезервировано

51h-FFh

Зарезервировано

Далее в качестве протокола передачи данных будет использоваться USB Mass Storage Class Bulk-Only Transport.

2. Класс USB Mass Storage (Bulk-Only Transport)

2.1 Введение

Групповая пересылка данных (Bulk-Only Transport)

Групповая пересылка может быть поделена на два типа, в зависимости от того, куда посылаются данные. Если данные посылаются от хост контроллера функции, используется пересылка bulk-out. Если данные были посланы от функции к хост контроллеру, то используется bulk-in.

Необходимо заметить, что для хоста, который в данный момент использует протокол Bulk-Only Transport, значение 0x50 должно вводиться в поле bInterfaceProtocol описания интерфейса (Interface Descriptor).

2.2 Функциональные характеристики

Классовые команды (Class Commands)

Это команды, которые определяются различными USB классами.

Когда USB Mass Storage Class Bulk-Only Transport используется как протокол передачи данных, то существует два типа команд (это классовые команды), которые должны поддерживаться. Классовые команды представлены в таблице 1.3.

Таблица 1.3.

Классовые команды.

Значение поля запроса

Команда

Значение команды

255 (0xFF)

Bulk-Only Mass Storage Reset

устанавливается (сбрасывает) интерфейс (resets the interface)

254 (0xFE)

Get Max LUN

Выдает количество логических элементов

При получении команды Bulk-Only Mass Storage Reset функция сбрасывает все интерфейсы, используемые в USB Mass Storage Class Bulk-Only Transport.
При получении команды Get Max LUN, функция возвращает наибольший номер логического элемента, который может быть использован. Например, если используется только один логический элемент, и в связи с тем, что нумерация элементов начинается с нуля, то хосту возвратится значение нуля.

Bulk-Only Mass Storage Reset (class-specific request) (запрос к определенному классу) используется, чтобы сбросить mass storage устройство и его соответствующий интерфейс. Этот запрос подготовит устройство для последующей пересылки CBW-пакета от хоста.

Хост должен послать запрос по каналу к устройству. Устройство должно сохранить значение переключающих бит групповых (bulk) данных и конечную точку STALL, несмотря на запрос Bulk-Only Mass Storage Reset.

Устройство должно выдавать NAK (информирует, что устройство в данный момент не может принимать либо отправлять данные), пока запрос Bulk-Only Mass Storage Reset не закончится.

Get Max LUN (class-specific request).

Устройство может применять некоторые логические устройства (элементы), которые используют общие характеристики устройства. Хост использует поле bCBWLUN CBW пакета (см. далее Command Block Wrapper (CBW)), чтобы установить, к какому логическому элементу направится пакет CBW. Запрос устройства Get Max LUN используется для определения количества логических элементов, поддерживаемых устройством. Нумерация логических элементов должна производиться, начиная с нуля. Максимальное значение, которое может принимать LUN, равно 15 (Fh).

После выдачи запроса от хоста устройству Get Max LUN, устройство должно возвратить один байт данных, который содержит максимальный LUN (максимальный номер логического устройства), поддерживаемого устройством. Например, если осуществляется поддержка четырех логических устройств, то они должны быть пронумерованы от 0 до 3, и возвращаемое значение будет 3. Если никакое логическое устройство не связано с устройством, возвращаемое значение будет 0. Хост не пошлет пакет CBW к несуществующему LUN.

Устройство, которое не поддерживает подключение нескольких логических устройств, может отреагировать на эту команду STALL.

Порядок пересылки пакетов хост/устройство

Хост должен послать CBW пакет до отправки данных, а устройство должно переслать данные после CBW и перед CSW.

Если в поле dCBWDataTransferLength стоит 0, то это значит, что устройство и хост не передают данные между CBW пакетом и соответствующему ему CSW пакетом.

Command Queuing (команда организации очередей).

Хост не должен передавать CBW пакет устройству, пока не получит CSW пакет от выданного ранее CBW пакета. Если хост выдает два последовательных CBW пакета без промежуточного CSW пакета или сброса, то устройство, отвечающее (реагирующее) на второй CBW пакет, неопределено.

2.3 Стандартные дескрипторы

Дескриптор - это некоторое описание, в нашем случае - описание конкретного свойства устройства. Каждое USB устройство имеет подробное описание своих свойств, что необходимо для поддержки функционирования Plug&Play. Используя полученную информацию, хост способен определить драйвер, подходящий для устройства, режимы его работы и способы обмена информацией.

Считывание дескрипторов осуществляется требованием GET_DESCRIPTOR, в качестве которого используется код дескриптора из таблицы 1.4. Устройство может иметь несколько описаний одного типа, а может не иметь вообще.

Так, обязательными дескрипторами являются:

DEVICE (Устройство). Каждое USB устройство имеет один дескриптор устройства.

CONFIGURATION (Конфигурация). Каждое USB устройство имеет один дескриптор конфигурации (по умолчанию), который поддерживает как минимум один интерфейс.

INTERFACE (Интерфейс). Устройство должно поддерживать по крайней мере один интерфейс, называемый здесь как Bulk-Only Data Interface. Некоторые устройства могут поддерживать дополнительные интерфейсы, чтобы обеспечить другие возможности.

ENDPOINT (Конечная точка). Устройство должно поддерживать следующие конечные точки (в добавление к каналам (по умолчанию) (default pipe), которые необходимы во всех USB устройствах):

(а) конечная точка Bulk-In

(б) конечная точка Bulk-Out

Некоторые устройства могут поддерживать дополнительные конечные точки, чтобы обеспечить дополнительные возможности.

Необязательным дескриптором является STRING:

STRING (Строка). При запросе данного описания дополнительно передаются номер дескриптора и идентификатор языка возвращаемой строки. При отсутствии дескрипторов подобного типа все поля, содержащие указатели на строковые описания, должны быть сброшены в 0.

Таблица 1.4

Типы стандартных дескрипторов

Код

Тип описания.

0

Device (устройство)

1

Configuration (конфигурация)

2

String (строка)

3

Interface (интерфейс)

4

Зарезервировано

5

Endpoint (точка)

6

Device_Qualifier (устройство для другой скорости)

7

Other_speed_configuration (конфигурация для другой скорости)

8

Interface_power

2.3.1 Дескриптор устройства

Каждое USB устройство имеет один дескриптор устройства (согласно USB спецификации). Устройство должно определять класс устройства и подклассовые коды в дескрипторе интерфейса, а не в дескрипторе устройства.

Общее описание устройства показано в таблице 1.5. Данное описание дает представление о следующих параметрах:

спецификации USB (bcdUSB), поддерживаемой устройством;

классе (bDeviceClass, bDeviceSubClass), к которому относится устройство;

стандартизованном протоколе (bDeviceProtocol), используемом при работе;

производителе и продукте (idVendor, idProduct, bcdDevice).

Описание всегда имеет длину 18 байт. Поле bMaxPacketSize0 содержит информацию о контрольной точке и показывает максимально возможный размер пакета, передаваемого в фазе данных (в отличие от дополнительных точек, сведения о контрольной точке ограничены названным полем). Поле bNumConfiguration показывает количество конфигураций, поддерживаемых устройством (как минимум одна). Количество дескрипторов конфигурации соответствует заданному здесь числу. Информация в полях iManufacturer, iProduct, iSerialNumber не является обязательной, и если значения этих полей отличны от нуля, то содержат индекс строкового дескриптора, содержащего текстовую информацию соответственно о производителе, продукте и серийном номере устройства.

Формированием классов устройств и стандартизацией протоколов занимается организация USB-IF. Именно она определяет значения для полей bDeviceClass, bDeviceSubClass, bDeviceProtocol. Если поле bDeviceClass имеет значение 0FFh, то устройство относится к классу производителя, в таком случае набор поддерживаемых дополнительных требований определяется производителем (значение поля bDeviceSubClass может быть произвольным).

Когда значение поля bDeviceClass находится в диапазоне от 1 до 0FEh, это показывает, что устройство относится к некоторому стандартизованному классу и оно должно поддерживать определенный набор команд. В таком случае поля bDeviceSubClass и bDeviceProtocol дополняют предыдущее поле в соответствии с требованиями USB-IF.

Таблица 1.5

Дескриптор устройства

Offset

Поле

Размер

Значение

Описание

0

bLength

Byte

12h

Размер дескриптора в байтах

1

bDescriptorType

Byte

01h

Тип дескриптора, в данном случае DEVICE

2

bcdUSB

Word

xxxxh

Номер спецификации USB, поддерживаемой устройством, в двоично-десятичном виде

4

bDeviceClass

Byte

00h

Код класса (распределяется организацией USB-IF)

4

bDeviceSubClass

Byte

00h

Код подкласса (распределяется организацией USB-IF)

6

bDeviceProtocol

Byte

00h

Код протокола (распределяется организацией USB-IF)

7

bMaxPacketSize0

Byte

xxh

Максимальный размер пакета для контрольной точки. Допустимые значения: 8,16, 32, 64

8

idVendor

Word

xxxxh

Идентификационный код производителя (распределяется организацией USB-IF)

10

idProduct

Word

xxxxh

Идентификационный код продукта (распределяется организацией USB-IF)

12

bcdDevice

Word

xxxxh

Номер версии устройства в двоично- десятичном виде

14

iManufacturer

Byte

xxh

Индекс строки, описывающий производителя

15

iProduct

Byte

xxh

Индекс строки, описывающий продукт

16

iSerialNumber

Byte

xxh

Индекс строки, описывающей серийный номер устройства

17

bNumConfiguration

Byte

xxh

Количество конфигураций, поддерживаемых устройством

Если поле bDeviceClass имеет значение 0, то каждый интерфейс устройства имеет собственное описание класса и все имеющиеся интерфейсы работают независимо. Для этого случая поле bDeviceSubClass должно иметь значение 0.

Значения в поле bDeviceProtocol имеют смысл, похожий на смысл значений в поле bDeviceClass: 0 - описание протокола будет задано в описании интерфейса, 1…0FEh - протокол стандартизован организацией USB-IF, 0FFh - протокол определяет производитель.

2.3.2 Дескриптор конфигурации

В представленной ниже таблице 1.6 отражена только информация о конфигурации, на самом деле при запросе описания конфигурации устройство выдает описания запрошенной конфигурации и всех входящих в неё интерфейсов и точек. Получение отдельных описаний и точек не предусмотрено. Общая длина этого списка указывается в поле wTotalLength. Количество интерфейсов для данной конфигурации содержится в поле bNumInterface, по значению в данном поле можно судить, сколько описаний интерфейсов следует далее. Поле bConfigurationValue содержит номер текущей конфигурации, это значение используется стандартным требованием SET_CONFIGURATION и должно быть больше нуля. Поле iConfiguration содержит индекс строкового дескриптора, описывающего данную конфигурацию, значение в данном поле является необязательным, и при отсутствии строкового дескриптора равно 0. Поле bmAttributes отражает атрибуты, присущие данной конфигурации, а именно: наличие собственного источника питания устройства и возможность сообщения устройством о выходе из режима «сна» при внешнем воздействии. В поле bMaxPower указывается максимальный потребляемый ток при использовании в качестве источника внутреннего питания шины USB.

Таблица 1.6

Дескриптор конфигурации

Offset

Поле

Размер

Значение

Описание

0

bLength

Byte

09h

Размер дескриптора в байтах

1

bDescriptorType

Byte

02h

Тип дескриптора, в данном случае CONFIGURATION

2

wTotalLength

Word

xxxxh

Полный размер описания конфигурации, включая описания всех интерфейсов и точек

4

bNumInterface

Byte

xxh

Количество интерфейсов, в данной конфигурации. Устройство должно поддерживать как минимум Bulk-Only Data Interface.

5

bConfigurationValue

Byte

xxh

Номер данной конфигурации. Данное значение используется требованием SET_CONFIGURATION

6

iConfiguration

Byte

xxh

Индекc строки, описывающий данную конфигурацию

7

bmAttributes

Byte

x0h

Битовое поле, характеризующее конфигурацию.

Распределение бит:

бит описание

7 зарезервировано

(выстав. 1)

6 признак

наличия собст.

источн. питания

5 Remote Wakeup

4…0 зарезервировано

(сброс в ноль)

Для полного описания размещения битов в bmAttributes см. USB2.0 Specification

8

bMaxPower

Byte

xxh

Значение максимального потребляемого тока от шины USB (для устройства, не имеющего собственного источника питания). Значение, указываемое в этом поле, равно половине реального потребления, т.е. число 50 означает 100мА.

2.3.3 Дескриптор интерфейса

Устройство должно поддерживать как минимум один интерфейс, называемый здесь Bulk-Only Data Interface. Bulk-Only Data Interface использует три конечные точки.

Сложное mass storage устройство может поддерживать дополнительные интерфейсы, чтобы обеспечить дополнительные свойства, как аудио или видео возможности. Эта спецификация не описывает такие интерфейсы.

Значения в полях bInterfaceClass, bInterfaceSubClass, bInterfaceProtocol соответственно совпадают со значениями полей bDeviceClass, bDeviceSubClass, bDeviceProtocol в описании устройства. Отличие в том, что значение 0 для полей в описании интерфейса не используется и зарезервировано для будущего использования. Поля bInterfaceNumber и bAlternateSetting (табл.1.12) содержат номера текущего интерфейса и альтернативной установки; эти значения используются стандартным требованием SET_INTERFACE. Поле bNumEndpoints показывает, сколько дополнительных точек имеется в данной альтернативной установке. Значение в этом поле соответствует количеству описаний точек, следующих далее. Поле iInterface содержит индекс строкового дескриптора, а его значение, равное 0, является признаком отсутствия последнего.

Таблица 1.7

Дескриптор интерфейса Bulk-Only Interface

Offset

Поле

Размер

Значение

Описание

0

bLength

Byte

09h

Размер этого дескриптора в байтах

1

bDescriptorType

Byte

04h

Тип дескриптора, в данном случае INTERFACE

2

bInterfaceNumber

Byte

0xh

Номер данного интерфейса

3

bAlternateSetting

Byte

xxh

Номер альтернативной установки для интерфейса, указанного в предыдущем поле

4

bNumEndpoints

Byte

xxh

Количество точек для данной альтернативной установки в данном интерфейсе

5

bInterfaceClass

Byte

08h

Код класса (распределяется организацией USB-IF)

6

bInterfaceSubClass

Byte

0xh

Код подкласса (распределяется организацией USB-IF)

7

bInterfaceProtocol

Byte

50h

Код протокола (распределяется организацией USB-IF)

8

iInterface

Byte

xxh

Индекс строки, описывающей данную альтернативную установку данного интерфейса

2.3.4 Дескриптор конечной точки

Устройство должно поддерживать как минимум три конечных точки: управляющая (control), Bulk-In, Bulk-Out.

Таблица 1.8

Дескриптор Bulk-In Endpoint

Offset

Поле

Размер

Значение

Описание

0

bLength

Byte

07h

Размер дескриптора в байтах

1

bDescriptorType

Byte

05h

Тип дескриптора, в данном случае ENDPOINT

2

bEndpointAdress

Byte

8xh

Битовое поле адреса точки. Распределение бит:

бит описание

3…0 номер конечной

точки

6…4 зарезервировано,

выставлено в 0

7 1 = In

3

bmAttributes

Byte

02h

Битовое поле, характеризующее точку.

4

wMaxPacketSize

Word

00xxh

Битовое поле, характеризующее размер пакета, передаваемых данных. Максимальный размер пакета должен быть 8, 16, 32 или 64 байтов (08h,10h,20h,40h)

6

bInterval

Byte

00h

Интервал готовности точки к обмену данными

Каждое USB устройство определяет управляющую конечную точку (Control Endpoint) - нулевая конечная точка (Endpoint 0). Это точка по умолчанию и не нуждается в дескрипторе

Bulk-In Endpoint используется для передачи данных и статуса от устройства к хосту (см. табл.1.8).

Bulk-Out Endpoint используется для передачи команд и данных от хоста к устройству (см. табл.1.9).

Таблица 1.9

Дескриптор Bulk-Out Endpoint

Offset

Поле

Размер

Значение

Описание

0

bLength

Byte

07h

Размер дескриптора в байтах

1

bDescriptorType

Byte

05h

Тип дескриптора, в данном случае ENDPOINT

2

bEndpointAdress

Byte

0xh

Адрес этой конечной точки на USB устройстве. Адрес расшифровывается так:

бит описание

3…0 номер конечной

точки

6…4 зарезервировано,

выставлено в 0

7 0 = Out

3

bmAttributes

Byte

02h

Битовое поле, характеризующее точку.

4

wMaxPacketSize

Word

00xh

Битовое поле, характеризующее размер пакета, передаваемых данных. Максимальный размер пакета должен быть 8, 16, 32 или 64 байтов (08h,10h,20h,40h)

6

bInterval

Byte

00h

Интервал готовности точки к обмену данными

2.4 Протокол передачи Command/Data/Status

2.4.1 Пересылка команды (Command Transport)

При пересылке команды команда пересылается от хоста к функции, используя bulk-out пересылку. Этот пакет команд определяется как Command Block Wrapper (CBW), и групповая пересылка данных (Bulk-Only Transport) должна начинаться с CBW.

CBW отсылается хостом как 31-байтный пакет, используя bulk-out передачу.

Все передачи CBW должны быть упорядочены с наименьшего значащего байта (байт 0) и храниться по принципу little endian ( Little Endian - метод хранения данных, при котором меньший значащий байт многобайтовой величины размещается по меньшему адресу).

Таблица 1.10.

Command Block Wrapper (CBW пакет)

Byte|bit

7

6

5

4

3

2

1

0

0-3

dCBWSignature

4-7

dCBWTag

8-11

(08h-0Bh)

dCBWDataTransferLength

12

(0Ch)

bmCBWFlags

13

(0Dh)

Зарезервировано (0)

bCBWLUN

14

(0Eh)

Зарезервировано (0)

bCBWCBLength

15-30

(0Fh-1Eh)

CBWCB

dCBWSignature:

Сигнатура, которая позволяет идентифицировать этот пакет данных как CBW. Это сигнатурное поле должно содержать значение 43425355h, указывающее что это CBW пакет.

dCBWTag:

Метка блока управления, посылаемая хостом. Устройство должно отразить содержимое этого поля обратно к хосту в поле dCSWTag сответствующего ему CSW (associated CSW). dCSWTag связывает (присоединяет, объединяет) CSW с соответствующим CBW.

dCBWDataTransferLength:

Количество байт данных, которые хост предполагает переслать в конечную точку с помощью Bulk-In или Bulk-Out (как указано в бите Направления (Direction), т.е. в бите, который указывает направление) во время выполнения этой команды. Если в этом поле ноль, то устройство и хост не будут передавать данные между CBW и связанным с ним CSW, и устройство проигнорирует значение бита Направления (Direction) в поле bmCBWFlags.


Подобные документы

  • Принцип работы технологии PXE. Технические характеристики Mikrotik RB951Ui. Применение беспроводного USB-адаптера. Предназначение сетевого адаптера TL-WN751ND. Окно подключения к маршрутизатору. Интерфейс программы WinBox. Бездисковые рабочие станции.

    курсовая работа [3,0 M], добавлен 03.06.2014

  • Анализ архитектуры, структуры и элементной базы существующих ОЗУ и системных шин компьютеров. Разработка структурной и принципиальной схемы адаптера связи оперативного запоминающего устройства с синхронной системной шиной. Выбор элементов и узлов ОЗУ.

    курсовая работа [271,4 K], добавлен 17.09.2013

  • Рассмотрение структурной схемы микропроцессорной системы обработки данных. Описание архитектуры микроконтроллера ATmega161. Расчет оперативного запоминающего устройства. Строение, назначение адаптера параллельного интерфейса, способы его программирования.

    курсовая работа [621,5 K], добавлен 24.09.2010

  • Анализ функций, выполняемых сетевыми адаптерами ЛВС различных технологий. Формат пакета Ethernet. Параметры процедуры передачи кадра. Комбинированный метод доступа. Разработка структурной схемы сетевого адаптера. Генератор прямоугольных импульсов.

    дипломная работа [1,2 M], добавлен 25.09.2014

  • Принцип действия устройства сбора информации на базе микроконтроллера МК51: индикация, "рабочий режим" и передача данных персонального компьютера. Алгоритм начального опроса датчиков. Электрическая принципиальная схема устройства, текст программы.

    курсовая работа [102,5 K], добавлен 21.10.2012

  • Применение однокристального микроконтроллера в адаптере параллельного обмена. Связь с внешними устройствами. Структурная схема устройства и ее описание. Назначение отдельных функциональных блоков. Разработка принципиальной схемы и программы устройства.

    курсовая работа [303,0 K], добавлен 06.01.2009

  • Проектирование микропроцессорного устройства, которое преобразует интерфейс RS-232 (COM-порт) в IEEE 1284 (LPT-порт). Структурная схема устройства. Преобразование последовательного интерфейса в параллельный интерфейс на микроконтроллере ATMega 8.

    курсовая работа [1,1 M], добавлен 07.04.2013

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

    курсовая работа [205,0 K], добавлен 24.06.2013

  • Микроконтроллер — компьютер на микросхеме, предназначенный для управления электронными устройствами. Структурная схема типичного современного микроконтроллера. Архитектурная особенность построения портов ввода/вывода. Принципиальная схема устройства.

    курсовая работа [2,1 M], добавлен 26.11.2013

  • История видеокарт, их назначение и устройство. Принципы обеспечения работы графического адаптера. Характеристики и интерфейс видеокарт. Сравнительный анализ аналогов производства компаний NVIDIA GeForce и AMD Radeon. Направления их совершенствования.

    контрольная работа [295,6 K], добавлен 04.12.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.