Интерфейсные микросхемы Microchip
Компания Microchip Technology Inc., являясь одним из ведущих производителей микроконтроллеров, добилась успеха благодаря удачному балансу между вычислительными способностями ядра, объемом памяти и интегрированными интерфейсными модулями, да и сама аббревиатура названия микроконтроллеров PIC означает Peripheral Interface Controller - периферийный интерфейсный контроллер. Помимо разнообразных интегрированных интерфейсов, Microchip предлагает автономные интерфейсные микросхемы, а так же примеры применения и решения различных задач для обеспечения связи микроконтроллера с внешними устройствами и системами. Данная статья описывает различные аппаратные и программные решения Microchip, которые призваны помочь в организации тех или иных интерфейсных задач.
Интерфейсы для автомобильного и промышленного применения
Интерфейс CAN, разработанный компанией BOSCH, получил широкое распространение не только в автомобильных приложениях, для чего и был разработан, но в промышленных и других сетях, где требуется гарантированная доставка данных и высокая надежность канала связи.
Компания Microchip выпускает широкую номенклатуру микроконтроллеров с интегрированным модулем CAN, автономные CAN-контроллеры, CAN расширители портов и драйверы.
Впервые PIC-микроконтроллеры получили модуль CAN, который впоследствии был существенно усовершенствован, в 8-разрядных контроллерах PIC18C(F)xx8. Следующее поколение PIC18Fхх8х получило расширенный модуль ECAN, поддерживающий спецификации CAN 2.0A/2.0B BOSCH, а также CAN 1.2, CAN 2.0A, CAN 2.0B Passive, CAN 2.0B Active. Модуль ECAN обратно совместим с CAN-модулем предыдущих семейств, что позволяет использовать новые контроллеры без переделки программ.
Модуль может работать в следующих режимах:
Режим 0 - стандартный режим.
В этом режиме модуль полностью совместим с CAN-модулем контроллеров PIC18Cxx8 и PIC18Fxx8. По умолчанию ECAN работает именно в этом режиме. Доступны следующие ресурсы:
- Три передающих буфера: TXB0, TXB1 и TXB2;
- Два приемных буфера: RXB0 и RXB1;
- Две маски, по одной на приемный буфер: RXM0 и RXM1;
- Шесть приемных фильтров, два из которых для RXB0, а четыре - для RXB1: RXF0, RXF1, RXF2, RXF3, RXF4, RXF5.
Режим 1 - расширенный режим.
Этот режим похож на стандартный, за исключением того, что доступно больше ресурсов: 16 приемных фильтров, один из которых может работать как маска; кроме того, 6 программируемых на прием или передачу буферов, в дополнение к стандартным. Эти буферы могут автоматически обрабатывать сообщения удаленного доступа. 14 из 16 фильтров могут динамически переназначаться разным приемным буферам и маскам, при этом на один буфер может приходиться более одного фильтра. При приеме стандартных сообщений фильтр может работать как фильтр байтов, причем количество байтов может задаваться от 0 до 18.
Эти функциональные особенности упрощают обработку протоколов высокого уровня, в т.ч. DeviceNet.
Режим 2 - буферизированный расширенный режим.
В отличие от предыдущего, в этом режиме приемные буферы объединяются в очередь FIFO длиной от 2 до 8 буферов. Длина буфера определяется первым программируемым буфером, который используется как передающий.
Этот режим также упрощает обработку протоколов высокого уровня.
Новые 16-разрядные контроллеры PIC24H и цифровые сигнальные контроллеры dsPIC33 имеют до 2-х CAN-модулей с 8 приемными и 32 передающими буферами, 16 масок и 3 фильтра, интерфейс прямого доступа к памяти (DMA), что увеличивает быстродействие и расширяет возможности модуля CAN.
В дополнение к микроконтроллерам с интегрированным модулем CAN, компания Microchip предлагает аппаратный контроллер CAN-интерфейса MCP2510 и его улучшенную модель MCP2515. Автономные контроллеры являются самым простым в использовании, малогабаритным и наиболее эффективным в применении по соотношению цена/возможности. Контроллеры имеют режимы разделения приема и передачи, многоуровневое буферирование, систему масок и фильтров, систему генерации сигналов прерывания. Используя данные контроллеры шины CAN, разработчик не сосредотачивается на реализации протокола передачи данных, определения занятости сети, ошибках и т.д., а решает поставленные задачи для основного микроконтроллера. Обмен информацией между основным контроллером и CAN-контроллером производится по шине SPI, что позволяет использовать любой микроконтроллер. Построение шины в таком случае выглядит следующим образом:
- основной контроллер, реализующий задачу обработки данных и управления;
- контроллер CAN, реализующий протокол CAN-шины;
- драйвер CAN-шины, реализующий физический уровень CAN-шины.
На сайте компании есть ряд примеров реализации CAN-узлов на дешевых 8-выводных микроконтроллерах PIC12F и автономном CAN-контроллере MCP2515.
Для построения простых исполнительных устройств Microchip предлагает серию CAN-расширителей MCP250XX. Расширители разработаны для несложных приложений, не требующих использования микроконтроллера. Микросхемы полностью управляются от внешних устройств через CAN-шину, скорость связи до 1 Мбит/с. Любое устройство на шине может обратиться к расширителю для опроса входных сигналов, выдачи управляющих сигналов, измерить уровень аналогового сигнала с помощью встроенного АЦП или управлять исполнительным механизмом с помощью двух ШИМ с возможностью задания разных частот для каждого канала. Семейство представлено следующими моделями (см. табл. 1).
Таблица 1. Расширители CANРасширитель CAN | Число входов/ выходов | ШИМ (10бит) | АЦП (10бит) | Возможность работы с однопроводной шиной |
---|---|---|---|---|
MCP25025 | 8 | 2 | - | ν |
MCP25055 | 8 | 2 | 4 | ν |
Для связи CAN-устройств в единую сеть необходимы драйверы шины CAN. Драйвер MCP2551 является высокоскоростным CAN-приемопередатчиком, реализующим согласование уровней контроллера и CAN-шины. Рассчитан на скорость передачи до 1 Мбит/с в сетях с напряжением в шине 12 или 24 В. Соответствует стандарту ISO11898, имеет сбалансированный выходной драйвер для уменьшения электромагнитного излучения, режим пониженного потребления, выпускается в стандартном 8-выводном корпусе. Драйвер CAN шины MCP2551 имеет несколько видов защит:
- защита от продолжительного короткого замыкания на шине;
- защита от кратковременных импульсных выбросов на шине до ±250 В;
- устойчивость к ESD до 4 кВ;
- автоматическая термозащита.
LIN-интерфейс (Local Interconnect Network) был разработан для обеспечения связи между простыми блоками в автомобиле, для которых нет необходимости применять высоконадежный интерфейс CAN. LIN-интерфейс идеально подходит для построения простой сети датчиков и исполнительных узлов и применяется, как правило, для управления узлами автомобиля, которые не требуют управления в жестком реальном времени и не влияют на безопасность. LIN-интерфейс применяется в таких устройствах как привод и обогрев зеркал, контроллерах управления приводами сидений и стеклоподъемников, датчиках дождя и датчиках парковки.
LIN-интерфейс разрабатывался для обеспечения низкой стоимости и низкого потребления конечного устройства. Исходя из этого, микроконтроллер с поддержкой LIN должен иметь возможность выхода из режима микропотребления SLEEP при наличии активности на шине, должен обеспечивать автоматическое определение скорости потока данных в шине и подстройку своего трансивера, что позволяет использовать дешевые системы тактирования микроконтроллера и отказаться от применения дорогих стабильных кварцевых генераторов.
Практически все новые микроконтроллеры Microchip содержат EUSART - усовершенствованный модуль UART, который имеет все средства для поддержки LIN-интерфейса:
- автоматическое определение и калибровка скорости потока;
- вывод ядра микроконтроллера из режима SLEEP по принятию синхропоследовательности;
- передача 13 бит синхропоследовательности.
Для полного поддержания разработок с LIN-интерфейсом, Microchip предлагает драйвер шины LIN MCP201. Драйвер, помимо согласования LIN-шины (напряжение 6...18 В) с логическими уровнями, имеет встроенный стабилизатор на 5 В, от которого можно запитывать другие элементы схемы. Драйвер обеспечивает скорость до 20 кбод.
Интерфейсы для компьютерных и промышленных применений
Стандарт инфракрасной передачи данных IrDA® - это очень популярный и недорогой метод реализации беспроводной связи между двумя устройствами.
Microchip давно производит микросхемы поддержки инфракрасных (ИК) беспроводных соединений. Кодер/декодер MCP2120/22 и коммуникационные ИК-контроллеры MCP2140/50/55 являются высокопроизводительными, микропотребляющими ИС, поддерживающими стандарт IrDA.
Полностью статическая микросхема кодера/декодера MCP2120/22 может быть использована с любым микроконтроллером, имеющим UART, и стандартным ИК-приемопередатчиком для организации простой связи по ИК-каналу. Для обеспечения связи микросхема MCP2120/22 преобразует поток данных с последовательного порта UART в импульсы для надежного и скоростного ИК-соединения, потребляя менее 1 мА при напряжении питания 3,3 В и тактовой частоте 8 МГц. Микросхема MCP2120 имеет программный и аппаратный механизмы переключения скоростей передачи данных. Сложные протоколы связи можно реализовать программно, либо использовать специализированный коммуникационный контроллер.
Применение коммуникационных ИК-контроллеров MCP2140/50/55 является простейшим и наиболее дешевым решением, если вы решили встроить в вашу систему стандартный ИК-канал передачи данных IrDA. В кристалл встроена поддержка IrComm, TinyTP, IrLMP и IrLAP уровней протокола IrDA. Микросхемы содержат кодер/декодер из UART в протокол IrDA, встроена система CRC. Поддерживаются несколько скоростей передачи данных до 115,2 кбод.
Появление новых высокопроизводительных 16-разрядных контроллеров PIC24F, которые имеют два модуля UART с аппаратной поддержкой управления инфракрасными трансиверами, позволило минимизировать расходы по реализации ИК-связи, так как новые контроллеры PIC24 соизмеримы по стоимости с автономными контроллерами IrDA (для которых еще нужен управляющий микроконтроллер). Для 16-разрядных контроллеров PIC24 Компания Microchip предлагает свободно распространяемую реализацию стека IrDA®, что позволяет разработчику быстро и легко интегрировать в ваше устройство возможность коммуникации по широко распространенному протоколу IrDA® с мобильными телефонами и PDA, персональными компьютерами и ноутбуками, а так же другими устройствами
Применение контроллеров PIC24 со встроенной поддержкой IrDA и программного стека IrDA позволяет создать устройства с минимальной ценой и минимальным числом внешних элементов. При использовании стека IrDA вам потребуется подключить к микроконтроллеру только IR-приемопередатчик (или раздельные ИК- свето- и фотодиоды).
Для ознакомления и отладки устройств с IrDA-интерфейсом предлагается дочерняя плата для отладочной платы Explorer 16.
Таблица 2. Микроконтроллеры с интерфейсом USB 2.0Контроллер | Память прог- рамм, кБ | ОЗУ, байт | EEPROM, байт | Пор- ты | АЦП (10 бит) | Послед. интер- фейсы | Парал. порт | CCP/ ECCP | Корпус |
---|---|---|---|---|---|---|---|---|---|
PIC18F2455 | 24 | 2048 | 256 | 24 | 11 | EAUSART, I2C/SPI | - | 2/0 | DIP28, SOIC28 |
PIC18F4450 | 16 | 768 | - | 34 | 13 | AUSART | - | 1/0 | DIP40, TQFP44, QFN44 |
PIC18F4550 | |||||||||
PIC18F66J50 | 64 | ||||||||
PIC18F85J50 | 32 | 3940 | - | 66 | 12 | 2 EAUSART, 2 I2C/SPI | 1 | 2/3 | 80TQFP |
PIC18F87J50 | 128 |
Интерфейс USB (универсальная последовательная шина) практически вытеснил привычный последовательный интерфейс RS-232, и современные компьютеры, а тем более ноутбуки, зачастую имеют только интерфейс USB. Задача сопряжения с ПК элегантно решается при помощи контроллеров с интерфейсом USB 2.0 семейства PIC18Fхх50. Причем, если ранее на малопотребляющих устройствах было затруднительно применять RS-232 без внешнего питания ввиду хороших аппетитов драйвера, то теперь USB-устройства (см. табл. 2) могут питаться от маломощных источников в автономном режиме с применением функций nanoWatt и полноценно обмениваться данными с ПК на скоростях вплоть до 1 Мбит/с при питании от USB. Разработка клиентской части протокола USB существенно упрощается при использовании готовых решений от Microchip:
- режим эмуляции RS-232 обеспечивает совместимость с существующим компьютерным ПО, работающим через RS-232;
- HID-устройства работают через стандартные драйверы, благодаря чему не требуют дополнительных установок и могут подключаться к неподготовленному компьютеру;
- Mass Storage позволяет, аналогично HID - без применения специализированного ПО, считывать/записывать данные и производить настройку/диагностику средствами файловой системы, что придает мобильности и делает использование устройства прозрачным для конечного пользователя;
- драйвер прямого доступа обеспечивает максимальный контроль над USB-каналом и незаменим в приложениях, требующих высокого быстродействия и четкого управления интерфейсом.
Интерфейс Ethernet и сетевые технологии, появившиеся с широким распространением персональных компьютеров, прочно укрепились во многих областях применений:
- системах сетевого мониторинга объектов;
- голосовых приложениях - IP-телефонии;
- автоматизации зданий;
- промышленной электронике.
Во многих случаях разработчики отказываются от применения дорогих и избыточных персональных компьютеров, переложив выполняемые задачи на микроконтроллеры. Именно для организации таких систем Microchip выпустил Ethernet-контроллер ENC28J60. Это полностью автономный контроллер, поддерживающий обмен данными в сетях Ethernet по витой паре.
Микросхема ENC28J60 является автономным контроллером Ethernet 10BASE-T, полностью соответствующим спецификации IEEE.802.3. Для связи с хост-устройством реализован интерфейс SPI.
Для удобства работы большинство блоков в микросхеме реализованы аппаратно, в том числе фильтр входящих пакетов, вычисление контрольных сумм, внутренний канал DMA и т.д.
Помимо автономного Ethernet-контроллера компания Microchip Technology Inc. предлагает микроконтроллеры со встроенным Ethernet-контроллером (см. табл. 3).
Таблица 3. Основные параметры микроконтроллеров с Ethernet-модулемКонтроллер | Flash- память прогр. | I/O | Кана- лов (10 бит) АЦП | Тай- ме- ры 8/16 | Nano Watt (энер- го- сбе- реже- ние) | CCP/ ECCP (10 бит ШИМ) | EUSART/ I2C/SPI | До- пол- ни- тель- но | Корпус | |
---|---|---|---|---|---|---|---|---|---|---|
кБ | Само- прогр. | |||||||||
PIC18F66J65 | 96 | |||||||||
PIC18F86J60 | 64 | 55 | 15 | 80TQFP | ||||||
PIC18F87J60 | 128 | |||||||||
PIC18F96J65 | 96 |
Все микроконтроллеры имеют: ОЗУ - 3808 байт, 2 аналоговых компаратора, встроенный генератор на 32 кГц.
Радиочастотные интерфейсы ZigBee и MiWi
Все большее проникновение электроники в повседневную жизнь требует обеспечения качественной и недорогой связи между различными устройствами. Так как проведение проводных линий связи не всегда является эстетичным или даже возможным, широкую популярность для обеспечения обмена информацией между удаленными приборами завоевывает применение радиосвязи. Применение беспроводных сетей является единственно возможным для таких приложений как:
- снятие биометрической информации с датчиков при занятии спортом;
- контроль движущихся частей механизмов и приборов, установленных в труднодоступных местах;
- управление системами «умный дом» в уже спроектированных и оформленных помещениях.
Как правило, при построении системы с радиоинтерфейсом наиболее востребованной является задача создания локальной сети устройств и датчиков. Для решения такого класса задач компания Microchip Technology Inc. предоставляет разработчикам полную техническую поддержку, начиная от радиочастотных трансиверов и заканчивая бесплатными стеками протоколов беспроводных сетей.
Компания Microchip Technology Inc. выпускает трансивер MRF24J40, который полностью соответствует спецификации IEEE 802.15.4 и является достойным выбором для разработки устройств с радиоканалом диапазона 2,4 ГГц.
Взаимодействие трансивера и управляющего микроконтроллера осуществляется по интерфейсу SPI. Трансивер имеет два генератора - 20 МГц (который может использоваться как для тактирования трансивера, так и для тактирования управляющего контроллера) и низкопотребляющий генератор 32768 Гц.
Трансивер MRF24J40 отличается низким потреблением: 22 мА в режиме передачи с максимальной выходной мощностью, 19 мА в режиме приема и 2 мкА в спящем режиме.
Трансивер MRF24J40 можно применять для построения ZigBee-сетей, используя бесплатный стек от Microchip, соответствующий спецификации ZigBee 1.0. Кроме того, компанией Microchip разрабатывается собственный стек для mesh-сетей, названный MiWi. Причина создания собственного стека очень проста - высокая конечная стоимость ZigBee-совместимых устройств.
Стоимость готового устройства, использующего тот или иной протокол, состоит из стоимости комплектующих и стоимости сертификации соответствия устройства применяемому протоколу. Спецификация ZigBee довольно требовательна к ресурсам реализующего протокол микроконтроллера: объем кода координатора ZigBee-сети лежит в диапазоне 48...96 кБ. Для конечного устройства требования к объему программной памяти несколько ниже - 24...40 кБ, однако даже в этом случае использование дешевых микроконтроллеров с объемом памяти программ 8...16 кБ не представляется возможным. Кроме того, ZigBee-устройства требуют обязательного тестирования на соответствие спецификации и ежегодных выплат ZigBee-альянсу. В противном случае вы не можете использовать логотип ZigBee на своем устройстве и говорить о совместимости со стандартом ZigBee.
Разрабатываемый компанией Microchip стек MiWi, является альтернативой ZigBee-протоколам для приборов с жесткими ценовыми требованиями. Протокол MiWi не требует дополнительных расходов на сертификацию (кроме стандартной сертификации устройства как радиочастотного) и лицензионных отчислений разработчикам протокола. Стек MiWi может использоваться бесплатно в коммерческих продуктах с одним условием - устройство должно быть реализовано на микроконтроллере Microchip и трансивере MRF24J40. MiWi-стек значительно менее требователен к ресурсам контроллера по сравнению с ZigBee - код координатора занимает менее 16 кБ программной памяти, код конечного устройства - 2...8 кБ. Это позволяет использовать для реализации конечных устройств микроконтроллеры из низшего ценового диапазона.
Следует заметить, что спецификация MiWi не является заменой ZigBee. Стек MiWi может использоваться для построения самодостаточных сетей с количеством устройств не более 1024.
Основные особенности стека MiWi:
- поддержка peer-to-peer соединений (соединение между равноправными узлами), mesh-сетей, различных путей доставки сообщений;
- поддержка стандартного IEEE 802.15.4 адреса устройства;
- максимальное количество координаторов в сети - 8, каждый координатор может иметь до 128 дочерних устройств. Таким образом, максимальное количество устройств в сети - 1024;
- до 4 устройств на пути доставки сообщения;
- поддержка кластеров - виртуальных каналов связи между двумя устройствами через координаторов сети;
- поддержка шифрования сообщений.
Ваш комментарий к статье | ||||