入门指南:使用AM5728进行ARM和Linux/DSP开发
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环境
1.3 AM572x描述
AM572x封装为大小23x23mm,有760个球,球间距0.8mm的BGA。
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
-
精细任务切换、负荷平衡和电源管理
-
上一篇: 理解 ARM 处理器的 MIPS、DMIPS 和 MFLOPS
下一篇: 理解3.5寸硬盘和CPU之间的连接