Hi everybody,
 
I'm working on a project with a large amount of pic's in a peer to peer network configuration.
Each station has to recieve compute and send all the data at the 'same' time.
To do so I use a serial recieve interupt, which move the data to a small buffer.
Each program cycle I get a byte out the recieve buffer, compute it and send the byte away.
 
Everything works perfect except when I send a large amount of data via the bus with no pause between the bytes, then I am loosing a byte ones in the x thousand bytes. I checked my buffers timing etc, but it seems to be all okay.
 
When I use a little delay now and then in the transmision { 2 ms after 1000 bytes written } it works fine.
I discovered that the frequency in wich the fault occured depended on the caps that I used with my crystal. When I use a single oscillator for all my stations, it all works fine.
So I made seperate high precision oscillators for each station and reduceded the fault so only one byte in the several hundreds of thousands is lost.
 
Apart from the bytes that gets lost some others gets corrupted, dispite the parity check.
There does not occure a single parity or framing error.
 
Has anyone any ideas on what is causing the problem, I'm getting very tired off this problem.
 
Thanx,
 
Remco Brenninkmeijer