0
RC8660 VOICE SYNTHESIZER
RC SYSTEMS
�����������
��������
��
���
�������
�
�����
����������
���������
�����������
��������
��
���
�������
�
��������������
�����
�������
�
��
���
Figure 1.6. Recommended Method ofWriting DataVia the Bus interface
Bus/printerinterface
The RC8660’s bus interface allows the RC8660 to be connected to a
microprocessor or microcontroller in the same manner as a static RAM
or I/O device, as shown in Figure 1.7. The microprocessor controls all
transactions with the RC8660 over the system data bus using the RD
and WR# signals. RD controls the reading of the RC8660’s Status Reg-
ister; WR# controls the transfer of data into the RC8660. The Status
Register bits and their definitions are shown in Table 1.5.
A registered bus transceiver is required for communication between
the RC8660 and microprocessor; two 74HC374s placed back to back
may be substituted for the 74HC652 shown in the figure. Prior to each
write operation to the RC8660, the host processor should verify that
the RC8660 is ready by testing the RDY status flag.
The RC8660 can also be interfaced to a PC’s printer port as shown
in Figure 1.7. A 74HC374 can be used in place of the 74HC652,
since bidirectional communication is not necessary. Handshaking is
performed automatically via the BUSY pin.
Because the RC8660 can take up to 15 µs to accept data written to it
(AC Characteristics, tYHWH parameter), software drivers should wait for
RDY to drop to 0 after a byte is written in order to avoid overwriting
it with the next data byte. Not doing so could result in the loss of data.
Waiting for RDY to drop to 0 ensures that RDY will not falsely show
that the RC8660 is ready the next time the driver is called.
If a system interrupt can occur while waiting for RDY to become 0, or if
RDY cannot otherwise be checked at least once every 8 µs, a software
timeout should be enforced to avoid hanging up in the wait loop. The
time RDY stays 0 is relatively short (8 µs min.) and can be missed if the
loop is interrupted. The timeout should be at least 15 µs, which is the
maximum time for RDY to drop to 0 after writing a byte of data. In non
time-critical applications, the output routine could simply delay 15 µs or
longer before exiting, without checking for RDY = 0 at all.
Figure 1.6 illustrates the recommended method of writing data to the
RC8660’s bus interface. This method should be used for writing all
types of data, including text, commands, tone generator and real time
audio data.