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