Ок!Закрыть
Содержимое
Корзина

Корзина пуста!


Программирование микроконтроллеров начинающим

Программирование микроконтроллеров

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

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

1.   По функциональному назначению

1.1.   Микросхемы памяти;

1.2.   Микроконтроллеры с внутренним ПЗУ;

1.3.   Микросхемы программируемой логики (программируемые матрицы).

2.   По возможности программирования

2.1.   Однократно программируемые - устройства допускающие единственный цикл программирования;

2.2.   Многократно программируемые (перепрограммируемые) - устройства допускающие множество циклов программирования (перепрограммирования). 

3.   По допустимым способам программирования

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

3.2.   Микрocхeмы, поддерживающие режим внутрисхемного программирования (“ISP mode”), и программируемые непосредственно в плате пользователя.
Подобные микрocхeмы предполагают выполнение необходимой операции (программирование, стирание, чтение, верификация и т.п.) непосредственно в плате пользователя. Все действия по программированию производятся с помощью внешнего программатора, определенным образом подключенного к плате пользователя. При этом плата пользователя должна быть разработана с учетом специфических требований данного режима.

3.3.   Микросхемы, поддерживающие режим внутреннего самопрограммирования. Подобные микрocхeмы допускают выполнение необходимой операции (запись, стирание, чтение, верификация и т.п.) непосредственно в устройстве пользователя, без использования какого либо программатора. При этом устройство пользователя должно быть разработано с учетом специфических требований данного режима.

Программирование микроконтроллера подразумевает заполнение внутренней памяти микроконтроллера нужной информацией. В зависимости от типа программируемого микроконтроллера, внутренняя память микроконтроллера обладает своей структурой и организацией. В общем случае, внутренняя память микроконтроллера это: память данных, память программ, регистры специального назначения (fuse - биты) - содержимое которых определяет режимы работы микроконтроллера и/или его периферии. Таким образом: программирование микроконтроллера - это заполнение каждой области памяти своей специфической информацией.

Каждый программируемый микроконтроллер обладает своим индивидуальным набором допустимых режимов:
программирование (запись), чтение, стирание, защита от чтения, защита от программирования и т.п.

Некоторые программируемые микроконтроллеры не имеют отдельного режима «стирание». Для них стирание прежней информации в памяти происходит в теневом режиме, при каждом новом цикле программирования микроконтроллера; 

Некоторые программируемые микроконтроллеры поддерживают различные режимы ограничения доступа. Выбор режима ограничения доступа производится при программировании микроконтроллера. В зависимости от выбранного режима, либо все ПЗУ микроконтроллера, либо его определенные части могут быть:

  1. - защищены от возможности записи/дозаписи;
  2. - защищены от возможности считывания содержимого извне. При попытке считать информацию, защищенный микроконтроллер будет выдавать либо «мусор», либо «все 0», либо «все 1».

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

  1. PROM (Programmable Read-Only Memory) - программируемая пользователем энергонезависимая память (ПЗУ).
  2. EPROM (Erasable Programmable Read-Only Memory) - перепрограммируемое ПЗУ. Стирание содержимого производится при помощи ультрафиолетовых лучей, после облучения подобное ПЗУ готово к новому циклу записи информации (программированию). Устаревший тип памяти.
  3. EEPROM (Electrically Erasable Programmable Read-Only Memory) - электрически стираемое перепрограммируемое ПЗУ. Память такого типа может стираться и заполняться данными многократно, от несколько десятков тысяч раз до миллиона.
  4. FLASH (Flash Memory) - одна из технологических разновидностей энергонезависимой перезаписываемой памяти.
  5. NVRAM (Non-volatile memory) - «неразрушающаяся» память, представляющая собой ОЗУ со встроенным источником электропитания. По своей функциональности для пользователя – аналогична традиционному ПЗУ.
  6. PLD (Programmable Logic Device) - Программируемая логическая интегральная схема. (ПЛИС).
  7. MCU (Microcontroller Unit) – микроконтроллер.