|
Семейство микроконтроллеров IntelОсновные представители Микроконтроллеры семейства MCS-51. Микроконтроллеры семейства MCS-251. Микроконтроллеры семейства MCS-96 Микроконтроллеры INTEL MCS 196/296 Семейство контроллеров Универсальной последовательной шины 8x930 Микроконтроллеры семейства MCS-51. У истоков производства микроконтроллеров стоит фирма Intel с семействами восьмиразрядных микроконтроллеров 8048 и 8051. Архитектура MCS-51 получила свое название от первого представителя этого семейства - микроконтроллера 8051, выпущенного в 1980 году на базе технологии HMOS. Удачный набор периферийных устройств, возможность гибкого выбора внешней или внутренней программной памяти и приемлемая цена обеспечили этому микроконтроллеру успех на рынке. С точки зрения технологии микроконтроллер 8051 являлся для своего времени очень сложным изделием - в кристалле было использовано 128 тыс. транзисторов, что в 4 раза превышало количество транзисторов в 16-разрядном микропроцессоре 8086. Основными элементами базовой
архитектуры являются: Именно этот микроконтроллер наиболее хорошо известен разработчикам и является популярным средством управления в устройствах самого широкого круга. Имеется множество эмуляторов, отладчиков и программаторов микросхем 8051, поэтому с разработкой программного обеспечения нет никаких трудностей. Следующим принципиальным шагом в развитии MCS-51 стал перевод технологии изготовления на CHMOS. Это позволило реализовать режимы Idle и Power Down, позволившие резко снизить энергопотребление кристалла и открывшие дорогу к применению микроконтроллера в энергозависимых приложениях, например, в автономных приборах с батарейным питанием. И последним принципиальным этапом развития этого направления фирмой Intel в рамках 8-битной архитектуры стал выпуск микроконтроллеров 8xC51FA/FB/FC, которые для краткости часто обозначаются как 8xC51FX. Главной отличительной особенностью этой группы кристаллов является наличие у них массива программируемых счетчиков (PCA). Структурная схема PCA представлена на рис.2.
В состав PCA входят:
Таймер-счетчик обслуживает все пять модулей выборки и сравнения, которые могут быть запрограммированы на выполнение одной из следующих функций:
Выполнение всех перечисленных функций происходит в PCA на аппаратном уровне и не загружает центральный процессор, что позволяет повысить общую пропускную способность системы, повысить точность измерений и отработки сигналов и снизить время реакции микроконтроллера на внешние события, что особенно важно для систем реального времени. Реализованный в 8xC51FX PCA оказался настолько удачным, что архитектура микроконтроллеров FX стала промышленным стандартом де-факто, а сам PCA многократно воспроизводился в различных модификациях микроконтроллеров разных фирм. Микроконтроллеры семейства MCS-251. Изначально наиболее "узкими" местами архитектуры MCS-51 были 8-разрядное АЛУ на базе аккумулятора и относительно медленное выполнение инструкций (для выполнения самых быстрых инструкций требуется 12 периодов тактовой частоты). Это ограничивало применение микроконтроллеров семейства в приложениях, требующих повышенного быстродействия и сложных вычислений (16- и 32- битовых). Насущным стал вопрос принципиальной модернизации старой архитектуры. Проблема модернизации осложнялась тем, что к началу 90-х годов уже была создана масса наработок в области программного и аппаратного обеспечения, и одной из основных задач разработки новой архитектуры была реализация аппаратной и программной совместимости со старыми разработками на базе MCS-51. Для решения этой задачи была создана совместная группа из специалистов компаний Intel и Philips. В результате в 1995 г. появилось 2 существенно отличающихся семейства: MCS-251/151 у Intel и 51XA у Philips (на последнем мы остановимся ниже). Основные характеристики архитектуры MSC-251 :
Для пользователей, ориентированных на применение микроконтроллеров MCS-251 в качестве механической замены MCS-51 фирма Intel выпускает микроконтроллеры MCS-251 с уже запрограммированными битами конфигурации в состоянии Binary Mode. Такие микроконтроллеры получили индекс MCS-151. Помимо самой Intel микроконтроллеры MCS-251 по ее лицензии выпускает компания Temic Semiconductors. Микроконтроллеры семейства MCS-96 фирмы Intel предназначены для использования в контрольно-измерительных системах и приборах в качестве встраиваемых микропроцессорных устройств. Основными достоинствами микроконтроллеров семейства MCS-96, является: 1. Расширенная разрядная сетка, позволяющая выполнять операции с данными, представленными в формате "байт" (8 бит) и формате "слово" (16 бит), а некоторые операции - в формате "двойное слово" (32 бита); 2. Улучшенная система операций, содержащая операции умножения и деления для чисел со знаком и без знака при разных форматах представления данных, операции сдвига на заданное число разрядов, операции групповой пересылки; 3. Совершенная система команд, имеющая в своем составе двухадресные и трехадресные команды арифметических и логических операций с различными способами адресации, что позволяет создавать компактные и быстродействующие программы; 4. Многообразие расположенных на кристалле периферийных устройств, выполняющих функции ввода и вывода данных, событий и аналоговых сигналов, обслуживания запросов прерывания без прерывания текущей программы, контроля правильности функционирования микроконтроллера, что позволяет разрабатывать малогабаритные и надежные устройства с минимальным числом дополнительных микросхем; 5. Наличие большого число программных и программно-аппаратных средств поддержки разработки аппаратуры на базе микроконтроллеров семейства MCS-96.
Микроконтроллеры INTEL MCS 196/296 - высокопроизводительные 16-разрядные микроконтроллеры для решения задач встроенного управления оборудованием: от изделий бытовой техники, периферийных устройств ЭВМ до автомобильной и самолетной электроники. В семейство MCS-196 фирмы Intel (иногда используется и название 80C196) входит более 30 разновидностей микроконтроллеров. Это 16-разрядные, быстродействующие ИС высокой степени интеграции, ориентированные на решение задач управления процессами в реальном масштабе времени. Типичные области применения для этих микроконтроллеров - управление двигателями, модемы, тормозные системы, контроллеры жестких дисков, медицинское оборудование. История MCS-196 насчитывает более 12 лет. За это время специалисты фирмы Intel увеличили адресное пространство с 64 КБайт до 6 Мбайт, повысили тактовую частоту с 10 до 50 МГц, улучшили быстродействие в 16 раз и добились понижения цены на кристалл примерно в 4 раза. Микроконтроллеры 80C196 фактически стали индустриальным стандартом для 16-разрядных встроенных систем управления, обеспечивая сочетание высоких технических показателей и экономической эффективности. Например, именно благодаря этим микроконтроллерам, установленным в системе управления зажиганием, специалистам концерна Ford удалось существенно снизить потребление топлива, уменьшить выбросы вредных веществ и одновременно повысить скоростные характеристики своих машин.
Особенности микроконтроллеров семейства MCS-196 фирмы INTEL: 80C196 имеет всего одно адресное пространство, в котором находятся и инструкции, и данные. Система команд существенно проще и удобнее, чем, например, у 8051 или PIC-контроллеров. Конечно, 80C196 содержит больше периферийных узлов, чем более простые, 8-разрядные микроконтроллеры. Однако каждый из этих узлов не является более сложным. Более того, большое количество встроенных периферийных узлов придает кристаллу 80C196 дополнительную гибкость, а гибкость - ключ к решению сложных задач простыми средствами. 80C196 имеет существенно более высокое быстродействие, чем 8-разрядные микроконтроллеры и потребляет больше энергии. Но кристаллы 80C196 изготавливаются по КМОП-технологии. А это значит, что при понижении тактовой частоты энергопотребление снижается по практически линейному закону. Итак, если некоторая прикладная задача может быть решена при помощи 8-разрядного микроконтроллера, то ее можно решить и при помощи 80C196, работающего на пониженной тактовой частоте. При этом энергопотребление 80C196 будет слабо отличаться от потребления 8-разрядного микроконтроллера, работающего на своей номинальной частоте, и может быть даже меньшим. Почему 80C196 быстрее, чем 8051? Все 232 внутренних регистра 80C196 имеют статус "аккумуляторов" - к ним можно непосредственно применять все необходимые арифметические и логические операции. У 8051 для достижения тех же результатов зачастую необходимо выполнять дополнительные пересылки в аккумулятор и из него. У 80C196 можно использовать 16-разрядную внешнюю шину. Кроме того, цикл шины 80C196 в 3-4 раза короче, чем у 8051. В результате, 80C196 в 6-8 раз быстрее работает с внешней памятью. Отметим, что, для того, чтобы снизить стоимость изделий, можно вводить в шину циклы ожидания и сократить ее ширину до 8-ми бит; но даже в этом случае 80C196 будет иметь преимущество в 2-3 раза. В задачах, требующих 16- и 32-разрядных вычислений, 80C196 примерно на порядок быстрее, поскольку имеет полноценный набор 16-разрядных арифметических инструкций. Одним из самых эффективных способов сокращения времени разработки программ для микроконтроллеров является применение языка Си. Язык Си базируется на широком использовании стека и указателей. Однако для 8051 использование Си затруднено и ведет к большим накладным расходам, и вот почему. Поскольку 8051 имеет небольшой стек, Си-компиляторы для 8051 генерируют дополнительный код, эмулирующий большой стек во внешней памяти данных. Вдобавок 8051 имеет всего один 16-разрядный указатель - DPTR, и компиляторам также приходится генерировать дополнительный код, чтобы компенсировать этот недостаток. Все это приводит к замедлению программ и увеличению их размера. У 80C196 таких проблем нет - стек имеет размер до 64 КБайт, а в качестве указателя можно использовать любое из 116 слов встроенной регистровой памяти. Рассмотрим технические характеристики "классического" кристалла MCS-196 - 80C196KB: ЦПУ На частоте 16 МГц ЦПУ выполняет 2 млн. оп/с при выполнении элементарных операций над знаковыми/беззнаковыми данными длиной 1 или 2 байт. Для этих чисел имеются также и операции умножения и деления (быстродействие: 580 тыс. умножений/сек, 330 тыс. делений/сек). ПАМЯТЬ И ВНЕШНЯЯ ШИНА ЦПУ имеет одно адресное пространство размером 64 Кбайт, в котором находятся регистры общего назначения (232 байт), регистры спец назначения, встроенная программная память (если имеется), внешняя память для программы и данных. У версии со встроенным ПЗУ (87C196KB), ПЗУ имеет объем 8 КБайт и оснащено защитой от несанкционированного доступа. Контроллер памяти работает с 8- и 16-разрядной внешней шиной, причем ширина шины может динамически переключаться, можно вводить циклы ожидания. ПРЕРЫВАНИЯ 28 источников запросов, 16 векторов и 16 приоритетов. ТАЙМЕРЫ Два 16-разрядных таймера TIMER1 и TIMER2 обеспечивают синхронизацию работы устройства ввода-вывода импульсных сигналов (HSIO, High Speed In/Out unit) с реальным временем и внешними событиями. TIMER1 синхронизируется изнутри, тогда как TIMER2 синхронизируется снаружи. ЦИФРОВЫЕ ПОРТЫ Имеется шесть 8-разрядных портов ввода/вывода цифровых сигналов. ИМПУЛЬСНЫЙ ВЫВОД И ВЫВОД (HSIO) Одно из самых мощных встроенных устройств 80C196 - устройство генерации импульсных сигналов (HSO Unit). Его функция - выполнять различные действия в заранее запрограммированные моменты времени с минимальным контролем со стороны ЦПУ. От ЦПУ требуется только указать, что сделать, и в какой момент времени (время отсчитывается по т.н. ссылочному таймеру - TIMER1 или TIMER2). Помимо генерации сигналов, HSO одновременно может выполнять функции 4-х дополнительных таймеров. Устройство ввода импульсных сигналов (HSI Unit) фиксирует моменты времени, в которые произошли какие-либо внешние события, например переход из 0 в 1. HSI имеет 4 входа, а HSO - 6. АЦП Встроенный 10-разрядный АЦП имеет 8 входов, диапазон входного напряжения - 0...5 В. На частоте 16 МГц время преобразования - 19,5 мкс. Имеется схема выборки/хранения и отдельные входы опорного напряжения и аналоговой земли. ГЕНЕРАТОР ШИМ-СИГНАЛА Генератор ШИМ имеет один выход. Диапазон изменения скважности импульсов - 256 градаций. Период импульсов может быть равен 256 или 512 тактам (31,25 или 15,625 кГц соответственно, для частоты 16 МГц). ПОСЛЕДОВАТЕЛЬНЫЙ ПОРТ На ОЭВМ имеется универсальный последовательный синхроннно-асинхронный дуплексный порт связи (SIO, Serial In/Out). Максимальная скорость обмена (на частоте 16 МГц): в асинхронном режиме - 1 Мбод; в синхронном режиме - 4 Мбод. ЭНЕРГОПОТРЕБЛЕНИЕ Общее потребление - не более 75 мА на частоте 16 МГц. Имеются режимы с пониженным энергопотреблением: IDLE (30 мА) и POWER DOWN (0,1 мА). ТЕМПЕРАТУРНЫЙ ДИАПАЗОН, КОРПУСА Существует четыре разновидности по температурному диапазону работы: коммерческий (0...+70 градусов), расширенный (-40...+85), автомобильный (-40...+125) и военный. Кроме того, микроконтроллеры могут быть подвергнуты динамической электротермотренировке. ИС устанавливаются в корпуса типов: PLCC-68, QFP-80, керамический LCC-68, и керамический PGA-68.
Семейство контроллеров Универсальной последовательной шины 8x930 Универсальная последовательная шина (Universal Serial Bus или USB), распространяет технологию Plug-and-Play на внешние устройства ввода/вывода, применяемые на современных высокопроизводительных персональных компьютерах. Для того, чтобы обеспечить возможность подключения разнообразных периферийных устройств, в стандарте USB определены четыре режима передачи: Управляющий, Изохронный, Импульсный и передача массивов. Каждое периферийное устройство должно поддерживать управляющий режим для передачи параметров конфигурации, команд и информации о состоянии устройства. Изохронная передача обеспечивает гарантированный доступ к шине, постоянную пропускную способность и устойчивость к ошибкам, этот режим передачи может применяться в устройствах аудиовывода и компьютерной телефонии. Импульсная передача предназначена для устройств ввода типа мыши, джойстика или клавиатуры, передающих информацию редко и небольшими порциями, но с ограниченным периодом обслуживания. Передача массивов позволяет устройствам типа сканеров, факсов или цифровых камер передавать большие массивы данных в персональный компьютер, как только освобождается канал шины. Основные характеристики продукта
Концентраторы USB играют существенную роль в расширении мира пользовател PC. С появлением периферийных устройств - клавиатур, мониторов, принтеров и других - снабженных встроенными концентраторами, подключить или отключить новое устройство так же просто, как вставить вилку в розетку. Новый уровень производительности и расширенные способы соединения USB могут привести к появлению устройств для рабочих и развлекательных приложений нового поколения. Дни встраиваемых карт, конфликтов IRQ и спутанных клубков проводов сочтены. Кабель шины USB состоит всего из четырех проводов: Vbus, D+, D- и GND - чем достигается упрощение и единообразие соединения. Этой же цели служит единый стандартный коннектор для подключения периферийных устройств к шине USB. Данные по-разному передаются по кабелям D+ и D-: либо на полной скорости 12 Мбит/сек, либо на низкой скорости 1,5 Мбит/сек. Приемопередатчик встроен в кристалл, поэтому необходимость во внешних электронных цепях отсутствует. Исключение составляет терминальный нагрузочный резистор на обоих линиях D+ и D-, который необходим для определения типа устройства: высокоскоростное или низкоскоростное. Обзор семейства Контроллер Intel 8x930Ax представляет собой 8-разрядное устройство, которое основано на архитектуре микроконтоллера MCS 251 и предназначено для работы с периферийными устройствами, подключаемыми к шине USB. С другой стороны, в 8x930Hx использовано то же ядро микроконтроллера MCS 251 плюс расширенные возможности встроенного концентратора шины USB. Применение архитектуры MCS 251 в обоих контроллерах шины USB дает следующие преимущества:
В качестве команд для 8x930Ax можно использовать инструкции как из набора для микроконтроллера MCS 51, так и из набора для микроконтроллера MCS 251. Такой подход сохраняет инвестиции пользователей в программное обеспечение и выжимает максимум производительности из приложений. Микроконтроллеры 8x930 настолько насыщены различными встроенными средствами, что они выглядят мощнее, нежели просто микроконтроллеры. Массив программируемых счетчиков (PCA) придает гибкость приложениям, которым требуется сравнение или захват данных в реальном времени, высокоскоростной обмен данными или широтно-импульсная модуляция. Кроме того, в состав контроллера вошли расширенный последовательный порт, три 16-разрядных таймера/счетчика, аппаратный сторожевой таймер, четыре 8-разрядных порта ввода/вывода, а также предусмотрены два энергосберегающих режима: ожидание и отключение питания. Контроллеры семейства 8x930Ax оснащены 1 Кбайт памяти и могут быть использованы в вариантах без постоянной памяти, либо с постоянной памятью емкостью 8 или 16 Кбайт. Они могут адресовать до 256 Кбайт внешней памяти для размещения команд и данных и 40 байт регистров общего назначения, которые располагаются в центральном процессоре как регистровый файл. В зависимости от используемой комбинации в регистровом файле могут располагаться 16 байтовых регистров, 16 двухбайтовых регистров и 10 четырехбайтовых регистров. В контроллерах предусмотрен гибкий интерфейс с внешней памятью. Дл обращения к устройствам с медленной памятью имеется возможность добавлени трех циклов ожидания, а для генерации большего количества циклов - обращение к функции реального времени. Выборка внешних команд может повысить производительность за счет использования страничного режима, при котором данные перебрасываютс в старшем байте адреса. Оба контроллера 8x930 оснащены восемью очередями FIFO для поддержки внутренних устройств вывода: четыре очереди для передачи и четыре очереди для приема. Четыре очереди FIFO для приема/передачи поддерживают четыре оконечных функциональных устройства (от 0 до 3). Очередь 0 состоит из 16 байт и предназначена для передачи управляющей информации. Очередь 1 относитс к категории настраиваемых пользователем и имеет емкость до 1024 байт. Очереди 2 и 3 состоят из 16 байт каждая и могут использоваться для передачи информации в импульсном, изохронном и режиме передачи массивов. В случае использования контроллера 8x930Hx указанные очереди усиливаются парой очередей FIFO для входных устройств. Эти очереди в контроллере 8x930Hx поддерживаются дополнительным повторителем, который отвечает за повторную передачу потоков данных, генерируемых выходными устройствами. Обзор архитектуры Очереди FIFO для приема и передачи на обоих контроллерах являются кольцевыми. Очереди поддерживают до двух раздельных наборов данных переменного размера и содержат регистры счетчика байтов, показывающие количество байтов в наборах данных. Очереди снабжены флажками, показывающими заполненность или пустоту очереди, а также способны повторять прием или передачу текущего набора данных. Блок интерфейса с функциональными устройствами (ИФУ) распределяет переданные или принятые данные USB в соответствии с типом передачи и состоянием очередей. Кроме того, блок ИФУ следит за состоянием транзакции, управляет очередями FIFO, при помощи запроса на прерывание сообщает о наступлении управляющих событий центральному процессору 8x930. Блок интерфейса с последовательной шиной реализует протокол передачи USB: последовательно упорядочивает пакеты, осуществляет генерацию и распознавание сигнала, генерацию и проверку контрольных сумм, кодирование/декодирование данных по методу NRZI, побитовое заполнение, генерацию и распознавание идентификатора пакета (PID). Интегрированный приемо-передатчик на микроконтроллерах USB согласован с простым четырех-жильным интерфейсом, определенным спецификаицей USB 1.0. Семейство контроллеров 8x930 имеет три прерывания, связанных с USB. Они происходят при каждом старте кадра, окончании приема/передачи данных на оконечные функциональные устройства, в случае глобальной приостановки или возобновления работы. В концентраторе 8x930Hx блок интерфейса с концентратором служит для управления и слежения за состоянием соединени с выходными портами. Повторитель отвечает за распространение сигналов повышающих и понижающих портов USB.
|