[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