
- •Микроконтроллеры
- ••Корпорация STMicroelectronics (STM) один из всемирно признанных лидеров микроэлектроники, создана в 1987 году
- •ST7Microelectronics и университеты
- •Библиографический список
- •УМК «Микропроцессорные системы»
- •РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ "Training Board
- •обзор обучающей программы
- •1-ый шаг изучения: STVD7 версия 3 - без учебной
- •2-ой шаг изучения: STVD7 версия 2- с inDART STX
- •Краткий обзор семейства ST7
- •Система обозначений ST7
- •Структурная схема ST7
- •Структурная схема ST7 3/4
- •Структурная схема ST7 4/4
- •Назначения выводов МК ST7
- •Описание вводов/выводов
- •Карта памяти и регистров
- •Адрес Блок
- •Адрес
- •Окончание таблицы 2
- •FLASH ПАМЯТЬ ПРОГРАММ
- •СПОСОБЫ ПРОГРАММИРОВАНИЯ
- •In-Circuit Programming (ICP)
- •In-Application Programming (IAP)
- •Интерфейс ICC
- •Защита FLASH памяти
- •ПАМЯТЬ ДАННЫХ EEPROM
- •ЦЕНТРАЛЬНЫЙ ПРОЦЕССОР (ядро MCU)
- •РЕГИСТРЫ CPU
- •РЕГИСТРЫ CPU
- •Иллюстрация работы стека
- •РЕГИСТРЫ CPU
- •РЕГИСТР КОДА УСЛОВИЯ 1/3
- •РЕГИСТР КОДА УСЛОВИЯ 2/3
- •РЕГИСТР КОДА УСЛОВИЯ3/3
- •СИСТЕМА КОМАНД ST7
- •СПОСОБЫ АДРЕСАЦИИ
- •Неявная (Inhern)
- •Способ адресации
- •СПОСОБЫ АДРЕСАЦИИ
- •Short Indirect
- •Short
- •Inherent (Неявная адресация)
- •Instruction
- •Instruction
- •Непосредственная (Immediate)
- •Immediate Instruction
- •Прямая адресация
- •Прямая длинная
- •Индексная
- •Индексная короткая
- •Индексная длинная
- •Косвенная (короткая, длинная)
- •Косвенная короткая
- •Косвенная длинная
- •Косвенная индексная (короткая, длинная)
- •Косвенная индексная короткая
- •Косвенная индексная длинная
- •Длинные и короткие
- •Относительный способ (прямой, косвенный)
- •Пояснение примера относительного прямого
- •Косвенный относительный. Пример:
- •(Available Relative Direct/Indirect
- •СИСТЕМА КОМАНД
- •Load and Transfer
- •Использование пред байта
- •Использование пред байта
- •СПИСОК КОМАНД МК ST7
- •Mnem Description
- •CALL
- •УПРАВЛЕНИЕ
- •Управление синхронизацией1/4
- •Управление синхронизацией
- •Главный регистр контроля/статуса частоты
- •RC Control Register (RCCR)
- •Управление
- •Рис. 2.4. Блок-схеме RESET
- •Источники RESET
- •Рис. 2.5. Фазы Сброса
- •Фаза задержки Сброса
- •Блок управления целостностью системы
- •Регистр управления целостностью системы
- •Регистр управления целостностью
- •Конфигурирование устройства
- •Байт выбора 0 (продолжение)
- •Значения «по умолчанию» байтов выбора
- •OPTION BYTE 1
- •ПРЕРЫВАНИЯ
- •Рис. 3.1. Схема процесса прерывания
- •Source
- •Периферийные прерывания
- •Внешние прерывания
- •Т а б л и ц а 3.2 Биты чувствительности прерываний
- •Выбор линий портов РА и РВ для внешних прерываний осуществляется битами регистра EISR
- •Периферийные устройства
- •Параллельные порты ввода-вывода
- •Конфигурирование портов

Карта памяти и регистров
•128 байт памяти типа RAM (0000h – 007Fh) используется для регистров ввода/вывода.
•384 байта (0080h – 01FFh) составляет память типа RAM, в которой до 128 байт используется для стека.
•256 байт (1000 – 01FFh) память данных типа EEPROM.
•Flash память 8кб (E000 – FFFFh) предназначена для команд, состоит из
сектора 1 (E000 – FBFFh) и сектора 0
(FC00 – FFFFh).

0000h
007Fh
0080h
01FFh
0200h
0FFFh
1000h
10FFh
1100h
DFFFh
E000h
FFDFh
FFE0h
FFFFh
HW Registers
RAM
(384 Byte)
Зарезерв и-рован
Data EEPROM
(256 Byte)
Зарезерв и-рован
Flash
Memory
(8
kbyte)
Interrupt &
Reset
Vectors
RAM короткая адресация
(страница
0)
RAM 16- битная адресаци
Stack (128
байт)
RCCR0
RCCR1
7 kbytes
&&
Sector 1
77 kbytes Sector1kbytes1
kbyteSector 0
Sector 1
RCCR0
R
RCCR1
0080h
00FFh
0100h
017Fh
0180h
01FFh
1000h
1001h
E000h EBFFh FC00h
FFFFh
FFDEh
FFDFh

Адрес Блок |
Имя |
Назначение |
Reset |
Доступ |
|
|
|
регистра регистра |
статус |
|
|
0000h |
|
PADR |
Port A Data Register |
FFh 1) |
R/W |
0001h |
Port A PADDR |
Port A Data Direction |
00h |
R/W |
|
0002h |
|
PAOR |
Port A Option Register |
40h |
E/W |
0003h |
PBDR |
PortBA Data Register |
FFh 1) |
R/W |
0004h |
Port B PBDDR |
Port B Data Direction |
00h |
R/W |
0005h |
PBOR |
Port B Option Register |
00h |
E/W |
0006h |
Резерв |
0007h |
|

0008h |
LTCSR2 |
Lite Timer Control/Status |
00h |
R/W |
Lite |
|
Register 2 |
|
|
Timer 2 |
|
|
|
|
0009h |
LTARR |
Lite Timer Auto-reload Register 00h |
R/W |
000Ah |
LTCNTR |
Lite Timer Counter Register |
00h |
R, |
|
|
|
|
только |
000Bh |
LTCSR1 |
Lite Timer Control/ |
0x00 |
R/W |
|
|
|||
|
|
Status Register 1 |
|
|
|
|
|
0000h |
R, |
000Ch |
LTICR |
Lite Timer Input Capture |
00h |
только |
|
|
Register |
|
|

000Dh |
|
ATCSR |
Timer Control/ |
0x00 |
R/W |
000Eh |
Auto- |
CNTRH |
Status Register |
0000h |
R, только |
000Fh |
Reload |
CNTRL |
Counter Register High |
00h |
R, только |
0010h |
Timer 2 |
ATRH |
Counter Register Low |
00h |
R/W |
0011h |
|
ATRL |
Auto-Reload Register High |
00h |
R/W |
0012h |
|
PWMCR |
Counter Register Low |
00h |
R/W |
0013h |
|
PWM0CSR |
PWM Output Control Register |
00h |
R/W |
0014h |
|
PWM1CSR |
PWM 0 Control/Status Register |
00h |
R/W |
0015h |
|
PWM2CSR |
PWM 1 Control/Status Register |
00h |
R/W |
0016h |
|
PWM3CSR |
PWM 2 Control/Status Register |
00h |
R/W |
0017h |
|
DCR0H |
PWM 3 Control/Status Register |
00h |
R/W |
0018h |
|
DCR0L |
PWM 0 Duty Cycle Register High |
00h |
R/W |
0019h |
|
DCR1H |
PWM 0 Duty Cycle Register Low |
00h |
R/W |
001Ah |
|
DCR1L |
PWM 1 Duty Cycle Register High |
00h |
R/W |
001Bh |
|
DCR2H |
PWM 1 Duty Cycle Register Low |
00h |
R/W |
001Ch |
|
DCR2L |
PWM 2 Duty Cycle Register High |
00h |
R/W |
001Dh |
|
DCR3H |
PWM 2 Duty Cycle Register Low |
00h |
R/W |
001Eh |
|
DCR3L |
PWM 3 Duty Cycle Register High |
00h |
R/W |
001Fh |
|
ATICRH |
PWM 3 Duty Cycle Register Low |
00h |
R/W |
0020h |
|
ATICRL |
Input Capture Register High |
00h |
R, только |
0021h |
|
TRANCR |
Input Capture Register Low |
00h |
R, только |
0022h |
|
BREAKCR |
Transfer Control Register |
01h |
R/W |
0023h |
|
|
BreakControl Register |
00h |
R/W |
по |
|
|
Резерв |
|
|
002Dh |
|
|
|
|
|

Адрес |
Блок |
Имя |
Назначение регистра |
Reset |
Доступ |
|
|
регистра |
|
статус |
|
0000h |
|
PADR |
Port A Data Register |
FFh 1) |
R/W |
0001h |
Port A |
PADDR |
Port A Data Direction Register |
00h |
R/W |
0002h |
|
PAOR |
Port A Option Register |
40h |
E/W |
0003h |
|
PBDR |
PortBA Data Register |
FFh 1) |
R/W |
0004h |
Port B |
PBDDR |
Port B Data Direction Register |
00h |
R/W |
0005h |
|
PBOR |
Port B Option Register |
00h |
E/W |
0006h |
|
|
Резерв |
|
|
0007h |
|
|
|
|
|
0008h |
|
LTCSR2 |
Lite Timer Control/Status Register 2 |
00h |
R/W |
0009h |
Lite |
LTARR |
Lite Timer Auto-reload Register |
00h |
R/W |
000Ah |
Timer 2 |
LTCNTR |
Lite Timer Counter Register |
00h |
R, только |
000Bh |
|
LTCSR1 |
Lite Timer Control/ |
0x00 |
R/W |
000Ch |
|
LTICR |
Status Register 1 |
0000h |
R, только |
|
|
|
Lite Timer Input Capture Register |
00h |
|
000Dh |
|
ATCSR |
Timer Control/ |
0x00 0000h |
R/W |
|
000Eh |
Auto-Reload |
CNTRH |
Status Register |
00h |
R, только |
|
000Fh |
Timer 2 |
CNTRL |
Counter Register High |
00h |
R, только |
|
0010h |
|
ATRH |
Counter Register Low |
00h |
R/W |
|
0011h |
|
ATRL |
Auto-Reload Register High |
00h |
R/W |
|
0012h |
|
PWMCR |
Counter Register Low |
00h |
R/W |
|
0013h |
|
PWM0CSR |
PWM Output Control Register |
00h |
R/W |
|
0014h |
|
PWM1CSR |
PWM 0 |
Control/Status Register |
00h |
R/W |
0015h |
|
PWM2CSR |
PWM 1 Control/Status Register PWM 2 |
00h |
R/W |
|
0016h |
|
PWM3CSR |
Control/Status Register |
00h |
R/W |
|
0017h |
|
DCR0H |
PWM 3 |
Control/Status Register |
00h |
R/W |
0018h |
|
DCR0L |
PWM 0 |
Duty Cycle Register High |
00h |
R/W |
0019h |
|
DCR1H |
PWM 0 Duty Cycle Register Low |
00h |
R/W |
|
001Ah |
|
DCR1L |
PWM 1 |
Duty Cycle Register High |
00h |
R/W |
001Bh |
|
DCR2H |
PWM 1 Duty Cycle Register Low |
00h |
R/W |
|
001Ch |
|
DCR2L |
PWM 2 Duty Cycle Register High |
00h |
R/W |

Окончание таблицы 2 |
|
|
|
|
|
Адрес |
Блок |
Имя |
Назначение регистра |
Reset |
Доступ |
|
|
регистра |
|
статус |
|
0031h |
|
SPIDR |
SPI Data I/O Register |
xxh |
R/W |
0032h |
SPI |
SPICR |
SPI Control Register |
0xh |
R/W |
0033h |
|
SPICSR |
SPI Control Status Register |
00h |
R/W |
0034h |
|
ADCCSR |
A/D Control Status Register |
00h |
R/W |
0035h |
ADC |
ADCDRH |
A/D Data Register High |
xxh |
R, только |
0036h |
|
ADCDRL |
A/D Amplifier Control/Data Low Register |
0xh |
R/W |
0037h |
ITC |
EICR |
External Interrupt Control Register |
00h |
R/W |
0038h |
MCC |
MCCSR |
Main Clock Control/Status Register |
00h |
R/W |
0039h |
Clock и |
RCCR |
RC oscillator Control Register |
FFh |
R/W |
003Ah |
Reset |
SICSR |
System Integrity Control/Status |
0000 |
R/W |
|
|
|
Register |
0xx0h |
|
003Bh |
|
|
Резерв |
|
|
003Ch |
ITC |
EISR |
External Interrupt Selection Register |
0Ch |
R/W |
003D |
|
|
|
|
|
по |
|
|
Резерв |
|
|

FLASH ПАМЯТЬ ПРОГРАММ
•FLASH (XFLASH) память, которая может быть электрически стерта и программирована либо побайтно или параллельно по 32 байта.
•Организация матрицы массива позволяет каждый сектор стереть и повторно запрограммировать без воздействия на другие секторы.
•Размер сектора 0 конфигурируется байтом выбора.
•Защита считывания и записи.

СПОСОБЫ ПРОГРАММИРОВАНИЯ
ST7 программируются тремя различными способами:
•Установкой в программирующий инструмент (программатор). В этом способе строка байта и данные EEPROM (если присутствуют) могут быть запрограммированы или стерты.
•In-Circuit Programming. В этом способе в сектоторах 0
и 1 памяти FLASH, выбранные строки байт и данные EEPROM (если присутствуют), могут быть запрограммированы или стерты, не удаляя устройство с платы приложения.
•In-Application Programming. В этом способе сектор 1 и данные EEPROM (если присутствуют) могут быть запрограммированы или стерты без удаления устройства с платы приложения и в то время когда оно работает.

In-Circuit Programming (ICP)
•ICP использует протокол, названный ICC (In- Circuit Communication), который позволяет ST7, включенный на печатной монтажной плате, программировать внешним устройством через кабель.
•Определенная последовательность сигналов по протоколу ICC подается на ICCCLK/DATA линии, в то время когда на линии RESET устанавливается низкий уровень. Когда ST7 вступает в сброс, память системы ST7 получает возможность приема данных по протоколу ICC.