| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| 18F66J60 - Проблем с Етернет-а http://mcu-bg.com/mcu_site/viewtopic.php?f=2&t=5760 |
Страница 1 от 2 |
| Автор: | darkyp [ Пон Май 05, 2008 7:08 am ] |
| Заглавие: | 18F66J60 - Проблем с Етернет-а |
Подкарах един такъв контролер. Програмирах го - диода мига Същия пакет го изпращам без проблем с ENC28J60 и един PIC16F88. Вълните на осцилоскопа са подобни (подобни от към честота и амплитуда, защото е по-простичък 60MHz и не може да се види кой знае какво). Wireshark го вижда, UDP програмата ми го получава. Единственото, което ми идва наум, е ако Ethernet CRC-то не се смята и не се добавя. Ама на какво ли да се дължи? Всичките реггистри съм ги конфигурирал уж правилно. Ако на някой му идват други идеи моля да сподели, че аз за сега съм без. Ако е необходимо ще постна сорса. Благодаря! |
|
| Автор: | mndsl [ Вто Май 06, 2008 10:53 pm ] |
| Заглавие: | |
Размени пиновете TPIN+ и TPIN- |
|
| Автор: | darkyp [ Чет Май 08, 2008 11:19 am ] |
| Заглавие: | |
Благодаря за идеята. В интерес на истината и на мен ми дойде по едно време, но я отхвърлих след като си проверих връзките от пиновете до RJ/Traf-а и след като гледах на осцилоскопа. Ще пиша пак след като пробвам, че в момента нямам възможност. |
|
| Автор: | darkyp [ Нед Май 11, 2008 9:46 am ] |
| Заглавие: | |
Нямах успех. Нито с разменени TPIN-/+ нито с разменени TPOUT-/+. |
|
| Автор: | mndsl [ Нед Май 11, 2008 9:04 pm ] |
| Заглавие: | |
Ping поне има ли? С коя версия на стека си, всичко правилно ли е конфигурирано? Дай малко повече инфо. |
|
| Автор: | darkyp [ Нед Май 11, 2008 10:23 pm ] |
| Заглавие: | |
Без стек съм. За UDP не ми трябва. Програмата ми е от-до моя, asм. Пращам един статичен пакет, който съм си изградил сам, т.е. самото MCU не го смята. Има си го във флаша и от там го слага в буфера на Ethernet модула. Същия пакет ползвам и при ENC28J60 + PIC16F88 където работи. В самия пакет дари да има грешки Wireshark трябва да го хваща. Няма да го хване ако се филтрира от NIC-а на PC-то поради грешка в CRC на ниво Ethernet. Между другото има ли нещо което да покаже колко грешни пакета, pause фрейми и т.н. примерно е хванал NIC-а на PC-то? Това ми дойде сега като идея, поне ще видя какъв му е проблема (може би зависи от драйверите и самия хардуер, но си струва да се заровя). Сега и ще потърся. |
|
| Автор: | ike [ Пон Май 12, 2008 1:08 am ] |
| Заглавие: | |
Не разбирам от микроконтролери. Но ако имах такъв проблем бих направил следната постановка PIC-switch-PC. От този линк http://www.dcs.gla.ac.uk/~lewis/network ... tFrame.htm констуирам EthernetFrame с Preamble , Start frame delimiter , MAC dest addresses за по безопасно бих написал FF-FF-FF-FF-FF-FF за броадкаст. За MAC source addresses бих избрал някой от друг компютър взет защото мисля че не може да е изцяло рандом мисля че има и резервирани MAC addresses. След това Length/EtherType. 100 байта данни. И най-важното Checksum CRC-32. Гледаш първо switch-а. Ако той мига значи пакета е ОК. Ако има грешка ще го дропне(изхвърли). Ако мига switch-а поглеждаш дали мига лан картата на РС-то. Ако мига значи нещо е стигнало до него. За ХР сп2 любимия ми снифер е http://www.ethereal.com/ . Успех и кажи какво е станало. |
|
| Автор: | darkyp [ Пон Май 12, 2008 7:23 am ] |
| Заглавие: | |
PIC-а сам си прави Preamble, Start frame delimiter, останалите байтове ги пиша аз (примерно 256 данни + хх UDP/IP хедъри), CRC-32 съм оставил той да си го прави. Switch-а мига. PC от switcha не мига. PC мига ако го вържа без switch към PIC-а с кроснат кабел. Не съм пробвал с broadcast dest mac. Ще пробвам, въпреки че дори адреса да не е този на PC-то снифера трябва да хване пакета във варианта с кроснат кабел. Wireshark е наследника на Ethereal. [edit]Пробвах с FF-FF-FF-FF-FF-FF за dst mac през switch-а - няма щастие.[/edit] |
|
| Автор: | goose [ Пон Май 12, 2008 12:06 pm ] |
| Заглавие: | |
Намери си хъб отнякъде и пробвай да видиш какво тече през него, за разлика от суича той си е просто водопроводна тръба и каквото влезе, това и излиза от него :> |
|
| Автор: | darkyp [ Пон Май 12, 2008 3:59 pm ] | |||||||||
| Заглавие: | ||||||||||
същото го правя с кроснатия кабел директно към NIC-а на PC-то. |
||||||||||
| Автор: | darkyp [ Пон Май 12, 2008 4:17 pm ] |
| Заглавие: | |
Сега видях, че Wireshark вади статистики поддържани от драйвера на мрежовата карта и прилича да изписва бройката грешни пакети (грешни в какъв смисъл не разбрах) и грешни поради CRC. След няколко дена ще опитам пак, пък да видим. |
|
| Автор: | ike [ Пон Май 12, 2008 5:08 pm ] | |||||||||
| Заглавие: | ||||||||||
Това означава че пакета не е читав и switcha го дропи. Пробвай с ръчно сметнат CRC-32. |
||||||||||
| Автор: | relsys [ Пон Май 12, 2008 10:32 pm ] |
| Заглавие: | |
Имам работеща постановка с 97J60, ако искаш дай кода да го тествам. |
|
| Автор: | darkyp [ Вто Май 13, 2008 1:05 am ] | |||||||||
| Заглавие: | ||||||||||
На лично е. Благодаря за което! |
||||||||||
| Автор: | darkyp [ Пет Май 16, 2008 10:25 am ] |
| Заглавие: | |
Експериментирах малко. На PC-то с Realtek 8139 няма статистика за CRC/FCS грешки. На лаптопа с Broadcom има. С Wireshark се показват като бройка, без самите пакети. Резултатът е, че Received packets е 0, а CRC/FCS и Alignment errors непрекъснато растат като бройка... Ще изчакам relsys да каже дали проблема е в кода или в мойта постановка. |
|
| Страница 1 от 2 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|