TX and RX Data Buffers

Address Range = &h800 ~ &hFFF

There are two data buffers: TX and RX. Each buffer's capacity is 2,048 bytes or 1,024 16-bit words.

Both buffers are mapped into the same address space. The TX buffer is accessed with write transactions, while the RX buffer is accessed with read transactions. It is not possible to read from the TX buffer or write into the RX buffer.

The TX buffer stores the data prepared for transmission. Before the data transmission, your program must store the data to be transmitted into the TX buffer, beginning from address &h800. Your program must also set TX length registers to the length of prepared TX data (in bytes).  

The RX buffer accumulates incoming IR data received in the cause of data recording. After the IR data recording completes, this buffer will contain the received data, aligned at address &h800. RX length registers contain the length of received data (in bytes).


Tibbit #26 treats IR data (demodulated, information-bearing signal) as a sequence of "IR light ON" and "IR light OFF" periods of measured lengths. That is, the Tibbit does not attempt to process the data "intelligently" (i.e., classify the IR protocol, etc.). The length of each ON and OFF period is measured and recorded in periods of the modulation frequency. Here is how the data is stored in the buffer:

Address

Byte

Word

&h800

Low byte

ON time

&h801

High byte

&h802

Low byte

OFF time

&h803

High byte

...

...

...


TX and RX Data Buffers

Address Range = &h800 ~ &hFFF