I am skeptical about 1bit being enough to describe a THIS / NEXT state. Technically, Black's algorithm is either a positive UP slope or a negative DOWN slope, nothing in between. But the idea has merit. Imagine Black's R then C arrangement using one PIN. Got it? Now imagine TWO pins and R's driving the SAME CAP. If you use the Hi-Z capability of each pin as well, the possible states are: ST# PIN#1 PIN#2 ----- ----- ------ 1 0 0 2 1 1 3 Z Z 4 1 0 5 0 1 6 1 Z 7 Z 1 8 0 Z 9 Z 0 But if you study the circuit you see that EFFECTIVELY ST4=ST5, ST6=ST7, and ST8=ST9. So the REAL number of possible states is only 6: ST# PIN#1 PIN#2 ----- ----- ------ 1 0 0 2 1 1 3 Z Z 4 1 0 6 1 Z 8 0 Z So to describe the action, 3 bits are required per interval, of which two states might be used for repeating the last interval data 2 or 3 times: 3B CODE PIN#1 PIN#2 ACTION ------- ----- ------ ------------------ 0 1 0 GENTLE TUG TO MIDPOINT (INITIAL STATE) 1 1 1 SHARP UP SLOPE 2 1 Z SOFT UP SLOPE 3 Z Z NO CHANGE AT ALL (shortterm) 4 0 Z SOFT DOWN SLOPE 5 0 0 SHARP DOWN SLOPE 6 THIS & NEXT intervals use same data as LAST 3 bits saved 7 THIS & NEXT TWO " 6 bits saved To see what it would do for data space, a standard 2sec data file using a 8-bit DAC at 8K interval would be 8K*8=64000 bytes. Using this scheme, the same 2Sec file would be 8K*3=24000 bytes max, but will certainly be smaller because many points will be repeated, saving at least 10% or making it about 21700 bytes typical. To get fancy, adjust the value of R which could be done with digital pots; i.e. adjust the smoothness... My method looks appealing for generating accurate sinewaves, cause you could just pull a few bytes from a table then repeat endlessly. ----- Just thinking out loud... BTW Ramtrons are better than serial EEROMs, to keep from having write delays, methinks. I like RAMTRON SPI chips; they are very fast (2Mhz). --Bob Axtell PicDude wrote: > Funny you should ask ... I started playing with this a few weeks ago, and am > not completely done yet. It's just for fun, so it's on the slooooowww path. > :-) > > I am using the circuit with the serial EEPROM, so I ordered and received a > couple serial EEPROMS, built the circuit, then built a simple EEPROM > programmer, and dug up an old laptop and installed DOS on it (so I could run > the encoder software). Well, the software does not run in dos, nor in a > Windows 2000 command-prompt. I couldn't either, nor have I met anyone that has. So I am in limbo right now, until I figure this > part out. Fortunately it's not a priority for me. > > Cheers, > -Neil. > > > > On Sunday 27 June 2004 05:06 pm, Bob Axtell scribbled: > >>Anybody sucessful using Roman Black's BTC method to create short voice >>messages? Like "ONE", etc >> >>It looks like a great way to generate simple piezo beeps, anyway... >> >>--Bob > > > -- > http://www.piclist.com hint: To leave the PICList > mailto:piclist-unsubscribe-request@mitvma.mit.edu > > -- Replier: Most attachments rejected -------------- Bob Axtell PIC Hardware & Firmware Dev http://beam.to/baxtell 1-520-219-2363 -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu