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

时间:2021-06-03 20:24:24

AM5728 Sitara Processors

1.    介绍

1.1 AM572x概述

AM572x是高性能,Sitara器件、以28nm技术集成:

  • 结构设计主要考虑嵌入式应用,包括工业通讯,人机接口(HMI),自动化控制,其它高性能通用的应用,

    • 流视频,支持到全高清1920x1080p@60Hz

    • 2D和3D图形和合成。

  • 器件的组成由下面几个部分:

    • Cortex-A15微处理器单元(MPU)子系统,包括2个ARM
      Cortex-A15核

    • 2个数字信号处理器(DSP)C66x子系统

    • 2个基于Cortex-M4的图像处理单元(IPU)子系统,每个IPU包括2个ARM
      Cortex-M4微处理器。

      • IPU1子系统可用于通用目的的用处

      • IPU2子系统专用于IVA-HD,不可用作它用。

    • 显示子系统(DSS)

    • 视频处理子系统(VPE)

    • 视频输入捕捉(VIP)

    • 3D-图形处理单元(GPU)子系统,包括POWERVR的SGX544双核

    • 2D-图形加速(BB2D)子系统,包括Vivante的GV329核

    • 3个PWM子系统

    • RTC子系统

    • 两个双核可编程实时单元和工业通讯子系统(PRU-ICSS)。

    • 调试子系统。

  • 器件提供一套丰富的互联外设,这些包括:

    • 一个USB3.0和一个USB2.0子系统

    • SATA 2子系统

    • 2个PCIe Gen2子系统

    • Gigabit以太网交换系统,提供2个外部以太网端口和一个内部CPPI接口端口

  • 器件还包括:

    • 错误检测和纠正

      • 在C66x DSP L1程序cache上的每个字节都有校验位,以及在DSP的L2内存上的单错误的校正和双错误的检测(SECDED)

      • 在大的L3内存上的SECDED

      • 在外部DDR内存接口上的SECDED(仅EMIF1支持)

    • MMU/MPU

      • MMU用于关键Masters(Cortex A15 MPU,Cortex-M4
        IPU,C66x DSP, EDMA)

      • C66x核的内存保护

      • 在动态内存管理器里的MMU

  • 器件还包括了代表目前技术水准的电源管理技术,这是高性能嵌入式产品所必须的。

  • 器件还集成了:

    • 片上内存

    • 外部内存接口

    • 内存管理

    • L3和L4互联

    • 系统和串行外设

1.2 AM572x环境

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

1.3 AM572x描述

AM572x封装为大小23x23mm,有760个球,球间距0.8mm的BGA。

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

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

1.3.1 MPU子系统

Cortex-A15 MPU子系统集成了下面的子模块:

  • ARM Cortex-A15 MPCore

    • 两个*处理单元(CPUs)

    • ARM Version 7 ISA:标准ARM指令集加Thumb-2,Jzaelle
      RCT Java加速器,硬件虚拟支持,大物理地址扩展(LPAE:large
      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子系统

器件里有2个DSP子系统,每个DSP子系统包含下面子模块:

  • TMS320C66x VLIW DSP核,可用于音频处理、通用目的的图像处理、视频处理,它扩展了C64x+和C647x DSP的性能,并增加了一些新的特征。

    • 32KiB L1D和32KiB L1P Cache或可寻址SRAM

    • 288KiB L2 Cache

      • 256KiB可配置为Cache或SRAM

      • 32KiB SRAM

  • EDMA引擎,用于视频和音频数据传输

  • 用于寻址管理的内存管理单元(MMU)

  • 中断控制器(INTC)

  • 仿真调试能力

1.3.3 PRU-ICSS子系统

器件里有2个可编程实时单元和工业通讯子系统(PRU-ICSS:Programmable
Real-time and Industrial Communication Subsystems),每个PRU-ICSS由两个32bit
RISC核组成(可编程实时单元PRUs:ProgrammableReal-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子系统包括下面:

  • 2个Cortex-M4 CPUs

  • ARMv7E-M和Thum-2指令集架构

  • 硬件除法和单周期的乘法加速

  • 专用的INTC,具有63个物理中断事件和16个级别

  • 2级内存子系统结构:

    • L1(32KiB共享cache内存)

    • L2 ROM+RAM

      • 64KiBRAM

      • 16KiB Bootable ROM

  • 用于地址翻译的MMU

  • 集成的电源管理

  • 仿真调试内嵌在Cortex-M4上

1.3.5 IVA-HD子系统

IVA-HD子系统是一组视频编解码硬件加速器,其所支持的Codecs可以见软件SDK文档。

注:目前Linux SDK文档上说:视频解码支持H264、MPEG4、MPEG2和VC1;视频编码支持H264和MPEG4;图像解码JPEG。

1.3.6显示子系统(DSS)

显示子系统提供控制信号,这些信号是设备系统内存帧缓冲(SDRAM)与显示设备连接时需要的,它支持硬件光标,所有的接口上具支持独立的gamma曲线矫正,多缓冲,可编程颜色相位旋转,显示子系统允许低功耗显示刷新和在正常与低优先级流水之间的仲裁。

显示子系统由下面几部分组成:

  • 显示控制器:对编码存储在内存里的像素数据进行读并显示,将overlay之一或流水线之一的输出写到系统内存中,显示控制器有下面部分组成:

    • 三个视频流水线,一个图形流水线,一个回写流水线。图形流水线支持像素格式有:ARGB16-4444,RGB16-565,ARGB161-1555,ARGB32-8888,RGBA32-8888,RGB24-888,BITMAP(每像素1,2,4,8bit),允许进行色彩深度扩展选择

    • 回写流水线:使用poly-phase滤波,独立的水平和垂直重采样(上采样和下采样),它支持可编程的色度空间转换:将RGB24转成YUV422-UYVY,YUV422-YUV2或YUV420-NV12或NV21,以及色度深度降低的选择:从RGB24降到RGB16

    • 三个LCD输出,每个都有自己的overlay管理器,支持有效的矩阵颜色显示(高达24bit的接口),不能在所有输出上同时支持列出的最高分辨率。

      • 第一个主LCD输出,送到MIPI DPI1.0 LCD像素接口,支持WUXGA(1920x1200),减少空时间。

      • 第二和第三LCD输出,送到MIPI DPI2.0 LCD像素接口,支持WUXGA(1920x1200),减少空时间。

    • 一个TV输出,具有专用的overlay管理器,支持HDMIV1.4a接口(1080p@60fps视频和多通道音频)

    • 自己专属的DMA引擎

  • 高清多媒体接口(HDMI)编码器,具有下面特征:

    • 兼容HDMI1.4a和DVI1.0

1.3.7视频处理子系统(VPE)

视频处理引擎(VPE)模块提供下面内存到内存操作的支持:

  • 光栅读或tiled YUV420coplanar。YUV422 coplanar、YUV422隔行视频

  • 对2个1080i@60fps视频流去隔行

  • 缩放输入视频到1080p(1920x1080)

  • 色度上下采样

  • VC-1范围映射和范围减少

  • 色度空间转换

  • 写最终视频,格式有:YUV420coplanar(光栅或tiled)、YUV422
    coplanar(光栅或tiled)、YUV422隔行coplanar(光栅或tiled)、YUV444单plane(仅光栅)或RGB888(仅光栅)

1.3.8视频捕捉(VIP)

有三个视频输入端口(VIP)模块,支持视频捕捉功能:

VIP1和VIP2模块,每个都支持:

  • 2个独立的24bit视频端口,用于捕捉并行的RGB/YUV/RAW(或BT656/1120)数据,速率高达165MHz

  • 2个独立的8bit视频端口,用于捕捉YUV/RAW(或BT656)数据,速率高达165MHz

VIP3模块,支持2个独立的16bit视频端口,用于捕捉并行的RGB/YUV/RAW(或BT656/1120)数据,速率达165MHz。

每个VIP模块还支持:

  • 内嵌同步(多个源)和离散同步(单个源)数据接口模式

  • 色度空间转换或缩放

    • 支持1920像素宽的输入,带缩放

    • 支持3840像素宽输入,色度上/下采样,不带缩放

    • 支持更高分辨率,不缩放,色度也不进行上下采样

  • 内嵌DMA引擎,支持tiled(2D)和光栅寻址。

1.3.9 3D GPU子系统

3D图形处理单元(GPU)子系统是基于ImaginationTechnology公司的POWERVR
SGX544子系统。它支持通用的嵌入式应用,GPU能同时处理不同数据类型,比如:像素数据、矢量数据、视频数据和通用目的数据。

GPU子系统具有下面特点:

  • 多核GPU结构:2个SGX544核,共享128KiB系统级cache

  • Tile-based deferred rendering结构

  • 第二代通用缩放渲染引擎(USSE2),多线程引擎,包含像素和矢量渲染功能

  • 呈现和文本加载加速器

    • 使能移动、旋转、转动、缩放文本表面

    • 支持RGB、ARGB、YUV422、YUV420格式

    • 支持双线性放大

    • 支持源的色键

  • 工业标准的API支持OpenGL-ES1.1和2.0

  • 精细任务切换、负荷平衡和电源管理

  • 可编程高质量图像去锯齿

  • 双线性、三线性、各向异性纹理滤波

  • 高级几何DMA驱动操作以使得CPU干预最少。

  • 通过统一的内存架构(MMU),OS操作使用全虚拟内存寻址。

1.3.10 BB2D子系统

2D BitBlt(BB2D)图形加速器子系统是基于Vivante公司的GC320核的,它具有下面的特征:

  • API支持:

    • OpenWF、DirectFB

    • GDI/DirectDraw

  • BB2D架构:

    • BitBlt和StretchBlt

    • DirectFB硬件加速

    • ROP2、ROP3、ROP4全alpha融合和透明操作

    • 支持方形剪切

    • Alpha融合包括Java2
      Porter-Duff复合规则

    • 90-,180,270-度旋转

    • YUV-to-RGB色度空间转换

    • 可编程显示格式转换,带14个源和7个目的格式

    • 高质量9阶32相位滤波器,用于对1080p图形和视频的缩放

    • 单色扩展用于文本着色

    • 32k x 32k坐标系统

1.3.11片上调试支持

片上调试支持下面的特征:

  • 支持多处理器的调试,让用户控制内嵌在器件中的多CPU核,比如:

    • 单个或多个处理器的全局启动调试和停止

    • 每个处理器能产生触发,这可用于改变其它处理器的执行流程

    • 系统时钟定时和掉电

    • 多器件的互联

    • 通道触发

  • 目标调试,使用:IEEE1149.1(JTAG),或IEEE1149.7端口

  • 在正常运行模式下,功耗的降低

调试子系统包括:

  • IEEE1149.7适配器

  • 模拟和测试控制使用通用的TAP

  • 调试存取端口(DAP)

  • 内嵌的追踪宏(ETM)

  • 追踪端口接口单元(EPIU)

  • 内嵌的追踪缓冲(ETM)

  • 模拟脚管理(EPM)

  • 交叉触发(XTRIG)

调试子系统还提供:

  • CJTAG_ADAPTER基本的扫描配置支持

  • ICEMelter,用于控制模拟电源域的唤醒和掉电

  • L3_INSTR CORE仪器互联

  • OCP观测点(OCP-WP)用户监视L3互联交易,这发生于目标交易属性与用户定义属性匹配或外部调试事件触发的时候。

  • 电源管理事件分析器

  • 时钟管理分析器

  • 统计信息收集器

1.3.12电源、复位、时钟管理

PRCM模块实现对时钟和电源的高效控制以满足性能要求的同时还降低电源功耗。PRCM模块划分成:

  • 电源和复位管理(PRM):

    • 动态时钟门控

    • 动态调整电压和频率

    • 动态电源切换

    • 静态泄漏管理

  • 时钟管理(CM),用于时钟的产生和分配,减少动态功耗。

1.3.13片上内存OCM

  • 器件包括多达3个片上内存控制器OCMC实例,带ECC的关联RAM。总共容量达2.5MiB。

  • OCMC RAM可实现环形缓冲(要求8MiB虚拟地址空间)。

  • 一个OCMC带关联ROM,容量256KiB

  • 在唤醒域,存储和恢复内存/暂存。

1.3.14内存管理

  • 系统DMA控制器具有128个硬件请求,32个优先级的逻辑通道,256x64bitFIFO在有效的通道间可动态定位.

  • EDMA控制器支持2个同时读和两个同时写物理通道,多达64个可编程逻辑通道。

  • 动态内存管理(DMM)模块,执行全局地址翻译,地址旋转(tiling)和在两个EMIF通道间的交织存取

  • 2个内存管理单元(MMU)具有4KiB、64HiB、1MB、16MB可编程页尺寸和32个entries
    TLB

    • MMU1专属于EDMA

    • MMU2专属于PCIe

1.3.15外部内存接口

  • 两个32bit DDR控制器(EMIF1和EMIF2),每个都具备下面特点:

    • 双端口控制器,以实现不同应用之间的高效内存共享

    • 每个内存端口控制器有32bit数据通道,2个片选

    • 每个片选支持2GiB空间,通过MPU扩展寻址范围,提供总共4GiB可寻址的SDRAM空间。

    • EMIF1控制器支持一位出错纠正两位出错检测(SECDED:single bit Error Correction
      and Dual Error Detection)

      • SECDED支持32bit和16bit/窄模式

      • 可编程寻址模式,以定义SECDED保护区域

      • 校验位计算和存储:所有SECDED保护地址区域进行的写操作

      • 校验的验证:所有SECDED保护地址区域进行的读操作

      • 1bit和2bit错误的统计

  • 通用目的内存控制器(GPMC)支持下面类型的存储器:

    • 异步SRAM

    • 异步或同步NOR FLASH内存

    • NAND Flash 内存,通过错误定位模块(ELM)实现多达16bit的ECC

    • Pseudo-SRAM器件。

  • 4 SPI模块,支持1到4寻址字节,用于SPI
    NOR FLASH,高达66MHz单数据速率。

1.3.16系统和互联外设

AM572x器件支持丰富的外设,提供灵活的高速接口和片上可编程资源。

1.3.16.1系统外设
  • 16个通用目的的定时器(两个定时器模块支持1ms滴答)

  • 一个看门狗(WDT)

  • 一个32K的综合定时器

  • 系统控制模块,包含下面功能的寄存器

    • 静态设备配置

    • 调试和观察

    • 状态

    • 管脚配置

    • I/O配置

    • eFuse逻辑

    • 模拟功能控制

    • 系统boot解码逻辑

  • 13个系统邮箱,用于MPU、IPU、DSP和PRU-ICSS的通讯

  • 自旋锁模块:可作为MPU、DSP、IPU子系统之间的硬件信号量

  • 处理器间通讯寄存器

  • 3个PWM子系统(PWMSS),每个包含增强的高精度脉冲宽度调制器(eHRPWM),增强的捕获(eCAP)和增强的4编码脉冲(eQEP)模块.

  • 实时时钟子系统(RTCSS),支持4个外部唤醒输入和一个电源使能输出,它们都是3.3V或1.8V多电压I/Os

  • 8个通用目的输入/输出(GPIO)模块,每个带32I/Os,一个GPIO模块支持唤醒请求产生

  • HDQ/1-Wire:Benchmarq HDQ和Dallas半导体1-Wire接口

  • 键盘控制器,支持9x9矩阵键盘。

1.3.16.2媒体互联外设
  • 4个HS-MMC/SD/SDIO模块:

    • 两个模块充当HS-MMC发起者控制器,支持JEDECJESD84 v4.5-A441和SD3.0物理层,具有SDA3.00标准

      • 一个控制器8bit接口,支持双电压IO(1.8或3.3V)的JESD84内存;另一个支持4bit的外部卡,内嵌双电压IO(1.8V或3.3V),支持UHS-I速率。

      • 每个控制器包括它的DMA控制器,兼容ADMA2(SDA3.00端口 A2
        DMA控制器)

    • 两个模块充当SDIO接口控制器,一个控制器支持4-bit数据总线,另一个控制器支持8bit数据总线宽

  • 一个超高速USB DRD(Dual-Role-Device)子系统,内嵌HS和SS
    PHYs,兼容USB2.0(达480Mbps和USB3.0(5Gbps)标准

  • 一个高速USB子系统

    • 一个HS USB子系统,内嵌HS PHY,支持480Mbps。

  • 一个SATA子系统,用于连接SSD(固态盘)和HDD(硬盘)。支持SATA-2代的HBA端口,速度达3Gbps。

1.3.16.3互联外设
  • 一个3-端口Gigabit以太网交换子系统(10,100,1000Mbps),交换提供2个外部以太网端口和一个内部CPPI接口端口,支持AVB/工业以太网和802.1ae,包括支持3.3V
    RMII/MII和1.8-或3.3V RGMII。

  • 两个DCAN控制器,支持位流达1Mbit/s,兼容CAN2.0协议。

  • 2个PCIe子系统,一个提供Gen2兼容的2-lane端口,另一个提供Gen2兼容的1-lane端口,每个Lane速率达5.0Gbps。PCIe子系统支持作为RC或EP设备。2个PCIe子系统共享公共的2-Lane
    PCIe PHY,可配置操作为2-lane给一个控制器(CPCIe_SS1)或2个独立的lane给2个控制器(PCIe_SS1和PCIe_SS2)。

1.3.16.4音频互联外设
  • 8个多通道音频串行接口(MCASP)

    • 2个MCASP,每个支持多达16通道,独立的TX/RX时钟/同步域

    • 6个MCASP,每个支持4通道,统一的时钟/同步域

    • MCASP特点:

      • 独立的传输和接收模块,每个包括可编程的时钟、帧同步产生器、2到32 TDM流,支持时间槽(time
        slot)达32bit、用于位操作的数据格式化器。

      • 无缝连接到音频ADC和DAC,Codec,DIR(数字音频接口接收器),S/PDIF传输物理层元件

      • 大变异的的I2S和类似的位流传输格式

      • 集成的数字音频接口传输器(DIT)支持S/PDIF、IEC60958-1、AES-3格式和增强通道状态/用户数据RAM

      • 384-slot TDM,带外部数字音频接口接收器(DIR)器件

      • 扩展的错误检查和恢复。

1.3.16.5串行控制外设
  • 10个UART,兼容于16c750

    • 1个UART模块带IrDA特征

  • 4个通用目的MCSPI模块

  • 5个多主HS I2C,兼容飞利浦I2C规范2.1

    • I2C1和I2C2控制器,支持快速模式,速率达400Kbps

    • I2C3和I2C4、I2C5支持高速模式,速率达3.4Mbps

1.4 AM572x器件标识

表1-1描述标识寄存器.

这些标识寄存器包括数据寄存器列表在表1-2和表1-4中,这些寄存器只读。

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

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

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

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

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

1.5 AM57x处理器系列

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

注:PRU-ICSS是可编程实时核,用于工业通讯协议如:Profibus、Profinet、Ethernet/IP,Sercos
III等等,某些协议(EtherCAT、POWERLINK)的运行只能在特定型号中。

AM57x不同型号的比较

AM5728

AM5718

ARM CPU

2 ARM Cortex-A15

1 ARM Cortex-A15

ARM MHz(Max)

1500

1500

DSP

2 C66x

1 C66x

DSP MHz(Max)

750

750

On-Chip L2 Cache

1MB(ARM Cortex-A15)

288KB(C66x)

1MB(ARM Cortex-A15)

288KB(C66x)

Other On-Chip Memory

2.5MB w/ECC

512KB w/ECC

Co-Processor(s)

2 ARM Cortex-M4

4 PRU-ICSS

2 ARM Cortex-M4

4 PRU-ICSS

Graphics Acceleration

2 3D / 1 2D

1 3D / 1 2D

Video Resolution/Frame Rate

1080p60

1080p60

Serial I/O

CAN/I2C/SPI/UART/USB

CAN/I2C/SPI/UART/USB

Industrial Protocols

1588

EtherCat

EtherNet/IP

POWERLINK

PROFIBUS

PROFINET RT/IRT

SERCOS III

1588

EtherCat

EtherNet/IP

POWERLINK

PROFIBUS

PROFINET RT/IRT

SERCOS III

CSI-2

3

PCI/PCIe

2 PCIe Gen 2

2 PCIe Gen 2

SATA

1

1

USB2.0

1

1

USB3.0

1

1

Operating Temperature Range(C)

0-90

0-90

Package Group

FCBGA

FCBGA

Approx. Price(US $)

75

48

ARM MIPS(Max)

10500

5240

Other Hardware Acceleration

Crypto Accelerator

Crypto Accelerator

On-Chip L1 Cache

32KB(ARM Cortex-A15)

32KB(C66x)

32KB(ARM Cortex-A15)

32KB(C66x)

CAN(#)

2

2

Display Options

1 HDMI out, 3 LCD out

1 HDMI out, 3 LCD out

DMA(CH)

64-Ch EDMA

64-Ch EDMA

DRAM

DDR3(L)w/ECC

DDR3(L)w/ECC

eCap

3

3

EMAC

10/100/1000 2 Port 1Gb Switch

10/100/1000 2-Port 1Gb Switch

eQEP

3

3

General Purpose Memory

1 16bit(GPMC, NAND Flash, NOR Flash, SRAM)

1 16bit(GPMC, NAND Flash, NOR Flash, SRAM)

HDMI

1

1

I2C

5

5

IO Suply(V)

1.8V, 3.3V

1.8V, 3.3V

LCD

3

3

McASP

8

8

MMC/SD

4

4

PWM(Ch)

3

3

QSPI

1

1

RTC

1

1

SPI

4

4

UART(SCI)

10

10

Video Port(Configurable)

6+

6+

Application

Communication Equipment

Enterprise System

Industrial

Personal Electronics

Communication Equipment

Enterprise System

Industrial

Personal Electronics

Operating Systens

Android

Integrity

Linux

Neutrino

TI-RTOS

VxWorks

Windows Embedded CE

Android

Integrity

Linux

Neutrino

TI-RTOS

VxWorks

Windows Embedded CE

1.6应用

  • 工业人机接口

  • 工业驱动

  • 工厂自动化

  • 建筑自动化

  • 机器视觉

  • 医学图像

  • 测试与测量

  • 嵌入式计算

  • 航空

原文:
http://blog.csdn.net/shanghaiqianlun/article/details/