HIGH-SPEED  микроконтроллеры от DALLAS SEMICONDUC

Журнал "Радио", номер 8, 1999г.
Автор: А. Горбачев, г. Москва

    В продаже появилось много новых восьмиразрядных микроконтроллеров (МК). Они весьма привлекательны с точки зрения отношения цены к производительности. Однако в стоимость разработки входит не только цена самого МК, но и стоимость средств отладки, без которых не обойтись, и программного обеспечения (если разработка начинается не с нуля). Этим объясняется приверженность отечественных разработчиков х51-совместимым МК.
    МК "High Speed" фирмы Dallas Semiconductor полностью программно и аппаратно совместимы с MCS51. Однако возможности их гораздо шире. Выпускаются они как без памяти программ, так и с таковой. Последние могут быть однократно (OTP EPROM) или многократно программируемыми, причем в этом случае стирание осуществляется облучением ультрафиолетовыми лучами (UV EPROM). Наибольший интерес для радиолюбителей представляют перепрограммируемые МК, поэтому в статье подробно рассматриваются только два представителя семейства - DS87C520 и DS87C530.

    Основные технические характеристики МК семейства "High Speed" приведены в таблице. Как видно, оно состоит из пяти модификаций, различающихся своими возможностями. Так, в DS80C320 и DS80C323 внутреннее ПЗУ отсутствует, в DS83C520 имеется масочное ПЗУ объемом 16 Кбайт, а в DS87C520 и DS87C530 - однократно программируемое или стираемое ультрафиолетовым облучением ПЗУ такого же объема. Внешнее ОЗУ на кристалле имеется только в трех последних модификациях, а часы-календарь - только в DS87C530.

    ПРОИЗВОДИТЕЛЬНОСТЬ

    Увеличение производительности "High Speed" микроконтроллеров обусловлено тем, что их машинный цикл состоит не из 12 машинных тактов, как у 87С51, а всего из четырех. Поэтому при одинаковой тактовой частоте простейшая одноцикловая команда выполняется МК DS8xC5xx втрое быстрее, чем любым представителем х51. Так, на максимальной тактовой частоте 33 МГц время ее выполнения DS87C520 и DS87C530 составляет 121 нс, что было бы доступно для 87С51 лишь при частоте 100 МГц. Но не все инструкции выполняются столь же быстро - в среднем быстродействие программ возрастает примерно в 2,5 раза. Это объясняется тем, что некоторые инструкции "High Speed" МК выполняют за большее количество циклов, чем 87С51.

    ПАМЯТЬ ПРОГРАММ И ДАННЫХ

    Память программ, расположенная на кристалле, занимает младшие адреса в адресном пространстве МК. Предусмотрена ее стандартная трехуровневая защита от несанкционированного доступа. Обращение к внешней памяти программ происходит в том случае, когда счетчик команд превышает максимальное значение адреса внутренней памяти. Заметим, что этот максимальный адрес может программно управляться путем установки трех бит в SFR-регистре ROMSIZE - размер памяти может быть задан 0, 1, 2, 4, 8 или 16 Кбайт. В процессе выполнения программы можно даже полностью запретить работу от внутренней памяти программ и перейти на работу от внешней.

    На кристалле DS87C520/530 находятся как стандартные 256 байт ОЗУ, доступ к которым осуществляется аналогично 87С52, так и дополнительная память объемом 1 Кбайт. Доступ к последней осуществляется с помощью команды MOVX. Эта память трактуется как внешняя, несмотря на то, что физически она находится на кристалле МК. В адресном пространстве она расположена от 0000 до 03FF. Обращения к внешней памяти по адресам выше 03FF автоматически выбирают память вне кристалла, если таковая имеется. Доступ к упомянутому однокилобайтному массиву ОЗУ можно программно запретить - при этом любое обращение к внешней памяти данных будет выполняться аналогично тому, как это делается в МК семейства MCS-51.

    МК DS87C520/530 допускают программную регулировку времени доступа к внешней памяти. Инструкция MOVX минимально выполняется за два машинных цикла, причем при обращении к внешней памяти как на кристалле, так и вне его. Однако для работы с "медленными" микросхемами внешнего ОЗУ число циклов может увеличиваться вплоть до девяти. При сбросе их число устанавливается равным трем.

    УКАЗАТЕЛИ ДАННЫХ

    Стандартный DPTR, обозначаемый как DPTR0, располагается по адресам 82H и 83H, чем обеспечивается совместимость "High Speed" МК с 87С51. Второй указатель, расположенный по адресам 84H и 85H, обозначается как DPTR1. Выбор конкретного DPTR осуществляется сбросом/установкой нулевого бита в SFR-регистре по адресу 86H. Используя два указателя для адресации "откуда" и "куда", можно эффективно осуществлять блоковые пересылки.

    УПРАВЛЕНИЕ ПОТРЕБЛЯЕМОЙ МОЩНОСТЬЮ

    Кроме Idle и Power Down, имеется еще один режим пониженного энергопотребления, получивший название Power Management Mode (PMM). В нем процессор продолжает свою работу без каких-либо ограничений, однако потребление снижается за счет уменьшения тактовой частоты. Возможно ее снижение в 16 или 256 раз (режимы РММ1 и РММ2 соответственно). На тактовой частоте 11059,2 кГц в стандартном режиме "High Speed" МК потребляют 15,5, в режиме РММ1 - 4,8, РММ2 - 4 мА, (последнее даже меньше, чем у 87С51/52 в режиме Idle, причем без остановки процессора). Кроме того, в DS87C520/530 допустимо использовать в качестве тактового внутренний генератор, работающий на частоте 2...4 МГц. Однако указанная частота нестабильна, в связи с чем это решение нельзя применять в устройствах, где необходимы точные измерения временных интервалов.

    При снижении тактовой частоты пропорционально изменяется скорость передачи по последовательному каналу. В "High Speed" МК реализованы технические решения, позволяющие легко устранить этот недостаток.

    Для уменьшения электромагнитного излучения от МК в случаях, когда в сигнале ALE нет необходимости, формирование его можно программно запретить.

    ПОСЛЕДОВАТЕЛЬНЫЕ ПОРТЫ И ТАЙМЕРЫ

    МК DS87C520 и DS87C530 снабжены двумя последовательными портами, идентичными имеющемуся в 87С51, причем второй использует выводы Р1.2 (RXD1) и Р1.3 (TXD1), а также регистры SCON1 (C0H) и SBUF1 (C1H). Оба порта могут функционировать одновременно, но работать при этом на разных скоростях или в разных режимах. Для задания скорости передачи второй порт может использовать только первый таймер/счетчик.

    Для обеспечения совместимости таймеры в рассматриваемых МК используют в качестве задающей тактовую частоту, деленную на 12. Однако можно перейти и на тактовую частоту, деленную на 3, что осуществляется установкой соответствующего бита в SFRрегистре CKCON.

    Сторожевой таймер сбрасывает МК всякий раз, когда происходит его переполнение. Чтобы избежать этих пересбросов, его нужно периодически обнулять, что возможно только в нормально работающей системе. Инкрементирование сторожевого таймера происходит один раз за период тактовой частоты. Установкой соответствующих битов можно задать четыре значения его пересчета, в результате чего число тактов до переполнения станет равным двум в 17, 20, 23 или 26-й степени. Таймер также выставляет флаг прерывания (если он программно разрешен) за 512 тактов до пересброса.

    СБРОС ПО СНИЖЕНИЮ ПИТАЮЩЕГО НАПРЯЖЕНИЯ, ПРЕРЫВАНИЯ И ЧАСЫ РЕАЛЬНОГО ВРЕМЕНИ

    Снижение питающего напряжения до значения, меньшего 4,13 В, приводит к тому, что соответствующее внутреннее устройство МК вырабатывает сигнал сброса, удерживающийся до возврата напряжения к указанному уровню. Для этого не нужно никаких дополнительных внешних элементов или изменений в программе. При уменьшении напряжения до значения 4,38 В может вырабатываться сигнал прерывания (если оно разрешено).

    МК DS87C520 и DS87C530 имеют шесть внешних прерываний: два стандартных, аналогичных таковым в 87С51, и четыре дополнительных. Последние отличаются от стандартных тем, что срабатывают только по фронту или спаду прерывающего сигнала - для INT2 и INT4 активным является фронт, а для INT3 и INT5 - спад. Обработка прерываний от таймеров осуществляется аналогично 87С52. Каждый таймер имеет свой флаг разрешения, вектор и приоритет.

    Часы реального времени (Real Time Clock, RTC), которыми оснащен МК DS87C530, позволяют хранить текущее время, число, день недели, месяц, год. Для этого к МК необходимо подключить соответствующим образом кварцевый резонатор с собственной частотой 32,768 кГц и литиевую батарею питания. RTC обладают возможностью формировать сигнал тревоги (ALARM) по достижении запрограммированного времени, при этом флаг прерывания, если оно разрешено, выставляется даже в режиме микропотребления.







Рекомендуемый контент




Copyright © 2010-2017 housea.ru. Контакты: info@housea.ru При использовании материалов веб-сайта Домашнее Радио, гиперссылка на источник обязательна.