Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CSoC.doc
Скачиваний:
24
Добавлен:
11.02.2015
Размер:
2.72 Mб
Скачать

2.6 Блок сопряжения с внешней памятью miu

Блок сопряжения с внешней памятью представляет собой гибкий, непривязанный интерфейс между конфигурируемой системой на кристалле и устройствами внешней памяти, как показано на рис.27. Обеспечивает связь с такими устройствами памяти, как Flash ППЗУ, которое содержит данные конфигурации и пользовательские программы, статическое ОЗУ или СППЗУ. Сигналы управления для всех устройств памяти идентичны.

Рис.27. Интерфейс блока сопряжения с внешней памятью обеспечивает связь между микроконтроллером, функциями его периферии и устройствами внешней памяти

Блок сопряжения с внешней памятью предназначен для выполнения двух задач:

  1. предоставить гибкую многоканальную шину данных и адреса для подключения устройств внешней памяти, не используя при этом дополнительные порты ввода/вывода;

  2. обеспечить удобный порт для доступа внешних функций из других периферийных устройств, включая конфигурируемую логическую матрицу.

Как показано на рис.27, MIU обеспечивает прямую связь между микроконтроллером и внешней памятью. Не используя ресурсов внутренней шины, конфигурируемая система на кристалле поддерживает синхронизацию, аналогичную для микроконтроллера стандарта 8051.

Синхронизация доступа к внешней памяти может быть различной, но допустимой в рамках конфигурируемой системы на кристалле Е5, предполагая возможность оптимизации или замедления процесса доступа к различным устройствам внешней памяти с различными динамическими характеристиками. MIU может также взаимодействовать с внешним ППЗУ с последовательной выборкой для конфигурации программируемых вентильных матриц со структурой статического ОЗУ.

Выводы адреса, данных и управления блока сопряжения с внешней памятью могут контролироваться другими периферийными функциями, включая конфигурируемую логическую матрицу, чтобы разрешить и обеспечить доступ к внешним устройствам периферии и памяти. При этом блок MIU затрачивает минимальные ресурсы организационной логики конфигурируемой матрицы.

Главные особенности блока сопряжения с внешней памятью:

  1. поддерживает интерфейс с внешней памятью стандарта 256К8;

  2. возможность расширения внешней памяти до 4G8 через программируемые порты ввода/вывода;

  3. возможность программирования процесса синхронизации для операций чтения и записи;

  4. возможность режима прямого доступа микроконтроллером к внешней памяти;

  5. возможность подключения внешних устройств памяти с последовательным интерфейсом;

  6. возможность расширения системы через режим Multi-chip.

Функциональное описание

Блок сопряжения с внешней памятью обеспечивает взаимодействие внутренней системной шины с внешней памятью. Отслеживая внутреннюю шину, блок MIU следит за состоянием внешнего устройства, чтобы определить момент, когда оно будет доступно для записи или для чтения. В момент, когда устройство окажется готовым к обмену, блок сопряжения выставит соответствующие сигналы записи, чтения и управления.

Как было сказано ранее, процесс синхронизации для операций чтения и записи может быть запрограммирован пользователем. Три бита в регистре MIUCTRL0 определяют синхронизацию для каждой части внешних циклов. Цикл чтения разделен на 2 части: установочную и активную, как показано на рис.28. Для того, чтобы поддержать один цикл чтения, минимальные значения установочной и активной частей должны быть соответственно 0 и 1. Передний фронт сигнала ОЕ возникает в момент спадающего фронта тактового сигнала, а задний фронт – в момент нарастающего фронта тактового сигнала. В одном цикле чтения, в зависимости от количества рабочих тактов, время установки и длительность сигнала ОЕ первоначально составляют приблизительно по полтакта и могут быть увеличены до 7 ½ тактов. В конечном счете, цикл чтения может быть запрограммирован на время 25 ÷ 375 нс с кратностью 25 нс (время одного такта) при тактовой частоте 40 МГц.

Рис.28. Обобщенный цикл чтения данных через блок MIU

Рис.29. Один такт цикла чтения данных через блок MIU

Цикл записи разделен на три части: установочная, активная и временная задержка, как показано на рис.30. Последняя часть является необязательной. Первые две части аналогичны тем, что были описаны для цикла чтения, только в данном случае активизируется сигнал разрешение записи WE.

Время удержания данных на шине необходимо для устройств, не отвечающих заданному быстродействию системы, поэтому в зависимости от быстродействия устройства третья часть может занимать в цикле записи от 0 до 7 тактов. Вариант самой быстрой записи реализуется за один такт, где по полтакта приходится на первую и вторую части. Поскольку каждая из этих частей может быть увеличена до 7 ½ тактов, то в целом, цикл записи без задержки может быть запрограммирован на время 25 ÷ 375 нс с кратностью 25 нс. Если учесть время максимальной временной задержки, которое составляет 7 тактов, или 175 нс, то цикл записи может быть запрограммирован на время 25 ÷ 550 нс с кратностью 25 нс. при тактовой частоте 40 МГц.

Рис.30. Обобщенный цикл записи через блок MIU

Рис.31. Один такт цикла записи данных через блок MIU

Поддержка циклов ожидания

Необходимость во временной задержке возникает при каждой операции чтения данных из устройства внешней памяти, исключая случаи сопряжения с быстродействующим устройством, когда цикл чтения может быть организован за один такт.

Операция записи данных во внешнее устройство может быть реализована за любое время. Поскольку в процессе записи адрес и данные сохраняются в буфере, то блок сопряжения с внешней памятью не нуждается в ресурсах системной шины для постоянного предоставления данных. Организация временной задержки необходима в том случае, когда во время записи данных в устройство внешней памяти возникает необходимость в очередном доступе к памяти.

Поскольку блок сопряжения с внешней памятью поддерживает режим прямого доступа микроконтроллера к устройству внешней памяти без затрат ресурсов внутренней шины, то временная задержка возникает из-за того, что каждый протокол обмена по обходному пути дублируется на внутренней шине в целях отладки. Сигнал ожидания синхронизируется в соответствии с копией протокола на шине.

Арбитраж запросов

Существуют три потенциальных источника, которые во взаимодействии с блоком сопряжения с внешней памятью выступают в роли мастера:

  1. любой мастер, который через системную шину может иметь доступ к блоку MIU;

  2. микроконтроллер, который, не используя ресурсов внутренней шины, может иметь прямой доступ к блоку MIU;

  3. программируемые адресные селекторы, которые могут генерировать запросы внешней памяти.

Режим запроса внешней памяти

Программный модуль, реализованный в логической матрице, используя ресурсы блока MIU, также может получить доступ к внешней памяти. Функции логической матрицы могут неоднократно использовать сигналы адреса и данных, а также некоторые сигналы управления ОЕ и WE. Логическая матрица может запросить цикл обмена с внешней памятью, используя специальный режим селектора для генерации сигнала активизации устройства CE, направленного к устройству внешней памяти. Сигналы управления WE, ОЕ, адреса и данных генерируются через блок MIU. Сигналы WE и OE были рассмотрены ранее, как и то, что передний фронт этих сигналов возникает в момент спадающего фронта тактового сигнала, а задний фронт – в момент нарастающего фронта тактового сигнала. Поэтому становится возможным протекание операций чтения и записи за один такт. По сигналу WAITNEXT блок MIU оценивает готовность устройства внешней памяти принять или предоставить данные и при необходимости увеличивает длительность сигналов управления (OE, WE), а также определяет момент времени, когда можно закончить текущий цикл обмена и организовать новый.

Установочная часть цикла записи составляет всегда ½ такта, но при необходимости, она может быть расширена на целое число тактов до 7. Временная задержка, которая организуется во время цикла записи, обусловлена только задержкой на линиях адреса и данных, запрашивающих внешнюю память с нулевым временем удержания. Если для приложения требуется индивидуальная синхронизация, то сигналы OE и WE генерируются логической матрицей, для чего необходимо, чтобы вывода порта были соединены с соответствующими выводами устройства внешней памяти.

Инициализация блока MIU

После сброса системы при включении питания или других аппаратных сбросов блок сопряжения с внешней памятью начинает работать как мастер на системной шине. При этом он оказывается в состоянии готовности получать команды от устройства внешней памяти, что удобно при инициализации системы в режиме Slave. Если вывод SLAVE- подтянут к питанию, то в процессе инициализации системы блок MIU станет подчиненным.

В случае сброса системы при включении питания или других аппаратных сбросов вывод CE- оказывается подтянутым к питанию через нагрузочный резистор с целью исключить процесс случайной записи.

Описание регистров блока сопряжения с внешней памятью

Блок MIU и режимы его работы программируются через четыре регистра.

Регистр определения режима работы блока MIU

Этот регистр определяет текущий режим работы блока MIU.

Мнемоника: MIUMODE Адрес: FE30H

Бит SLAVE, когда установлен, определяет режим подчиненного для блока MIU. Для большинства отдельных приложений этот режим используется после конфигурации. Бит очищается после сброса системы.

Бит MASTER, когда установлен, назначает блок MIU мастером на внутренней системной шине. Этот режим является первоначальным на момент включения питания. Бит устанавливается после сброса системы.

Бит SER_RD, когда установлен, определяет режим работы блока MIU, при котором данные конфигурации считываются из внешнего ППЗУ с последовательной выборкой. Бит очищается после сброса системы при включении питания или других аппаратных сбросов.

Бит SER_WR используется для программирования внешних устройств памяти типа FLASH или ППЗУ с последовательной выборкой, основанного на структуре СППЗУ. Бит очищается после сброса системы при включении питания или других аппаратных сбросов.

Биты DMA_RD и DMA_WR необходимо оставлять очищенными. Они являются битами зарезервированного режима MIU, используемого в процессе производства. Бит очищается после сброса системы при включении питания или других аппаратных сбросов.

! Контрольные регистры блока MIU являются частью набора «скрытых» контрольных регистров конфигурируемой системы на кристалле Е5. Для того, чтобы получить к ним доступ, необходимо установить бит BLOCKSIZE в регистре DMAP3_CTL. Контрольные регистры обычно не модифицируются пользовательским кодом.

Контрольные регистры синхронизации

Регистр этого типа определяют синхронизацию процессов чтения и записи, определяют длительность сигналов управления, генерируемых блоком MIU. Значение временной задержки в цикле записи определяется тремя битами WHT[2:0], которые распределены между двумя контрольными регистрами.

Мнемоника: MIUCTRL0 Адрес:FE31H

Биты WSU [2:0] определяют длительность первой части цикла записи, т.е. определяют число дополнительных тактов, которые будут добавлены к первоначальному минимальному значению установочной части цикла. Фактическое значение времени определяется как произведение суммы определяемого тремя битами значения и ½ такта на период одного такта, т.е. (WSU[2:0] + ½) * TCLOCK. Все биты устанавливаются после сброса системы при включении питания или других аппаратных сбросов, что соответствует максимальному значению длительности установочной части цикла записи, принятому для самых медленных устройств.

Длительность установочной части цикла записи Таблица 15

WSU2

WSU1

WSU0

Количество тактов

0

0

0

0.5

0

0

1

1.5

0

1

0

2.5

0

1

1

3.5

1

0

0

4.5

1

0

1

5.5

1

1

0

6.5

1

1

1

7.5

(по умолчанию)

Биты WPW [2:0] определяют длительность второй части цикла записи. Фактическое значение времени определяется как (WPW[2:0] + ½) * TCLOCK. Все биты устанавливаются после сброса системы при включении питания или других аппаратных сбросов, что соответствует максимальному значению длительности активной части цикла записи, принятому для самых медленных устройств.

Длительность активной части цикла записи Таблица 16

WPW 2

WPW 1

WPW 0

Количество тактов

0

0

0

0.5

0

0

1

1.5

0

1

0

2.5

0

1

1

3.5

1

0

0

4.5

1

0

1

5.5

1

1

0

6.5

1

1

1

7.5

(по умолчанию)

Биты WHT [2:0] определяют длительность третьей части цикла записи. Фактическое значение времени определяется как WHT[2:0] * TCLOCK. Все биты устанавливаются после сброса системы при включении питания или других аппаратных сбросов, что соответствует максимальному значению временной задержке в цикле записи, принятому для самых медленных устройств.

Примечание: Бит WHT2 расположен в регистре MIUCTRL1.

Установка длительности задержки Таблица 17

WHT 2

WHT 1

WHT 0

Количество тактов

0

0

0

0

0

0

1

1

0

1

0

2

0

1

1

3

1

0

0

4

1

0

1

5

1

1

0

6

1

1

1

7

(по умолчанию)

Мнемоника: MIUCTRL 1 Адрес:FE32H

Биты RSU [2:0] определяют длительность первой части цикла чтения, т.е. определяют число дополнительных тактов, которые будут добавлены к первоначальному минимальному значению установочной части цикла. Фактическое значение времени определяется как произведение суммы определяемого тремя битами значения и ½ такта на период одного такта, т.е. (RSU[2:0] + ½) * TCLOCK. Все биты устанавливаются после сброса системы при включении питания или других аппаратных сбросов, что соответствует максимальному значению длительности установочной части цикла чтения, принятому для самых медленных устройств.

Установка длительности неактивной части цикла чтения Таблица 18

RSU2

RSU1

RSU0

Количество тактов

0

0

0

0.5

0

0

1

1.5

0

1

0

2.5

0

1

1

3.5

1

0

0

4.5

1

0

1

5.5

1

1

0

6.5

1

1

1

7.5

(по умолчанию)

Биты RPW [2:0] определяют длительность второй части цикла чтения. Фактическое значение времени определяется как (RPW[2:0] + ½) * TCLOCK. Все биты устанавливаются после сброса системы при включении питания или других аппаратных сбросов, что соответствует максимальному значению длительности активной части цикла чтения, принятому для самых медленных устройств.

Установка длительности импульса ОЕ Таблица 19

RPW2

RPW 1

RPW 0

Количество тактов

0

0

0

0.5

0

0

1

1.5

0

1

0

2.5

0

1

1

3.5

1

0

0

4.5

1

0

1

5.5

1

1

0

6.5

1

1

1

7.5

(по умолчанию)

Бит XMCU разрешает дополнительный такт для установочной части в расширенных циклах. Очищается после сброса системы при включении питания и других аппаратных сбросов.

Регистр управления работой MIU с внешними устройствами памяти с последовательным интерфейсом

Этот регистр обеспечивает управление последовательным режимом конфигурации системы и внешним программируемым устройством ППЗУ с последовательной выборкой, основанным на структуре Flash или СППЗУ памяти.

Мнемоника: MIUSCTLАдрес:FE33H

Бит RESET_OE управляет выводом RESET/OE устройства внешней памяти через вывод ОЕ блока MIU. Устанавливается после сброса системы при включении питания и других аппаратных сбросов.

Бит SER_EN управляет выводом WE внешнего устройства ППЗУ, основанного на структуре Flash или СППЗУ памяти, во время программирования. Устанавливается после сброса системы при включении питания и других аппаратных сбросов.

Бит CE управляет выводом активизации устройства внешней памяти ППЗУ с последовательной выборкой. Устанавливается после сброса системы при включении питания и других аппаратных сбросов.

Бит SDOUT является битом последовательных данных устройства внешней памяти. Используется только при программировании внешнего устройства памяти ППЗУ с последовательной выборкой. Сброс никакого влияния на значение бита не оказывает.

Бит SDOUT_EN разрешает вывод последовательных данных для записи во внешнее устройство памяти. В режиме последовательной записи этот бит осуществляет прямой контроль над трехстабильными линиями буферов, содержащих выходные данные. Очищается после сброса системы при включении питания и других аппаратных сбросов.

Бит CLKDIV предназначен для задания синхронизации только процесса чтения последовательных данных. SCLK=BUSCLK/4, если CLKDIV=0, и SCLK=BUSSCLK/64, если CLKDIV=1. Этот бит устанавливается по умолчанию для режима медленного считывания после сброса системы при включении питания и других аппаратных сбросов.

Бит SDIN является битом последовательных данных, читаемых из устройства внешней памяти. Бит SDIN доступен только для чтения.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]