F60-67 (1041605), страница 35
Текст из файла (страница 35)
Настройка интерфейса внешней памятиНастройка интерфейса внешней памяти состоит из следующих этапов:1. Включить EMIF на старших (Р7, Р6, Р5 и Р4) портах.2. Настроить выходные драйверы выводов портов как двухтактные выходы или выходы с открытымстоком (обычно используется режим двухтактных цифровых выходов).3. Настроить выходные защелки портов таким образом, чтобы перевести выводы в доминантноесостояние (обычно для этого требуется установить на выводах напряжение высокого логического уровня).4.
Выбрать режим работы EMIF: мультиплексированный или не мультиплексированный.5. Выбрать режим доступа к памяти:1) доступ только ко внутренней памяти;2) раздельный доступ без выбора банка;3) раздельный доступ с выбором банка;4) доступ только к внешней памяти.6. Настройка временных параметров EMIF в соответствии с динамическими характеристикамивнешней памяти или внешних периферийных модулей.Каждый из этих этапов подробно описывается в следующих разделах. Бит включения связанных сEMIF портов, биты выбора режима работы и режима доступа к памяти находятся в регистре EMI0CF (см.рис.17.2).17.3.
Выбор и настройка портовЕсли работа EMIF разрешена, то для сигналов адреса/данных/управления EMIF внемультиплексированном режиме используются порты Р7, Р6, Р5 и Р4, а в мультиплексированном режиме –порты Р7, Р6 и Р4.Интерфейсу внешней памяти EMIF для операций с памятью требуются выводы связанных с ним портовтолько в течение выполнения команды MOVX, обращающейся к внешней памяти.
Как только команда MOVXзавершается, управление выводами портов возвращается защелкам портов. Подробная информация о работе инастройке портов приведена в разделе 18. Если EMIF не используется, то защелки портов следует явнонастроить таким образом, чтобы перевести выводы EMIF в доминантное состояние. В большинствеслучаев для этого необходимо установить на них напряжение высокого логического уровня.Во время выполнения команды MOVX интерфейс внешней памяти явным образом отключит драйверына всех выводах портов, которые работают как входы (например, Data[7:0] во время операции чтения).Функционирование EMIF не влияет на режим работы выходных драйверов выводов портов (являются ли онивыходами с открытым стоком или двухтактными), который определяется регистрами PnMDOUT.
Подробнаяинформация о настройке выходов портов приведена в разделе 18.Ред. 1.2188C8051F060/1/2/3/4/5/6/7Рисунок 17.1. EMI0CN: Регистр управления интерфейсом внешней памятиR/WPGSEL7R/WPGSEL6R/WPGSEL5R/WPGSEL4R/WPGSEL3R/WPGSEL2Бит 7Бит 6Бит 5Бит 4Бит 3Бит 2R/WPGSEL1R/WPGSEL0Бит 1Бит 0Значениепри сбросе:00000000SFR Адрес: 0xA2SFR страница: 0Биты 7-0: PGSEL[7:0]: Биты выбора страницы XRAMБиты выбора страницы XRAM образуют старший байт 16-битного адреса внешней памятиданных при использовании команды MOVX с 8-битным адресом, задавая таким образомнеобходимую 256-байтную страницу ОЗУ.0х00: 0x0000 – 0x00FF0х01: 0x0100 – 0x01FF…0хFE: 0xFE00 – 0xFEFF0xFF: 0xFF00 – 0xFFFFРисунок 17.2.
EMI0CF: Регистр конфигурации внешней памятиR/W-R/W-R/WPRTSELR/WEMD2R/WEMD1R/WEMD0Бит 7Бит 6Бит 5Бит 4Бит 3Бит 2R/WEALE1R/WEALE0Бит 1Бит 0Значениепри сбросе:00000011SFR Адрес: 0xA3SFR страница: 0Биты 7-6: Не используются. Читаются как 00b. Запись не оказывает никакого влияния.Бит 5:PRTSEL: Бит выбора портов, связанных с EMIF.0: Сигналы EMIF не разведены на выводы портов.1: Сигналы EMIF появляются на портах Р4 – Р7.Бит 4:EMD2: Бит выбора режима работы EMIF (мультиплексированный/немультиплексированный).0: EMIF работает в мультиплексированном режиме адреса/данных.1: EMIF работает в немультиплексированном режиме (отдельные выводы для адресов и данных).Биты 3-2: EMD1-0: Биты выбора режима доступа к памяти.Эти биты определяют, какая память будет доступна через интерфейс внешней памяти.00: Доступ только ко внутренней памяти: команда MOVX обращается только к встроенной памятиXRAM. Все действительные адреса указывают на пространство встроенной памяти.01: Раздельный доступ без выбора банка: Адреса до 4-Кбайтной границы указывают напространство встроенной памяти.
Адреса свыше 4-Кбайтной границы указывают напространство внешней памяти. Команда MOVX в 8-разрядной форме, обращающаяся квнешней памяти, использует текущее содержимое защелок старшего порта адреса в качествестаршего байта адреса. Следует иметь ввиду, что для доступа к внешнему пространствупамяти регистр EMI0CN должен указывать на страницу, которая не содержится впространстве встроенной памяти.10: Раздельный доступ с выбором банка: Адреса до 4-Кбайтной границы указывают напространство встроенной памяти. Адреса свыше 4-Кбайтной границы указывают напространство внешней памяти.
Команда MOVX в 8-разрядной форме, обращающаяся квнешней памяти, использует содержимое регистра EMI0CN, чтобы определить старший байтадреса.11: Доступ только к внешней памяти: команда MOVX обращается только к внешней памятиXRAM. Встроенная память XRAM не видима для процессорного ядра.Биты 1-0: EALE1-0: Биты выбора ширины импульса ALE (действуют только тогда, когда EMD2 = 0).00: TALEH = TALEL = 1 период SYSCLK.01: TALEH = TALEL = 2 периода SYSCLK.10: TALEH = TALEL = 3 периода SYSCLK.11: TALEH = TALEL = 4 периода SYSCLK.189Ред. 1.2C8051F060/1/2/3/4/5/6/717.4. Мультиплексированный и не мультиплексированный режимы работыEMIF может работать в мультиплексированном или немультиплексированном режимах работы, взависимости от состояния бита EMD2 (EMI0CF.4).17.4.1. Мультиплексированный режимВ мультиплексированном режиме шина данных и младшие 8 бит шины адреса разделяют одни и те жевыводы порта: AD[7:0].
В этом режиме для хранения младших 8 разрядов адреса ОЗУ используется внешнийрегистр-защелка (74НС373 или подобный). Этот внешний регистр-защелка управляется сигналом ALE,который обеспечивает логика интерфейса внешней памяти. Пример конфигурации с мультиплексированнойшиной адреса/данных приведен на рис.17.3.В мультиплексированном режиме выполнение команды MOVX, обращающейся к внешней памяти,разбивается на две фазы, определяемые состоянием сигнала ALE. В течение первой фазы сигнал ALE имеетвысокий уровень, а на выводы AD[7:0] выведены 8 младших разрядов шины адреса.
В течение этой фазырегистр-защелка адреса функционирует таким образом, что выходы ‘Q’ отражают состояние входов ‘D’. Когдасигнал ALE сбрасывается в 0, что сигнализирует о начале второй фазы, выходы регистра-защелки адресафиксируются и более не зависят от уровней сигналов на входах регистра-защелки. Позднее во время второйфазы, когда на выводах AD[7:0] присутствуют сигналы шины данных, появляются сигналы /RD или /WR.Более подробная информация приведена в разделе 17.6.2.Рисунок 17.3. Пример конфигурации с мультиплексированной шиной адреса/данныхA[15:8](P6)ШИНА АДРЕСАA[15:8]74HC373ALE (P4.5)EMIFAD[7:0](P7)GШИНА АДРЕСА/ДАННЫХDQA[7:0]VDD64K X 8SRAM(Optional)8I/O[7:0]/RD (P4.6)OE/WR (P4.7)WECEРед.
1.2190C8051F060/1/2/3/4/5/6/717.4.2. Немультиплексированный режимВ немультиплексированном режиме для шины адреса и шины данных используются отдельныевыводы. Пример конфигурации с немультиплексированной шиной адреса/данных приведен на рис.17.4. Болееподробная информация о немультиплексированном режиме приведена в разделе 17.6.1.Рисунок 17.4. Пример конфигурации с немультиплексированной шиной адреса/данныхA[15:0](P5 and P6)EMIF191ШИНА АДРЕСАA[15:0]VDD(Optional)D[7:0](P7)8ШИНА ДАННЫХ/RD (P4.6)/WR (P4.7)64K X 8SRAMI/O[7:0]OEWECEРед.
1.2C8051F060/1/2/3/4/5/6/717.5. Выбор режима доступа к памятиПространство внешней памяти данных можно настроить на один из четырех режимов доступа (см.рис.17.5), для чего используются биты EMD1-0 регистра EMI0CF (см. рис.17.2). Описание этих режимовприводится ниже. Дополнительную информацию о различных режимах работы можно найти в разделе 17.6.17.5.1. Режим доступа только к внутренней памяти XRAMКогда EMI0CF.[3:2] = ‘00’, все команды MOVX будут обращаться к адресному пространствувнутренней памяти XRAM микроконтроллера. Все адреса за пределами занятого адресного пространства будутуказывать на ячейки из первой 4-Кбайтной области памяти.
Например, адреса 0х1000 и 0х2000 указывают наячейку с адресом 0х0000 встроенной памяти XRAM.- Команда MOVX в 8-разрядной форме использует содержимое регистра EMI0CN для определениястаршего байта полного адреса и регистры R0 или R1 для определения младшего байта полногоадреса.- Команда MOVX в 16-разрядной форме для определения полного адреса использует содержимое16-разрядного указателя данных DPTR.17.5.2.
Режим раздельного доступа без выбора банкаКогда EMI0CF.[3:2] = ‘01’, пространство памяти XRAM делится на две области: пространствовстроенной памяти и пространство внешней памяти.- Адреса, расположенные ниже 4-Кбайтной границы, будут указывать на пространство встроеннойпамяти XRAM.- Адреса, расположенные выше 4-Кбайтной границы будут, указывать на пространство внешнейпамяти.- При использовании команды MOVX в 8-разрядной форме содержимое регистра EMI0CNопределяет, осуществляется ли доступ к встроенной памяти или к внешней памяти. Однако, врежиме «без выбора банка», при обращении к внешней памяти посредством команды MOVX в 8разрядной форме старшие 8 разрядов A[15:8] шины адреса не будут выдаваться на внешниевыводы.