реклама на сайте
подробности

 
 
> модуль MDIO в SAM7X256, не принимает данные
Alexey V.
сообщение Sep 17 2007, 12:04
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 24
Регистрация: 10-05-06
Из: Russia, Tomsk
Пользователь №: 16 936



Столкнулся с проблемой:
от блока EMAC нужен только модуль MDIO (для загрузки LXT972).
настроил EMAC так:
Код
    //запрещаем PIO использовать ножки в качестве обычных I/O
    pPIOB->PIO_PDR = AT91C_PB8_EMDC | AT91C_PB9_EMDIO;
    //назначаем ножкам свои функции
    pPIOB->PIO_ASR = AT91C_PB8_EMDC | AT91C_PB9_EMDIO;
    
    //включаем питание EMAC
    *AT91C_PMC_PCER = ((unsigned long)1 << AT91C_ID_EMAC);
    
    //разрешаем порт MDIO
    pPHY->EMAC_NCR = AT91C_EMAC_MPE;
    pPHY->EMAC_NCFGR = AT91C_EMAC_CLK_HCLK_8;

передача по MDIO работает, все что надо передает.
А вот прием никак не запускается
вот код в котором передаются данные:
Код
INT16U PhyReadData(INT8U reg_addr)
{
    INT32U tmp;
    AT91PS_EMAC pPHY = AT91C_BASE_EMAC;
    
   tmp = (1 << 30) | (1 << 29) | (0 << 23) | (reg_addr << 18) |\
          (2 << 16);
    
    pPHY->EMAC_MAN = tmp;

    while(!(*AT91C_EMAC_ISR & 0x01));
    tmp = pPHY->EMAC_MAN;
    
    return (INT16U)tmp;
}

может кто сталкивался - подскажите, что неправильно делаю?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 20:16
Рейтинг@Mail.ru


Страница сгенерированна за 0.0133 секунд с 7
ELECTRONIX ©2004-2016