Сделал подключение через буферы 74LVC573 на шину данных, при этом младшие 8 бит повесил. как восьмиразрядную шину данных, а на биты 8-11 повесил управление и когда записываю short по адресу 0xE0000000 (т .к. чип селект взял CS0 от static RAM), то все нормально работает. Но решил пойти дальше, т.к. мне нужна шестнадцати разрядная шина данных, то я данных повесил на D0-D15 (через буферы 74LVC573), а адресную шину A0-A3 тоже через эти буферы завел на управляющие ножки (так же взяв чип селект от CS0 static RAM). Сконфигурировал контроллер в регистре EMCStaticConfig0, как 16 битную шину. Проблема в том, что когда я пишу по адресу 0xE0000001, что то , то A0 передергивается, а когда пишу по адресу 0xE0000002, то A1 не дергается. Еще не совсем понятна эта фраза из USER мануала When using a system that implements 16-bit static memory,address signals A[23:1] are right-justified by one bit and outputon the physical address pins A[22:0]. Address signal A0 is not necessary because all transactions occur on half-word boundaries. Address pin A23 is not used because the address space available for each CSn is 16 MB. This is done automatically by hardware in the EMC controller when the value of MW is set to 0x1. Адреса сдвигаются автоматически, т.е. если я запишу в адрес 0xE0000002, то установится A0 или A1? и вообще что я делаю не так, как добиться работоспособности этой схемы, а то я уже мозг весь сломал?
|