|
Проблема с Ethernet, Не работает Ethernet на NXP LPC4088 |
|
|
|
Jun 8 2015, 11:35
|
Участник

Группа: Участник
Сообщений: 31
Регистрация: 16-05-12
Пользователь №: 71 870

|
Господа, возникла такая проблема с инициализацией Ethernet на контроллере NXP LPC4088. Как обычно первым делом выставляю ножки контроллера а альтернативную ф-ю для Ethernet (всего 18 ног) Далее пытаюсь подать питание на периферию: LPC_SC->PCONP |= 1<<30; И на этом работа процессора останавливается. В ИАРе в просмоторщике регистров, вместо осознанных цифр сплошные прочерки. С остальной периферией все нормально. Может кто сталкивался... Подскажите пожалуйста Да, и еще после этого вылезает ошибка
Сообщение отредактировал A_Sherbakov - Jun 8 2015, 11:36
|
|
|
|
|
Jun 8 2015, 12:00
|
Участник

Группа: Участник
Сообщений: 31
Регистрация: 16-05-12
Пользователь №: 71 870

|
Цитата Питания хватает? Может какое КЗ на это периферии, пока ноги на вход все ок, а как пошевелить надо, так и рушиться все... Питания хватает, ставили на отложенный запуск, Смотрели может какой пик есть. Все ровно держит +3V3. Цитата И еще такой момент у вас на HardFault и прочих падучих прерываниях стоят заглушки, чтобы их заметить? Заглушки стоят, но туда не приходит, просто вываливается и все. Есть у нас отладочный диод, который моргает от прерывания периодического таймера. Если EMac не включать, работает... Как только пишем эту строчку (LPC_SC->PCONP |= 1<<30;) все. После нее тишина.
|
|
|
|
|
Jun 8 2015, 12:44
|
Участник

Группа: Участник
Сообщений: 31
Регистрация: 16-05-12
Пользователь №: 71 870

|
Цитата А Вы в самое начало программы добавьте отключение питания PCONP_bit.PCENET = 0; Спасибо, но не помогло. Есть подозрение что это что-то с J-tag. Потому что прошил КИТ стандартным ИАРовским примером, встал на мою уже полюбившуюся строчку. И вылетел, переткнул питание, загорелась лампочка на RJ45. Но что интересно с другой периферией все нормально. И UARTы все работают, и SPI()SSP, и многое другое. Странно.
|
|
|
|
|
Jun 9 2015, 10:27
|
Участник

Группа: Участник
Сообщений: 31
Регистрация: 16-05-12
Пользователь №: 71 870

|
Методом проб и ошибок пришел к такому прогрессу. Если сначала инициализировать ноги тактирования (ENET_REF_CLK для RMII), а следующей строчкой подать тактовую на Ethernet периферию, все идет по плану. Такой вот проц. Вот вырезка из мануала UM4088. Цитата Remark: when initializing the Ethernet block, it is important to first configure the PHY and insure that reference clocks (ENET_REF_CLK signal in RMII mode, or both ENET_RX_CLK and ENET_TX_CLK signals in MII mode) are present at the external pins and connected to the EMAC module (selecting the appropriate pins using the IOCON registers) prior to continuing with Ethernet configuration. Otherwise the CPU can become locked and no further functionality will be possible. This will cause JTAG lose communication with the target, if debug mode is being used. Но это на ИАРовском КИТе все заработало. Там и PHY был сконфигурирован и режим RMII. На боевой плате У нас 5-портовый свич Micrel KSZ8895. Хочу режим MII. Инициализирую ENET_RX_CLK и ENET_TX_CLK, подаю тактовую на периферию Ethernet, и все как всегда. Написано что надо настроить PHY, но как это сделать если мне Ethernet не включить. Да и вот еще что. На ногах ENET_RX_CLK и ENET_TX_CLK тишина, а на КИТе на ENET_REF_CLK 50 MHz.
|
|
|
|
|
Jun 9 2015, 10:57
|
Участник

Группа: Участник
Сообщений: 31
Регистрация: 16-05-12
Пользователь №: 71 870

|
Цитата ENET_RX_CLK и ENET_TX_CLK - должны формироваться Micrel (25MHz), у Вас что-то со свитчом. На ките PHY включена в RMII вот и выдает ENET_REF_CLK 50 MHz. Дмитрий, скажите пожалуйста. Может быть такое (не формируются тактовые) из-за того, что микросхема еще не настраивалась, или это должно произойти автоматом.
|
|
|
|
|
Jun 9 2015, 11:25
|
Частый гость
 
Группа: Участник
Сообщений: 180
Регистрация: 5-04-09
Пользователь №: 47 205

|
QUOTE (DmitryM @ Jun 9 2015, 14:20)  Ну, во-первых, проверьте в каком режиме у Вас switch: MAC или PHY. PHY обычно сразу формирует, хотя бывают исключения. Юзаю KSZ8895 совместно с STM32F4, режим MII. Клоки идут сразу. А вот чтобы свич заработал (начал пакеты гонять) - надо ему шепнуть волшебное слово по MDC.
|
|
|
|
|
Jun 9 2015, 12:38
|
Участник

Группа: Участник
Сообщений: 31
Регистрация: 16-05-12
Пользователь №: 71 870

|
Цитата ENET_RX_CLK и ENET_TX_CLK - должны формироваться Micrel (25MHz), у Вас что-то со свитчом. На ките PHY включена в RMII вот и выдает ENET_REF_CLK 50 MHz. Спасибо огромное за советы, решили проверить как процессор себя поведет имея на входе 25 МГц на обоих сигналах. Дали с циклона два провода, все пошло. Ура. Цитата Ну, во-первых, проверьте в каком режиме у Вас switch: MAC или PHY. PHY обычно сразу формирует, хотя бывают исключения. Мы хотели подключить Mac - Mac. Пощупал микросхему осциллографом, действительно PHY дает 25 МГц, а Mac нет. С микросхемой работаю впервые. наверно надо настраивать ее в таком режиме не через MIIM а через SPI. Или может какие есть аппаратные средства. ВЫВОД: Действительно работая в связке NXP LPC4088 и любой PHY нужно сначала конфигурировать ноги отвечающие за тактовые сигналы Ethernet (хотя бы одну для RMII это REF_CLK), а потом подавать тактовую на периферию Ethernet. Всем еще раз спасибо за советы. Буду пробовать дальше.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|