Пробую запустить 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 ?
|