Структура контроллера, карта памяти
Блок схема
Состав микроконтроллера
Системные устройства
- CPU_8051 – процессорное ядро;
- TAP (Test Access Port) – автомат JTAG;
- TDR (Test Data Register) – регистры данных JTAG;
- MUX - мультиплексор;
- ANALOG_CFG_MEM - конфигурационная память;
- ROM_OTP_4KB (One-Time Programmable) - однократно программируемое постоянное запоминающее устройство емкостью 4 КБ, память программ устройства;
- RAM_ROM_4KB - оперативное запоминающее устройство емкостью 4 КБ, микроконтроллер работает с данным модулем, как с памятью программ или памятью данных в зависимости
от значения вывода DBG; - RAM_256B - оперативное запоминающее устройство емкостью 256B, для хранения промежуточных данных, память данных устройства;
- SWITCH - модуль, разграничивающий доступ к RAM_OTP_4KB, RAM_ROM_4KB, RAM_256B;
- SWITCH JTAG/CPU - модуль, разграничивающий доступ к шине для JTAG и CPU;
- POR (Power-On Reset) - модуль сброса при включении;
- BOR (Brown-Out Reset) - модуль сброса при снижении напряжения питания;
- PMM (Power Management Module) - модуль системы управления сбросом и питанием;
- GEN_PLL - модуль ввода-вывода и фазовой автоподстройки частоты (ФАПЧ) тактирования;
- RC - RC-генератор;
- CMM (Clock Management Module) - модуль управления источниками тактовых сигналов системы;
- DEBUGGER - отладчик;
- OA_TUNE - масштабирующий операционный усилитель (МОУ);
- V_REF - источник опорного напряжения (ИОН);
- LDO_5V->3V7, LDO_5V->1V8 - линейные регуляторы напряжения.
Периферийные устройства
- INT_CTRL - контроллер прерываний;
- SPI0, SPI1 - модули SPI;
- UART0, UART1 - модули UART;
- I2C - модуль I2C;
- GPIOA, GPIOB, GPIOC - контроллеры портов ввода-вывода;
- TIMER0, TIMER1, TIMER2 - универсальные таймеры;
- WDT - сторожевой таймер;
- WORK_FSM - рабочий автомат для режима «SLEEP»;
- OWI - модуль 1-Wire;
- DAC - цифро-аналоговый преобразователь.
- ADC - аналого-цифрой преобразователь;
Карта памяти
Адресное пространство памяти программ и данных разделено. В данное адресное пространство отображаются различные модули памяти и периферии.
| № | Выделенное пространство | Зона | Аббревиатура | Описание |
|---|---|---|---|---|
| 0000h | 4 КБ | ПЗУ | ROM | ПЗУ |
| 0000h | 4352 Б | ОЗУ | RAM | ОЗУ |
| 2000h | 256 Б | PMM | Подсистема управления электропитанием | |
| 2100h | 256 Б | CMM | Подсистема управления тактированием | |
| 2200h | 256 Б | WDT | Сторожевой таймер | |
| 2300h | 256 Б | GPIOA | Универсальные порты ввода-вывода | |
| 2400h | 256 Б | GPIOB | ||
| 2500h | 256 Б | GPIOC | ||
| 2600h | 256 Б | SPI0 | Интерфейсы SPI | |
| 2700h | 256 Б | SPI1 | ||
| 2800h | 256 Б | UART0 | Интерфейсы UART | |
| 2900h | 256 Б | UART1 | ||
| 2A00h | 256 Б | I2C | Интерфейс I2C | |
| 2B00h | 256 Б | OWI | Интерфейс 1-WIRE | |
| 2C00h | 256 Б | WORK_FSM | Рабочий автомат | |
| 2D00h | 32 Б | TIMER0 | Таймеры | |
| 2D20h | 32 Б | TIMER1 | ||
| 2D40h | 32 Б | TIMER2 | ||
| 2F00h | 256 Б | ADC | Аналого-цифровой преобразователь | |
| 3000h | 256 Б | DAC | Цифро-аналоговый преобразователь | |
| 3100h | 256 Б | INT_CTRL | Контроллер прерываний | |
| 3200h | 64 Б | DEBUGGER | Отладчик | |
| 3300h | 8 Б | ANALOG_CFG | Конфигурационная память аналоговых блоков |
Если CPU обратится по адресу вне выделенного пространства, то при чтении будут приняты нулевые данные, запись не будет иметь никакого эффекта.
Распределение адресного пространства
Микроконтроллеры 8051 оперируют двумя типами памяти: памятью программ и памятью данных. Память программ и память данных физически и логически разделены, имеют различные механизмы адресации, работают под управлением различных сигналов и выполняют разные функции.
Обращение к внешней памяти данных осуществляется по команде «movx», а обращение к памяти программ по команде «movc».
Структура резидентной памяти данных представлена на рисунке. Первые 32 байта сгруппированы в 4 банка по 8 регистров R0 - R7. Команды микроконтроллера могут обращаться к ним как к регистрам общего назначения R0 - R7 и как к ячейкам ОЗУ с прямой адресацией от 00h до 1Fh. Ячейки резидентного ОЗУ с адреса 20h до адреса 2Fh обеспечивают кроме прямой адресации, адресацию 128 битов (0-127).
Резидентная память данных имеет 8-битную шину адреса, через которую обеспечивается доступ к памяти из регистра адреса – RAR или из регистра-указателя стека – SP. Регистр-указатель стека используется микроконтроллером при работе со стеком. Через регистр адреса осуществляется прямая и косвенная адресация памяти данных.