DSP

【ARM-Linux开发】【DSP开发】AM5728介绍

2019-07-13 10:29发布

AM5728 Sitara Processors

1.    介绍

1.1 AM572x概述

AM572x是高性能,Sitara器件、以28nm技术集成:
  • 结构设计主要考虑嵌入式应用,包括工业通讯,人机接口(HMI),自动化控制,其它高性能通用的应用,
    • 流视频,支持到全高清1920x1080p@60Hz
    • 2D3D图形和合成。
  • 器件的组成由下面几个部分:
    • Cortex-A15微处理器单元(MPU)子系统,包括2ARM Cortex-A15
    • 2个数字信号处理器(DSPC66x子系统
    • 2个基于Cortex-M4的图像处理单元(IPU)子系统,每个IPU包括2ARM Cortex-M4微处理器。
      • IPU1子系统可用于通用目的的用处
      • IPU2子系统专用于IVA-HD,不可用作它用。
    • 显示子系统(DSS
    • 视频处理子系统(VPE
    • 视频输入捕捉(VIP
    • 3D-图形处理单元(GPU)子系统,包括POWERVRSGX544双核
    • 2D-图形加速(BB2D)子系统,包括VivanteGV329
    • 3PWM子系统
    • RTC子系统
    • 两个双核可编程实时单元和工业通讯子系统(PRU-ICSS)。
    • 调试子系统。
  • 器件提供一套丰富的互联外设,这些包括:
    • 一个USB3.0和一个USB2.0子系统
    • SATA 2子系统
    • 2PCIe Gen2子系统
    • Gigabit以太网交换系统,提供2个外部以太网端口和一个内部CPPI接口端口
  • 器件还包括:
    • 错误检测和纠正
      • C66x DSP L1程序cache上的每个字节都有校验位,以及在DSPL2内存上的单错误的校正和双错误的检测(SECDED
      • 在大的L3内存上的SECDED
      • 在外部DDR内存接口上的SECDED(仅EMIF1支持)
    • MMU/MPU
      • MMU用于关键MastersCortex A15 MPUCortex-M4 IPUC66x DSP EDMA
      • C66x核的内存保护
      • 在动态内存管理器里的MMU
  • 器件还包括了代表目前技术水准的电源管理技术,这是高性能嵌入式产品所必须的。
  • 器件还集成了:
    • 片上内存
    • 外部内存接口
    • 内存管理
    • L3L4互联
    • 系统和串行外设

1.2 AM572x环境

1.3 AM572x描述

AM572x封装为大小23x23mm,有760个球,球间距0.8mmBGA

1.3.1 MPU子系统

Cortex-A15 MPU子系统集成了下面的子模块:
  • ARM Cortex-A15 MPCore
    • 两个中央处理单元(CPUs
    • ARM Version 7 ISA:标准ARM指令集加Thumb-2Jzaelle RCT Java加速器,硬件虚拟支持,大物理地址扩展(LPAElarge address extensions
    • 每个CPU有:Neon SIMD协处理器和VFPv4
    • 中断控制器支持160个中断请求
    • 每个CPU有:一个通用目的的定时器和一个看门狗定时器
    • 调试和追踪特征
    • 每个CPU有:32-KiB指令和32KiB数据L1 cahce
  • 共享2-MiB L2 Cache
  • 48-KiB 可引导ROM
  • 局部电源、复位、时钟(PRCM)管理模块
  • 可仿真调试
  • 数字锁相环(DPLL

1.3.2 DSP子系统

器件里有2DSP子系统,每个DSP子系统包含下面子模块:
  • TMS320C66x VLIW DSP核,可用于音频处理、通用目的的图像处理、视频处理,它扩展了C64x+C647x DSP的性能,并增加了一些新的特征。
    • 32KiB L1D32KiB L1P Cache或可寻址SRAM
    • 288KiB L2 Cache
      • 256KiB可配置为CacheSRAM
      • 32KiB SRAM
  • EDMA引擎,用于视频和音频数据传输
  • 用于寻址管理的内存管理单元(MMU
  • 中断控制器(INTC
  • 仿真调试能力

1.3.3 PRU-ICSS子系统

器件里有2个可编程实时单元和工业通讯子系统(PRU-ICSSProgrammable Real-time and Industrial Communication Subsystems),每个PRU-ICSS由两个32bit RISC核组成(可编程实时单元PRUsProgrammableReal-TimeUnits),共享数据和指令内存、内部外设模块、中断控制器(INTC)。 PRU-ICSS支持的接口中,都是用在主模式和从模式的实时工业协议,比如:
  • EtherCAT
  • PROFINET
  • EtherNet/IP
  • PROFIBUS
  • Ethernet Powerlink
  • SERCOS

1.3.4 IPU子系统

器件中有2个基于Cortex-M4 IPU子系统:
  • IPU1子系统可用于通用目的。
  • IPU2子系统专用于IVA-HD,不可干别的用。
每个IPU子系统包括下面:
  • 2Cortex-M4 CPUs
  • ARMv7E-MThum-2指令集架构
  • 硬件除法和单周期的乘法加速
  • 专用的INTC,具有63个物理中断事件和16个级别
  • 2级内存子系统结构:
    • L132KiB共享cache内存)
    • L2 ROM+RAM
      • 64KiBRAM
      • 16KiB Bootable ROM
  • 用于地址翻译的MMU
  • 集成的电源管理
  • 仿真调试内嵌在Cortex-M4

1.3.5 IVA-HD子系统

IVA-HD子系统是一组视频编解码硬件加速器,其所支持的Codecs可以见软件SDK文档。 注:目前Linux SDK文档上说:视频解码支持H264MPEG4MPEG2VC1;视频编码支持H264MPEG4;图像解码JPEG

1.3.6显示子系统(DSS

显示子系统提供控制信号,这些信号是设备系统内存帧缓冲(SDRAM)与显示设备连接时需要的,它支持硬件光标,所有的接口上具支持独立的gamma曲线矫正,多缓冲,可编程颜 {MOD}相位旋转,显示子系统允许低功耗显示刷新和在正常与低优先级流水之间的仲裁。 显示子系统由下面几部分组成:
  • 显示控制器:对编码存储在内存里的像素数据进行读并显示,将overlay之一或流水线之一的输出写到系统内存中,显示控制器有下面部分组成:
    • 三个视频流水线,一个图形流水线,一个回写流水线。图形流水线支持像素格式有:ARGB16-4444RGB16-565ARGB161-1555ARGB32-8888RGBA32-8888RGB24-888BITMAP(每像素1248bit),允许进行 {MOD}彩深度扩展选择
    • 回写流水线:使用poly-phase滤波,独立的水平和垂直重采样(上采样和下采样),它支持可编程的 {MOD}度空间转换:将RGB24转成YUV422-UYVYYUV422-YUV2YUV420-NV12NV21,以及 {MOD}度深度降低的选择:从RGB24降到RGB16
    • 三个LCD输出,每个都有自己的overlay管理器,支持有效的矩阵颜 {MOD}显示(高达24bit的接口),不能在所有输出上同时支持列出的最高分辨率。
      • 第一个主LCD输出,送到MIPI DPI1.0 LCD像素接口,支持WUXGA1920x1200),减少空时间。
      • 第二和第三LCD输出,送到MIPI DPI2.0 LCD像素接口,支持WUXGA1920x1200),减少空时间。
    • 一个TV输出,具有专用的overlay管理器,支持HDMIV1.4a接口(1080p@60fps视频和多通道音频)
    • 自己专属的DMA引擎
  • 高清多媒体接口(HDMI)编码器,具有下面特征:
    • 兼容HDMI1.4aDVI1.0

1.3.7视频处理子系统(VPE

视频处理引擎(VPE)模块提供下面内存到内存操作的支持:
  • 光栅读或tiled YUV420coplanarYUV422 coplanarYUV422隔行视频
  • 21080i@60fps视频流去隔行
  • 缩放输入视频到1080p(1920x1080)
  • {MOD}度上下采样
  • VC-1范围映射和范围减少
  • {MOD}度空间转换
  • 写最终视频,格式有:YUV420coplanar(光栅或tiled)、YUV422 coplanar(光栅或tiled)、YUV422隔行coplanar(光栅或tiled)、YUV444plane(仅光栅)或RGB888(仅光栅)

1.3.8视频捕捉(VIP

有三个视频输入端口(VIP)模块,支持视频捕捉功能: VIP1VIP2模块,每个都支持:
  • 2个独立的24bit视频端口,用于捕捉并行的RGB/YUV/RAW(或BT656/1120)数据,速率高达165MHz
  • 2个独立的8bit视频端口,用于捕捉YUV/RAW(或BT656)数据,速率高达165MHz
VIP3模块,支持2个独立的16bit视频端口,用于捕捉并行的RGB/YUV/RAW(或BT656/1120)数据,速率达165MHz 每个VIP模块还支持:
  • 内嵌同步(多个源)和离散同步(单个源)数据接口模式
  • {MOD}度空间转换或缩放
    • 支持1920像素宽的输入,带缩放
    • 支持3840像素宽输入, {MOD}度上/下采样,不带缩放
    • 支持更高分辨率,不缩放, {MOD}度也不进行上下采样
  • 内嵌DMA引擎,支持tiled2D)和光栅寻址。

1.3.9 3D GPU子系统

3D图形处理单元(GPU)子系统是基于ImaginationTechnology公司的POWERVR SGX544子系统。它支持通用的嵌入式应用,GPU能同时处理不同数据类型,比如:像素数据、矢量数据、视频数据和通用目的数据。 GPU子系统具有下面特点:
  • 多核GPU结构:2SGX544核,共享128KiB系统级cache
  • Tile-based deferred rendering结构
  • 第二代通用缩放渲染引擎(USSE2),多线程引擎,包含像素和矢量渲染功能
  • 呈现和文本加载加速器
    • 使能移动、旋转、转动、缩放文本表面
    • 支持RGBARGBYUV422YUV420格式
    • 支持双线性放大
    • 支持源的 {MOD}键
  • 工业标准的API支持OpenGL-ES1.12.0
  • 精细任务切换、负荷平衡和电源管理
  • 可编程高质量图像去锯齿
  • 双线性、三线性、各向异性纹理滤波
  • 高级几何DMA驱动操作以使得CPU干预最少。
  • 通过统一的内存架构MMU),OS操作使用全虚拟内存寻址。

1.3.10 BB2D子系统

2D BitBltBB2D)图形加速器子系统是基于Vivante公司的GC320核的,它具有下面的特征:
  • API支持:
    • OpenWFDirectFB
    • GDI/DirectDraw
  • BB2D架构:
    • BitBltStretchBlt
    • DirectFB硬件加速
    • ROP2ROP3ROP4alpha融合和透明操作
    • 支持方形剪切
    • Alpha融合包括Java 2 Porter-Duff复合规则
    • 90-180270-度旋转
    • YUV-to-RGB {MOD}度空间转换
    • 可编程显示格式转换,带14个源和7个目的格式
    • 高质量932相位滤波器,用于对1080p图形和视频的缩放
    • 单 {MOD}扩展用于文本着 {MOD}
    • 32k x 32k坐标系统

1.3.11片上调试支持

片上调试支持下面的特征:
  • 支持多处理器的调试,让用户控制内嵌在器件中的多CPU核,比如:
    • 单个或多个处理器的全局启动调试和停止
    • 每个处理器能产生触发,这可用于改变其它处理器的执行流程
    • 系统时钟定时和掉电
    • 多器件的互联
    • 通道触发
  • 目标调试,使用:IEEE1149.1JTAG),或IEEE1149.7端口
  • 在正常运行模式下,功耗的降低
调试子系统包括:
  • IEEE1149.7适配器
  • 模拟和测试控制使用通用的TAP
  • 调试存取端口(DAP
  • 内嵌的追踪宏(ETM
  • 追踪端口接口单元(EPIU
  • 内嵌的追踪缓冲(ETM
  • 模拟脚管理(EPM
  • 交叉触发(XTRIG
调试子系统还提供:
  • CJTAG_ADAPTER基本的扫描配置支持
  • ICEMelter,用于控制模拟电源域的唤醒和掉电