Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

itmo500

.pdf
Скачиваний:
88
Добавлен:
30.01.2015
Размер:
4.95 Mб
Скачать

Рис. 57. Использование микросхемыADuM1400 для реализации гальванической изоляции в интерфейсе

RS-232.

Рис. 58. Реализация гальванической изоляции в интерфейсе RS-485 с полным дуплексом.

110

Рис. 59. Гальваническая изоляция интерфейса I2C на базеADuM 1250.

3.5.11 Горячее подключение и автоконфигурирование

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

Горячее подключение (HotPlug) и горячая замена (HotSwap) – замена оборудования в компьютерной системе во время работы (без выключения питания и остановки процессора, системы). Горячее подключение, отключение и замена устройств предназначено для обеспечения следующих свойств интерфейса [38]:

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

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

111

Далеко не все внешние интерфейсы поддерживают горячее подключение в полном объеме, так, например, зачастую сканер с интерфейсом SCSI должен быть подключен к компьютеру и включен до загрузки ОС, иначе он не будет доступен системе. С новыми шинами USB и Fire Wire проблем горячего подключения не возникает. Для внутренних интерфейсов горячее подключение несвойственно. Это касается и шин расширения, и модулей памяти, и даже большинства дисков АТА и SCSI. Горячее подключение поддерживается для шин расширения промышленных компьютеров, а также в специальных конструкциях массивов устройств хранения.

Горячее подключение обеспечивают интерфейсы: USB, FireWire, PCMCIA, PCI Express, Fibre Channel, eSATA, Bluetooth, ZigBee.

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

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

Вот пример типичной последовательности подключения:

1.Замыкаются наиболее длинные контакты (заземление). Тем самым достигается электрическая безопасность соединения и защита от статического заряда.

2.Замыкаются длинные или средние контакты предварительного питания. Заряжаются входные контуры цепей питания.

3.Задержка в десятки миллисекунд.

4.Подключаются короткие контакты питания.

5.Соединение считается установленным. Включается сигнал инициализации питания.

6.Цепь мягкого включения питания подает напряжение на устройство.

7.Задержка в десятки миллисекунд.

8.Цепь питания закончила мягкое подключение. Выключается сигнал инициализации питания.

9.Устройство начинает полноценную работу.

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

112

3.5.11.2Plug and Play

Plug and Play (PnP) – технология, предназначенная для быстрого определения и конфигурирования устройств в компьютере и других технических устройствах.

В ряде интерфейсов заложены возможности PnP, которые предназначены для снятия с пользователей забот по конфигурированию подключаемых устройств. В современных интерфейсах эти возможности закладывались изначально (PCI, USB, Fire Wire, Bluetooth), и эти функции в большинстве случаев работают нормально. Однако для интерфейсов-ветеранов (например, ISA, SCSI) технология PnP является поздней искусственной надстройкой, работающей с переменным успехом (Plug and Pray - включай и молись). Часто побочные эффекты вызваны наследием "тяжелого прошлого" - соседством устройств PnP с традиционными (legacy) устройствами. На закате шины ISA ее система PnP в общем работала, но в SCSI от идей автоконфигурирования со временем отказались. При разработке собственных устройств встает вопрос выбора подходящего интерфейса подключения. Этот вопрос следует решать, исходя из принципа разумной достаточности, по возможности отдавая предпочтение внешним интерфейсам. Следует помнить, что разработка аппаратной части устройства (hardware) тесно связана и с программной поддержкой устройств – как модулями ПО, исполняемыми процессором компьютера (software), так и программами встроенного микроконтроллера (firmware), на базе которого, как правило, строятся современные устройства. Промышленностью выпускается множество моделей микроконтроллеров, имеющих популярные интерфейсы (USB, RS-232, PC и другие). Однако в ряде случаев приходится использовать и стандартизованные шины расширения ввода-вывода. Эти шины предоставляют более широкие возможности для взаимодействия процессора с аппаратурой, нескованные жесткими ограничениями внешних интерфейсов. Однако за универсальность и производительность внутренних шин расширения приходится расплачиваться более замысловатой реализацией интерфейсных схем и сложностями при обеспечении совместимости с другим установленным в компьютер оборудованием. Здесь ошибки могут приводить к потере работоспособности компьютера (хорошо если временной). Недаром серьезные производители компьютеров гарантируют работоспособность своих изделий только при установке сертифицированных (ими или независимыми лабораториями) карт расширения. При использовании внешних интерфейсов неприятности в случае ошибок чаще всего имеют отношение только к подключаемому устройству.

3.6 Внутрисистемный интерфейс AMBA

AMBA (Advanced Microcontroller Bus Architecture) – шина, разработанная фирмой ARM для организации эффективного взаимодействия компонентов устройств, построенных на базе ядер фирмы. Шина AMBA – стандартная встроенная ASIC-шина, обеспечивающая быстрое модульное проектирование систем при упрощении многократного использования схемотехники и тестов.

113

ARM также обеспечивает возможность использования библиотеки PrimeCell периферии, которая соответствует AMBA стандарту и обеспечивают простую разработку ASIC и ASSP. При использовании AMBA с синтезируемыми версиями периферийных устройств, аппаратные средства системы и программное обеспечение могут быть разработаны на начальном этапе проектирования и, следовательно, может быть снижен риск ошибок проектирования конечной системы [6].

Согласно спецификации AMBA Rev 2.0 (AMBA Specification (Rev 2.0))

типовая шина AMBA 2 содержит высокоскоростную системную магистральную шину (AHB илиASB) и шину периферии (APB).

Рис. 60. Типовая вычислительная система на базеAMBA.

Системная шина соединяет встраиваемые процессоры, такие как ARMядра, с высокопроизводительной периферией, контроллерами DMA, встроенными памятью и интерфейсами.

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

В спецификации шины AMBA 2 определена методология тестирования, обеспечивающая быстрое тестирование модулей и кэш.

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

114

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

Контроллеры статической памяти (SRAM).

Контроллеры динамической памяти (DDR, DDR2).

Контроллеры прямого доступа к памяти.

Контроллеры прерываний (VIC, Advanced VIC).

UART, синхронные последовательные интерфейсы (SPI), часы реального времени, средства ввода-вывода общего назначения (GPIO), интерфейсы смарт-карт, контроллеры цветных ЖКИ.

Рис. 61. Инструментальная система CoreLinkT AMBA Designer, предназначенная для разработки микроконтроллеров и СнК на базе ядраARM с шинами AMBA AHB иAMBA APB.

Ведутся работы по дальнейшему расширению библиотеки.

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

115

Рис. 62. Пример простой системы на базеARM7 с шинамиAHB иAPB, прилагаемый к CoreLinkT AMBA Designer.

Для разработки микроконтроллеров и СнК на базе AMBA существуют специальные инструментальные средства. Например, CoreLinkT AMBA Designer [5] позволяет скомпоновать СнК из готовых IP компонентов. В состав IP-компонентов входят:

Контроллер памяти.

Арбитр.

Матрица.

Подчиненный контроллер (32 и 64 бита).

Тестовый контроллер.

Мост AHB-APB.

Контроллер SRAM.

Подчиненный контроллер для APB.

Сторожевой таймер для APB.

Таймеры для APB.

Другие IP-компоненты.

116

3.6.1 Внутрисистемный интерфейсAMBA AHB

Внутрисистемный интерфейс AHB (Advanced High-performance Bus –

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

Рис. 63. Схема типичного микроконтроллера на базе шиныAMBA-AHB.

Рис. 64. Пример использования шиныAMBA AHB в микроконтроллере NXP LPC1768 на базе Cortex-M3.

AHB позволяет соединить ядро микропроцессора с внутренними и внешними модулями памяти, контроллерами ПДП, быстродействующими сетевыми контроллерами Fast Ethernet, контроллерами USB-2.0 и т.д.

117

Рис. 65. Схема взаимодействия главных и подчиненных устройств, подключенных к шинеAMBA AHB.

На рисунке показан фрагмент структуры микроконтроллера NXP LPC1768, выполненного на базе ядра ARM Cortex-M3. На схеме видно, что шиной AHB объединены вместе практически все элементы микроконтроллера, требующие большой скорости обмена данными. Через два моста, к шине AHB подключены две независимые шины APB, к которым подключаются сравнительно медленные периферийные устройства (UART, I2C, таймеры и так далее).

На рисунке шина AHB названа Matrix (матрица). Такое название справедливо, так как на самом деле шина является коммутатором, матрицей, связывающей несколько устройств попарно друг с другом в различные моменты времени. На рисунке ниже можно посмотреть реализацию шиныAHB.

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

118

Рис. 66. Простой обмен данными на шинеAMBA AHB.

Опишем простой вариант обмена данными на шинеAMBA AHB:

1.Главное устройство выставляет адрес и управляющие сигналы по фронту сигнала HCLK.

2.Подчиненное устройство считывает значения с шины адресы (HADDR) и шины управления (Control) на следующем фронте HCLK.

3.После считывания адреса и данных подчиненное устройство может выдать ответ на шину в этом же цикле (сигнал HREADY активен).

4.Главное устройство считывает данные, выставленные подчиненным устройством в третьем цикле шины.

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

119

Соседние файлы в предмете Интерфейсы Периферийных Устройств