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

 
 
 
Reply to this topicStart new topic
dxgrey
сообщение Feb 2 2010, 12:10
Сообщение #1





Группа: Участник
Сообщений: 6
Регистрация: 28-12-09
Пользователь №: 54 537



Доброго времени суток,
На AT91SAM7X512 реализован датчик, принимающий сигнал с АЦП и передающий данные по сети через tcp протокол.
Проблема: Если к АЦП входу подключить внешний источник напряжения, начинает некорректно работать EMAC интерфейс,
т.е. при опросе функцией EMAC_ReadPhy() статуа, флаг DM9161_LINK_STATUS всегда равен 0 в любом случае, присоединен сетевой кабель или нет.
Без подключенных к АЦП датчиков устройство работает нормально.
Функции для инициализации EMAC Интерфейса взял в одном из примеров AT91SAM7X-EK Software Package 1.5 от ATMEL
Код инициализации EMAC:
Код
    static const Pin emacRstPins[] = {BOARD_EMAC_RST_PINS};
    static const Pin emacPins[] = {BOARD_EMAC_RUN_PINS};
    EMAC_Init(AT91C_ID_EMAC, MacAddress, EMAC_CAF_ENABLE, EMAC_NBC_DISABLE);
    DM9161_Init(pDm, EMAC_PHY_ADDR);
    if (!DM9161_InitPhy(pDm, BOARD_MCK,  emacRstPins, PIO_LISTSIZE(emacRstPins), emacPins, PIO_LISTSIZE(emacPins))) {
        return -1;
    }
     // Auto Negotiate
    if (!DM9161_AutoNegotiate(pDm))
       return -1;
потом по таймеру с помощью функции EMAC_ReadPhy() я опрашиваю link status.

Код инициализации АЦП:
Код
    static const Pin pinsADC[] = {PINS_ADC};
    PIO_Configure(pinsADC, PIO_LISTSIZE(pinsADC));
    ADC_Initialize( AT91C_BASE_ADC, AT91C_ID_ADC, AT91C_ADC_TRGEN_DIS, 0, AT91C_ADC_SLEEP_NORMAL_MODE, AT91C_ADC_LOWRES_10_BIT, BOARD_MCK, BOARD_ADC_FREQ, 10, 1200);
    ADC_EnableChannel(AT91C_BASE_ADC, ADC_CHANNEL_0);
    ADC_EnableChannel(AT91C_BASE_ADC, ADC_CHANNEL_1);
    ADC_EnableChannel(AT91C_BASE_ADC, ADC_CHANNEL_2);
    ADC_EnableChannel(AT91C_BASE_ADC, ADC_CHANNEL_3);
    ADC_StartConversion(AT91C_BASE_ADC);


Кто-нибудь сталкивался с такой проблемой?

Сообщение отредактировал dxgrey - Feb 2 2010, 12:13
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 2 2010, 12:23
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(dxgrey @ Feb 2 2010, 15:10) *
Кто-нибудь сталкивался с такой проблемой?

Едва ли кто-то мог бы столкнуться с такой проблемой, так как она носит ярко выраженный индивидуальный характер.
Или данные от АЦП в вашей программе перетирают что-то ценное, или же вход АЦП закорочен с каким-либо из сигналов DM9161. Кстати, как ведет себя светодиод Link?
Go to the top of the page
 
+Quote Post
vmp
сообщение Feb 2 2010, 14:07
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 20-01-05
Из: Зеленоград
Пользователь №: 2 070



Входной сигнал АЦП не превышает AVcc?
Go to the top of the page
 
+Quote Post

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

 


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


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