Банк |
Диапазон адресов |
Конфигурационный регистр |
0 |
8000 0000.. .80FF FFFF |
BCFG0 |
1 |
8100 0000...81 FF FFFF |
BCFG1 |
2 |
8200 0000...82FF FFFF |
BCFG2 |
3 |
8300 0000...83FF FFFF |
BCFG3 |
Как отмечалось выше, контроллер внешней статической памяти имеется только в представителях семейства LPC2000, выполненных в 144-выводном корпусе (например, LPC2219/94). Описание выводов, связанных с интерфейсом внешней памяти, приводится в Табл. 3.2. Поскольку для обращения к линиям адресов внешней памяти используются имеющиеся выводы микроконтроллера А[23:0], то для декодирования четырех банков памяти используются биты адреса А[25:24]. В соответствии со стандартами производителя (фирмы NXP), эти четыре банка располагаются в начале области внешней памяти, изображенной на Рис. 2.1, однако банк 0 может быть задействован для начальной загрузки при активации режима внешнего пользователя с помощью выводов микроконтроллера BOOT [1:0] (см. Табл. 2.8).
Таблица 3.2. Описание выводов контроллера внешней памяти EMC LPC2000
Название |
Тип |
Описание вывода |
D[31:0] |
Входы/выходы |
Линии данных внешней памяти |
А[23:0] |
Выходы |
Линии адреса внешней памяти |
ОЕ |
Выход |
Сигнал разрешения вывода с активным НИЗКИМ уровнем |
BLS[3:0] |
Выходы |
Сигналы выбора маршрута байта с активным НИЗКИМ уровнем |
WE |
Выход |
Сигнал разрешения записи с активным НИЗКИМ уровнем |
CS[3:0] |
Выходы |
Сигналы выбора кристалла с активным НИЗКИМ уровнем |
3.3. Регистры ЕМС
Контроллер внешней памяти ЕМС содержит 4 регистра, которые перечислены в Табл. 3.3. Битовая структура регистров контроллера внешней памяти BCFG0...BCFG3 приведена в Табл. 3.4.
Таблица 3.3. Карта регистров контроллера внешней памяти ЕМС
Название |
Описание |
Доступ |
Значение после сброса |
Адрес |
BCFG0 |
Конфигурационный регистр для банка памяти 0 |
Чтение/запись |
0x0000 FBEF |
0xFFE00000 |
BCFG1 |
Конфигурационный регистр для банка памяти I |
Чтение/запись |
0x2000 FBEF |
0xFFE00004 |
BCFG2 |
Конфигурационный регистр для банка памяти 2 |
Чтение/запись |
0x1000 FBEF |
0xFFE00008 |
BCFG3 |
Конфигурационный регистр для банка памяти 3 |
Чтение/запись |
0x0000 FBEF |
OxFFEOOOOC |
304
Таблица 3.4. Регистры конфигурации банков 0...3
(BCFG0...BCFG3 - 0xFFE00000...FFE0000C)
BCFG0...3 |
Название бита |
Функция бита |
Значение после сброса |
3:0 |
IDCY |
Это поле задает минимальное количество неактивных циклов CCLK, которое контроллер внешней памяти генерирует между обращением для чтения и обращением для записи в данном банке. Неактивные циклы генерируются также между обращениями к данному и к другому банкам, чтобы избежать конфликтной ситуации между устройствами памяти при обращении к шине. Количество неактивных циклов CCLK между такими обращениями равно значению в этом поле плюс 1 |
1111 |
4 |
Зарезервирован |
Зарезервированный бит. Пользовательское программное обеспечение не должно производить запись в зарезервированные биты. Значение, получаемое при чтении зарезервированного бита, не определено |
NA |
9:5 |
WST1 |
Это поле управляет длительностью обращения для чтения, если последующие операции чтения являются чтением burst-ROM. Эта длительность (в циклах CCLK) равна значению в данном поле плюсЗ |
11111 |
10 |
RBLE |
Этот бит должен быть равен 0 для банков с байтовой организацией или без байтового деления, чтобы контроллер внешней памяти в ходе обращения для чтения устанавливал выходы BLS3:0. Этот бит должен быть равен 1 для банков, имеющих организацию по 16 и 32 бита, включая входы выбора байта, чтобы контроллер внешней памяти в ходе обращения для чтения сбрасывал выходы BLS3:0 |
0 |
15:11 |
WST2 |
Для SRAM банков это поле управляет длительностью обращений для записи, при этом: — если уровни на линиях CS, BLS и WE установлены в 1, процесс установки адреса занимает один цикл CCLK; — если уровни на линиях CS, BLS и WE сброшены в 0, длительность обращения по действительному адресу равна (в циклах CCLK) значению данного поля плюс 1; — если линия CS сброшена, а линии BLS и WE установлены, длительность обращения по действительному адресу равна 1 цикл CCLK. Для банков burst-ROM это поле управляет длительностью последующих обращений, равных по длительности значению поля плюс 1 (в циклах CCLK) |
11111 |
16:23 |
Зарезервирован |
Зарезервированный бит. Пользовательское программное обеспечение не должно производить записать в зарезервированные биты. Значение, получаемое при чтении зарезервированного бита, не определено |
NA |
24 |
BUSERR |
Этот бит устанавливается в 1 лишь в том случае, когда контроллер внешней памяти детектирует запрос АМВА более чем на 32 бита данных. Ядро ARM7TDMI-S не будет производить такой запрос |
0 |
25 |
WPERR |
Этот бит устанавливается, если пользовательское программное обеспечение пытается произвести запись в защищенный банк (бит WP установлен в 1) |
0 |
26 |
WP |
Установка этого бита в 1 защищает банк от записи |
0 |
27 |
ВМ |
Установка этого бита в 1 определяет банк как burst-ROM |
0 |
29:28 |
MW |
Это поле задает разрядность шины данных для данного банка: 00 = 8 битов, 01 = 16 битов, 10 = 32 бита, 11 = зарезервировано |
См. Табл. 3.5 |
31:30 |
AT |
В это поле всегда следует записывать 00 |
00 |
В каждом из этих регистров для соответствующего ему банка памяти можно задавать:
НА ГЛАВНУЮ | | ЧТО ТАКОЕ PIC ? | | ПРОГРАММАТОР | | ПРОЕКТЫ | | СТАТЬИ | | ССЫЛКИ | | КАРТА САЙТА |