Миландр

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

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




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
СообщениеДобавлено: 2017-сен-18 17:40 
Не в сети

Зарегистрирован: 2017-июл-24 10:16
Сообщения: 41
у меня отладочная плата на контроллере ВЕ3
и есть два доп модуля: внешняя память ram
и платка ethernet
с памятью разобрался, а с этим eth бьюсь уже боьше недели
проблема такая (как и у всех других) нет примера работы именно с ВЕ3
у платы eth подключение на ноги ВЕ3 другое, отличается от того
что написано в схематике
посидел со схемами - сделал правильную инициализацию ног
теперь пытаюсь разобраться с регистрами этого модуля eth
вылезает такая проблема:
эта микросхема 16 ти разрядная, но подключена на 32 разрядную шину,
так же как и микросхемы памяти, через 2 пина: A0 на eth подключен на A2 платы
итд...
делаю инициализацию внешней шины:
Код:
1. SRAM PORT_F5..F15 init OK
2. SRAM PORT_D3 init OK
3. SRAM PORT_E0 init OK
4. SRAM PORT_I4 init OK
5. SRAM PORT_A0..A15 init OK
6. SRAM PORT_C0, C1 init OK
7. PORT B init

далее хочу в программе IAR посмотреть что там в регистрах записывается:
читаю
Код:
MAC_CTRL: C0A0
MinFrame: 0040
MaxFrame: 0600
CollConfig: 0000
IPGTx: 0006
MAC_ADDR_T: 89AB
MAC_ADDR_M: 4567
MAC_ADDR_H: 0123
PHY_CTRL: 81D0
MAC_CTRL: C0A0
GCTRL: 4382

то есть все правивильно - как и должно быть при сбросе
далее смотрю в окне IAR структуру ethernet *eth = (_ethernet *)BASE_ETHERNET;
все регистры имеют нормальные значения
но если я начинаю по шагам менять что то в одном регистре
Код:
  eth->GCTRL = 0x8000;   //Reset 5600VG1U       
    delay(100); 
    eth->GCTRL = 0x4382;
    eth->MinFrame = 0x0040;
    eth->CollConfig = 0;
    eth->IPGTx = 0x000A;
    eth->MAC_ADDR_T = 0x1B0A;
    eth->MAC_ADDR_M = 0x3D2C;
    eth->MAC_ADDR_H = 0x5F4E;
    eth->PHY_CTRL = 0x31D0;
    eth->MAC_CTRL = 0x0200;   //Receive broadcast packet and packet with my MAC-address, littel endian ON


во всех остальных
какая то лажа, в конце концов они обнуляются:
Код:
MAC_CTRL: 0000
MinFrame: 0000
MaxFrame: 0600
CollConfig: 0000
IPGTx: 0000
MAC_ADDR_T: 0000
MAC_ADDR_M: 0000
MAC_ADDR_H: 0000
PHY_CTRL: 0000
MAC_CTRL: 0000
GCTRL: 0000

в чем может быть проблема?
внешнюю шину инициализирую так:
Код:
     MDR_EBC->CONTROL = 0x8042;   // wait state = 8 +  RAM ON + LOW16
//  MDR_EBC->CONTROL = 0x8002;   // wait state = 8 +  RAM ON
    MDR_EBC->MEM_REGION[2] = 0x1309; 

частота системных часов 72 Мгц,
уменьшал частоту - все равно не получается записать в регистры значения
в чем может быть проблема?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2017-сен-19 08:13 
Не в сети

Зарегистрирован: 2009-июл-21 14:13
Сообщения: 1039
Откуда: Тула
В аналогичной ситуации я делаю структуру с uint32_t, таким образом обращение происходит 32-х разрядными словами, но значимые лишь 16 бит (те, куда подключена периферия). Попробуйте и Вы так. Соответственно режим LOW16 нужно будет выключить.

_________________
сочувствующий…


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2017-сен-19 11:51 
Не в сети

Зарегистрирован: 2017-июл-24 10:16
Сообщения: 41
prostoRoman писал(а):
В аналогичной ситуации я делаю структуру с uint32_t, таким образом обращение происходит 32-х разрядными словами, но значимые лишь 16 бит (те, куда подключена периферия). Попробуйте и Вы так. Соответственно режим LOW16 нужно будет выключить.

я отключал LOW16 но изменений не заметил


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

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


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


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

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