BCM1250/BCM1125/BCM1125H
User Manual
10/21/02
B r o a d c o m C o r p o r a t i o n
Page
342
Section 10: Serial Interfaces
Document
1250_1125-UM100CB-R
The TSTROBE pin is used as a data valid indicator when an external enable is used. The strobe_active bit in
the
ser_mode
register sets the active level that TSTROBE will have when DOUT is valid. If the TIN enable
signal is always active (or is only changed between packets) then TSTROBE will frame the packet. The
protocol engine will ensure there is at least one bit time of gap between packets.
In the example in
TIN is sampled on the rising edge of the clock and DOUT changes as a result of
the rising edge of the clock. The delay is set to 1 so the enable is sampled on the rising clock edge. Since the
enable is removed at the start of cycle 0 and 2, DOUT is tri-stated during bit times 0 and 2 and driven during
bit times 1 and 3. (A similar figure would result if the delay is 3, removal of the enable during cycle 0 and 2 will
result in DOUT being tri-stated during bit times 2 and 4 and driven at times 3 and 5).
Figure 70: Example Transmission Using TIN as Active High Enable (Driving/Sampling on Rising Clock
Edge)
Output Using the Internal Sequencer
The transmitter has its own serial sequencer and its own table for generating the enable signal. The table is
used to generate the internal enable signal and an external strobe signal. An external framing pulse provided
on the TIN pin is used to synchronize traversal of the table with the data stream. The table consists of up to 16
entries, each with the same format as the receive table shown in
Each entry controls the behavior of the line interface for a number of bit times equal to Count+1 if Bit/Byte is
0, or to 8*(Count+1) if Bit/Byte is 1. During those bit times, data is accepted from the protocol engine and sent
on DOUT on each clock edge if Enable is 1; DOUT is set high impedance and no data is extracted from the
protocol engine if Enable is 0. The TSTROBE pin is driven with the value of Strobe bit in the entry.
The synchronization pulse on TIN is delayed by between 0 and three active edges of the clock. The edge_det
bit in the
ser_mode
register selects either the active level or the inactive to active edge of the delayed pulse
as the start signal for the sequencer. If the delay is zero the sequencer is immediately signalled to start (and
the data and enable outputs will transition accordingly) the sequencer will start synchronously to the first,
second or third clock edge after the synchronization event. If the sequencer is currently idle it will reset to map
table entry zero when started, and the enable bit in that entry becomes effective immediately. Table entries are
thereafter processed in order until encountering an entry with the Last indicator set.
After the last entry of the table is processed, the line interface unit waits for the next start signal from the
delayed TIN before it restarts with entry 0. During any interval between the end of the table and reassertion of
TIN, DOUT is high impedance.
Once the table scan has started the start signal is ignored. If an active level or edge is detected on the delayed
TIN signal it will be flagged as a tx_sync_error in the
ser_status
register and it will not affect the sequencer.
(This may not be an error on some interfaces, for example if the sync is marked as level sensitive but lasts
more than one cycle.)
Clock
Time:
TIN/EN
DOUT
0
1
2
3