Предыдущая Следующая

Банк

Диапазон адресов

Конфигурационный регистр

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 ? | ПРОГРАММАТОР | ПРОЕКТЫ | СТАТЬИ | ССЫЛКИ | КАРТА САЙТА
Hosted by uCoz