Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections,
modifications, enhancements, improvements, and other changes to its products and services at
any time and to discontinue any product or service without notice. Customers should obtain the
latest relevant information before placing orders and should verify that such information is current
and complete. All products are sold subject to TI’s terms and conditions of sale supplied at the
time of order acknowledgment.
TI warrants performance of its hardware products to the specifications applicable at the time of
sale in accordance with TI’s standard warranty . Testing and other quality control techniques are
used to the extent TI deems necessary to support this warranty. Except where mandated by
government requirements, testing of all parameters of each product is not necessarily performed.
TI assumes no liability for applications assistance or customer product design. Customers are
responsible for their products and applications using TI components. To minimize the risks
associated with customer products and applications, customers should provide adequate design
and operating safeguards.
TI does not warrant or represent that any license, either express or implied, is granted under any
TI patent right, copyright, mask work right, or other TI intellectual property right relating to any
combination, machine, or process in which TI products or services are used. Information
published by TI regarding third party products or services does not constitute a license from TI
to use such products or services or a warranty or endorsement thereof. Use of such information
may require a license from a third party under the patents or other intellectual property of that third
party , or a license from TI under the patents or other intellectual property of TI.
Reproduction of information in TI data books or data sheets is permissible only if reproduction
is without alteration and is accompanied by all associated warranties, conditions, limitations, and
notices. Reproduction of this information with alteration is an unfair and deceptive business
practice. TI is not responsible or liable for such altered documentation.
Resale of TI products or services with statements different from or beyond the parameters stated
by TI for that product or service voids all express and any implied warranties for the associated
TI product or service and is an unfair and deceptive business practice. TI is not responsible or
liable for any such statements.
Mailing Address:
Texas Instruments
Post Office Box 655303
Dallas, Texas 75265
Copyright 2003, Texas Instruments Incorporated
About This Manual
This document describes the video port and VCXO interpolated control (VIC) port
in the digital signal processors (DSPs) of the TMS320C6000 DSP family.
Notational Conventions
This document uses the following conventions.
- Hexadecimal numbers are shown with the suffix h. For example, the
following number is 40 hexadecimal (decimal 64): 40h.
Related Documentation From Texas Instruments
The following documents describe the C6000 devices and related support
tools. Copies of these documents are available on the Internet at www.ti.com.
Tip: Enter the literature number in the search box provided at www .ti.com.
Preface
Read This First
TMS320C6000 CPU and Instruction Set Reference Guide (literature
number SPRU189) describes the TMS320C6000 CPU architecture,
instruction set, pipeline, and interrupts for these digital signal processors.
TMS320C6000 Peripherals Reference Guide (literature number SPRU190)
describes the peripherals available on the TMS320C6000 DSPs.
TMS320C6000 Technical Brief (literature number SPRU197) gives an
introduction to the TMS320C62x and TMS320C67x DSPs, develop-
ment tools, and third-party support.
TMS320C64x Technical Overview (SPRU395) gives an introduction to the
TMS320C64x DSP and discusses the application areas that are
enhanced by the TMS320C64x VelociTI.
TMS320C6000 Programmer’s Guide (literature number SPRU198)
describes ways to optimize C and assembly code for the
TMS320C6000 DSPs and includes application program examples.
TMS320C6000 Code Composer Studio Tutorial (literature number
SPRU301) introduces the Code Composer Studio integrated development environment and software tools.
iiiContentsSPRU629
Trademarks
Related Documentation From Texas Instruments / T rademarks
Code Composer Studio Application Programming Interface Reference
Guide (literature number SPRU321) describes the Code Composer
Studio application programming interface (API), which allows you to
program custom plug-ins for Code Composer.
TMS320C6x Peripheral Support Library Programmer’s Reference
(literature number SPRU273) describes the contents of the
TMS320C6000 peripheral support library of functions and macros. It
lists functions and macros both by header file and alphabetically,
provides a complete description of each, and gives code examples to
show how they are used.
TMS320C6000 Chip Support Library API Reference Guide (literature
number SPRU401) describes a set of application programming interfaces
(APIs) used to configure and control the on-chip peripherals.
Trademarks
Code Composer Studio, C6000, C62x, C64x, C67x, TMS320C6000,
TMS320C62x, TMS320C64x, TMS320C67x, and VelociTI are trademarks of
Texas Instruments.
Provides an overview of the video port peripheral in the digital signal processors (DSPs) of the
TMS320C6000 DSP family. Included are an overview of the video port functions, FIFO configurations, and signal mapping.
Discusses the basic operation of the video port. Included is a discussion of the sources and
types of resets, interrupt operation, DMA operation, external clock inputs, video port throughput
and latency, and the video port control registers.
Describes how to configure the video port in different modes with the help of examples. All
examples in this appendix use the video port Chip Support Library (CSL).
This chapter provides an overview of the video port peripheral in the digital
signal processors (DSPs) of the TMS320C6000 DSP family. Included are an
overview of the video port functions, FIFO configurations, and signal mapping.
The video port peripheral can operate as a video capture port, video display
port, or transport stream interface (TSI) capture port. It provides the following
functions:
- Video capture mode:
J Capture rate up to 80 MHz.
J Two channels of 8/10-bit digital video input from a digital camera or
analog camera (using a video decoder). Digital video input is in YCbCr
4:2:2 format with 8-bit or 10-bit resolution multiplexed in ITU-R BT .656
format.
J One channel of Y/C 16/20-bit digital video input in YCbCr 4:2:2 format
on separate Y and Cb/Cr inputs. Supports SMPTE 260M,
SMPTE 274M, SMPTE 296M, ITU-BT.1120, etc., as well as older
CCIR601 interfaces.
J YCbCr 4:2:2 to YCbCr 4:2:0 horizontal conversion and ½ scaling in
8-bit 4:2:2 modes.
J Direct interface for two channels of up to 10-bit or one channel of up to
20-bit raw video from A/D converters.
- Video display mode:
J Display rate up to 110 MHz.
J One channel of continuous digital video output. Digital video output is
YCbCr 4:2:2 co-sited pixel data with 8/10-bit resolution multiplexed in
ITU-R BT.656 format.
J One channel of Y/C 16/20-bit digital video output in YCbCr 4:2:2 format
on separate Y and Cb/Cr outputs. (Supports SMPTE 260M,
SMPTE 274M, SMPTE 296M, ITU-BT.1120, etc.)
J YCbCr 4:2:0 to YCbCr 4:2:2 horizontal conversion and 2× scaling of
output in 8-bit 4:2:2 modes.
J Programmable clipping of BT.656 and Y/C mode output values.
J One channel of raw data output up to 20-bits for interface to RAM-
DACs. Two channel synchronized raw data output.
J Synchronizes to external video controller or another video display port.
J Using the external clock, the frame timing generator provides
programmable image timing including horizontal and vertical blanking, start of active video (SAV) and end of active video (EAV) code
insertion, and horizontal and frame timing pulses.
J Generates horizontal and vertical synchronization and blanking
signals and a frame synchronization signal.
Overview1-2SPRU629
Video Port
TSI capture mode: Transport stream interface (TSI) from a front-end
-
device such as demodulator or forward error correction device in 8-bit
parallel format at up to 30 Mbytes/sec.
- The port generates up to three events per channel and one interrupt to the
DSP.
A high-level block diagram of the video port is shown in Figure 1–1. The port
consists of two channels: A and B. A 5120-byte capture/display buffer is splittable between the two channels. The entire port (both channels) is always
configured for either video capture or display only. Separate data pipelines
control the parsing and formatting of video capture or display data for each of
the BT.656, Y/C, raw video, and TSI modes.
For video capture operation, the video port may operate as two 8/10-bit channels of BT .656 or raw video capture; or as a single channel of 8/10-bit BT.656,
8/10-bit raw video, 16/20-bit Y/C video, 16/20-bit raw video, or 8-bit TSI.
For video display operation, the video port may operate as a single channel
of 8/10-bit BT.656, 8/10-bit raw video, 16/20 bit Y/C video, or 16/20-bit raw
video. It may also operate in a two channel 8/10-bit raw mode in which the two
channels are locked to the same timing. Channel B is not used during single
channel operation.
This document describes the full feature set offered by a 20-bit video port
implementation. Some devices may offer a subset of features such as video
capture only or video display only . Also, some devices may limit the video port
width to 8 or 10 bits. In this case, modes requiring wider video port widths such
as 16-bit raw, 20-bit raw, and Y/C are not supported. See the device-specific
datasheet for details and for I/O timing information.
1-3OverviewSPRU629
Video Port
Figure 1–1. Video Port Block Diagram
VCLK1
VCLK2
VCTL1
VCTL2
VCTL3
Timing and
control logic
DMA interface
64
Internal peripheral bus
32
Memory
mapped
registers
VDIN[19–0]
20
10
VDIN[19–10]
BT.656 capture
pipeline
Y/C video
capture pipeline
Raw video
capture pipeline
TSI capture
pipeline
BT.656 capture
pipeline
Raw video
capture pipeline
1010
20
Capture/display
(2560 bytes)
20
8
10
Capture/display
10
(2560 bytes)
DMA interface
buffer
buffer
64
20
20
10
BT.656 display
pipeline
Y/C video
display pipeline
Raw video
display pipeline
Channel A
Raw video
display pipeline
Channel B
VDOUT[19–0]
20
10
VDOUT[19–10]
Overview1-4SPRU629
1.2Video Port FIFO
The video port includes a FIFO to store data coming into or out from the video
port. The video port operates in conjunction with DMA transfers to move data
between the video port FIFO and external or on-chip memory. You can program threshold settings so DMA events are generated when the video port
FIFO reaches a certain fullness (for capture) or goes below a certain fullness
(for display). DMAs required to service the FIFO are set up independently by
you and are key to correct operation of the video port. The FIFO size is relatively large to allow time for DMAs to service the transfer requests, since devices
typically have many peripheral interfaces often including multiple video ports.
The following sections briefly describe the interaction with the DMA and different FIFO configurations used to support the various modes of the video port.
1.2.1DMA Interface
Video port data transfers take place using DMAs. DMA requests are based on
buffer thresholds. Since the video port does not directly source the transfer , it
can not adjust the transfer size based on buffer empty/full status. This means
the DMA transfer size is essentially fixed in the user-programmed DMA
parameter table. The preferred transfer size is often one entire line of data,
because this allows the most flexibility in terms of frame buffer line pitch (in
RAM). Some modes of operation for the highest display rates may require
more frequent DMA requests such as on a half or quarter line basis.
Video Port FIFO
All requests are based on buffer thresholds. In video capture mode, DMA
requests are made whenever the number of samples in the buffer reaches the
threshold value. In order to ensure that all data from a capture field/frame gets
emptied from the buffer , the transfer size must be equal to the threshold and
the total amount of field/frame data must be a multiple of the transfer size.
For video display operation, DMA requests are made whenever there is at
least the threshold number of doublewords free in the FIFO. This means that
the transfer size must be equal to or smaller than the threshold so that it fits
into the available space. The field/frame size must still be a multiple of the
transfer size or there are pixels left in the buffer at the end of the field (which
appear at the start of the next field).
1-5OverviewSPRU629
Video Port FIFO
1.2.2Video Capture FIFO Configurations
During video capture operation, the video port FIFO has one of four configurations depending on the capture mode. For BT.656 operation, the FIFO is split
into channel A and B, as shown in Figure 1–2. Each FIFO is clocked independently with the channel A FIFO receiving data from the VDIN[9–0] half of the
bus and the channel B FIFO receiving data from the VDIN[19–10] half of the
bus. Each channel’s FIFO is further split into Y, Cb, and Cr buffers with separate write pointers and read registers (YSRCx, CBSRCx, and CRSRCx).
Figure 1–2. BT.656 Video Capture FIFO Configuration
Capture FIFO A
VDIN[9–0]
VDIN[19–10]
8/10
8/10
8/10
8/10
8/10
Y Buffer A (1280 bytes)
Cb Buffer A (640 bytes)
Cr Buffer A (640 bytes)
Capture FIFO B
Y Buffer B (1280 bytes)
Cb Buffer B (640 bytes)
64
64
64
64
64
YSRCA
CBSRCA
CRSRCA
YSRCB
CBSRCB
8/10
Overview1-6SPRU629
Cr Buffer B (640 bytes)
64
CRSRCB
Video Port FIFO
For 8/10-bit raw video, the FIFO is split into channel A and B, as shown in
Figure 1–3. Each FIFO is clocked independently with the channel A FIFO
receiving data from the VDIN[9–0] half of the bus and the channel B FIFO
receiving data from the VDIN[19–10] half of the bus. Each channel’s FIFO has
a separate write pointer and read register (YSRCx). The FIFO configuration
is identical for TSI capture, but channel B is disabled.
Figure 1–3. 8/10-Bit Raw Video Capture and TSI Video Capture FIFO Configuration
Capture FIFO A
VDIN[9–0]
8/10
64
Buffer A (2560 bytes)
YSRCA
VDIN[19–10]
8/10
Capture FIFO B
Buffer B (2560 bytes)
64
YSRCB
1-7OverviewSPRU629
Video Port FIFO
For Y/C video capture, the FIFO is configured as a single channel split into separate Y, Cb, and Cr buffers with separate write pointers and read registers
(YSRCA, CBSRCA, and CRSRCA). Figure 1–4 shows how Y data is received
on the VDIN[9–0] half of the bus and Cb/Cr data is received on the
VDIN[19–10] half of the bus and demultiplexed into the Cb and Cr buffers.
Figure 1–4. Y/C Video Capture FIFO Configuration
Capture FIFO
VDIN[9–0]
VDIN[19–10]
8/10
8/10
8/10
Y Buffer (2560 bytes)
Cb Buffer (1280 bytes)
Cr Buffer (1280 bytes)
64
64
64
YSRCA
CBSRCA
CRSRCA
Overview1-8SPRU629
For 16/20-bit raw video, the FIFO is configured as a single buffer, as shown
in Figure 1–5. The FIFO receives 16/20-bit data from the VDIN[19–0] bus. The
FIFO has a single write pointer and read register (YSRCA).
Figure 1–5. 16/20-Bit Raw Video Capture FIFO Configuration
Capture FIFO
VDIN[19–0]
16/20
Data Buffer
(5120 bytes)
64
Video Port FIFO
YSRCA
1.2.3Video Display FIFO Configurations
During video display operation, the video port FIFO has one of five configurations depending on the display mode. For BT.656 operation, a single output
is provided on channel A, as shown in Figure 1–6, with data output on
VDOUT[9–0]. The channel’s FIFO is split into Y, Cb, and Cr buffers with
separate read pointers and write registers (YDSTA, CBDST, and CRDST).
Figure 1–6. BT.656 Video Display FIFO Configuration
Display FIFO
YDSTA
CBDST
CRDST
64
64
64
Y Buffer
(2560 bytes)
Cb Buffer
(1280 bytes)
Cr Buffer
(1280 bytes)
8/10
VDOUT[9–0]
8/10
8/10
1-9OverviewSPRU629
Video Port FIFO
For 8/10-bit raw video, the FIFO is configured as a single buffer as shown in
Figure 1–7. The FIFO outputs data on the VDOUT[9–0] half of the bus. The
FIFO has a single read pointer and write register (YDSTA).
Figure 1–7. 8/10-Bit Raw Video Display FIFO Configuration
Display FIFO
YDSTA
64
Data Buffer
(5120 bytes)
For locked raw video, the FIFO is split into channel A and B. The channels are
locked together and use the same clock and control signals. Each channel
uses a single buffer and write register (YDSTx) as shown in Figure 1–8.
VDOUT[9–0]
8/10
Overview1-10SPRU629
Figure 1–8. 8/10 Bit Locked Raw Video Display FIFO Configuration
Display FIFO A
YDSTA
YDSTB
648/10
Buffer A (2560 bytes)
Display FIFO B
648/10
Buffer B (2560 bytes)
VDOUT[9–0]
VDOUT[19–10]
Video Port FIFO
For 16/20-bit raw video, the FIFO is configured as a single buffer, as shown
in Figure 1–9. The FIFO outputs data on VDOUT[19–0]. The FIFO has a single
read pointer and write register (YDSTA).
Figure 1–9. 16/20-Bit Raw Video Display FIFO Configuration
Display FIFO
YDSTA
6416/20
Data Buffer (5120 bytes)
VDOUT[19–0]
1-11OverviewSPRU629
Video Port Registers
Video Port FIFO / Video Port Registers
For Y/C video display , the FIFO is configured as a single channel split into separate Y, Cb, and Cr buffers with separate read pointers and write registers
(YDSTA, CBDST, and CRDST). Figure 1–10 shows how Y data is output on
the VDOUT[9–0] half of the bus and Cb/Cr data is multiplexed and output on
the VDOUT[19–10] half of the bus.
Figure 1–10. Y/C Video Display FIFO Configuration
Display FIFO
YDSTA
64
Y Buffer
(2560 bytes)
VDOUT[9–0]
8/10
CBDST
CRDST
64
64
1.3Video Port Registers
The video port configuration register space is divided into several different
sections with registers grouped by function including top-level video port
control, video capture control, video display control, and GPIO.
The registers for controlling the video port are in section 2.7.
The registers for controlling the video capture mode of operation are shown
in section 3.13. An additional space is dedicated for FIFO read pseudo-registers
as shown in section 3.14. This space requires high-speed access and is not
mapped to the register access bus.
The registers for controlling the video display mode of operation are shown in
section 4.12. An additional space is dedicated for FIFO write pseudo-registers
as shown in section 4.14. This space requires high-speed access and is not
mapped to the register access bus.
Cb Buffer
(1280 bytes)
Cr Buffer
(1280 bytes)
8/10
8/10
VDOUT[19–10]
The registers for controlling the general-purpose input/output (GPIO) are
shown in section 5.1.
Overview1-12SPRU629
1.4Video Port Pin Mapping
The video port requires 21 external signal pins for full functionality . Pin usage
and direction changes depend on the selected operating mode. Pin functionality detail for video capture mode is listed in Table 1–1. Pin functionality detail
for video display mode is listed in Table 1–2. All unused port signals (except
VCLK1 and VCLK2) can be configured as general-purpose I/O (GPIO) pins.
Table 1–1. Video Capture Signal Mapping
BT.656 Capture ModeRaw Data Capture Mode
Video Port
Signal
VDATA[9–0]
I/O
I/OVDIN[9–0]
Dual
Channel
(In) Ch A
Single
Channel
VDIN[9–0]
(In) Ch A
Usage
Y/C Capture
Mode
VDIN[9–0]
(In) (Y)
8/10-Bit
VDIN[9–0]
(In) Ch A
Video Port Pin Mapping
TSI Capture
16/20-Bit
VDIN[9–0]
(In)
Mode
VDIN[7–0]
(In)
VDATA[19–10]
VCLK1
VCLK2
VCTL1
VCTL2
VCTL3
Legend: VCLKINA – Channel A capture clock; CAPENA – Channel A capture enable; VCLKINB – Channel B capture clock;
CAPENB – Channel B capture enable; A VID – Active video; HSYNC – Horizontal synchronization; VBLNK – Vertical
blanking; VSYNC – Vertical synchronization; FID – Field identification; PACSTRT – Packet start; PACERR – Packet
error