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