Texas Instruments DaVinci
Designer | Texas Instruments |
---|---|
Type | Memory-Memory |
Endianness | Little-endian for ARM, Big-endian for DSP |
The Texas Instruments DaVinci is a family of system on a chip processors that are primarily used in embedded video and vision applications.[1][2] Many of the processors in the family combine a DSP core based on the TMS320 C6000 VLIW DSP family and an ARM CPU core into a single system on chip. By using both a general-purpose processor and a DSP, the control and media portions can both be executed by processors that excel at their respective tasks.
Later chips in the family included DSP only and ARM only processors. All the later chips integrate several accelerators to offload commodity application specific processing from the processor cores to dedicated accelerators. Most notable among these are HDVICP, an H.264, SVC and MPEG-4 compression and decompression engine, ISP, an accelerator engine with sophisticated methods for enhancing video, primarily input from camera sensors and an OSD engine for display acceleration. Some of the newest processors also integrate a vision coprocessor in the SoC.
History
TI announced its first DaVinci branded video processors, the DM6443 and DM6446, on 5 December 2005.[3][4][5][6][7] A year later, TI followed up with DSP only versions of the chips in the family, called DM643x.[8]
Peripherals
The DaVinci processor families include a number of on-chip peripherals. Depending on the particular device, these may include:
- Support for memory cards such as CompactFlash, SD Card and MMC (Although the Linux drivers for the latter two are currently rather impaired and unable to write at a reasonable speed)
- ATA interface
- CCD Controller for digital camera/camcorder applications
- Connectivity, including USB 2.0 Host and Client modes, VLYNQ (interface for FPGA, Wireless LAN, PCI), EMAC (Ethernet MAC) with MDIO
- GPIO
- Enhanced DMA
- Interrupt controller
- Digital LCD controller
- Serial interfaces, including SPI, I²C, and I²S, UART
- Histogram, autofocus, autoexposure, and auto-white-balance (H3A) acceleration
- Image resize acceleration
- A/D and D/A converters for analog video input and output
Models
All these model numbers should, formally, be prefixed by TMS320; the prefix is usually omitted for brevity. So for example the full part number for the DM6446 begins with TMS320DM6446 and has a suffix indicating its packaging type (a BGA flavor) and temperature rating.
Dual-core models have both ARM and DSP:
- DM6443 - ARM9 + TI C64x+ DSP + DaVinci Video (Decode) - Video Accelerator and Networking for display
- DM6446 - ARM9 + TI C64x+ DSP + DaVinci Video (Encode and Decode) - Video Accelerator and Networking for capture and display
- DM6467 - ARM9 + TI C64x+ DSP + DaVinci Video (Encode and Decode) - Video Accelerator and Networking for high def capture and display
- DM8148 - Cortex-A8 + TI C674x DSP + DaVinci Video (full HD Encode and Decode) - Video Accelerator and Networking for high def capture and display
- DM8168 - Cortex-A8 + TI C674x DSP + DaVinci Video (triple full HD Encode and Decode) - Video Accelerator and Networking for high def capture and display
There are DSP-only models:
There are ARM-only models:
- DM335 - a DM355 variant (pin compatible) without the MJCP
- DM355 - ARM9 + DaVinci Video (Encode and Decode) - MPEG4/JPEG coprocessor (MJCP)
- DM357 - a DM6446 variant (pin-compatible) with the DSP replaced by a dedicated video coprocessor (HMJCP)
- DM365 - enhanced DM355, including addition of a high def second video coprocessor (HDVICP)
Libraries
- Most the TMS320 DSPs include a TMS320 Chip Support Library (CSL) which is an API used to control the peripherals. However, since the philosophy for the DaVinci was to allow the ARM/Linux side to control the peripherals via Linux drivers, support for the CSL on the DM644x (dual core ARM/DSP) is not currently available for the DSP.
Operating systems
The DSP included in many DaVinci-based devices generally runs TI's DSP/BIOS RTOS. When multiple, heterogeneous cores are included in the device (e.g. DM644x), DSP/BIOS Link drivers run on both the ARM processor and the DSP to provide communication between the two.
A number of operating systems for the DaVinci ARM and support DaVinci and the DSP/BIOS Link drivers:
- FreeBSD
- Linux kernel
- Mentor Graphics Nucleus PLUS RTOS
- Green Hills Software INTEGRITY RTOS
- QNX Neutrino
- Windows CE
- LEOs (RTOS)
See also
- OMAP
- Texas Instruments Ducati – another SIP by TI doing video acceleration
- DIGIC
References
- ^ Overview - DaVinci Processors
- ^ Wiki - DaVinci Overview
- ^ EDN: TI Unveils DaVinci Development Kit for Video, DSPs
- ^ Linuxgizmos: Linux drives next-gen video gadget chip
- ^ Embedded.com: Single-chip systems make digital video easy
- ^ BDTI: TI Launches First “DaVinci” Video Processors
- ^ EETimes: December Newsletter: TI Launches First "DaVinci" Video Processors
- ^ EDN: Digital video processor breaks $10