TI C6000系列的DSP的內(nèi)部總線架構(gòu)、存儲系統(tǒng)和各種外設(shè)(如EDMA3和PRU等),特別是片內(nèi)的程序數(shù)據(jù)RAM和Cache系統(tǒng),以及外設(shè)的EDMA控制器,Video port,McBSP,McASP以及SRIO接口等。
片內(nèi)總線帶寬
C62x: 兩個(gè)32-bit的加載和存儲總線;
C67x: 兩個(gè)64-Bit加載,32-bit的存儲總線;
C64x, C674x, C66x: 兩條64-Bit加載和存儲總線;
圖1. C6000的片內(nèi)總線寬度
C6000系列DSP的片內(nèi)系統(tǒng)框圖
圖2. C6000系列DSP的片內(nèi)系統(tǒng)框圖
一些設(shè)備包含速度更低點(diǎn)的L3 RAM
MegaModule/CorePac模塊:
L1 RAMs/Cache
L2 RAMs/Cache
EDMA/EDMA2/EDMA3控制器等
Switched Central Resource (SCR)/TeraNet for C66x設(shè)備
Central crossbar switch,中央交叉通道轉(zhuǎn)換器
從CPU和主外設(shè)設(shè)備如EMAC, USB, PCIe到從外設(shè)設(shè)備如SPI,I2C,McBSP等的通路
C66x的相對于C64x+的增強(qiáng)
只有一套統(tǒng)一的總線而不是SCR
所有的內(nèi)存的處理都交給EDMA控制器完成;
DM644x Davinci達(dá)芬奇處理器的內(nèi)部總線框圖
DM644x Davinci達(dá)芬奇處理器的內(nèi)部總線框圖
主設(shè)備發(fā)起數(shù)據(jù)傳輸
從設(shè)備只能按命令進(jìn)行數(shù)據(jù)傳輸,但是從設(shè)備可以通過向CPU或者EDMA3發(fā)送傳輸請求中斷來發(fā)起傳輸;
C64x的片內(nèi)存儲
圖4. C64x的片內(nèi)存儲
L1P Cache控制器
直接映射(Direct Mapped (1 way))
和CPU同頻率,大小為16KB,每個(gè)cache Line大小為8條指令,即32字節(jié)
L1D Cache控制器
2-way Cache
和CPU同頻率,大小為16KB,每個(gè)cache Line大小64字節(jié)
L2 RAMs、Cache控制器
C6414/15/16 = 1M Byte
C6411/DM642 = 256K Byte
C64x+中加入了IDMA單元來進(jìn)行以上3個(gè)內(nèi)部存儲器的數(shù)據(jù)傳輸,還可以從片內(nèi)存儲到config配置寄存器。
C6000系列DSP的外設(shè)
圖5. C6000系列DSP的外設(shè)
EDMA3控制器
DMA來完成內(nèi)存間或者內(nèi)存到外設(shè),外設(shè)到內(nèi)存的數(shù)據(jù)傳輸,可以通過外部的設(shè)備事件來驅(qū)動同步,可以處理多達(dá)64個(gè)事件。DSP和ARM都能訪問DMA通道資源,而對于從C64x+加入的IDMA而言,只有DSP才能訪問其通道資源。
另外還有QDMA通道(Quick DMA),可以進(jìn)行內(nèi)存間的DMA傳輸,必須是異步處理,即必須由CPU來發(fā)起,一般的DSP上會有4-8個(gè)QDMA通道。
這些DMA通道間會共享一些資源,包括128-256個(gè)參數(shù)組( Parameter RAM sets (PARAMs)),以及64個(gè)傳輸完成標(biāo)志位(TCCS)以及2-4個(gè)傳輸掛起隊(duì)列。
主外設(shè)
VPSS (以及其他主設(shè)備)
USB, ATA, Ethernet, VLYNQ會共享SCR的訪問;
PRU(Programmable Realtime Unit)控制器
圖6. PRU框圖
PRU包括2個(gè)獨(dú)立的實(shí)時(shí)RISC核(大概只有40條指令,進(jìn)行邏輯,算術(shù)和流程控制等),能軟件編程來實(shí)現(xiàn)外設(shè),訪問GPIO針腳,PRU還有自己的中斷控制器,還可以通過SCR來訪問內(nèi)存,同時(shí)還能完成功耗管理控制,如關(guān)閉ARM或者DSP,以及根據(jù)系統(tǒng)事件盡可能的關(guān)閉處理器或者喚起處理器。
管腳復(fù)用,即通過編程來定義管腳,實(shí)現(xiàn)你需要的外設(shè)。
多通道緩沖串口McBSP(Multi-Channel Buffered Serial Port)
2/3個(gè)全功同步串口;
最高速率能到100Mbps
支持SPI總線協(xié)議
支持多個(gè)通道的處理 (T1, E1, MVIP, …)
多通道音頻串口McASP (Multi-Channel Audio Serial Port)
支持多達(dá)8個(gè)立體聲 (16個(gè)通道)
I2C support
單獨(dú)的SPI或者I2C設(shè)備;
SRIO(Serial Rapid IO)
高速的串行傳輸,如C6455設(shè)備支持4個(gè)SRIO接口,可以進(jìn)行鏈?zhǔn)竭B接通信;每個(gè)接口的數(shù)據(jù)傳輸速度達(dá)到3.25Gbps(足夠支持一路的1080P的HD視頻了),可以跟SRIO switch,hub以及FPGA連接進(jìn)行高速的數(shù)據(jù)傳輸。
時(shí)鐘和計(jì)數(shù)器Timer / Counter
32-bit timer/counters可以用來產(chǎn)生中斷;
64-bit的timer/counters可以用來對算法進(jìn)行評估;
Ethernet EMAC
10/100 Ethernet MAC,PIN和PCI復(fù)用;
TCP/IP協(xié)議棧 stack由TI提供的NDK
一些更新的設(shè)備支持10/100/1000 Ethernet MAC
Video Ports (DM系列Davinci處理器)
用于視頻圖像的采集和顯示;
兩個(gè)8/10-bit BT656或者raw RGB模式;
16/20-bit raw模式或者高清應(yīng)用的20-bit Y/C模式
支持8-bit的行縮放和色度重采樣
本文主要介紹TI C6000系列的DSP的內(nèi)部總線架構(gòu)、存儲系統(tǒng)和各種外設(shè)(如EDMA3和PRU等),特別是片內(nèi)的程序和數(shù)據(jù)RAM和Cache系統(tǒng),以及外設(shè)的EDMA控制器,Video port,McBSP,McASP以及SRIO接口等。
評論