TMS320DM8168在图像采集记录设备中的应用

1. 方案使用的核心芯片----TMS320DM8168

1.1 概述
DM816x DaVinci™ 数字媒体处理器是高度集成的、可编程平台,它利用德州仪器(TI) 的DaVinci™ 技术来满足下列应用的处理需求: 视频编码/解码/转码/速率转换、视频安全、视频会议、视频基础设施、媒体服务器、和数字标牌。
凭借全集成化混合处理器解决方案所具有的极大灵活性,该器件使得OEM 和ODM 制造商能够将拥有稳健的操作系统支持、丰富的用户界面以及高处理性能的设备迅速投放市场 。此器件将可编程视频及音频处理与1 个高度集成的外设集组合起来。
该器件的关键之处在于多达3 个高分辨率视频/成像协处理器(HDVICP2)。每个协处理器能够处理单个1080p60 H.264 编码或解码、或者多个较低分辨率或帧速率的编码/解码 。另外 ,也可完成多通道 HD 至 HD或HD至SD 代码转换以及多重编码。凭借可同时处理1080p60 数据流的能力,TMS320DM816x 器件成为了一款适合当今苛刻的HD 视频应用要求的强大解决方案。
可编程性由一个具有NEON™ 扩展的 ARM® Cortex™ -A8 RISC CPU、德州仪器(TI) C674x VLIW 浮点DSP 内核、及高分辨率视频/成像协处理器提供。ARM® 使得开发人员能够将控制功能与在DSP 和协处理器上进行编程的A/V 算法分离开来,从而降低了系统软件的复杂程度。支持 NEON™ 浮点扩展的 ARM®Cortex™-A8 32 位RISC 微处理器包括:32K 字节(KB) 指令高速缓存;32KB 数据高速缓存;256KB L2 高速缓存; 48KB 公共ROM 和64KB RAM。
丰富的外设集提供了控制外围设备以及与外部处理器进行通信的功能。如需了解每个外设的详细信息,请参见本文件中的有关章节以及相关联的外设参考指南。此外设集包括:HD 视频处理子系统(HDVPSS),此子系统提供同步HD 和SD 模拟视频的输出和双HD 视频输出 ; 多达2 个具有GMII 和MDIO 接口的千兆位以太网 MAC (10/100/1000 Mbps);2 个具有集成2.0 PHY 的USB 端口 ; PCIe® 端口x2 线道 GEN2 兼容型接口,它使得器件能够充当一个 PCIe® 根联合体(root complex)或设备端点; 一个6 通道 McASP音频串行端口(具有 DIT 模式); 两个双通道McASP 音频串行端口(具有DIT 模式);一个McBSP 多通道缓冲串行端口;3 个可支持IrDA 和CIR 的UART;SPI 串行接口; SD/SDIO 串行接口;两个I2C 主/ 从接口;多达64 个通用I/O (GPIO);7 个32 位定时器;系统看门狗定时器;双DDR2/3 SDRAM 接口; 灵活的 8/16 位异步存储器接口;以及多达两个用于两个(或更多,通过采用一个端口乘法器来实现) 磁盘驱动器上的外部存储器的SATA 接口。
此器件还包括一个 SGX530 3D图形引擎(只在 DM8168/DM8166 器件上提供)来实现精细复杂的用户图形接口(GUI) 和富有吸引了的用户接口和交互。此外,它还有一个针对包括ARM和DSP在内的完整开发工具集,这个工具集包括C 语言编译器、一个用于简化程序设计和调度的DSP汇编优化器、以及旨在将可视性引入源代码执行的Microsoft ®WIndows® 调试程序界面。
C674x DSP 内核是TMS320C6000™ DSP 平台上的高性能浮点DSP 系列产品。C674x 浮点 DSP 处理器采用32KB的L1 程序内存和32KB 的L1 数据内存。多达 32 KB 的 L1P 可被配置为程序高速缓存。剩余的是不可高速缓存的无等待状态程序内存。多达32 KB 的L1D 可被配置为数据高速缓存。剩余的是不可高速缓存的无等待状态数据内存。DSP 具有 256KB 的 L2 RAM,它可被规定为SRAM、L2 高速缓存或此二者的某种组合。所有的C674x L3 及片外存储器存取均通过一个MMU 来选定路由。

1.2 特点:
  • 高性能DaVinci数字媒体处理器
    • ARM Cortex-A8精简指令集(RISC)MPU
      • 高达1.2GHz
    • C674x超长命令字(VLIW)数字信号处理器(DSP)
      • 高达1.0GHz
      • 高达8000/6000 C674x MIPS/MFLOPS。MIPS:每秒百万条指令; MFLOPS:每秒百万个浮点运算
      • 软件完全兼容C67x+和C64x+
  • ARM Cortex-A8内核
    • ARMv7架构
      • 顺序、双发射、超标量微处理器内核
      • NEON多媒体架构
    • 支持整数和浮点数(符合VFPv3-IEEE754标准)
      • Jazelle RCT运行环境
  • ARM Cortex-A8存储结构
    • 32K字节指令和数据高速缓存
    • 256K字节L2高速缓存
    • 64K字节RAM,48K字节BOOT ROM
  • TMS320C674x浮点VLIW DSP
    • 64个通用寄存器(32位)
    • 6个算数逻辑单元(ALU)(32/40Bit)功能单元
      • 支持32Bit整数、SP(IEEE单精度/32Bit)和DP(IEEE双精度/64Bit)浮点数
      • 每时钟周期4次单精度(SP)减法和每2个时钟周期4次双精度(DP)加法
      • 每时钟周期2次浮点(SP或者DP)近似倒数或者平方根运算
    • 2个乘法功能单元
      • 混合精度IEEE浮点乘法支持高达:
        • 每1个时钟2次 SP x SP → SP
        • 每2个时钟2次SP x SP → DP
        • 每3个时钟2次SP x DP → DP
        • 每4个时钟2次DP x DP → DP
      • 定点乘法器每个时钟周期支持2个32x32Bit乘法、4个包括复数乘法的16x16Bit乘法或者8个8x8Bit乘法
  • C674x两级内存结构
    • 32K字节L1程序和数据RAM/高速缓存(L1P和L1D)
    • 256K字节L2统一映射RAM/高速缓存
  • DSP/EDMA内存管理单元(DEMMU)
    • 将C674x DSP和EDMA任务控制块(TCB)的内存存取映射到系统地址空间。
  • 512K字节片上内存控制器(OCMC)RAM
  • 多达3个可编程高清视频图像协处理器(HDVICP2)引擎
    • 编码、解码、码转换操作
    • H.264,MPEG2,VC1,MPEG4 SP/ASP
  • SGX530 3D图形引擎(仅DM8168/DM8166具备)
    • 可提供高达30MTrangles/S的三角形生成速率
    • 通用的缩放渲染引擎
    • 移动Direct3D,OpenGL ES1.0和2.0,OpenVG 1.1,OpenMax API支持
    • 高级几何DMA驱动操作
    • 可编程HQ图像抗混叠处理
  • 端模式(字节序)
    • ARM/DSP指令和数据均为小端模式
  • 高清视频处理子系统(HDVPSS)
    • 2个165MHz HD视频捕捉通道
      • 1个16/24bit和1个16bit通道
      • 每个通道可被分成双8bit捕捉通道
    • 2个165MHz HD视频显示通道
      • 1个16/24/30bit和1个16bit通道
    • 同时存在的SD和HD模拟输出
    • 高达165MHz像素时钟的带HDCP的HDMI1.3发送器
    • 具有扫描方式/格式/速率转换等高级视频处理功能
    • 三个图层和符合器
  • 双32bit DDR2/3 SDRAM接口
    • 支持DDR2-800和DDR3-1600
    • 总共8个x8器件
    • 2GB地址空间
    • 动态内存管理器(DMM)
      • 可编程多区域内存映射和交错
      • 实现了高效的2D块存取
      • 支持0、90、180、270度方向的旋转和垂直水平镜像
      • 优化了交错存取
  • 一个带集成PHY的PCIe2.0端口
    • 1或2个Lanes的单端口,速度高达5.0GT/S
    • 可配置为根联合体或者端点模式
  • 带集成PHY的SATA 3.0 Gbps控制器
    • 2个硬盘接口
    • 多达32个条目的硬件辅助原生命令队列(NCQ)
    • 支持端口复用器和基于命令的交换
  • 两个10/100/1000MHz以太网MACs(EMAC)
    • 符合IEEE802.3标准(仅3.3VI/O)
    • MII和GMII介质独立接口(I/F)
    • 管理数据I/O(MDIO)模块
  • 带集成PHY的双USB2.0端口
    • USB2.0高速/全速Client
    • USB2.0高速/全速/低速Host
  • 通用目的内存控制器(GPMC)
    • 8/16Bit地址/数据复用总线
    • 6个片选,每个片选256M字节空间
    • 与NOR FLASH、NAND FLASH(具有BCH和汉明错误码检测)、SRAM和虚拟SRAM之间的无缝接口
    • 位于GPMC外部的错误定位器模块(ELM),负责提供用于NAND的高达16位/512字节的硬件ECC
    • 与FPGA、CPLD、ASIC等接口的灵活异步协议控制
  • 增强直接内存存取控制器(EDMA)
    • 4个传输控制器
    • 64/8独立DMA/QDMA通道
  • 7个32bit通用目的定时器
  • 1个系统看门狗
  • 三个可编程UART/IrDA/CIR模块
    • UART0具有调制解调器(Modem)控制信号
    • 支持高达3.6864Mbps的UART
    • SIR,MIR,FIR(4.0MBAUD)和CIR
  • 一个带4个片选的40MHz SPI接口
  • SD/SDIO接口(1-/4-Bit)
  • 两个I2C总线端口
  • 3个McASP端口
    • 1个6-串行发送/接收端口
    • 2个双串行发送/接收端口
    • 具有用于S/PDIF的动态互联技术(DIT)能力(所有端口)
  • McBSP端口
    • 发送/接收时钟高达48MHz
    • 2个时钟区和2个串行数据引脚
    • 支持时分复用(TDM),I2S,和类似格式
  • RTC实时时钟
    • 可产生单次或者周期性中断信号
  • 多达64个GPIO脚
  • 片上ARM ROM引导程序(Bootloader)
1.3 小结

         由上我们可以知道DM8168性能强大,开发方便快速。非常适合于本项目

2.系统架构

2.1 硬件

         采用模块化硬件结构,可以根据用户需求方便扩展。
硬件由电源、基础模块和扩展模块构成。通过PCIe将基础模块和扩展模块互联在一起。如下图:

  • 电源:
    • 输入+28V
    • 输出+5V/18A
    • 功率90W
    • 外部电源中断(小于50ms)可以维持系统运行。
    • 工作温度范围-40-85度
  • 基础模块功能
  • 核心器件TMS320DM8168
  • 双千兆网口:一路用于管理和调试;一路用于接收数字摄像机视频
  • 1路相机脉冲信号
  • 三路串口:
    • 1路RS232:管理和调试
    • 1路RS422:用于IRIG-B校时
    • 1路RS232,用于扩展与其它设备通讯,或供备用
  • 1路PAL/NTSC复合模拟视频输入,单端,空载峰峰值2V,阻抗75欧姆
  • 2路音频接口。阻抗100k欧/10k欧,采用速率441kHz
  • eSATA接口:用于存储图像
  • PCIe总线,与扩展模块通讯
  • 开关量:8输入/8输出。用于人机操作按键和指示灯
  • 功能扩展模块,每个模块支持2路数字网络相机的输入。
  • 核心器件TMS320DM8168
  • 双千兆网口:用于接收2路数字摄像机视频
  • 2路相机脉冲信号
  • PCIe总线,与扩展模块通讯

2.2 软件及算法

  • 记录仪软件基于Linux;应用软件基于windows
  • 视频压缩:H264/JPEG压缩算法
  • 音频G.711/AAC