2/24/2008 9T6WP
Preliminary Hardware Data Module
BCM7405
06/29/07
Functional Description
Bro a d c o m Co rp o r a ti o n
Document
7405-1HDM00-R
Data Transport Processor Page 1-17
PID Parser
The data transport module supports six independent front-end PID parsers and five playback PID parsers. A 255-entry PID
table is used to compare with the PIDs of the selected transport streams. Each PID channel consists of a primary PID filter
and an optional secondary PID filter. With all secondary PID filters enabled, this corresponds to a total of 255 simultaneous
PID filters.
When a primary PID filter does not have a secondary PID filter enabled, that primary PID filter operates without any
restriction. When the secondary PID filter is enabled in a PID channel, both the primary and the secondary PID filters in that
channel are restricted in the following ways:
•
Both PIDs should be from same band (tuner input or playback channel).
•
If conditional access descrambling is required, both the primary and the secondary PIDs must use the same key.
•
The primary and secondary PIDs cannot use the message filters. The message filters can be configured to save the
PID filtered transport streams directly into message buffers.
•
The primary and secondary PIDs in this channel cannot support Passage.
•
The primary and secondary PIDs in this channel must have the same destination (i.e. record channel, message buffer,
video/audio decoders, Remux).
The data transport has a message DMA which includes 512 4-byte generic section filters and 128 DMA buffers which can
be used for PSI or PES filtering. PES and PSI filtering cannot share the same DMA channel. Data from PID channels 0-127,
after further processing, may be sent to one or more of the 128 message buffers. Data from PID channels 0-127 may be
used by the RAVE (record, audio and video interface engine) or output via the Remux module. Common values among all
parser bands are processed independently. Each PID parser examines the continuity counter and rejects duplicate packets
for the PIDs it is programmed to accept. Each parser also generates error interrupts for short packets and for continuity count
errors.
PID Duplication is not supported, i.e., same PID and BAND value can not be programmed in multiple PID channel locations.
Each of the 128 PID channels is programmed independently for the type of filtering (PSI, PES, or SAVE_PACKET_EN) to
be applied on that channel. The resulting filtered data from these PID channels are sent to the respective message buffers.
The following constraints must be followed when programming the PID channel filtering options provided by the data
transport processor:
•
For any single PID channel, only one type of packet filtering option (i.e., PES, PSI, or SAVE_PACKET_EN) is allowed.
Packet Input Buffer
The packet input buffer stores all of the transport packets that are accepted by the PID parsers. The input buffer then outputs
these packets to the subsequent processing blocks in the order in which they were received. The maximum combined data
rate of packets through the input buffer is 216 Mbps after PID filtering. Packets not accepted by the PID filters are discarded
and not stored.
Packet Timestamp
The input buffer maintains a separate 32-bit timestamp counter for each PID parser which can be locked to any one of the
timebases or to a free running 27-MHz clock. Each packet that is accepted by a PID parser can be optionally stamped using
this local timestamp counter. This timestamp can be used for record, playback with pacing, or PCR correction for remux.
PCR correction is necessary while outputting from the Remux, as packets can remain in the multiplexing buffers for a
variable length of time.