2
\$\begingroup\$

the problem is: no communication over the ethernet - no packet is received or send from my board. Both diodes indicate that theres should be connection (one constantly lit other blinks on packet) and wireshark sees only packets sent bt PC. Tried both crossed and non-crossed ethernet cable. Tried swapping ENC - same result, revision is read properly - so there shouldn't be any problems with communications with uP. The story behind: couple weeks ago, while working with previous version of this board everything was OK (packet reception and sending) suddenly coil next to RJ burnt. Do not know why. Resoldered it, swapped RJ socket and ENC - nothing helped. Now i'm working with new version of it and the problem still occurs.
Anyone could tell me whats the problem?

enter image description here

\$\endgroup\$
2
\$\begingroup\$

To summarize: your board / circuit worked previously, then something caused a component (coil?)to pop, so you swapped out some parts (including the popped component) and your circuit / board no longer works...

Since your MCU can seemingly talk to your ENC28J60 and your ENC28J60 evidently is interacting with the Mag Jack (as evidenced by blinking LEDs), the logical conclusion is that your ENC28J60 is receiving ethernet frames but they are being rejected as invalid (perhaps due to CRC errors or something like that). That would point to something being flaky with components between the Jack and the ENC28J60 or perhaps the external support components for the ENC28J60 (e.g. crystal, capacitors, resistors).

You can get some amount more of diagnostic information out of the ENC28J60 over SPI by reading the status registers, and I would encourage you to do so and report back what you find.

\$\endgroup\$
  • \$\begingroup\$ according to PHSTAT2: enc is receiving(RXSTAT=1) and transmitting(TXSTAT=1) at the same time, so collision occurs(COLSTAT=1) <br/> reading sending vector (receive is only available after "successful" reception) transmiting packet has size of 8k so it violate MAXFRMLEN = 1,5k and there was some collisons \$\endgroup\$ – user1821186 Dec 18 '12 at 20:32
  • 1
    \$\begingroup\$ problem solved: after ENC initialization i need to wait some amount time before issuing any receive/send operation. Earlier it wasn't required... Disturbing PHSTAT2 register values are caused by watchdog - my test loop wasn't resetting it and PHSTAT2 value actually was multiple reads overlapping each other. \$\endgroup\$ – user1821186 Dec 21 '12 at 18:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.