В HTML      В PDF
микроэлектроника, микросхема, микроконтроллер, память, msp430, MSP430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, SED1335, mega128, avr, mega128  
  Главная страница > Статьи > Микроконтроллеры

реклама

 
радиационно стойкие ПЗУ Миландр

Продажа силового и бронированного кабеля и провода в Москве

текст еще



Однокристальные микроконтроллеры семейства MCS-96 фирмы Intel

Что такое MCS-96?

В семейство MCS-96 фирмы Intel (иногда будет использоваться и название 80C196) входит более 30 разновидностей микроконтроллеров. Это 16-разрядные, быстродействующие ИС высокой степени интеграции, ориентированные на решение задач управления процессами в реальном масштабе времени. Типичные области применения для этих микроконтроллеров - управление двигателями, модемы, безюзовые тормозные системы, контроллеры жестких дисков, медицинское оборудование.

История MCS-96 насчитывает более 12 лет. За это время специалисты фирмы Intel увеличили адресное пространство с 64 КБайт до 6 Мбайт, повысили тактовую частоту с 10 до 50 МГц, улучшили быстродействие в 16 раз и добились понижения цены на базовый кристалл* примерно в 4 раза.

В этой статье часто используется термины "базовая архитектура" и "базовый кристалл". Под этим имеется в виду архитектура первой ИС семейства - "прародительницы" всех последующих ИС. Базовая архитектура присутствует во всех микроконтроллерах семейства, и поэтому является определенной характеристикой для всего семейства. Отметим также, что микроконтроллеры базовой архитектуры имеют самую низкую стоимость в семействе. Для MCS-51 базовой микросхемой является 8031 (отечественный аналог - 1816ВЕ31). В семействе MCS-96 контроллером базовой архитектуры является 8096BH. C недавнего времени эта ИС снята с производства, а наиболее близкой к ней и 100% совместимой является 80C196KB.

Микроконтроллеры 80C196 фактически стали индустриальным стандартом для 16-разрядных встроенных систем управления, обеспечивая сочетание высоких технических показателей и экономической эффективности. Например, именно благодаря этим микроконтроллерам, установленным в системе управления зажиганием, специалистам концерна Ford удалось существенно снизить потребление топлива, уменьшить выбросы вредных веществ и одновременно повысить скоростные характеристики своих машин.

Применение MCS-96 в новых разработках

Более семи лет мы занимаемся инструментальными средствами для 80C196 и консультациями по вопросам разработки устройств на их базе. И за это время мы убедились, что 80C196 можно с успехом использовать и для 8-разрядных задач, и для задач, требующих низкого энергопотребления, но, как правило, разработчики контроллеров предпочитают использовать уже хорошо известные микросхемы (обычно, это 8051). При этом они зачастую руководствуются не совсем верной информацией о 80C196. Например, высокое быстродействие, свойственное 80C196, связывается с высоким энергопотреблением, но это, не всегда так.

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

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

История повторяется, и сегодня некоторые разработчики привыкшие к 8051,в ситуации, когда им начинает не хватать возможностей кристалла, всеми силами стремятся удержаться в рамках этой архитектуры, и выбирают новый, более сложный кристалл, но - с той же системой команд. Такой подход вполне приемлем, но лишь до определенного момента. Например, использо-вание кристалла Philips 80C552, имеющего примерно тот же набор периферии и ту же цену, что и базовый кристалл 80C196, представляется бессмысленным, если известно, что в будущем все равно потребуется микроконтроллер с большей вычислительной мощностью.

Микроконтроллеры 80C196 могут рассматриваться как расширение архитектуры 8051, но лишь весьма приближенно. Часто удивляет, когда приходится сталкиваюсь с мнением, что "80C196 - это усовершенствованный 8051". Кристаллы 80C196 имеют другую - и намного более удобную - систему команд, другую организацию памяти, другую систему прерываний. Если быть кратким, то это просто иная, причем более современная архитектура, чем 8051.

80C196 напоминает швейцарский нож - он содержит практически все, что может понадобиться при разработке контроллера. Судите сами: АЦП, устройства ввода и вывода импульсных сигналов, несколько таймеров, ШИМ-генераторы, большое количество обычных портов ввода-вывода, гибкая система прерываний, сторожевой таймер - вот неполный список основных компонентов базовой архитектуры MCS-96. Единожды разобравшись в архитектуре MCS-96, инженер получает в свое распоряжение семейство кристаллов, которые с успехом решают сегодняшние задачи, и вполне пригодны для решения более сложных задач будущего.

Рассмотрим технические характеристики "классического" кристалла MCS-96 - 80C196KB, а затем предложим Вашему вниманию сравнительную таблицу по всем основным кристаллам семейства.

Краткая техническая характеристика кристалла 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-разрядных портов ввода/вывода цифровых сигналов.

тип линии порта количество в порту: всего
0 1 2 3 4 HSIO
двунаправл.   8 2 8/0 8/0 2 28/12
только вход 8   4     2 14
только выход     2     4 6
порты 3 и 4 заняты если используется внешняя шина 48/32

ИМПУЛЬСНЫЙ ВЫВОД И ВЫВОД (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.

Номенклатура MCS-96

В нижеследующей таблице приведены краткие характеристики всех основных микроконтроллеров семейства. Количество линий ввода-вывода указано для случая использования внутреннего ПЗУ кристалла, без подключения внешней памяти и периферийных устройств. При использовании внешней шины, общее количество доступных линий ввода-вывода уменьшится на 16...20, в зависимости от типа микроконтроллера. Отметим, что кристаллы со встроенным ПЗУ либо масочные (т.е. программируются прямо на заводе по заказу), либо однократно программируемые. Кристаллы с УФ-стиранием труднодоступны. Очевидно, фирма Intel планирует выпускать контроллеры с FLASH-памятью.

Кристалл Адрес.
пр-во
ПЗУ Регистры Доп.ОЗУ Каналы
АЦП
Линии
в/в
HSIO
/EPA
посл.
порты
PTS ШИМ
8X96BH 64K 232 нет 8 48 HSIO UART нет 1
8XC196KB 64К 232 нет 8 48 HSIO UART нет 1
8XC198 64К 232 нет 4 48 HSIO UART нет 1
8XC198 64К 232 нет 4 48 HSIO UART нет 1
8XС196KC 64К 16К 488 нет 8 48 HSIO UART да 3
8XC196KD 64К 32К 1000 нет 8 48 HSIO UART да 3
8XC196KR/KQ 64K 16K/12K 488/360 256/128 8 56 10EPA UART/
SSIO
да нет
8XC196JR/JQ 64K 16K/12K 488/360 256/128 6 41 6 EPA UART/
SSIO
да нет
8XC196KT/KS 64K 32K/24K 1000 512/256 8 56 10 EPA UART/
SSIO
да нет
8XC196JT/JS 64K 32K/24K 1000 512/256 6 41 6 EPA UART/
SSIO
да нет
8XC196JV 64K 48K 1.5K 512 6 41 6 EPA UART/
SSIO
да нет
8XC196MC 64К 16К 488 нет 13 53 4 EPA UART/
SSIO
да нет
8XC196MD 64K 16K 488 нет 14 64 6 EPA   да нет
8XC196MH 64K 32K 744 нет 8 50 6 EPA 2UART да нет
8XC196CA 64K 32K 1000 256 6 44 6 EPA UART/
SSIO
да нет
8XC196NT 1M 32K 1000 512 4 56 10 EPA UART/
SSIO
да нет
8XC196CB 1M 56K 1.5K 512 8 56 10 EPA UART/
SSIO
да нет
8XC196NP 1M 4K 1000 нет нет 32 4 EPA UART да 3
80C196NU 1M нет 1000 нет нет 32 4 EPA UART да 3
8XC296SA 6M 2K 512 2K нет 32 4 EPA SSIO нет 3

Краткие описания некоторых узлов ОЭВМ MCS-96

EPA (EVENT PROCESSOR ARRAY) Этот узел пришел на смену HSIO, начиная с кристалла 8XC196KR. EPA имеет более простую архитектуру, чем HSIO, обладая при этом лучшей разрешающей способностью. В HSIO, все входные каналы имеют общую память (7-уровневое FIFO), в которой запоминаются временные отметки, соответствующие событиям на входах. То же касается выходных линий HSIO - все они имеют общую память (8 ячеек), в которую процессор записывает команды для всех выходных каналов HSIO. Поэтому за один такт HSIO может обработать только один входной и один выходной канал. В EPA, каждый канал имеет свой собственный буфер, а выдача и прием сигналов производятся одновременно по всем каналам. Поэтому разрешающая способность EPA выше, чем у HSIO, в 4 раза. Кроме того, EPA - более гибкий узел: каждый его канал может служить и входом, и выходом, тогда как HSIO имеет 4 выходных, 2 входных, и 2 двунаправленных линии.

CODE RAM Это дополнительное ОЗУ, в котором можно размещать исполняемый код. Этот код будет выполняться очень быстро, так как Code RAM имеет 16-разрядный интерфейс с нулевым циклом ожидания. Code RAM может принести существенную пользу в задачах, где требуется максимально быстрое выполнение только небольших фрагментов кода, позволяя при этом использовать сравнительно медленное и дешевое 8-битное ПЗУ для хранения остальной части программы. Конечно, эту память можно использовать и для размещения данных или стека.

PTS (PERIPHERAL TRANSACTION SERVER) Этот узел предназначен для аппаратной обработки прерываний. Он содержит набор встроенных алгоритмов, исходные данные для которых должны быть размещены программой пользователя во встроенном ОЗУ кристалла. Алгоритмы PTS охватывают, в основном, пересылки данных. Прерывания, обслуживаемые PTS, отрабатываются быстрее, чем те, которые обслуживаются обычным способом. Однако, программировать PTS непросто, а отлаживать еще сложнее. Поэтому мы не рекомендуем использовать PTS без крайней необходимости. В новейшем кристалле 4-го поколения, 8XС296SA, PTS нет.

ГЕНЕРАТОР СИГНАЛОВ CHIP SELECT (CHIP SELECT UNIT) Этот узел появился у кристалла 8XC196NP, и имеется у 80C196NU и 8XC296SA. Он позволяет существенно упростить аппаратуру, необходимую для подключения внешней памяти к процессору, и, тем самым, удешевить систему. Он может генерировать до 6-ти сигналов выборки (Chip Select), с независимо устанавливаемыми циклами ожидания и шириной шины. Кроме того, кристаллы, имеющие Chip Select Unit, имеют демультиплексированную шину, что позволяет отказаться от внешних регистров-защелок и использовать медленную и дешевую память, сохранив при этом быстродействие системы.

Типичные заблуждения

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

  • 80C196 - это сложный кристалл, его трудно изучить и освоить;
  • по 80C196 трудно найти необходимую информацию, и кроме того, она на английском языке;
  • кристаллы 80C196 - слишком дорогие;
  • 16-разрядный микроконтроллер 80C196 требует много внешних элементов для нормальной работы;
  • 80C196 потребляет больше энергии, чем более простые 8-разрядные микроконтроллеры.

Казалось бы, это очевидные утверждения. Но так ли это на самом деле? Попробуем разобраться.

Заблуждение 1. 80C196 - это сложный кристалл, его трудно изучить и освоить.

Это утверждение опровергнуть легче всего. Судите сами: 80C196 имеет всего одно адресное пространство, в котором находятся и инструкции, и данные. Сравните, например, с системой памяти кристалла 8051: что проще, а что сложнее? Система команд - а здесь уж вам придется просто довериться - существенно проще и удобнее, чем, например, у 8051 или PIC-контроллеров.

Конечно, 80C196 содержит больше периферийных узлов, чем более простые, 8-разрядные микроконтроллеры. Однако каждый из этих узлов не является более сложным. Более того, большое количество встроенных периферийных узлов придает кристаллу 80C196 дополнительную гибкость, а гибкость - ключ к решению сложных задач простыми средствами.

Заблуждение 2. По 80C196 трудно найти необходимую информацию, и кроме того, она на английском языке.

Почему это не так:

На отечественном рынке активно работают несколько фирм, занимающихся поставками кристаллов 80C196 и инструментальных средств для них. Эти же фирмы обеспечивают разработчиков необходимой информацией, причем зачастую бесплатно. Одна из таких фирм выполнила перевод описания базовой архитектуры MCS-96, и оформила его в виде электрон-ного руководства. Его можно получить бесплатно.

В 1998 году опубликована книга - Казаченко В.Ф. Микроконтроллеры: Руководство по применению 16-разрядных микроконтроллеров INEL MCS-196/296 во встроенных системах управления. - М.: Издательство Эком, 1997. - 688с.: илл.

Заблуждение 3. Кристаллы 80C196 - слишком дорогие.

Действительно, цены на кристаллы 80C196 выше, чем, например, на кристаллы семейства 8051. Однако, если сравнить цену на базовый кристалл 80C196 и на кристалл с аналогичной периферией и ядром 8051, то окажется, что разница в цене совсем невелика. Но ведь 80C196 обладает намного большей вычислительной мощностью!

Кроме того, следует учитывать и динамику изменения цен. Благодаря развитию технологии, стоимость ИС семейства MCS-96 падает. Например, в 1990 году кристалл 80C196KB стоил около 22 долларов, а сегодня он стоит уже 12. Отметим также, что фирма Intel выпускает все более мощные кристаллы, а их цена устанавливается в среднем такой же, как и для более старых микроконтроллеров MCS-96.

Заблуждение 4. 16-разрядный микроконтроллер 80C196 требует много внешних элементов для нормальной работы.

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

Как помочь разработчику в такой ситуации? Попробуйте воспользоваться магической формулой Тамазова, которую предлагаем и вниманию читателя: "для построения контроллера на базе 80С196 нужно не больше внешних элементов, чем требуется для 8051". Во многих случаях, когда удается убедить в этом разработчика, он начинает более внимательно и целенаправленно вчитываться в документацию, а затем сокращает свою схему до ПЗУ, регистра-защелки и конденсатора...

Заблуждение 5. 80C196 потребляет больше энергии, чем более простые 8-разрядные микроконтроллеры.

Это утверждение очевидно, более того - оно верно! Так о чем же можно говорить? Оказывается, есть о чем.

80C196 имеет существенно более высокое быстродействие, чем 8-разрядные микроконтрол-леры, и потребляет больше. Но кристаллы 80C196 изготавливаются по КМОП-технологии. А это значит, что при понижении тактовой частоты энергопотребление снижается по практически линейному закону.

Итак, если некоторая прикладная задача может быть решена при помощи 8-разрядного микроконтроллера, то ее можно решить и при помощи 80C196, работающего на пониженной тактовой частоте. При этом энергопотребление 80C196 будет слабо отличаться от потребления 8-разрядного микроконтроллера, работающего на своей номинальной частоте, и может быть даже меньшим.

Почему 80C196 быстрее, чем 8051?

  • Кристаллы 80C196 изготавливаются по более современной технологии (с меньшим размером элементов на кристалле), поэтому достигаются более высокие тактовые частоты. Например, кристалл 80C196NU имеет тактовую частоту 50 МГц, а наиболее быстродействующие из семейства 8051 - 24 МГц.
  • Все 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 слов встроенной регистровой памяти.





 
Впервые? | Реклама на сайте | О проекте | Карта портала
тел. редакции: +7 (495) 514 4110. e-mail:info@eust.ru
©1998-2016 ООО Рынок Микроэлектроники