ENC28J60 receive buffer write pointer not updating


+ Reply to Thread
Results 1 to 3 of 3
  1. #1
    Join Date
    Jun 2007
    Location
    Mansfield, UK
    Posts
    697

    Default ENC28J60 receive buffer write pointer not updating

    Hi, I'm starting to get the hang of these ENC28J60 chips but I'm still having a few problems. Currently I have managed to go as far as sending a packet which my PC can receive. Now I'm trying to send data back to the chip but it's not working.

    My problem appears to be when writing to the ERXST register pair. The write is successful and I can read the correct values back but the datasheet says writing to these registers will also update ERXWRPT. This doesn't appear to be happening. Whenever I read the registers back, ERXWRPT is always set to 0:0. This is causing received packets to be written to the wrong location.

    Is there something else I must do to update ERXWRPT? I cannot modify it in my code as it is read only and I don't see anything in the datasheet that suggests I have to do anything other than write to ERXST.

  2. #2
    Join Date
    Jun 2007
    Location
    Mansfield, UK
    Posts
    697

    Default Re: ENC28J60 receive buffer write pointer not updating

    After many Google searches I've finally found the answer to this.

    For anyone else that might have this problem, it is a bug in the chip itself as described in ENC28J60 Rev. B7 Silicon Errata. This bug is present on chips where EREVID=00000110.

    Sometimes, when ERXST or ERXND is written to, the exact value, 0000h, is stored in the Internal Receive Write Pointer instead of the ERXST address.

    Work around
    Use the lower segment of the buffer memory for the receive buffer, starting at address 0000h. For example, use the range (0000h to n) for the receive buffer, and ((n + 1) – 8191) for the transmit buffer.

  3. #3
    Join Date
    Apr 2014
    Posts
    3

    Default Re: ENC28J60 receive buffer write pointer not updating

    Master,

    Do you still have the sources????

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts