ЬРС2104, ЬРС2105 и ЬРС2106

advertisement
Инструкция пользователя
ЬРС2104, ЬРС2105 и ЬРС2106
Бнимание!
Это черновой вариант перевода инструкции, в котором много
ошибок !
Если вы обнаружили ошибку, пожалуйста, сообщите автору перевода
по адресу vsash2@mail.ru
Версия перевода от 01.02.2006г.
Василюк А.В. г.Запорожье
ОСОБЕННОСТИ
• ARM7TDMI-S процессор.
• 128 килобайт флешь память с доступом через ISP интерфейс с возможностью записи из
программы (IAP). Время записи в flash память 1 мс на 512 байтовый блок. 10000
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
гарантированных циклов перезаписи для каждого 512 байтового блока. Стирание отдельного
сектора (8 КБ), или стирание всего чипа за 400 мс.
64/32/16-килобайт статического ОЗУ (LPC2106/2105/2104).
Контроллер векторных прерываний.
Модуль пошаговой эмуляции поддерживает отладку в реальном времени.
Модуль RealMonitor позволяющий производить отладку в реальном времени.
Стандартный ARM Test/Debug интерфейс совместимый с существующими
инструментами.
Маленький корпус LQFP48 (7x7мм2).
Два UART, один из них с полным модемным интерфейсом.
I2C последовательный интерфейс.
SPI последовательный интерфейс.
Два таймера, каждый с 4 захватывающими/сравнивающими каналами.
PWM модуль с 6 PWM выходами.
Часы реального времени.
Сторожевой Таймер.
Вводы/выводи общего назначения.
Центральный процессор, использующий тактовую частоту до 60 МГЦ.
Двойное электропитание.
• Центральный процессор питается напряжением в диапазоне от 1.65V до 1.95V (1.8V+/8.3%).
• Диапазон электропитания системы ввода - вывода от 3.0V до 3.6V (3.3V +/-10 %).
Два режима низкого энергопотребления, Idle и Power Down.
Выход процессора из Power Down режима по внешнему прерыванию.
Индивидуальное управление функциями переферии для оптимизации энергопотребления.
Встроенный кварцевый генератор с диапазоном 10 МГЦ - 25 МГЦ.
КРАТКИЙ ОБЗОР АРХИТЕКТУРЫ
LPC2106/2105/2104 состоит из ARM7TDMI-S центрального процессора с поддержкой
эмуляции, локальная шина ARM7 для контроллера встроенной памяти, AMBA Advanced
High-performance Bus (AHB) для интерфейса контроллера прерываний, и VLSI Периферийная шина
(VPB, совместимый расширенный набор AMBA AHB) для подключения к функциям встроенной
переферии. В LPC2106/2105/2104 устанавливается ARM7TDMI-S ядро, работающее с прямым
порядком байт (младший байт в конце слова, старший в начале).
AHB переферия размещена в 2 мегабайтовом диапазоне адресов в самой вершине 4х
гигобайтного адресного пространства ARM. Каждое AHB периферийное устройство занимает
16-килобайт в адресном пространстве AHB. Вся переферия LPC2106/05/04 (кроме контроллера
прерываний) подключена к шине VPB. Шина VPB соединяется с шиной AHB через «AHB to VPB
bridge». VPB переферия также размещена в 2 мегабайтовом диапазоне адресов, начинающихся с
адреса 3.5 Гб. Каждое VPB периферийное устройство занимает 16- килобайт в адресном
пространстве VPB.
Подключением встроенной переферии к выводам микроконтроллера управляет «Блок
подключения выводов». Он настраивается программным обеспечением, для выполнения
конкретных задач.
ПРОЦЕССОР ARM7TDMI-S
ARM7TDMI-S - это 32 разрядный микроконтроллер, обладающий высокой
производительностью и низким энергопотреблением. ARM базируется на принципах RISC
архитектуры и наборе инструкций.
Процессор ARM7TDMI-S также поддерживает архитектуру THUMB использующую более
компактный код.
По существу, процессор ARM7TDMI-S имеет два набора инструкции:
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
• Стандартный 32 битный набор инструкции ARM.
• Набор 16-битных инструкций THUMB.
ВСТРОЕННАЯ СИСТЕМА FLASH ПАМЯТИ
LPC2106/2105/2104 включает 128 КБ Flash памяти. Эта память может использоваться и для
хранения данных и кода программ. Программирование Flash памяти может быть выполнено
несколькими способами: по встроенному последовательному интерфейсу JTAG, используя ISP и
UART0, или непосредственно из выполняющейся программы. Прикладная программа, используя
IAP функции, может также стереть и/или программировать Flash, во время выполнения программы,
предоставляя большую степень гибкости для хранения данных, модернизации программного
обеспечения, и т.д.
ВСТРОЕННОЕ СТАТИЧЕСКОЕ ОЗУ
LPC2106, LPC2105 и LPC2104 содержат 64 КБ, 32 КБ и 16 КБ статического ОЗУ (СОЗУ)
соответственно, в котором могут размещаться как данные, так и программы. СОЗУ поддерживает 8
разрядный, 16 разрядный, и 32 разрядный доступ.
Диспетчер СОЗУ содержит буфер записи, чтобы предотвращать простой центрального
процессора в течение цикла записи. Буфер всегда содержит последние данные, посланные
программным обеспечением в СОЗУ. Эти данные запишутся в СОЗУ только когда программное
обеспечение выполнит следующую операцию записи. Если происходит сброс чипа, фактическое
содержимое СОЗУ не будет содержать самые последние операции записи. Любое программное
обеспечение, которое проверяет содержание СОЗУ после сброса должно учитывать эту
особенность. Фиктивная запись в неиспользуемое пространство, может использоваться, для
гарантированного внесения изменений в СОЗУ.
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
* Объединены с выводами портов ввода вывода
РЕГИСТРЫ LPC2106/2105/2104
Доступ к регистрам в ЬРС2106/2105/2104 имеет следующие ограничения:
1. Пользователь НЕ должен пытаться обратится к неопределенным регистрам.
2. Доступ к любым регистрам выполняется с помощью функций предназначенных для работы с
регистрами.
3. Отдельные биты регистра обозначаются как '-', '0' или '1' в эти биты может быть записано или
прочитано только:
• '-' Нужно записывать только '0', но прочитано может быть любое значение. Эти биты
зарезервированы для использования в будущем.
• '0' ' Нужно записывать только '0', и при считывании всегда возвращает '0'.
• '1' ' Нужно записывать только '1', и при считывании всегда возвращает '1'.
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
Следующая таблица отображает все регистры имеющиеся в контроллере LPC2106/2105/2104.
Для отдельного регистра может быть определен следующий тип доступа: чтение и запись, только
чтение, только запись (R/W, RO и WO соответственно).
Поле "После сброса" относится только к используемым (доступным) битам, и не включает
содержимое зарезервированных битов. Некоторые регистраторы могут содержать неопределенные
данные после сброса. В этом случае, значение регистра указывается как "неопределенное".
Значение "НВ" указывает на то, что сброс не влияет на содержимое данного регистра. Некоторые
регистры в RTC не затрагивает сброс чипа. Их значение после сброса помечено как *, и эти
регистры должны инициализироваться программным обеспечением, если RTC разрешен.
Регистры в LPC2106/2105/2104имеют разрядность 8,16 или 32 бит. Для 8 битных регистров,
показанных в Таблице 1, бит соответствующий MSB является старшим (бит №7), а бит
соответствующий LSB является младшим (бит № 0). Если регистр - 16/32 битный, бит
расположенный в верхнем левом углу является старшим битом (бит 15/31) а бит расположенный
нижнем правом углу - младшим (бит 0).
Например: бит "ENA6" в регистре PWMPCR (адрес 0xE001404C), представляет бит в позиции
14 в этом регистре; биты 15, 8, 7 и 0 в этом регистре зарезервированы. Бит " Stop on MR6" в регистре
PWMMCR (0xE0014014) соответствует биту в позиции 20; биты с 31 по 21 из того же самого
регистра зарезервированы.
Зарезервированные биты отмечены "-" и представлены как серые поля. Доступ к ним
ограничен как уже описано.
таблица 1: LPC2106/2105/2104 Регистры
Адрес
Имя
Описание
MSB
LSB
Доступ
После
сброса
Сторожевой таймер
Регистр
режимов
сторожевого
таймера
OxEOOOOO
OO
WD
MOD
0xE0000004
WDTC
OxEOOOOO
O8
Регистр
WD
разрешающей
FEED последовательности
сторожевого
таймера
OxEOOOOO WDTV
OC
-
-
-
Регистр
константы
сторожевого
таймера
-
WD
INT
WD
TOF
WO WDEN R/W
RESET
32 бита данных
8 бита данных (ОхАА с последующими 0x55)
Регистр
значения
сторожевого
таймера
32 бита данных
Таймер 0
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
R/W
WO
RO
0
OxFF
NA
OxFF
Адрес
0xE0004000
0xE0004004
0xE0004008
0xE000400C
0xE0004010
0xE0004014
Имя
Описание
Регистр
прерываний
ТО
Регистр
TOTCR
управления ТО
T0IR
T0TC
MSB
-
LSB
CR2 Int. CR1
Int.
-
CR0
Int.
-
-
ТО Счетчик
ТО Регистр
предв.
делителя
T0PC ТО Счетчик
предв.
делителя
T0MCR ТО Регистр
управления
совпадением
T0PR
4 бита зарезервировано
Доступ
После
сброса
R/W
0
CTR Сброс
разреше CTR
н
32 бита данных
R/W
0
R/W
0
32 бита данных
R/W
0
32 бита данных
R/W
0
Стоп по Сброс Прер. Стоп по R/W
MR3 по MR3 по MR3 MR2
0
MR3 MR2 Int. MR1 Int. MR0
Int.
Int.
-
-
Сброс Прер. Стоп Сброс Прер. Стоп по Сброс Прер.
по MR2 по MR2 по MR1 по MR1 по MR1 MR0 по MR0 по MR0
0xE0004018
T0MR0
ТО Регистр
совпадения О
32 бита данных
R/W
0
0xE000401C
T0MR1
ТО Регистр
совпадения 1
32 бита данных
R/W
0
0xE0004020
T0MR2
ТО Регистр
совпадения 2
32 бита данных
R/W
0
0xE0004024
T0MR3
ТО Регистр
совпадения 3
32 бита данных
R/W
0
0xE0004028
T0CCR
ТО Регистр
управления
захватом
Прер.п R/W
о Cpt.2
0
0xE000402C
T0CR0
ТО Регистр
захвата О
0xE0004030
T0CR1
ТО Регистр
захвата 1
0xE0004034
T0CR2
ТО Регистр
захвата 2
0xE000403C
T0EMR
ТО Регистр
выходов
захвата
7 бит зарезервировано
Прер.по Прер.по Прер.п Прер.п Прер.по Прер.по Прер.по Прер.п
спаду нарост. о Cpt.1 о спаду нарост. Cpt.0 спаду
о
Cpt.2 Cpt.2
Cpt.1 Cpt.1
Cpt.0 нарост.
Cpt.0
32 бита данных
R0
0
32 бита данных
R0
0
32 бита данных
R0
0
Управление R/W
выходом
захвата 2
Разреш. Разреш. Разреш.
выхода выхода выхода
захвата захвата захвата
2.
1.
0
0
R/W
0
CTR Сброс
разреше CTR
н
32 бита данных
R/W
0
R/W
0
32 бита данных
R/W
0
32 бита данных
R/W
0
Стоп по Сброс Прер. Стоп по R/W
MR3 по MR3 по MR3 MR2
0
6 бит зарезервировано
Управление Управление
выходом захвата
выходом
1
захвата 0
-
Таймер 1
Регистр
CR3 Int. CR2 Int. CR1
прерываний Т1
Int.
0xE0008000
T1IR
0xE0008004
T1TCR
Регистр
управления Т1
0xE0008008
T1TC
Т1 Счетчик
0xE000800C
0xE0008010
0xE0008014
Т1 Регистр
предв.
делителя
Т1 Счетчик
T1PC
предв.
делителя
T1MCR Т1 Регистр
управления
совпадением
-
-
CR0
Int.
-
T1PR
4 бита зарезервировано
-
MR3 MR2 Int. MR1 Int. MR0
Int.
Int.
-
-
Сброс Прер. Стоп Сброс Прер. Стоп по Сброс Прер.
по MR2 по MR2 по MR1 по MR1 по MR1 MR0 по MR0 по MR0
0xE0008018
T1MR0
Т1 Регистр
совпадения О
32 бита данных
R/W
0
0xE000801C
T1MR1
Т1 Регистр
совпадения 1
32 бита данных
R/W
0
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
Адрес
Имя
Описание
MSB
LSB
Доступ
сброса
После
0xE0008020 T1MR2
Т1 Регистр
совпадения 2
32 бита данных
R/W
0
0xE0008024 T1MR3
Т1 Регистр
совпадения 3
32 бита данных
R/W
0
0xE0008028
Т1 Регистр
управления
захватом
R/W
0
RO
0
T1CCR
Прер. Прер.по Прер.по Прер.
по Cpt.3 спаду нарост.
по
Cpt.3
Cpt.3 Cpt.2
4 бит зарезервировано
Прер.по Прер.по Прер.п Прер.п Прер.по Прер.по Прер.по Прер.п
спаду нарост. о Cpt.1 о спаду нарост. Cpt.0
спаду
о
Cpt.2 Cpt.2
Cpt.1 Cpt.1
Cpt.0 нарост.
Cpt.0
Т1 Регистр
32 бита данных
захвата 0
0xE000802C
T1CR0
0xE0008030
T1CR1
Т1 Регистр
захвата 1
32 бита данных
RO
0
0xE0008034
T1CR2
Т1 Регистр
захвата 2
32 бита данных
RO
0
0xE0008038
T1CR3
Т1 Регистр
захвата 3
32 бита данных
RO
0
Управление
Управление
R/W
выходом захвата
выходом
3
захвата 2
Разреш. Разреш. Разреш. Разреш
выхода выхода выхода
.
захвата захвата захвата выхода
3
2
1
захвата
0
0
0xE000803C T1EMR
Т1 Регистр
выходов
захвата
4 бит зарезервировано
Управление
Управление
выходом
выходом захвата
захвата 0
1
UART O
0xE000C000 U0RBR
(DLAß=0
UO Receiver
Buffer
Register
8 бит данных
RO
undefined
U0THR
(DLAB=0
UO Transmit
Holding
Register
8 бит данных
WO
NA
U0DLL
(DLAB=1
UO Divisor
Latch LSB
8 бит данных
R/W
0x01
U0IER
(DLAB=0
UO Interrupt
Enable
Register
En. Rx
Line
Status
Int.
R/W
0
U0DLM
(DLAB=1
UO Divisor
Latch MSB
R/W
0
RO
0x01
U0 Rx
U0
FIFO FIFO
Reset Enable
WO
0
Word Length
Select
R/W
0
OE
RO
0x60
R/W
0
0xE000C004
0xE000C008
U0IIR
0
0
UO FIFO
Control
Register
0xE000C00C U0LCR
UO Line
Control
Register
0xE000C014 U0LSR
UO Line
Status
Register
0xE000C01C U0SCR
UO Scratch
Pad Register
0
0
Enable En. Rx
THRE Data
Int.
Av.Int
8 бит данных
UO Interrupt FIFOs Enabled
ID Register
U0FCR
0
Rx Trigger
DLAB
Set
Break
0
0
IIR3
IIR2
-
-
-
U0Tx
FIFO
Reset
Stick
Parity
IIR1
Even Parity Nm. of
Parity Enable Stop
Select
Bits
Rx FIFO TEMT THRE
Error
B1
FE
PE
8 бит данных
UART 1
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
IIR0
DR
Адрес
Имя
Описание
MSB
LSB
Доступ
сброса
После
OxEOO1OOO U1RBR
(DLAB=
O
O)
Ul Receiver
Buffer
Register
8 бит данных
RO
undefined
U1THR
(DLAB=
O)
Ul Transmit
Holding
Register
8 бит данных
WO
NA
U1DLL
(DLAB=
1)
U1IER
(DLAB=
O)
Ul Divisor
Latch LSB
8 бит данных
RW
0x01
RW
0
RW
0
RO
0x01
U0 Rx
U0
FIFO FIFO
Reset Enable
WO
0
Word Length
Select
RW
0
0xE0010004
0xE0010008
Ul Interrupt
Enable
Register
U1DLM
Ul Divisor
(DLAB= Latch MSB
1)
U1IIR Ul Interrupt ID
Register
U1FCR
0
0
FIFOs Enabled
Ul FIFO
Control
Register
0xE0010014
OxEOO1OO1
C
0xE0010018
U1LSR
Ul Modem
Control
Register
0
En.
En. Rx
Mdem Line
Satus Status
Int.
Int.
Rx Trigger
0
U l Line Status Rx FIFO
Register
Error
0
0
IIR3
IIR2
-
-
-
U0Tx
FIFO
Reset
Set Stick
Brea Parity
k
0
0
TEM THR
T
E
IIRl
Even Parity Nm. of
Parity Enable Stop
Select
Bits
IIR0
Loop
Back
0
0
RTS
DTR
RW
0
BI
FE
PE
OE
DR
RO
0x60
RW
0
Delta
CTS
RO
0
MR6 Int. MR5 Int. MR4
Int.
RW
0
RW
0
8 бит данных
U1SCR Ul Scratch Pad
Register
U1 MSR
Enable En. Rx
THRE Data
Int.
Av.Int.
8 бит данных
OxEOO1OOO U1LCR Ul Line Control DLAB
Register
C
OxEOO1OO1 U1 MCR
O
0
Ul Modem
DCD
Status Register
RI
DSR
CTS
Delta Trailing
DCD Edge RI
Delta
DSR
PWM
0xE0014000
PWM IR
PWM
Interrupt
Register
-
-
-
-
-
-
-
-
-
-
-
-
-
MRЗ MR2 Int. MRl Int. MR0
Int.
Int.
0xE0014004
PWM
TCR
PWM Timer
Control
Register
PWM
Enable
-
CTR
Reset
0xE0014008
PWM
TC
PWM Timer
Counter
32 бита данных
RW
0
0xE001400C
PWM
PR
PWM Prescale
Register
32 бита данных
RW
0
0xE0014010
PWM
PC
PWM Prescale
Counter
32 бита данных
RW
0
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
CTR
Enable
Адрес
0xE0014014
Имя
PWM
MCR
Описание
PWM Match
Control
Register
MSB
LSB
Доступ
11 бит зарезервировано Stop on Reset Int. on Stop on Reset R/W
MR6 on MR6 MR6
MR5 on MR5
После
сброса
0
Int. on Stop on Reset Int. on Stop on Reset Int. on Stop on
MR5
MR4 on MR4 MR4 MR3 on MR3 MR3
MR2
Reset Int. on Stop on Reset Int. on Stop on
on MR2 MR2 MR1 on MR1 MR1
MR0
Reset
on
MR0
Int. on
MR0
0xE0014018
PWM
MR0
PWM Match
Register 0
32 бита данных
R/W
0
0xE001401C
PWM
MR1
PWM Match
Register 1
32 бита данных
R/W
0
0xE0014020
PWM
MR2
PWM Match
Register 2
32 бита данных
R/W
0
0xE0014024
PWM
MR3
PWM Match
Register 3
32 бита данных
R/W
0
0xE0014040
PWM
MR4
PWM Match
Register 4
32 бита данных
R/W
0
0xE0014044
PWM
MR5
PWM Match
Register 5
32 бита данных
R/W
0
0xE0014048
PWM
MR6
PWM Match
Register 6
32 бита данных
R/W
0
0xE001404C
PWM
PCR
PWM Control
Register
R/W
0
PWM
LER
PWM Latch
Enable
Register
0xE0014050
-
ENA6
ENA5 ENA4 ENA3
ENA2
ENA1
-
-
SEL6
SEL5
SEL4
SEL3
SEL2
SEL1
-
Ena.
PWM
M6
Latch
Ena.
PWM
M5
Latch
Ena.
PWM
M4
Latch
Ena.
PWM
M3
Latch
Ena.
PWM
M2
Latch
Ena.
PWM
M1
Latch
Ena.
PWM
M0
Latch
R/W
0
STO
SI
AA
-
-
R/W
0
0
0
0
RO
0xF8
R/W
0
R/W
0
I2C
0xE001C000
I2CON
SET
12C Control
Set Register
0xE001C004 I2STAT
12C Status
Register
0xE001C008
I2DAT
12C Data
Register
0xE001C00C I2 ADR
12C Slave
Address
Register
-
I2EN
STA
5 бит статус
8 бит данных
7 бит данных
GC
SCL Duty
Cycle Register
High Half
Word
16 бит данных
R/W
0x04
0xE001C014 I2 SCLL
SCL Duty
Cycle Register
Low Half
Word
16 бит данных
R/W
0x04
0xE001C018
12C Control
Clear Register
0xE001C010
I2
SCLH
I2CON
CLR
-
I2ENC STAC
-
SIC
AAC
-
-
WO
NA
-
-
-
R/W
0
SP1
0xE0020000
SPCR
SP1 Control
Register
SP1E
LSBF
MSTR CPOL CPHA
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
Адрес
Имя
Описание
MS
B
0xE0020004
SPSR
SPI Status
Register
0xE0020008
SPDR
SPI Data
Register
0xE002000C
SP CCR
SPI Clock
Counter
Register
0xE002001C
SPINT
SPI Interrupt
Flag
-
-
-
-
-
-
-
0xE0024000
ILR
Interrupt
Location
Register
-
-
-
-
-
-
RTC
ALF
0xE0024004
CTC
Clock Tick
Counter
0xE0024008
CCR
Clock Control
Register
-
-
0xE002400C
CIIR
Counter
Increment
Interrupt
Register
IM
YEA
R
IM
MO
N
IM
IM
DO DOW
Y
IM
DOM
IM
HOUR
0xE0024010
AMR
Alarm Mask AM
Register
R
YEA
R
CTIME Consolidated Time Register
O
0
AM
R
MO
N
-
AM AMR
R DOW
DO
Y
-
AMR
DOM
AMR
HOUR
0xE0024014
0xE0024018
0xE002401C
CTIME Consolidated
Time Register
1
1
SPIF
LSB
WC
OL
RO MODF ABRT
VR
-
-
-
-
-
8 бит данных
R/W
0
8 бит данных
R/W
0
SPI
Int.
R/W
0
RTC
CIF
R/W
*
-
RO
*
R/W
*
IM
MIN
CLK
EN
IM
SEC
R/W
*
AMR
MIN
AMR R/W
SEC
*
CTC
RST
3 бита - день недели
RO
*
RO
*
RO
*
5 бит - часы
-
-
-
6 бит минуты
-
-
6 бит секунды
-
-
-
сброса
0
CTTEST
-
После
RO
15 бит данных
-
Доступ
12 бит - год
-
-
-
-
-
-
4 бита - месяц
-
5 бит - день месяца
20 бит зарезервировано
CTIME Consolidated
Time Register
2
2
12 бит - день в году
0xE0024020
SEC
Seconds
Register
-
-
6 бит данных
R/W
*
0xE0024024
MIN
Minutes
Register
-
-
6 бит данных
R/W
*
0xE0024028
HOUR Hours Register
-
-
-
5 бит данных
R/W
*
0xE002402C
DOM
Day of Month
Register
-
-
-
5 бит данных
R/W
*
0xE0024030
DOW
Day of Week
Register
-
-
-
R/W
*
0xE0024034
DOY
Day of Year
Register
9 бита данных
R/W
*
0xE0024038
MONT
H
Months
Register
4 бита данных
R/W
*
0xE002403C
YEAR
Year Register
R/W
*
-
7 бит зарезервировано
-
-
4 бита
зарезервировано
-
-
-
3 бита данных
12 бит данных
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
Адрес
Имя
Описание
MSB
LSB
Доступ
После
сброса
0xE0024060 AL SEC Alarm value for
Seconds
-
-
6 бит данных
RW
*
0xE0024064 AL MIN Alarm value for
Minutes
-
-
6 бит данных
RW
*
0xE0024068
Alarm value for
AL
Hours
HOUR
-
-
-
5 бит данных
RW
*
0xE002406C AL DOM Alarm value for
Day of Month
-
-
-
5 бит данных
RW
*
0xE0024070 AL DOW Alarm value for
Day of Week
-
-
-
RW
*
0xE0024074 AL DOY Alarm value for
Day of Year
7 бит
зарезервировано
RW
*
0xE0024078 AL MON Alarm value for
Months
-
RW
*
-
-
3 бита данных
-
9 бита данных
-
4 бита данных
-
Alarm value for
4 бита
AL
Year
зарезервировано
YEAR
12 бит данных
RW
*
0xE0024080 PRE INT Prescale value,
3 бита
integer portion зарезервировано
13 бит данных
RW
0
RW
0
0xE002407C
0xE0024084
PRE
FRAC
Prescale value,
fractional
portion
15 бит данных
-
GPIO
0xE0028000
IOPIN GPIO Pin value
register
32 бита данных
RO
NA
0xE0028004
IOSET
GPIO 0 Output
set register
32 бита данных
R/W
0
0xE0028008
IODIR
GPIO 0
Direction
control register
32 бита данных
R/W
0
0xE002800C IOCLR
GPIO 0 Output
clear register
32 бита данных
WO
0
Pin function
select register 0
32 бита данных
R/W
0
Pin function
select register 1
32 бита данных
R/W
0
2 бита данных R/W
0
Pin Connet Block
0xE002C000
PIN
SELO
0xE002C004 PIN SEL1
System Control Block
0xE01FC000 МАМ CR MAM control
register
-
-
-
-
-
0xE01FC004
МАМ
TIM
MAM timing
control
-
-
-
-
-
0xE01FC040
MEM
MAP
Memory
mapping control
-
-
-
-
-
-
2 бита данных R/W
0
PLL control
register
-
-
-
-
-
-
PLLC
0
0xE01FC080 PLL CON
-
3 бита данных
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
R/W
PLLE R/W
0x07
Адрес
Имя
0xE01FC084 PLL CFG
Описание
MS
B
PLL
configuration
register
-
PLL
STAT
PLL status
register
-
0xE01FC08C
PLL
FEED
PLL feed
register
0xE01FC0C0
PCON
Power control
register
0xE01FC0C4 PCONP
Power control
for peripherals
0xE01FC088
-
LSB
2 бита PSEL
-
-
5 бит данных MSEL
-
PLLE
8 бит данных
-
-
-
-
-
-
22 бит зарезервировано
PC
I2C
-
PC
PWM0
сброса
R/W
0
RO
0
WO
NA
R/W
0
После
5 бит данных MSEL
0xE01FC100 VPB DIV
VPB divider
control
-
-
-
0xE01FC140 EXT INT
External
interrupt flag
register
-
-
-
-
External
interrupt
wakeup register
-
-
-
-
EXT
WAKE
PLOCK PLLC
2 бита PSEL
PC
URT
1
-
0xE01FC144
-
Доступ
PC
URT
0
-
PD
IDL
PC RTC PC SPI R/W
PC
TIM1
-
PC
TIM0
0x3BE
-
2 бита данных
R/W
0
-
EINT2 EINT1 EINTO R/W
0
-
EXT
EXT
EXT R/W
WAKE WAKE WAKE
O
2
1
0
КАРТА ПАМЯТИ
ЬРС2106/2105/2104 содержит несколько различных областей памяти, показанных на
следующих рисунках. Рисунок 2 показывает полную карту всего адресного пространства с точки
зрения пользовательской программы после сброса. Размещение векторов исключений зависит от
переназначение памяти, которая будет описана позже в этой главе
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
4,0 Г6 3,75 Г6 3,5 Г6
АНВпереферия
0xFFFF FFFF 0xF000 0000 0xE0000000
УРВпереферия
3,0 Г6
Зарезервировано для внешней 0xC000 0000
памяти
2,0 Г6
0x8000 0000
Загрузочный блок (переопределен на внутреннюю
flash память)
Зарезервировано для
внутренней памяти
1,0 Г6
0x4000 FFFF: LPC2106 (64 kB) 0x4000
7FFF: LPC2105 (32 кв) 0x4000 3FFF:
LPC2104 (l6 kB)
Внутреннее СОЗУ
0x4000 0000 0x0002 0000
Энергонезависимая
встроенная память на 128 КБ
0x0001 FFFF 0x0000 0000
0,0 Г6
Рисунок 2. Карта Памяти Системы
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
OxFFFF FFFF
4,0 Гб 4,0 Гб -
АНВпереферия
2 Мб
Примечание
OxFFEO
OOOO
OxFFDF
FFFF
Зарезервировано
Блок АНВ состоит из 128
16ти Кбайтных блоков
общей емкостью 2
Мбайат.
Блок УРВ состоит из 128 16ти
Кбайтных блоков общей емкостью 2
Мбайат.
OxFOOOOO
OO OxEFFF
FFFF
3,75 Гб
Зарезервировано
3,5 Гб + 2 Мб
УРВпереферия
3,5 Гб
OxEO2OOO
OO OxEOlF
FFFF
OxEOOOOOO
O
Рисунок 3. Карта Памяти Периферийных Устройств
Рисунки 3 - 5
показывают различные представления адресного пространства
периферийного оборудования. И АНВ и УРВ периферия занимает области по 2 мегабайта,
которые разбиты на 128 устройств. Каждое устройство занимает 16 килобайт. Это позволяет
упрощать расшифровку адреса периферийного устройства. Все адреса периферийных устройств
выровнены по границе слова (32 бита) независимо от размера данных.
Контроллер векторов прерываний
АНВпереферия №126
АНВпереферия №№125
OxFFFF FFFF OxFFFF FOOO(4G-4K)
OxFFFF COOO OxFFFF 8OOO
OxFFFF 4OOO OxFFFF OOOO
АНВпереферия .№124
—==
OxFFEl OOOO OxFFEO COOO
АНВпереферия .№3
АНВпереферия №2
OxFFEO 8OOO OxFFEO 4OOO OxFFEO
АНВпереферия №1
OOOO
АНВпереферия №O
Рисунок 4. Карта Памяти АНВ Периферийных Устройств
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
OxEOlF FFFF
System Control Block
VPB nepe^epna №127
OxEOlF COOO
VPB nepe^epna №126
OxEOlF 8OOO
OxEOO4 OOOO
VPB nepe^epna .№15
OxEOO3 COOO
VPB nepe^epna №14
OxEOO3 8OOO
VPB nepe^epna №13
OxEOO3 4OOO
VPB nepe^epna .№12
OxEOO3 OOOO
Pin Connect Block
VPB nepe^epna №11
GPIO
VPB nepe^epna №10
RTC
VPB nepe^epna №9
SPI
VPB nepe^epna №8
OxEOO2 COOO
OxEOO2 8OOO
OxEOO2 4OOO
OxEOO2 OOOO
2
IC
VPB nepe^epna №7
OxEOOlCOOO
VPB nepe^epna №6
OxEOOl8OOO
PWM0
VPB nepe^epna №5
UART1
VPB nepe^epna №4
UART0
VPB nepe^epna №3
Timer1
VPB nepe^epna №2
TimerO
VPB nepe^epna №1
Watchdog Timer
VPB nepe^epna №0
OxEOOl4OOO
OxEOOlOOOO
OxEOOO COOO
OxEOOO8OOO
OxEOOO 4OOO
OxEOOO OOOO
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
Рисунок 5. Карта Памяти VPB Периферийных Устройств
LPC2106/2105/2104
ПЕРЕНАЗНАЧЕНИЕ
ЗАГРУЗОЧНЫЙ БЛОК
ПАМЯТИ
И
Концепция адресного пространства и режимы функционирования
Основная концепция LPC2106/2105/2104 - в том, что каждая область памяти имеет
"естественное" местоположение в адресном пространстве. Это означает, что код пишется для той
области, в которой он будет располагаться. Большая часть адресуемого пространства памяти
остается постоянно установленной в одном и том же месте, устраняя необходимость в программном
коде, работающем в любом месте памяти.
Из-за расположения векторов исключений на ARM7 процессоре (в адресах с 0x0000 0000 по
0x0000 001C, как показано в Таблице 2 ниже), маленькая часть загрузочного блока и области СОЗУ
должна быть переназначена, чтобы позволить альтернативные использования прерываний в
различных режимах функционирования, описанных в Таблице 3.
Адрес
Исключение
0x0000 0000
Сброс
0x0000 0004
Неопределенная комманда
0x0000 0008
Программное исключение
0x0000 000C
Аварийное прекращение упреждающей выборки (выборка инструкции
приводит к ошибке памяти)
0x0000 0010
Аварийное прекращение обращения к данным (обращение к памяти приводит
к ошибке памяти)
0x0000 0014
Зарезервировано *
0x0000 0018
IRQ
0x0000 001C
F1Q
* - отмечен как зарезервированный в документации к ARM, но используется начальным загрузчиком
для определения корректной программы пользователя.
Таблица 2. Расположение векторов исключений.
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
Режим
Активация
Использование
Режим
начального
загрузчика
После сброса.
Режим
использования
Flash
Программная
Активируется начальным загрузчиком, если в памяти распознана корректная программа
активация
из пользователя, действия загрузчика прекращаются, и память не переназначается. Память
загрузочного кода
таблицы векторов исключений располагается в начале Flash памяти.
Режим
использования
ОЗУ
Программная
активация из
пользовательской
программы
Начальный загрузчик всегда выполняется после любого сброса. Память таблицы векторов
исключений загрузочного блока переназначаются на начало памяти участка загрузочного
блока, позволяя обрабатывать исключения во время загрузки.
Активируется программой пользователя при необходимости. Память таблицы векторов
исключений переназначается в начало СОЗУ
Таблица 3. Режими переназначения памяти.
ПЕРЕНАЗНАЧЕНИЕ ПАМЯТИ
Для совместимости с будущими разработками, виртуальное адресное пространство
загрузочного блока размещено в вершине адресного пространства внутренней памяти. При этом,
использование больших или маленьких flash модулей не повлечет изменения местоположения
загрузочного блока (которое требовало бы изменения кода начального загрузчика) или изменения
адресов векторов исключений блока начальной загрузки. Другие участки памяти кроме векторов
исключений остаются в установленных местах. На рис. 6 показано адресное пространство
внутренней памяти, для всех способов переопределения памяти.
Участок памяти, который переопределяется, для организации обработки исключений в
различных способах, включает область таблицы векторов исключений (32 байта) и дополнительные
32 байта, для общего количества равного 64 байтам. Переопределенный блок таблицы адресов
исключений накладывается на адресное пространство с 0x0000 0000 по 0x0000 003F. Типичная
программа пользователя в flash памяти может разместить обработчик FIQ непосредственно с адреса
0x0000 001С не учитывая переназначение памяти. Обработчик исключения или набор инструкций,
которые ссылаются на обработчик исключения в СОЗУ, внешней памяти, и блоке начальной
загрузки может размещается фактически в области таблицы исключений.
Есть три причины для выбора такой конфигурации:
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
1.
2.0ГВ
--------------------- — ------------------------- ---- 0x8000 0000
8 Кбайт. Загрузочный блок
0x7FFF FFFF
(переназначен на верхний участок Аазіїпамяти)
2.0 ГВ - 8K
(таблица адресов прерываний загрузочного блока)
Зарезервированная область
0x4000 FFFF
Встроеное СОЗУ 0x4000 FFFF:
LPC2106 (64 кВ) 0x4000 7FFF: LPC2105
(32 кв) 0x4000 3FFF: LPC2104 (і6 кВ)
1.0ГВ
(таблица адресов прерываний СОЗУ)
0x4000 0000
0x3FFF FFFF
0x0001 FFFF
(8КБайт могут выделятся под загрузочный блок)
Встроенная flash память
0.0ГВ
Действительная таблица прерываний (может
переопределяется на загрузочный блок или
СОЗУ)
0x0000 0000
ИСКЛЮЧЕНИЯ
АВАРИЙНОГО
ПРЕКРАЩЕНИЯ
УПРЕЖДАЮЩЕЙ ВЫБОРКИ И АВАРИЙНОГО ПРЕКРАЩЕНИЯ
ОБРАЩЕНИЯ К ДАННЫМ
LPC2106/2105/2104 производит соответствующее исключение аварийного прекращения
работы шины, если запрошен адрес из зарезервированной или неиспользуемой области памяти. Это
области:
1. Области адресного пространства, которые не используются в данном микроконтроллере.
Для LPC2106/2105/2104, это:
• Адресное пространство между встроенной энергонезависимой памятью и специальными
регистрами, обозначенной как "Зарезервированная для внутренней памяти" на рис.2 и
рис.6.
• Адресное пространство между внутренней Статической ОЗУ и Внешней Памятью.
Обозначенный как "Зарезервировано для внутренней памяти" на рис.2.
• Внешняя Память (так как внешняя шина не реализована на LPC2106/2105/2104).
• - Зарезервированная область в пространстве AHB и VPB. См. Рис.3.
2. Неиспользуемые Области адресного пространства AHB. см. Рис.4.
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
3. Неиспользуемые Области адресного пространства VPB. см. Рис.5.
Для этих областей, любая предпринимаемая попытка доступа к данным или попытка чтения
инструкции вызывают исключение. Кроме того, исключение Аварийного прекращения работы
упреждающей выборки генерируется при обращению к пространству AHB или VPB переферии.
В пределах адресного пространства VPB периферии, исключение аварийного прекращения
обращения к данным не производится в ответ на запрос неопределенного адреса. Расшифровка
адреса в пределах каждой периферии ограничена только выбором соответствующего регистра, а при
обращении к неопределенному адресу происходит обращение к какому либо регистру в пределах
этой переферии. Например, при обращении к регистру 0xE000D000 (неопределенный адрес в
пределах UART0) может произойти доступ к регистру, определенному в адресе 0xE000C000. Детали
такого совмещения имен адреса в пределах периферийного устройства - неопределены в
документации по LPC2106/2105/2104.
Обратите внимание, что ARM ядро хранит флаг аварийного прекращения упреждающей
выборки вместе со связанной инструкцией в очередь комманд, и аварийное прекращение
упреждающей выборки, происходит только если попытка обращения к адресу сделана. Это
предотвращает случайные аварийные прекращения работы, которые могли быть вызваны
упреждающей выборкой, когда код выполнен на границе памяти.
БЛОК УПРАВЛЕНИЯ СИСТЕМЫ
ОБЗОР ФУНКЦИЙ БЛОКА УПРАВЛЕНИЯ СИСТЕМЫ
Блок управления системы включает несколько особенностей системы и регистров управления
для множества функций, которые не связаны с определенными периферийными устройствами.
Они включают:
• Встроенный тактовый генератор.
• Внешние входы прерываний.
• Управление переназначением памяти.
• РЬЬ.
• Управление питанием.
• Сброс.
• УРВ делитель.
• Таймер пробуждения.
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
ОПИСАНИЕ ВЫВОДОВ
В табл. 4 приведены выводы, используемые в блоке управления системы.
Направление
Описание
Наименование
X1
вход
Вход встроенного тактового генератора или внешних тактовых
импульсов
X2
выход
Инверсный выход встроенного тактового генератора
EINTO
вход
EINT1
вход
EINT2
вход
Вход внешнего Активным является сигнал низкого уровня. Этот
прерывания 0. вывод может использоваться для вывода
процессора из режима «idle» или «PowerDown»
Вход внешнего
режимов. Низкий уровень на этих выводах сразу
прерывания 1.
после сброса переводит процессор в ISP режим.
Вход внешнего Более детально о ISP можно прочесть в
прерывания 2. соответствующем разделе.
RST
вход
Сброс
Сигнал низкого уровня сбрасывает
микроконтроллер.
Табл. 4. Назначение выводов.
ОПИСАНИЕ РЕГИСТРОВ
Все регистры, независимо от размера, находятся на границах адреса слова. Более
подробно регистры описаны в описании каждой функции.
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
Адрес
Имя
Описание
Досту п После"
сброса
Внешние прерывания
0xE01FC140
0xE01FC144
Регистр флагов внешних прерываний.
R/W
0
EXTWAKE Регистр wakeup внешних прерываний.
R/W
0
R/W
0
EXTINT
Управление переназначением памяти
0xE01FC040
MEMMAP Управление переназначением памяти
PLL
0xE01FC080
PLLCON
РЬЬ управляющий регистр.
R/W
0
0xE01FC084
PLLCFG
РЬЬ регистр конфигурации.
R/W
0
0xE01FC088
PLLSTAT РЬЬ регистр состояния.
RO
0
0xE01FC08C
PLLFEED РЬЬ задающий регистр.
WO
NA
0
Управление питанием
0xE01FC0C0
PCON
Регистр управления питанием.
R/W
0xE01FC0C4
PCONP
Регистр управления питанием переферии.
R/W
VPBDIV
Регистр управления VPB делителем.
R/W
0x3BE
VPB делитель
0xE01FC100
* - Поле «После сброса» отражает только состояние используемых битов.
Таблица 5. Обзор регистров управления системой
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
0
Download