新型定點數(shù)字信號處理器TMS320VC5510
摘要:TMS320VC5510是美國TI公司推出的新一代數(shù)字信號處理器,它具有更高的代碼執(zhí)行效率和更低的功耗,其最高指令執(zhí)行速度可達800MIPS。文中詳細介紹了TMS320VC5510的特點參數(shù)、內(nèi)部結(jié)構(gòu)、片內(nèi)資源以及相關(guān)的應用信息資料。
本文引用地址:http://butianyuan.cn/article/242292.htm關(guān)鍵詞:DSP 定點 CPU TMS320VC5510
1 概述
TMS320VC5510是Texas Instrument(TI)公司采用新一代定點DSP核構(gòu)成的數(shù)字信號處理器,與TMS320C54X相比,它功耗更低,代碼執(zhí)行效率更高,在0.9V下,其DSP核的功耗為0.05mW/MIPS,最高執(zhí)行指令速度可達800MIPS。為了保護用記在軟件方面的投資,TMS320C55X的指令與TMS320C54X的指令可以完全兼容。
TMS320VC5510是TI公司推出的第一個基于TMS320C55X核的數(shù)字信號處理器(Digital Signal Processor,DSP),它具有以下資源及特點:
●高性能,低功耗;
●6.25/200MHz的指令周期;
●160/200MHz的時鐘頻率;
●每周期執(zhí)行1或2條指令;
●雙MAC(multiply-and-accumulate unit,乘并累加單元)結(jié)構(gòu);
●雙算術(shù)邏輯單元;
●3組內(nèi)部數(shù)據(jù)讀總線;
●2組內(nèi)部數(shù)據(jù)寫總線;
●可設置的指令高速緩沖存儲器(Cache),容量為24k字節(jié);
●在片RAM共160k×16bit;
8塊雙訪問RAM(Dual-Access RAM),每塊容量為4k×16bit,共64k字節(jié)。
32塊單訪問RAM(Single-Access RAM),每塊容量為4k×16bit,共256k字節(jié)。
●16k×16bit的在片ROM;
●8M×16bit外部最大可尋址空間;
●32bit的外部存儲器接口(External Memory Interface,EMIF)可以對下列存儲器無縫接口:
異步SRAM;
異步EPROM;
同步DRAM(SDRAM);
同步突發(fā)式SRAM(Synchronous Burst SRAM,SBSRAM);
●可對6個器件功能域(Device Functional Domains)進行低功耗控制編程。
●豐富的在片外設,包括:
2個16位的定時器;
6通道DMA控制器;
3組多通道緩沖串行口;
可編程的數(shù)字鎖相環(huán)發(fā)生器;
16位并行增強型主機接口(Enhanced Host Port Interface);
8個通用的I/O口及通用輸出信號XF。
●支持IEEE Std 1149.1(JTAG)邊界掃描邏輯(Boundary Scan Logic);
●3.3V的I/O電壓;
●1.6V的CPU核心電壓;
●240腳MicroStar BGA封裝。
2 TMS320VC5510的內(nèi)部結(jié)構(gòu)
圖1是TMS320VC5510的內(nèi)部結(jié)構(gòu)。從圖1可以看出,TMS320VC5510主要是由CPU、外設總線控制器、DMA控制器、片上外設和片上存儲單元等幾大部分組成。
3 TMS320VC5510的CPU結(jié)構(gòu)
TMS320VC5510的強大數(shù)據(jù)處理能力得益于它高度并行的CPU結(jié)構(gòu),圖2給出了TMS320VC5510的CPU功能框圖。
TMS320VC5510的CPU由指令緩沖單元(IU)、程序流程單元(PU)、地址數(shù)據(jù)流程單元(AU)和數(shù)據(jù)處理單元(DU)等4個部分和12組總線構(gòu)成。
3.1 CPU內(nèi)部總線
CPU各個單元的數(shù)據(jù)交換是通過總線來完成的,在CPU內(nèi)部有12個獨立總線,分別為:3組數(shù)據(jù)讀總線,2組數(shù)據(jù)寫總線,5組數(shù)據(jù)地址總線,1組程序讀總線和1組程序?qū)懣偩€。此外,對片內(nèi)功能器件和DMA操作等還有專用的總線。這樣的總線結(jié)構(gòu)使得TMS320C55X的CPU可以在一個總線周期內(nèi)同時進行了3個數(shù)據(jù)讀和2個數(shù)據(jù)寫的操作,從而大大提高了系統(tǒng)數(shù)據(jù)并行處理的能力。此外,CPU內(nèi)部的DMA控制器可以獨立于CPU的操作而在一個周期內(nèi)進行2組數(shù)據(jù)傳送。表1列了郵TMS320VC5510的CPU內(nèi)部的12組總線。
TMS320VC5510中的程序空間和數(shù)據(jù)空間是分開的,數(shù)據(jù)讀和數(shù)據(jù)寫都有各自分開的地址總線,這種并行結(jié)構(gòu)允許CPU在一個周期內(nèi)進行讀和寫,因此,TMS320C55X的CPU處理速度很高。
3.2 CPU內(nèi)部的功能單元
指令緩站單元(I單元)的主要功能是將指令流從存儲器中取出并送入CPU。在每一個CPU周期中,指令緩沖單元都從32位的程序讀數(shù)據(jù)總線上取出4個字節(jié)的程序代碼,同時將已經(jīng)接收并存放在指令緩沖隊列(Instruction buffer queue)前端的最多6個字節(jié)程序代碼送入指令解碼控制器(Instruction decoder control)中進行解碼。指令解碼控制器將解碼信息送入P單元(程序流程單元)、A單元(地址數(shù)據(jù)流程單元)和D單元(數(shù)據(jù)處理單元)。
程序流程單元(P單元)用于控制指令執(zhí)行的次序。它內(nèi)部的程序地址發(fā)生器可產(chǎn)生從程序存儲器中取指令的地址。該單元還包括管理程序流水線的邏輯,4個狀態(tài)寄存器用于控制和監(jiān)視CPU的各個特性。在程序流程單元中,程序地址發(fā)生器產(chǎn)生24位地址。因為程序流程單元支持字節(jié)尋址方式,所以代碼存放在存儲器中無須進行對齊操作。24位的地址總線使TMS320C55X的尋址空間可達16M字節(jié)。程序流程單元還可控制分支、調(diào)用、重復和中斷等。
地址數(shù)據(jù)流程單元(A單元)用來產(chǎn)生對數(shù)據(jù)空間進行讀寫操作所需的地址。該單元包括所有產(chǎn)生2組數(shù)據(jù)寫地址總線和3組數(shù)據(jù)讀地址總線上 的地址所需的邏輯單元和寄存器。此外,在地址數(shù)據(jù)流程單元中還有一個16位的算術(shù)邏輯單元(ALU)。
數(shù)據(jù)計算單元(D單元)是TMS320VC5510中CPU的重要部分,DSP應用系統(tǒng)的大量數(shù)據(jù)在這個單元進行處理。在這個單元中,3組數(shù)據(jù)讀數(shù)據(jù)總線上的數(shù)據(jù)用作2個MAC器件的輸入或40位的算術(shù)邏輯單元的輸入。MAC器件運算的結(jié)果可以存放在4個40位的累加器中。數(shù)據(jù)計算單元的這種并行性將減少TMS320C55X在執(zhí)行信號處理算法時所需的周期數(shù)。TMS320C55X之所以比TMS320C54X的性能有很大的提高,其中關(guān)鍵的一點是TMS320C55X采用了并行的雙MAC結(jié)構(gòu),且每個MAC器件中均包括一個乘法器和一個專門的加法器,在單周期內(nèi),每一個MAC單元均可執(zhí)行17×17位的乘法運算和一個40位的加法運算。MAC單元的輸入是3組數(shù)據(jù)讀數(shù)據(jù)總線上的數(shù)據(jù),這3組數(shù)據(jù)一般是兩組數(shù)據(jù)流和一組常系數(shù)數(shù)據(jù)流。MAC運算結(jié)果可以存放在數(shù)據(jù)計算單元的40位累加器中。這種雙MAC結(jié)構(gòu)使TMS320C55X在進行信號處理時的性能得到很大的提高。
4 片內(nèi)存儲器
與TMS320C54X不同,TMS320VC5510支持統(tǒng)一編址,也就是程序和數(shù)據(jù)可以處在物理地址相同的空間。TMS320VC5510片內(nèi)存儲器的總空間為352k字節(jié)(176k字)。
4.1 片內(nèi)雙訪問RAM(DARAM)
TMS320VC5510的片內(nèi)DARAM共64k,位于片內(nèi)的000000H~00FFFFH空間,這64k的DARAM又分為8個部分,見表2。每一DARAM空間在一個機器周期內(nèi)可以被訪問2次,該訪問可以是2個讀操作,2個寫操作或1個讀及1個寫操作。通過內(nèi)部程序總線、數(shù)據(jù)總線和DMA總線可對DARAM進行訪問。
表1 TMS320C5510 CPU內(nèi)部總線
總線名稱 | 總線寬度 | 總線性質(zhì) | 功 能 |
BB | 16位 | 數(shù)據(jù)讀數(shù)據(jù)總線 (Data-Read Data Bus) | BB總線只能把數(shù)據(jù)送入數(shù)據(jù)處理單元(D單元),它的訂功能是連結(jié)存儲器和數(shù)據(jù)處理單元中的兩個乘積并累加單元(MAC) |
CB | 16位 | 數(shù)據(jù)讀數(shù)據(jù)總線 (Data-Read Data Bus) | CB總線上的數(shù)據(jù)可以送入程序流程單元(P單元)、數(shù)據(jù)處理單元(D單元)和地址數(shù)據(jù)流程單元(A單元)。指令如果同時讀取兩個操作數(shù),則CB和DB同時被使用 |
DB | 16位 | 數(shù)據(jù)讀數(shù)據(jù)總線 (Data-Read Data Bus) | DB總線上的數(shù)據(jù)可以送入程序流程單元(P單元)、數(shù)據(jù)處理單元(D單元)和地址數(shù)據(jù)流程單元(A單元)。指令如果同時讀取兩個操作數(shù),則CB和DB同時被使用,在只讀取一操作數(shù)的情況下,使用DB總線 |
BAB | 24位 | 數(shù)據(jù)讀地址總線 (Data-Read Address Bus) | BAB總線上的數(shù)據(jù)是由數(shù)據(jù)讀數(shù)據(jù)總線BB總線送入CPU的數(shù)據(jù)的地址 |
CAB | 24位 | 數(shù)據(jù)讀地址總線 (Data-Read Address Bus) | CAB總線上的數(shù)據(jù)是由數(shù)據(jù)讀數(shù)據(jù)總線CB總線送入CPU的數(shù)據(jù)的地址 |
DAB | 24位 | 數(shù)據(jù)讀地址總線 (Data-Read Address Bus) | DAB總線上的數(shù)據(jù)是由數(shù)據(jù)讀數(shù)據(jù)總線DB總線或者是DB和CB總線送入CPU的數(shù)據(jù)的地址 |
PB | 32位 | 程序讀數(shù)據(jù)總線 (Program-Read Data Bus) | 它的功能是將4字節(jié)的程序代碼送入指令緩沖單元(I單元),并在指令緩沖單元中將對指令進行解碼 |
PAB | 24位 | 程序讀地址總線 (Program-Read Address Bus | 該總線上數(shù)據(jù)是由PB總線上傳送到CPU的程序代碼的地址 |
EB | 16位 | 數(shù)據(jù)寫數(shù)據(jù)總線 (Data-Write Data Bus) | 數(shù)據(jù)寫數(shù)據(jù)總線的功能是將CPU內(nèi)部器件(如MAC單元)的數(shù)據(jù)寫入到存儲器空間或I/O空間 |
FB | 16位 | 數(shù)據(jù)寫數(shù)據(jù)總線 (Data-Write Data Bus) | 數(shù)據(jù)寫數(shù)據(jù)總線的功能是將CPU內(nèi)部器件(如MAC單元)的數(shù)據(jù)寫入到存儲器空間或I/O空間 |
EAB | 24位 | 數(shù)據(jù)寫地址總線 (Data-Write Address Bus) | 數(shù)據(jù)寫地址總線上的數(shù)據(jù)是由數(shù)據(jù)寫數(shù)據(jù)總線送入CPU的數(shù)據(jù)的地址 |
FAB | 24位 | 數(shù)據(jù)寫地址總線 (Data-Write Address Bus) | 數(shù)據(jù)寫地址總線上的數(shù)據(jù)是由數(shù)據(jù)寫數(shù)據(jù)總線送入CPU的數(shù)據(jù)的地址 |
表2 TMS320VC5510的片內(nèi)DARAM
片內(nèi)DARAM | 地址范圍 |
DARAM1 | 000000h~001FFFh |
DARAM2 | 002000h~003FFFh |
DARAM3 | 004000h~005FFFh |
DARAM4 | 006000h~007FFFh |
DARAM5 | 008000h~009FFFh |
DARAM6 | 00A000h~00BFFFh |
DARAM7 | 00C000h~00DFFFh |
DARAM8 | 00E000h~00FFFFh |
4.2 片內(nèi)單訪問RAM(SARAM)
TMS320VC5510的片內(nèi)SARAM共256k,位于片內(nèi)的010000H~04FFFFH空間,這256k的DARAM分為32個部分。每一個SARAM空間在一個機器周期內(nèi)可以被訪問1次,對SARAM的訪問是通過內(nèi)部程序總線、數(shù)據(jù)總線和DMA總線來實現(xiàn)的。
4.3 片內(nèi)ROM
片內(nèi)ROM共32k字節(jié),位于片內(nèi)的FF8000H~FFFFFFH空間。當DSP復位且MP/MC=0時,這32k字節(jié)ROM作為裝載用戶代碼的程序存儲器。當MP/MC=1時,在片的ROM被關(guān)閉,F(xiàn)F8000H~FFFFFFH的地址為外部存儲器所使用。MP/MC是狀態(tài)寄存器3(ST3)中的一位,該狀態(tài)位由BOOTM2、BOOTM1和BOOTM0引腳上的邏輯電平所決定。DSP復位時將對這3個引腳進行采樣,當且僅當這3個引腳的電平均為邏輯0時,MP/MC被置1,否則MP/MC置0。只有到下一次硬件復位時,這些引腳才被重新采樣。在程序中出現(xiàn)的軟復位并不影響MP/MC位,但是通過軟件可以設置或清除MP/MC位。ROM可以被程序總線、數(shù)據(jù)總線和DMA總線所訪問。圖3給出了TMS320VC5510的地址映射和存儲器分配狀態(tài)。
需要說明的是:圖3中給出的地址均為每一塊存儲器空間的起始地址。它的外部存儲器空間由不同的空間組成,具體使用哪一塊由片選信號CE0、CE1、CE2和CE3決定。外部空間存儲器類型可以是異步SRAM、異步EPROM、同步DRAM(SDRAM)和同步突發(fā)式SRAM(Synchronous Burst SRAM或SBSRAM)。
5 TMS320VC5510的片內(nèi)外設
TMS320VC5510的片內(nèi)外設包括外部存儲器接口(external memory interface,EMIF)、6通道DMA控制器、1個數(shù)字鎖相環(huán)、2個定時器、3個多通道緩沖串行口和8個可編程的通用I/O口。下面分別說明它們的工作過程。
5.1 外部存儲器接口(EMIF)
TMS320VC5510的EMIF在DSP內(nèi)核與外部存儲部件之間提供了一個無縫接口。表3給出了EMIF適用的存儲器類型及時間特性。對于每一種存儲器類型,EMIF均支持8位、16位和32位的讀或?qū)懖僮?。在對存儲器進行寫操作時,EMIF控制字節(jié)使能信號(Byte Enable)BE3~BE0以使數(shù)據(jù)總線執(zhí)行8位或16位的數(shù)據(jù)傳送。在對存儲器進行讀的時候,32位總線寬度的所有位都被用到。
表3 EMIF存儲器類型
類 型 | 存儲器 | EMIF時間特性 | 優(yōu) 點 |
異步(Asynchronous) | SRAM | 可編程 | 可以方便靈活地與各同時序類型的存儲器器件接口 |
ROM | |||
FLASH | |||
同步(Synchronous) | 同步突發(fā)式SRAM(SBSRAM) | 運行CPU時鐘頻率或CPU時鐘頻率的1/2 | 與高速存儲器接口進可保證足夠的吞吐量 |
同步DRAM(SDRAM) | 同上 | 可與高速高密度的SDRAM接口 |
CPU對EMIF的初始化是通過外設總線控制器(Peripheral Bus Controller)來實現(xiàn)的。EMIF可對CPU取指令、CPU訪問數(shù)據(jù)、片上的DMA控制器訪問數(shù)據(jù)三組內(nèi)部數(shù)據(jù)傳送請求進行服務。
EMIF對不同請求的響應優(yōu)先級是不同的,表4是EMIF對部分數(shù)據(jù)傳送請求的優(yōu)先級。
表4 EMIF服務的優(yōu)先級
優(yōu)先級 | 請 求 源 |
1(最高優(yōu)先級) | 外部(Exernal Hold) |
2 | 緊急刷新(Urgent Refresh) |
3 | 數(shù)據(jù)寫決線E BUS |
4 | 數(shù)據(jù)寫總線F BUS |
5 | 數(shù)據(jù)讀決D BUS |
6 | 數(shù)據(jù)讀總線C BUS |
7 | 程序讀總線P BUS |
8 | 高速緩沖存儲器Cache |
9 | DMA控制器 |
10(最低優(yōu)先級) | SDRAM刷新 |
5.2 DMA控制器
DMA(Direct Memory Access,數(shù)據(jù)直接存儲)控制器可以使數(shù)據(jù)在存儲器之間直接傳送而無需經(jīng)過CPU,這樣可進一步提高系統(tǒng)的速度,DMA控制器控制著數(shù)據(jù)在內(nèi)部存儲器、外部存儲器和外設之間的流入和流出。TMS320VC5510的DMA有6個通道,每個通道均工作在時分多路模式(Time Divesion Multiplexed fashion,TDM)。該DMA的主要功能如下:
●經(jīng)初始化后,DMA的操作獨立于CPU;
●6個通道可相互獨立地進行數(shù)據(jù)傳送;
●通道間有2組優(yōu)先組結(jié)構(gòu),優(yōu)先組可編程設置;
●數(shù)據(jù)可以以8位、16位和32位的寬度傳送;
●數(shù)據(jù)傳送可以被選定的事件所觸發(fā),這些事件包括緩沖串行口的接收和發(fā)送操作、定時器事件以及中斷等;
●當數(shù)據(jù)傳送完畢后,可以編程自動對通道設置寄存器重新裝載而無需CPU對這些寄存器另外重表設置;
●最大數(shù)據(jù)傳送率可達每時鐘周期2個16位數(shù)據(jù)。
5.3 數(shù)字鎖相環(huán)時鐘發(fā)生器
TMS320VC5510的CPU內(nèi)部集成了一個數(shù)字鎖相環(huán)(Digital Phase-Locked Loop)時鐘發(fā)生器,該時鐘發(fā)生器可以對輸入的時鐘信號進行分頻或倍頻以產(chǎn)生系統(tǒng)所需要的頻率。該時鐘發(fā)生器有旁路和鎖定兩種工作模式。
●旁路模式(Bypass mode)
在旁路模式下,DSP芯片上 的數(shù)字鎖相環(huán)被關(guān)閉,輸出的時鐘信號頻率可以與輸入時鐘信號相同或是輸入時鐘信號的二分頻或四分頻。這樣一來,系統(tǒng)的時鐘頻率被降低了,但同時也降低了系統(tǒng)的功耗。
●鎖定模式(Lock mode)
在鎖定模式下,數(shù)字鎖相環(huán)被使能,時鐘發(fā)生器提供一個與輸入?yún)⒖碱l率有關(guān)的鎖相環(huán)合成頻率。該合成頻率由倍頻系數(shù)和分頻系數(shù)所決定。倍頻系數(shù)的數(shù)值在2~31之間;分頻系數(shù)的數(shù)值可以是1、2、3或4。當鎖定模式被初始化時,時鐘發(fā)生器仍然在旁路模式工作一段時間,直到數(shù)字鎖相環(huán)對輸入頻率實現(xiàn)鎖定所再自動轉(zhuǎn)換為鎖定模式。在系統(tǒng)初使化時,時鐘發(fā)生器被設置成旁路模式。
5.4 定時器
TMS320VC5510內(nèi)含2個16位的軟件可編程定時器,該定時器可和一個4位的預定標器(前置分頻器)配合使用,因此TMS320VC5510定時器的動態(tài)范圍可達20位。在程序中應設置好定時器的工作模式、定時器長度及預定標器等數(shù)值后,定時器才開始工作。該定時器是一個減計數(shù)器,它可對CPU的時鐘信號進行計數(shù)。此時,它還可以對外部脈沖信號進行計數(shù)。當計數(shù)器減到0時會產(chǎn)生下列情況之一:
(1)向CPU或DMA控制器發(fā)出中斷信號。
(2)在TIN/TOU引腳輸出一個脈沖信號。
如果在程序中對定時器控制寄存器進行相應地設置,定時器可以重新加載以連續(xù)計數(shù)。
5.5 緩沖串行口和I/O口
TMS320VC5510上的多通道緩沖串行口是一個高速全雙工的串行口。與TMS320C54X的串行口很相似,該串行口可使DSP與系統(tǒng)中的其它器件進行通信,這些器件應用了系統(tǒng)中另外的DSP或編碼解碼器等。
另外,TMS320VC5510還提供一些通用的I/O口引腳。這些引腳不限于專用,它們能夠提代用于各種目的的輸入或輸出信號,通用I/O口(General Purpose I/O,GPIO)引腳可通過IODIR和IODATA兩個寄存器來設置。IODIR寄存器可決定每個通用I/O引腳是輸入還是輸出。IODATA寄存器可決定對每個引腳的數(shù)據(jù)讀或?qū)懙臓顟B(tài)。比如,當GPIO的某個引腳在IODIR寄存器中被設置成輸入時,該引腳上的狀態(tài)可以從IODATA寄存器的相應位讀出;當GPIO的某個引腳在IODIR寄存器中被設置成輸出時,IODATA寄存器中的相應位則可用來決定該GPIO引腳輸出的狀態(tài)。
6 結(jié)束語
基于最新TMS320C55X核的定點數(shù)字信號處理器TMS320VC5510具有比TMS320C54X更高的代碼執(zhí)行速率和更低的功耗。高度并行的結(jié)構(gòu)和增強的能耗管理使得TMS320V5510具有更高的性能和更快的處理速度,這些優(yōu)點將使TMS320VC5510在數(shù)字音樂播放器、移動電話和數(shù)字照機相等方面有著更廣泛的應用。
評論