【內容簡介】 DSP的結構特點和TI DSP的概況 C2000TM系列DSP的優勢、特點、軟硬件設計要點(結合馬達控制應用實例): l C2000系列DSP處理器結構及特點 l C2000外圍接口應用實例分析 l 最新推出的高性能控制應用DSP——TMS320C28XX的結構特點 l DSP系列處理器在典型控制系統中的優勢 l 電機控制系統的控制方法 l 電機控制系統的硬件結構 l 電機控制系統的軟件結構 l TMS320C2000應用于控制系統的設計實例
視頻壓縮算法與技術: l 視頻系列標準概述 l MPEG-4算法介紹與特點分析 l H.264算法介紹與特點分析 l 目前主流的視頻應用對應視頻算法的要求及特點分析
DM64x系列DSP的優勢、特點、軟硬件設計要點(結合視頻處理應用實例): l 視頻處理系統對系統特殊要求 n 高速處理能力 n 大容量存儲器 n 高速數據通道 n 專用的視頻接口 l DM642對音視頻處理的支持 n DM642的在會議視頻,圖像監控和視頻終端領域的應用前景 n DM642的高速DSP并行處理內核 n DM642的高速視頻口(VPORT)和視頻FIFO的配置 n DM642的66M PCI接口 n DM642的以太網接口 n DM642的McASP音頻口 n 增強型EDMA應用舉例 l 基于DM642的多路視頻處理卡的實現 n DM642的的視頻采集可回放的硬件連接 n DM642的的視頻采集和回放的驅動程序流程 n DM642的和其他外設的連接方法 n BGA設計技術 l 高速數字處理系統的電磁兼容性問題考慮 n 模擬電源和數字電源電路 n 多層電路板設計規則 n DM642硬件設計時的注意事項 n DM642板調試指南
]]>表1 TD-SCDMA主要參數
載波帶寬 mscbsc 移動通信論壇擁有30萬通信專業人員,超過50萬份GSM/3G等通信技術資料,是國內領先專注于通信技術和通信人生活的社區。+R0_1V$K)J0s |
1.6MHz |
最小頻譜 移動通信,通信工程師的家園,通信人才,求職招聘,網絡優化,通信工程,出差住宿,通信企業黑名單(Z/B"T(C/h1A#H |
1.6MHz MSCBSC 移動通信論壇%i#y2@#A)\%p$^$I,] |
雙工型式 |
TDD |
多址方式 |
TDMA,CDMA,FDMA |
碼塊速率 |
1.28Mc/s mscbsc 移動通信論壇擁有30萬通信專業人員,超過50萬份GSM/3G等通信技術資料,是國內領先專注于通信技術和通信人生活的社區。9x7q R0Q(?4C!q7] |
調制 w1.mscbsc.com!i$A9z*~4E)u |
QPSK 8-PSK |
最大蜂窩范圍 |
40km |
最大音頻容量(Erl.) |
EFR:55 移動通信,通信工程師的家園,通信人才,求職招聘,網絡優化,通信工程,出差住宿,通信企業黑名單0J"\8P+`4d!`/h'G8w%u6w*n |
數據流量 w1.mscbsc.com+p'D-u5q4w)w5w9Z+k-u |
6Mb/s |
理論最大數據率/用戶 |
325kb/s/MHz/cell $o)A!?9]5P#Y |
系統對稱性(DL:UP) 移動通信,通信工程師的家園,通信人才,求職招聘,網絡優化,通信工程,出差住宿,通信企業黑名單2](w+?$?;M2b9r ~ |
1:6-6:1 4C4r2z#].v z:U'X*[ |
圖1 TDMA/TDD
圖2 不成對頻段與成對頻段
圖3 集成TDMA/TDD和CDMA的操作
As the ADV202/ADV212 follows the JPEG2000 (J2K) -ISO/IEC15444-1 image compression standard, it will be compatible with imaging applications that adhere to this standard. Below are links to companies that provide products and services in conjunction with JPEG2000, from software codecs to hardware and software design:
>DSP的優勢
要了解DSP的優勢,就必須明白DSP與傳統微處理器在硬件基本架構上的不同。
Von Neumann與Harvard基本架構
所有的微處理器都是由幾個基本的模塊所組成:運算器以完成數學運算、存儲器和解碼器以完成類比信號與數位信號間的轉換。在程序中,在每一周期必須告知微處理器要做些什么。因此微處理器必須從儲存程序的存儲體取得控制指令與一些數據而加以運算。但是對于所有的微處理器并不是使用相同的方法,一般來說可分成Von Neumann與Harvard二種基本架構,同時又有取其二者優點而衍生出多種的混合改良架構,在增加存儲器與周邊裝置后,就成為能作為數字信號處理應用的微處理控制器。
Von Neumann結構成為電腦發展上的標準已超過40年,基本結構是非常簡潔,程序與數據二者能夠存儲在同一存儲映射空間(memory-mapped space),這種結構的形成是基于大多數一般用途的程序要求,如x86系列。而其缺點是僅有一條總線來共享數據和程序地址,因此同一時間僅有一數據存儲單元或是程序存儲單元能被進行存取操作。
能在讀取執行程序的同時訪問數據存儲空間是有效加快數據處理的重要方法,Harvard結構具有分離程序和數據的存儲空間,兩根總線分別處理不同的地址單元,以確保數據和程序能同時并行的存取,以增加處理速度。這種分離的總線架構可將程序執行分成尋址、解碼、讀取、執行四個工作階段,每一指令必須4個指令周期才能完成,并且同一時間可以有4個指令進入微處理器內處理,當在第4個指令周期后,每一指令周期就有一個指令執行,此時程式是以最高的效率的執行。但需要指出的是,當執行選擇指令如跳躍或比較指令時,由于必須等到指令執行產生的結果后,才知道要跳躍的位置與下一個指令,在此之前所輸入的指令會變的無效,而必須重新輸入新的指令,因此會產生所謂的選擇延時或選擇等待等現象,使得程式執行效率大幅降低至與Von Neumann結構差不多,所以一般當程序需要大量的比較或跳躍語句的場合,如人機交互的介面(這是絕大多數PC機用戶的主要操作方式)等,Harvard架構并不會比Von Neumann結構有更好的性能。
毫無疑問,程序執行速度的增加的同時硬件的成本也相應的增加,分離的數據存儲空間和程序存儲空間就需要兩個不同的數據尋址和與程序尋址的硬件接口。因此能發現在價格與性能間取得折衷的方法,才算是一個較佳的解決方案, 于是產生了Modified Harvard架構,這種架構僅有一個外部總線(以減少接口數),同時有程序與數據兩個內部總線,可以減少成本并維持顧客對運算速度的要求。
由此可見,在個人電腦這樣需要大量的選擇跳躍語句進行人機交互的處理器還是選擇Von Neumann架構(即傳統的CPU 如x86、Pentium等)更加的合理,而在數字視音頻領域進行數字信號的傳輸處理,并不需要大量的選擇語句時, Harvard架構及Modified Harvard架構就顯得更加的適合。
DSP的Modified Harvard架構
DSP是屬于Modified Harvard架構,即它具有兩條內部總線,一個是數據總線,一個是程序總線;而傳統的微處理器內部只有一條總線供數據傳輸與程序執行使用; 從上面我們已經看到Modified Harvard架構在大量數學運算方面有著強大的優勢,在DSP內部具有硬件乘法器,大量的寄存器,目前最快的可在一個指令周期內完成32bit乘32bit的指令,而傳統的微處理器運算系以微代碼來執行,遇到乘法運算指令時就得消耗掉好幾個指令周期,加上傳統的微處理器中的寄存器較少,不得不經常從外部儲存器傳輸數據來進行運算,而DSP指令具備重新執行功能,因此在數學運算速度超越一般傳統的微處理器。
例如當執行循環控制語句時,傳統的CPU會以某一暫存器當初始循環數index,然后以比較跳躍的方式來達到循環控制的目的,此時程序會重復做比較運算直至index為0;而DSP內建硬體repeat count指令來直接對硬件決定下一個循環指令的執行次數,如此可大量減少程式的執行時間。
又如在做數字信號處理時最常出現乘加的運算(如ax+y),DSP針對此項需求而特別設計了一個硬件的MAC unit,使得在一個指令周期內即可完成乘加的運算,若再配合repeat指令,便可以將乘加運算的速度大大提高。同時因為DSP有分離的程序與數據的總線,所以一條指令能同時定址訪問程序和數據的存儲單元,完成兩個變量的運算。必須注意a為一維常量放在程序存儲單元,而X為一維變量放在數據存儲單元;若系數a會隨程序運算而變動時,DSP內建一小塊Dual-Access RAM (DARAM)的存儲區域,可由程序將此區域設定為程序存儲區域或數據存儲區域,利用此存儲區域可完成可變系數的計算。
歸納起來DSP具備有以下的特點:(1)內建乘法累加器;(2)指令管線化;(3)多總線與存儲空間;(4)循環尋址與位重新尋址;(5)零負荷循環運算;(6)晶片內含存儲體與存儲體介面。
DSP在音頻領域的應用
由于不存在線形放大電路非理想傳輸函數所造成的失真缺點,運算速度又比傳統微處理器快,DSP已普遍應用于視音頻領域的合成、辨識與編碼;由于對硬盤存儲容量的要求日益提高,使得對VCM(VOICE COIL MOTOR)的定位精度的要求也越來越嚴謹,DSP IC已成為高容量硬盤機的核心元件;DSP還廣泛應用在DAT、DLT等磁帶機上,用以控制轉速與磁頭讀寫位置;應用于全球定位系統(GPS)的接收機之相關器(CORRELATOR)上,提供計算衛星所發射的射頻信號至接收器距離的功能。圖象處理的離散余弦變換(DCT)應用;電視信號的抗多經干擾(Ghost Cancellation) 。至于對模糊失真控制(Fuzzy Control)的大量浮點運算,能達到即時要求,更是得心應手。
下面將著重介紹一下DSP在音頻信號上的各種應用
在音頻訊號處理方面的應用,包括如下重點:
主動噪聲控制
傳統的被動式隔音方法,單純以隔音材料阻隔噪聲,對中、低頻噪音源產生的噪聲幾乎無阻隔能力,因此必須以厚重的隔音材料方能產生效果。主動噪聲控制是以電子閉回路控制的方法,產生和原始噪聲反相的聲音,以抵消原噪聲(如圖-1)。其優點在于它對于抑制低頻噪聲極為有效。其應用上的限制在于它無法控制中高頻段的噪聲(1.5K赫茲以上)
![]() |
在通訊的各個環節,都可能產生惱人的噪聲,其綜合的影響,便是降低通訊效率、成功率。主動噪聲控制技術能在很多層面提高信噪比,且和傳統簡單的濾波器相比,它能動態地適應各種狀況,過去濾波器所無法處理的不確定噪聲也可相當程度地克服。
語音訊號處理
雖然目前許多資料已由數位編碼后,經原有的語音通訊通道收發。但語音仍然穩占所有通訊含量的第一位。對語音訊號的處理的需求,近年來呈現指數增長。語音技術可分為如下四項:語音增強(Speech Enhancement),語音辨識(Speech Recognition) ,語音編解碼(Speech Coding/Decoding),回聲抑制(Echo Suppression)。語音增強
在語音信號的獲取手段上,各種拾音器(麥克風)皆有其不同的頻響、方向性、穩定性、拾取機制,多個不同特性的麥克風組合陣列更可滿足使用者在各種頻段對訊號的多種不同要求(如圖-2),在滿足噪聲控制的任務下所取得的對電聲系統的有效把握,使我們能滿足各種用戶系統對信號拾取的要求。
圖-2
![]() |
在信號處理上,針對應用場合、背景噪聲特性、語音清晰度對可允許的語音失真的相對要求等 ,我們可制定不同的方案,以滿足任務需求。例如,語音識別軟體對語音信號的要求,就有別于人耳對語音信號的要求,因此,在完成通訊時,和在完成語音識別任務時,需使用不同的程序。針對不同任務研發機構若不能對語音特性具備全面的了解與把握,是無法在這上面取得真正優化的結果。
此外,DSP技術在高速執行單通道信號的檢波,多通道信號的對比,其速度可以做到讓使用者無法感到時間有延遲,在感覺上完全是實時工作的效果。
語音辨識
語音識別系統的核心,應具有硬件要求少,自含時間矯正,和能量矯正的特點。目前已實際應用的為小辭匯量(200字)系統的獨立語音識別,中辭匯量(1800字)的核心亦完成。在自動語音識別的發展方向上,將集中於發展語音控制技術,而非語音輸入技術。重點在于首次識別的準確率,而非混合語意的輔助識別。
語音編、解碼
由于在DSP具有語音處理上的強大功能,因此才有可能在語音編碼的設計、使用上,偏重使用壓縮比較高的“編碼激勵線性預測”(CELP)型算法。目前使用的開放標準為ITU的G.723.1,這種算法廣泛使用于IP的編解碼上,具有6.3Kbps和5.3Kbps兩種傳輸率,語音品質高,抗噪聲能力和計算負荷適中?商峁┯脩羰褂渺陡鞣N平臺上。同時,專屬的2.4Kbps的語音編碼算法也在開發中,預計該算法將在語音品質、抗噪聲能力、語音壓縮比、計算負荷、計算延時上取得更好的平衡。因以硬體性能不斷的提升,會適配較大的計算量的編碼方式,根據信息論的原理,若在不降低確定的信號指標的條件下,如果采用高的壓縮比方式則必然相對的應用大運算量的編解碼方式,以在高壓縮比的情況下取得較好的音頻性能。
回聲抑制
在長距離通訊及活動通訊中,經常會被回聲所困擾。無論是線性回聲,或是音響回聲,當延時超過0.5秒 ,都會在接收端清晰的收到。針對這兩種現象,各有適用的回聲抑制算法;贒SP的算法穩定、簡潔,不但抑制響應速度快,而且對Double Talk、Near-End-Speech及靜音狀態,皆能保持降噪性能。同時因為線性回聲時間延遲可在1毫秒到900毫秒的大范圍內變動,同樣有基于DSP專屬的算法來克服這種變異性對系統帶來的額外負荷(在傳統的回聲抑制系統中,300毫秒的延時意味者系統性能價格比的急劇劣化)。而這些算法的源代碼亦能應用在各種通訊平臺上,解決長程通訊各環節所產生的問題。
音樂訊號處理
自從數字化的音樂規范開始流行后,因數字信號處理所附帶的彈性因素,已在影音訊號的儲存 、傳送、播放上,產生了許多開放規范和專屬規范。對使用者而言,它們帶來的效果,除了更耐久更廉價的儲存媒介、更多元化的接收管道外,也包括更絢麗的視聽效果。但在終端獲得和原始影音信號源相當的影音效果,到目前為止都仍然是昂貴且不見得有效的。為了實現所謂的“環場音效”,目前已有諸如Dolby Surround、Dolby ProLogic、AC-3 、THX等各式開放規范,也有商品化的解碼晶片。但整個環節中最弱的一環,是在由揚聲系統到人耳的這一段。這一段的傳遞函數因不同的聽音者,不同的聽音環境而隨機的改變,甚至差異極大。原始錄音工程師的心血,在這一段經常被糟蹋無遺。而且和傳統音響系統相同,這個性能最不容易把握的環節,往往也是投資昂貴的一個環節。
針對這一環節,DSP提出的解決方案。是獨立于上述開放規范之外,來建立一個近似環場音效系統,在信號后期處理階段,則以更人性化的雙聲道,來模擬上述規范所要求的四加一或五加一聲道的要求,并
且以DSP動態的 補償聲場的變異,基本上可以做到使用一個低成本基于DSP技術的系統去替代昂貴的非DSP的高檔系統,完整還原原始錄音效果。(如圖-3)
DSP以其強大的運算能力及優良的性能價格比已經成為越來越多的數字化視音頻設備的核心構件,隨著科技的進步,DSP技術的日益完善,相信DSP的未來就是數字化音頻領域的未來。
]]>圖3 位平面編碼三個通道系數編碼數量變化示意圖
通過對壓縮性能研究發現,在壓縮比較小時本文改進算法比標準算法的壓縮性能約低0.4db左右,在壓縮比較大時兩者的壓縮性能相一致,保留了JPEG2000優異的壓縮性能;從編解碼時間來看,在有損壓縮編碼執行時間上,本文所給出的改進算法比標準算法時間縮短8%到12%,解碼時間縮短2%到5%,提高了編碼效率,達到了改進的目的。
3 JPEG2000標準中改進算法的DSP實現
3.1 DSP硬件開發平臺
本文使用評估板是北京聞亭公司的TDS642,板上的DSP芯片是TMX DM642,BGA548封裝,內部工作時鐘為600M,外部總線時鐘為100M,計算能力高達4.8億指令每秒。
該平臺提供了豐富的外圍接口。板上有兩個復合視頻(PAL/NTSC/SECAMS)輸入和1個復合視頻輸出端口;立體聲輸入/出或單一麥克風輸入端口;提供兩個UART、以太網接口、子板接口、PC104接口和JTAG接口[6][7]。板上還提供了4M Bytes的Flash存儲器,位于DM642的CE1地址空間,寬度為8bits,FPGA擴展了3根地址線,把Flash分成8頁,Flash 的第0頁的前半頁存放用戶的自啟動程序,后半頁存放FPGA程序,第1頁尾用戶存放數據空間,第2頁至第8頁用于存放用戶程序。
3.2 核心算法的DSP實現
(1)算法總體框架。本文算法基于DM642EVM實現時主要分為兩個大的模塊(如圖4),第一部分為DWT變換模塊,它將輸入圖像數據變換為一系列的小波系數;第二部分為EBCOT算法模塊,將量化后的的小波系數編碼生成壓縮碼流。硬件開發平臺結構框圖如圖5所示。
圖4 算法框架圖
圖5 算法硬件開發平臺結構框圖
(2)內存分配。對于圖像數據的處理,往往涉及到大量的復雜的數據尋址計算,對于復雜的尋址計算,其耗費CPU的計算量可能比實際數據操作的計算量還大。所以要加快CPU對數據的訪問速度,不但要求存儲器本身的速度快,而且還需要一個合理的數據結構來簡化CPU對地址的計算。另外,DM642對數據的訪問技術,如Cache、EDMA和寬bit數據直接讀寫等,都是基于存儲地址的連續性;谝陨峡紤],本文在內存分配及定位時,依據以下大的原則:第一,在滿足精度要求的情況下,使用較短的數據類型;第二、大的數據塊,如原始圖像、重構圖像存儲在片外SDRAM;第三、關鍵數據、小的數據塊,比如運算時的系數、系統堆棧、三個通道掃描都需要頻繁的訪問數據區和上下文標志區等,存放到片內存儲器;第四、對L2級配置足夠的Cache以便CPU對數據的快速讀寫;第五、對于具有運算相關性的數據,應在內存中按序連續排放。當涉及到片內外數據塊的搬移操作時,可由DM642的EDMA單元去完成,它可與CPU并行工作,不占用CPU的計算周期[8]。
(3)圖像數據的讀寫。由于本文工作主要完成針對圖像的壓縮功能,不涉及圖像采集,所以在圖像數據的輸入輸出上做了適當的處理?紤]到CCS的Simulator完全支持C/C++語言,因此原始圖像數據的輸入采用C語言中的頭文件形式,小波變換模塊,EBCOT算法模塊采用存放在PC機的數據文件形式。本文主要采用頭文件和二進制數據文件的形式,將圖像的非文件頭部分的所有數據通過“fprintf(fp,“%3d,”,image_in [i][j])”語句寫到.h文件中。
(4)DWT的實現。由于DM642為定點處理器,不適合于浮點運算,所以本文選擇LeGall(5,3)整數濾波器完成JPEG2000中的小波變換。在進行小波變換時,首先定義兩個與圖像塊大小相等的存儲緩沖器,一個是圖像片數據的輸入緩存Buf,一個是用來臨時存放圖像片數據經小波變換后的結果緩存TempBuf。每經過一級小波變換,圖像片數據都要先后兩次經過integer(5,3)的低通和高通濾波。TempBuf中保存的高通濾波數據經integer(5,3)濾波器處理后,得到HL子帶和HH子帶的小波變換系數。最后將變換結果存放到輸入緩存Buf中。若要進行下一級分解,只需對Buf中LL子帶進行同樣處理
eVRU 是TES專為DSP引擎開發功能強大的矢量渲染庫,提供業界標準 OpenGL ES 1.1 API。過往提供圖形功能的多媒體架構需要專用的引擎或硬件模塊來執行系統內的不同功能。然而,使用MM2000架構,eVRU 采用用于視頻/音頻編碼和解碼的單一CEVA-X DSP內核即可作為圖形渲染的引擎,不需要任何額外的加速器或專用硬件。
今天,許多便攜式設備包括蜂窩手機、智能電話、便攜式媒體播放器 (PMP)、便攜式導航設備 (PND) 和數碼相機等,都需要高質量的實時圖形渲染功能。CEVA經生產驗證的便攜式多媒體引擎與TES的先進圖形庫相結合,使得MM2000客戶能夠滿足這個需求,并且大幅降低3D多媒體處理器的總體成本,以及縮短上市時間和系統設計時間。MM2000支持多種視頻格式,包括H.26?、MPEG-4、VC-1、RMVB、DivX、AVS 和高達D1分辨率的H.263,在音頻/視頻以及2D/3D支持方面,為設計人員帶來了全面的靈活性以實現產品的差異化。
TES 設計服務及技術副總裁 Juergen Zeller 稱:“現在,用戶要求其便攜設備具有前所未有更精密及更豐富的用戶界面和功能。因此,3D圖形處理能力經已成為面向手持式設備市場的多媒體引擎的首要條件。TES很高興與CEVA合作,使用其eVRU技術,讓用戶輕易將先進的3D圖形功能集成于多媒體處理器IC中,無需任何額外的硬件加速器。”
CEVA企業市場拓展副總裁Eran Briman稱:“與TES結成合作伙伴關系,是我們以‘全軟件式’架構實現多媒體的又一個重要例證。除了2D/3D圖形軟件外,我們可讓客戶挑選任何數量的多媒體編解碼器,在基于MM2000的設計上運行。能夠利用處于MM2000核心DSP引擎的能力,再加上蜂窩基帶、GPS、DVB-H和藍牙等附加功能,我們的解決方案現可提高融合和差異化能力的行業標桿!
CEVA MM2000便攜式多媒體處理器解決方案圍繞單個CEVA-X DSP內核而設計,無需任何加速器或專用引擎來進行視頻及音頻處理,且具有先進的開發工具套件支持。這兩大優勢可以顯著簡化開發流程,將多媒體產品的開發時間縮至最短。此外,作為MM2000核心的通用開放式CEVA-X DSP讓設計人員能夠在同一個解決方案中,集成除視頻以外的額外功能,例如音頻、語音、藍牙、GPS、圖像增強、蜂窩基帶功能或任何需要信號處理能力的專有算法,都能利用DSP內核引擎,從而降低具視頻功能產品的成本并增強其差異性。
關于TES Electronic Solutions公司
TES Electronic Solutions公司是致力于為眾多技術和服務行業提供創新定制解決方案的全球電子服務企業。TES的解決方案包括集成電路、軟件、硬件和系統。該公司通過其17個設計和制造據點,為世界各地的藍籌公司提供解決方案。TES擁有提供咨詢和IP授權的專有知識和資源,并且專注于通訊 (DECT 和 UWB)、位置及導航技術。TES的“創制設計和制造”(CDM) 解決方案為客戶提供系統或子系統,能夠改善客戶的現有運作,或者讓客戶以最快的速度掌握市場機遇。TES總部位于法國西北部Langon-sur-Vilaine,擁有900名員工,其中500名為設計工程師。該公司擁有15個設計中心和項目辦事處,分別位于美國硅谷;英國愛丁堡;法國巴黎、雷恩、格勒諾布爾、尼斯;德國斯圖加特、杜塞爾多夫、漢堡、柏林、紐倫堡、慕尼黑;印度班加羅爾和日本東京。兩個工廠則位于法國雷恩和馬來西亞檳城。
關于CEVA
CEVA 公司總部位于美國加利福尼亞州圣何塞,是專業向移動手機、消費電子和存儲市場提供硅知識產權 (SIP) DSP內核和平臺解決方案的領先授權廠商。CEVA的IP系列包括面向多媒體、音頻、分組語音 (VoP) 、藍牙 (Bluetooth) 和串行 ATA (SATA) 的廣泛全面的平臺解決方案,以及各式各樣的可編程 DSP 內核和針對多個市場的不同性價比子系統。2007年,CEVA 的 IP 在2.25億個系統設備上使用。
![]() |
ADmC812和TMS320F206簡介
ADmC812微轉換芯片
ADmC812是具有16位計數/定時和32條可編程I/O接口的8051/8052微控制器,內置一個8通道、5ms轉換時間、精度自校正、12位逐次逼近的ADC;2個12位DAC,10.5KB的閃存EEPROM,256字節的SRAM。還包括一些重要功能模塊,如看門狗定時器和電源監控器,ADC與數據存儲器之間的DMA方式,存儲保護功能,一個通用異步串行收發器(UART)、SPI和I2C總線接口。
ADmC812內豐富的外設,使它不需要外部總線擴展就可以組成一個完整數據采集系統,有很高的性價比。更值得注意的是在ADmC812內集成了8路12位高精度、自校準4ppm/℃的ADC電路。而且,當工作條件(如時鐘頻率、模擬輸入范圍、基準電壓或電源電壓)發生變化時,為了得到高精度的ADC結果,可以用軟件對ADmC812內4個用于校正的特殊功能的寄存器設置,達到進一步校正ADC的目的。ADmC812通過設置ADCON1~3 三個特殊功能寄存器,可以使ADC工作于3種不同的模式,實現單次轉換、連續轉換和DMA模式的A/D轉換,可以根據具體的需要選擇,在DMA模式下,允許ADC在每次設置寄存器ADCCON1~3后連續采樣,并將結果寫入外部RAM中。這種自動捕獲功能大大地方便了主從處理器之間的數據交換。
數字信號處理器TMS320F206
TMS320F206(以下簡稱F206)是TI公司生產的TMS320C2000系列DSP之一。是繼C2X和C5X之后推出的低價格高性能的16位定點DSP,由于它采用了改進的哈佛結構,具有分離的程序總線和數據總線,采用四級流水線作業,其運行速度可達40MIPS,具有高速運行的特點。同時提供豐富的指令集,增強的模塊化結構設計,使它通用化得以提高,應用領域不斷拓寬,現已成為高檔單片機的理想替代品。F206片內有32K的閃速存儲器,用戶通過F206自帶的、符合IEEE標準1149.1的JTAG接口,可以對程序進行仿真與調試,并將程序代碼燒錄到片內,極大地方便了用戶的系統設計與程序調試。
TMS320F206提供直接存儲器訪問(DMA)功能,通過使用HOLD操作允許對外部程序、數據以及I/O空間進行直接存儲器訪問。該過程是由、兩個信號控制。外部設備可以把引腳驅動到低電平,從而請求對外部總線的控制。如果中斷線被允許,那么將觸發中斷。F206在相應中斷時,軟件邏輯可以使處理器發出應答信號,表示它將放棄對外部總線的控制。根據,外部地址信號(A15~A0)、數據信號(D15~D0)以及存儲器控制信號(、、、、、、)被置為高阻狀態,實現DMA功能。
系統硬件設計
系統的硬件結構如圖1所示,存貯器62256作為DSP的全局數據存儲器,同時又是ADmC812的外部存儲器,兩控制器分別通過總線和數據存儲器62256相連,實現存儲器共享。為了保證兩控制器能分別獨立地工作。在ADmC812和62256之間插入了4片74HC245進行總線隔離。這樣,在ADmC812的控制下,每一時刻只有一個控制器訪問62256。圖中62256作為ADmC812的外部存儲器,A15為片選信號,地址范圍為8000H~FFFFH;作為F206的全局數據存儲器,用作片選線,使用高端32K字地址范圍(8000H~FFFFH)。兩片選信號經一與非門和62256的片選線CS2相連,實現片選信號的隔離。
ADmC812通過P1.0、P3.2(INT0)分別和DSP的、XF腳相連,由P1.0向DSP申請總線控制,在DSP響應ADmC812的請求后,DSP的CPU被掛起,并出讓外部總線。ADmC812通過A15打開總線驅動器,并經與非門后選中62256,獲得62256的控制權,實現對62256的讀寫操作。而F206也可以通過向ADmC812請求中斷,ADmC812在響應中斷INT0后,進行相關事務的處理。另一方面,ADmC812通過讀引腳的電平,可以確認F206是否被掛起;而通過對腳的控制,實現F206程序的分支轉移,增加系統的靈活性。
整個系統分為事務性模塊和數據處理模塊,ADmC812控制事務模塊,進行數據的采集、LED顯示、開關量的輸入輸出,模擬量的輸出及串行通信等功能。F206控制數據處理模塊,主要進行數據的處理,完成復雜的算法。另外,也可以根據數據處理結果直接處理一些重要的出口控制功能,以彌補ADmC812 I/O端口的不足,加快系統的反應速度。兩個相對獨立的功能模塊通過62256進行數據交換。
系統軟件設計
由于系統的兩個模塊在功能上相對獨立,相應的軟件也包括兩個主要模塊,ADmC812在程序加載完成后,就進入程序正常運行。系統初始化后,首先通過P1.0向F206請求DMA操作,且得到響應后,ADmC812獲得62256控制權。這時,通過配置3個特殊功能寄存器ADCCON1~3,可以使ADmC812工作在不同的模式下。其中在DMA模式下,ADC可以連續轉換,并把采樣值捕獲到外部RAM空間而不需要來自微處理器的任何干預,由中斷位ADCCON2.7表示DMA轉換結束。在A/D轉換結束且采樣點達到預定的數量后,ADmC812就通過ADC中斷,放棄對62256的控制并通知DSP進行數據處理。而后ADmC812進入顯示、鍵功能、I/O操作、串口通信等事務性的工作。
F206在接收到ADmC812的DMA請求后,進入到等待狀態,并放棄對外部總線的控制權。62256通過ADmC812獲得采樣數據,當采樣結束后,DSP從等待狀態返回到正常運行狀態并獲得總線的控制權,進行數據處理,將運算結果放回62256。F206的DMA操作過程是:F206引腳/上獲得一個有效的下降沿,當CPU轉移到0002H地址單元,CPU從0002H地址單元提取中斷矢量并進入中斷服務程序,在對MODE=0進行成功的測試后,該中斷服務程序就執行一個IDLE指令,使F206進入到等待狀態。當檢測到/腳上的一個上升沿后,CPU退出IDLE狀態,并使外部總線返回其正常狀態,執行數據處理程序。
軟件使用C語言設計,分別在兩個開發系統上進行程序設計和調試。利用ADI公司提供的軟件開發工具,能夠快速高效地完成ADmC812應用程序的設計,并通過ADmC812的通用串行口在線調試和代碼下載。F206用聞亭公司提供的TDS-510開發工具進行軟件設計。最后將ADmC812和F206進行聯機調試,完成整個軟件的開發。
結語
以上設計方案,適合于采集數據量大、算法復雜、有一定實時要求的應用領域。由于雙CPU系統無需額外的附加雙口RAM、FIFO及復雜的控制電路,降低了成本,簡化了電路,也擴展了ADmC812的應用范圍。
Apollo-1多媒體處理器瞄準便攜式媒體播放器 (PMP)、移動電視、智能手機、數字相框、網上數字廣播、視頻電話、車載娛樂和個人導航設備,充分發揮MM2000 核心的高功效 CEVA-X DSP 內核的優勢,可處理多標準的視頻解碼和編碼功能。與為每一項標準采用一個CPU結合硬件多媒體加速器的傳統架構相比,MM2000可為多媒體加速提供全面的靈活性和出色的性能。四川虹微是第三家開始付運基于 CEVA技術的多媒體處理器之MM2000 獲授權企業。
Panovasic 將繼續開發 Apollo 系列處理器的新版本,并充分利用MM2000 豐富的多媒體功能,以滿足大范圍便攜式應用的需求。MM2000的完全可編程架構允許 Apollo 處理器支持多種視頻標準,包括 H.264、MPEG-4、VC-1、以及高達D1分辨率 (720x576/30fps)。對于Apollo 產品未來的更新換代,虹微公司能夠在現有的MM2000引擎上加入其他視頻和音頻編解碼器,而無需進一步修改硬件。
虹微公司技術部部長陳勇稱:“CEVA公司的MM2000便攜式多媒體解決方案為我們提供了靈活的完全可編程引擎,以軟件形式開發視頻編解碼器,省去任何硬件多媒體加速器。我們的Apollo-1處理器充分利用這一性能和靈活性,支持多種視頻標準,這種需求對現今的 PMP和“始終連接”的便攜式多媒體設備是至關重要的。”
CEVA 企業市場拓展副總裁 Eran Briman 稱:“我們很高興與四川虹微合作,幫助他們使用基于CEVA技術的 Apollo-1系列處理器進入便攜式媒體處理器領域。四川虹微利用CEVA基于DSP解決方案的固有優勢,滿足其多媒體處理需求,并支持廣泛的視頻標準。通過采用這種多標準“全軟件式”多媒體方法,虹微公司能夠以單一處理器滿足多個終端市場的需求,從而降低不同產品的設計和生產成本!
CEVA MM2000 便攜式多媒體處理器的解決方案是圍繞單個CEVA-X DSP 內核而設計的,不但無需任何加速器或專用引擎來進行視頻及音頻處理,而且還具有先進的開發工具套件支持。這兩大優勢可以顯著簡化開發流程,將多媒體產品的開發時間縮至最短。此外,作為 MM2000 核心的通用開放式CEVA-X DSP可讓設計人員在同一個解決方案中,集成視頻以外的額外功能。例如,音頻、語音、藍牙、GPS、圖像增強、蜂窩基帶功能或任何需要信號處理能力的專有算法,現在都能夠利用DSP內核引擎,來降低具多媒體功能產品的成本,并突出其差異性。
]]>1 CCSLink及ETTIC2000概述
Matlab具有強大的分析、計算和可視化功能,但處理速度慢;DSP具有快速的信號處理能力,但是其CCS的編譯環境中數據可編輯和分析能力不如Matlab;而MathWorks公司和TI公司聯合開發的Matlab Linkfor CCS Development Tools(CCSLink)和EmbeddedTarget for the TI TMS320C2000 DSP Platform(ETTIC2000),CCSLink提供了Matlab和CCS的接口,能把Matlab和TI CCS及目標DSP連接起來。利用此工具可以像操作Matlab變量一樣來操作TI DSP的存儲器或寄存器。CCSLink支持CCS能夠識別的任何目標板(C200,C5000,C600),此工具用于DSP程序的調試過程。而CCSLink與ETTIC2000的配合使用,可直接由Matlab的Simulink模型生成TIC2000DSP的可執行代碼,能在集成、統一的Matlab環境下完成DSP的整個開發過程。
2 CCSLink環境下的DSP調試
CCSLink向用戶提供了3個組件內容,如圖1所示。
![]() |
2.1 CCSLink的接口對象
2.1.1 CCS IDE的連接對象
該對象支持TI的C2000/5000/6000系列DSP,利用此對象可創建CCS IDE和Matlab的連接。用戶可以編寫用于DSP程序的Matlab語言批處理腳本,從Matlab的命令窗中直接運行CCS IDE中的應用程序,向硬件DSP的存儲器或寄存器發送或取出數據,檢查DSP的狀態,停止或啟動程序在DSP中的運行。
2.1.2 與RTDX的連接對象
該對象提供Matlab和硬件DSP之間的實時通信通道。它允許用戶在主機和目標板之間進行實時的數據交換而不用考慮目標程序的運行。RTDX連接對象實際上是CCS連接對象的一個子類,在創建CCS連接對象的同時創建RTDX連接對象,它們不能分別創建。
2.1.3 嵌入式對象
在Matlab環境中創建一個可以代表嵌入在目標C程序中的變量的對象。利用嵌入式對象可直接訪問嵌入在目標DSP的存儲器和寄存器中的變量,即把目標C程序中的變量作為Matlab的一個變量來對待,并把編輯后的信息反返回到DSP程序中。所有這些操作均在Matlab環境下完成。
2.2 CCS IDE連接對象應用
CCS IDE連接對象提供Matlab與CCS IDE和目標DSP的連接,利用此連接可以在Matlab環境中控制和操作DSP中的應用程序;利用Matlab中強大的計算、分析和可視化工具來分析和對比目標程序運行過程中的結果;而嵌入式對象則提供Matlab對DSP內存中的變量進行實時訪問和控制,這樣大大縮短嵌入式應用程序的開發調試周期。本文以運行具體程序說明調試過程。源程序PWM.pjt保存在Matlab根目錄下的project文件下。
![]() |
![]() |
從上述程序可知,在Matlab環境下可以完成對CCS工程文件的調入、編譯,生成可執行文件并將其加載到DSP目標板。并且可以通過相應的連接對象和嵌入式對象操作函數,實現在DSP硬件不停止執行程序的情況下對DSP的C語言程序中數據結構變量的讀寫修改。
3 ETTIC2000環境下的直接代碼生成
由第2節中可知,CCSLink為TI DSP實時應用開發的調試和測試階段提供了強大的支持,而ETTIC2000則為TI C2000 DSP實時應用開發的整個過程(概念設計、算法仿真、源代碼編寫、目標代碼生成、調試和測試)都提供了支持。利用ETTIC2000能夠從Sireulink模型自動生成TI(22000 DSP的可執行代碼,并且為TI LF2407 EVM目標板上的I/O設備提供驅動代碼,使得MINULINK模型可以直接在LF2407EVM板上進行實時測試,從而在Simulink統一環境下就可以實現整個硬件在線仿真。
3.1 ETTIC2000應用開發過程
應用ETTIC2000開發實時DSP處理的過翟如下:
(1)概念構思和DSP處理算法設計;
(2)在Simulink環境下,利用DSP BLOCKSET,FIXED-POINT BLOCKSET,C2000 DSPLIB和Simulink等庫中的模塊構建算法模型,并在Simulink環境下進行仿真;
(3)如果Simulink仿真效果滿意,就可以在模型中加入需要的LF2407 EVM目標板上的I/O模塊;
(4)設置REAL-TIME WORKSHOP中的編譯鏈接(BUILD)選項;
(5)利用CCS中的調試工具、CCSLink或RTDX來調試目標DSP中的程序;
REAL-TIME WORKSHOP能夠從Simulink模型中自動產生C代碼并且插入ADC和DAC模塊指定的I/O設備驅動程序。再通過REAL-TIME WORKSHOP面板上的BUILD按鈕,REAL-TIME WORKSHOP會自動產生實時可執行代碼。
3.2 建立Simulink模型
由前述連接對象可知,系統已經正確安裝了TIC2000系列DSP目標板。在Matlab命令窗口輸入:C2000LIB,打開TIC2000的Simulink模塊庫,其模型庫組成如圖2所示。本系統采用2407目標板,因此只用到C2000 Target Preferences和C2400 DSP ChipSupport等模塊。本文以脈寬調制中A/D采樣控制為例,其建立的Simulink模型如圖3所示。
![]() |
3.3 REAL-TIME WORKSHOP選項設置
建立好Simulink模型后,設置其屬性,生成CCS可執行的工程文件。
在Simulink模型窗口選擇Simulation下拉菜單中選擇Configuration Parameters,彈出如圖4所示對話框。在屬性對話框中單擊Real-Time Workshop選項卡,在Category欄中選中Target configuration修改System target file和Template make file文件名。其他選擇默認值,單擊Generate Code,就可以將Simulink模型自動生成CCS IDE的工程文件,并自動調入CCSIDE中,則該工程文件就可以在CCS IDE中編譯下載運行。其生成的工程文件在CCS IDE環境下的載人情況如圖5所示。
![]() |
在直接代碼生成時,Matlab命令窗口返回信息如下:
![]() |
至此,代碼生成并在CCS IDE中編譯完畢。
4 結 語
本文基于Matlab環境對DSP的實時調試及直接代碼生成過程做了詳細的闡述,并結合實例給予演示。實驗證明,應用Matlab對DSP進行實時調試和代碼生成,有效地改變了傳統的設計方法。Matlab的易于操作性有助于在設計早期發現錯誤并進行實時更改。而CCSLINK與ETTIC2000的結合,使得在集成、統一的Matlab環境下完成DSP開發的整個過程.
]]>