




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
DSP原理及應用
第一章
緒論第一章
緒論
1.1數字信號處理概述1.2DSP芯片1.3DSP系統1.4實驗和程序實例1.1數字信號處理概述1.1DSP(數字信號處理)簡介
算法研究數字信號處理的實現
1、利用X86處理器完成
2、利用通用微處理器3、利用可編程邏輯陣列(FPGA)
4、利用數字信號處理器
數字信號處理器是具有特定處理單元的、專門用于實時實現各種數字信號處理算法的微處理器。
1.2DSP芯片1.2.1.DSP芯片的發展概況1、第一階段:DSP的雛形階段(1980年前后)
20世紀70年代末第一個DSP芯片誕生。
1982年TI公司
第一款商用數字信號處理器。
單指令周期200∽250ns
2、第二階段:DSP的成熟階段(1990年前后)
20世紀80年代中期第二代CMOS工藝的DSP芯片TMS320C2x系列
隨后,第三代DSP芯片TMS320C30/C31/C32,
第四代DSP芯片TMS320C40/C44等
第五代DSP芯片TMS320C5000系列,
單指令周期為80-100ns。
3、第三階段:DSP的完善階段(2000年以后)
第六代DSP芯片TMS320C6000系列。當前運算速度最快
單指令周期可達10ns
左右
1.2DSP芯片1.2.1.DSP芯片的發展概況4、DSP的發展趨勢(1)DSP的內核結構將進步改善
(2)運算速度更快、運算精度更高、動態范圍更大(3)DSP與MPU、CPU的融合(4)DSP和SOC的融合(5)DSP和FPGA的融合(6)實時操作系統RTOS與DSP的結合(7)DSP的并行處理結構(8)功耗越來越低(9)開發工具1.2.2.DSP芯片的特點(1)存儲器采用哈佛結構微處理器的存儲器結構主要有馮·諾依曼(VonNeumann)結構和哈佛(Harvard)結構兩類。
馮·諾依曼(VonNeumann)結構,只有一個存儲器空間、一套地址總線和一套數據總線,程序和數據都存放到這個存儲器空間,且統一分配存儲地址。因此執行運算時,處理器必須分時訪問程序和數據空間。
圖1-1馮·諾依曼1.2DSP芯片
哈佛(Harvard)結構,程序存儲器和數據存儲器分開,每個存儲器都有獨立的地址總線和數據總線,可同時從程序存儲器取指令和從數據存儲器取操作數,從而實現并行工作,提高運算速度。圖1-2哈佛結構1.2DSP芯片(2)多通路、多總線結構
DSP芯片都采用多總線結構,可同時進行取指令和多個數據存取操作,使CPU在一個機器周期內可多次對程序空間和數據空間進行訪問,大大提高了DSP的運行速度1.2DSP芯片(3)流水線操作
流水線(Pipeline)操作是將指令的執行分解為預取指(Prefetch)、取指(Fetch)、譯碼(Decode)、尋址(Access)、取數(Read)、執行(Execute)等幾個階段。如圖所示。在TMS320C64x+DSP中,每個周期內可執行8條指令。圖1-3流水線操作示意圖1.2DSP芯片(4)獨立的硬件乘法累加單元
由于數字信號處理任務中,都包含有大量重復的乘法和累加操作,通用處理器的乘法運算使用軟件進行移位或加法來實現,需要若干個機器周期,而DSP處理器使用專門的硬件乘法器,并使用累加器來處理多個乘積的累加,即通過DSP指令集中的MAC指令實現單周期乘加運算,從而有效提高了數字信號處理的速度。(5)具有特殊的DSP指令1.2DSP芯片(6)獨立的DMA總線和控制器DSP處理器中設置了獨立的DMA總線和控制器,通過與CPU的程序總線和數據總線并行工作,使得在數據傳輸時不影響CPU及其總線的工作,從而提高數據吞吐率,加快信號處理速度,如TMS320C64x中使用了64個獨立通道的增強型DMA(EDMA)總線及控制器。1.2DSP芯片(7)硬件配置強新一代DSP芯片集成了眾多類型的硬件設備,包括定時器、串行口、并行口、主機接口(HPI)、DMA控制器、等待狀態發生器、中斷處理器、PLL時鐘產生器、JTAG標準測試接口、ROM、RAM及FLASH等,從而提高了DSP的處理速度、降低了系統功耗,簡化了接口設計、方便了多處理器擴展,非常適于嵌入式便攜數字設備應用。(8)支持多處理器結構支持多處理器結構,可以實現完成巨大運算量的多處理器系統,即將算法劃分給多個處理器,借助高速通信接口來實現計算任務并行處理的多處理器陣列1.2DSP芯片1.2.3.DSP的分類DSP芯片可以按照基礎特性(工作時鐘或指令類型)、用途、數據格式進行分類。基礎特性(工作時鐘或指令類型):靜態DSP:在一定時鐘頻率范圍內的任何頻率上都能正常工作。一致性DSP:對于兩種或兩種以上DSP芯片,其指令集和相應機器代碼及管腳結構相互兼容。用途:通用型DSP:可用指令編程的DSP芯片,通過編程可實現復雜的數字信號處理算法,具有較強處理能力。專用型DSP:為特定DSP運算而設計,針對某一應用算法,由內部硬件電路實現,適于數字濾波、FFT、卷積等特殊運算。1.2DSP芯片數據格式:定點DSP:以定點數據格式工作,大多數定點DSP芯片采用16位定點運算。浮點DSP:以浮點數據格式工作,浮點格式包括自定義浮點格式和IEEE標準浮點格式。1.2DSP芯片數據格式:定點DSP:以定點數據格式工作,大多數定點DSP芯片采用16位定點運算。浮點DSP:以浮點數據格式工作,浮點格式包括自定義浮點格式和IEEE標準浮點格式。1.2DSP芯片1.2DSP芯片1.2.4TI公司的DSP芯片
1982年,TI推出TMS32010——第一款商用定點DSP,TMS320系列擁有多款16位和32位定點/浮點DSP,C1x、C2x、C2xx、C5x、C54x、C55x、C6x、C62x、C64x系列為定點DSP,C3x、C4x、C67x系列為浮點DSP,C8x系列為多處理器模式DSP。其每代定點/浮點DSP的源代碼均向上兼容。
TMS320系列DSP主要由三大支撐平臺構成,包括:TMS320C2000(主要用于包括電機控制等的系統控制優化領域)TMS320C5000(主要用于便攜式、低功耗消費電子產品)TMS320C6000(主要用于高速信號處理及高性能圖像、
視頻處理領域)1.2DSP芯片1.3.1DSP系統的構成1.3實時DSP系統設計1.3.2
DSP系統的設計流程1.3實時DSP系統設計1.3.3
算法開發1.3.4
DSP芯片的選擇(1)速度(2)價格(3)硬件資源(4)運算精度(5)芯片的功耗1.3實時DSP系統設計1.3.5DSP技術的應用
(1)信號處理:濾波,FFT,(2)通信:調制解調,自適應濾波(3)語音:語音編碼,語音合成(4)圖形圖像:圖像增強,圖像處理,(5)軍事:雷達,制導(6)儀器儀表:頻譜分析,數據采集(7)自動控制:發動機控制(8)醫療工程:醫療設備(9)家用電器:音響,機頂盒(10)計算機1.3實時DSP系統設計(1)Matlab完成抽樣定理的驗證(2)使用ICETEK-DM6437實驗箱完成抽樣定理的驗證
參照實驗Lab0406-Nyquist指導書相關內容完成實驗1.4實驗和程序實例本章小結
本章作為DSP的緒論,對DSP基本知識、DSP芯片的特點及發展現狀和趨勢做了簡要介紹;然后比較詳細地介紹了DSP系統的基本特征和設計過程;最后對TI公司的DSP芯片進行了簡單的介紹。通過本章的學習,對數字信號處理數本知識、DSP芯片、DSP系統和DSP的產品有所熟悉和了解,為后續內容的學習奠定一定的基礎。DSP原理及應用
第二章:TMS320DM6437的硬件結構第二章TMS320DM6437的硬件結構
2.1TMS320DM6437的基本結構2.2TMS320DM6437CPU結構2.3片內存儲器及數據訪問2.4實驗和程序實例TMS320DM6437采用TMS320C64x+DSP內核,32位定點處理器,工作頻率可達700MHz,處理速度最高可達5600MIPS。TMS320DM6437具有64個32位通用寄存器和8個獨立計算功能單元,這些功能單元包括2個用于存儲32位結果的乘法器和6個算術邏輯單元(ALU)。TMS320DM6437的內核采用TI開發的第三代高性能支持超長指令字(VLIW)的VelociTI.2結構。圖2-1TMS320DM6437DSP硬件結構框圖TMS320DM6437采用2級Cache存儲結構,片上有32KBRAM/Cache可配置的1級程序存儲器L1P,48KBRAM+32KBRAM/Cache可配置的1級數據存儲器L1D和128KBRAM/Cache可配置的2級程序/數據存儲器L2,存儲器體系結構比較靈活。此外,TMS320DM6437還集成了片上ROMBootloader、兼容的JTAG接口、靈活的OSC/PLL時鐘發生器、獨立的節電模式等。
TMS320DM6437硬件結構的另一特點是包含了一個視頻處理子系統(VPSS),它分為2部分:一部分是視頻處理前端輸入部分(VPFE),由CCD控制器、預覽器、柱狀顯示模塊、自動曝光/白平衡/聚焦模塊和縮放模塊組成,用于視頻采集;另一部分是視頻處理后端輸出部分(VPBE),由屏幕顯示設備和視頻編解碼組成,這增強了TMS320DM6437的視頻處理能力。
TMS320DM6437集成了豐富的片內外設,包括以下4部分。(1)系統外設:包括2個64位通用定時器、1個64位看門狗定時器、3個脈沖寬度調制(PWM)和111個通用輸入/輸出引腳(GPIO),每個通用定時器可分別配置成2個獨立的32位定時器。(2)多種接口:包括多通道音頻串口(McASP)、2個多路緩沖串口(McBSP)、1個I2C總線接口、高端控制器局域網(CAN)控制器(HECC)及2個通用異步收發器(UART)接口。(3)連接器:包括1個外圍設備互連接口(PCI)(33MHz)、4個收發VLYNQ(FPGA)接口、10/100Mbps以太網媒體存取控制器(EMAC)及1個可編程的16位主機接口(HPI)。(4)外部存儲器接口:包括1個用于32位DDR2SDRAM高速存儲控制器接口,具有256MB尋址空間,1個8位異步外部存儲器接口(EMIFA),具有64MB尋址空間,如與NORFlash或NANDFlash存儲器相連,用于低速率的存儲器或外部設備接口。CPU的組成
TMS320DM6437的CPU主要包括以下幾個部分●程序取指單元;●指令分配單元;●指令譯碼單元;●2個數據通路A和B●64個32位寄存器;●控制寄存器組;●控制邏輯、測試、仿真及中斷邏輯。
圖2-2TMS320DM6437的CPU結構2.2.1.CPU通用寄存器組每個通用寄存器組包含32個32位寄存器,如下表所示,這些寄存器可用于數據、數據地址指針或狀態寄存器。
表2-1控制寄存器組個字段功能通用寄存器組支持數據范圍大小從封裝的(packed)8位到64位定點,其值大于32位的,如40位和64位,被存儲到寄存器對中,即低32位數據存放到偶數序列寄存器中、剩余的高8位或高32位存放到緊挨的下一個奇數序列寄存器中。寄存器名間的冒號表示寄存器對,奇數序列的寄存器首先被指定。
下圖顯示了40位長數據的寄存器存儲方法,一個長整型數輸入的操作將忽略奇寄存器中的高24位,即奇寄存器中的高24位自動補0,偶寄存器以操作碼方式進行編碼。圖2-340位數據在寄存器對中的存儲方法2.2.2TMS320DM6437CPU控制寄存器組1、用戶可以通過控制寄存器組來選用CPU的部分功能。下表列出了C62xx/C64xx/C67共有的控制寄存器組,并對每個控制寄存器做了簡單描述。
表2-2控制寄存器組個字段功能縮寫寄存器名稱描述AMR尋址模式寄存器分別指定8個寄存器的尋址模式(線性尋址或循環尋址),也包括循環尋址的大小CSR空置狀態寄存器包含全局中斷使能定位,高速緩存控制位及其他控制和狀態位IFR中斷標志寄存器顯示中斷狀態ISR中斷設置寄存器允許手動設置掛起的中斷ICR中斷清除寄存器允許手動清除掛起的中斷IER中斷使能寄存器允許使能/禁止單個中斷ISTP中斷服務表指針指向中斷服務表的起點IRP中斷返回指針含有從可屏蔽中斷返回的地址NRP非可屏蔽中斷返回指針含有從非可屏蔽中斷返回的地址PCE1程序計數器,E1街拍含有E1街拍中獲取包的地址2.2TMS320DM6437CPU結構
2、CPU狀態控制寄存器
狀態控制寄存器(CSR)包含控制位和狀態位,如圖2-4所示。表2-3詳細說明了各狀態位的功能。圖2-4狀態控制寄存器(CSR)
表2-3控制狀態寄存器(CSR)域描述在TMS320C64x+CPU中,PCC和DCC域被忽略。CSR的位15-10為PWRD域,用于節電和喚醒模式,如圖2-5所示。圖2-5狀態控制寄存器中的PWRD域2.2.3TMS320DM6437的CPU數據通路TMS320DM6437CPU包含2條數據通路(A和B),如圖2-6所示,其組成包括:2個通用寄存器組(A和B)、8個功能單元(.L1、.L2、.S1、.S2、.M1、.M2、.D1和.D2)、2個存儲器加載數據通路(L1D和L2D)、2個存儲器保存數據通路(ST1和ST2)、2個數據地址通路(DA1和DA2)和2個寄存器數據交叉通路(1X和2X)。圖2-6CPU的數據通路TMS320DM6437CPU數據通路的功能單元功能單元定點操作.L單元(.L1、.L2)32/40位算術和比較運算32位邏輯運算32位數最左邊1或0計數32位和40位數的歸一化計算字節移位數據壓縮/解壓5位常數生成雙16位算術運算4個8位算術運算雙16位最小/最大運算4個8位最小/最大.S單元(.S1、.S2)32位算術運算32/40位移位運算和32位位操作32位邏輯運算分支操作常數生成寄存器與控制寄存器間傳送(僅限.S2)字節移位數據壓縮/解壓雙16位比較運算4個8位比較運算雙16位移位運算雙16位飽和算術運算4個8位飽和算術運算.M單元(.M1、.M2)32×32位乘法運算16×16位乘法運算16×32位乘法運算4個8×8位乘法運算雙16×16位乘法運算雙16×16位乘、加/減運算4個8×8位乘、加運算位擴展運算位交錯/去交錯運算變量移位運算反轉有限域(GaloisField)乘法運算.D單元(.D1、.D2)32位加、減、線性和循環地址計算5位15位常數偏移的加載和保存(僅限.D2)帶5位常數雙字的加載和保存非定向字和雙字的加載和保存5位常數生成32位邏輯運算2.3.1、片內存儲器結構
TMS320DM6437片內存儲器是一個兩級緩存結構,如圖2-7所示。圖2-7存儲空間兩級緩存結構第一級L1包含了程序緩存區L1P(32KB)和數據緩存區L1D(80KB)兩個獨立的高速緩存模塊,這體現了程序與數據分開存儲的哈佛結構,提高了DSP的并行運行效率,L1能與DSP內核直接進行數據交換。第二級程序/數據緩沖區L2(128KB)不能與DSP內核直接交換數據,L2可以整體作為SRAM映射到存儲空間,或者整體作為第二級Cache,或者配置成SRAM和Cache混合使用,其中配置成RAM的部分從起始地址Ox00000000開始編址,并且可被直接尋址,而配置成Cache的部分其容量必須是0KB、32KB、64KB或128KB。
TMS320DM6437在進行數據訪問時:(1)查看L1中是否有該數據存在,若L1中存在該數據,則直接從L1讀寫數據;(2)若L1沒有存儲該數據,則訪問二級緩存L2;(3)若L2也沒有緩存數據,則通過EMIF接口訪問外部SDRAM,把數據從外部SDRAM拷貝到L2緩存區,再從L2緩存區拷貝到L1,最后由TMS320DM6437從L1讀寫該數據。2.3.2、存儲器空間分配要充分利用片內+片外三級存儲器結構,必須提高DSP內核讀取數據時的命中率,對Cache大小進行配置的原則是將盡量多的關鍵數據分配在片內,Cache越大越好,對于不同的應用需要用不同的配置。最優配置需要在開發中根據經驗和實際測試結果進行選擇。起始地址結束地址大小/KB存儲器映射0x008000000x0080FFFF128L2RAM/Cache0x00E000000x00E0FFFF32L1PRAM/Cache0x00F040000x00F0FFFF48L1DRAM0x00F100000x00F1FFFF32L1DRAM/Cache0x108100000x1081FFFF128L2RAM/Cache0x10E000000x10E0FFFF32L1PRAM/Cache0x10F040000x10F0FFFF48L1DRAM0x10F100000x10F1FFFF32L1DRAM/Cache2.3.3一級片內程序存儲器片內程序存儲器L1P(Level1programmemoryandcache)的主要功能是最大化代碼執行的性能,L1P的可配置性提高了系統靈活性,其配置成cache的容量支持0K、4K、8K、16K和32K。
L1P存儲器最大可支持1MB的RAM和ROM,存儲空間可分割成2個區域,每個區域不大于512KB。L1P存儲器的基址被約束在1MB范圍內,其總的大小必須是16KB的倍數。L1P存儲器被分割成2個區域,表示為L1P區域0和L1P區域1,它們的主要特點是:(1)每個區域有不同數量的等待狀態(2)每個區域有單獨的存儲保護條目。CPU中含有一個內部控制寄存器——控制狀態寄存器(CSR),它為cache控制操作規定了一個字段(PCC),從而為C64x+/C64x/C62x/C67x設備提供反相兼容。L1P配置寄存器(L1PCFG)控制L1Pcache的大小,如圖2-7和表2-5所示。圖2-7L1P配置寄存器(L1PCFG)
表2-5L1P配置寄存器(L1PCFG)字段描述
L1Pcache控制寄存器(L1PCC)控制L1P是否為凍結模式,如圖2-8和表2-6所示。圖2-8LIPcache控制寄存器(L1PCC)表2-6LIPcache控制寄存器(L1PCC)字段描述L1P無效基址寄存器(L1PIBAR)定義了一致性操作作用的無效塊的基址,如圖2-9和表2-7所示。圖2-9L1P無效基址寄存器(L1PIBAR)表2-7L1P無效基址寄存器(L1PIBAR)字段描述L1P無效字計數寄存器(L1PIWC)定義了一致性操作作用的無效塊的大小,如圖2-10和表2-8所示。圖2-10L1P無效字計數寄存器(L1PIWC)表2-8L1P無效字計數寄存器(L1PIWC)字段描述L1P無效寄存器(L1PINV)控制L1Pcache的全局無效,如圖2-11和表2-9所示。表2-9L1P無效寄存器(L1PINV)字段描述圖2-11L1P無效寄存器(L1PINV)L1Pcache是直接映射緩存,這意味著系統的每一個物理內存單元在cache中都保留一個可能的位置,當CPU試圖取一段程序代碼時,L1P必須檢查是否在L1Pcache中保留了需要的地址。為此,CPU提供的32位地址被分割成3個字段(tag、set和offset),如圖2-12所示。圖2-12數據存取地址結構偏置(Offset)字段占用了32位L1Pline的前5位,其被cache控制邏輯忽略。設置(Set)字段指明L1Pcacheline的地址,其緩存數據將被保留,設置字段的寬度取決于L1P配置成cache的數量。L1P使用設置字段來查找和檢查任意已緩存數據的標簽(Tag)和有效位,這反映了標簽地址是否真正是cache中的有效地址。標簽字段占據存儲地址的上部,它確定了數據單元的真實物理位置。L1P結構允許在運行時選擇L1Pcache大小,通過寫請求模式到L1PCFG寄存器的L1PMODE字段來選擇L1Pcache大小,如表2-10所示。表2-10通過L1PCFG寄存器中的L1PMODE位指定Cache大小當設計的程序需要一定量的cache時,應該設置為模式值的上界。為了確保正確的cache,需要進行無效設置,然而由于部分L1PRAM變成cache,為了安全的改變L1Pcache模式,在應用中還需要遵守表2-11中的規則。表2-11L1P模式轉換規則2.3.4、一級片內數據存儲器片內數據存儲器L1D(Level1DataMemoryandCache)主要功能是最大化數據處理性能,L1D的可配置性為系統使用L1D提供了靈活性。片內數據存儲器L1D具有以下特點:(1)可配置成cache的大小包括0K、4K、8K、16K和32K(2)支持存儲保護(3)提供塊緩存和全局一致操作
L1D存儲器最大可支持1MB的存儲映射RAM和ROM,L1D存儲器的基址被約束在1MB范圍內,其總的大小必須是16KB的倍數。L1D存儲器被分割成2個區域,表示為L1D區域0和L1D區域1,其有以下特點:(1)每個區域有單獨的內存保護條目;(2)部分L1D區域1可被轉換為數據cache。L1D存儲器結構允許將部分或全部的L1D區域1轉換成讀分配、寫返回和雙向集關聯的cache。為了便于以全CPU時鐘頻率讀寫數據,同時具有大的系統內存,cache是非常必要的,其主要是用于緩解從較慢的系統存儲單元進行讀/寫操作帶來的延遲。
表2-12L1Dcache控制操作
L1Dcache操作受控于如表2-12所示的控制寄存器,這些寄存器允許改變cache的模式和手動初始cache一致操作,L1Dcache也會受到寫入L2指定控制的影響。CPU有一個內部控制寄存器,其給出一個字段用于cache控制操作,即CSR。CSR控制寄存器中的DCC字段以多種方式控制L1D操作。L1Dcache配置寄存器(L1DCFG)控制L1Dcache的大小,如圖2-13和表2-13所示。圖2-13L1D配置寄存器(L1DCFG)表2-13L1D配置寄存器(L1DCFG)字段描述L1Dcache控制寄存器(L1DCC)控制L1D是否為凍結模式,如圖2-14和表2-14所示。圖2-14LIDcache控制寄存器(L1DCC)表2-14LIDcache控制寄存器(L1DCC)字段描述L1D無效寄存器(L1DINV)控制L1Dcache的全局無效,如圖2-15和表2-15所示。圖2-15L1D無效寄存器(L1DINV)表2-15L1D無效寄存器(L1DINV)字段描述
L1D寫回寄存器(L1DWB)如圖2-16和表2-16所述。圖2-16L1D寫回寄存器(L1DWB)表2-16L1D寫回寄存器(L1DWB)字段描述L1D無效寫回寄存器(L1DWBINV)控制L1Dcache的無效寫回操作,如圖2-17和表2-17所示。圖2-17L1D無效寫回寄存器(L1DWBINV)表2-17L1D無效寫回寄存器(L1DWBINV)字段描述L1D無效基址寄存器(L1DIBAR)定義了無效塊基址,如圖2-18和表2-18所示。圖2-18L1D無效基址寄存器(L1DIBAR)表2-18L1D無效基址寄存器(L1DIBAR)字段描述L1D無效字計數寄存器(L1DIWC)定義了無效塊的大小,其定義的大小為32位,如圖2-19和表2-19所示。圖2-19L1D無效字計數寄存器(L1DIWC)表2-19L1D無效字計數寄存器(L1DIWC)字段描述L1D寫回基址寄存器(L1DWBAR)定義寫回塊的基址,如圖2-20和表2-20所示。圖2-20L1D寫回基址寄存器(L1DWBAR)表2-20L1D無效基址寄存器(L1DWBAR)字段描述L1D無效寫回字計數寄存器(L1DWIWC)定義了無效寫回塊的大小,其定義的大小為32位,如圖2-21和表2-21所示。圖2-21L1D無效寫回字計數寄存器(L1DWIWC)表2-21L1D無效字計數寄存器(L1DWIWC)字段描述L1Dcache是一個雙向集關聯cache,這意味著系統的每個物理內存單元在cache中都保留2個可能的位置,當CPU試圖訪問一段數據時,L1D必須檢查是否在L1Dcache中保留了需要的地址。為此,CPU提供的32位地址被分割成6個數據字段,如圖2-22所示。圖2-22數據存取地址結構L1Dline大小為64位,偏置(Offset)字段占用了前6位。設置(Set)字段表明L1Dcache線地址,其緩存數據將被保留,設置字段的寬度取決于L1D配置成cache的大小,如表2-22所示。使用設置字段來查找和檢查任意已緩存數據的標簽和有效位,這表明標簽地址是否真正代表cache中的有效地址。
表2-22設置(Set)字段寬度對應的數據訪問地址2.3.5、二級片內存儲器二級片內存儲器(L2memoryandcache)為較快的一級片內存儲器(L1P和L1D)與較慢的外部存儲單元間數據傳送存儲提供了一個片上存儲解決方案,其優勢在于提供了比L1存儲器更大的存儲空間,同時也提供了比外部存儲更快的數據訪問。類似于L1存儲器,L2可配制成cache和非cache(可尋址)存儲器。
L2存儲器提供了設備需要的靈活存儲方式,包括2個存儲端口(port0和port1),可配置的L2cache大小,存儲保護,支持緩存塊和全局一致操作,4個可配置的節電模式頁。L2存儲器提供的2個256位寬的存儲接口稱為port0和port1,這兩個端口的使用依賴于設備,在多數設備中,2個存儲端口使用如下:(1)Port0:L2RAM、L2cache(2)Port1:L2ROM、L2RAM、共享存儲接口這兩個存儲端口可編址存儲段,其編址可能是不連續的,表2-23闡明了port0和port1如何在2×128位bank的情況下用于低位優先(littleendian)模式。表2-232×128位banking方案L1P“讀漏”(32字節)需要單一端口的全部存儲bank,當L2存儲器具有高延遲時,在同一周期或直到該端口完成訪問前,其他訪問不能進行。L1D的讀漏(64字節)或寫回也需要單一端口的全部存儲bank,用于兩次連續訪問。L2cache的操作通過以下寄存器進行控制,如表2-24對這些控制寄存器進行了總結。表2-24L2cache控制寄存器這些寄存器分為3類,涉及以下部分:
Cache大小和操作模式控制,這些寄存器控制cache大小和cache是否為凍結模式或正常操作模式;
面向塊和全局一致性操作,這些操作允許從cache中手動移出數據;
可緩存性控制,這些寄存器控制cache是否允許存儲一定范圍內存的副本。L2配置寄存器(L2CFG)控制L2cache操作,可設置L2內存作為cache的大小、控制L2凍結模式及保持L1D/L1P無效位,如圖2-23和表2-25所示。圖2-23L2配置寄存器(L2CFG)表2-25L2配置寄存器(L2CFG)字段描述
L2寫回基址寄存器(L2WBAR)如圖2-24和表2-26所示。圖2-24L2寫回基址寄存器(L2WBAR)表2-26L2寫回基址寄存器(L2WBAR)字段描述L2寫回字計數寄存器(L2WWC)定義無效塊的大小,其大小以32位字進行定義,寫入一個大于FFE0h的數字會導致寫入單元不被修改,如圖2-25和表2-27所示。圖2-25L2寫回字計數寄存器(L2WWC)表2-27L2寫回字計數寄存器(L2WWC)字段描述L2無效寫回字計數寄存器(L2WIWC)定義無效塊的大小,其大小以32位字進行定義,寫入一個大于FFE0h的數字會導致寫入單元不被修改,如圖2-26和表2-28所示。圖2-26L2無效寫回字計數寄存器(L2WIWC)表2-28L2無效寫回字計數寄存器(L2WIWC)字段描述L2無效基址寄存器(L2IBAR)定義無效塊的基址,如圖2-27和表2-29所示。圖2-27L2無效基址寄存器(L2IBAR)表2-29L2無效基址寄存器(L2IBAR)字段描述L2無效字計數寄存器(L2IWC)定義了無效塊的大小,其大小以32位字進行定義,寫入一個大于FFE0h的數字會導致寫入單元不被修改,如圖2-28和表2-30所示。圖2-28L2無效字計數寄存器(L2IWC)表2-30L2無效字計數寄存器(L2IWC)字段描述L2寫回寄存器(L2WB)控制L2cache的全局寫回操作,如圖2-29和表2-31所示。圖2-29L2寫回寄存器(L2WB)表2-31L2寫回寄存器(L2WB)字段描述L2無效寫回寄存器(L2WBINV)控制L2cache的無效寫回操作,如圖2-30和表2-32所示。圖2-30L2無效寫回寄存器(L2WBINV)表2-32L2無效寫回寄存器(L2WBINV)字段描述L2無效寄存器(L2INV)控制L2cache的全局無效,如圖2-31和表2-33所示。圖2-31L2無效寄存器(L2INV)表2-33L2無效寄存器(L2INV)字段描述L2內存屬性寄存器(MARn)定義外部存儲空間的可緩沖性,只在管理員模式下可寫,其通用結構如圖2-32所示,功能描述如表2-34所示。圖2-32L2無效寄存器(L2INV)表2-34L2無效寄存器(L2INV)字段描述L2內存結構提供了存儲保護支持,詳細的存儲保護權限如表2-35所示。表2-35L2cache控制寄存器權限L2cache是一種讀寫分配、四路集關聯的cache,為了跟蹤L2cache的狀態,還包含一個四路的tagRAM。L2標簽的地址組織是關于cache和RAM間劃分比例的函數,其通過L2CFG寄存器L2MODE字段進行控制。
偏置(Offset)字段占用了128位L2line大小的前7位,cache控制邏輯忽略了這部分地址,如圖2-33所示。圖2-33L2cache地址結構
設置(Set)字段指出了L2cacheline的地址,其緩存數據將以各自方式被保留,設置字段的寬度依賴于L2配置成cache的大小,
L2cache允許在運行時配置其大小,如表2-36所示。表2-36L2MODE描述當程序寫入新的cache模式到L2CFG寄存器,L2執行以下步驟:(1)L2cache使能,則寫回并置為無效。(2)L2cache設置為需要的模式,需要注意的是改變L2模式不會影響L1cache的內容。表2-37L2模式轉換規則重置后,程序設置L2模式并保持不變,一些程序會在工作中改變L2cache模式,需要注意確保遵循表2-37所示步驟來保持存儲系統一致和正確的cache操作。
L2cache支持凍結模式,L2cache內容被凍結,即它將不能像正常操作一樣被更新。L2凍結模式允許實時應用程序在各部分代碼中限制從L2發出的數據量,如中斷處理程序。使用L2CFG寄存器中的L2CC字段來設置凍結模式。凍結模式只影響L2cache操作,而不影響L2RAM,其也不影響L1P和L1D,同樣,L1凍結模式也不影響L2cache。表2-38總結了通過使用L2CFG寄存器中L2CC字段來設置凍結模式的方式。表2-38L2凍結模式2.4.1卷積的MATLAB實現2.4.2基于ICETEK-DM6437-A的卷積DSP實現本章小結TMS320C6437DSP處理器主要有CPU內核、外設和存儲器3個部分組成。本章從芯片設計的角度出發介紹了TMS320C6437DSP芯片的CPU結構,討論了CPU數據通路和控制,介紹了片內存儲器和二級內部存儲器的原理、寄存器及工作方式。DSP原理及應用
第三章ICETEK-DM6437-A綜合實驗系統第三章
ICETEK-DM6437-A綜合實驗系統3.1ICETEK-DM6437-A綜合實驗系統的組成3.2實驗系統的硬件模塊3.3
基于ICETEK-DM6437-A的語音信號處理3.4基于ICETEK-DM6437-A的視頻信號處理3.5
基于MATLAB的音頻信號處理3.6
基于ICETEK-DM6437-A的音頻信號處理的實現3.1ICETEK-DM6437-A綜合實驗系統的組成3.2實驗系統的硬件模塊3.2.1.CPU單元
3.2實驗系統的硬件模塊3.2.2.電源模塊TMS320DM6437實驗系統正常工作電壓共包括5V,3.3V,1.8V,1.2V四種電源電壓。系統的工作電壓及電壓范圍如表3-1所示。芯片電壓最大值典型值最小值TMS320DM6437內核電壓1.26V1.2V1.14VI/O、FLASH、外設2.97V3.3V3.63VDDR2、PLL1.71V1.8V1.89表3-1系統的工作電壓及電壓范圍3.2.3數字信號源實驗系統提供獨立的數字信號源,數字信號源上提供五種波形(方波、三角波、正弦波、上下兩路信號混頻、白噪聲),數字信號源上提供語音錄放功能,提供語音實時采集回放功能,麥克風、直接音頻輸入,耳機、揚聲器輸出。獨立的數字信號源(該信號源應是一個獨立的信號發生器,可單獨從實驗箱上取下,為任何實驗設備提供數字信號波形輸出):(1)可同時提供兩路波形輸出,每一路均可單獨控制;信號的波形、頻率、幅度可調;具有語音錄放功能;(2)波形切換:提供五種波形(方波、三角波、正弦波、上下兩路信號混頻、白噪聲),可通過撥動開關進行選擇;(3)頻率范圍:分為4段(10Hz—100Hz、100Hz—1KHz、1KHz—10KHz、10KHz—30KHz),可通過撥動開關進行選擇;(4)頻率微調:在每個頻率段范圍內進行頻率調整;(5)幅值微調:0-3.3V平滑調整;(6)語音錄放:提供語音實時采集回放功能,麥克風、直接音頻輸入、耳機、揚聲器輸出。3.2實驗系統的硬件模塊3.2實驗系統的硬件模塊3.2.4.A/D實驗系統采用TLV0832芯片來實現ADC功能。TLV0832可以將收到的模擬電壓信號(0~3.3V范圍)進行定時采集,采集速率(A/D轉換時間)最短為13.3微秒,可以轉換兩路模擬信號輸入(分時轉換),轉換后生成的數字量為8位二進制數精度,通過串行通訊可將結果傳送給上位機處理。其接口管腳定義如右圖3-6所示。其中,CH0和CH1連接兩路獨立的模擬信號通道,這些信號電壓范圍圖3-6引腳定義限定在0V~3.3V之間,CS、CLK、DO、DI為數字串行控制信號,控制ADC轉換的通道、何時開始轉換,轉換結束后也通過這一接口將結果傳送給DSP。TLV0832與DM6437的接口比較簡單,請參看下面的接口如圖所示。3.2實驗系統的硬件模塊3.2.5.D/A實驗系統采用TLC7528C芯片來實現DAC功能。TLC7528可以將收到的8位數字信號轉換成相應的模擬輸出,每次轉換最高速率是0.1微秒,可以支持兩路模擬量輸出。其接口管腳定義如下圖。圖3-9TLC7528引腳TLC7528與DM6437的接口比較簡單,如下圖:3.2實驗系統的硬件模塊3.2.6.JTAGTI在其TMS320系列芯片上設置了符合IEEEI149.1
標準的JTAG(JoimTest
ActionGroup)標準測試接口及相應的控制器,如圖3-11所示。主要用于邊界測試和DM643在線仿真,方便DSP應用系統開發調試.JTAG接口可對芯片內部部件編程,外部中斷計數等。使用JTAG仿真開發工具實現對DM6437片內和片外資源進行全透明訪問,同時還可以通過它向DM6437加載程序,對程序進行調試。JTAG引腳定義如表3-2
所示。TCK測試時鐘輸入TDI測試數據,數據通過TDI輸入JTAG口TDO測試數據輸出,數據通過TD0從JTAG口輸出TMS測試模式選擇,用來設置JTAG所處的測試模式TRST測試復位,輸入引腳,低電平有效3.2實驗系統的硬件模塊3.2.7.DM6437核CPU時鐘系統中用到很多種不同的時鐘頻率,TMS320DM6437有兩個獨立控制的PLL。PLL產生DSP,DMA,VPFE以及其他外設所需要的時鐘頻率。PLL2產生DDR2接口和VPBE在特定模式下的時鐘頻率。根據TMS320DM6437的數據手冊,PLL鎖相環的輸入頻率范圍在20-30MHz,選擇27MHz外部無源晶振作為系統的外部時鐘源。在MXI/CLKIN引腳輸入的27MHz時鐘,經過PLL1Controller1和PLL2Controller2寄存器的配置,便能得到系統時鐘SYSCLK1、SYSCLK2、SYSCLK3和各個模塊的吋鐘。具體的時鐘產生如圖3-15所示。3.2實驗系統的硬件模塊3.2.7.DM6437核CPU時鐘3.2實驗系統的硬件模塊3.2.8.網絡接口DM6437集成了片上以太網MAC部分。此以太網接口連接到PHY上。EVM使用一個MicrelKS8001LPHY。10/100MBit的接口被接出到一個標準以太網連接器J8。PHY直接與DM6437外設接口相連。以太網的地址可以在生產時存儲在I2C串行的ROM中,也可在程序中更改。RJ-45有兩個液晶指示燈集成在連接器上。燈有綠和黃兩種,指示出以太網鏈路的狀態,
綠燈亮,表示有鏈路連接,閃時,表示鏈路在工作,黃燈亮時,表示全雙工模式。3.3
基于ICETEK-DM6437-A的語音信號處理3.3.1音頻編解碼芯片TLV320AIC33簡介TLV320AIC33是一款支持低功耗與噪聲濾波功能的立體聲數字信號編解碼器。可以支持六路信號輸入和六路信號輸出,支持差分和單端兩種信號輸入形式。相比較其他音頻編碼芯片,TLV320AIC33具有以下優勢:支持8~96ksps的采樣率;數模轉換與模數轉換的信噪比(SNR)分別達到了102dB與92dB;集成鎖相環(PLL)支持各種音頻時鐘;支持便攜式系統的低功耗耳機、揚聲器以及回放模式;可編程數字音效,包括3D音效、低音、高音、EQ以及去加重等;I2C和SPI控制接口,便于控制;聲音串行數據總線支持模式。如圖3-16是TLV320AIC33的內部結構與外部接口。3.3
基于ICETEK-DM6437-A的語音信號處理3.3.1音頻編解碼芯片TLV320AIC33簡介TLV320AIC33是一款支持低功耗與噪聲濾波功能的立體聲數字信號編解碼器。可以支持六路信號輸入和六路信號輸出,支持差分和單端兩種信號輸入形式。相比較其他音頻編碼芯片,TLV320AIC33具有以下優勢:支持8~96ksps的采樣率;數模轉換與模數轉換的信噪比(SNR)分別達到了102dB與92dB;集成鎖相環(PLL)支持各種音頻時鐘;支持便攜式系統的低功耗耳機、揚聲器以及回放模式;可編程數字音效,包括3D音效、低音、高音、EQ以及去加重等;I2C和SPI控制接口,便于控制;聲音串行數據總線支持模式。如圖3-16是TLV320AIC33的內部結構與外部接口。3.3
基于ICETEK-DM6437-A的語音信號處理3.3.2TLV320AIC33和TMS320DM6437通訊接口及模式編解碼器用兩個串行通道通訊,一個是控制編解碼器的配置寄存器,另一個語音信號輸入與輸出通道。如3-17圖是DM6437與編解碼器TLV320AIC33接口示意圖。音頻編解碼芯片TLV320AIC33和DM6437芯片的外設I2C連接,由I2C實現對AIC33和DM6437芯片的控制;TLV320AIC33與DM6437的外設McBSP相連,用于兩芯片間的音頻數據交換。3-18圖是DM6437與編解碼器TLV320AIC33接口。3.3
基于ICETEK-DM6437-A的語音信號處理3.3.2.1TLV320AIC33和多通道緩沖串口的通信在標準同步串口基礎上,為了擴展其功能,提供高效同步串口通信機制,多通道緩沖串口(MultichannelBufferedSerialPort,McBSP)得到使用。它擁有雙緩沖發送結構及三級緩沖接收結構,數據在此結構下能連續發送。McBSP可配置性很強,通過對其相應的寄存器的配置,可控制其工作方式。此外,它的每個串口支持128個通道,速度達到100Mbit/s。3.3.2.2I2C控制接口DM6437對音頻芯片AIC33進行控制的命令流程如下:由總線發送開始指令信號,即時鐘總線(SCL)高電平時,數據總線(SDA)出現從高到低的一個跳變,DM6437發送一個從屬設備地址,該地址為7位,但在傳送時數據變為8位,而多出來的最后一位是用來對從屬設備說明是讀操作還是寫操作。系統中與主控設備有關的都是寫操作。當從屬設備接收到來自主控設備信號時,從屬設備會回饋一個應答信號告訴主設備繼續改善指令。當主設備在控制命令后發送停止標志,即SCL是高電平時,SDA會出現由低到高的一具跳變,至此,一個完整的通信過程結束。3.4基于ICETEK-DM6437-A的視頻信號處理3.4.1DSP視頻處理系統概述
數字視頻(圖像)處理是DSP技術的重要應用領域
攝像頭作為輸人視頻傳感器是系統的信息來源,它輸出的模擬視頻信號不能直接被DSP處理,因此,需要利用視頻解碼芯片完成圖像的數字化過程。DSP可完成圖像去噪聲、圖像增強、圖像配準等一系列軟件算法處理,視頻編碼芯片將DSP處理后的數字視頻(圖像)數據編碼成普通電視所能接收的NTISC或PAL制的復合視頻信號,實現視頻輸出。DM6437的VPFE接口主要解決與視頻ADC或數字攝像機直接接口的問題。接口的數據出口為EMIF接口的存儲器(SDRAM/DDRAM),功能是將接收到的數字化的視頻采樣數據解碼后,通過DMA直接存放到擴展存儲器中,并實現縮放、預顯示、H3A(Hardware3Astatisticgrnerator)處理、直方圖統計等輔助功能。由于接口設計的通用和靈活性很好,可以接口各種視頻采集芯片和數字攝像機。
DM6437的VPBE接口用于連接數字接口的LCD顯示器或視頻編碼器(DAC),負責將存放在DSP存儲器中的視頻圖像數據按照既定的時序輸出,可以支持標清和高清顯示。DM6437的VPBE包含視頻處理系統(VPSS,VideoprocessingSubSystem),可以利用DMA和硬件邏輯,將視頻數據組合、疊加后進行編碼輸出。3.4基于ICETEK-DM6437-A的視頻信號處理3.4.1DSP視頻處理系統概述
ICETEK-DM6437-A的視頻處理系統工作流程:(1)插座上的攝像機將PAL制式的模擬復合視頻信號輸入;(2)復合視頻信號接入U5-TVP5146進行解碼,輸出YCbCr格式的數字分量信號;(3)數字分量信號通過DM6437的VPFE接口輸入DSP,存放到DM6437片外擴展的DDR2SDRAM中;(4)DM6437將存放在DDR2SDRAM中的視頻數據取到DSP片內進行處理運算,結果輸出存放到DDR2SDRAM中的輸出緩存區;(5)DM6437的VPBE接口自動獲取DDR2SDRAM中輸出緩沖區的視頻數據,將之進行編碼后輸出;(6)DM6437的VPBE接口的視頻DAC將編碼的視頻數據進行DA轉換后發送到相應輸出管腳,通過J12插座輸出,連接在J12上的TV顯示器接收視頻模擬信號進行顯示。3.4基于ICETEK-DM6437-A的視頻信號處理3.4.2視頻解碼芯片TVP5146圖像傳感器進行光電轉換將光信號轉換成電信號,之后的視頻解碼芯片起一個模數轉換的作用,將模擬信號數字化。所有最終得到的視頻信號都將存儲在外部存儲器SDRAM中,最后傳遞到數字信號處理器DSP中,交給DSP進行圖像處理與計算。由于本系統采用的圖像傳感器OV7959輸出的是模擬視頻信號,不能直接被DSP處理,因此選用視頻編碼芯片TVP5146來完成圖像的模數轉換以及相應控制信號的分離。TVP5146是TI公司的一款高性能視頻信號解碼芯片,能將NTSC、PAL制式的混合視頻信號解碼成數字信號輸出。TVP5146內部主要包含以下功能:(1)提供4路10位30MSPS(每秒采樣百萬次)A/D轉換通道,可以將YPbPr、NTSC、PAL信號的轉換成YCbCr信號,在每個A/D通道中均包含模擬參考電壓輸入電路、可編程增益控制電路、輸入信號偏移電路和可編程信號源選擇電路。(2)內部采用5線自適應色度濾波器,能將復合視頻信號進行亮度、色度分離,且這種形式的Y/C分離是完全互補的,不會丟失圖像的亮度或色度信息,數字信號可選擇20位4:2:2YCbCr或10位4:2:2YCbCr進行輸出。(3)內部提供了多個圖像預處理模塊,可以對模數轉換后的數字圖像數據進行亮度、對比度和飽和度的處理。(4)提供I2C總線控制接口,可方便配置芯片初始化和相關寄存器的讀寫,實現芯片的可編程圖像預處理功能。(5)可提供同步的行場視頻信號輸出時鐘,在相應寄存器可配置接收視頻的掃描方式。3.4基于ICETEK-DM6437-A的視頻信號處理3.4.2視頻解碼芯片TVP5146TVP5146通過I2C配置總線和數字視頻接口總線與上位機進行連接(TVP5146的I2C地址為BAH),其接口DM6437的視頻前端示如圖3-21所示。3.4基于ICETEK-DM6437-A的視頻信號處理3.4.3視頻處理子系統VPSSTMS320DM6437還提供了強大的視頻處理子系統VPSS(VideoProcessingSubSysterm),如圖3-22所示,其包括一個視頻處理前端VPFE(VideoProcessingFrontEnd)和一個視頻處理后端VPBE(VideoProcessingBackEnd),VPFE對輸入的視頻數據進行前端處理,通過配置視頻前段寄存器可以對采集的圖像進行縮放、圖像亮度和對比度調節、直方圖功能化等預處理;VPBE用于視頻數據的輸出處理,驅動液晶屏實時顯示視頻圖像。3.4基于ICETEK-DM6437-A的視頻信號處理3.4.4視頻處理前端(VPFE)DM6437的視頻處理前端VPFE由CCD控制器(CCDC)、圖像預處理器、H3A模塊、灰度直方圖模塊和縮放器五個部分構成,其內部結構框圖如下圖所示。3.4基于ICETEK-DM6437-A的視頻信號處理3.4.5視頻處理后端(VPBE)DM6437的視頻處理后端VPBE完成視頻數據的輸出處理和驅動顯示屏實現顯示的、圖像數據,內部由屏幕顯示(OSD和視頻編碼(VENC)模塊兩個模塊組成,VPBE內部結構框圖如下圖所示。3.5.1基于MATLAB的音頻信號處理的流程
用MATLAB處理音頻信號的基本流程是:先將.wav格式音頻信號經wavread函數轉換成MATLAB列數組變量;再用MATLAB進行數據分析和處理,如時域分析、頻域分析、數字濾波、信號合成、信號變換、識別和增強等;處理后的數據如是音頻數據,則可用wavwrite轉換成.wav格式文件或用sound、wavplay等函數直接回放。處理流程如圖3-26所示。下面分別介紹MATLAB在音量標準化、聲道分離合并與組合、數字濾波、數據轉換等音頻信號處理方面的技術實現3.5基于MATLAB的音頻信號處理3.5.1基于MATLAB的音頻信號處理的流程
音頻是多媒體信息的一個重要組成部分,音頻信號的頻率范圍大約是20Hz~20kHz。音頻信號的采集和處理已經廣泛應用于材料無損檢測、語音識別、噪聲抑制等工程領域。對實時采集音頻信號并進行分析處理的技術和方法進行探討,具有一定的意義。下圖是應用MATLAB進行音頻信號處理的流程。3.5基于MATLAB的音頻信號處理3.6.1.實驗原理
ICETEK-DM6437-A評估板通過DM6437的I2C接口連接AIC23的配置接口,用McBSP1接口連接AIC23的數字音頻串行接口。1.DM6437與AIC33通訊(1)配置DM6437:配置I2C總線接口:速度約為100kHz。(2)配置AIC33:通過I2C總線完成,DM6437為I2C總線的主端,AIC33為從端,時鐘信號由DM6437的I2C總線接口SCL管腳輸出提供。3.6基于ICETEK-DM6437-A的音頻信號處理的實現3.6.2.實驗步驟
(1)實驗準備(2)啟動CCS:點擊桌面上相應圖標啟動CCS5(3)導入實驗工程(4)編譯例程(5)debug下載程序(6)結束實驗3.6基于ICETEK-DM6437-A的音頻信號處理的實現本章小結
本章詳細介紹了基于ICETEK-DM6437-A實驗系統。該綜合教學實驗平臺是結合當今DSP圖像處理課程教學與改革而研制開發的。它采用一體化教學實驗箱,包括TIDSPC6000系列的DM6437、增強版仿真器、獨立的數字信號源、PAL制式模擬攝像頭、7寸PAL制式液晶屏/鍵盤等外設模塊,DM6437能夠直接對外設模塊(液晶屏、蜂鳴器,步進電機,直流電機,交通燈,9鍵數字鍵盤等)進行控制。通過基于ICETEK-DM6437-A的試驗系統組成的學習,具備初步的系統觀。通過基于TMS320DM6437的系統與各子單元的學習理解系統觀的內涵,注重自身系統觀的培養DSP原理及應用
第四章:DSP集成開發環境第四章
DSP集成開發環境
4.1DSP軟件開發工具4.2CCS集成開發環境4.3CCS的應用4.4DSP/BIOS實時操作系統4.5實驗和程序實例4.1DSP軟件開發工具通常DSPs芯片的開發工具可以分為代碼生成工具和代碼調試工具兩大類。代碼生成工具的作用是將C或匯編語言編寫的DSP程序編譯并鏈接成可執行的DSP程序。代碼調試工具的作用是在DSPs編程過程中,按照設計的要求對程序及系統進行調試,使編寫的程序達到設計目標。圖4-1是典型的軟件開發流程圖,圖中陰影部分表示般的C語言開發步驟,其他部分是為了強化開發過程而設置的附加功能。4.1DSP軟件開發工具4.1.1代碼生成工具代碼生成工具奠定了CCS開發環境的基礎,將用高級語言、匯編語言或兩種語言混合編寫的DSP程序轉換為可執行的目標代碼。它除了最基本的C編譯器、匯編器和鏈接器外,還有歸檔器、運行支持庫、十六進制轉換程序、交叉引用列表器、絕對列表器等輔助工具。4.1.1.1.C編譯器C編譯器包括分析器、優化器和代碼產生器,它接收C/C++源代碼并產生TMS320Cxx匯編語言源代碼。通過匯編和鏈接,產生可執行的目標文件。C編譯器的主要特點是:●完全符合ANSIC標準。●支持庫函數。●編譯時可進行優化處理,產生高效的匯編代碼。●用戶可進行庫和檔案的管理,可以對庫進行文件的添加、刪除、替換等,可以將目標文件庫作為鏈接器的輸人。●可控制存儲器的分配、管理和部分鏈接。●支持C和匯編混合編程。●可輸出多種列表文件,如源代碼文件、匯編列表文件和預處理輸出文件等。4.1DSP軟件開發工具4.1.1.2匯編器匯編器的作用是將匯編語言源程序轉換成機器語言目標文件,它們都是通用目標文件格式(COFF)文件。匯編器的功能是:●處理匯編源文件(.asm),產生可重定位的目標文件(.obj)。●根據要求產生源程序列表文件(.Ist),并向用戶提供對此列表的控制。●根據要求將交叉引用列表加到源程序列表中。●將代碼分段,并為每個目標代碼段設置段程序計數器。●D定義和引用全局符號。●匯編條件塊。●支持宏調用,允許用戶在程序中或在庫內定義宏。4.1DSP軟件開發工具4.1.1.3鏈接器鏈接器把多個目標文件組合成單個可執行目標模塊。它在創建可執行模塊的同時,完成重定位過程。鏈接器的輸入是可重定位的目標文件和目標庫文件。在匯編程序生成代碼過程中鏈接器的作用如下:●根據鏈接命令文件(.cmd文件)將一個或多個COFF目標文件鏈接起來,生成存儲器映射文件(.map文件)和可執行的輸出文件(.out文件)。●將段定位于實際系統的存儲器中,并給段、符號指定實際地址。●解決輸人文件中未定義的外部符號引用。4.1.1.4歸檔器歸檔器允許用戶把-組文件收集到一個歸檔文件中。歸檔器允許通過刪除、替換、提取或添加文件來調整庫。4.1DSP軟件開發工具4.1.1.5運行支持庫運行支持庫包括C編譯器所支持的ANSI標準運行支持函數、編譯器公用程序函數、浮點運算函數和C編譯器支持的I/O函數。用戶可以利用建庫應用程序建立滿足設計要求的“運行支持庫”。4.1.1.6.十六進制轉換程序十六進制轉換程序把COFE目標文件轉換成TI-Tagged、ASCI-hex、Intel、Motorola-S或Txktronix等目標格式,可以把轉換好的文件通過EPROM編程器下載到EPROM中。4.1.1.7.交叉引用列表器交叉用列表器用目標文件產生參照列表文件,可顯示符號及其定義,以及符號所在的源文件。要使用交叉引用列表器,需要在匯編源程序的命令中加人一個適當的選項,在列表文件中產生一個交叉引用列表,并在目標文件中加入交叉引用信息。鏈接目標文件得到可執行文件,再利用交叉引用列表器,即可得到希望的交叉引用列表。4.1DSP軟件開發工具4.1.1.8.絕對列表器絕對列表器輸入目標文件,輸出.abs文件,通過匯編.abs文件可產生含有絕對地址的列表文件。如果沒有絕對列表器,這些操作將需要冗長乏味的手工操作完成。產生絕對列表所需要的步驟為:(1)匯編源文件。(2)鏈接所產生的目標文件。(3)調用絕對列表器,使用已鏈接的目標文件作為輸人,它將創建擴展名為.abs的文件。(4)匯編.abs文件,這時用戶在命令中需加入一個適當的選項來調用匯編器,以產生包含絕對地址的列表文件。4.1DSP軟件開發工具4.1.2代碼調試工具代碼調試工具的作用是將代碼生成工具生成的可執行.out文件,通過調試器接口加載到用戶系統進行調試。4.1.2.1.C/匯編語言源碼調試器C/匯編語言源碼調試器是運行在PC或SPAKC等產品上的一種軟件接口,與其他調試工具(軟件模擬器、評估模塊、軟件開發系統、仿真器)配合使用。用戶程序既可用C語言調試,也可用匯編語言調試,還可以用C和匯編混合調試。4.1.2.2.初學者工具DSK初學者工具DSK是TI公司為TMS320系列DSPS初學者設計和開發的廉價的實時軟件調試工具,用戶可以使用DSK來做DSP實驗,進行諸如系統控制、語音處理的測試應用,也可以用來編寫和運行實時源代碼,并對其進行評估,還可以來調試用戶自己的系統。4.1.2.3.軟件仿真器軟件仿真器是一種模擬DSPs芯片各種功能并在非實時條件下進行軟件調試的工具,不需要目標硬件支持,只需要在計算機上運行,是一種廉價方便的調試工具,但它主要缺點是運行速度慢,無法保證實時性。4.1DSP軟件開發工具4.1.2.4.評估模塊EVM評估模塊是一種低成本的用于器件評估、標準程序檢查及有限系統調試的開發板。它配置了目標處理器、小容量的存儲器和其他有限的硬件資源,可用來對DSPs芯片的性能進行評估,也可用來組成一-定規模的用戶DSP系統。4.1.2.5.硬件在線仿真器硬件在線仿真器(XDSEmulator)是一-種功能強大的高速仿真器,可用來進行系統級的集成調試,是進行DSP系統開發的最佳工具。TI公司生產的DSPs都采用掃描仿真器。掃描仿真器克服了傳統仿真器電纜過長引起的信號失真和仿真插頭可靠性差等問題。使用掃描仿真器,程序可以從片內或片外的目標存儲器實時執行,在任何時鐘速度下都不會引人額外的等待狀態。4.2CCS集成開發環境CCS(CodeCompseStudio)是TI公司為TMS320系列DSP芯片而開發的DSP集成開發環境。它提供了環境配置、源文件編輯、程序調試、跟蹤和分析等工具,幫助用戶在軟件境下完成編輯、編譯、鏈接、調試和數據分折等工具。CCS主要有以下特性和功能:●集成可視化代碼編輯界面,可以直接編寫C++、匯編、頭文件及CMD文件等,●集成圖形顯示工具,可繪制時域、頻域波形等。●集成調試工具,可以完成執行代碼的裝人、寄存器和存儲器的查看、反匯編器交量官口的顯示等功能,同時還支持C源代碼級的調試。●集成代碼生成工具,包括匯編器、C/C+編譯器和鏈接器等。●支持多DSPs調試。●集成斷點工具,包括設置硬件斷點、數據空間讀/寫斷點、條件斷點等。●集成探針工具,可用于算法仿真、數據監視等。●提供代碼分析工具,可計算某段代碼執行時間,從而能對代碼的執行效率做出評估。4.2CCS集成開發環境CCS主要有以下特性和功能:●支持通過GEL來擴展CCS的功能,可以實現用戶自定義的控制面板、菜單、自動修改變量或配置參數的功能。●支持RTDX技術,可在不打斷目標系統運行的情況下,實現DSPs與其他應用程序的數據交換●提供開放的plug-ins技術,支持第三方的ActiveX插件,支持包括軟件仿真在內的各種!真器(需要安裝相應的驅動程序)。●提供DSP/BIOS工具,增強了對代碼的實時分析能力,如分析代碼的執行效率、調度程序執行的優先級、方便對系統資源的管理或使用(代碼/數據空間的分配、中斷服務程序的調用、定時器的使用等),減小了開發人員對DSP硬件知識的依賴程度,從而縮短了軟件系統的開發進程。4.2CCS集成開發環境4.2.1CCS的安裝4.2CCS集成開發環境4.2.1CCS的安裝4.2CCS集成開發環境4.2.2CCS的設置①定義工作區目錄CCSv5首先要求定義一個工作區,即用于保存開發過程中用到的所有文件的目錄。每次啟動CCSv5都會要求輸入工作區目錄。默認情況下,會在“C:\Users\<用戶>\Documents”或“C:\DocumentsandSettings\<用戶>\workspace_v5_0”目錄下創建工作區,用戶也可以選擇其他路徑。如果對所有項目使用一個目錄,只需選中“Usethisasthedefaultanddonotaskagain”,默認使用此目錄且不再詢問選項。4.2CCS集成開發環境4.2.2CCS的設置②建立目標板配置環境在CCS低版本中,用CCSSETUP進行配置,在CCSv5中建立目標板配置環境的步驟如下:在工具欄中選擇“File/New/TargetConfigurationFile”,并為此配置命名后,單擊“Finish”,在調試器類型“connection”一欄中選擇仿真器和芯片類型,如果使用默認的GEL文件,單擊“Save”即可;如果使用自己的GEL文件,單擊“TargetConfiguration”,在InitializationScript中選擇自己的GEL文件,之后單擊“Save”,完成配置。③連接目標板選擇菜單“View/Targetconfigurations”,在配置界面中右擊配置文件選擇“SetasDefault”將剛剛建立的配置文件設置為默認狀態,啟動調試,右擊選擇已配置的項目的“LaunchSelectedConfiguration”,當啟動成功后,選擇菜單“Run/ConnectTarget”t即可連接目標板。4.3CCS的應用4.3.1創建CCS工程創建CCS工程項目的步驟如下:(1)新建一個項目工程:“Project/NewCCSProject”。(2)在“ProjectName”字段設置工程文件名;可采用默認路徑,選擇“Browse”,可設置其他路徑。(3)在菜單“Target”中選擇芯片,在“Connection”中選擇仿真器型號,高級設置中的內容直接使用默認設置就可以,設置完成后單擊“Finish”。(4)新建源文件:選擇菜單“Window/ShowView/Other”下的C/C++/C/C++Projects中項目,右擊項目,并選擇“File/New/SourceFile”,在打開的文本框中,設置源文件名稱和源文件的類型。4.3CCS的應用4.3.1創建CCS工程(5)添加已有的源文件:右鍵單擊工程,選擇需要添加的文件,選擇“AddFilestoProject”,將文件添加到項目中。(6)當所有的文件都添加完成后,對源文件進行編譯選擇“Pro
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年冶煉鉛行業深度研究報告
- 2025至2030年中國物業管理行業發展預測與投資戰略咨詢報告
- 2025至2030年一進四出銅閥項目投資價值分析報告
- 2025年高溫玻璃棉保溫材料項目可行性研究報告
- 小兒吸入性肺炎護理查房
- 培養專家型校長的有效路徑與實施策略
- 海洋能大規模應用的路徑與解決方案
- 2025年柴油機油箱開關項目可行性研究報告
- 水中生產文員培訓
- 2025年干發浴帽項目可行性研究報告
- 英語-北京市朝陽區2025年高三年級第二學期質量檢測一(朝陽一模)試題和答案
- 河南省鄭州市河南測繪職業學院2024年4月單招考試語文試卷
- 人工智能時代弘揚教育家精神的價值意蘊與實踐路徑
- 公司安全事故隱患內部舉報、報告獎勵制度
- 雷雨第四幕完整版
- 閩價〔2000〕房字422號
- 績效考核:銷售崗位KPI績效考核
- 淺談船用陀螺羅經維護與保養
- 學校道排工程施工組織設計方案
- 物業管理考核評分表
- 太上玄門晚壇功課經
評論
0/150
提交評論