On Oct 10, 2006, at 2:27 PM, Rodolfo Giometti wrote:
Someone may halp me in understing where the problem could be? My driver doesn't use DMA, as suggested by the CPU's data sheet... it could be wrong?
Many people, including myself, have spent way too many hours trying to make this device interface work. There are some errata associated with it, along with some challenging design problems. I have only been able to make it work in one instance, with a highly custom RTLinux driver, properly matched FIFOs and DMA, and running TCP/IP over the link. It wasn't 100% reliable, but the TCP retries made it appear that way to the application (with tolerable delays). The device interface just requires too much babysitting by the CPU to function, and the Linux interrupts have too much latency to guarantee the CPU can do what is necessary in a timely fashion. The same is true of not using DMA. If you choose not to use the DMA for data transfer, the CPU just can't respond quickly enough to the interface state changes unless you just spend all of your time polling the interface. IMHO, I wouldn't waste much time on this, but Good Luck if you choose to do so :-) -- Dan