|
Работа с PSRAM, KEIL, И вновь я прошу у Вас помощи, уважаемые! :) |
|
|
|
Sep 27 2011, 12:48
|
Участник

Группа: Участник
Сообщений: 40
Регистрация: 9-08-11
Пользователь №: 66 634

|
Всем доброго времени суток, уважаемые! Вновь требуется Ваша помощь  В какой-то степени продолжение темы : http://electronix.ru/forum/index.php?showtopic=94179 , но с небольшими уточнениями. " Внешнее устройство", что подключено к моей плате - это коррелятор, который смастерил местный умелец. С точки зрения моего девайса это обычная внешняя память с набором регистров по определенным адресам (смещениям). В определенный момент времени мне необходимо, записывая в эти регистры определенные значения, выставить параметры и запустить "девайс", после чего по прерываниям от него читать полученную информацию из других регистров. Надеюсь, объяснил более-менее понятно Был выбран вариант работы с PSRAM через SMC (Static Memory Controller). Настроил базу на 0x60000000, провел инициализацию PSRAM (взял из примеров). Но столкнулся с неприятностью: при работе видно, что с моей стороны пишутся по нужным адресам данные, но вот получает коррелятор очень часто совсем не то, что я записал. И читаю я в массив из регистров коррелятора какие-то "левые" значения... Потому возник вопрос: не перебивает ли работу с коррелятором сама плата, т.е. может она в работе использует PSRAM? В чем причина такого безобразия?  P.S. смещения регистров отсчитывал от начала базы (0x01, 0x01, ... 0xF). P.P.S И вновь прошу сильно не ругать за (возможно) глупые вопросы  Заранее спасибо всем!
|
|
|
|
|
 |
Ответов
(1 - 10)
|
Sep 27 2011, 13:06
|
Участник

Группа: Участник
Сообщений: 40
Регистрация: 9-08-11
Пользователь №: 66 634

|
Цитата(aaarrr @ Sep 27 2011, 17:00)  Если коррелятор и PSRAM сидят на одном и том же CS0, то, разумеется, перебивает. Подключите коррелятор к CS1 (если ревизия кристалла не -ES) и общайтесь с ним в диапазоне 0x61000000-0x61FFFFFF. Или просто отключите PSRAM. Почему-то при переключении на CS1 не сбрасывается автоматом строб чтения NCS1 (как NCS0, в случае работы с CS0)... Каждый раз перед посылкой в регистр вручную сбрасывать... не долго ли это??
|
|
|
|
|
Sep 27 2011, 13:18
|
Участник

Группа: Участник
Сообщений: 40
Регистрация: 9-08-11
Пользователь №: 66 634

|
Цитата(aaarrr @ Sep 27 2011, 17:12)  Значит у вас ревизия ES, NCS1 там просто не работает. Используйте NCS2 тогда. Плата AT91SAM3U-EK, что значит "ревизия ES"?  И в примерах работы с nandflash, в котором для записи/чтения использовался CS1, NCS1 сбрасывался вручную... значит он все-таки работает?
|
|
|
|
|
Sep 27 2011, 13:53
|
Участник

Группа: Участник
Сообщений: 40
Регистрация: 9-08-11
Пользователь №: 66 634

|
Цитата(aaarrr @ Sep 27 2011, 17:34)  На процессоре непосредственно что написано?
Вручную работает, ага. Только ведь так не интересно, неправда ли? 1) Да, действительно, есть строчка AU-ES 2) Согласен, очень неинтересно и неудобно... Т.е. Вы хотите сказать, что на CS2 сигнал NCS2 будет сбрасываться автоматом? Кстати, CS2 никем не зарезервированна (в смысле области памяти)...
|
|
|
|
|
Sep 28 2011, 06:39
|
Участник

Группа: Участник
Сообщений: 40
Регистрация: 9-08-11
Пользователь №: 66 634

|
Хм, отключил PSRAM джампером, но все-равно пишет-читает совсем не то, что нужно... Где еще могут быть грабли?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|