реклама на сайте
подробности

 
 
> LPC2378 и контроллер внешней SRAM памяти, Не работает OE выход
MiniMax
сообщение Feb 15 2008, 10:58
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 12-09-07
Пользователь №: 30 498



Пробую запустить EMC контроллер на LPC2378.
Внешняя SRAM память CY7C1049CV33-15VXC ( 512K x 8).

Про ERRATA насчет EMC знаю
EMC.1: Write operation cannot be performed on the external memory bus
Introduction: The External Memory Controller supports asynchronous static memory device support including
RAM, ROM, and Flash, with or without asynchronous page mode.
Problem: Write operation is not operational.
Workarounds: Using all the EMC pins as GPIO pins, the write operation can be simulated in software.

Попробовал симулировать EMC контроллер программным путем используя IO's.
Все работает отлично. Память пишется и читается. Т.е. проблем с аппаратной частью нет.

Но по некоторым сведениям в новых версиях LPC2378 контроллер внешней памяти должен работать.
Это инициализированные регистры EMC
EMC_CTRL=0x1
EMC_STA_CFG0=0x100
EMC_STA_WAITWEN0(MAX 0x0F)=0xF
EMC_STA_WAITOEN0(MAX 0x0F)=0xF
EMC_STA_WAITRD0(MAX 0x1F)=0x1F
EMC_STA_WAITPAGE0(MAX 0x1F)=0x1F
EMC_STA_WAITWR0(MAX 0x1F)=0x1F
EMC_STA_WAITTURN0(MAX 0x3F)=0xF

При операции записи вижу осциллографом, что СS и WR выводы работают как им и положено.
При операции чтения вижу осциллографом, что СS работает. Но OE не работает. Висит там 2.2V постоянно.
Шина данных и адресов похоже, что работает также.

PINSEL9 иницализирован

// Control Bus
// OE
PINSEL9 &=(~((1UL<<16)|(1UL<<17)));
PINSEL9 |=(1UL<<17);
// WE
PINSEL9 &=(~((1UL<<18)|(1UL<<19)));
PINSEL9 |=(1UL<<19);
// CS0
PINSEL9 &=(~((1UL<<28)|(1UL<<29)));
PINSEL9 |=(1UL<<28);


Интересная вещь. Запись похоже, что работает.
А чтение не работает. Т.е. все наоборот, если мы сравним с ERRATA SHEET :-)

В чем могут быть проблемы с OE ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
MiniMax
сообщение Feb 15 2008, 21:44
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 12-09-07
Пользователь №: 30 498



Проблема решена yeah.gif

Я использовал
UM10211 LPC2364/6/8/78 User manual
Rev. 01
6 October 2006 User manual


10 минут назад загрузил
http://www.standardics.nxp.com/support/doc...ual.lpc23xx.pdf

UM10211 LPC23xx User manual
Rev. 01.08
31 January 2008 User manual


И что же я вижу ? Описания не соответствуют.
В новом мануал говорится, что для OE pin надо записать "01" в PINSEL9, а не "10".

Короче говоря вот работающий финальный код инициализации EMC для LPC2378

EMC_CTRL = 0x00000001;
PCONP |= 0x00000800; /* Turn On EMC PCLK */
// Configure EMC pins
// Data Bus
PINSEL6 &= ~(0xFFFF);
PINSEL6 |= 0x5555;
// Address Bus
PINSEL8 = 0x55555555;
// Control Bus
// OE
PINSEL9 &=(~((1UL<<16)|(1UL<<17)));
PINSEL9 |=(1UL<<16);
// WE
PINSEL9 &=(~((1UL<<18)|(1UL<<19)));
PINSEL9 |=(1UL<<18);
// CS0
PINSEL9 &=(~((1UL<<28)|(1UL<<29)));
PINSEL9 |=(1UL<<28);


EMC_STA_CFG0 = 0x80;
EMC_STA_WAITWEN0 = 0x2;
EMC_STA_WAITOEN0 = 0x2;
EMC_STA_WAITRD0 = 0x1f;
EMC_STA_WAITPAGE0 = 0x1f;
EMC_STA_WAITWR0 = 0x1f;
EMC_STA_WAITTURN0 = 0x0f;

Работает и чтение и запись в пределах 64K банка.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 10 2008, 15:49
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(MiniMax @ Feb 15 2008, 23:44) *
Короче говоря вот работающий финальный код инициализации EMC для LPC2378
EMC_CTRL = 0x00000001;
PCONP |= 0x00000800; /* Turn On EMC PCLK */
.....

Грабли sad.gif, если PCONP EMC дейсвительно не активизирован то EMC_CTRL = 0x00000001, естественно не отработает и останется состояние по POR - с отзеркаленным CS0. Очень прикольно sad.gif
Правда, по POR EMC активирован, но вообще:
Код
    PCONP  |= 0x00000800;        /* Turn On EMC PCLK */
    EMC_CTRL = 0x00000001;


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 11:01
Рейтинг@Mail.ru


Страница сгенерированна за 0.01369 секунд с 7
ELECTRONIX ©2004-2016