[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: furnace controller I/O port again



Greg -

On Wed, Nov 08, 2006 at 12:42:06PM +1100, Greg Cunningham wrote:
> What about shifting the bit-banging into a IRQ/timer-driven kernel
> module that sends smoke signals (not literally...) to user-land when the
> tx/rx sequence is complete?  a bit like a software UART emulation...

You still need to interrupt a processor (with all the cache contention
implications) at least 100 times (and probably 300 real-time-response
required interrupts, if there is no hardware help at all) to read out
a temperature.  The second of my implementations cuts that to only one.

> maybe someone has already written 1-wire kernel code.

Kernel, user-space, doesn't matter to the above observation.
Do you want your processor to get some real work done, or take
coffee-breaks every 60 microseconds?

I put this code into service on a heavily loaded 300 MHz PowerPC,
that had _other_ real-time demands on it.  Just reading out temperatures
shouldn't be a stressful operation.

The one-bit-at-a-time minimal implementation was used when I had
effectively zero free gates on the FPGA, and it was only used to
read out a serial number at boot time, so CPU loading was irrelevant.

   - Larry


_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user