Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Программирование последовательного порта




Два варианта программирования :

1. Обмен данными с другим аналогичными стандартным портом (например, модемом) используя стандартные функции чтения и записи в порт

2. Работа с отдельными линиями порта при работе с не стандартными устройствами

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

 


 

27.Основные характеристики и топология интерфейса USB.Дать определение: хост-контроллеру, хаб(HUB),корневой хаб, функции, конечная точка.

Архитектура шины USB

1. Последовательная передача данных.

2. Полудуплексный режим передачи.

3. Принцип действия – сетевой с маркерным доступом.

4. Максимальное количество подключаемых ПУ – 127.

5. Скорость передачи:

USB1 - 1,5 Мбит/сек, 12 Мбит/секUSB2 - 480 Мбит/секUSB3 – 4.8 Гбит/сек

6. Наличие автоконфигурации.

7. Горячее подключение.

8. Возможно питание от шины.

9. Топология шины – многоуровневая звезда.

10. Длина линий связи не должна превышать 5 м.

10. Шина с использованием хабов позволяет соединять устройства , удаленные от компьютера на расстояние до 25м.

Структура шины имеет топологию – многоуровневой звезды (рис 3.37). В ней используются сетевые принципы построения шины. В основе структуры лежат устройства шины: хабы и функции. Хабы представляют из себя сетевые концентраторы, являющиеся центрами многоуровневой звезды, к которым кабелем подключатся функции(функцию можно рассматривать как ПУ ). Могут быть комбинированные устройства, содержащие как хаб так и функцию(ПУ).


Составляющие шины USB

USB -устройство (Device) может представлять собой хаб, функцию или их комбинацию

Порт (Port) — точка подключения USB -устройства

Хаб (Hub, другое название — концентратор) — устройство, которое обеспечивает порты на шине USB. Другими словами, хаб преобразует один порт {восходящий порт, UpstreamPort) во множество портов (нисходящие порты, DownstreamPorts). Архитектура допускает соединение нескольких хабов (не более 5). Функции хаба.Распознает подключение или отключение устройства к порту.Управляет подачей питания на подключенное устройство.Может разрешить или запретить использование порта. Обеспечивает изоляцию сегментов с низкой скоростью от высокоскоростных.

Хост-контроллер (HostController) — это главный контроллер, который входит в состав системного блока компьютера и управляет работой всех устройств на шине USB. На шине USB допускается наличие только одного хоста. Системный блок персонального компьютера содержит один или несколько хостов, каждый из которых управляет отдельной шиной USB.

Корневой хаб (Root Hub) — это хаб, входящий в состав хоста.

Функция (Function) — это периферийное устройство (ПУ) или отдельный блок периферийного устройства, способный передавать и принимать информацию по шине USB. Каждая функция предоставляет конфигурационную информацию, описывающую возможности ПУ и требования к ресурсам. Перед использованием функция должна быть сконфигурирована хостом - ей должна быть выделена полоса в канале и выбраны опции конфигурации.

 


 

28.Уровневая модель взаимодействия по интерфейсу USB.Назначение уровня клиентского ПУ, уровня системного ПУ, и уровня хост-контроллера.

Шина USB имеет три режима передачи данных:

- низкоскоростной (LS, Low-speed);- полноскоростной (FS, Full-speed);

- высокоскоростной (HS, High-speed, только для USB 2.0).

Каждое USB – устройство указывает свою скорость путем подтяжки уровня напряжения на линиях D+ и D- к напряжению +3.3В

Для передачи данных по шине используется дифференциальный способ передачи сигналов D+ и D- по двум проводам. Сигналы синхронизации и данные кодируются по методу NRZI

Каждое устройство имеет приемо-передатчики, способные различать кроме состояний 0 или1 другие состояния линий D+ и D- используемых для организации аппаратного интерфейса. В USB 3.0 используются три витых пары

Уровневая модель передачи приведена на рис. 3.39

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

Уровень клиентского ПО в хосте:

• обычно представляется драйвером устройства USB;

•обеспечивает взаимодействие с операционной системой с одной стороны и системным драйвером с другой;

•определяет тип передачи данных, необходимый для выполнения затребованной прикладной программой операции.

• этот уровень передает системному уровню следующее:

· буфер памяти, называемый клиентским буфером;

· пакет запроса на в/в (IRP, Input/outputRequestPacket);

· указывающий тип необходимой операции.

· IRP содержит только сведения о запросе (адрес и длина буфера в оперативной памяти). Непосредственно обработкой запроса занимается системный драйвер USB.

Уровень системного обеспечения USB(системный драйвер USB) в хосте

(USBD, Universal Serial Bus Driver):

•управляет нумерацией устройств на шине;

•управляет распределением пропускной способности шины и

мощности питания;

•обрабатывает запросы (IRP) пользовательских драйверов и планирует транзакции.

Нумерация устройств .Логическое устройство USB представляет собой набор независимых конечных точек, с которыми клиентское ПО обменивается информацией.. Каждому логическому устройству USB (как функции, так и хабу) назначается свой адрес (1—127), уникальный на данной шине USB. Каждая конечная точка логического устройства идентифицируется своим номером (0—15) и направлением передачи (IN — передача к хосту, OUT — от хоста).

Определение пропускной способности

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

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

· число байтов данных;

· тип передачи данных;

· время восстановления хоста;

· время заполнения битами;

· уровень вложенности топологии

Планирование транзакций. Транзакция на шине USB — это последовательность обмена пакетами между хостом и ПУ, в ходе которой может быть передан или принят один пакет данных.

Системный драйвер USB состоит из драйвера USB и драйвера хост-контроллера.

USB-драйвер преобразует запросы IRP –запросы от клиентского уровня (драйвера конкретного USB-устройства)в одну или несколько транзакций шины и затем передает получившийся перечень транзакций драйверу контроллера хоста.

Драйвер контроллера хоста принимает от системного драйвера шины перечень транзакций и выполняет следующие действия:

□ планирует исполнение полученных транзакций, добавляя их к списку транзакций;

□ извлекает из списка очередную транзакцию и передает ее уровню хост-контроллера интерфейса шины USB;

□ отслеживает состояние каждой транзакции вплоть до ее завершения. Транзакция на шине USB — это последовательность обмена пакетами между хостом и ПУ, в ходе которой может быть передан или принят один пакет данных.

Системный драйвер USB состоит из драйвера USB и драйвера хост-контроллера.

USB-драйвер преобразует запросы IRP –запросы от клиентского уровня (драйвера конкретного USB-устройства)в одну или несколько транзакций шины и затем передает получившийся перечень транзакций драйверу контроллера хоста.

Драйвер контроллера хоста принимает от системного драйвера шины перечень транзакций и выполняет следующие действия:

□ планирует исполнение полученных транзакций, добавляя их к списку транзакций;

□ извлекает из списка очередную транзакцию и передает ее уровню хост-контроллера интерфейса шины USB;

□ отслеживает состояние каждой транзакции вплоть до ее завершения.

Уровень хост-контроллера интерфейса шины USB получает отдельные транзакции от драйвера контроллера хоста (в составе уровня системного обеспечения USB) и формирует из них кадры шины USB в виде последовательности электрических сигналов.

Уровень шины периферийного USB-устройства взаимодействует с интерфейсным уровнем шины USB на стороне хоста и передает пакеты данных от хоста периферийному устройству.

Логический уровень USB-устройства.

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

Функциональный уровень ПУ

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

- получает данные, посылаемые клиентским уровнем хоста (драйвером конкретного USB - устройства)из конечных точек каналов данных нижележащего уровня логического USB-устройства;

- посылает данные клиентскому уровню хоста(драйверу устройства), направляя их в конечные точки каналов данных нижележащего уровня логического USB-устройства

Клиентское ПО посылает IPR-запросы уровню драйвера шины USB;

Драйвер шины USB разбивает запросы на транзакции;

Драйвер контроллера хоста принимает от системного драйвера шины перечень транзакций и выполняет следующие действия:

• планирует исполнение полученных транзакций, добавляя их к списку транзакций;

•извлекает из списка очередную транзакцию и передает ее уровню хост-контроллера интерфейса шины U SB;

• отслеживает состояние каждой транзакции вплоть до ее завершения.

Хост-контроллер интерфейса шины USB формирует кадры;

 


 

29.Формат и вложенность структуры кадров USB.Типы пакетов USB.

Кадры Контроллер циклически (с периодом 1,0 ± 0,0005 мс, в высокоскоростном режиме период 125 ± 0,0625 мкс)формирует кадры (frames), в которые укладываются все запланированные передачи Каждый кадр начинается с посылки пакета-маркера sof (StartOfFrame, начало кадра,), который является синхронизирующим сигналом для всех устройств. В конце каждого кадра выделяется интервал времени eof (EndOfFrame, конец кадра), на время которого хабы запрещают передачу по направлению к контроллеру.

Хост планирует загрузку кадров так, чтобы в них всегда находилось место для наиболее приоритетных передач, а свободное место кадров заполняется низкоприоритетными передачами больших объемов данных

Каждый кадр имеет свой номер. Хост-контроллер оперирует 32-битным счетчиком.



Вложенная структура кадра.

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

□ каждая передача состоит из одной или нескольких транзакций

□ каждая транзакция состоит из пакетов;

□ каждый пакет состоит из идентификатора пакета, данных (если они есть) и контрольной суммы.

Пакеты. Каждый пакет начинается с поля синхронизации SYNC (SYNChronization), за которым следует идентификатор пакета PID (Packet IDentifier),.ПолеCheck представляет собой побитовую инверсию PID.

30.Логическая модель передачи данных по интерфейсу USB.

Канал (pipe) — это логическое соединение между конечной точкой устройства и ПО хоста.

Потоковый канал (или просто поток, streamingpipe) — это канал для передачи данных, структура которых определяется клиентским ПО. Потоки используются для передачи массивов данных, передачи данных по прерыванию и изохронные передачи.

Канал сообщений (messagepipe или controlpipe) — это канал для передачи данных, структура которых определяется спецификацией USB. Каналы этого типа двунаправленные и применяются для передачи управляющих посылок.

Модель передачи данных

Данные передаются между хост– контроллером и функцией(ПУ) в виде потоков информации. Управляет всеми передачами хост – контроллер.Возможны передачи только между хост – контроллером и ПУ.

Функция(ПУ) представляется в виде логического устройства, состоящего из набора конечных точек (EndPoint, ЕР) – регистров. Каждое логическое устройство имеет свой адрес, каждая конечная точка идентифицируется своим номером. В низкоскоростных устройствах 3, а в высокоскоротных до16 ЕР. Каждое устройство должно иметь ЕР с номером 0, через которую осуществляется конфигурирование и управление устройством. Для решения задачи в устройстве имеется набор из несколько ЕР, называемых интерфейсом задачи. Если выполняется несколько задач, устройство имеет несколько интерфейсов. Набор одновременно поддерживаемых интерфейсов составляет конфигурацию устройства.Каждая конечная точка(ЕР) имеет набор характеристик.










Последнее изменение этой страницы: 2018-04-12; просмотров: 427.

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