【ARM-Linux開發】【DSP開發】AM5728介紹
AM5728 Sitara Processors
1.介紹
1.1AM572x概述
AM572x是高效能,Sitara器件、以28nm技術整合:
-
結構設計主要考慮嵌入式應用,包括工業通訊,人機介面(HMI),自動化控制,其它高效能通用的應用,
-
流視訊,支援到全高清1920x1080p@60Hz
-
2D和3D圖形和合成。
-
-
器件的組成由下面幾個部分:
-
Cortex-A15微處理器單元(MPU)子系統,包括2個ARM Cortex-A15核
-
2個數字訊號處理器(DSP)C66x子系統
-
2個基於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核的記憶體保護
-
在動態記憶體管理器裡的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
-
精細任務切換、負荷平衡和電源管理
-
可程式設計高質量影象去鋸齒
-
雙線性、三線性、各向異性紋理濾波
-
高階幾何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融合包括Java 2 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埠
-
在正常執行模式下,功耗的降低
除錯子系統包括:
-
<