Связь с внешними устройствами по интерфейсу USB 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Связь с внешними устройствами по интерфейсу USB



  По заданию необходимо осуществить связь с внешними устройствами по USB.

Шина USB (Universal Serial Bus - универсальная последовательная шина) появилась по компьютерным меркам довольно давно - версия первого утвержденного варианта стандарта появилась 15 января 1996 года. Разработка стандарта была инициировна весьма авторитетными фирмами - Intel, DEC, IBM, NEC, Northen Telecom и Compaq.

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

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

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

Рисунок 5.2.2.1 – Разновидности гнёзд USB

Таблица. 5.2.2.1 – Распиновка

Предназначены только для подключения к источнику, т.е. к компьютеру или хабу

Номер контакта Назначение Цвет провода
1 V BUS Красный
2 D- Белый
3 D+ Зеленый
4 GND Черный
Оплетка Экран Оплетка

В таблице 1 GND - цепь "корпуса" для питания периферийных устройств, VBus - +5V также для цепей питания. Шина D+ предназначена для передачи данных по шине, а шина D- для приема данных.

Кабель для поддержки полной скорости шины (full-speed) выполняется как витая пара, защищается экраном и может также использоваться для работы в режиме минимальной скорости (low-speed). Кабель для работы только на минимальной скорости (например, для подключения мыши) может быть любым и неэкранированным.

          Основные принципы передачи данных по интерфейсу USB.

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

Механизм передачи данных является асинхронным и блочным. Блок передаваемых данных называется USB-фреймом или USB-кадром и передается за фиксированный временной интервал. Оперирование командами и блоками данных реализуется при помощи логической абстракции, называемой каналом. Внешнее устройство также делится на логические абстракции, называемые конечными точками. Таким образом, канал является логической связкой между хостом и конечной точкой внешнего устройства. Канал можно сравнить с открытым файлом.

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

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

 

Механизм прерываний

Для шины USB настоящего механизма прерываний (как, например, для последовательного порта) не существует. Вместо этого хост опрашивает подключенные устройства на предмет наличия данных о прерывании. Опрос происходит в фиксированные интервалы времени, обычно каждые 1 – 32 мс. Устройству разрешается посылать до 64 байт данных.

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

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

Пропускная способность шины USB, соответствующей спецификации 1.1, составляет 12Мбит/с (т.е. 1,5 Мбит/с). Спецификация 2.0 определяет шину с пропускной способностью 400 Мбайт/с. Полоса пропускания делится между всеми устройствами, подключенными к шине.

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

o низкоскоростной (LS, Low-speed);

o полноскоростной (LF, Full-speed);

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

Линии USB DP и DM подключены к выводам PA11 и PA12 соответственно.

 

Блок АЦП

По заданию необходимо преобразовывать 5 сигналов с аналоговых датчиков с использованием аналого-цифрового преобразователя с диапазоном входных напряжений 0 ÷ 10 В и разрядностью 10 бит. АЦП подключаются к микроконтроллеру через интерфейс SPI, что существенно упрощает решение задачи преобразования.

Исходя из заданных требований, выбирается 5-канальный 10-разрядный АЦП MAX1098 [1] производства Maxim Integrated, работающий по интерфейсу SPI.

Функциональная схема MAX1098 показана на рисунке Рисунок 5.2.3.1

Рисунок 5.2.3.1 – Функциональная схема MAX1098

 

Области применения:

- индустриальные системы управления;

- системы сбора данных;

- робототехника;

- системы автоматического контроля;

- измерительные приборы c питанием от батареи;

- медицинское оборудование.

 

Схема подключения MAX1098 к микроконтроллеру через последовательный интерфейс SPI показана рисунке Рисунок 2.2.2. Вход тактирования SCLK, порт ввода DIN, порт вывода DOUT, разрешающий вход CS, выход занятости SSTRB подключаются к выводам контроллера PА8(SCK), PА7(MOSI), PА6(MISO), PА5(CS), PА14(SSTRB) соответственно. Конденсаторы C1 и C2 выбираются исходя из типовой схемы подключения и берутся по 0,1 мкФ.

 

Рисунок 5.2.3.2 – Схема подключения MAX1098 к микроконтроллеру

Для выбора устройства на разрешающий вход CS с вывода PA5 подается лог. «0» и с приходом спада импульса тактового сигнала SCK производится считывание информации с датчиков.

В исходном состоянии на выводе SSTRB установлена лог. «1», но с приходом 8 спада сигнала SCK на выводе SSTRB устанавливается лог. «0». После конца преобразования логический уровень на SSTRB возвращается в исходное состояние.

      SPI- интерфейс для последовательного обмена данными между микросхемами. Его наименование является аббревиатурой от 'Serial Peripheral Bus', что отражает его предназначение - шина для подключения внешних устройств. Шина SPI организована по принципу 'ведущий-подчиненный'. В качестве ведущего шины обычно выступает микроконтроллер, но им также может быть программируемая логика, DSP-контроллер или специализированная ИС. Подключенные к ведущему шины внешние устройства образуют подчиненных шины. В их роли выступают различного рода микросхемы, в т.ч. запоминающие устройства (EEPROM, Flash-память, SRAM), часы реального времени (RTC), АЦП/ЦАП, цифровые потенциометры, специализированные контроллеры и др.

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

         Существует три типа подключения к шине SPI, в каждом из которых участвуют четыре сигнала. Самое простое подключение, в котором участвуют только две микросхемы, показано на рисунке  5.2.3.3.

Рисунок 5.2.3.3 – Простейшее подключение по шине SPI

 

       Здесь ведущий шины передает данные по линии MOSI синхронно со сгенерированным им же сигналом SCLK, а подчиненный захватывает переданные биты данных по определенным фронтам принятого сигнала синхронизации. Одновременно с этим подчиненный отправляет свою посылку данных. Представленную схему можно упростить исключением линии MISO, если используемая подчиненная ИС не предусматривает ответную передачу данных или в ней нет потребности. Одностороннюю передачу данных можно встретить у таких микросхем как ЦАП, цифровые потенциометры, программируемые усилители и драйверы. Таким образом, рассматриваемый вариант подключения подчиненной ИС требует 3 или 4 линии связи. Чтобы подчиненная ИС принимала и передавала данные, помимо наличия сигнала синхронизации, необходимо также, чтобы линия SS была переведена в низкое состояние. В противном случае, подчиненная ИС будет неактивна. Когда используется только одна внешняя ИС, может возникнуть соблазн исключения и линии SS за счет жесткой установки низкого уровня на входе выбора подчиненной микросхемы. Такое решение крайне нежелательно и может привести к сбоям или вообще невозможности передачи данных, т.к. вход выбора микросхемы служит для перевода ИС в её исходное состояние и иногда инициирует вывод первого бита данных.



Поделиться:


Последнее изменение этой страницы: 2021-07-18; просмотров: 95; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.219.208.117 (0.015 с.)