Futterama
Member
Hello forum,
I have a SPI connection between a PIC18F4620 and a ENC28J60 ethernet controller. My problem is when I read the buffer on ENC28J60. I have made a test program, that writes to all buffer locations, and then reads it back, and compares the buffer content. I get loads of errors, anything between 8000 and 12 errors while writing/reading 8192 bytes. Everything programatically works, because it has been working before.
So, I connected my 4channel digital scope, to see what was going on. Now I get no errors at all! If I then disconnect one of the probes, I get some errors, if I disconnect another probe, I get even more errors - but with all probes connected, I don't get any errors.
So I think it must be something about my SPI hardware connections.
3 probes are connected directly to the ENC28J60 Serial-In, Serial-Out and Clock-In pins. The last probe is connected near the PIC Serial-In (takes data from ENC28J60 Serial-Out).
I use a 74ACT125 for translating the 3.3V Serial-Out from the ENC28J60 to the PIC 5V input. The outputs from the PIC, to the ENC28J60 is not translated since the ENC28J60 can handle 5V signals in the inputs.
I have attached 3 images, one of the actual setup and 1 schematic and 1 board layout.
I think perhaps I need some resistors or something on the data/clock lines, but I have a hard time finding information about SPI hardware connections.
The SPI is running 6.25MHz, syncronised with the ENC28J60 clock.
Please advise![Smile :) :)](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Regards,
Futterama
I have a SPI connection between a PIC18F4620 and a ENC28J60 ethernet controller. My problem is when I read the buffer on ENC28J60. I have made a test program, that writes to all buffer locations, and then reads it back, and compares the buffer content. I get loads of errors, anything between 8000 and 12 errors while writing/reading 8192 bytes. Everything programatically works, because it has been working before.
So, I connected my 4channel digital scope, to see what was going on. Now I get no errors at all! If I then disconnect one of the probes, I get some errors, if I disconnect another probe, I get even more errors - but with all probes connected, I don't get any errors.
So I think it must be something about my SPI hardware connections.
3 probes are connected directly to the ENC28J60 Serial-In, Serial-Out and Clock-In pins. The last probe is connected near the PIC Serial-In (takes data from ENC28J60 Serial-Out).
I use a 74ACT125 for translating the 3.3V Serial-Out from the ENC28J60 to the PIC 5V input. The outputs from the PIC, to the ENC28J60 is not translated since the ENC28J60 can handle 5V signals in the inputs.
I have attached 3 images, one of the actual setup and 1 schematic and 1 board layout.
I think perhaps I need some resistors or something on the data/clock lines, but I have a hard time finding information about SPI hardware connections.
The SPI is running 6.25MHz, syncronised with the ENC28J60 clock.
Please advise
Regards,
Futterama