| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Отново за ENC28J60 http://mcu-bg.com/mcu_site/viewtopic.php?f=2&t=2576 |
Страница 1 от 1 |
| Автор: | gicho [ Пон Юни 26, 2006 11:57 am ] |
| Заглавие: | Отново за ENC28J60 |
Здравейте, от няколко дни се боря с туй чудо и идеите, както и нервите ми, са на изчерпване, помагайте ... Направил съм платка с него и Cvilux-а букса с трансформатор от Комета, вързана към Mega162. AVR-a тича на 16MHz, а SPI-а към ЕНК е на 8MHz. Използвам драйвера от Procyon AVR lib, като разгледах няколко други реализации, явно базирани на този драйвер. Мегата и ЕНК-а се захранват от 3.3V LDO (LP8345), което се храни от 5V. Двата чипа са на 3.3V и няма level shift-ъри. Писане и четене на регистрите върви без проблеми, включително на PHY и MAC регистри, при изчитане получават POR стойността, пиша нещо, изчитам записаното коректно. Управлявам си clockout-a на ENC-а и той изкарва зададената стойност. Всичко изглежда наред. Проблемите са два: - записването на каквато и да е конфигурация в PHLCON не променя състоянието на светодиодите - blink, on, off и разни други не светват нищо ??? обратното изчитане на PHLCON-a ми връща записаната от мен стойност, а преди да я запиша ми връща POR default стойността; (това ме притеснява много, липсата на връзка може да бъде от некоректно свързан траф или неподходящ "link partner", но тия диоди ми се виждат много "праволиниено" нещо, с което не бива да има проблеми); проверил съм свързванията, всички пинове на ЕНК-а са ОК, когато подам +3.3 на мястото на LEDA и LEDB изходите на ЕНК (със махнат ЕНК от сокета естествено) ламбите светват; - по-отдалечения проблем е, че нямат статус за наличие на връзка от PHSTAT1/2; това е за по-късно, но проверих детайлно свързването, опитах и с друг траф с отделна букса от мрежова карта с RTL8019AS, няма промяна; с осцилоскоп виждам NLP импулсите на вторичната страна на трафа да отиват в TPIN пиновете; пробвам със switch с пач кабел и с крос кабел към мрежова карта, която ръчно забивам на 10baseT half-duplex; Някой знае ли кога ЕНК-а започва да пуска NLP импулси? Да не е да се разбират като глухия и немия? Кратък коментар - давам си още 2-3 дни и ръчам CP2200/1 и ставам "totally MICROCHIP free." Благодаря за съдействието ! BTW, напрежение 3,3 е стабилно 3.27V с минимални пулсации. Има доста керамики по платката, както и няколко електролита. Пробвах със и без феритен филтър на +3.3 към TX страната на трафа. |
|
| Автор: | Nikola Kirov [ Пон Юни 26, 2006 12:51 pm ] |
| Заглавие: | |
Абе да ти кажа мега захранена на 3.3V не може нормално да работи на 16Mhz. Виж си пдф-а на мегата. На 3,3V могат да работят L версиите но с кварц до 8Mhz. |
|
| Автор: | 3aek [ Пон Юни 26, 2006 12:56 pm ] |
| Заглавие: | |
gicho сбъркал си процесора мой човек защо почваш всичко от 0 с AVR като Microchip има готов стек за PIC + ENC28J60 който бачка като слънце и не ти трябва да ровиш драйвери и прочее??? |
|
| Автор: | gicho [ Пон Юни 26, 2006 1:46 pm ] |
| Заглавие: | |
За захранването - опитах вече с AVR-a на 5V, а ENC-a на 3.3V. Иначе върви и на 16MHz, но си е овърклок, затова и ги вързах на различни захранвания, ефекта е същия. Колкото до микрочипския стек, благодаря. 5-6 години съм се борил с аризонски пясък, повече не искам от него. Да слагам 40МHz осцилатор не ми е изгодно, а с PLL не е надеждно. Не че AVR-а е идеален, ама предпочитам. С МЦЦ18 отказвам да работя, както и с ICD2. Бих се мъчил ако чиповете бяха например по-евтини, че да има смисъл от мъките. Да не спорим защо е AVR, освен ако някой смята че с AVR има техническа пречка да стане. Въпреки предубедеността си, ще пробвам другия вариант - да клоквам мегата от clockout-a (6.25MHz) на ENC-то. Само че никъде не видях обяснение защо ако се клокват от един сорс ще работи - може би с микрочипския SPI контролер да е така, но няма гаранция, че решението е универсално. За сведение, има си стек и за AVR, дори няколко реализации, така че това не проблем в случая. Нямам проблеми с интерфеиса между двата чипа, сигурен съм, че успявам да запиша правилна конфигурация за LED-овете, но няма резултат. Всъщност успях да светна единия - като го закачих кам +, както е конфигурацията за фул дуплекс. Светва постоянно, без връзка. Пробата AVR-а да ползва clock out-a на ENC не показа разлики. Държи се по един и същ начин. Прегледах сорса на микрочипския стек, неиде из началото има тест на паметта, ако не излезе записват 0x0AA2 в PHLCON за да замигат двата диода бързо и индицират грешка. Направих същото (без теста, направо след конфигуриране на SPI-a на AVR-a забивам тази константа. И на LED-овете - никой. Не изключвам да е баламски проблем, затова и питам: Някои ползвал ли е трафовете от Комет-а успешно и на фул или халф дуплекс? Единствена бройка ми е (а и пари за втори такъв няма да дам), така че може да има проблем със самия чип. В началото го бях закачил с 2К за Rbias, преди да видя в ератата, че за B4 трябва да е 2.7К. Да добавя - четох по форума на микрочип, че без никакво конфигуриране, чипа трябва да тръгне и да индицира наличие на линк със светодиодите. При мен не индицира нищо. EDIT: Пробата AVR-а да ползва clock out-a на ENC не показа разлики. Държи се по един и същ начин. Прегледах сорса на микрочипския стек, неиде из началото има тест на паметта, ако не излезе записват 0x0AA2 в PHLCON за да замигат двата диода бързо и индицират грешка. Направих същото (без теста, направо след конфигуриране на SPI-a на AVR-a забивам тази константа. И на LED-овете - никой. Писах и на микрочипския форум, дано има някакав резултат... |
|
| Автор: | gicho [ Сря Юни 28, 2006 9:43 am ] |
| Заглавие: | |
Проблема е решен - нестабилна връзка на един от захранващите пинове - VDDPLL. |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|