Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Внутрисхемное программирование 1 страница




Индивидуальная метка

Защита программы от копирования

 

Программа, записанная в ЭППЗУ или в ПЗУ, может быть защищена от считывания при помощи установки в «0» бита защиты CP в слове конфигурации. В режиме защиты программы содержимое памяти программы не может быть прочитано в исходном виде, тем самым невозможно реконструировать записанную программу. Кроме того, при установленном бите защиты невозможно допрограммировать контроллер.

 

 

Микроконтроллер имеет четыре специальных адреса (2000h…2003h), не являющиеся частью памяти программы. Они предназначены для хранения идентификационного кода (ID) пользователя, контрольной суммы или другой информации. Как и слово конфигурации, они могут быть прочитаны или записаны только с помощью программатора. Программно эти адреса недоступны.

Для обеспечения возможности чтения одинаковой информации как в обычном режиме, так и в режиме с установленным битом защиты от считывания рекомендуется использовать только четыре младших бита по каждому адресу для хранения кода ID. Старшие четыре бита рекомендуется устанавливать в «1».

 

 

Микроконтроллер может быть запрограммирован непосредственно в готовом устройстве. Для этого требуется два вывода для подключения тактового сигнала CLK и данных DATA и три вывода для питающего напряжения , программирующего напряжения и общего вывода GND. Эта возможность позволяет изготавливать устройства с незапрограммированными микроконтроллерами, занося в них код программы непосредственно перед продажей. Таким способом можно обеспечить использование самой последней версии программного обеспечения, а также учесть особенности конкретного потребителя.

Переход в режим программирования происходит по переходу сигнала от логической единицы до напряжения программирования (+ 12 В), когда на выводах RB6 и RB7 установлен низкий уровень. Вывод RB6 используется в качестве тактового сигнала, а вывод RB7 – в качестве двунаправленного разряда данных. В режиме программирования разряды RB6 и RB7 имеют на входе триггеры Шмитта.

 

Система команд микроконтроллера PIC16F84

 

Каждая команда микроконтроллера представляет собой 14‑разрядное слово, содержащее поле кода операции и поле операндов. Система команд PIC16F84 приведена в таблице 7. Она включает в себя команды работы с байтами, команды работы с битами, команды передачи управления и операции с константами. Форматы команд показаны на рисунке 15.

Для команд работы с байтами «f» обозначает регистр, с которым производится действие, а бит «d» определяет регистр назначения. При «d» = 0 результат помещается в регистр W, при «d» = 1 результат помещается в регистр «f», заданный в команде.


 

Команды работы с байтами
         
Код операции d f
d = 0 для назначения W
d = 1 для назначения f
f = 7-разрядный адрес регистра
Команды работы с битами
    9 7      
Код операции b f
b = 3-разрядный номер бита
f = 7-разрядный адрес регистра
Команды управления и операции с константами
       
Код операции k
k = 8-разрядное значение
                     

 

Рисунок 15 – Форматы команд микроконтроллера PIC16F84

 

Для команд работы с битами «b» обозначает номер бита, участвующего в команде, а «f» – регистр, в котором этот бит расположен.

Для команд управления и операций с константами «k» обозначает 8-ми или 11-битовую константу или идентификатор.

Все команды выполняются в течение одного командного цикла, кроме следующих двух случаев:

- переход по проверке условия, если результат проверки условия – истина;

- изменение счетчика команд как результат выполнения команды.

В этих случаях команда выполняется за два цикла с выполнением второго цикла как NOP. Один командный цикл состоит из четырех периодов генератора. Таким образом, для генератора с частотой 4 МГц время выполнения команды составит 1 мкс. Если выполняется переход по проверке условия или в результате выполнения команды изменился счетчик команд, время выполнения этой команды при тактовой частоте 4 МГц составит 2 мкс.

 


Таблица 7 – Система команд микроконтроллера PIC16F84

 

Мнемоника Операнды Описание Флаги
       
Команды работы с байтами
ADDWF f, d Сложить регистр и W C, DC, Z
ANDWF f, d Выполнить логическое И регистра и W Z
CLRF f Обнулить регистр Z
CRLW   Обнулить W Z
COMF f, d Инвертировать регистр Z
DECF f, d Декрементировать регистр Z
DECFSZ f, d Декрементировать регистр и пропустить следующую команду, если результат равен 0  
INCF f, d Инкрементировать регистр Z
INCFSZ f, d Инкрементировать регистр и пропустить следующую команду, если результат равен 0  
IORWF f, d Выполнить логическое ИЛИ с регистром и W Z
MOVF f, d Переместить регистр в W Z
MOVWF f Переместить W в регистр  
Команды работы с байтами
NOP   Нет операции  
RLF f, d Сдвинуть регистр влево через флаг переноса C
RRF f, d Сдвинуть регистр вправо через флаг переноса C
SUBWF f, d Вычесть W из регистра C, DC, Z
SWAPF f, d Поменять тетрады регистра местами  
XORWF f, d Выполнить логическое ИСКЛЮЧАЮЩЕЕ ИЛИ с регистром и W Z
Команды работы с битами
BCF f, b Сбросить бит регистра  
BSF f, b Установить бит регистра  
BTFSC f, b Пропустить, если сброшен бит в регистре  
BTFSS f, b Пропустить, если установлен бит в регистре  
         

Окончание таблицы 7

 

       
Команды работы с константами
ADDLW k Сложить W и константу C, DC, Z
ANDLW k Выполнить логическое И с константой и W Z
IORLW k Выполнить логическое ИЛИ константой и W Z
MOVLW k Записать константу в W  
SUBLW k Вычесть константу из W C, DC, Z
XORLW k Выполнить логическое ИСКЛЮЧАЮЩЕЕ ИЛИ с константой и W Z
Команды передачи управления
CALL k Перейти на подпрограмму  
GOTO k Перейти на метку  
RETFIE   Вернуться из прерывания  
RETURN   Вернуться из подпрограммы  
RETLW k Вернуться из подпрограммы и записать константу в W  
CLRWDT   Сбросить сторожевой таймер TO, PD
SLEEP   Войти в режим пониженного энергопотребления TO, PD
         

 

ОРГАНИЗАЦИЯ ПАМЯТИ МИКРОПРОЦЕССОРНЫХ СИСТЕМ

 

Общие сведения и основные параметры запоминающих устройств

 

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

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

В наиболее развитой иерархии памяти ЭВМ можно выделить следующие уровни:

- регистровые ЗУ, находящиеся в составе процессора или других устройств (т.е. внутренние для этих блоков), благодаря которым уменьшается число обращений к другим уровням памяти, реализованным вне процессора и требующим большего времени для операций обмена информацией;

- Кэш-память, служащая для хранения копий информации, используемой в текущих операциях обмена. Высокое быстродействие Кэш-памяти повышает производительность ЭВМ;

- основная память (оперативная, постоянная, полупостоянная), работающая в режиме непосредственного обмена с процессором и по возможности согласованная с ним по быстродействию. Исполняемый в текущий момент фрагмент программы обязательно находится в основной памяти;

- специализированные виды памяти, характерные для некоторых специфических архитектур (многопортовые, ассоциативные, видеопамять и др.);

- внешняя память, хранящая большие объемы информации. Эта память обычно реализуется на основе устройств с подвижным носителем информации (магнитные и оптические диски, магнитные ленты и др.).

Рассмотрим основные параметры ЗУ. К ним относятся:

- информационная емкость М – максимально возможный объем хранимой информации. Выражается в битах или словах (в частности, в байтах). Бит хранится запоминающим элементом (ЗЭ), а слово – запоминающей ячейкой (ЗЯ), т.е. группой ЗЭ, к которым возможно лишь одновременное обращение. Добавление к единице измерения множителя «К» (кило) означает умножение на 210 = 1 024, а множителя «М» (мега) – умножение на 220 = 1 048 576.

- организация ЗУ – произведение числа хранимых слов k на их разрядность m. Видно, что это дает информационную емкость ЗУ M = k ´ m, однако при одной и той же информационной емкости организация ЗУ может быть различной. Например, ЗУ с информационной емкостью М = 64 Кбайт может иметь организацию (8 K ´ 8) байт = (4 K ´ 16) байт и т.д., поэтому организация является самостоятельным важным параметром ЗУ.

- быстродействие (производительность) ЗУ оценивают временами считывания, записи и длительностями циклов чтения/записи. Время считывания – интервал между моментами появления сигнала чтения и слова на выходе ЗУ. Время записи – интервал после появления сигнала записи, достаточный для установления ЗЯ в состояние, задаваемое входным словом. Минимально допустимый интервал между последовательными чтениями или записями образует соответствующий цикл. Длительности циклов могут превышать времена чтения или записи, так как после этих операций может потребоваться время для восстановления необходимого начального состояния ЗУ.

Время чтения, записи и длительности циклов – традиционные динамические параметры ЗУ. Для некоторых современных ЗУ они должны быть дополнены новыми. Причиной является более сложный характер доступа к хранимым данным, когда обращение к первому слову некоторой группы слов (пакета) требует большего времени, чем обращение к последующим. Для таких режимов вводят параметр времени доступа при первом обращении и темпа передач для последующих слов пакета.

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

Один из возможных наборов сигналов ЗУ (рисунок 16) включает следующие сигналы:

 

 

Рисунок 16 – Типичные сигналы ЗУ

 

- А – адрес, разрядность которого n определяется числом ячеек ЗУ, т.е. максимально возможным числом хранимых в ЗУ слов;

- ( ) или ( ), который разрешает или запрещает работу данной микросхемы;

- ( ) задает выполняемую операцию (при единичном значении – чтение, при нулевом – запись);

- DI и DO (Data Input) и (Data Output) – шины входных и выходных данных, разрядность которых m определяется организацией ЗУ (разрядностью его ячеек). В некоторых ЗУ эти линии объединены.

Для ЗУ характерна такая последовательность сигналов. Прежде всего подается адрес, чтобы последующие операции не коснулись какой-либо другой ячейки, кроме выбранной. Затем разрешается работа микросхемы сигналом ( ) и подается сигнал чтения/записи (взаимное положение сигналов и для разных ЗУ может быть различным).

Кроме рассмотренных параметров для ЗУ, используется и ряд других (уровни напряжений, токи, емкости выводов, температурный диапазон и т.д.), которые традиционны для цифровой схемотехники. Исключение составляет свойство энергонезависимости, т.е. способность ЗУ сохранять данные при отключении напряжения питания. Энергонезависимость может быть естественной, т.е. присущей самим ЗЭ, или искусственной, достигаемой введением резервных источников питания, автоматически подключаемых к накопителю ЗУ при снятии основного питания.

 

Классификация ЗУ

В зависимости от способа доступа к данным ЗУ делятся на адресные, последовательные и ассоциативные (рисунок 17).

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

Адресные ЗУ делятся на RAM (Random Access Memory) и ROM (Read-Only Memory). Синонимы термина RAM: ОЗУ (оперативные ЗУ). Оперативные ЗУ хранят данные, участвующие в обмене при исполнении текущей программы, которые могут быть изменены в произвольный момент времени. Запоминающие элементы ОЗУ, как правило, не обладают энергонезависимостью.

В ROM (эквивалент – ПЗУ, т.е. постоянные ЗУ) содержимое либо вообще не изменяется, либо изменяется, но редко и в специальном режиме, для рабочего режима это «память только для чтения».

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

Регенерация данных в динамических ОЗУ осуществляется с помощью специальных контроллеров. Разработаны также ОЗУ с динамическими запоминающими элементами, имеющие внутреннюю встроенную систему регенерации, у которых внешнее поведение относительно управляющих сигналов становится аналогичным поведению статических ОЗУ. Такие ОЗУ называют квазистатическими.

Статические ОЗУ называются SRAM (Static RAM), а динамические – DRAM (Dynamic RAM).

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

Динамические ОЗУ характеризуются наибольшей информационной емкостью и невысокой стоимостью, поэтому именно они используются как основная память ЭВМ. Поскольку от этой памяти требуется высокое быстродействие, разработаны многочисленные архитектуры повышенного быстродействия, перечисленные в классификации (рисунок 17).

 

Рисунок 17 – Классификация полупроводниковых ЗУ


Статические ОЗУ в 4…5 раз дороже динамических и приблизительно во столько же раз меньше по информационной емкости. Их достоинством является высокое быстродействие, а типичной областью использования – схемы Кэш-памяти.

Постоянные ЗУ делятся на следующие разновидности:

- постоянные ЗУ типа ROM (M) программируются в процессе изготовления методами интегральной технологии с помощью масок, поэтому их называют масочными. Для потребителя это в полном смысле слова постоянная память, так как изменить ее содержимое он не может;

- постоянные ЗУ с однократной записью пользователемпрограммируемые ПЗУ (PROM). В обозначении присутствует буква P (от Programmable);

- репрограммируемые постоянные ЗУ (EPROM и EEPROM), содержимое которых может быть заменено путем стирания старой информации и записи новой. В EPROM стирание выполняется с помощью облучения кристалла ультрафиолетовыми лучами, а в EEPROM – электрическими сигналами.

Английские названия расшифровываются как Electrically Programmable ROM и Electrically Erasable Programmable ROM. Программирование PROM и репрограммирование EPROM и EEPROM производятся в обычных лабораторных условиях с помощью либо специальных программаторов, либо специальных режимов без специальных приборов (для EEPROM).

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

Запись данных и для EPROM, и для EEPROM производится электрическими сигналами.

В ЗУ с последовательным доступом записываемые данные образуют некоторую очередь. Считывание происходит из очереди слово за словом либо в порядке записи, либо в обратном порядке.

Прямой порядок считывания имеет место в буферах FIFO с принципом «первый пришел – первый вышел» (First In – First Out), а также в файловых и циклических ЗУ.

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

В циклических ЗУ слова доступны одно за другим с постоянным периодом, определяемым емкостью памяти. К такому типу среди полупроводниковых ЗУ относится видеопамять (VRAM).

Видеопамять работает циклично, на ее выходе последовательно в порядке сканирования экрана монитора лучом появляются коды, задающие параметры светимости (цвет, яркость) элементарных точек экрана – пикселов. Текущее изображение на мониторе, т.е. кадр, представлено последовательностью слов, длина которой равна числу пикселов экрана. Слово, соответствующее одному пикселу, может иметь разрядность от 8 (для черно-белых мониторов) до 24 (для полноцветного режима).

Считывание в обратном порядке свойственно стековым ЗУ, для которых реализуется принцип «последний пришел – первый вышел». Такие ЗУ называют буферами LIFO (Last In – First Out).

Время доступа к конкретной единице хранимой информации в последовательных ЗУ представляет собою случайную величину. В наихудшем случае для такого доступа может потребоваться просмотр всего объема хранимых данных.

Ассоциативный доступ реализует поиск информации по некоторому признаку, а не по адресу или месту в очереди. В общем случае все хранимые в памяти слова одновременно проверяются на соответствие признаку, например, на совпадение определенных полей слов (тегов – от английского слова tag) с признаком, задаваемым входным словом (теговым адресом). На выход выдаются слова, удовлетворяющие признаку. Ассоциативный доступ в современных ЭВМ в основном применяется для построения Кэш-памяти.

Технико-экономические параметры ЗУ существенно зависят от их схемотехнологической реализации.

 

Основные структуры адресных запоминающих устройств

Адресные ЗУ представлены в классификации статическими и динамическими оперативными устройствами и памятью типа ROM. Многочисленные варианты этих ЗУ имеют много общего с точки зрения структурных схем, что делает более рациональным изучение некоторых обобщенных структур с последующим описанием запоминающих элементов для различных ЗУ.

Общность структур особенно проявляется для статических ОЗУ и памяти типа ROM. Структуры динамических ОЗУ имеют свою специфику. Для статических ОЗУ и памяти типа ROM наиболее характерны структуры 2D, 3D и 2DM.

В структуре 2D запоминающие элементы организованы в прямоугольную матрицу размерностью M = k ´ m, где M – информационная емкость памяти в битах; k – число хранимых слов (число строк матрицы); m – их разрядность (число колонок матрицы).

Дешифратор адресного кода при наличии разрешающего сигнала активизирует одну из выходных линий, разрешая одновременный доступ ко всем элементам выбранной строки, хранящей слово, адрес которого соответствует номеру строки. Элементы одного столбца соединены вертикальной линией – внутренней линией данных (разрядной линией). Элементы столбца хранят одноименные биты всех слов. Направление обмена (чтение или запись) определяется уровнем сигнала .

Структура типа 2D применяется лишь в ЗУ малой информационной емкости, так как при росте емкости проявляется несколько ее недостатков, наиболее очевидным из которых является чрезмерное усложнение дешифратора адреса (число выходов дешифратора равно числу хранимых слов).

Структура 3D позволяет резко упростить дешифраторы адреса с помощью двухкоординатной выборки запоминающих элементов. Принцип двухкоординатной выборки поясняется на примере ЗУ типа ROM, реализующего только операцию чтения данных (рисунок 18, а).

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

Уже для ЗУ небольшой емкости видно, что для структуры 2D при хранении 1 K слов потребовался бы дешифратор с 1 024 выходами, тогда как для структуры типа 3D нужны два дешифратора с 32 выходами каждый. Недостатком структуры 3D в первую очередь является усложнение запоминающих элементов, имеющих двухкоординатную выборку.

Структура типа 3D, показанная на рисунке 18, а с одноразрядной организацией, может применяться и в ЗУ с многоразрядной организацией (рисунок 18, б). В этом случае несколько матриц управляются от двух дешифраторов, относительно которых они включены параллельно. Каждая матрица выдает один бит адресованного слова, а число матриц равно разрядности хранимых слов. Структуры типа 3D имеют также довольно ограниченное применение, поскольку в структурах типа 2DM (2D модифицированная) сочетаются достоинства обеих рассмотренных структур: упрощается дешифрация адреса и не требуются запоминающие элементы с двухкоординатной выборкой.

ЗУ типа ROM структуры 2DM (рисунок 19) для матрицы запоминающих элементов с адресацией от дешифратора DCX имеет как бы характер структуры 2D: активный выход дешифратора выбирает целую строку. Однако, в отличие от структуры 2D, длина строки не равна разрядности хранимых слов, а многократно ее превышает. При этом число строк матрицы уменьшается и, соответственно, уменьшается число выходов дешифратора. Для выбора одной из строк служат не все разряды адресного кода, а их часть An–1…Ak. Остальные разряды адреса (от Ak–1 до A0) используются, чтобы выбрать необходимое слово из того множества слов, которое содержится в строке. Это выполняется с помощью мультиплексоров, на адресные входы которых подаются разряды Ak–1…A0. Длина строки равна m2k, где m – разрядность хранимых слов, а k – число разрядов адреса A2. Из каждого «отрезка» строки длиной 2k мультиплексор выбирает один бит, на выходах мультиплексоров формируется выходное слово. По разрешению сигнала , поступающего на входы управляемых буферов с тремя состояниями, выходное слово передается на внешнюю шину.




Поделиться с друзьями:


Дата добавления: 2015-03-29; Просмотров: 515; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.062 сек.