|
LPC4088+NOR Flash, Проблемы со статической памятью на CS1 |
|
|
|
Aug 11 2013, 20:58
|
Местный
  
Группа: Свой
Сообщений: 266
Регистрация: 8-12-05
Пользователь №: 11 964

|
Доброго всем времени суток! Поднимаю постепенно проект на LPC4088, теперь столкнулся с проблемой реализации работы с NOR-Flash в связке с LPC4088. NOR - MX29GL512, это полный аналог S29GL512. На EMC висит кроме того еще SDRAM, она работает без вопросов, на данный момент я ее отключил, чтобы добиться хоть какой-то работоспособности флэшки. Со стороны железа все в полном порядке. После безуспешных попыток поднять статическую память на EMC написал функции чтения-записи тупо ногодрыганьем - ID памяти читается без ошибок. Вод код инициализации: Код config.CSn = 1; config.AddressMirror = 0; config.ByteLane = 0; config.DataWidth = 16;
config.ExtendedWait = 0; config.PageMode = 0;
config.WaitWEn = 0x1f;//0x3; config.WaitOEn = 0x1f;//0x3; config.WaitWr = 0x1f;//0xA; config.WaitPage = 0x1f;//0x8; config.WaitRd = 0x1f;//0x5; config.WaitTurn = 0x1f;//0x7; StaticMem_Init(&config);
// pause TIM_ConfigStruct.PrescaleOption = TIM_PRESCALE_USVAL; TIM_ConfigStruct.PrescaleValue = 1; TIM_Init(LPC_TIM0, TIM_TIMER_MODE,&TIM_ConfigStruct); TIM_Waitms(1000); Задержки выставил максимальные, чтобы никаких вопросов не было. В соответствии со своим соединением изменил lpc_emc.c: Код for(i = 0; i < 32; i++) { if (i<=15) PINSEL_ConfigPin(3,i,1); if ((i<=25)||(i==31)) PINSEL_ConfigPin(4,i,1); } PINSEL_ConfigPin(5,0,1); Отдадчик показывает по адресам с 0x90000000 всякий бред, чаще всего 0xff. ID чипа памяти тоже, естественно, не читается, только 0xff: Код #define M16(adr) (*((volatile unsigned short *) (adr)))
M16(MX29_BASE_ADDRESS + 0x555) = 0xAA; M16(MX29_BASE_ADDRESS + 0x2AA) = 0x55; M16(MX29_BASE_ADDRESS + 0x555) = 0x90; SST_id1 = M16(MX29_BASE_ADDRESS + 0x00); Поиск подобных проблем в инете дал следующий результат: http://www.lpcware.com/content/forum/lpc17...flash-s29gl128pПроблема совершенно аналогична, только на lpc1788. Может быть, кто-то сталкивался именно с проблемой использования EMC и CS1? Я уже во что угодно готов поверить после того, как пару дней назад обнаружил, что на LPC4088 второй порт USB ничего не пишет и не читает, если буфер обмена не расположен в памяти USB, про которую в даташите вообще ничего толком не сказано. Причем вроде бы подобная проблема была на LPC2478 и только на чтение, но, видимо, ошибки у них при использовании режимов работы чуть отличающихся от стандартных не проверяет никто. Если я не прав в этом - ткните меня, пожалуйста, в документацию, где про это написано. Очень рассчитываю на чей-то опыт в данном вопросе, не хотелось бы работать с внешней памятью ручками. Не очень, правда, понимаю, зачем разработчик платы выбрал именно CS1, но сейчас ничего не могу изменить. Заранее спасибо!
|
|
|
|
|
 |
Ответов
|
Aug 13 2013, 13:46
|

Гуру
     
Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514

|
Откуда ж 30 МГц?  60 МГц/32 = 500нс ~~ 2MHz посмотрите, /WR генерится нормально? Помнится, с 2478 были проблемы с ByteLane настройками. Но там генерился /WR или /BLSx, здесь, вроде как, /WR генерится всегда по схемотехнике, вкупе с EMCSC все в порядке. Посмотрите еще EMCBC, поставьте в 0 Деда Мороза нет, где-то косяк. В железе, судя по всему, ошибок нет.
|
|
|
|
|
Aug 13 2013, 14:54
|
Местный
  
Группа: Свой
Сообщений: 266
Регистрация: 8-12-05
Пользователь №: 11 964

|
Цитата(toweroff @ Aug 13 2013, 15:46)  Откуда ж 30 МГц?  60 МГц/32 = 500нс ~~ 2MHz посмотрите, /WR генерится нормально? Помнится, с 2478 были проблемы с ByteLane настройками. Но там генерился /WR или /BLSx, здесь, вроде как, /WR генерится всегда по схемотехнике, вкупе с EMCSC все в порядке. Посмотрите еще EMCBC, поставьте в 0 Деда Мороза нет, где-то косяк. В железе, судя по всему, ошибок нет. Рассмотрел лучше, CS четырежды опускается вниз, все правильно, прололжительность около 500 нс. OE опускается один раз - тоже все верно. WE никак не показывает активность. Цитата(toweroff @ Aug 13 2013, 16:41)  вооот. Очень похоже Выставьте Byte lane в 1 (STATICCONFIG, бит PB) Я даже не знаю, что сказать... Заработало! Причем прочитал еще раз про Byte Lane еще раз - ну не очевидно же совершенно! Какое отношение он имеет к WE, если я не использую BLS? Спасибо Вам огромное за решение и проявленное терпение!!!! Вы реально смогли по моим куцым фразам все это понять!!!
|
|
|
|
Сообщений в этой теме
Polaris LPC4088+NOR Flash Aug 11 2013, 20:58 toweroff Покажите на схеме, как подключена NOR
Очень вероя... Aug 12 2013, 09:04 Polaris Цитата(toweroff @ Aug 12 2013, 11:04) Пок... Aug 12 2013, 10:02 toweroff В 16-битном варианте не используется A-1 (=DQ15) и... Aug 12 2013, 12:02 Polaris Цитата(toweroff @ Aug 12 2013, 14:02) В 1... Aug 12 2013, 12:45  toweroff Цитата(Polaris @ Aug 12 2013, 16:45) Это ... Aug 12 2013, 13:10   Polaris Цитата(toweroff @ Aug 12 2013, 15:10) так... Aug 12 2013, 13:35   Polaris Цитата(toweroff @ Aug 12 2013, 15:10) так... Aug 12 2013, 14:40    toweroff Цитата(Polaris @ Aug 12 2013, 18:40) Хотя... Aug 12 2013, 15:26     Polaris Цитата(toweroff @ Aug 12 2013, 17:26) Воз... Aug 12 2013, 16:55      toweroff Цитата(Polaris @ Aug 12 2013, 20:55) Нет,... Aug 12 2013, 17:39       Polaris Цитата(toweroff @ Aug 12 2013, 19:39) он,... Aug 12 2013, 17:48        toweroff Цитата(Polaris @ Aug 12 2013, 21:48) Да н... Aug 12 2013, 18:39         Polaris Цитата(toweroff @ Aug 12 2013, 20:39) ога... Aug 12 2013, 19:28          toweroff Цитата(Polaris @ Aug 12 2013, 23:28) Но в... Aug 12 2013, 19:39           Polaris Цитата(toweroff @ Aug 12 2013, 21:39) 1. ... Aug 12 2013, 20:29            toweroff Цитата(Polaris @ Aug 13 2013, 00:29) Так ... Aug 12 2013, 20:43             Polaris Цитата(toweroff @ Aug 12 2013, 22:43) да ... Aug 12 2013, 21:32 Polaris Нет, не помогло.
EMCSC = 1, адрес сдвигаю, эффект... Aug 13 2013, 06:29 toweroff Цитата(Polaris @ Aug 13 2013, 10:29) Нет,... Aug 13 2013, 09:16  Polaris Цитата(toweroff @ Aug 13 2013, 11:16) да ... Aug 13 2013, 09:25   toweroff Цитата(Polaris @ Aug 13 2013, 13:25) Како... Aug 13 2013, 09:31    Polaris Цитата(toweroff @ Aug 13 2013, 11:31) а в... Aug 13 2013, 09:36 toweroff Кстати, а куда подключен по схеме /WR NOR? Aug 13 2013, 10:13 Polaris Цитата(toweroff @ Aug 13 2013, 12:13) Кст... Aug 13 2013, 10:43 toweroff Проверьте настройки ByteLane на всякий случай. Жал... Aug 13 2013, 11:03 Polaris Цитата(toweroff @ Aug 13 2013, 13:03) Про... Aug 13 2013, 11:24 toweroff /WR относительно /CS, их длительности
Запустить в ... Aug 13 2013, 11:37 Polaris Цитата(toweroff @ Aug 13 2013, 13:37) /WR... Aug 13 2013, 12:39 toweroff Есть возможность выложить схему в части подключени... Aug 13 2013, 12:53 Polaris Цитата(toweroff @ Aug 13 2013, 14:53) Ест... Aug 13 2013, 13:26 Polaris Цитата(toweroff @ Aug 13 2013, 15:46) Отк... Aug 13 2013, 14:33  toweroff Цитата(Polaris @ Aug 13 2013, 18:33) а во... Aug 13 2013, 14:41   Polaris Цитата(toweroff @ Aug 13 2013, 17:26) я т... Aug 13 2013, 15:33
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|