Главная
Новости рынка
Рубрикатор



Архив новостей -->



Печать Фото на холстах artdiscount.com.ua.

 



   

С. Шишарин, Б. Малашевич

КР1878ВЕ1 8-разрядный микроконтроллер

    Микроконтроллер КР1878ВЕ1 разработан на основе отечественного микроконтроллерного ядра ТЕСЕЙ, предназначенного для построения 8-разрядных RISC-контроллеров реального времени. Примером разнообразия возможностей ядра ТЕСЕЙ являются такие микроконтроллеры, как КР1878ВЕ1 — управляющий МК, КР1878ВЕ2 — БИС поведенческих развивающих игр или КБ5004ВЕ1 — БИС банковской интеллектуальной платёжной карты с многоуровневой системой защиты.

    Характерными особенностями микроконтроллеров семейства ТЕСЕЙ являются: гарвардская RISC-архитектура, позволяющая выполнять любую из 52 команд за два такта частоты процессора; единая система команд для всего семейства с возможностью адресации до двух операндов, находящихся в памяти; малое время реакции на прерывание и сохранение контекста; широкий диапазон конфигураций внутренних памяти команд, памяти данных и периферийных устройств.

    Микроконтроллер КР1878ВЕ1 предназначен для использования в системах управления реального времени. Он отличается малым количеством внешних выводов, низким током потребления, высокой производительностью, наличием энергонезависимой памяти данных и возможностью многократного перепрограммирования памяти команд. При необходимости и при достаточном объёме партии микроконтроллер может поставляться с масочным ПЗУ программ.

Оcновные характеристики

  • Электрически стираемое (ЭС)
    ППЗУ команд — 1К x 16 бит.
  • ОЗУ данных — 128 x 8 бит.
  • ЭСППЗУ данных — 64 x 8 бит.
  • Система команд — 52 команды.
  • Тактовая частота — 32 кГц ... 8 МГц.
  • Время выполнения любой команды — 2 такта (250 нс при частоте 8 МГц).
  • Прерываний — 7
    (начальный пуск, системная ошибка, сторожевой таймер, порт А, порт В, таймер, конец записи в ЭСППЗУ).
  • Время реакции на прерывание — 3 такта.
  • 12 (13) линий ввода/вывода с индивидуальным управлением направлением и прерыванием от любой линии.
    Максимальный ток — 25 мА.
  • 16-разрядный таймер с 8-разрядным делителем частоты.
  • Сторожевой таймер с автономным генератором.
  • Напряжение питания — VСС = (4,0...6,0) В.
  • Ток потребления — < 2 мA при VСС = 5 В и f = 5 МГц, — 50 мкА при VСС = 5 В и f = 32 кГц, — <1 мкА в режиме STOP.
  • Корпус — 18-выводной пластмассовый ДИП типа 2104.18-8.

    Микроконтроллер КР1878ВЕ1 содержит функционально законченные устройства, необходимые для локального управления широким кругом разнообразных бытовых и промышленных объектов, в том числе: центральный процессор, ЭСППЗУ команд, ОЗУ данных, ЭСППЗУ данных, сторожевой таймер, 2 порта ввода/вывода и таймер общего назначения. Обмен данными между центральным процессором, ОЗУ данных и периферийными устройствами производится по единой шине (рис. 1).

Структурная схема КР1878ВЕ1

Рис. 1. Структурная схема КР1878ВЕ1

    Микроконтроллер изготовлен по КМОП-технологии и выпускается в 18-выводном пластмассовом копусе ДИП типа 2104.18-8. По цоколевке КР1878ВЕ1 совместим с подобными микроконтроллерами фирм Microchip, Zilog и др. Это даёт возможность отечественным потребителям, перепрограммировав реализацию своих алгоритмов, заменить ранее применённые импортные микроконтроллеры на отечественные с лучшими, в ряде случаев, техническими характеристиками. А для применения в новых разработках микроконтроллер КР1878ВЕ1 просто незаменим.

Таблица 1. Описание выводов

Номер вывода Символ Назначение
17, 18, 1, 2 PA0-PA3 Линии ввода/вывода порта А
6...13 PB0-PB7 Линии ввода/вывода порта В
3 PA4/TCLC Линия ввода/вывода порта А или внешняя частота таймера
15
16
OSC1
OSC2
Задающие выводы генератора тактовой частоты
4 RST Входной сигнал установки и программирования
14 VCC Напряжение питания
5 GND Общий вывод

    Применение микроконтроллера КР1878ВЕ1 облегчается его обеспеченностью программными и аппаратными средствами автоматизации программирования и отладки, включающими как кросс-систему на основе персонального компьютера, так и резидентную систему на основе аппаратного эмулятора.

Функциональные блоки

Центральный процессор

    Центральный процессор микроконтроллера КР1878ВЕ1 предназначен для выполнения арифметических и логических преобразований 8-разрядных операндов, расположенных в памяти микроконтроллера. Архитектура процессора характеризуется разделённой памятью команд и данных. Это позволяет совместить процессы выборки команд и выборки операндов из памяти. Система команд процессора — симметричная, то есть имеются двухоперандные команды, работающие одновременно с двумя операндами. Выборка операндов из памяти данных в случае двухоперандных команд производится одновременно по двум различным шинам — данных SRC-операнда и данных DST-операнда, с отдельными шинами адресов. Запись результата в память производится также по отдельной шине записи данных. Адрес записи совмещён с адресом чтения операнда DST.

    Команды процессора имеют размерность 16 разрядов. Для обеспечения механизмов перехода к подпрограммам и прерываний программ в процессоре существует отдельный аппаратный стек глубиной в восемь адресов, где хранятся адреса возврата из подпрограмм и прерываний. В процессоре имеются служебные регистры для поддержки адресации операндов. Для сохранения значений этих регистров и слова состояния процессора при прерываниях программ и переходов к подпрограммам введён отдельный аппаратный стек данных глубиной в 16 байт. Обращения к регистрам периферийных устройств микроконтроллера происходят по тем же шинам и точно так же, как и к оперативной памяти.

    Любая из команд процессора выполняется за одинаковый период времени. Одновременно на разных стадиях выполняются три команды процессора. Условные и безусловные переходы происходят по абсолютным адресам памяти команд, что позволяет устранить потерю времени при выполнении переходов.

Принципы адресации операндов

    Все операнды команд (объекты программирования) находятся в едином адресном пространстве памяти данных. Размерность этого пространства в микроконтроллере КР1878ВЕ1 — 256 байт.

    Команда имеет одновременный доступ к 32 байт этого адресного пространства через 4 сегмента (окна) адресации (сегменты A, B, C и D) размером по 8 байт. Каждому сегменту соответствует регистр адреса сегмента, значение которого определяет местонахождение данного сегмента в пространстве адресации памяти данных.

    Регистры адресов сегментов принадлежат к категории служебных регистров процессора SR. В нём имеется 8 служебных регистров (SR0 - SR7), обращение к которым производится специальными командами процессора. Значения этих регистров можно сохранять в отдельном аппаратном стеке данных и восстанавливать из него с помощью соответствующих команд.

    Полный адрес операнда образуется слиянием сегментного индекса и текущего значения соответствующего данному сегменту регистра адреса сегмента.

    Таким образом, программист имеет доступ к четырём участкам памяти размером в 8 байт каждый. Перемещение каждого участка памяти в нужную область памяти данных производится записью адреса сегмента в соответствующий регистр адреса сегмента с помощью команды загрузки служебных регистров.

Таблица 2. Адресное пространство

Адрес16 Устройство Адрес16 Устройство
0 Регистр состояния процессора 1B, 1C Свободный адрес
1 Рабочий регистр порта А 1D Регистр управления сторожевого таймера
2 Рабочий регистр порта В 1E-37 Свободные адреса
3 Свободный адрес 38 Регистр управления ЭСППЗУ
4 Регистр управления таймером 39, 3А Регистр адреса ЭСППЗУ
5 Рабочий регистр таймера 3В-3Е Свободные адреса
6-18 Свободные адреса 3F Регистр данных ЭСППЗУ
19 Регистр конфигурации порта А 40-DF Оперативная память
Регистр конфигурации порта В CO-FF Свободные адреса

    Два старших индекса сегмента D имеют несколько иной статус и используются для полной адресации операнда в адресном пространстве памяти данных в качестве регистров косвенной адресации IR0 и IR1. Обращение команды к индексу D6 (IR0) транслируется по адресу, записанному в регистре адреса 0-го косвенного регистра — 4-м служебном регистре. Соответственно, обращение к D7 (IR1) транслируется по адресу, записанному в регистре адреса 1-го косвенного регистра — 5-м служебном регистре.

    Оба косвенных регистра обладают возможностями изменения адреса после обращения либо в сторону увеличения, либо в сторону уменьшения адреса на единицу в зависимости от режима работы косвенного регистра. Регистр IR0 имеет режим отключения, при котором адрес обращения формируется из значения регистра адреса сегмента D и индекса 6. Регистр IR1 имеет режим обращения к памяти команд. В этом режиме адрес операнда, находящегося в памяти команд, формируется из полного значения 6-го и трёх младших разрядов 7-го служебных регистров. Адресация памяти команд через IR1 производится с точностью до байта. Режим работы IR1 при адресации памяти команд автоинкрементный. То есть после обращения к текущему байту памяти команд регистр IR1 указывает на следующий байт памяти команд.

    Смена режимов работы косвенных регистров и загрузка в них адреса производится специальной командой загрузки служебных регистров.

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

Система команд

    Система команд микроконтроллера КР1878ВЕ1 включает 52 команды, объединённые в 6 групп:

  • двухоперандные команды — производят арифметические и логические операции над двумя операндами, адреса которых образуются из индексов, содержащихся в самой команде, и значений регистров адресов сегментов. Один из операндов не изменяет своего содержимого и обозначается далее src (источник). Результат операции помещается во второй операнд, обозначаемый dst (приёмник);
  • литерные команды — производят арифметические и логические операции с операндом dst и литерой const, указанной в самой команде. Результат операции помещается в операнд, обозначаемый dst (приёмник);
  • однооперандные команды — производят арифметические или логические операции над операндом, адрес которого образуется из индекса, содержащегося в самой команде, и значения регистра адреса сегмента. Результат операции помещается в тот же операнд, обозначаемый dst (приёмник);
  • команды работы со служебными регистрами и регистром состояния процессора — предназначены для безусловной установки необходимых значений регистров адресов сегментов для тех случаев, когда необходима адресация к новым переменным или регистрам ввода/вывода, не охватываемым текущими сегментами. Этой же командой загружаются регистры косвенной адресации и устанавливаются режимы их работы;
  • команды передачи управления — производят передачу управления программе, находящейся по адресу, указанному в младших десяти разрядах команды перехода, либо безусловно, либо по одному из условий перехода;
  • специальные команды — относятся к классу команд, не вписывающихся в предыдущие разделы, и предназначены в основном для управления определёнными состояниями процессора.

    Полностью система команд представлена в табл. 3. При описании системы команд приняты следующие сокращения:

s (src) — операнд источника;
d (dst) — операнд приёмника;
c (const) — константа;
p (place) — местоположение тетрады константы;
a (address) — адрес команды;
n (number) — номер служебного регистра;
b (bit) — устанавливаемое значение разряда в RS;
* — разряд РС меняется;
— разряд РС не изменяется.

Таблица 3. Система команд

Наименование команды Мнемо-ника Код команды Действие команды Состояние
S Z C oF dC
Двухоперандные команды
Пересылка MOV 0000 01ss sssd dddd src3dst * * - 0 -
Сравнение CMP 0000 10ss sssd dddd dst - src S,Z,C3 S * * * * *
Сложение ADD 0001 00ss sssd dddd dst + src3dst * * * * *
Вычитание SUB 0000 11ss sssd dddd dst - src3dst * * * * *
Логическое И AND 0001 01ss sssd dddd dst. AND.src3dst * * 0 0 0
Логическое ИЛИ OR 0001 10ss sssd dddd dst. OR.src3dst * * 0 0 0
Исключающее ИЛИ XOR 0001 11ss sssd dddd dst. XOR.src3dst * * 0 0 0
Литерные команды
Пересылка литеры MOVL 010c cccc cccd dddd const3dst * * - 0 -
Сравнение с литерой CMPL 011c cccc cccd dddd dst - const S,Z,C3RS * * * * *
Сложение с литерой ADDL 0011 00cc cccd dddd dst + sconst3dst * * * * *
Вычитание литеры SUBL 0010 11cc cccd dddd dst - sconst3dst * * * * *
Сброс разрядов BIC 0010 10pc cccd dddd NOT(const).AND.dst3dst * * 0 0 0
Установка разрядов BIS 0011 10pc cccd dddd dst. OR. tconst3dst * * 0 0 0
Инверсия разрядов BTG 0011 11pc cccd dddd dst.XOR. tconst3dst * * 0 0 0
Проверка разрядов BTT 0011 01pc cccd dddd dst.AND. tconst, S,Z3,RS * * 0 0 0
Однооперандные команды
Обмен тетрад SWAP 0000 0000 001d dddd dst(n)3dst(n+4)<4dst(n)3dst(n-4) * * 0 0 0
Смена знака NEG 0000 0000 010d dddd -dst3dst * * * * *
Инверсия всех разрядов NOT 0000 0000 011d dddd NOT(dst)3dst * * - 0 -
Логический сдвиг влево SHL 0000 0000 100d dddd dst(n)3dst(n+1), 03dst(0), dst(7)3C * * * * 0
Логический сдвиг вправо SHR 0000 0000 101d dddd dst(n+1)3dst(n), 01dst(7), dst(0)3C 0 * * 0 0
Арифметический сдвиг вправо SHRA 0000 0000 110d dddd dst(n+1)3dst(n),dst(7)3dst(7), dst(0)3C * * * 0 0
Циклический сдвиг влево RLC 0000 0000 111d dddd dst(n)3dst(n+1),C3dst(0), dst(7)3C * * * * 0
Циклический сдвиг вправо RRC 0000 0001 000d dddd dst(n+1)3dst(n), C3dst(7), dst(0)3C * * * 0 0
Сложение с переносом ADC 0000 0001 00d dddd dst + C3dst * * * * *
Вычитание переноса SBCS 0000 0001 010d dddd dst - C3dst * * * * *
Команды работы со служебными регистрами и регистром состояния
Загрузка служебных регистров LDR 0010 0ccc cccc cnnn const3reg - - - - -
Запись в служебные регистры MTPR 0000 0010 nnns ssss rc3reg - - - - -
Чтение служебных регистров MFPR 0000 0011 nnnd dddd reg3dst - - - - -
Запись в стек данных PUSH 0000 0000 0001 0nnnn reg3data stack, DSP=DSP+1 - - - - -
Чтение из стека данных POP 0000 0000 0001 1nnnn data stack3reg, DSP=DSP-1 - - - - -
Установка разрядов RS SST 0000 0001 1000 bbbb if mask(n)=1 then RS(n)=1 * * * - -
Сброс разрядов RS CST 0000 0001 1100 bbbb if mask(n)=1 then RS(n)=0 * * * - -
Проверка переполнения TOF 0000 0000 0000 0100 OF3Z - * - - -
Проверка тетрадного переноса TDC 0000 0000 0000 0101 DC3Z - * - - -
Команды передачи управления
Безусловный переход JMP 1000 00aa aaaa aaaa address3PC - - - - -
Переход к подпрограмме JSR 1001 00aa aaaa aaaa PC3stack, address3PC, ISP=ISP+1 - - - - -
Переход по Z = 0 (не равно) JNZ (JNE) 1011 00aa aaaa aaaa address3PC if Z=0 - - - - -
Переход по Z = 1 (равно) JZ (JEQ) 1010 00aa aaaa aaaa address3PC if Z=1 - - - - -
Переход по S = 0 (плюс) JNS 1100 00aa aaaa aaaa address3PC if S=0 - - - - -
Переход по S = 1 (минус) JS 1101 00aa aaaa aaaa address3PC if S=1 - - - - -
Перезод по C = 0 JNC 1110 00aa aaaa aaaa address3PC if C=0 - - - - -
Переход по C = 1 JC 1111 00aa aaaa aaaa address3PC if C=1 - - - - -
Косвенный переход IJMP 0000 0000 0000 0011 IR13PC - - - - -
Косвенный переход к подпрограмме IJSR 0000 0000 0000 0111 PC3stack, IR13PC, ISP=ISP+1 - - - - -
Возврат из подпрограммы RTS 0000 0000 0000 1100 istack3PC, ISP=ISP-1 - - - - -
Возврат из подпрограммы с битом С RTSC 0000 0000 0000 111c istack3PC c3RS(0), ISP=ISP-1 - - - - -
Возврат из прерывания RTI 0000 0000 0000 1101 istack3PC, data stack3RS * * * * *
Специальные команды
Нет операции NOP 0000 0000 0000 0000   - - - - -
Ожидание WAIT 0000 0000 0000 0001 RS(3)=1 (INT Enable) - - - - -
Останов STOP 0000 0000 0000 1000 RS(3)=1 (INT Enable) - - - - -
Сброс RESET 0000 0000 0000 0010 DSP=0, ISP=0 - - - - -
Прогон стека команд SKSP 0000 0000 0000 0110 ISP = ISP - 1 - - - - -

Временное представление потока команд

    Для повышения производительности процессора производится совмещение в потоке команд отдельных операций, выполняемых внутренними устройствами микроконтроллера. На рис. 2 показан принцип совмещения по времени различных фаз выполнения команды на примере трёх арифметических команд и одной команды перехода. Фазы выполнения команд:

  • ВК + Д — выборка и дешифрация команды;
  • ВО —- выборка операндов из памяти данных;
  • ИК — исполнительная фаза — работа АЛУ;
  • ЗР — запись результата в память данных;
  • ЗСК — перепись нового счётчика команд в случае выполненного перехода.

Временное представление потока команд

Рис. 2. Временное представление потока команд

    Выборка операндов для текущей команды и её исполнение совмещаются с выборкой и дешифрацией последующей команды. Запись результата в память данных отложена на один такт для обеспечения нормальной за-грузки информационных трактов памяти данных. Когда результат операции используется в качестве операнда для последующей команды, операнд берётся из регистра результата на выходе АЛУ. Таким образом, происходит совмещение по времени выборки и дешифрации (n+1)-ой команды с выборкой операндов и исполнительной фазой n-ой команды и записью результата (n-1)-ой команды. При обработке ситуаций, когда изменяется счётчик команд, после дешифрации команды перехода и соблюдения условия перехода происходит перепись нового счётчика команд из регистра команды в счётчик команд.

Блок ЭСППЗУ данных

    Блок ЭСППЗУ данных включает в себя накопитель данных (64 байт), накопитель 4-разрядных контрольных разрядов, схему обнаружения и исправления однократной ошибки в байте данных, 8-разрядный регистр данных хранения текущего байта, (записываемого или считываемого) и интерфейс связи с шинами чтения и записи центрального процессора. Обмен с блоком ЭСППЗУ данных осуществляется с помощью регистра управления, регистра адреса и регистра данных.

Порты ввода/вывода А и В

    Порты ввода/вывода А и В по построению однотипны и отличаются, в основном, разрядностью (5 и 8 индивидуально управляемых линий ввода/вывода, соответственно). Они предназначены для формирования на выводах PA0...PA4 и PB0...PB7 необходимых уровней напряжения, в случае, когда эти выводы используются в режиме выхода, и считывания значения уровней напряжения с этих выводов, как собственных, так и подаваемых извне, когда выводы используются в режиме входа. Возможна инициация процедуры прерывания по изменению уровня напряжения на выводах портов. 5-я линия порта А (вывод РА4) имеет второе назначение — ввод внешней частоты интервального таймера (сигнал TCLC). Задание режимов работы выводов портов и программирование прерываний производится с помощью соответствующих регистров.

Интервальный таймер-счётчик событий

    Интервальный таймер-счётчик внешних событий (далее “таймер”) предназначен для формирования определённых временных интервалов для привязки исполняемой программы к реальному времени или для подсчёта количества внешних событий на входе внешней синхронизации таймера.

    Программисту таймер доступен регистром управления и рабочим регистром. Регистр управления позволяет произвести запуск таймера, установить режим использования рабочего регистра, разрешить прерывания от таймера и обнаружить ошибочные ситуации при необработанном прерывании. По адресу рабочего регистра может быть доступен, в зависимости от состояния соответствующих разрядов регистра управления, регистр конфигурации таймера, счётный регистр или регистр интервала. Регистр конфигурации предназначен для программирования источника счётных импульсов и делителя частоты этих импульсов. 16-разрядный регистр интервала содержит значение, до которого будет производиться счёт таймера, а 16-разрядный счётный регистр содержит текущее значение подсчитанных счётных импульсов.

    Таймер производит подсчёт импульсов, поступающих с выхода схемы программируемого деления входной частоты, до значения, предварительно установленного в регистре интервала. Затем происходит сброс счётного регистра и подсчёт повторяется. По завершению счётного интервала может быть выдан сигнал прерывания на центральный процессор с вектором 3. Сигнал прерывания снимается по любому обращению к регистру управления таймером. Если сигнал прерывания не будет снят к моменту формирования следующего запроса на прерывание, в регистре управления устанавливаются разряды ошибки.

    Для использования таймера в режиме формирования интервалов времени в регистр интервала записывается необходимое значение и, разрешив прерывание, запускается таймер на счёт. В конце каждого интервала будет выдан сигнал прерывания и начнётся счёт нового интервала. Интервал можно задавать как в периодах тактовой частоты процессора CLC, так и в периодах внешней частоты, подаваемой на вход TCLC-таймера. Для использования таймера в режиме счётчика внешних событий в регистр интервала записывается нулевое значение интервала, и по значению счётного регистра определяется количество внешних событий на входе TCLC.

Сторожевой таймер

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

    Сторожевой таймер постоянно по включению питания производит подсчёт импульсов тактовой частоты, поступающих через программируемый делитель частоты на вход 8-разрядного счётного регистра. В качестве тактовых счётных импульсов берётся частота с внутреннего генератора около 50 кГц или тактовая частота с выводов OSC1 и OSC2. В первом случае счётный интервал сторожевого таймера будет зависеть от температуры окружающей среды, напряжения питания и значения коэффициента деления делителя частоты. Если за время полного пересчёта счётного регистра не будет произведена запись разряда сброса счётчика, сторожевой таймер вырабатывает сигнал немаскируемого прерывания на центральный процессор с вектором 1. Сигнал прерывания снимается по любой записи в регистр управления сторожевого таймера.

    Программирование режимов работы сторожевого таймера, сброс счётного режима, установка коэффициента делителя частоты производятся записью в регистр управления сторожевого таймера, которая происходит только после записи по его адресу характерного кода АА16. Запись в регистр управления обязательно должна производиться с нулевым значением старшего разряда записываемого байта. Если старший разряд записываемого байта равен единице, запись в регистр управления сторожевого таймера не будет произведена.

    Возможно использование сторожевого таймера в качестве дополнительного интервального таймера, в котором формирование счётных интервалов производится с помощью тактовой частоты пересчёта, коэффициента деления тактовой частоты и полного значения 8-разрядного счётного регистра. TИ = TCLC х KД х 255,5. Запуск сторожевого таймера на счёт производится записью шестого разряда единицей в регистр управления сторожевого таймера.

Специфика подключени микроконтроллера

Включение питания и пуск микроконтроллера

    Для управления пуском микроконтроллера имеется внешний вывод установки и программирования RST. Если напряжение на выводе RST имеет низкий уровень, микроконтроллер находится в состоянии установки. После подачи на этот вывод высокого уровня напряжения (+5 В) происходит запуск счётчика задержки начального пуска, отсчитывающего интервал времени, равный 210 импульсов частоты, с выхода генератора тактовой частоты процессора. После завершения отсчёта интервала задержки начального пуска центральный процессор начинает выполнять процедуру прерывания по начальному пуску с вектором прерывания, равным 0. При этом, в отличие от обычных прерываний, записей в стек команд и стек данных не происходит. Счётчик задержки начального пуска может быть отключен сбросом соответствующих разрядов в строке конфигурации микроконтроллера, записываемой при программировании микроконтроллера. Необходимо снимать сигнал RST (выставлять высокий уровень на этот вывод) в тот момент, когда питание микроконтроллера UCC имеет уровень не менее 3,5 В.

    Для выработки сигнала RST может быть применена следующая схема подключения, где:

  • R1 = 40 кОм — резистор, задающий высокий уровень на выводе RST;
  • R2 = 100 Ом ё 1 кОм — резистор, ограничивающий ток, протекающий через вывод RST;
  • С — конденсатор, задающий задержку формирования высокого уровня на выводе RST;
  • D — диод, обеспечивающий быстрый разряд конденсатора C при снятии напряжения питания.

Рис. 3

Генерация тактовой частоты

    Микроконтроллер КР1878ВЕ1 имеет внутренний генератор тактовой частоты, который может работать в одном их четырёх режимов:

  • генерация тактовой частоты с использованием внешнего кварцевого резонатора с частотами до 500 кГц;
  • генерация тактовой частоты с использованием внешнего кварцевого резонатора с частотами от 500 кГц до 8 МГц;
  • генерация тактовой частоты с использованием внешнего задающего резистора и ёмкости;
  • генерация частоты около 50 кГц с использованием внутреннего генератора;
  • режим трансляции внешней тактовой частоты.

Рис. 4

    Выбор режима работы генератора тактовой частоты осуществляется программированием соответствующих разрядов строки конфигурации микроконтроллера (рис. 4).

Система проектирования и отладки

    Микроконтроллерное ядро ТЕСЕЙ включает комплекс программных и аппаратных средств для автоматизации проектирования, отладки и аттестации программ микроконтроллеров. Комплекс включает:

  • компилятор Ассемблера микроконтроллеров ТЕСЕЙ — TESSA 0.1;
  • пакет программ отладочной среды микроконтроллеров ТЕСЕЙ;
  • аппаратный эмулятор микрокoнтроллеров ТЕСЕЙ.

TESSA 0.1 Компилятор Ассемблера ТЕСЕЙ

    Язык Ассемблер и компилятор TESSA 0.1 предназначены для разработки и отладки прикладных программ микроконтроллеров, построенных на основе ядра ТЕСЕЙ, в том числе, МК КР1878ВЕ1.

Отладочная среда ТЕСЕЙ

    Отладочная среда предназначена для разработки и отладки при помощи языка Ассемблер и компилятора TESSA 0.1 прикладных программ для микроконтроллеров, построенных на основе микроконтроллерного ядра ТЕСЕЙ.

    Oтладочная среда обеспечивает выполнение следующих функций:

  • загрузка и пуск *.SAV программ в программный или аппаратный эмулятор;
  • редактирование ОЗУ данных в программном или аппаратном эмуляторе;
  • редактирование ОЗУ команд в программном или аппаратном эмуляторе;
  • трассировка программ, работающих в программном или аппаратном эмуляторе.

    Отладка программ осуществляется либо на персональном компьютере в режиме эмуляции, либо на специалиьном аппаратном эмуляторе. Для выполнения программирования и отладки необходимы IBM-совместимый персональный компьютер и пакет программ системы.

Аппаратный эмулятор ТЕСЕЙ

    Аппаратный эмулятор (АМ) микроконтроллеров ТЕСЕЙ построен на основе специального отладочного кристалла, содержащего все основные модули микропроцессорного ядра ТЕСЕЙ. В результате, отладка программ производится практически в резидентном режиме, что и обеспечивает максимально возможное качество отладки. АМ предназначен для отладки прикладных программ любых микроконтроллеров, построенных на основе ядра ТЕСЕЙ, в том числе, микроконтроллера КР1878ВЕ1.

Программирование

    Запись разработанных программ в ЭСППЗУ команд микроконтроллера, строки конфигурации и начальных значений памяти ЭСППЗУ данных производится в режиме программирования.

    Переход микроконтроллера в режим программирования производится подачей на вывод RST высокого напряжения уровнем +12 В. Программирование микроконтроллера осуществляется с использованием выводов микроконтроллера PB0, PB1 и PB2. Программирующее устройство (программатор) может записать и проконтролировать ЭСППЗУ команд, подавая определённые последовательности сигналов на эти выводы и анализируя состояния этих выводов.

    Следует отметить, что в начале программирования происходит полное обнуление всей памяти команд, и чтение её содержимого можно осуществить только после записи в неё в пределах одного цикла программирования. Содержимое ЭСППЗУ данных и строки конфигурации останется прежним. Таким образом, полностью гарантируется конфиденциальность запрограммированной управляющей программы.

Программатор

    Для кодирования ЭСППЗУ может быть использован простейший программатор, схема которого приведена ниже (его по силам собрать любому протребителю микроконтроллеров) или выпускаемый ООО "Телесистемы" PICPROG — промышленный программатор микроконтроллеров и ЭСППЗУ, который программирует все контроллеры ТЕСЕЙ и более 500 типов других микросхем с числом выводов от 8 до 40.

Схема программатора для микроконтроллера КР1878ВЕ1

Рис. 5. Схема программатора для микроконтроллера КР1878ВЕ1

    В отличие от других программаторов, многие из которых также могут быть использованы, PICPROG позволяет программировать и верифицировать микросхемы при различных напряжениях питания, гарантируя надёжность программирования.






Реклама на сайте
тел.: +7 (495) 514 4110. e-mail:admin@eust.ru
1998-2014 ООО Рынок микроэлектроники