10 Pulse Coding
Ten-pulse coding was developed to save
power, increase range, and be very speed tolerant. It consists of
ten pulses with nine timed gaps between them. The first gap is the
reference time. The eight remaining gaps are either longer (one) or
shorter (zero) than the reference. My conventions is to transmit data
LSB first as in standard serial (async) data. Depending on how the
data is to be transmitted (wire, RF, IR, etc.), the width of the pulses,
the timing between them and the 'spread' between zero and one values can
be selected. For instance, if you want to increase range of
an IR data link, you can run the IR emitter well beyond its designed continuous
power limits due to the short pulses. This increases range without
increasing average power consumption.
RC clocking can be used at both ends, if necessary.
Each data byte contains its own reference time so even timing drift between
successive bytes can be tolerated.