- •Однокристальная микроЭвм
- •Содержание
- •1. Введение.
- •1.1 Характеристики.
- •1.2 Общее описание.
- •1.3 Программная модель.
- •1.4 Характеристики представителей семейства mc68hc11.
- •2. Описание сигналов и режимы работы.
- •2.1 Описание выводов.
- •2.1.1 Выводы питания (vdd) и земли (vss).
- •2.1.2 Сброс (reset/).
- •2.1.3 Входы внешней синхронизации (xtal и extal).
- •2.1.4 Вывод тактовой частоты синхронизации e (e).
- •2.1.5 Запрос прерывания (irq/).
- •2.1.6 Немаскируемое прерывание (xirq/).
- •2.1.7 Выводы moda/lir/ и modb/vstby.
- •2.1.8 Опорные напряжения ацп (vrLи vrh).
- •2.1.9 Строб b и чтение/запись (strb / r/w/).
- •2.1.10 Строб a и строб адреса (stra/as)
- •2.1.11 Сигналы портов.
- •2.2 Режимы работы.
- •2.2.1 Однокристальный режим.
- •2.2.2 Расширенный режим.
- •2.3 Специальный режим загрузки.
- •Примечание
- •Примечание
- •2.2.4 Дополнительные опции загрузчика программ.
- •2.2.5 Специальный режим теста.
- •3. Внутренняя память.
- •3.1 Карта памяти.
- •3.2 Озу и регистр отображения памяти (init).
- •3.5 Эсппзу.
- •3.5.1 Регистр управления эсппзу (pprog).
- •3.5.2 Регистр защиты эсппзу (bprot).
- •3.5.3 Программирование/стирание внутреннего эсппзу.
- •3.5.4 Регистр конфигурации системы (config).
- •Примечание: в этот момент недопустим сброс контроллера!!!
- •4. Параллельный ввод/вывод.
- •4.1 Порты ввода/вывода общего назначения (c и d).
- •4.2 Порты с фиксированным направлением ввода/вывода (a, b и e).
- •4.3 Простой стробируемый ввод/вывод.
- •4.3.1 Стробируемый ввод-порт c.
- •4.3.2 Стробируемый вывод-порт b.
- •4.4 Ввод/вывод с полным квитированием установления связи.
- •4.4.1 Протокол режима ввода с полным квитированием установления связи.
- •4.4.2 Протокол режима вывода с полным квитированием установления связи.
- •4.5 Регистр управления вводом/выводом (pioc).
- •5. Последовательный интерфейс связи (sci).
- •5.3 Особенности при работе в системах с несколькими приемниками.
- •5.4 Принимаемые данные (RxD).
- •5.5 Распознавание старт-бита.
- •5.6 Передаваемые данные (TxD).
- •5.7 Фунциональное описание.
- •5.8 Регистры sci.
- •5.8.1 Регистр данных последовательной связи (scdr).
- •5.8.2 Регистр управления 1 (sccr1).
- •5.8.3 Регистр управления 2 (sccr2).
- •5.8.4 Регистр статуса последовательной связи (scsr).
- •5.8.5 Регистр скорости приема/передачи (baud).
- •Примечание
- •Примечание
- •6. Последовательный периферийный интерфейс.
- •6.1 Общий обзор и характеристики.
- •6.2 Описание сигналов spi.
- •6.2.1 Вход ведущего-выход ведомого (miso).
- •6.2.2 Выход ведущего-вход ведомого (mosi).
- •6.2.3 Сигналы синхронизации (sck).
- •6.2.4 Выбор ведомого устройства (ss/).
- •6.3 Функциональное описание.
- •6.4 Регистры spi.
- •6.4.1 Регистр управления периферийным интерфейсом (spcr).
- •6.4.2 Регистр статуса поеледовательного периферийного интерфейса (spsr).
- •6.4.3 Регистр ввода/вывода spi.
- •7. Аналого-цифровой преобразователь.
- •7.1 Процесс преобразования.
- •7.2 Назначение каналов.
- •7.4 Работа в многоканальном режиме.
- •7.5 Работа в режимах stop и wait.
- •7.6 Регистр управления и статуса ацп (adctl).
- •Примечание:
- •Примечание:
- •7.7 Регистры результатов преобразований 1,2,3 и 4 (adr1, adr2, adr3 и adr4).
- •7.8 Подача питания на ацп и выбор источника синхронизации.
- •8. Программируемый таймер, прерывания реального времени и счетчик импульсов.
- •8.1 Программируемый таймер.
- •8.1.1 Счетчик.
- •8.1.2 Входная фиксация.
- •8.1.3 Выходное сравнение.
- •8.1.4 Управление вводом/выводом выходного сравнения 1.
- •8.1.5 Регистр принудительного сравнения таймера (cforc).
- •8.1.6 Регистр 1 маскирования выходного сравнения (oc1m).
- •8.1.7 Регистр данных выходного сравнения 1 (oc1d).
- •8.1.8 Регистр 1 управления таймером (tctl1).
- •8.1.9 Регистр 2 управления таймером (tctl2).
- •8.1.10 Регистр 1 маскирования прерываний таймера (tmsk1).
- •Примечание:
- •8.1.11 Регистр 1 флагов прерывания таймера (tflg1).
- •Примечание:
- •8.1.12 Регистр 2 маскирования прерываний таймера (tmsk2).
- •8.1.13 Регистр 2 флагов прерываний таймера (tflg2).
- •8.2 Прерывания реального времени.
- •8.3 Счетчик импульсов.
- •8.4 Регистр управления счетчиком импульсов (pactl).
- •9. Сброс, прерывания и режимы с пониженным потреблением энергии.
- •9.1 Варианты сброса.
- •9.1.1 Внешний вывод reset/.
- •9.1.2 Сброс при включении питания.
- •9.1.3 Сброс, вызываемый системой слежения.
- •9.1.4 Сброс тактового монитора.
- •9.1.5 Регистр выбора конфигурации (option).
- •9.2 Прерывания.
- •9.2.1 Программное прерывание (swi).
- •Примечание
- •9.2.2 Прерывание по неверному коду команды.
- •9.2.3 Биты маскирования прерываний регистра условий.
- •9.2.4 Структура приоритетов.
- •9.2.5 Регистр наивысшего приоритета I-прерывания (hprio).
- •9.3 Режимы пониженного энергопотребления.
- •9.3.1 Команда wait.
- •9.3.2 Команда stop.
- •10. Центральный процессор, режимы адресации и система команд.
- •10.1 Регистры цп.
- •10.1.1 Аккумуляторы a и b.
- •10.2 Режимы адресации.
- •10.2.1 Непосредственная адресация.
- •10.2.2 Прямая адресация.
- •10.2.3 Расширенная адресация.
- •10.2.4 Индексная адресация.
- •10.2.5 Неявная адресация.
- •10.2.6 Относительная адресация.
- •10.2.7 Байт префикса.
- •10.3 Система команд.
- •11. Электрические характеристики.
- •11.1 Максимальные диапазоны.
- •11.2 Температурные характеристики.
- •11.3 Энергопотребление.
- •11.4 Электрические характеристики.
- •11.5 Синхронизация.
- •11.7 Характеристики системы ацп.
- •11.8 Временные диаграммы шины расширенния.
- •11.9 Временные характеристики spi.
- •11.10 Характеристики эсппзу.
- •12. Корпус.
- •12.1 Расположение выводов.
- •12.2 Размеры корпуса.
3.5.2 Регистр защиты эсппзу (bprot).
Этот регистр защищает регистр CONFIG и 512 байт ЭСППЗУ от непреднамеренной записи. Биты этого регистра могут быть установлены в ноль только в течение первых 64 циклов тактовой частоты E после сброса. Сразу после установки бита в ноль разрешается программирование и стирание в связанной с ним области ЭСППЗУ или регистра CONFIG. ЭСППЗУ доступно только в случае, если бит EEON регистра CONFIG установлен в единицу. Биты регистра BPROT могут быть установлены в единицу в любое время, но возможность сброса в ноль в течение всего периода работы имеется только в режиме теста или загрузки.
|
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
$1035 |
0 |
0 |
0 |
PTCON |
BPRT3 |
BPRT2 |
BPRT1 |
BPRT0 |
BPROT |
Сброс |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
|
Биты 7-5 -не используются; считываются всегда как нули.
PTCON -защита регистра CONFIG:
1=программирование/стирание регистра CONFIG запрещено;
0=программирование/стирание регистра CONFIG разрешено.
BPRT3-BPRT0-защита блока памяти:
1=программирование/стирание соответствующего блока
ЭСППЗУ запрещено;
0=программирование/стирание соответствующего блока
ЭСППЗУ разрешено.
Связанные с битами блоки памяти:
-
Бит
Защищаемый блок
Размер
BPRT0
$B600-$B61F
32 бита
BPRT1
$B620-$B65F
64 бита
BPRT2
$B660-$B6DF
128 бит
BPRT3
$B6E0-$B7FF
288 бит
3.5.3 Программирование/стирание внутреннего эсппзу.
Процесс программирования и стирания ЭСППЗУ управляется регистром PPROG. Перед изменением срдержимого ячеек ЭСППЗУ следует сбросить требуемые биты регистра BPROT. В данном параграфе описаны различные операции, выполняемые над ЭСППЗУ и примеры подпрограмм, демонстрирующих операции программирования и стирания. Эти подпрограммы просто демонстрируют последовательности действий, необходимых для основных операций программирования и стирания и не содержат, например, специальных команд работы с битами. В течение программирования ЭСППЗУ также могут быть использованы и другие команды микроконтроллера, при условии что они не выполняют чтение из или запись в ЭСППЗУ (в течении операции программирования или стирания ЭСППЗУ отключается для цикла чтения от шины данных). Текст подпрограммы DLY10, используемой в этих подпрограммах, не приводится, но в качестве нее может быть использована любая последовательность команд обеспечивающая задержку в 10 мс.
Для операции чтенияиз ЭСППЗУ требуется, чтобы бит EELAT регистра PPROG был сброшен. Это означает , что регистр PPROG не оказывает никакого воздействия и ЭСППЗУ может быть прочитано как обычное ПЗУ. Регистр защиты блоков также не влияет на обмен информацией во время операции чтения.
В режиме программированиябиты ROW и BYTE не используются. Если тактовая частота синхронизации E менее 1 МГц, то нужно установить бит CSEL регистра OPTION. Напомним, что стирание ячеек ЭСППЗУ должно выполняться отдельной операцией перед их программированием. Приведенная ниже программа демонстрирует операцию программирования одного байта ЭСППЗУ.
*на входе: регистр A содержит программируемые данные; X - адрес ЭСППЗУ
·
·
·
PROG LDAB #$02
STAB $103B установить бит EELAT (EEPGM=0)
STAA 0,X записать данные по адресу ЭСППЗУ
LDAB #$03
STAB $103B установить бит EEPGM (EELAT=1)
JSR DLY10 задержка 10 мс
CLR $103B отключить напряжение программирования и установить режим чтения
·
·
·
Следующая программа показывает, как стереть все ЭСППЗУ. На регистр CONFIG данная программа не оказывает никакого влияния.
·
·
·
BULK LDAB #$06
STAB $103B установить режим стирания всего ЭСППЗУ
STAB $B600 записать произвольные данные по любому адресу ЭСППЗУ
LDAB #$07
STAB $103B включить напряжение программирования
JSR DLY10 задержка 10 мс
CLR $103B отключить напряжение и установить режим
чтения
·
·
·
Иногда требуется стереть информацию не во всем ЭСППЗУ, а только в некоторой ее части. Следующая программа показывает как стереть строку ЭСПЗУ. Под строкой подразумевается последовательность из 16 байт ($B600-$B60F, $B610-$B61F ... $B7F0-$B7FF).
*на входе: X - адрес произвольный ячейки из удаляемого участка ЭСППЗУ
·
·
·
ROWE LDAB #$0E
STAB $103B установить режим стирания строки
STAB 0,X записать произвольные данные по любому адресу строки ЭСППЗУ
LDAB #$0F
STAB $103B включить напряжение программирования
JSR DLY10 задержка 10 мс
CLR $103B отключить напряжение и установить
режим чтения
·
·
·
Простейшая операция стирания-это стирание одного байта, что показывается приведенной ниже программой.
*на входе: X - адрес стираемого байта ЭСППЗУ
·
·
·
ROWE LDAB #$16
STAB $103B установить режим стирания одног байта
STAB 0,X записать данные по указанному адресу в ЭСППЗУ
LDAB #$17
STAB $103B включить напряжение программирования
JSR DLY10 задержка 10 мс
CLR $103B отключить напряжение и установить
режим чтения
·
·
·