Texas Instruments SPRU938B User Manual

TMS320DM643x DMP
VLYNQ Port
User's Guide
Literature Number: SPRU938B
September 2007
2 SPRU938B – September 2007
Submit Documentation Feedback
Contents
1 Introduction ................................................................................................................ 8
1.1 Purpose of the Peripheral ....................................................................................... 8
1.2 Features ........................................................................................................... 8
1.3 Functional Block Diagram ....................................................................................... 9
1.4 Industry Standard(s) Compliance Statement ................................................................. 9
2 Peripheral Architecture .............................................................................................. 10
2.1 Clock Control .................................................................................................... 10
2.2 Signal Descriptions ............................................................................................. 11
2.3 Pin Multiplexing ................................................................................................. 11
2.4 Protocol Description ............................................................................................ 11
2.5 VLYNQ Functional Description ............................................................................... 12
2.6 Initialization ...................................................................................................... 15
2.7 Auto-Negotiation ................................................................................................ 15
2.8 Address Translation ............................................................................................ 16
2.9 Flow Control ..................................................................................................... 19
2.10 Reset Considerations .......................................................................................... 20
2.11 Interrupt Support ................................................................................................ 20
2.12 EDMA Event Support .......................................................................................... 22
2.13 Power Management ............................................................................................ 23
2.14 Endianness Considerations ................................................................................... 23
2.15 Emulation Considerations ..................................................................................... 23
3 VLYNQ Port Registers ................................................................................................ 24
3.1 Revision Register (REVID) .................................................................................... 25
3.2 Control Register (CTRL) ....................................................................................... 26
3.3 Status Register (STAT) ........................................................................................ 28
3.4 Interrupt Priority Vector Status/Clear Register (INTPRI) .................................................. 30
3.5 Interrupt Status/Clear Register (INTSTATCLR) ............................................................ 30
3.6 Interrupt Pending/Set Register (INTPENDSET) ............................................................ 31
3.7 Interrupt Pointer Register (INTPTR) ......................................................................... 31
3.8 Transmit Address Map Register (XAM)...................................................................... 32
3.9 Receive Address Map Size 1 Register (RAMS1) .......................................................... 33
3.10 Receive Address Map Offset 1 Register (RAMO1) ........................................................ 33
3.11 Receive Address Map Size 2 Register (RAMS2) .......................................................... 34
3.12 Receive Address Map Offset 2 Register (RAMO2) ........................................................ 34
3.13 Receive Address Map Size 3 Register (RAMS3) .......................................................... 35
3.14 Receive Address Map Offset 3 Register (RAMO3) ........................................................ 35
3.15 Receive Address Map Size 4 Register (RAMS4) .......................................................... 36
3.16 Receive Address Map Offset 4 Register (RAMO4) ........................................................ 36
3.17 Chip Version Register (CHIPVER) ........................................................................... 37
3.18 Auto Negotiation Register (AUTNGO) ....................................................................... 37
4 Remote Configuration Registers ................................................................................. 38
Appendix A VLYNQ Protocol Specifications ........................................................................ 39
A.1 Introduction ...................................................................................................... 39
SPRU938B – September 2007 Table of Contents 3
Submit Documentation Feedback
A.2 Special 8b/10b Code Groups ................................................................................. 39
A.3 Supported Ordered Sets ....................................................................................... 39
A.4 VLYNQ 2.0 Packet Format .................................................................................... 40
A.5 VLYNQ 2.X Packets ............................................................................................ 42
Appendix B Write/Read Performance .................................................................................. 44
B.1 Introduction ...................................................................................................... 44
B.2 Write Performance.............................................................................................. 44
B.3 Read Performance ............................................................................................. 46
Appendix C Revision History ............................................................................................. 47
4 Contents SPRU938B – September 2007
Submit Documentation Feedback
List of Figures
1 VLYNQ Port Functional Block Diagram ................................................................................... 9
2 External Clock Block Diagram ............................................................................................ 10
3 Internal Clock Block Diagram ............................................................................................. 10
4 VLYNQ Module Structure ................................................................................................. 12
5 Write Operations ........................................................................................................... 13
6 Read Operations ........................................................................................................... 14
7 Example Address Memory Map .......................................................................................... 17
8 Interrupt Generation Mechanism Block Diagram ....................................................................... 21
9 Revision Register (REVID) ................................................................................................ 25
10 Control Register (CTRL) ................................................................................................... 26
11 Status Register (STAT) .................................................................................................... 28
12 Interrupt Priority Vector Status/Clear Register (INTPRI) .............................................................. 30
13 Interrupt Status/Clear Register (INTSTATCLR) ........................................................................ 30
14 Interrupt Pending/Set Register (INTPENDSET) ........................................................................ 31
15 Interrupt Pointer Register (INTPTR) ..................................................................................... 31
16 Transmit Address Map Register (XAM) ................................................................................. 32
17 Receive Address Map Size 1 Register (RAMS1) ...................................................................... 33
18 Receive Address Map Offset 1 Register (RAMO1) .................................................................... 33
19 Receive Address Map Size 2 Register (RAMS2) ...................................................................... 34
20 Receive Address Map Offset 2 Register (RAMO2) .................................................................... 34
21 Receive Address Map Size 3 Register (RAMS3) ...................................................................... 35
22 Receive Address Map Offset 3 Register (RAMO3) .................................................................... 35
23 Receive Address Map Size 4 Register (RAMS4) ...................................................................... 36
24 Receive Address Map Offset 4 Register (RAMO4) .................................................................... 36
25 Chip Version Register (CHIPVER) ....................................................................................... 37
26 Auto Negotiation Register (AUTNGO) ................................................................................... 37
A-1 Packet Format (10-bit Symbol Representation) ........................................................................ 40
SPRU938B – September 2007 List of Figures 5
Submit Documentation Feedback
List of Tables
1 VLYNQ Signal Descriptions ............................................................................................... 11
2 Address Translation Example (Single Mapped Region) .............................................................. 17
3 Address Translation Example (Single Mapped Region) .............................................................. 18
4 VLYNQ Register Address Space ......................................................................................... 24
5 VLYNQ Port Controller Registers ........................................................................................ 24
6 Revision Register (REVID) Field Descriptions ......................................................................... 25
7 Control Register (CTRL) Field Descriptions ............................................................................ 26
8 Status Register (STAT) Field Descriptions ............................................................................. 28
9 Interrupt Priority Vector Status/Clear Register (INTPRI) Field Descriptions ........................................ 30
10 Interrupt Status/Clear Register (INTSTATCLR) Field Descriptions .................................................. 30
11 Interrupt Pending/Set Register (INTPENDSET) Field Descriptions ................................................. 31
12 Interrupt Pointer Register (INTPTR) Field Descriptions ............................................................... 31
13 Address Map Register (XAM) Field Descriptions ...................................................................... 32
14 Receive Address Map Size 1 Register (RAMS1) Field Descriptions ................................................ 33
15 Receive Address Map Offset 1 Register (RAMO1) Field Descriptions .............................................. 33
16 Receive Address Map Size 2 Register (RAMS2) Field Descriptions ................................................ 34
17 Receive Address Map Offset 2 Register (RAMO2) Field Descriptions .............................................. 34
18 Receive Address Map Size 3 Register (RAMS3) Field Descriptions ................................................ 35
19 Receive Address Map Offset 3 Register (RAMO3) Field Descriptions .............................................. 35
20 Receive Address Map Size 4 Register (RAMS4) Field Descriptions ................................................ 36
21 Receive Address Map Offset 4 Register (RAMO4) Field Descriptions .............................................. 36
22 Chip Version Register (CHIPVER) Field Descriptions................................................................. 37
23 Auto Negotiation Register (AUTNGO) Field Descriptions ............................................................ 37
24 VLYNQ Port Remote Controller Registers .............................................................................. 38
A-1 Special 8b/10b Code Groups ............................................................................................. 39
A-2 Supported Ordered Sets .................................................................................................. 39
A-3 Packet Format (10-bit Symbol Representation) Description .......................................................... 41
B-1 Scaling Factors ............................................................................................................. 45
B-2 Expected Throughput (VLYNQ Interface Running at 76.5 MHZ and 99 MHZ) .................................... 45
B-3 Relative Performance with Various Latencies .......................................................................... 46
C-1 Document Revision History ............................................................................................... 47
6 List of Tables SPRU938B – September 2007
Submit Documentation Feedback
About This Manual
This document describes the VLYNQ port in the TMS320DM643x Digital Media Processor (DMP).
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.
Registers in this document are shown in figures and described in tables. Each register figure shows a rectangle divided into fields that represent the fields of the register.
Each field is labeled with its bit name, its beginning and ending bit numbers above, and its read/write properties below. A legend explains the notation used for the properties.
Reserved bits in a register figure designate a bit that is used for future device expansion.
Related Documentation From Texas Instruments
The following documents describe the TMS320DM643x Digital Media Processor (DMP). 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.
The current documentation that describes the DM643x DMP, related peripherals, and other technical collateral, is available in the C6000 DSP product folder at: www.ti.com/c6000 .
SPRU978 TMS320DM643x DMP DSP Subsystem Reference Guide. Describes the digital signal
processor (DSP) subsystem in the TMS320DM643x Digital Media Processor (DMP).

Preface

SPRU938B September 2007
Read This First
SPRU983 TMS320DM643x DMP Peripherals Overview Reference Guide. Provides an overview and
briefly describes the peripherals available on the TMS320DM643x Digital Media Processor (DMP).
SPRAA84 TMS320C64x to TMS320C64x+ CPU Migration Guide. Describes migrating from the
Texas Instruments TMS320C64x digital signal processor (DSP) to the TMS320C64x+ DSP. The objective of this document is to indicate differences between the two cores. Functionality in the devices that is identical is not included.
SPRU732 TMS320C64x/C64x+ DSP CPU and Instruction Set Reference Guide. Describes the CPU
architecture, pipeline, instruction set, and interrupts for the TMS320C64x and TMS320C64x+ digital signal processors (DSPs) of the TMS320C6000 DSP family. The C64x/C64x+ DSP generation comprises fixed-point devices in the C6000 DSP platform. The C64x+ DSP is an enhancement of the C64x DSP with added functionality and an expanded instruction set.
SPRU871 TMS320C64x+ DSP Megamodule Reference Guide. Describes the TMS320C64x+ digital
signal processor (DSP) megamodule. Included is a discussion on the internal direct memory access (IDMA) controller, the interrupt controller, the power-down controller, memory protection, bandwidth management, and the memory and cache.
Trademarks
VLYNQ is a trademark of Texas Instruments.
SPRU938B – September 2007 Preface 7
Submit Documentation Feedback

1 Introduction

1.1 Purpose of the Peripheral

The VLYNQ™ communications interface port is a low pin count, high-speed, point-to-point serial interface in the TMS320DM643x Digital Media Processor (DMP) used for connecting to host processors and other VLYNQ compatible devices. The VLYNQ port is a full-duplex serial bus where transmit and receive operations occur separately and simultaneously without interference.
VLYNQ enables the extension of an internal bus segment to one or more external physical devices. The external devices are mapped to local physical address space and appear as if they are on the internal bus of the DM643x DMP. The external devices must also have a VLYNQ interface.
VLYNQ uses a simple block code (8b/10b) packet format and supports in-band flow control so that no extra terminals are needed to indicate that overflow conditions might occur.
The VLYNQ module on the DM643x DMP serializes a write transaction to the remote/external device and transfers the write via the VLYNQ port (TX pins). The remote VLYNQ module deserializes the transaction on the other side.
The read transactions to the remote/external device follow the same process, but the remote device's VLYNQ module serializes the read return data and transfers it to the VLYNQ port (RX pins). The read return data is finally deserialized and released to the device internal bus.
The external device can also initiate read and write transactions.
User's Guide
SPRU938B September 2007
VLYNQ Port

1.2 Features

The general features of the VLYNQ port are:
Low pin count (10 pin interface, scalable to as low as 3 pins)
No tri-state signals
All signals are dedicated and driven by only one device – Necessary to allow support for high-speed PHYs
Simple packet-based transfer protocol for memory-mapped access Write request/data packet
Read request packet – Read response data packet – Interrupt request packet
Auto width negotiation
8 VLYNQ Port SPRU938B – September 2007
Submit Documentation Feedback
www.ti.com
Slave config
bus
Interface
Master
config
Interface
bus
VLYNQmodule
VLYNQregister
access
CPU/EDMA initiated
transfersto
remotedevice
Offchip
(remote)
deviceaccess
System
CPU/EDMA
memory
System
VLYNQ_SCRUN
VLYNQ_CLOCK
VLYNQ_RXD[3:0]
VLYNQ_TXD[3:0]
INT55
interruptcontroller
VLQINT
Symmetric Operations Transmit (TX) pins on the first device connect to the receive (RX) pins on the second device and
vice-versa. – Data pin widths are automatically detected after reset – Re-request packets, response packets, and flow control information are all multiplexed and sent
across the same physical pins. – Supports both host/peripheral and peer-to-peer communication models
Simple block code packet formatting (8b/10b)
Supports in-band and flow control
No extra pins are needed – Allows the receiver to momentarily throttle the transmitter back when overflow is about to occur – Uses the special built-in block code capability to interleave flow control information seamlessly with
user data
Automatic packet formatting optimizations
Internal loopback modes are provided
Connects to legacy VLYNQ devices

1.3 Functional Block Diagram

Figure 1 shows a functional block diagram of the VLYNQ port.
Introduction
Figure 1. VLYNQ Port Functional Block Diagram

1.4 Industry Standard(s) Compliance Statement

SPRU938B – September 2007 VLYNQ Port 9
Submit Documentation Feedback
VLYNQ is an interface defined by Texas Instruments and does not conform to any other industry standard.
www.ti.com
VLYNQ
CLKDIR=0
DMxxxdevice
VLYNQ_CLK
VLYNQ
CLKDIR=0
VLYNQdevice
VLYNQ
CLKDIR=1
DMxxxdevice
VLYNQ_CLK
VLYNQ
CLKDIR=1
VLYNQdevice
VLYNQ internal
sysclk
Don’t care
Peripheral Architecture

2 Peripheral Architecture

2.1 Clock Control

This section discusses the architecture and basic functions of the VLYNQ peripheral.
The module's serial clock direction and frequency are software configurable through the CLKDIR and CLKDIV bits in the VLYNQ control register (CTRL). The VLYNQ serial clock can be sourced from the internal system clock (CLKDIR = 1) or by an external clock source (CLKDIR = 0) for its serial operations.
The CLKDIV bit can divide the serial clock (1/1 - 1/8) down when the internal clock is selected as the source. The serial clock is not affected by the CLKDIV bit values, if the serial clock is externally sourced.
The reset value of the CLKDIR bit is 0 (external clock source). The external clock source is shown in Figure 2 . The internal clock source is shown in Figure 3 .
Figure 2. External Clock Block Diagram
Figure 3. Internal Clock Block Diagram
VLYNQ Port10 SPRU938B – September 2007
Submit Documentation Feedback
www.ti.com
Peripheral Architecture

2.2 Signal Descriptions

The VLYNQ module on the DM643x device supports 1 to 4 bit-wide RX/TX configurations. Chip-level pin multiplexing registers control the configuration. See the pin multiplexing information in the device-specific data manual.
If the VLYNQ data width does not match the number of transmit/receive lines that are available on the remote device, negotiation between the two VLYNQ devices automatically configures the width (see
Section 2.7 ).
The VLYNQ interface signals are shown in Table 1 .
Table 1. VLYNQ Signal Descriptions
Pin Name Signal Name Signal Type Function
VLYNQ_CLOCK VLYNQ serial clock Input/Output The VLYNQ reference clock supports the internally or
VLYNQ_SCRUN VLYNQ serial clock run Input/Output The VLYNQ serial clock run request allows remote requests
request (Active low) for the VLYNQ serial clock to be turned off for system power
VLYNQ_RXD[0:3] VLYNQ receive data Input VLYNQ receive data is synchronous with the VLYNQ serial
VLYNQ_TXD[0:3] VLYNQ transmit data Output VLYNQ transmit data is synchronous with the VLYNQ serial
externally generated clock.
management. Low: The request VLYNQ serial clock is active. High: The VLYNQ serial clock is requested to be high when all transactions are complete.
clock.
clock.

2.3 Pin Multiplexing

2.4 Protocol Description

Extensive use of pin multiplexing is used to accommodate the largest number of peripheral functions in the smallest possible package. Pin multiplexing is controlled using a combination of hardware configurations at device reset and software programmable register settings. The VLYNQ module pins are not enabled at reset. In order to change the default function of device pins at reset, the pin multiplexing registers (PINMUX n) must be configured appropriately. Refer to the pin multiplexing information in the device-specific data manual for more detailed information on the processor pin multiplexing and configuration registers.
VLYNQ relies on 8b/10b block coding to minimize the number of serial pins and allows for in-band packet delineation and control.
Appendix A provides general information on 8b/10b coding definitions and their implementation within the
VLYNQ module in the DM643x device.
SPRU938B – September 2007 VLYNQ Port 11
Submit Documentation Feedback
www.ti.com
Address
translation
commands
Outbound
Outbound command
FIFO
data
Return
FIFO
data
FIFO
Return
command
Inbound
FIFO
Registers
translation
Address
TxSM
8B/10B
encoding
Serializer
commands
Inbound
RxSM Deserializer
decoding
8B/10B
Serial TxData
Serial TxClk
Serial RxClk
Serial RxData
Master
configbus
interface
Systemclock VLYNQclock
Slave
configbus
interface
(FIFO3)
(FIFO2)
(FIFO0)
(FIFO1)
Peripheral Architecture

2.5 VLYNQ Functional Description

The VLYNQ core supports both host-to-peripheral and peer-to-peer communication models and is symmetrical. The VLYNQ module structure is shown in Figure 4 .
Figure 4. VLYNQ Module Structure
The VLYNQ core module implements two 32-bit configuration bus interfaces. Transmit operations and control register access require the slave configuration bus interface. The master configuration bus interface is required for receive operations. Converting to and from the 32-bit bus to the external serial interface requires serializer and deserializer blocks.
8b/10b block coding encodes data on the serial interface. Frame delineation, initialization, and flow control use special overhead code groups.
FIFOs buffer the entire burst on the bus for maximum performance, thus minimizing bus latency. Using write operations of each VLYNQ module interfaced is typically recommended to ensure the best performance on both directions of the link.
Submit Documentation Feedback
12 VLYNQ Port SPRU938B – September 2007
www.ti.com

2.5.1 Write Operations

Address
translation
commands
Outbound
Outbound command
FIFO
data
Return
FIFO
data
FIFO
Return
command
Inbound
FIFO
Registers
translation
Address
TxSM
8B/10B
encoding
Serializer
commands
Inbound
RxSM Deserializer
decoding
8B/10B
Serial TxData
Serial RxData
Systemclock
Address
translation
Registers
commands
Inbound
translation
Address
commands
Outbound
8B/10B
decoding
FIFO
FIFO
command
Inbound
data
Return
FIFO
RxSM Deserializer
RxData
Serial
encoding
8B/10B
VLYNQClock
command
Return
data
FIFO
Outbound
TxSM Serializer
TxData
Serial
Slave
configbus
interface
Systemclock VLYNQclock
LocalVLYNQ
RemoteVLYNQ
Master
configbus
interface
Master
configbus
interface
Slave
configbus
interface
Peripheral Architecture
Write requests that initiate from the slave configuration bus interface of the local device write to the outbound command (CMD) FIFO. Data is subsequently read from the FIFO and encapsulated in a write request packet. The address is translated, and the packet is encoded and serialized before being transmitted to remote device. The remote device subsequently deserializes and decodes the receive data and writes it into the inbound CMD FIFO. A write operation initiates on the remote device’s master configuration bus interface after reading the address and data from the FIFO.
The data flow between two VLYNQs that are connected is shown in Figure 5 . In the example shown in
Figure 5 , the write originates from the DM643x device.
Figure 5. Write Operations
SPRU938B – September 2007 VLYNQ Port 13
Submit Documentation Feedback
www.ti.com
Address
translation
commands
Outbound
Outbound command
FIFO
data
Return
FIFO
data
FIFO
Return
command
Inbound
FIFO
Registers
translation
Address
TxSM
8B/10B
encoding
Serializer
commands
Inbound
RxSM Deserializer
decoding
8B/10B
Serial TxData
Serial RxData
Systemclock
Address
translation
Registers
commands
Inbound
translation
Address
commands
Outbound
8B/10B
decoding
FIFO
FIFO
command
Inbound
data
Return
FIFO
RxSM Deserializer
RxData
Serial
encoding
8B/10B
VLYNQClock
command
Return
data
FIFO
Outbound
TxSM Serializer
TxData
Serial
Slave
configbus
interface
VLYNQClock
Systemclock
LocalVLYNC
RemoteVLYNQ
Master
configbus
interface
Slave
configbus
interface
Master
configbus
interface
Peripheral Architecture

2.5.2 Read Operations

Read requests from the slave configuration bus interface are written to the outbound CMD FIFO (similar to the write requests). Data is subsequently read from the FIFO and encapsulated into a read request packet. The packet is encoded and serialized before it is transmitted to the remote device. Next, the remote device deserializes, decodes the receive data, and writes the receive data to the inbound CMD FIFO. After reading the address from the FIFO, a master configuration bus interface read operation initiates in the remote device. When the remote master configuration bus interface receives the read data, the data is written to the return data FIFO before it is encoded and serialized. When the receive data reaches the local VLYNQ module, it is deserialized, decoded, and written to the return data FIFO (local device). Finally, the read data is transferred on the local device’s slave configuration interface.
The data flow between two connected VLYNQ devices with read requests that originate from the DM643x device is shown in Figure 6 . The remote VLYNQ device returns the read data. Read data is shown with dotted arrows.
Figure 6. Read Operations
14 VLYNQ Port SPRU938B – September 2007
Submit Documentation Feedback
www.ti.com
Peripheral Architecture
Note: Not servicing read operations results in deadlock. The only way to recover from a deadlock
situation is to perform a hard reset. Read operations are typically not serviced due to read requests that are issued to a non-existent remote VLYNQ device or they are not serviced due to trying to perform reads on the VLYNQ memory map prior to establishing the link.
Generally, you should not use read operations to transfer data packets since the serial nature of the interface could potentially result in longer latencies. See Appendix B for more information.

2.6 Initialization

Since VLYNQ devices can be controlled solely over the serial interface (that is, no local CPU exists), an automatic reliable initialization sequence (without user configuration) establishes a connection between two VLYNQ devices, just after a VLYNQ module is enabled and auto-negotiation occurs. Auto-negotiation is defined in Section 2.7 . The same sequence is used to recover from error conditions. However, it is important to ensure that the appropriate bits are configured in the pin mux registers to ensure that the VLYNQ peripheral is active.
Bit 0 in the VLYNQ status register (LINK bit) is set to 1 when a link is established. A link pulse timer generates a periodic link code every 2048 serial clock cycles. The link is lost when time
expires and no link code has been detected during a period of 4096 serial clock cycles.

2.7 Auto-Negotiation

Auto-negotiation occurs after reset. It involves placing a negotiation protocol in the outbound data and processing the inbound data to establish connection information. The width of the data pins on the serial interface is automatically determined at reset as a part of the initialization sequence. For a connection between two VLYNQ devices of version 2.0 and later (VLYNQ on DM643x device is version 2.6), the negotiation protocol using the available serial pins is used to convey the maximum width capability of each device. The TXD data pins are not required to have the same width as the RXD data pins.
The auto width negotiation does not occur until after completion of the VLYNQ 1.x legacy width configuration, which involves a period of 2000 VLYNQ 1.x system clock cycles for connection to VLYNQ
1.x devices. After the VLYNQ 1.x has determined its width, it receives the VLYNQ2.x auto width negotiation protocol. The VLYNQ 1.x device does not recognize this protocol and transmits error codes over the serial interface. The received error codes allow the VLYNQ 2.x devices to determine how many serial pins are valid on the connected VLYNQ 1.x device.
Once the width is established, VLYNQ further identifies the version (version 1.x or version 2.x ) of the remote VLYNQ. This better determines the capabilities of the connected VLYNQ device. This is software readable via the VLYNQ auto-negotiation register (AUTNGO), bit 16 (0 = Ver 1.x , 1 = Ver 2.x), after the link has been established.
SPRU938B – September 2007 VLYNQ Port 15
Submit Documentation Feedback
Loading...
+ 33 hidden pages