Thursday, July 20, 2006

Serial Buffer vs. Analog Buffer

You may have noticed that when you first create an Analog Buffer (ABUF) or Serial Buffer (SBUF), the input and output lines are not red or black, but rather green. Green lines in Crestron SIMPL Windows indicate an ambiguous signal. An ambiguous signal is a signal that has not yet been declared as digital (blue), analog (red) or serial (black).


These signals are ambiguous because, contrary to the names of the symbols, either analog or serial signals can be run through EITHER the analog OR serial buffers. There are notable differences between these buffers, but the names of the symbols do not capture these differences well.

The analog buffer propagates the inputs to the outputs on the rising edge of the enable line. Analog values propagate immediately, and when the enable goes low, the output remains at the last value. Any serial signal that has been tied to a Make String Permanent (MSP) or otherwise made permanent (such as being tied to a Telephone Dialing Keypad) will also propagate on the rising edge of the enable line. Transient serial signals, which is the term for any serial signal that has not been "made permanent," will not propagate at the rising edge.

The serial buffer propagates the inputs to the outputs while the enable line is high. The rising edge of the enable line will not propagate any signals. The inputs will only propagate to the outputs if new data is sent to the input while the enable line is already high. This is the difference between the serial buffer and the analog buffer. If an analog signal is run through a serial buffer, it will not propagate the value on the rising edge of enable, but rather wait until the analog input changes or re-asserts. When the enable goes low, the output remains at the last value. If a serial signal (transient or permanent) is run through a serial buffer, the value will only be propagated when the input changes once the enable is already held high.

A common question is "Why doesn't my serial buffer pass my data when I pulse the enable?" The solution is to use an Analog Buffer if you want the data to be passed from input to output on the rising edge of enable, even if the data is serial in nature.

0 Comments:

Post a Comment

<< Home