F60-67 (1041605), страница 22
Текст из файла (страница 22)
1.2Мин.37153715-0.25-5-5Тип.100250175500320110010505200Макс.Ед. изм.мксмксмксмксмксмксмксмкс1.54мВ/В051020051020171525171525(VDD)+ 0.25мВмВмВмВмВмВмВмВВ70.001+5+5мкс100.17,63,21,30,4пФнАмВ1мВ/ВмкАмкАмкАмкА122C8051F060/1/2/3/4/5/6/713. ПРОЦЕССОРНОЕ ЯДРО CIP-51МК C8051F06х используют процессорное ядро CIP-51, которое по системе команд полностьюсовместимо с ядром MCS-51ТМ.
Для разработки программного обеспечения могут использоваться стандартные(803х/805х) ассемблеры и компиляторы. В состав МК данного семейства входят все периферийные модули,соответствующие стандарту 8051, включая пять 16-разрядных таймеров/счетчиков (см. раздел 24), дваполнодуплексных УАПП (см. раздел 22 и раздел 23), 256 байт внутреннего ОЗУ, 128 байт адресногопространства для регистров специального назначения (Special Function Register – SFR)(см. раздел 13.2.6), атакже 59/24 вывода ввода/вывода общего назначения (см. раздел 18).
Ядро CIP-51 содержит встроенныеаппаратные средства отладки (см. раздел 26), а также средства взаимодействия с аналоговыми и цифровымимодулями МК, что позволяет построить на одной микросхеме законченную систему управления или сбораданных.МК на основе CIP-51 имеют стандартную для архитектуры 8051 структуру и периферию. Кроме этоговведены дополнительные специализированные периферийные модули и функции, улучшающие возможностиМК (см.
рис.13.1). Ниже перечислены основные характеристики ядра CIP-51:- Полная совместимость с MCS-51 по системе команд- Пиковая производительность 25 MIPS на частоте 25 МГц- Тактовая частота от 0 до 25МГц- 256 байт внутреннего ОЗУ- 59/24 порта ввода-вывода общего назначения123Ред. 1.2- Развитая система прерываний- Вход сброса- Различные режимы энергопотребления- Встроенные средства отладки- Защита памяти программ и данныхC8051F060/1/2/3/4/5/6/7ПроизводительностьCIP-51 использует конвейерную архитектуру, что существенно повышает скорость выполнения команд посравнению со стандартной архитектурой 8051.
В МК с архитектурой 8051 все команды, кроме MUL и DIV,исполняются за 12 или 24 тактовых цикла, а максимальная тактовая частота составляет обычно 12 МГц. МК сядром CIP-51 исполняют 70% своих команд за один или два тактовых цикла, и ни одна команда не требуетболее восьми тактовых циклов.При работе на максимальной тактовой частоте 25 МГц производительность ядра CIP-51 может достигать25 MIPS. Система команд CIP-51 состоит из 109 команд, которые требуют от одного до восьми тактовых цикла:Количество командКоличество тактовых циклов26150252/314373/43414/52518Рисунок 13.1.
Структурная схема CIP-51D8D8D8РЕГИСТР BTMP1Указатель стекаTMP2РЕГИСТРАДРЕСАСОЗУPSWD8D8D8АЛУСОЗУ(256 X 8)D8АККУМУЛЯТОРD8D8ШИНА ДАННЫХШИНА ДАННЫХSFR_АдресБуферD8Указатель данныхD8D8Интерфейсрегистровспециальногоназначения(SFR)SFR_УправлениеSFR_Запись_данныхSFR_Чтение данныхИнкрементор ПСMEM_АдресD8Программный счетчик (ПС)MEM_УправлениеРег. адр. памяти программA16Интерфейспамяти(MEMORY)MEM_Запись_данныхMEM_Чтение_данныхКонвейерСБРОСD8ЛогикаУправлениятактовыеимпульсыD8СТОПОЖИДАНИЕРегистр управлениярежимами питанияИнтерфейспрерыванийСистемныепрерыванияПрерывание отэмулятораD8Ред. 1.2124C8051F060/1/2/3/4/5/6/7Средства поддержки программирования и отладкиПоследовательный интерфейс JTAG предназначен для внутрисистемного программирования Flashпамяти программ и взаимодействия со встроенными средствами отладки.
Кроме этого перепрограммируемаяFlash-память может быть прочитана и изменена прикладной программой в любое время в побайтном режиме,используя команды MOVC и MOVX. Эта возможность позволяет использовать память программ длядолговременного хранения данных, а также обновлять программный код под управлением программы.Встроенные аппаратные средства отладки позволяют осуществлять внутрисхемную отладку в режимереального времени, при этом возможны расстановка точек останова и временных меток, запуск, остановка ипошаговое исполнение программы (включая процедуры обработки прерываний), проверка программного стека,чтение/запись содержимого регистров и памяти. Это метод отладки является «неразрушающим», не требуетвмешательства в структуру отлаживаемой системы и использования внутренних ресурсов МК (например, ОЗУ,стека, таймеров и др.).CIP-51 поддерживается аппаратными и программными средствами разработки от фирмы SiliconLaboratories и других фирм.
Фирма Silicon Laboratories предлагает интегрированную среду проектирования(IDE), которая обеспечивает взаимодействие с CIP-51 посредством JTAG интерфейса, что позволяетосуществлять быстрое и эффективное программирование МК и его отладку. Доступны также макроассемблерыи С-компиляторы независимых фирм-производителей.13.1. СИСТЕМА КОМАНДСистема команд CIP-51 полностью совместима с системой команд MCS-51™, поэтому разработкапрограммного обеспечения может осуществляться с использованием средств проектирования для стандартнойархитектуры 8051. Все команды CIP-51 являются двоичным и функциональным эквивалентом аналогичныхкоманд MCS-51™, включая коды операций, режимы адресации и изменение флагов состояния. Однако, повремени выполнения команды отличаются.13.1.1. Команды и тактированиеВо многих МК с архитектурой 8051 существует различие между машинным циклом и цикломтактирования, при этом машинный цикл длится от 2 до 12 циклов тактирования.
Однако CIP-51 основанисключительно на синхронизации тактовым сигналом и все временные параметры команд приводятся наоснове циклов тактирования.Благодаря конвейерной архитектуре CIP-51, количество тактовых циклов, требуемых для выполнениябольшинства команд, равно количеству байтов в команде. Команды условных переходов требуют длязавершения на один цикл меньше, если переход не происходит (по сравнению с тем случаем, когда переходпроисходит). Система команд CIP-51 приведена в таблице 13.1, которая содержит мнемонику, количествобайтов и количество тактовых циклов для каждой команды.13.1.2.
Команда MOVX и память программВ CIP-51 команда MOVX используется для доступа к трем типам памяти: встроенной XRAM, внешнейXRAM, встроенной Flash-памяти программ. Возможность доступа к Flash-памяти программ обеспечиваетмеханизм, посредством которого программа пользователя может обновлять программный код и использоватьобласть памяти программ для долговременного хранения данных (см. раздел 16). Интерфейс внешней памятиобеспечивает быстрый доступ к внешней XRAM (или отображенным на память периферийным модулям) спомощью команды MOVX (см.
раздел 17).125Ред. 1.2C8051F060/1/2/3/4/5/6/7Таблица 12.1. Система команд CIP-51МнемоникакомандыADD A,RnADD A,directADD A,@RiADD A,#dataADDC A,RnADDC A,directADDC A,@RiADDC A,#dataSUBB A,RnSUBB A,directSUBB A,@RiSUBB A,#dataINC AINC RnINC directINC @RiDEC ADEC RnDEC directDEC @RiINC DPTRMUL ABDIV ABDA AANL A,RnANL A,directANL A,@RiANL A,#dataANL direct,AANL direct,#dataORL A,RnORL A,directORL A,@RiORL A,#dataORL direct,AORL direct,#dataXRL A,RnXRL A,directXRL A,@RiXRL A,#dataXRL direct,AXRL direct,#dataCLR ACPL ARL ARLC AОписаниеАРИФМЕТИЧЕСКИЕ ОПЕРАЦИИСложение аккумулятора с регистром (n = 0…7)Сложение аккумулятора с прямо-адресуемым байтомСложение аккумулятора с косвенно-адресуемым байтом ОЗУСложение аккумулятора с константойСложение аккумулятора с регистром и переносомСложение аккумулятора с прямо-адресуемым байтом и переносомСложение аккумулятора с косвенно-адресуемым байтом ОЗУ и переносомСложение аккумулятора с константой и переносомВычитание из аккумулятора регистра и заемаВычитание из аккумулятора прямо-адресуемого байта и заемаВычитание из аккумулятора косвенно-адресуемого байта ОЗУ и заемаВычитание из аккумулятора константы и заемаИнкремент аккумулятораИнкремент регистраИнкремент прямо-адресуемого байтаИнкремент косвенно-адресуемого байта ОЗУДекремент аккумулятораДекремент регистраДекремент прямо-адресуемого байтаДекремент косвенно-адресуемого байта ОЗУИнкремент указателя данныхУмножение аккумулятора на регистр ВДеление аккумулятора на регистр ВДесятичная коррекция аккумулятораЛОГИЧЕСКИЕ ОПЕРАЦИИЛогическое И аккумулятора и регистраЛогическое И аккумулятора и прямо-адресуемого байтаЛогическое И аккумулятора и косвенно-адресуемого байта ОЗУЛогическое И аккумулятора и константыЛогическое И прямо-адресуемого байта и аккумулятораЛогическое И прямо-адресуемого байта и константыЛогическое ИЛИ аккумулятора и регистраЛогическое ИЛИ аккумулятора и прямо-адресуемого байтаЛогическое ИЛИ аккумулятора и косвенно-адресуемого байта ОЗУЛогическое ИЛИ аккумулятора и константыЛогическое ИЛИ прямо-адресуемого байта и аккумулятораЛогическое ИЛИ прямо-адресуемого байта и константыИсключающее ИЛИ аккумулятора и регистраИсключающее ИЛИ аккумулятора и прямо-адресуемого байтаИсключающее ИЛИ аккумулятора и косвенно-адресуемого байта ОЗУИсключающее ИЛИ аккумулятора и константыИсключающее ИЛИ прямо-адресуемого байта и аккумулятораИсключающее ИЛИ прямо-адресуемого байта и константыСброс аккумулятораИнверсия аккумулятораСдвиг аккумулятора влево циклическийСдвиг аккумулятора влево через переносРед.
1.2БайтыЦиклы12121212121211211121111112221222122211221122148112122312122312122311111222231222231222231111126C8051F060/1/2/3/4/5/6/7МнемоникакомандыRR ARRC ASWAP AMOV A,RnMOV A,directMOV A,@RiMOV A,#dataMOV Rn,AMOV Rn,directMOV Rn,#dataMOV direct,AMOV direct,RnMOV direct,directMOV direct,@RiMOV direct,#dataMOV @Ri,AMOV @Ri,directMOV @Ri,#dataMOV DPTR,#data16MOVC A,@A+DPTRMOVC A,@A+PCMOVX A,@RiMOVX @Ri,AMOVX A,@DPTRMOVX @DPTR,APUSH directPOP directXCH A,RnXCH A,directXCH A,@RiXCHD A,@RiCLR CCLR bitSETB CSETB bitCPL CCPL bitANL C,bitANL C,/bitORL C,bitORL C,/bitMOV C,bitMOV bit,CJC rel127ОписаниеБайтыЦиклыСдвиг аккумулятора вправо циклическийСдвиг аккумулятора вправо через переносОбмен местами тетрад в аккумулятореКОМАНДЫ ПЕРЕДАЧИ ДАННЫХПересылка в аккумулятор из регистра (n = 0…7)Пересылка в аккумулятор прямо-адресуемого байтаПересылка в аккумулятор косвенно-адресуемого байта ОЗУЗагрузка в аккумулятор константыПересылка в регистр из аккумулятораПересылка в регистр прямо-адресуемого байтаЗагрузка в регистр константыПересылка по прямому адресу аккумулятораПересылка по прямому адресу регистраПересылка прямо-адресуемого байта по прямому адресуПересылка косвенно-адресуемого байта ОЗУ по прямому адресуПересылка по прямому адресу константыПересылка в косвенно-адресуемую ячейку ОЗУ аккумулятораПересылка в косвенно-адресуемую ячейку ОЗУ прямо-адресуемогобайтаПересылка в косвенно-адресуемую ячейку ОЗУ константыЗагрузка указателя данныхПересылка в аккумулятор байта из памяти программПересылка в аккумулятор байта из памяти программПересылка в аккумулятор байта из внешней памяти данныхПересылка байта из аккумулятора во внешнюю память данныхПересылка в аккумулятор из расширенной внешней памяти данныхПересылка из аккумулятора в расширенную внешнюю память данныхЗагрузка в стекИзвлечение из стекаОбмен аккумулятора с регистромОбмен аккумулятора с прямо-адресуемым байтомОбмен аккумулятора с косвенно-адресуемым байтом ОЗУОбмен младшей тетрады аккумулятора с младшей тетрадойкосвенно-адресуемого байта ОЗУОПЕРАЦИИ С БИТАМИСброс переносаСброс битаУстановка переносаУстановка битаИнверсия переносаИнверсия битаЛогическое И бита и переносаЛогическое И инверсии бита и переносаЛогическое ИЛИ бита и переносаЛогическое ИЛИ инверсии бита и переносаПересылка бита в переносПересылка переноса в битПереход, если перенос равен единице1111111212122223231122212222323222231111112212123333333221221212121222222221212122222222/3Ред.