[En-Nut-Discussion] Can bus drivers

Ole Reinhardt ole.reinhardt at kernelconcepts.de
Tue Jun 8 10:33:43 CEST 2004


> For example 500kbit/s you set the following values:
> SJA1000_BT0 = 64;
> SJA1000_BT1 = 28;
> All the source I have seen before has not set the SJW.0 bit.
> You has set a Synchronisation Jump Width (SJW) to 2.
> Do you have better results with this instead of SJW to 1:

I took this values from another implementation and from the phillips
application note. I never calculatet them by myself. Should perhaps try
to set the SJW to one and have a look if something changes...

All values are calculatet for a 16Mhz crystal.

How does the SJW affect the traffic?

Btw: in the current version you will have some frame loss on high
traffic (data overrrun interrupt). The overrun will happen because the
input data is not fetched from the receive fifo in the interrupt
routine... I can't do so, because my buffer implementation uses
semaphores that may not be used during interrupts.

I'm just testing a two stage buffering.

Do you have any further suggestions to make the code more usefull /



kernel concepts    Tel: +49-271-771091-14
Dreisbachstr. 24   Fax: +49-271-771091-19
D-57250 Netphen    E+ : +49-177-7420433

More information about the En-Nut-Discussion mailing list