на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Работа микроконтроллера и его программирование

Работа микроконтроллера и его программирование

Работа микроконтроллера и его программирование

Программирование микроконтроллера заключается в записи:

¦ кодов команд программы и констант в FlashROM;

¦ кодов исходных данных в EEPROM;

¦ требуемых значений установочных битов (Fuse Bits);

¦ требуемых значении битов защиты (Lock Bits).

В микроконтроллерах, поступающих в продажу, во всех ячейках FlashROM записан код $FFFF, во всех ячейках EEPROM -- код $FF, биты защиты имеют единичное значение, а установочные биты могут иметь разные значения. Исходные значения установочных битов у микроконтроллеров разных типов указаны в приложении П6. Кроме того, в трех специальных ячейках памяти записаны сигнатурные байты, определяющие тип микроконтроллера.

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

В микроконтроллерах семействах AVR имеются два бита защиты -- LB1 и LB2. При единичном значении обоих битов возможны и запись, и чтение кодов. После программирования бита LB1 (LB1=O) дальнейшая запись кодов в FlashROM и EEPROM и изменение значения установочных битов невозможны. После программирования бита LB2 (LB1=O, LB2 = 0) невозможно также чтение кодов, записанных в FlashROM и EEPROM, и значений установочных битов.

При перепрограммировании микроконтроллера (программировании микроконтроллера, ранее прошедшего программирование) необходимо предварительно "стереть" прежнюю запись.

При стирании во всех ячейках FlashROM и EEPROM восстанавливаются коды $FFFF и $FF соответственно, биты защиты принимают единичное значение, а установочные биты и сигнатурные байты остаются без изменения. Допускается выполнить до 1000 циклов "стирание-запись" для ячеек FlashROM и до 100000 циклов для ячеек EEPROM.

Запись и чтение кодов при программировании выполняются побайтно. Ввод и вывод битов в байте могут выполняться параллельно или последовательно.

В микроконтроллерах семейства AVR реализуются следующие способы программирования:

1. Параллельное программирование с использованием дополнительного источника напряжения +12 В (High-Voltage Parallel Programming, HVPP);

2. Последовательное программирование с использованием дополнительного источника напряжения +12 В (High-Voltage Serial Programming, HVSP);

3. Последовательное программирование без использования дополнительного источника напряжения {Low-Voltage Serial Programming, LVSP).

Самопрограммирование (Self-Programming, SLFP). Возможность использования названных способов программирования в микроконтроллерах разных типов отмечена знаком "+" в табл. 1.

Программирование с использованием дополнительного источника напряжения (HVPP и HVSP) выполняется с помощью программатора до установки микроконтроллера в аппаратуре, где ему предстоит работать. Последовательное программирование без использования дополнительного источника напряжения (LVSP) может выполняться после установки микроконтроллера в аппаратуре (In-System Programming). Программирование по способу LVSP возможно при нулевом значении установочного бита SPIEN.

При программировании по способу LVSP микроконтроллер находится в рабочем состоянии, значения напряжения питания и тактовой частоты лежат в пределах, установленных для микроконтроллера данного типа (приложение Ш). Вывод RESET соединен с шиной GND. Ввод и вывод байтов при программировании выполняются с использованием трех выводов - MOSI, MISO и SCK.

Таблица 1

Тип МК

Способ программирования

Выводы порта

SPI

HVPP

HVSP

LVSP*

SLFP

MOSI

MISO

SCK

t11

+

t12

+

+

PBO

PB1

PB2

t15

+

+

PBO

PB1

PB2

2323

+

+

PBO

PB1

PB2

2343

+

+

PBO

PB1

PB2

1200

+

+

PB5

PB6

PB7

2313

+

+

PB5

PB6

PB7

t28

+

4433

+

+

PB3

PB4

PB5

8515

+

+

PB5

PB6

PB7

8535

+

+

PB5

PB6

PB7

m163

+

+

+

PB5

PB6

PB7

m103

+

+

PB2**

PB3"

PB1

* -- выполняется при SPIEN = 0;

1 -- при программировании RXD и TXD

В микроконтроллерах, имеющих последовательный порт ввода-вывода SPI (табл. 1), используются выводы этого порта. В микро-Контроллерах без порта SPI находится вспомогательный порт SPI, работающий только при программировании в режиме ведомого устройства. Функции выводов MOSI, MISO и SCK выполняют выводы параллельных портов ввода-вывода.

Выводы микроконтроллера, используемые в качестве входов MOSI и SCK и выхода MISO у микроконтроллеров разных типов указаны в табл. 1. В микроконтроллере типа m10З вместо выводов MOST и MISO используются выводы RXD и TXD соответственно.

У микроконтроллеров типа ml63 и ml03 запись байтов в FlashROM выполняется за два этапа. На первом этапе байты записываются в буферное запоминающее устройство. На втором этапе выполняется перепись всех кодов из буферного запоминающего устройства в страницу FlashROM. Страница у микроконтроллеров типа т163 и ml03 имеет емкость 128 и 256 байтов соответственно.

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

1) разрешение LVSP (Programming Enable);

2) стирание записи (Chip Erase);

3) запись байта в FlashROM (Write Program Memory);

4) запись байта в буферные ЗУ (Load Flash Page);

5) перепись из буферного ЗУ в FlashROM (Write Flash Page);

6) чтение байта из FlashROM (Read Program Memory);

7) запись байта в EEPROM (Write EEPROM);

8) чтение байта из EEPROM (Read EEPROM);

9) запись битов защиты (Write Lock Bits);

10) чтение битов защиты (Read Lock Bits);

11) запись установочных битов (Write Fuse Bits);

12) чтение установочных битов (Read Fuse Bits);

13) чтение сигнатурного байта (Read Signature Byte);

14) чтение калибровочного байта (Read Calibration Byte).

Операции №№ 10 и 12 у микроконтроллеров некоторых типов

объединены в одну операцию. При выполнении операции "Запись байта в EEPROM" автоматически перед записью выполняется стирание соответствующей ячейки EEPROM.

Операции №№ 1, 2, 6, 7, 8, 9, 13 выполняются в микроконтроллерах всех типов. Возможность выполнения других операций у микроконтроллеров разных типов отмечена знаком "+" в табл. 2.

Таблица 2

Тип МК

t12

t15

2323

2343

1200

2313

4433

8515

8535

m163

m103

Write

Program Memory

+

+

+

+

+

+

+

+

+

Load

Flash Page

+

+

Write

Flash Page

+

+

Read

Lock Bits

+

+

+

+

+

+

+

+

Write

Fuse Bits

+

+

+*

+*

+*

+*

+*

+*

Read

Fuse Bits

+

+

+

+

+

+

+

+

Read

Calibration Byte

+

+

+

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

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

При выполнении операции чтения одновременно с вводом одного из байтов выводится считанный байт через выход MISO. Байты вводятся и выводятся, начиная со старшего бита. Частота следования импульсов на входе SCK должна быть не более 1/4 частоты тактового сигнала микроконтроллера. Сигнал на входе SCK при отсутствии импульсов должен иметь низкий уровень.

После завершения программирования по способу LVSP при размыкании ключа К микроконтроллер переходит к выполнению записанной программы, начиная с команды, записанной но адресу $0000.

В микроконтроллере типа m103 программирования но способу LVSP может выполняться при высоком уровне напряжения на входе RESET, если при подаче напряжения питания вывод PEN был соединен с шиной GND, и это соединение сохранялось до конца программирования.

Страницы: 1, 2



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.