帶ARM核的雙CPU數(shù)字信號處理器
摘要:主要介紹美國TI公司最新推出的定點數(shù)字信號處理器TMS320VC5470的結(jié)構(gòu)、功能及特性。對集成到該器件中的TMS320C54x數(shù)字信號處理器和ARM7TDMI RISC MCU及其兩者的連接分別作了介紹。對選用TMS320VC5470作為數(shù)字信號處理器構(gòu)建嵌入式系統(tǒng)有一定的參考價值。
本文引用地址:http://www.ex-cimer.com/article/242331.htm關(guān)鍵詞:TMS320VC5470 DSP MCU TMS320C54x ARM7TDMI
引言
TMS320VC5470(簡稱5470)是集成了基于TMS320C54x體系結(jié)構(gòu)的DSP子系統(tǒng)和基于ARM7TDMI核的RISC微控制器子系統(tǒng)的CPU定點數(shù)字信號處理器。它與以前的器件相比,提高了速度、降低了功耗,并且在很大程度上提高了編程靈活性,有利于對產(chǎn)品的軟硬件升級,用于實現(xiàn)具有特殊功能的產(chǎn)品。通過合理安排軟硬件資源,還可以節(jié)省投資,加速上市時間。
1 TMS320VC5470特性及功能框圖
*集成了1個TMS320C54x體系結(jié)構(gòu)的DSP和1個ARM7TDMI RISC MCU的雙CPU處理器;
*帶有72K×16位集成SRAM的16位低功耗DSP,速度可高達100MHz;
*用于DSP和MCU子系統(tǒng)的先進電源管理和低功耗模式;
*集成的DSP子系統(tǒng)外圍,包括2個高速的全雙工多通道緩沖串口McBSPs,使DSP核可以與編解碼器(CODEC)直接接口;具有6個獨立通道的DMA控制器;ARM端接口(port interface)為MCU子系統(tǒng)和DSP子系統(tǒng)的CPU之間進行有效的信息交換提供了2K×16位的共享存儲器接口;外存儲器接口EMIF(External Memory Interface);可以將外部總線周期擴展到14個機器周期的軟件可編程等待狀態(tài)生器;1個用于控制功能的軟件可編程的硬件定時器;可編程的鎖相環(huán)PLL時鐘發(fā)生器。
*帶有16K字節(jié)集成SRAM和仿真性能增強型的ARM7TDMI RISC微控制器核,使運行速度可高達47.5MHz;
*集成的MCU子系統(tǒng)外圍,包括通用異步收發(fā)器UART、支持SIR協(xié)議的UART/IrDA接口、串行外圍接SPI、36個通用I/O引腳、I2C接口、2個通用定時器、1個看門狗定時器、中斷處理器、支持Flash/SRAM/SDRAM/ROM的外部存儲接口、對MCU外圍靈活的時鐘管理、可編程的鎖相環(huán)時鐘發(fā)生器。
*基于片上掃描的仿真邏輯,DSP和MCU核的IEEE標準1149.1+(JTAG)邊界掃描邏輯;
*支持DSP和MCU核的基于掃描的仿真。
圖1為TMS320VC5470器件的功能框圖。此器件由DSP和MCU 2個子系統(tǒng)構(gòu)成。
2 DSP子系統(tǒng)功能介紹
DSP子系統(tǒng)是基于TMS320C54x、片上存儲器和外圍的,并且與其它的C54x產(chǎn)品代碼兼容。DSP子系統(tǒng)包括DSP CPU核、用于產(chǎn)生時鐘的鎖相環(huán)、與外部并行設(shè)備連接的接口、1個定時器、72K字的RAM、2個多通道緩沖串口、1個允許MCU訪問DSP子系統(tǒng)某部分存儲器映射的接口以及1個JTAG接口。
(1)DSP核
5470器件中DSP子系統(tǒng)的定點數(shù)字信號處理器(DSP)采用的是先進的改進型哈佛體系結(jié)構(gòu),其中有1條程序存儲器總線和3條數(shù)據(jù)存儲器總線。此處理器提供具有高度并行性的算術(shù)邏輯單元(ALU)、專用硬件邏輯、片上存儲器以及附加的片上外設(shè)。DSP操作的速度和靈活性的基礎(chǔ)是其高度專用性的指令集。
程序和數(shù)據(jù)空間的分離以及4條并行總線允許對程序的指令和數(shù)據(jù)進行同時訪問,每條總線訪問不同的存儲器空間以實現(xiàn)不同的DSP操作,從而提供了高度的并行性。在1個單周期中可以執(zhí)行2次讀操作和1次寫操作。并行存儲的指令和特定應用的指令可以完全利用這種結(jié)構(gòu)。另外,數(shù)據(jù)可以數(shù)據(jù)和程序空間之間進行傳輸。這種并行性保證了包含算術(shù)、邏輯和位運算的強大的操作指令集都可以在1個機器周期內(nèi)完成。DSP子系統(tǒng)還包含1個專門用于在線仿真的仿真端口,此端口直接被TI公司的擴展型開發(fā)系統(tǒng)(XDS)硬件仿真器訪問并提供仿真。除此之外,5470的DSP子系統(tǒng)還包括控制機制,用于管理重復操作、函數(shù)調(diào)用和DSP中斷。
(2)DSP存儲器
5470器件提供72K字的片上RAM如下:40K字的程序空間單邊訪問RAM(SARAM)、16K字的數(shù)據(jù)空間雙邊訪問RAM(DARAM)和16K字數(shù)據(jù)空間單邊訪問RAM(SARAM)。每一個DARAM塊可以在1個機器周期內(nèi)執(zhí)行2次DSP訪問。DSP子系統(tǒng)在1個機器周期內(nèi)還可以執(zhí)行對分離的存儲塊的多個訪問。在一次正常的復位之后,地址0x0000~0x7FFF之間的數(shù)據(jù)空間RAM塊只被映射為數(shù)據(jù)存儲空間,址0x06000~0x0FFFF之間的程序空間RAM塊只被映射為程序空間。DSP存儲器映射有2種模式:正常模式和API啟動模式。復位、中斷和陷阱向量均位于程序空間。當出現(xiàn)陷阱時,處理器將陷阱地址加載到程序計數(shù)器(PC),并從這個向量位置開始執(zhí)行代碼。器件復位后,復位、中斷和陷阱向量映射到程序空間的地址FF80h。然而這些向量可以通過加載中斷向量指針(IPTR)重新使之映射到程序空間中的任何128字頁面的開始地址。
(3)DSP寄存器
5470器件有27個寄存器映射的CPU寄存器(MMR),它們映射到地址為0H~1FH之間的數(shù)據(jù)存儲器空間。此器件還有1個與外圍相關(guān)的存儲器映射的寄存器組。
5470器件的分體切換控制寄存器BCSR(Bank-Switching Control Register)既控制著與5409類似的分體切換等待狀態(tài)的發(fā)生,也控制著5470的一些特性。分體切換等待狀態(tài),指DSP子系統(tǒng)交叉訪問程序或數(shù)據(jù)存儲器空間內(nèi)的存儲器分體邊界時,自動插入1個周期。當交叉訪問數(shù)據(jù)空間和程序空間的邊界時,也會自動插入1個分體切換等待狀態(tài)。BSCR所控制的5470的特性包括對一些DSP子系統(tǒng)外存儲器接口功能配置的控制,以及一些有關(guān)MCU可以用來訪問DSP子系統(tǒng)某RAM部分接口的內(nèi)容。BSCR寄存器還為DSP提供了些對ARM編程接口的控制,這一機制使得MCU可以訪問數(shù)字信號處理器的內(nèi)部RAM部分。此外,還包括對API模式(APIMODE位)、1個MCU中斷(HINT位)、DSP存儲器映射選擇(ABMDIS位)的控制。圖2給出了BSCR寄存器的位結(jié)構(gòu),表1列出了各字段的功能。
表1 分體切換控制寄存器位字段的功能
字段名 | 復位值 | 功 能 |
BNKCMP | 1111 | 分體比較 |
PS-DS | 1 | 程序讀-數(shù)據(jù)讀訪問 |
Reserved | 0 | 保留 |
ARMDIS | 0 | ARM啟動模式禁止 |
HINT | 0 | 主處理器中斷 |
APIMODE | 0 | HOM/SAM使能 |
EXIO | 0 | 外部線接口關(guān)閉 |
(4)DSP外圍
DSP子系統(tǒng)提供了與5409類似的高速全雙工串口——2個多通道緩沖串口(McBSPs)。它們允許與其它的54x設(shè)備、編解碼器及系統(tǒng)中的其它設(shè)備進行直接接口。
DSP子系統(tǒng)包括1個6通道的DMA控制器,用于執(zhí)行獨立的數(shù)據(jù)傳輸。在DMA控制器進行DMA傳輸時有幾點限制;第1,DMA控制器能訪問通常在程序空間的RAM,不能訪問在MCU子系統(tǒng)中執(zhí)行的RAM,不能訪問在DSP數(shù)據(jù)空間與API接口連接的RAM;第2,DMA控制器不能在McBSP DRR和DXR寄存器之間進行數(shù)據(jù)傳輸,不能在McBSP DRR或DXR寄存器與外部資源之間進行數(shù)據(jù)傳輸;第3,DMA控制器不能對外部資源進行32位的訪問。
MCU和DSP之間通過片上共享的API存儲器進行信息交換。API存儲器是一個8K×16位字的DARAM(Dual-Access RAM)塊。API存儲器還可以被DSP用作通用數(shù)據(jù)或程序DARAM。在這個電路中,只有DSP存儲器有DARAM。API通過分體切換控制寄存器可以選擇兩種操作模式之一:共享訪問模式SAM(Shared-Access Mode)和主機模式HOM(Host-Only Mode)。在SAM模式下,DSP和MCU都可以訪問API存儲器。來自MCU的異步主機訪問在內(nèi)部被重新同步。如果DSP和MCU試圖在同一時間進行訪問操作,那么MCU進行優(yōu)先訪問,而DSP則等待1個周期。當DSP處于IDLE1模式時,SAM可以運行。在HOM模式下,只有MCU可以訪問API存儲器,對于DSP則禁止讀訪問。當DSP從一個復位相退出時,缺省配置是SAM模式。當DSP處于正常操作模式或IDLE1模式時,通常選擇SAM模式;當DSP處于IDLE2或IDLE3模式時,通常選擇HOM模式。
(5)DSP電源管理
DSP子系統(tǒng)具有3種省電模式,分別由IDLE1、IDLE2和IDLE3指令激活。在這種3種模式下,C54x DSP核進入睡眠狀態(tài),從而與正常模式相比大大降低了功耗。這3種模式的區(qū)別于對芯片內(nèi)部模塊的關(guān)閉程序及喚醒方式不同。在IDLE1模式下,關(guān)閉除DSP系統(tǒng)時鐘以外的所DSP活動。因為系統(tǒng)時鐘要用于DSP子系統(tǒng)外圍模式,所以DSP外圍電路能夠繼續(xù)工作。這樣,外圍(例如串口和定時器)則可以命名DSP離開省電狀態(tài)。在IDLE2模式下,同時關(guān)閉DSP子系統(tǒng)的外圍及DSP核,但是DSP子系統(tǒng)的鎖相環(huán)(PLL)時鐘放大器則仍將保持活動狀態(tài)以便可以從IDLE2狀態(tài)快速恢復。由于DSP子系統(tǒng)的外圍在這種模式下被關(guān)閉,它們不能像IDLE1那樣通過產(chǎn)生中斷來喚醒C54x。然而,由于外圍的完全關(guān)閉使功耗大大地降低了。為了終止IDLE2,可以通過復位或激活中斷0來實現(xiàn)。IDLE3模式與IDLE2模式類似,只不過它還將關(guān)閉鎖相環(huán)(PLL)電路。IDLE3用于獲得最小可能的DSP功耗。另外,如果系統(tǒng)要求C54x運行在較低的速度下以節(jié)省功耗,那么IDLE3狀態(tài)允許外部重新配置DSP PLL。與IDLE3一樣,通過復位或激活斷0可以終止IDLE3。
3 MCU子系統(tǒng)功能介紹
5470 MCU子系統(tǒng)包括TI公司的增加了仿真特性的ARM7TDMI微處理器核以及一些外圍,包括SPI和I2C接口、通用異步收發(fā)器、定時器、通用輸入/輸出接口和外部存儲器接口。MCU子系統(tǒng)提供4K×32位的通用RAM和4K×32位的太網(wǎng)包RAM。
(1)MCU核
MCU子系統(tǒng)使用TI公司的增加了仿真特性的ARM7TDMIE核,它是ARM公司ARM7TDMI核的一種衍生品。ARM7TDMI處理器核是ARM7 Thumb家庭中的一種,是一種低功耗3的32位RISC處理器,并且組合了Thumb 16位的壓縮指令集。這種微處理器可以通過執(zhí)行中2位或16位指令來處理32位、16位或8位數(shù)據(jù)。由于引入Thumb而獲得的卓越的代碼密度,可以降低對存儲器大小的需求,并且可以從16位寬的存儲器獲得32位的系統(tǒng)性能,從而降低了系統(tǒng)的成本。
MCU存儲器空間包括內(nèi)部RAM、內(nèi)部外圍、用于訪問外存儲器和外區(qū)域以及外部SDRAM。
(2)MCU存儲器接口
MCU存儲器接口通過1條32位寬的數(shù)據(jù)總線使MCU與內(nèi)部及外部的存儲器和外部設(shè)備連接。這條總線支持MCU訪問8位、16位和32位的數(shù)據(jù)。所有的外圍控制寄存器均為32位,因此只能使用32位的操作進行訪問。
MCU存儲器接口允許端配置,以便保證所有的外部設(shè)備工作在同樣的端模式下。MCU存儲器接口還提供對外部訪問的管理,所支持的外部設(shè)備包括ROM(Flash)、SRAM和SDRAM。外部數(shù)據(jù)部線是一種32位的雙向總線。MCU對內(nèi)部外圍和內(nèi)部存儲器的訪問通常在0等待狀態(tài)執(zhí)行。SDRAM刷新周期使任何MCU訪問發(fā)生延遲。MCU對外部SDRAM存儲器訪問的定時由SDRAM接口寄存器控制。
API接口用于MCU對DSP存儲器中的某一小部分進行訪問,它提供了一條通向DSP子系統(tǒng)中的API RAM的16位數(shù)據(jù)通路。所有的32位事務被分成2個16位的API事務。API接口支持向連續(xù)的訪問操作之間可編程地插入等待狀態(tài),以保證MCU子系統(tǒng)和DSP子系統(tǒng)之間的信號同步。
(3)MCU外圍
5470MCU子系統(tǒng)的外圍主要包括通用異步收發(fā)器(UART)接口、串行外圍接口(SPI)、通用I/O口、I2C接口、定時器和中斷控制器。
UART模塊通過2個64位深的先進先出堆棧對處理器接收到的字符數(shù)據(jù)執(zhí)行從串行到并行的轉(zhuǎn)換,并對處理器傳輸?shù)淖址麛?shù)據(jù)執(zhí)行從并行到串行的轉(zhuǎn)換。SPI是一個雙向的3路接口,用于為從或向外部設(shè)備進行的數(shù)據(jù)傳輸提供一個3路串行接口。這個串口完全由MCU存儲器接口控制。它是基于一個循環(huán)移位寄存器的,允許2種傳輸模式,即并行輸入、串行輸出和串行輸入、并行輸出。54703提供36個通用I/O口(GPIO),它們可以通過內(nèi)部寄存器配置成讀或?qū)懩J?。這些GPIO被分成2組:GPIO(19:0)和KBGPIO(15:0)。KBGPIO是鍵盤GPIO引腳,它們當中有些具有內(nèi)部上拉電阻,但其進行的操作與GPIO(19:0)引腳類似。主I2C接口模塊為MCU子系統(tǒng)總線和I2C引腳之間提供了1個接口,它允許MCU控制與I2C引腳連接的外部設(shè)備。I2C接口實際上一是個并行到串行和串行到并行的轉(zhuǎn)換器。從MCU接收的并行數(shù)據(jù)必須在I2C總線上轉(zhuǎn)換為適當?shù)拇懈袷絺鬏斀o外部設(shè)備,從I2C總線上接收的串行數(shù)據(jù)必須轉(zhuǎn)換為適當?shù)牟⑿懈袷絺鬏斀oMCU。5470 MCU子系統(tǒng)包括3個16位的定時器,它們可被配置為“自動加載”或“倒計數(shù)器0并停止”2種模式。當定時器計數(shù)到0時,向MCU產(chǎn)生1個中斷。定時器0可被配置為看門狗定時器或通用定時器,定時器1和時器2為通用定時器??撮T狗定時器在倒計數(shù)為0時復位MCU子系統(tǒng),以避免用戶程序被死循環(huán)阻塞而使程序失去控制。MCU子系統(tǒng)的中斷控制器對MCU子系統(tǒng)的16個中斷源(IRQ0~15)進行優(yōu)先權(quán)和屏蔽控制。它還可以將這些中斷劃分為MCU的2種中斷輸入:nIRQ(低優(yōu)先級中斷請求)和nFIQ(快速中斷請求)。它既可以從內(nèi)部模塊也可以從外部的芯片環(huán)境中接收中斷。外部中斷可以通過GPIO和/或KBGPIO引腳提供。
(4)MCU的省電模式
MCU及其子系統(tǒng)外圍可以通過設(shè)置CLKM_BER和WAKEUP_REG2個寄存器的適當位被關(guān)閉和喚醒。在MCU關(guān)閉之間,由軟件來負責將ARM_CLOCK設(shè)置為旁路或低頻模式。由來自某外圍的第1個中斷將MCU喚醒。
(5)MCU外部時鐘管理
5470器件由外圍時鐘輸入信號REFCLK提供時鐘定時。5470 REFCLK輸入不提供時鐘振蕩器。所以它必須由遇到VIH和VIL請求的方形波輸入信號來驅(qū)動。DSP和MCU子系統(tǒng)的時鐘都是通過使用鎖相環(huán)由REFCLK衍生的。復位或加電之后,2個子系統(tǒng)中各自CLKMD寄存器內(nèi)容由各自鎖相環(huán)上可編程內(nèi)部端口的狀態(tài)決定。對于MCU子系統(tǒng),這些內(nèi)部端口是硬連線的,所以缺省模式下的可編程性能是不可用的。對于DSP子系統(tǒng),DSP PLL的可編程內(nèi)部端口與寄存器DSP_REG的輸出相連接,此寄存器由RISC處理器控制。這樣在MCU子系統(tǒng)的控制下,DSP PLL的缺省值則允許為可編程的。圖3為時鐘管理模塊框圖。
(6)初始化
RESET是復位DSP和MCU子系統(tǒng)的主復位輸入。RESET_OUT信號在MCU的控制下可用于復位外部設(shè)備。當MCU子系統(tǒng)被復位時,MCU程序計數(shù)器從地址0x00000000開始執(zhí)行;當DSP子系統(tǒng)被復位時,DSP程序計數(shù)器從地址0xFF80開始執(zhí)行。每一個MCU子系統(tǒng)外圍可以通過MCU子系統(tǒng)寄存器RESET_REG的控制位被獨立地復位。缺省情況下,只要MCU子系統(tǒng)復位一被激活,這些位就被置位,從而使所有的MCU子系統(tǒng)外圍處于活動狀態(tài)。
5470提供了靈活的仿真性能。它既支持TI公司的仿真工具,也支持第三方公司開發(fā)的工具。由于這些仿真工具可能既識別C54x DSP核也識別ARM7TDMIE核,也可能只識別C54x DSP核,或只識別ARM7TDMIE核,或只識別ARM7TDMI核,因此需要多種仿真模式。為了允許對各種仿真器使用的內(nèi)部JTAG鏈進行配置,5470在TRST的上升沿對EMU1和EMU0引腳進行取樣。根據(jù)這些引腳的值,內(nèi)部掃描鏈被配置成不同的仿真模式。
結(jié)束語
自20世紀80年代數(shù)字信號處理器進入市場以來,在社會各個領(lǐng)域得到了迅速廣泛的展。從通信、網(wǎng)絡、雷達等領(lǐng)域到馬達控制、數(shù)碼相機、助聽器領(lǐng)域都在使用數(shù)字信號處理器。由于TI公司最新推出的雙核定點數(shù)字信號處理器TMS320VC5470具有雙CPU、功耗小、速度快等特點,為數(shù)字信號處理領(lǐng)域提供了一種更先進的可選器件。希望通過本文的介紹,可以使硬件或軟件工程師在選用此器件進行應用開發(fā)方面有所幫助。
評論