Миландр

Ключевым подразделением нашей компании является Центр Проектирования интегральных микросхем
Текущее время: 2017-дек-15 15:00

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 23 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Внешняя шина EBC
СообщениеДобавлено: 2017-авг-08 15:39 
Не в сети

Зарегистрирован: 2017-июл-24 10:16
Сообщения: 41
пытаюсь настроить внешнюю память на плате BE3
которая шла в наборе.
сначала разогнал контроллер до 72 МГц
далее ставлю максимальное количество циклов Wait - 15
по дата sheet: Количество тактов шины AHB, необходимых для стандартного цикла записи/чтения.
то есть для этих микросхем ставлю даже больше чем у них в паспорте
и настраиваю:
Код:
  MDR_EBC->CONTROL = 0xf002;// wait state = F +  RAM ON

далее внешний регион 6000000 из таблицы на стр. 152 :
MDR_EBC->MEM_REGION[2] = 0x1b0f;
USE_READY - НЕ ОПРАШИВАЕТСЯ
WS_HOLD - 3
WS_SETUP - 3
WS_ACTIVE - 7
ENABLE_TUNNING - 1
то есть все в соответсвии с таблицей 131 на стр 150, где указана длительность фаз
пытаюсь писать / читать с адреса 0x60200000 и вверх - смотрю, сигналы выставляются при записи и чтении
но при чтении читаю мусор
в чем может быть проблема?
эту плату памяти вообще запускали на ВЕ3 ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Внешняя шина EBC
СообщениеДобавлено: 2017-авг-08 15:42 
Не в сети

Зарегистрирован: 2009-май-22 09:01
Сообщения: 1271
Откуда: АО "ПКК Миландр"
erik писал(а):
пытаюсь настроить внешнюю память на плате BE3
которая шла в наборе.
сначала разогнал контроллер до 72 МГц
далее ставлю максимальное количество циклов Wait - 15
по дата sheet: Количество тактов шины AHB, необходимых для стандартного цикла записи/чтения.
то есть для этих микросхем ставлю даже больше чем у них в паспорте
и настраиваю:
Код:
  MDR_EBC->CONTROL = 0xf002;// wait state = F +  RAM ON

далее внешний регион 6000000 из таблицы на стр. 152 :
MDR_EBC->MEM_REGION[2] = 0x1b0f;
USE_READY - НЕ ОПРАШИВАЕТСЯ
WS_HOLD - 3
WS_SETUP - 3
WS_ACTIVE - 7
ENABLE_TUNNING - 1
то есть все в соответсвии с таблицей 131 на стр 150, где указана длительность фаз
пытаюсь писать / читать с адреса 0x60200000 и вверх - смотрю, сигналы выставляются при записи и чтении
но при чтении читаю мусор
в чем может быть проблема?
эту плату памяти вообще запускали на ВЕ3 ?


У вас есть возможность проверить осциллографом сигналы ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Внешняя шина EBC
СообщениеДобавлено: 2017-авг-08 17:07 
Не в сети

Зарегистрирован: 2017-июл-24 10:16
Сообщения: 41
-=Sergei=- писал(а):
erik писал(а):
пытаюсь настроить внешнюю память на плате BE3
которая шла в наборе.
сначала разогнал контроллер до 72 МГц
далее ставлю максимальное количество циклов Wait - 15
по дата sheet: Количество тактов шины AHB, необходимых для стандартного цикла записи/чтения.
то есть для этих микросхем ставлю даже больше чем у них в паспорте
и настраиваю:
Код:
  MDR_EBC->CONTROL = 0xf002;// wait state = F +  RAM ON

далее внешний регион 6000000 из таблицы на стр. 152 :
MDR_EBC->MEM_REGION[2] = 0x1b0f;
USE_READY - НЕ ОПРАШИВАЕТСЯ
WS_HOLD - 3
WS_SETUP - 3
WS_ACTIVE - 7
ENABLE_TUNNING - 1
то есть все в соответсвии с таблицей 131 на стр 150, где указана длительность фаз
пытаюсь писать / читать с адреса 0x60200000 и вверх - смотрю, сигналы выставляются при записи и чтении
но при чтении читаю мусор
в чем может быть проблема?
эту плату памяти вообще запускали на ВЕ3 ?


У вас есть возможность проверить осциллографом сигналы ?

~WR и ~RD нормальные - как и заложено
BE0...BE3 в нуле
сразу несколько не могу - рук не хватает


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Внешняя шина EBC
СообщениеДобавлено: 2017-авг-08 17:57 
Не в сети

Зарегистрирован: 2017-июл-24 10:16
Сообщения: 41
потыкался осциллографом
на всех адресных линиях меандр
кроме линий ~CE1 CE2 - они всегда в нуле
странно, эти линии должны выбирать старшую двойку в адресе 0x200000


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Внешняя шина EBC
СообщениеДобавлено: 2017-авг-08 18:00 
Не в сети

Зарегистрирован: 2009-май-22 09:01
Сообщения: 1271
Откуда: АО "ПКК Миландр"
erik писал(а):
потыкался осциллографом
на всех адресных линиях меандр
кроме линий ~CE1 CE2 - они всегда в нуле
странно, эти линии должны выбирать старшую двойку в адресе 0x200000


А от каких портов МК идут сигналы BE0,1,2,3 и СЕ1,2 и как они сконфигурированы в МК ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Внешняя шина EBC
СообщениеДобавлено: 2017-авг-08 18:15 
Не в сети

Зарегистрирован: 2017-июл-24 10:16
Сообщения: 41
-=Sergei=- писал(а):
erik писал(а):
потыкался осциллографом
на всех адресных линиях меандр
кроме линий ~CE1 CE2 - они всегда в нуле
странно, эти линии должны выбирать старшую двойку в адресе 0x200000


А от каких портов МК идут сигналы BE0,1,2,3 и СЕ1,2 и как они сконфигурированы в МК ?


по схеме для модуля RAM - там неправильные ноги
для платы с ВЕ3
я разорался куда они идут, получается так:
ВЕ0...ВЕ3 на PC9 ... PC12
~CE1 и CE2 на ноги PI4 и PI5
сконфигурированы так:

Код:
// управление

    /* PORTC пины 9..12 для управления шиной - альтерн ноги ~BE0...~BE3 */
    port_init_struct.PORT_Pin = (PORT_Pin_9 | PORT_Pin_10 | PORT_Pin_11 | PORT_Pin_12);
    port_init_struct.PORT_MODE = PORT_MODE_DIGITAL;
    port_init_struct.PORT_FUNC = PORT_FUNC_ALTER;
    port_init_struct.PORT_SPEED = PORT_SPEED_FAST;
    PORT_Init(MDR_PORTC, &port_init_struct);

    /* PORTC - основн. ноги PC0 и PC1 -  ~WR и ~RD */
    port_init_struct.PORT_Pin = (PORT_Pin_0 | PORT_Pin_1);
    port_init_struct.PORT_MODE = PORT_MODE_DIGITAL;
    port_init_struct.PORT_FUNC = PORT_FUNC_MAIN;
    port_init_struct.PORT_SPEED = PORT_SPEED_FAST;
    PORT_Init(MDR_PORTC, &port_init_struct);

    /* PORTI пины  PI4,PI5 на адреса, которые формируются A20...A21  */
    port_init_struct.PORT_Pin = (PORT_Pin_4 | PORT_Pin_5);
    port_init_struct.PORT_OE = PORT_OE_OUT;
    port_init_struct.PORT_MODE = PORT_MODE_DIGITAL;
    port_init_struct.PORT_FUNC = PORT_FUNC_OVERRID;   // переопределенная
    port_init_struct.PORT_SPEED = PORT_SPEED_FAST;
    PORT_Init(MDR_PORTI, &port_init_struct);



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Внешняя шина EBC
СообщениеДобавлено: 2017-авг-09 13:46 
Не в сети

Зарегистрирован: 2016-мар-17 14:12
Сообщения: 52
erik писал(а):
я разорался куда они идут, получается так:


Орать не надо! Сохраняйте спокойствие.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Внешняя шина EBC
СообщениеДобавлено: 2017-авг-09 17:00 
Не в сети

Зарегистрирован: 2017-июл-24 10:16
Сообщения: 41
Alex1979 писал(а):
erik писал(а):
я разорался куда они идут, получается так:


Орать не надо! Сохраняйте спокойствие.

это в другой ветке

да, теперь новая проблема вылезла
пишу в память бегущую единицу
но пишется восьмерка сразу на 4 адреса подряд
в отладчике это вижу
не совсем понятно почему

Код:
    for(i = 0; i < 32; i++) {
          addr = reg + i * 4;
          data = 1 << i;
          HWREG(addr) = data;
    }

    for(i = 0; i < 32; i++) {
         addr = reg + i * 4;
         mem[i] = HWREG(addr);
    }

Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Внешняя шина EBC
СообщениеДобавлено: 2017-авг-09 17:24 
Не в сети

Зарегистрирован: 2009-май-22 09:01
Сообщения: 1271
Откуда: АО "ПКК Миландр"
erik писал(а):

да, теперь новая проблема вылезла
пишу в память бегущую единицу
но пишется восьмерка сразу на 4 адреса подряд
в отладчике это вижу
не совсем понятно почему



Т.е. запись в память и чтение заработали ? проблема с сигналами разрешилась ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Внешняя шина EBC
СообщениеДобавлено: 2017-авг-09 17:57 
Не в сети

Зарегистрирован: 2017-июл-24 10:16
Сообщения: 41
-=Sergei=- писал(а):
erik писал(а):

да, теперь новая проблема вылезла
пишу в память бегущую единицу
но пишется восьмерка сразу на 4 адреса подряд
в отладчике это вижу
не совсем понятно почему



Т.е. запись в память и чтение заработали ? проблема с сигналами разрешилась ?

да, в соседней ветке я написал
что проблема была в том, что я не затактировал ноги адреса на порту PORTI
но теперь появилась вот такая пробема
может не нужно делать смещение адреса на 2 бита?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Внешняя шина EBC
СообщениеДобавлено: 2017-авг-10 12:46 
Не в сети

Зарегистрирован: 2017-июл-24 10:16
Сообщения: 41
ну чо, никто не ответить, почему это происходит?
пишу по адресу 0x60200000
даные поторяются по адресам 0x60200004 0x60200008 0x6020000с
пишу на адрес 0x60200004 - повторяются опять по этим же четырем адресам
пишу на 0x6020000с: опять на 0x60200000 0x60200004 0x60200008
записывается одно и тоже.
я что то понять не могу как это получается?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Внешняя шина EBC
СообщениеДобавлено: 2017-авг-14 23:34 
Не в сети

Зарегистрирован: 2016-окт-14 19:39
Сообщения: 31
Откуда: СПБ
Ответа не знаю, но может поможет натолкнуть на мысль. Похожее поведение видел на другом процессоре, когда обращался к области памяти где физически ничего не было.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Внешняя шина EBC
СообщениеДобавлено: 2017-авг-15 08:41 
Не в сети

Зарегистрирован: 2009-май-22 09:01
Сообщения: 1271
Откуда: АО "ПКК Миландр"
erik писал(а):
ну чо, никто не ответить, почему это происходит?
пишу по адресу 0x60200000
даные поторяются по адресам 0x60200004 0x60200008 0x6020000с
пишу на адрес 0x60200004 - повторяются опять по этим же четырем адресам
пишу на 0x6020000с: опять на 0x60200000 0x60200004 0x60200008
записывается одно и тоже.
я что то понять не могу как это получается?


Как память подключена к процессору?
Сколько бит в шине, с как адресные биты процессора соединены с адресными битами микросхем памяти ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Внешняя шина EBC
СообщениеДобавлено: 2017-авг-15 10:26 
Не в сети

Зарегистрирован: 2017-июл-24 10:16
Сообщения: 41
-=Sergei=- писал(а):
erik писал(а):
ну чо, никто не ответить, почему это происходит?
пишу по адресу 0x60200000
даные поторяются по адресам 0x60200004 0x60200008 0x6020000с
пишу на адрес 0x60200004 - повторяются опять по этим же четырем адресам
пишу на 0x6020000с: опять на 0x60200000 0x60200004 0x60200008
записывается одно и тоже.
я что то понять не могу как это получается?


Как память подключена к процессору?
Сколько бит в шине, с как адресные биты процессора соединены с адресными битами микросхем памяти ?


2 микросхемы памяти включены паралельно
для младших 2 байт и старших.
старшие линии адреса заземлены
на адрес A0 памяти приходит A2 процессора
Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Внешняя шина EBC
СообщениеДобавлено: 2017-авг-15 11:44 
Не в сети

Зарегистрирован: 2016-мар-17 14:12
Сообщения: 52
Пожалуй поделюсь своей историей про память. Я этот модуль с двумя микросхемами осваивал на отладочной плате для 1986ВЕ94. В принципе больших проблем не возникло, во всяком случае с 32-битным чтением. Главное затактировать все какие нужно порты, настроить выводы на цифровой выход с максимально быстрыми фронтами и правильно запрограммировать регистры контроллера внешней шины (32-битная шина, адекватное количество wait states, RAM).

Проблема возникла когда я свою работающую программу понес показывать в соседнюю лабораторию, где другой человек долго и безрезультатно пытался заставить миландровский пример (работа с памятью) работать на такой же точно отладочной плате, что и у меня. Моя программа там не захотела работать. Потыкавшись осциллографом довольно быстро нашли причину - маленький незадокументированный джампер XP3. На моей плате он изначально был снят, на проблемной плате он стоял. Снятие этого джампера устранило проблему. В общем, осциллограф это совершенно незаменимая вещь.

В вашем случае я бы написал программу с бесконечным циклом, в котором происходит чтение с какого-нибудь адреса, где должна бы по идее быть память, и стал бы разглядывать все подряд сигналы осциллографом на предмет их соответствия документации.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 23 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Yahoo [Bot] и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB