Мегаобучалка Главная | О нас | Обратная связь


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



2016-01-26 935 Обсуждений (0)
Внутрисхемное программирование 0.00 из 5.00 0 оценок




Программатор xxxProg генерирует все необходимые сигналы, необходимые для программирования микросхем в плате пользователя.

Программирование микросхем в плате пользователя осуществляется с помощью специальных адаптеров. Название адаптера указано в окне Chip Information. Схемы всех адаптеров представлены в файле adapters.doc поставки.

Требования при подключении программатора к плате пользователя:

 

· подключение должно осуществляться в строгом соответствии cо

схемой соответствующего адаптера (см. файл adapters.doc),

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

чтобы не оказывать шунтирующего влияния на логические сигналы

программатора.

· устройство пользователя должно предусматривать (если это

необходимо) возможность подачи со стороны программатора напряжения

программирования, превышающего напряжение питания.

 

Подача напряжения питания на плату пользователя.

Возможны два варианта:

· Подача питания от программатора. В этом случае необходимо иметь

ввиду, что нагрузочная способность источника питания программатора

ограничена током 80 мА. Источник питания программатора способен работать

на емкостную нагрузку, которая не должна превышать 50 мкФ.

· Подача питания на плату пользователя от внутреннего источника. В

этом случае, питание от программатора на плату пользователя подаваться

не должно. Необходимо иметь ввиду, что логические сигналы

со стороны программатора имеют высокий уровень, соответствующий его

напряжению питания.

 

ВНИМАНИЕ: категорически запрещается подавать питание на плату пользователя одновременно от программатора и от внутреннего источника.

Электрические характеристики сигналов программатора:

· Логические сигналы имеют внутреннее сопротивление 470 Ом.

· Нагрузочную способность напряжения питания - 80 мА.

· Нагрузочную способность напряжения программирования - 80 мА.

ВНИМАНИЕ:тщательно проверяйте правильность подключения программатора

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

строя аппаратуры программатора и платы пользователя.

 

Для того, чтобы максимально уменьшить настройку xxxProg после старта, отладчик сохраняет свое состояние в конфигурационных файлах при завершении своей работы. Можно также любой момент принудительно сохранить конфигурационные файлы, воспользовавшись меню главного окна "File", "Configuration files". Возможно хранить по несколько экземпляров файлов конфигурации, предназначенных для отладки различных программ и подгружать их "на ходу".

Существует два типа конфигурационных файлов, которыми можно манипулировать независимо:

· файл конфигурации экрана и опций отображения (Desktop). В нем сохраняется информация о положении, размерах, цветах, шрифтах всех окон отладчика.

· файл опций (Options). Он содержит информацию о различных опциях: выбранном типе процессора, точках останова, опциях отладки и т.п.

При завершении своей работы xxxProg записывает на диск файл сессии (Session), где запоминает, какие файлы Desktop и Options нужно будет загружать при последующем старте, т.к. можно сохранить эти файлы, придав им произвольные имена. Файл сессии сохраняется в текущей директории, остальные файлы - там, откуда были загружены или где последний раз сохранены.

При выходе в текущей директории записывается также файл history, куда помещается информация обо всех строках, введенных в диалогах.

 

 

32 битные микроконтроллеры

 

 

Лекция 9 Отличительные особенности микроконтроллеров AVR

Использована AVR расширенная RISC архитектура

Мощный набор из 121 команды, большинство которых выполняется за один машинный цикл

Емкость внутрисистемно программируемой Flash памяти 64 Кбайт (ATmega603/L) и 128 Кбайт (ATmega103/L), 1000 циклов стирания/записи

SPI интерфейс внутрисистемного программирования

Емкость встроенной EEPROM 2 Кбайт (ATmega603/L) и 4 Кбайт (ATmega103/L), 100000 циклов стирания/записи

Встроенная RAM емкостью 4 Кбайт

32 8-разрядных регистра общего назначения, набор регистров управления периферией

32 программируемых линии I/O, 8 линий выхода, 8 линий входа

Программируемые последовательные UART и SPI интерфейсы

Диапазон напряжений питания от 2,7 В до 6,0 В (ATmega603L/ ATmega103L) и от 4,0 В до 6,0 В (ATmega603/ ATmega103)

Диапазон тактовых частот от 0 до 4 МГц (ATmega603L/ ATmega103L) и от 0 до 6 МГц (ATmega603/ ATmega103)

Производительность до 6 MIPS при частоте 6 МГц

Встроенная система реального времени с отдельным генератором

Два 8-разрядных таймера/счетчика с отдельным предделителем и ШИМ

16-разрядный таймер/счетчик с отдельным предделителем, режимами захвата/ сравнения и двойным ШИМ с разрядностью 8, 9 или 10 разрядов

Программируемый сторожевой таймер с встроенным генератором

Встроенный аналоговый компаратор

8-канальный 10-разрядный аналого-цифровой преобразователь

Режимы энергосбережения Idle, Power Save и Power Down

Программная установка тактовой частоты

Программная блокировка защиты программных средств

 

Назначение выводов

VCC - Напряжение питания
GND - Земля
Port A (PA7..PA0) - 8-разрядный двунаправленный порт I/O. К выходам порта могут быть подключены встроенные нагрузочные резисторы (отдельно к каждому разряду). Выходные буферы обеспечивают втекающий ток 20 мА и способны напрямую управлять LED индикатором. При использовании выводов порта в качестве входов и установке внешним сигналом в низкое состояние, ток будет вытекать только при подключенных встроенных нагрузочных резисторах. Порт A, при наличии внешней SRAM, используется в качестве мультиплексируемой шины адреса/данных.
Port B (PB7. .PB0) - 8-разрядный двунаправленный порт I/O со встроенными нагрузочными резисторами. Выходные буферы обеспечивают втекающий ток 20 мА. При использовании выводов порта в качестве входов и установке внешним сигналом в низкое состояние, ток будет вытекать только при подключенных встроенных нагрузочных резисторах. Порт B используется также при реализации различных специальных функций.
Port C (PC7. .PC0) - 8-разрядный порт выхода. Выходные буферы обеспечивают втекающий ток 20 мА. Порт C используется также как выходы адреса при использовании внешней SRAM.
Port D (PD7. .PD0) - 8-разрядный двунаправленный порт I/O со встроенными нагрузочными резисторами. Выходные буферы обеспечивают втекающий ток 20 мА. При использовании выводов порта в качестве входов и установке внешним сигналом в низкое состояние, ток будет вытекать только при подключенных встроенных нагрузочных резисторах.
Port E (PE7..PE0) - 8-разрядный двунаправленный порт I/O со встроенными нагрузочными резисторами. Выходные буферы обеспечивают втекающий ток 20 мА. При использовании выводов порта в качестве входов и установке внешним сигналом в низкое состояние, вытекающий через них ток обеспечивается только при подключенных встроенных нагрузочных резисторах.
Port F (PF7..PF0) - 8-разрядный порт входа. Входы порта используются также как аналоговые входы аналого-цифрового преобразователя.
RESET - Вход сброса. Для выполнения сброса необходимо удерживать низкий уровень на входе в течение двух машинных циклов.
XTAL1 - Вход инвертирующего усилителя генератора и вход схемы встроенного генератора тактовой частоты.
XTAL2 - Выход инвертирующего усилителя генератора.
TOSC1 - Вход инвертирующего усилителя генератора таймера/счетчика.
TOSC2 - Выход инвертирующего усилителя генератора таймера/счетчика.
WR - Строб записи внешней SRAM.
RD - Строб чтения внешней SRAM.
ALE - Строб разрешения фиксации адреса, используемый для разрешении внешней памяти. Строб ALE используется для фиксации младшего байта адреса в защелках адреса в течение первого цикла обращения, в течение второго цикла обращения, при обращении к данным, используются выводы AD0 - AD7.
AVCC - Напряжение питания аналого-цифрового преобразователя. Вывод подсоединяется к внешнему VCC через низкочастотный фильтр.
AREF - Вход аналогового напряжения сравнения для аналого-цифрового преобразователя. На этот вывод, для обеспечения работы аналого-цифрового преобразователя, подается напряжение в диапазоне между AGND и AVCC.
AGND - Этот вывод должен быть подсоединен к отдельной аналоговой земле, если плата оснащена ею. В ином случае вывод подсоединяется к общей земле.
PEN - Вывод разрешения программирования в низковольтном последовательном режиме программирования. При удержании этого вывода на низком уровне во время сброса по включении питания, прибор перейдет в режим программирования по последовательному каналу.

 

Система команд 8-разрядных RISC микроконтроллеров семейства AVR

 

SREG: Регистр статуса
C: Флаг переноса
Z: Флаг нулевого значения
N: Флаг отрицательного значения
V: Флаг-указатель переполнения дополнения до двух
S: NЕV, Для проверок со знаком
H: Флаг полупереноса
T: Флаг пересылки, используемый командами BLD и BST
I: Флаг разрешения/запрещения глобального прерывания
Регистры и операнды
Rd: Регистр назначения (и источник) в регистровом файле
Rr: Регистр источник в регистровом файле
R: Результат выполнения команды
K: Литерал или байт данных (8 бит)
k: Данные адреса константы для счетчика программ
b: Бит в регистровом файле или I/O регистр (3 бита)
s: Бит в регистре статуса (3 бита)
X, Y, Z: Регистр косвенной адресации (X=R27:R26, Y=R29:R28, Z=R31:R30)
P: Адрес I/O порта
q: Смещение при прямой адресации (6 бит)
I/O регистры
RAMPX, RAMPY, RAMPZ: Регистры связанные с X, Y и Z регистрами, обеспечивающие косвенную адресацию всей области СОЗУ микроконтроллера с объемом СОЗУ более 64 Кбайт
Стек:
STACK: Стек для адреса возврата и опущенных в стек регистров
SP: Указатель стека
Флаги:
Ы Флаг, на который воздействует команда
0: Очищенный командой Флаг
1: Установленный командой флаг
-: Флаг, на который не воздействует команда

 

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

Обозначение Функция
ADC Сложить с переносом
ADD Сложить без переноса
ADIW Сложить непосредственное значение со словом
AND Выполнить логическое AND
ANDI Выполнить логическое AND c непосредственным значением
ASR Арифметически сдвинуть вправо
BCLR Очистить флаг
BLD Загрузить T флаг в бит регистра
BRBC Перейти если бит в регистре статуса очищен
BRBS Перейти если бит в регистре статуса установлен
BRCC Перейти если флаг переноса очищен
BRCS Перейти если флаг переноса установлен
BREQ Перейти если равно
BRGE Перейти если больше или равно (с учетом знака)
BRHC Перейти если флаг полупереноса очищен
BRHS Перейти если флаг полупереноса установлен
BRID Перейти если глобальное прерывание запрещено
BRIE Перейти если глобальное прерывание разрешено
BRLO Перейти если меньше (без знака)
BRLT Перейти если меньше чем (со знаком)
BRMI Перейти если минус
BRNE Перейти если не равно
BRPL Перейти если плюс
BRSH Перейти если равно или больше (без знака)
BRTC Перейти если флаг T очищен
BRTS Перейти если флаг T установлен
BRVC Перейти если переполнение очищено
BRVS Перейти если переполнение установлено
BSET Установить флаг
BST Переписать бит из регистра во флаг T
CALL Выполнить длинный вызов подпрограммы
CBI - Очистить бит в регистре I/O
CBR Очистить биты в регистре
CLC Очистить флаг переноса
CLH Очистить флаг полупереноса
CLI Очистить флаг глобального прерывания
CLN Очистить флаг отрицательного значения
CLR Очистить регистр
CLS Очистить флаг знака
CLT Очистить флаг T
CLV Очистить флаг переполнения
CLZ Очистить флаг нулевого значения
COM Выполнить дополнение до единицы
CP Сравнить
CPC Сравнить с учетом переноса
CPI Сравнить c константой
CPSE Сравнить и пропустить если равно
DEC Декрементировать
EOR Выполнить исключающее OR
ICALL Вызвать подпрограмму косвенно
IJMP Перейти косвенно
IN Загрузить данные из порта I/O в регистр
INC Инкрементировать
JMP Перейти
LD Rd,X Загрузить косвенно
LD Rd,X+ Загрузить косвенно инкрементировав впоследствии
LD Rd,-X Загрузить косвенно декрементировав предварительно
LDI Загрузить непосредственное значение
LDS Загрузить непосредственно из СОЗУ
LPM Загрузить байт памяти программ
LSL Логически сдвинуть влево
LSR Логически сдвинуть вправо
MOV Копировать регистр
MUL Перемножить
NEG Выполнить дополнение до двух
NOP Выполнить холостую команду
OR Выполнить логическое OR
ORI Выполнить логическое OR с непосредственным значением
OUT Записать данные из регистра в порт I/O
POP Загрузить регистр из стека
PUSH Поместить регистр в стек
RCALL Вызвать подпрограмму относительно
RET Вернуться из подпрограммы
RETI Вернуться из прерывания
RJMP Перейти относительно
ROL Сдвинуть влево через перенос
ROR Сдвинуть вправо через перенос
SBC Вычесть с переносом
SBCI Вычесть непосредственное значение с переносом
SBI Установить бит в регистр I/O
SBIC Пропустить если бит в регистре I/O очищен
SBIS Пропустить если бит в регистре I/O установлен
SBIW Вычесть непосредственное значение из слова
SBR Установить биты в регистре
SBRC Пропустить если бит в регистре очищен
SBRS Пропустить если бит в регистре установлен
SEC Установить флаг переноса
SEH Установить флаг полупереноса
SEI Установить флаг глобального прерывания
SEN Установить флаг отрицательного значения
SER Установить все биты регистра
SES Установить флаг знака
SET Установить флаг T
SEV Установить флаг переполнения
SEZ Установить флаг нулевого значения
SLEEP Установить режим SLEEP
ST X,Rr Записать косвенно
ST Y,Rr Записать косвенно из регистра в СОЗУ с использованием индекса Y
ST Z,Rr Записать косвенно из регистра в СОЗУ с использованием индекса Z
STS Загрузить непосредственно в СОЗУ
SUB Вычесть без переноса
SUBI Вычесть непосредственное значение
SWAP Поменять нибблы местами
TST Проверить на ноль или минус
WDR Сбросить сторожевой таймер

 

Таблица 35. Соответствие обозначений выводов обозначениям сигналов

Обозначение сигнала в режиме программирования Обозначение вывода I/O Описание
RDY / BSY PD1 O 0: Прибор занят программированием, 1: Прибор готов к новой команде
OE PD2 I Разрешение выхода (Активен низким уровнем)
WR PD3 I Импульс записи (Активен низким уровнем)
BS1 PD4 I Выбор байта (бит 0)
XA0 PD5 I Режим XTAL (бит 0)
XA1 PD6 I Режим XTAL (бит 1)
BS2 PD7 I Выбор байта (бит 2 -всегда на низком уровне)
PAGEL PA0 I Загрузка страницы программирования памяти

Биты XA1/XA0 определяют действие, запускаемое по положительному импульсу на XTAL1. Установки битов представлены в следующей таблице:

Таблица 36. Кодирование битов XA1 и XA0

XA1 XA0 Характер действия при поступлении импульса на XTAL1
Загрузка Flash или EEPROM адреса (старший или младший байт адреса Flash памяти определяет бит BS1)
Загрузка данных (старший или младший байт адреса Flash памяти определяет бит BS1)
Загрузка команды
Нет действия, ожидание

При поступлении импульсов WR или OE загруженная команда определяет действие на входе или выходе. Команда является байтом, в котором каждый бит определяет функцию, как это отражено в таблице:

Таблица 37. Кодирование битов байта команды

N бита Выполняемая операция при установленном бите
Очистка кристалла
Запись бита-предохранителя. Размещаются в байте данных по следующим битам: D5: SPIEN бит-предохранитель, D3: EESAVE бит-предохранитель, D1: SUT1 бит-предохранитель, D0: SUT0 бит-предохранитель (Примечание: запись 0 для программирования, запись 1 для стирания)
Запись бита блокирования. Размещаются в байте данных по следующим битам::D2: LB2, D1: LB1 (Примечание: запись 0 для программирования)
Запись Flash или EEPROM памяти (определяется битом 0)
Чтение сигнатуры
Чтение битов блокирования и битов-предохранителей. Размещаются в байте данных по следующим битам:D5: SPIEN бит-предохранитель, D3: EESAVE бит-предохранитель, D2: LB2, D1: SUT1/LB1, D0: SUT0 (Примечание: состояние 0 программируется)
Чтение из Flash или EEPROM памяти (определяется битом 0)
0 : Обращение к Flash, 1 : Обращение к EEPROM

 

 

Вопросы для проверки знаний

 

Что в вычислительной технике принято называть портом?

Какие порты применяются в современной технике?

Какие блоки входят в состав порт ввода вывода UART?

Основные характеристики порт ввода вывода UART?

В чем измеряется скорость передачи данных.?

Определить число которое необходимо для задания скорости обмена данными 57600 бод битов в секунду записать в регистр UBRR если кварцевый резонатор рассчитан на частоту 3.6864 МГц ?

Определите погрешность от применения кварцевого резонатора на частоту 4 МГц при той же скорости обмена данными?

От чего зависит погрешность при задании скорости передачи данных?

Каковы пути уменьшения погрешности при построении устройств на микроконтроллерах?

Что понимается в вычислительной технике под термином кадр?

Принцип передачи данных через порт ввода вывода UART?

Принцип приема данных через порт ввода вывода UART?

Перечислите сигналы управления записываемые в виде определенных битов и назовите их назначение?

 

Дополнительный материал

 



2016-01-26 935 Обсуждений (0)
Внутрисхемное программирование 0.00 из 5.00 0 оценок









Обсуждение в статье: Внутрисхемное программирование

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как построить свою речь (словесное оформление): При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою...
Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ...
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (935)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.007 сек.)