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

Re: gEDA-user: furnace update



> I am curious about what the design goals were with this project.
> 
> 4 zones,  why the R8C per zone,  etc etc.

There were a couple.  In no particular order:

Speed - The 1wire interface is timing sensitive, and polling four
  zones resulted in a 15 second cycle with the old system.  Responding
  to button presses wasn't as fast as I'd like, and the whole system
  was slowed down because I was doing 1wire timing in an
  interrupts-disabled busy loop.  I was also doing serial out in
  software, again with busy loops.

Isolation - the R8Cs are a couple bucks each.  The gumstix is $120.
  I'd rather blow an R8C than a gumstix, although I'd rather blow the
  cheap discretes protecting the r8c first ;-)

Protocol hiding - if I add new types of thermostats or whatnot, I only
  need to update the R8C programming; the I2C protocol remains the
  same.

Timing - the 1wire protocol is timing sensitive, so I let the R8C's
  hardware timers manage it.  The gumstix is not a real-time kernel.

Fun - no description needed.


The net result is that I'm using the R8C as cheap programmable
peripherals, not computation units.  They're only 20 pin SSOPs anyway.
The gumstix does all the math and decision making, and the R8Cs do the
timing sensitive stuff - each one provides a serial port, 1wire
interface, and the polling logic, and just reports on what it found.

Think of them as "i2c to serial+1wire converters" :-)

The cheapest R8C/1A (1B has extra data flash) at digikey is $3.15 (4K
flash, 384b ram).  For that you get an I2C (or SPI) to pretty much
*anything* converter, as the chip has two serial ports, four LED
drivers, four 10bit ADC, three timers, and the usual collection of
GPIO pins.

The fifth R8C, the one that controls the furnace, monitors the AC
phase and switches everything at zero crossings (and keeps reloading
them to keep them from glitching).  The voltage is too low for
commodity ZC chips, which expect 120V.  It's also responsible for
power loss detect.


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