|
AVR + CP2200 от SiLabs |
|
|
|
Jun 15 2006, 08:36
|
Местный
  
Группа: Свой
Сообщений: 225
Регистрация: 25-04-06
Из: Украина, Луганск
Пользователь №: 16 476

|
Всем привет. СР2200 - это Ethernet контроллер от SiLabs. Собрал девайс на АТмега16+СР2200, законнектился с чипом, пишу читаю регистры, все нормально, только вот когда включаю приемник и передатчик, то на выходе передатчика нет импульсов линка, а приемник с чего-то думает что подключен к сетке и светит светодиодом, который показывает что есть линк, хотя при этом кабель не подключен вообще. Может кто работал с этим зверем и сталкивался с подобным? Или может слышал о такой проблеме? Нужен срочно хелп, потому что служба техподдержки SiLabs ушла в отказ, сказали что они не работают с Атмелом и поэтому помочь не могут, а время идет. Всем откликнувшимся заранее спасибо.
|
|
|
|
|
 |
Ответов
|
Jun 15 2006, 10:09
|

Профессионал
    
Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555

|
Я подключал CP2200 и CP2201 к ARM LPC2129 и LPC2103 у меня вроде была такая фишка с LINKом пока я не стал запускать auto-negotiation в общем инициализация у меня выглядит примерно так: Код //reset CP220x cpReadByte(INT0); //clear INT0 cpWriteByte(SWRST,4); while (!(cpReadByte(INT0)& 0x20)); //wait for reset complete
cpWriteByte(IOPWR,0x0C);
//PHY INIT cpWriteByte(PHYCF,0xFE); cpWriteByte(PHYCN,0x00); Delay(1); r=INT1; cpWriteByte(PHYCN,0x80); Delay(1); cpWriteByte(PHYCN,0xE0); Delay(75);
while (!(cpReadByte(INT1)& 0x01));
while (!(cpReadByte(PHYCN)& 0x01));
//MAC INIT cpWriteMac(MACCF,0xB3); cpWriteMac(IPGT,0x15); cpWriteMac(IPGR,0x0C12);
cpWriteByte(FLASHADDRL,0xFA); cpWriteByte(FLASHADDRH,0x1F); Tmp=cpReadByte(FLASHAUTORD); Tmp|=cpReadByte(FLASHAUTORD)<<8; cpWriteMac(MACAD2,Tmp); Tmp=cpReadByte(FLASHAUTORD); Tmp|=cpReadByte(FLASHAUTORD)<<8; cpWriteMac(MACAD1,Tmp); Tmp=cpReadByte(FLASHAUTORD); Tmp|=cpReadByte(FLASHAUTORD)<<8; cpWriteMac(MACAD0,Tmp);
cpWriteMac(MACCN,0x01); тут соотв. cpReadByte и cpWriteByte этщ чтение и запись в регистры cpWriteMac запись в MAC регистры: Код static void cpWriteMac(uint8_t Addr,uint16_t r) { cpWriteByte(MACADDR,Addr); cpWriteByte(MACDATAH,r>>8); cpWriteByte(MACDATAL,r); cpWriteByte(MACRW,0); }
|
|
|
|
|
Jun 15 2006, 11:46
|

Профессионал
    
Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555

|
Цитата(MSprut @ Jun 15 2006, 14:26)  СПАСИБО ОГРОМНОЕ! Хрен бы когда догадался что нужно обязательно включать автонегоциацию для того чтобы девайс хоть как-то начал жить! Я, блин уже 2 недели сижу над этой проблемой, уже чип заменил... Вот клоуны! А что делать если я нехочу автоопределние включать? Я не знаю  Вообще там есть много непонятных моментов! Когда я получил отладочный комплект и первые чипы, их немного здесь пообсуждали http://electronix.ru/forum/index.php?showtopic=14993Сейчас я практически все поборол. Из оставшихся фич - если происходит переполнение (например принят паке а все 8 TLB заняты) то он перестает принимать пакеты (можно выгрести 8 которые были уже, а больше .....) как очистить это состояние я еще не придумал (все руки не доходят) А так чип вполне приличный!
|
|
|
|
|
Jun 15 2006, 13:38
|

Профессионал
    
Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555

|
Цитата(MSprut @ Jun 15 2006, 17:32)  Чтобы преполнения не было нужно после чтения каждого пакета из буфера очищать его через запись бита RXSKIP в регистр RXCN. Это то понятно  у меня его обычно и не возникает, но вот при отладке ... иногда возникает переполнение (пока по шагам шагаешь) главное после этого все работает и пакеты можно посылать и принимаются все пакеты которые уже были в буффере, вот только новые не принимаются!
|
|
|
|
Сообщений в этой теме
MSprut AVR + CP2200 от SiLabs Jun 15 2006, 08:36  MSprut Да, совсем забыл спросить... Какие впечатления от ... Jun 15 2006, 10:51        KRS Цитата(MSprut @ Jun 16 2006, 15:03) В нов... Jun 16 2006, 12:09         MSprut Сорри, не так интерпретировал текст про Half Duple... Jun 16 2006, 13:10          MSprut 2KRS
А не могли бы поделиться примером инициализац... Jul 8 2006, 10:44           KRS Цитата(MSprut @ Jul 8 2006, 14:44) 2KRS
А... Jul 10 2006, 09:21            MSprut Цитата(KRS @ Jul 10 2006, 12:21) Так врод... Jul 10 2006, 12:50
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|