版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 摘要</b></p><p> 介紹了一種基于感應(yīng)電機數(shù)學模型,提出了一種基于TMS320F240的全數(shù)字化矢量控制SVPWM交流調(diào)速系統(tǒng),在對系統(tǒng)的總體設(shè)計方案作了分析的基礎(chǔ)上,重點介紹了電流采樣、速度檢測、驅(qū)動保護以及控制系統(tǒng)軟件設(shè)計.結(jié)果表明,該系統(tǒng)硬件結(jié)構(gòu)簡單、實時性強. 基于DSP交流電動機VVVF控制系統(tǒng)設(shè)計方案,采用SVPWM控制策略,具
2、有過調(diào)制功能,當母線電壓波動時,能使PWM波形輸出穩(wěn)定,實驗波形顯示該系統(tǒng)具有較好的性能</p><p> 關(guān)鍵詞:數(shù)字信號處理器;空間矢量PWM;矢量控制系統(tǒng);智能功率模塊; 變頻調(diào)速; 交流異步電機</p><p><b> Abstract</b></p><p> Because of the electrical machin
3、ery mathematics model of reaction , control SVPWM and exchange the speed of adjusting systematically after putting forward a kind of totally digitilized vector based on TMS320F240, on the basis of the thing that the desi
4、gn plan of totality to the system has done analysis , have recommended especially the electric current samples , the speed measure , drive protection and control system software design. The result indicates , hist system
5、 hardware is of simple struc</p><p> Exchange the design plan of the motor VVVF control system because of DSP, adopt SVPWM control strategy, have functions of modulating , when the voltage of bus bar fluctu
6、ates , can make PWM wave form export steadily , the experiment wave form shows that should have better performance systematically</p><p> Key Word:Digital signal processor; Space vector PWM; Control syst
7、em of the vector; Intellectual power module; Frequency conversion adjusts the speed; Exchange the asynchronous motor</p><p> 目 錄</p><p> 摘要……………………………………………………………………………………1</p
8、><p> 目錄……………………………………………………………………………………2</p><p> 緒論 …………………………………………………………………4</p><p> 1.1DSP芯片的概述……………………………………………………………………4</p><p> 1.2采用DSP設(shè)計的優(yōu)勢 …………………………………………
9、…………………4</p><p> 1.3本論文所做設(shè)計要求達到的功能 ………………………………………………4</p><p> DSP的特點………………………………………………………………5</p><p> 2.1DSP系統(tǒng) …………………………………………………………………………5</p><p> 2.2可編程DSP芯片 …
10、………………………………………………………………8</p><p> 2.3溢出問題及其解決方案…………………………………………………………14</p><p> 2.4倍率的問題和解決方案…………………………………………………………14</p><p> 2.5 DSP芯片的定點運算……………………………………………………………15</p>&
11、lt;p> 2.5.1數(shù) 的 定 標 …………………………………………………………………15</p><p> 2.5.2高級語言:從浮點到定點……………………………………………………17</p><p> 2.5.3 DSP定點算術(shù)運………………………………………………………………23</p><p> 2.5.4非線性運算的定點快速實現(xiàn)………………
12、…………………………………27</p><p> 異步電動機調(diào)速的概述以及驅(qū)動電路設(shè)計</p><p> 3.1三相異步電動機的結(jié)構(gòu)和原理…………………………………………………33</p><p> 3.2三相異步電動機轉(zhuǎn)動的基本工作原理…………………………………………34</p><p> 3.3三相交流電動機的旋轉(zhuǎn)原理………………
13、……………………………………34</p><p> 3.4三相異步電動機的調(diào)速…………………………………………………………35</p><p> 3.5DSP控制思想以及PC機與DSP間的通訊 …………………………………38</p><p> 3.6電機的變頻調(diào)速…………………………………………………………………43</p><p>
14、 3.7電壓空間矢量技術(shù)SVPWM ……………………………………………………45</p><p> DSP模塊及其功能………………………………………………………59</p><p> 4.1仿真模塊…………………………………………………………………………59</p><p> 4.2SPI模塊接口 ……………………………………………………………………60&l
15、t;/p><p> 4.3 RS232串行通信接口模塊………………………………………………………61</p><p> 4.4 CAN控制器模塊…………………………………………………………………64</p><p> 4.5模數(shù)轉(zhuǎn)換模塊……………………………………………………………………64</p><p> 4.6儲存器空間………………
16、………………………………………………………67</p><p> 4.7數(shù)字輸入/輸出模塊(I/O)……………………………………………………71</p><p> C語言的開發(fā)…………………………………………………………75</p><p> 5.1 FOC算法………………………………………………………………………75</p><p>
17、 5.2 設(shè)計程序總體思路 …………………………………………………………75</p><p> 5.3 設(shè)計程序 ……………………………………………………………………77</p><p><b> 總結(jié)</b></p><p> 6.1 結(jié)果的 ………………………………………………………………………87</p><p
18、> 6.2設(shè)計總結(jié)體會 ………………………………………………………………87</p><p> 6.3參考文獻 …………………………………………………………………89</p><p> 6.4致謝 …………………………………………………………………………90</p><p><b> 第一章 緒論</b></p>
19、<p> 1.1 DSP芯片概述</p><p> DSP芯片,也稱數(shù)字信號處理器,是一種特別適合于進行數(shù)字信號處理運算的微處理器,其主要應(yīng)用是實時快速地實現(xiàn)各種數(shù)字信號處理算法。根據(jù)數(shù)字信號處理的要求,DSP芯片一般具有如下主要特點:</p><p> (1) 在一個指令周期內(nèi)可完成一次乘法和一次加法;</p><p> (2) 程序和數(shù)據(jù)
20、空間分開,可以同時訪問指令和數(shù)據(jù);</p><p> (3) 片內(nèi)具有快速 RAM,通??赏ㄟ^獨立的數(shù)據(jù)總線在兩塊中同時訪問;</p><p> (4) 具有低開銷或無開銷循環(huán)及跳轉(zhuǎn)的硬件支持;</p><p> (5) 快速的中斷處理和硬件I/O支持;</p><p> (6) 具有在單周期內(nèi)操作的多個硬件地址產(chǎn)生器;</p&
21、gt;<p> (7) 可以并行執(zhí)行多個操作;</p><p> (8) 支持流水線操作,使取指、譯碼和執(zhí)行等操作可以重疊執(zhí)行。</p><p> 當然,與通用微處理器相比,DSP芯片的其他通用功能相對較弱些。</p><p> 1.2 DSP(數(shù)字信號處理器)在電機控制方面的優(yōu)勢</p><p> DSP以運算速度
22、快為顯著特征,而單片機則以數(shù)字控制功能強為特點。電動機的數(shù)字控制既要求控制器有強大的I/O控制功能,又要求控制器有高速的信號處理能力以實現(xiàn)實時控制,因此,世界上各大DSP生產(chǎn)商將DSP的高運算速度與單片機的高控制能力相結(jié)合,開發(fā)出電動機控制的專用DSP。這種DSP還集成了電動機控制所必須的可增加死區(qū)且靈活多變的多路PWM信號發(fā)生器,高速高精度ADC,以及用于電動機速度和位置反饋的編碼器接口等電路,因此可以說這種DSP價格的不斷下調(diào),并與
23、單片機的價格越來越接近,以及其開發(fā)工具價格的不斷下降,一個電動機DSP控制的普及時代已經(jīng)來臨。</p><p> 3 本論文所做設(shè)計要求達到的功能</p><p> 設(shè)計完整的DSP的驅(qū)動電路。</p><p> 運用C語言編程實現(xiàn)驅(qū)動電路的控制功能。</p><p> 在微機中實現(xiàn)虛擬控制,我們在微機上輸入一個轉(zhuǎn)速,電機會按照我們
24、所輸入的轉(zhuǎn)速,轉(zhuǎn)動,實現(xiàn)自動調(diào)節(jié)的功能。</p><p> 第二章 DSP的特點</p><p> 2.1 DSP的系統(tǒng)</p><p> 數(shù)字信號處理(Digital Signal Processing,簡稱DSP)是一門涉及許多學科而又廣泛應(yīng)用于許多領(lǐng)域的新興學科。20世紀60年代以來,隨著計算機和信息技術(shù)的飛速發(fā)展,數(shù)字信號處理技術(shù)應(yīng)運而生并得到迅速的
25、發(fā)展。在過去的二十多年時間里,數(shù)字信號處理已經(jīng)在通信等領(lǐng)域得到極為廣泛的應(yīng)用。</p><p> 數(shù)字信號處理是利用計算機或?qū)S锰幚碓O(shè)備,以數(shù)字形式對信號進行采集、變換、濾波、估值、增強、壓縮、識別等處理,以得到符合人們需要的信號形式。</p><p> 數(shù)字信號處理是圍繞著數(shù)字信號處理的理論、實現(xiàn)和應(yīng)用等幾個方面發(fā)展起來的。數(shù)字信號處理在理論上的發(fā)展推動了數(shù)字信號處理應(yīng)用的發(fā)展。反過
26、來,數(shù)字信號處理的應(yīng)用又促進了數(shù)字信號處理理論的提高。而數(shù)字信號處理的實現(xiàn)則是理論和應(yīng)用之間的橋梁。</p><p> 數(shù)字信號處理是以眾多學科為理論基礎(chǔ)的,它所涉及的范圍極其廣泛。例如,在數(shù)學領(lǐng)域,微積分、概率統(tǒng)計、隨機過程、數(shù)值分析等都是數(shù)字信號處理的基本工具,與網(wǎng)絡(luò)理論、信號與系統(tǒng)、控制論、通信理論、故障診斷等也密切相關(guān)。近來新興的一些學科,如人工智能、模式識別、神經(jīng)網(wǎng)絡(luò)等,都與數(shù)字信號處理密不可分??梢?/p>
27、說,數(shù)字信號處理是把許多經(jīng)典的理論體系作為自己的理論基礎(chǔ),同時又使自己成為一系列新興學科的理論基礎(chǔ)。</p><p> 數(shù)字信號處理的實現(xiàn)方法一般有以下幾種:</p><p> (1) 在通用的計算機(如PC機)上用軟件(如Fortran、C語言)實現(xiàn);</p><p> (2) 在通用計算機系統(tǒng)中加上專用的加速處理機實現(xiàn);</p><p&
28、gt; (3) 用通用的單片機(如MCS-51、96系列等)實現(xiàn),這種方法可用于一些不太復(fù)雜的數(shù)字信號處理,如數(shù)字控制等;</p><p> (4) 用通用的可編程DSP芯片實現(xiàn)。與單片機相比,DSP芯片具有更加適合于數(shù)字信號處理的軟件和硬件資源,可用于復(fù)雜的數(shù)字信號處理算法;</p><p> (5) 用專用的DSP芯片實現(xiàn)。在一些特殊的場合,要求的信號處理速度極高,用通用DSP芯
29、片很難實現(xiàn),例如專用于FFT、數(shù)字濾波、卷積、相關(guān)等算法的DSP芯片,這種芯片將相應(yīng)的信號處理算法在芯片內(nèi)部用硬件實現(xiàn),無需進行編程。</p><p> 在上述幾種方法中,第1種方法的缺點是速度較慢,一般可用于DSP算法的模擬;第2種和第5種方法專用性強,應(yīng)用受到很大的限制,第2種方法也不便于系統(tǒng)的獨立運行;第3種方法只適用于實現(xiàn)簡單的DSP算法;只有第4種方法才使數(shù)字信號處理的應(yīng)用打開了新的局面。.</
30、p><p> 2.2 DSP系統(tǒng)</p><p> 2.2.1 DSP系統(tǒng)構(gòu)成</p><p> 圖1.1所示為一個典型的DSP系統(tǒng)。圖中的輸入信號可以有各種各樣的形式。例如,它可以是麥克風輸出的語音信號或是電話線來的已調(diào)數(shù)據(jù)信號,可以是編碼后在數(shù)字鏈路上傳輸或存儲在計算機里的攝像機圖像信號等。</p><p> 圖1.1 典型的D
31、SP系統(tǒng)</p><p> 輸入信號首先進行帶限濾波和抽樣,然后進行A/D(Analog to Digital)變換將信號變換成數(shù)字比特流。根據(jù)奈奎斯特抽樣定理,為保證信息不丟失,抽樣頻率至少必須是輸入帶限信號最高頻率的2倍。</p><p> DSP芯片的輸入是A/D變換后得到的以抽樣形式表示的數(shù)字信號,DSP芯片對輸入的數(shù)字信號進行某種形式的處理,如進行一系列的乘累加操作(MAC)
32、。數(shù)字處理是DSP的關(guān)鍵,這與其他系統(tǒng)(如電話交換系統(tǒng))有很大的不同,在交換系統(tǒng)中,處理器的作用是進行路由選擇,它并不對輸入數(shù)據(jù)進行修改。因此雖然兩者都是實時系統(tǒng),但兩者的實時約束條件卻有很大的不同。最后,經(jīng)過處理后的數(shù)字樣值再經(jīng)D/A(Digital to Analog)變換轉(zhuǎn)換為模擬樣值,之后再進行內(nèi)插和平滑濾波就可得到連續(xù)的模擬波形。</p><p> 必須指出的是,上面給出的DSP系統(tǒng)模型是一個典型模型
33、,但并不是所有的DSP系統(tǒng)都必須具有模型中的所有部件。如語音識別系統(tǒng)在輸出端并不是連續(xù)的波形,而是識別結(jié)果,如數(shù)字、文字等;有些輸入信號本身就是數(shù)字信號(如CD:Compact Disk),因此就不必進行模數(shù)變換了。</p><p> 2.2.2 DSP系統(tǒng)的特點</p><p> 數(shù)字信號處理系統(tǒng)是以數(shù)字信號處理為基礎(chǔ),因此具有數(shù)字處理的全部優(yōu)點:</p><p
34、> (1) 接口方便。DSP系統(tǒng)與其他以現(xiàn)代數(shù)字技術(shù)為基礎(chǔ)的系統(tǒng)或設(shè)備都是相互兼容的,與這樣的系統(tǒng)接口以實現(xiàn)某種功能要比模擬系統(tǒng)與這些系統(tǒng)接口要容易得多;</p><p> (2) 編程方便。DSP系統(tǒng)中的可編程DSP芯片可使設(shè)計人員在開發(fā)過程中靈活方便地對軟件進行修改和升級;</p><p> (3) 穩(wěn)定性好。DSP系統(tǒng)以數(shù)字處理為基礎(chǔ),受環(huán)境溫度以及噪聲的影響較小,可靠性
35、高;</p><p> (4) 精度高。16位數(shù)字系統(tǒng)可以達到的精度;</p><p> (5) 可重復(fù)性好。模擬系統(tǒng)的性能受元器件參數(shù)性能變化比較大,而數(shù)字系統(tǒng)基本不受影響,因此數(shù)字系統(tǒng)便于測試、調(diào)試和大規(guī)模生產(chǎn);</p><p> (6) 集成方便。DSP系統(tǒng)中的數(shù)字部件有高度的規(guī)范性,便于大規(guī)模集成。</p><p> 當然,數(shù)
36、字信號處理也存在一定的缺點。例如,對于簡單的信號處理任務(wù),如與模擬交換線的電話接口,若采用DSP則使成本增加。DSP系統(tǒng)中的高速時鐘可能帶來高頻干擾和電磁泄漏等問題,而且DSP系統(tǒng)消耗的功率也較大。此外,DSP技術(shù)更新的速度快,數(shù)學知識要求多,開發(fā)和調(diào)試工具還不盡完善。</p><p> 雖然DSP系統(tǒng)存在著一些缺點,但其突出的優(yōu)點已經(jīng)使之在通信、語音、圖像、雷達、生物醫(yī)學、工業(yè)控制、儀器儀表等許多領(lǐng)域得到越來
37、越廣泛的應(yīng)用。</p><p> 2.2.3 DSP系統(tǒng)的設(shè)計過程</p><p> 總的來說,DSP系統(tǒng)的設(shè)計還沒有非常好的正規(guī)設(shè)計方法。圖1.2所示是DSP系統(tǒng)設(shè)計的一般過程。</p><p> 圖1.2 DSP系統(tǒng)的設(shè)計流程</p><p> 在設(shè)計 DSP 系統(tǒng)之前,首先必須根據(jù)應(yīng)用系統(tǒng)的目標確定系統(tǒng)的性能指標、信號處理的
38、要求,通??捎脭?shù)據(jù)流程圖、數(shù)學運算序列、正式的符號或自然語言來描述。</p><p> 第二步是根據(jù)系統(tǒng)的要求進行高級語言的模擬。一般來說,為了實現(xiàn)系統(tǒng)的最終目標,需要對輸入的信號進行適當?shù)奶幚?,而處理方法的不同會?dǎo)致不同的系統(tǒng)性能,要得到最佳的系統(tǒng)性能,就必須在這一步確定最佳的處理方法,即數(shù)字信號處理的算法(Algorithm),因此這一步也稱算法模擬階段。例如,語音壓縮編碼算法就是要在確定的壓縮比條件下,獲
39、得最佳的合成語音。算法模擬所用的輸入數(shù)據(jù)是實際信號經(jīng)采集而獲得的,通常以計算機文件的形式存儲為數(shù)據(jù)文件。如語音壓縮編碼算法模擬時所用的語音信號就是實際采集而獲得并存儲為計算機文件形式的語音數(shù)據(jù)文件。有些算法模擬時所用的輸入數(shù)據(jù)并不一定要是實際采集的信號數(shù)據(jù),只要能夠驗證算法的可行性,輸入假設(shè)的數(shù)據(jù)也是可以的。</p><p> 在完成第二步之后,接下來就可以設(shè)計實時DSP系統(tǒng),實時DSP系統(tǒng)的設(shè)計包括硬件設(shè)計和
40、軟件設(shè)計兩個方面。硬件設(shè)計首先要根據(jù)系統(tǒng)運算量的大小、對運算精度的要求、系統(tǒng)成本限制以及體積、功耗等要求選擇合適的DSP芯片。然后設(shè)計DSP芯片的外圍電路及其他電路。軟件設(shè)計和編程主要根據(jù)系統(tǒng)要求和所選的DSP芯片編寫相應(yīng)的DSP匯編程序,若系統(tǒng)運算量不大且有高級語言編譯器支持,也可用高級語言(如C語言)編程。由于現(xiàn)有的高級語言編譯器的效率還比不上手工編寫匯編語言的效率,因此在實際應(yīng)用系統(tǒng)中常常采用高級語言和匯編語言的混合編程方法,即在
41、算法運算量大的地方,用手工編寫的方法編寫匯編語言,而運算量不大的地方則采用高級語言。采用這種方法,既可縮短軟件開發(fā)的周期,提高程序的可讀性和可移植性,又能滿足系統(tǒng)實時運算的要求。</p><p> DSP硬件和軟件設(shè)計完成后,就需要進行硬件和軟件的調(diào)試。軟件的調(diào)試一般借助于DSP開發(fā)工具,如軟件模擬器、DSP開發(fā)系統(tǒng)或仿真器等。調(diào)試DSP算法時一般采用比較實時結(jié)果與模擬結(jié)果的方法,如果實時程序和模擬程序的輸入相
42、同,則兩者的輸出應(yīng)該一致。應(yīng)用系統(tǒng)的其他軟件可以根據(jù)實際情況進行調(diào)試。硬件調(diào)試一般采用硬件仿真器進行調(diào)試,如果沒有相應(yīng)的硬件仿真器,且硬件系統(tǒng)不是十分復(fù)雜,也可以借助于一般的工具進行調(diào)試。</p><p> 系統(tǒng)的軟件和硬件分別調(diào)試完成后,就可以將軟件脫離開發(fā)系統(tǒng)而直接在應(yīng)用系統(tǒng)上運行。當然,DSP系統(tǒng)的開發(fā),特別是軟件開發(fā)是一個需要反復(fù)進行的過程,雖然通過算法模擬基本上可以知道實時系統(tǒng)的性能,但實際上模擬環(huán)境
43、不可能做到與實時系統(tǒng)環(huán)境完全一致,而且將模擬算法移植到實時系統(tǒng)時必須考慮算法是否能夠?qū)崟r運行的問題。如果算法運算量太大不能在硬件上實時運行,則必須重新修改或簡化算法。</p><p> 2.3 可編程DSP芯片</p><p> 2.3.2 DSP芯片的發(fā)展</p><p> 世界上第一個單片 DSP 芯片應(yīng)當是1978年 AMI公司發(fā)布的 S2811,1
44、979年美國Intel公司發(fā)布的商用可編程器件2920是DSP芯片的一個主要里程碑。這兩種芯片內(nèi)部都沒有現(xiàn)代DSP芯片所必須有的單周期乘法器。1980 年,日本 NEC 公司推出的μP D7720是第一個具有乘法器的商用 DSP 芯片。</p><p> 在這之后,最成功的DSP 芯片當數(shù)美國德州儀器公司(Texas Instruments,簡稱TI)的一系列產(chǎn)品。TI 公司在1982年成功推出其第一代 DSP
45、 芯片 TMS32010及其系列產(chǎn)品TMS32011、TMS320C10/C14/C15/C16/C17等,之后相繼推出了第二代DSP芯片TMS32020、TMS320C25/C26/C28,第三代DSP芯片TMS320C30/C31/C32,第四代DSP芯片TMS320C40/C44,第五代 DSP 芯片TMS320C5X/C54X,第二代DSP芯片的改進型TMS320C2XX,集多片DSP芯片于一體的高性能DSP芯片TMS320C8
46、X以及目前速度最快的第六代DSP芯片TMS320C62X/C67X等。TI將常用的DSP芯片歸納為三大系列,即:TMS320C2000系列(包括TMS320C2X/C2XX)、TMS320C5000系列(包括TMS320C5X/C54X/C55X)、TMS320C6000系列(TMS320C62X/C67X)。如今,TI公司的一系列DSP產(chǎn)品已經(jīng)成為當今世界上最有影響的DSP芯片。TI公司也成為世界</p><p&g
47、t; 第一個采用CMOS工藝生產(chǎn)浮點DSP芯片的是日本的 Hitachi 公司,它于1982年推出了浮點DSP芯片。1983 年 日本Fujitsu 公司推出的MB8764,其指令周期為 120ns,且具有雙內(nèi)部總線,從而使處理吞吐量發(fā)生了一個大的飛躍。而第一個高性能浮點DSP芯片應(yīng)是 AT&T 公司于1984 年推出的DSP32。</p><p> 與其他公司相比,Motorola 公司在推出 DS
48、P 芯片方面相對較晚。1986年,該公司推出了定點處理器MC56001。1990年,推出了與IEEE 浮點格式兼容的浮點 DSP 芯片 MC96002。</p><p> 美國模擬器件公司(Analog Devices,簡稱AD)在DSP芯片市場上也占有一定的份額,相繼推出了一系列具有自己特點的DSP芯片,其定點DSP芯片有ADSP2101/2103/2105、ASDP2111/2115、ADSP2161/21
49、62/2164以及ADSP2171/2181,浮點DSP芯片有ADSP21000/21020、ADSP21060/21062等。</p><p> 自1980年以來,DSP芯片得到了突飛猛進的發(fā)展,DSP芯片的應(yīng)用越來越廣泛。從運算速度來看,MAC(一次乘法和一次加法)時間已經(jīng)從20世紀80年代初的400ns(如TMS32010)降低到10ns以下(如TMS320C54X、TMS320C62X/67X等),處理
50、能力提高了幾十倍。DSP芯片內(nèi)部關(guān)鍵的乘法器部件從1980年的占模片區(qū)(die area)的40%左右下降到5%以下,片內(nèi)RAM數(shù)量增加一個數(shù)量級以上。從制造工藝來看,1980年采用4μm 的 N溝道MOS(NMOS)工藝,而現(xiàn)在則普遍采用亞微米(Micron)CMOS工藝。DSP芯片的引腳數(shù)量從1980年的最多64個增加到現(xiàn)在的200個以上,引腳數(shù)量的增加,意味著結(jié)構(gòu)靈活性的增加,如外部存儲器的擴展和處理器間的通信等。此外,DSP芯片
51、的發(fā)展使DSP系統(tǒng)的成本、體積、重量和功耗都有很大程度的下降。表1.1 是TI公司DSP芯片1982年、1992年、1999年的比較表。表1.2則是世界上主要DSP芯片供應(yīng)商的代表芯片的一些數(shù)據(jù)。</p><p> 表1.1 TI DSP 芯片發(fā)展比較表(典型值)</p><p> 表1.2 單片可編程DSP芯片</p><p> 2.3.3 DSP芯片
52、的分類</p><p> DSP芯片可以按照下列三種方式進行分類。</p><p><b> 1.按基礎(chǔ)特性分</b></p><p> 這是根據(jù)DSP芯片的工作時鐘和指令類型來分類的。如果在某時鐘頻率范圍內(nèi)的任何時鐘頻率上,DSP芯片都能正常工作,除計算速度有變化外,沒有性能的下降,這類DSP芯片一般稱為靜態(tài)DSP芯片。例如,日本OKI
53、 電氣公司的DSP芯片、TI公司的TMS320C2XX系列芯片屬于這一類。</p><p> 如果有兩種或兩種以上的DSP芯片,它們的指令集和相應(yīng)的機器代碼機管腳結(jié)構(gòu)相互兼容,則這類DSP芯片稱為一致性DSP芯片。例如,美國TI公司的TMS320C54X就屬于這一類。</p><p><b> 2.按數(shù)據(jù)格式分</b></p><p>
54、這是根據(jù)DSP芯片工作的數(shù)據(jù)格式來分類的。數(shù)據(jù)以定點格式工作的DSP芯片稱為定點DSP芯片,如TI公司的TMS320C1X/C2X、TMS320C2XX/C5X、TMS320C54X/C62XX系列,AD公司的ADSP21XX系列,AT&T公司的DSP16/16A,Motolora公司的MC56000等。以浮點格式工作的稱為浮點DSP芯片,如TI公司的TMS320C3X/C4X/C8X,AD公司的ADSP21XXX系列,AT&a
55、mp;T公司的DSP32/32C,Motolora公司的MC96002等。</p><p> 不同浮點DSP芯片所采用的浮點格式不完全一樣,有的DSP芯片采用自定義的浮點格式,如TMS320C3X,而有的DSP芯片則采用IEEE的標準浮點格式,如Motorola公司的MC96002、FUJITSU公司的MB86232和ZORAN公司的ZR35325等。</p><p><b>
56、 3.按用途分</b></p><p> 按照DSP的用途來分,可分為通用型DSP芯片和專用型DSP芯片。通用型DSP芯片適合普通的DSP應(yīng)用,如TI公司的一系列DSP芯片屬于通用型DSP芯片。專用DSP芯片是為特定的DSP運算而設(shè)計的,更適合特殊的運算,如數(shù)字濾波、卷積和FFT,如Motorola公司的DSP56200,Zoran公司的ZR34881,Inmos公司的IMSA100等就屬于專用型
57、DSP芯片。</p><p> 本書主要討論通用型DSP芯片。</p><p> 2.3.4 DSP芯片的選擇</p><p> 設(shè)計DSP應(yīng)用系統(tǒng),選擇DSP芯片是非常重要的一個環(huán)節(jié)。只有選定了DSP芯片,才能進一步設(shè)計其外圍電路及系統(tǒng)的其他電路??偟膩碚f,DSP芯片的選擇應(yīng)根據(jù)實際的應(yīng)用系統(tǒng)需要而確定。不同的DSP應(yīng)用系統(tǒng)由于應(yīng)用場合、應(yīng)用目的等不盡相同
58、,對DSP芯片的選擇也是不同的。一般來說,選擇DSP芯片時應(yīng)考慮到如下諸多因素。</p><p> 1.DSP芯片的運算速度。運算速度是DSP芯片的一個最重要的性能指標,也是選擇DSP芯片時所需要考慮的一個主要因素。DSP芯片的運算速度可以用以下幾種性能指標來衡量:</p><p> (1) 指令周期:即執(zhí)行一條指令所需的時間,通常以ns(納秒)為單位。如TMS320LC549-80在
59、主頻為80MHz時的指令周期為12.5ns;</p><p> (2) MAC時間:即一次乘法加上一次加法的時間。大部分DSP芯片可在一個指令周期內(nèi)完成一次乘法和加法操作,如TMS320LC549-80的MAC時間就是12.5ns;</p><p> (3) FFT執(zhí)行時間:即運行一個N點FFT程序所需的時間。由于FFT運算涉及的運算在數(shù)字信號處理中很有代表性,因此FFT運算時間常作為
60、衡量DSP芯片運算能力的一個指標;</p><p> (4) MIPS:即每秒執(zhí)行百萬條指令。如TMS320LC549-80的處理能力為80 MIPS,即每秒可執(zhí)行八千萬條指令;</p><p> (5)MOPS:即每秒執(zhí)行百萬次操作。如TMS320C40的運算能力為275 MOPS;</p><p> (6) MFLOPS:即每秒執(zhí)行百萬次浮點操作。如TM
61、S320C31在主頻為40MHz時的處理能力為40 MFLOPS;</p><p> (7)BOPS:即每秒執(zhí)行十億次操作。如TMS320C80的處理能力為2 BOPS。</p><p> 2.DSP芯片的價格。DSP芯片的價格也是選擇DSP芯片所需考慮的一個重要因素。如果采用價格昂貴的DSP芯片,即使性能再高,其應(yīng)用范圍肯定會受到一定的限制,尤其是民用產(chǎn)品。因此根據(jù)實際系統(tǒng)的應(yīng)用情
62、況,需確定一個價格適中的DSP芯片。當然,由于DSP芯片發(fā)展迅速,DSP芯片的價格往往下降較快,因此在開發(fā)階段選用某種價格稍貴的DSP芯片,等到系統(tǒng)開發(fā)完畢,其價格可能已經(jīng)下降一半甚至更多。</p><p> 3.DSP芯片的硬件資源。不同的DSP芯片所提供的硬件資源是不相同的,如片內(nèi)RAM、ROM的數(shù)量,外部可擴展的程序和數(shù)據(jù)空間,總線接口,I/O接口等。即使是同一系列的DSP芯片(如TI的TMS320C54
63、X系列),系列中不同DSP芯片也具有不同的內(nèi)部硬件資源,可以適應(yīng)不同的需要。</p><p> 4.DSP芯片的運算精度。一般的定點DSP芯片的字長為16位,如TMS320系列。但有的公司的定點芯片為24位,如Motorola公司的MC56001等。浮點芯片的字長一般為32位,累加器為40位。</p><p> 5.DSP芯片的開發(fā)工具。在DSP系統(tǒng)的開發(fā)過程中,開發(fā)工具是必不可少的。
64、如果沒有開發(fā)工具的支持,要想開發(fā)一個復(fù)雜的DSP系統(tǒng)幾乎是不可能的。如果有功能強大的開發(fā)工具的支持,如C語言支持,則開發(fā)的時間就會大大縮短。所以,在選擇DSP芯片的同時必須注意其開發(fā)工具的支持情況,包括軟件和硬件的開發(fā)工具。</p><p> 6.DSP芯片的功耗。在某些DSP應(yīng)用場合,功耗也是一個需要特別注意的問題。如便攜式的DSP設(shè)備、手持設(shè)備、野外應(yīng)用的DSP設(shè)備等都對功耗有特殊的要求。目前,3.3V供電
65、的低功耗高速DSP芯片已大量使用。</p><p> 7.其他。除了上述因素外,選擇DSP芯片還應(yīng)考慮到封裝的形式、質(zhì)量標準、供貨情況、生命周期等。有的DSP芯片可能有DIP、PGA、PLCC、PQFP等多種封裝形式。有些DSP系統(tǒng)可能最終要求的是工業(yè)級或軍用級標準,在選擇時就需要注意到所選的芯片是否有工業(yè)級或軍用級的同類產(chǎn)品。如果所設(shè)計的DSP系統(tǒng)不僅僅是一個實驗系統(tǒng),而是需要批量生產(chǎn)并可能有幾年甚至十幾年的
66、生命周期,那么需要考慮所選的DSP芯片供貨情況如何,是否也有同樣甚至更長的生命周期等。</p><p> 在上述諸多因素中,一般而言,定點DSP芯片的價格較便宜,功耗較低,但運算精度稍低。而浮點DSP芯片的優(yōu)點是運算精度高,且C語言編程調(diào)試方便,但價格稍貴,功耗也較大。例如TI的TMS320C2XX/C54X系列屬于定點DSP芯片,低功耗和低成本是其主要的特點。而TMS320C3X/C4X/C67X屬于浮點DS
67、P芯片,運算精度高,用C語言編程方便,開發(fā)周期短,但同時其價格和功耗也相對較高。</p><p> DSP應(yīng)用系統(tǒng)的運算量是確定選用處理能力為多大的DSP芯片的基礎(chǔ)。運算量小則可以選用處理能力不是很強的DSP芯片,從而可以降低系統(tǒng)成本。相反,運算量大的DSP系統(tǒng)則必須選用處理能力強的DSP芯片,如果DSP芯片的處理能力達不到系統(tǒng)要求,則必須用多個DSP芯片并行處理。那么如何確定DSP系統(tǒng)的運算量以選擇DSP芯片
68、呢?下面我們來考慮兩種情況。</p><p><b> 1.按樣點處理</b></p><p> 所謂按樣點處理就是DSP算法對每一個輸入樣點循環(huán)一次。數(shù)字濾波就是這種情況。在數(shù)字濾波器中,通常需要對每一個輸入樣點計算一次。例如,一個采用LMS算法的256 抽頭的自適應(yīng)FIR濾波器,假定每個抽頭的計算需要3個MAC周期,則256抽頭計算需要256×3=7
69、68個MAC周期。如果采樣頻率為8kHz,即樣點之間的間隔為125s,DSP芯片的MAC周期為200ns,則768個MAC周期需要153.6s的時間,顯然無法實時處理,需要選用速度更高的DSP芯片。表1.3示出了兩種信號帶寬對三種 DSP 芯片的處理要求,三種DSP芯片的MAC周期分別為200ns、50ns和25ns。從表中可以看出,對話帶的應(yīng)用,后兩種DSP芯片可以實時實現(xiàn),對聲頻應(yīng)用,只有第三種DSP芯片能夠?qū)崟r處理。當然,在這個例
70、子中,沒有考慮其他的運算量。</p><p> 表1.3 用DSP芯片實現(xiàn)數(shù)字濾波</p><p><b> 2.按幀處理</b></p><p> 有些數(shù)字信號處理算法不是每個輸入樣點循環(huán)一次,而是每隔一定的時間間隔(通常稱為幀)循環(huán)一次。例如,中低速語音編碼算法通常以10ms或20ms為一幀,每隔10ms或20ms語音編碼算法循環(huán)一
71、次。所以,選擇DSP芯片時應(yīng)該比較一幀內(nèi)DSP芯片的處理能力和DSP算法的運算量。假設(shè)DSP芯片的指令周期為 p(ns),一幀的時間為 (ns),則該DSP芯片在一幀內(nèi)所能提供的最大運算量為 /p條指令。例如TMS320LC549-80的指令周期為12.5ns,設(shè)幀長為20ms,則一幀內(nèi)TMS320LC549-80所能提供的最大運算量為160萬條指令。因此,只要語音編碼算法的運算量不超過160萬條指令,就可以在TMS320LC549-8
72、0上實時運行。</p><p> 2.3.5 DSP芯片的應(yīng)用</p><p> 自從20世紀70年代末80年代初DSP芯片誕生以來,DSP芯片得到了飛速的發(fā)展。DSP芯片的高速發(fā)展,一方面得益于集成電路技術(shù)的發(fā)展,另一方面也得益于巨大的市場。在近20年時間里,DSP芯片已經(jīng)在信號處理、通信、雷達等許多領(lǐng)域得到廣泛的應(yīng)用。目前,DSP芯片的價格越來越低,性能價格比日益提高,具有巨大的
73、應(yīng)用潛力。DSP芯片的應(yīng)用主要有:</p><p> (1) 信號處理——如數(shù)字濾波、自適應(yīng)濾波、快速傅立葉變換、相關(guān)運算、譜分析、卷積、模式匹配、加窗、波形產(chǎn)生等;</p><p> (2) 通信——如調(diào)制解調(diào)器、自適應(yīng)均衡、數(shù)據(jù)加密、數(shù)據(jù)壓縮、回波抵消、多路復(fù)用、傳真、擴頻通信、糾錯編碼、可視電話等;</p><p> (3) 語音——如語音編碼、語音合成
74、、語音識別、語音增強、說話人辨認、說話人確認、語音郵件、語音存儲等;</p><p> (4) 圖形/圖像——如二維和三維圖形處理、圖像壓縮與傳輸、圖像增強、動畫、機器人視覺等;</p><p> (5) 軍事——如保密通信、雷達處理、聲納處理、導(dǎo)航、導(dǎo)彈制導(dǎo)等;</p><p> (6) 儀器儀表——如頻譜分析、函數(shù)發(fā)生、鎖相環(huán)、地震處理等;</p&g
75、t;<p> (7) 自動控制——如引擎控制、聲控、自動駕駛、機器人控制、磁盤控制等;</p><p> (8) 醫(yī)療——如助聽、超聲設(shè)備、診斷工具、病人監(jiān)護等;</p><p> (9) 家用電器——如高保真音響、音樂合成、音調(diào)控制、玩具與游戲、數(shù)字電話/電視等。</p><p> 隨著DSP芯片性能價格比的不斷提高,可以預(yù)見DSP芯片將會在
76、更多的領(lǐng)域內(nèi)得到更為廣泛的應(yīng)用。</p><p> 3.溢出問題及其解決方案</p><p> 對于運算結(jié)果發(fā)生溢出的處理,有2種方法:溢出條件分支和累加器飽和。通過它們使得在演算過程發(fā)生溢出時,可以提供幾種選擇范的方式。</p><p> 所謂的溢出條件分支是當運算結(jié)果發(fā)生溢出時,可以使用BCND OV指令跳到溢出處理程序處理,該指令可以用在任何ALU操作之
77、后可能引起的累加器溢出的運算指令后面。</p><p> 對DSP應(yīng)用而言,累加器飽和溢出模式是很有用的功能。該模式可以仿真模擬系統(tǒng)的飽和影響特性。當累加器在溢出飽和模式,且發(fā)生發(fā)生溢出時,則溢出標志位會被設(shè)定,且依照溢出的方向(正或負),累加器會加載正飽和(7FFFFFFFh)或負飽和(80000000h)值。如果OVM狀態(tài)寄存器位是復(fù)位,且發(fā)生溢出時,則溢出的結(jié)果會被加載到累加器內(nèi)。注意:邏輯運算并不會產(chǎn)生
78、溢出。</p><p> 累加器的溢出模式可由狀態(tài)寄存器STO的OVM位控制,也能由SETC OVM,CLRC OVM和LST指令改變。溢出可由測試狀態(tài)寄存器STO內(nèi)的OVM位檢測到。當分支命令用于測試溢出位時,OVM會自動復(fù)位。注意:OVM位不是進位位的函數(shù) ,它只在累加器里的數(shù)值太大以至于無法正確表示時會被設(shè)定,但是可以使用某些特殊指令將OVM位復(fù)位。</p><p> 4.倍率的
79、問題和解決方法</p><p> 在某些DSP算法中,我們必須將存在或即將進入累加器中的數(shù)據(jù)倍率化。在適應(yīng)或其他的算法中,經(jīng)常需要計算及使用修正因子或?qū)δ承┙Y(jié)果做正規(guī)化處理。因此,在TMS320LF2407中可以將數(shù)據(jù)通過移位至累加器,達到這種倍率化及正規(guī)化效果。</p><p> 移位的方法有2種:邏輯及計算移位。邏輯移位是將移位之后所空出來的最左邊的最高位補0;算術(shù)移位則將最左邊的
80、符號位保持不變,即原來為1則仍為1,原來為0則保持為0。另外,當數(shù)據(jù)加載到累加器后,可以將數(shù)據(jù)左移0~16個位。SACH指令則可以將累加器內(nèi)容左移0,1,或者4個位后,將結(jié)果的第31~16位存在指定的存儲器中,而不會影響累加器原來的內(nèi)容。所以其功能為在以定點數(shù)表示浮點數(shù)乘法時,作為正規(guī)化的使用。</p><p> T器,PREG寄存器及乘法指令</p><p> 以T寄存器及PREG寄
81、存器為核心的存取指令,它們包括寄存器加載指令:LPH,LT,LTA,LTD,LTP,LTS及PAC,寄存器儲存命令:SPH,SPL.及SPM。這些記載及儲存指令可以配合DP以及DMA采用直接尋址,也可以配合AR采用間接尋址,也可以配合AR采用間接尋址。</p><p> LPH指令把數(shù)據(jù)存儲器地址內(nèi)容,加載PREG的高端字,但不會影響低端字的內(nèi)容,LPH可以配合DP以及DMA采用直接尋址,也可以配合AR采用間接
82、尋址。</p><p> LTA指令除了可以用DMA的內(nèi)容加載到TREGO之外,還可以把依照PM狀態(tài)位定義移位后的PREG加到ACC中,LTS指令除了可以把DMA的內(nèi)容加載到TREGO外,還可以把ACC減掉依照PM狀態(tài)位定義移位之后的PREG。這兩個指令都依照PMST寄存器的TRM位的狀態(tài),決定是否要加載TREG1以及TREG2,以便能夠和C25程序代碼兼容。</p><p> LT指
83、令會依照TRM位的狀態(tài)決定DMA加載的目的地:假如TRM=1,則把DMA的內(nèi)容加載到TREG0;反之,則把DMA的內(nèi)容加載到TREG1及TREG2。LTD指令除了完成LTA的工作外,還可以把DMA的內(nèi)容復(fù)制一份到下一個數(shù)據(jù)存儲器地址 ,LTP指令除了完成LT指令工作之外,還可以根據(jù)ST1寄存器到PM狀態(tài)位的定義移位后的PREG內(nèi)容,加載到ACC中,PAC指令不把dma的內(nèi)容復(fù)制到TREG0中,但是它會把根據(jù)PM狀態(tài)位的定義移位后的PRE
84、G內(nèi)容,加載到ACC中。</p><p> SPH指令把PREG的高端字加載到指定的DMA中,SPL指令則是把PREG地低端字記載到指定的DMA中,SPM指令用來設(shè)定PREG的移位模式位PM,所以只要給定0到3的常數(shù)值即可。;例如:指令SPM2是用來設(shè)定PM=10的。</p><p> 2.5.DSP芯片的定點運算</p><p> 2.5.1 數(shù) 的 定
85、標</p><p> 在定點DSP芯片中,采用定點數(shù)進行數(shù)值運算,其操作數(shù)一般采用整型數(shù)來表示。一個整型數(shù)的最大表示范圍取決于DSP芯片所給定的字長,一般為16位或24位。顯然,字長越長,所能表示的數(shù)的范圍越大,精度也越高。如無特別說明,本書均以16位字長為例。</p><p> DSP芯片的數(shù)以2的補碼形式表示。每個16位數(shù)用一個符號位來表示數(shù)的正負,0表示數(shù)值為正,1則表示數(shù)值為負
86、。其余15位表示數(shù)值的大小。因此</p><p> 二進制數(shù)0010000000000011b=8195</p><p> 二進制數(shù)1111111111111100b=-4</p><p> 對DSP芯片而言,參與數(shù)值運算的數(shù)就是16位的整型數(shù)。但在許多情況下,數(shù)學運算過程中的數(shù)不一定都是整數(shù)。那么,DSP芯片是如何處理小數(shù)的呢?應(yīng)該說,DSP芯片本身無能為力
87、。那么是不是說DSP芯片就不能處理各種小數(shù)呢?當然不是。這其中的關(guān)鍵就是由程序員來確定一個數(shù)的小數(shù)點處于16位中的哪一位。這就是數(shù)的定標。</p><p> 通過設(shè)定小數(shù)點在16位數(shù)中的不同位置,就可以表示不同大小和不同精度的小數(shù)了。數(shù)的定標有Q表示法和S表示法兩種。表3.1列出了一個16位數(shù)的16種Q表示、S表示及它們所能表示的十進制數(shù)值范圍。</p><p> 從表3.1可以看出,
88、同樣一個16位數(shù),若小數(shù)點設(shè)定的位置不同,它所表示的數(shù)也就不同。例如:</p><p> 16進制數(shù)2000H=8192,用Q0表示</p><p> 16進制數(shù)2000H=0.25,用Q15表示</p><p> 但對于DSP芯片來說,處理方法是完全相同的。</p><p> 從表3.1還可以看出,不同的Q所表示的數(shù)不僅范圍不同,而
89、且精度也不相同。Q越大,數(shù)值范圍越小,但精度越高;相反,Q越小,數(shù)值范圍越大,但精度就越低。例如,Q0的數(shù)值范圍是-32768到+32767,其精度為1,而Q15的數(shù)值范圍為-1到0.9999695,精度為 1/32768 = 0.00003051。因此,對定點數(shù)而言,數(shù)值范圍與精度是一對矛盾,一個變量要想能夠表示比較大的數(shù)值范圍,必須以犧牲精度為代價;而想提高精度,則數(shù)的表示范圍就相應(yīng)地減小。在實際的定點算法中,為了達到最佳的性能,必
90、須充分考慮到這一點。</p><p> 浮點數(shù)與定點數(shù)的轉(zhuǎn)換關(guān)系可表示為:</p><p> 浮點數(shù)(x)轉(zhuǎn)換為定點數(shù)():</p><p> 定點數(shù)()轉(zhuǎn)換為浮點數(shù)(x):</p><p> 例如,浮點數(shù) x=0.5,定標 Q=15,則定點數(shù)=,式中表示下取整。反之,一個用 Q=15 表示的定點數(shù)16384,其浮點數(shù)為16384
91、215;2-15</p><p> ?。?6384/32768=0.5。</p><p> 表3.1 Q表示、S表示及數(shù)值范圍</p><p> 2.5.2 高級語言:從浮點到定點</p><p> 在編寫DSP模擬算法時,為了方便,一般都是采用高級語言(如C語言)來編寫模擬程序。程序中所用的變量一般既有整型數(shù),又有浮點數(shù)。如例3.
92、1程序中的變量i是整型數(shù),而pi是浮點數(shù),hamwindow則是浮點數(shù)組。</p><p> 例3.1 256點漢明窗計算</p><p><b> inti;</b></p><p> floatpi=3.14159;</p><p> floathamwindow[256];</p>&
93、lt;p> for(i=0;i<256;i++) hamwindow[i]=0.54-0.46*cos(2.0*pi*i/255);</p><p> 如果要將上述程序用某種定點DSP芯片來實現(xiàn),則需將上述程序改寫為DSP芯片的匯編語言程序。為了DSP程序調(diào)試的方便及模擬定點DSP實現(xiàn)時的算法性能,在編寫DSP匯編程序之前一般需將高級語言浮點算法改寫為高級語言定點算法。下面討論基本算術(shù)運算的定
94、點實現(xiàn)方法。</p><p> 2.5.2.1 加法/減法運算的C語言定點模擬</p><p> 設(shè)浮點加法運算的表達式為:</p><p> float x,y,z;</p><p><b> z=x+y;</b></p><p> 將浮點加法/減法轉(zhuǎn)化為定點加法/減法時最重要的一點
95、就是必須保證兩個操作數(shù)的定標值一樣。若兩者不一樣,則在做加法/減法運算前先進行小數(shù)點的調(diào)整。為保證運算精度,需使Q值小的數(shù)調(diào)整為與另一個數(shù)的Q值一樣大。此外,在做加法/減法運算時,必須注意結(jié)果可能會超過16位表示。如果加法/減法的結(jié)果超出16位的表示范圍,則必須保留32位結(jié)果,以保證運算的精度。</p><p> 1.結(jié)果不超過16位表示范圍</p><p> 設(shè)x的Q值為Qx,y的Q
96、值為Qy,且Qx>Qy,加法/減法結(jié)果z的定標值為Qz,則</p><p><b> z=x+y </b></p><p><b> =</b></p><p><b> = </b></p><p> 所以定點加法可以描述為:</p>&l
97、t;p> int x,y,z;</p><p> long temp;/*臨時變量*/</p><p> temp=y(tǒng)<<(Qx-Qy);</p><p> temp=x+temp;</p><p> z=(int)(temp>>(Qx-Qz)), 若Qx≥Qz</p><p>
98、; z=(int)(temp<<(Qz-Qx)), 若QxQ≤z</p><p> 例3.2 定點加法</p><p> 設(shè)x=0.5,y=3.1,則浮點運算結(jié)果為z=x+y=0.5+3.1=3.6;</p><p> Qx=15,Qy=13,Qz=13,則定點加法為:</p><p> x=16384;y=25395
99、;</p><p> temp=25395<<2=101580;</p><p> temp=x+temp=16384+101580=117964;</p><p> z=(int)(117964L>>2)=29491;</p><p> 因為z的Q值為13,所以定點值z=29491即為浮點值z=29491/8
100、192=3.6。</p><p> 例3.3 定點減法</p><p> 設(shè)x=3.0,y=3.1,則浮點運算結(jié)果為z=x-y=3.0-3.1=-0.1;</p><p> Qx=13,Qy=13,Qz=15,則定點減法為:</p><p> x=24576;y=25295;</p><p> temp=2
101、5395;</p><p> temp=x-temp=24576-25395=-819;</p><p> 因為Qx<Qz,故 z=(int)(-819<<2)=-3276。由于z的Q值為15,所以定點值z=-3276即為浮點值z=-3276/32768-0.1。</p><p> 2.結(jié)果超過16位表示范圍</p><p
102、> 設(shè)x的Q值為Qx,y的Q值為Qy,且Qx>Qy,加法結(jié)果z的定標值為Qz,則定點加法為:</p><p><b> int x,y;</b></p><p> long temp,z;</p><p> temp=y(tǒng)<<(Qx-Qy);</p><p> temp=x+temp;&l
103、t;/p><p> z=temp>>(Qx-Qz),若Qx≥Qz</p><p> z=temp<<(Qz-Qx),若Qx≤Qz</p><p> 例3.4 結(jié)果超過16位的定點加法</p><p> 設(shè)x=15000,y=20000,則浮點運算值為z=x+y=35000,顯然z>32767,因此</
104、p><p> Qx=1,Qy=0,Qz=0,則定點加法為:</p><p> x=30000;y=20000;</p><p> temp=20000<<1=40000;</p><p> temp=temp+x=40000+30000=70000;</p><p> z=70000L>>
105、1=35000;</p><p> 因為z的Q值為0,所以定點值z=35000就是浮點值,這里z是一個長整型數(shù)。</p><p> 當加法或加法的結(jié)果超過16位表示范圍時,如果程序員事先能夠了解到這種情況,并且需要保證運算精度時,則必須保持32位結(jié)果。如果程序中是按照16位數(shù)進行運算的,則超過16位實際上就是出現(xiàn)了溢出。如果不采取適當?shù)拇胧瑒t數(shù)據(jù)溢出會導(dǎo)致運算精度的嚴重惡化。一般的定
106、點DSP芯片都設(shè)有溢出保護功能,當溢出保護功能有效時,一旦出現(xiàn)溢出,則累加器ACC的結(jié)果為最大的飽和值(上溢為7FFFH,下溢為8001H),從而達到防止溢出引起精度嚴重惡化的目的。</p><p> 2.5.2.2 乘法運算的C語言定點模擬</p><p> 設(shè)浮點乘法運算的表達式為:</p><p> float x,y,z;</p>&l
107、t;p><b> z = xy;</b></p><p> 假設(shè)經(jīng)過統(tǒng)計后x的定標值為Qx,y的定標值為Qy,乘積z的定標值為Qz,則</p><p><b> z = xy </b></p><p><b> = </b></p><p><b>
108、=</b></p><p> 所以定點表示的乘法為:</p><p> int x,y,z;</p><p> long temp;</p><p> temp = (long)x;</p><p> z = (temp×y) >> (Qx+Qy-Qz);</p>
109、<p> 例3.5 定點乘法</p><p> 設(shè)x = 18.4,y = 36.8,則浮點運算值為z =18.4×36.8 = 677.12;</p><p> 根據(jù)上節(jié),得Qx = 10,Qy = 9,Qz = 5,所以</p><p> x = 18841;y = 18841;</p><p> te
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計----直流電機調(diào)速驅(qū)動電路設(shè)計
- 基于dsp的交流變頻調(diào)速畢業(yè)設(shè)計
- 基于DSP的調(diào)速閥伺服驅(qū)動系統(tǒng)設(shè)計.pdf
- 電機驅(qū)動畢業(yè)設(shè)計
- 調(diào)速永磁同步電機的設(shè)計畢業(yè)設(shè)計
- 調(diào)速永磁同步電機的設(shè)計畢業(yè)設(shè)計
- 調(diào)速電機畢業(yè)設(shè)計---直流斬波調(diào)速系統(tǒng)設(shè)計
- 電機的多段調(diào)速系統(tǒng)畢業(yè)設(shè)計
- 基于dsp的諧波電能計量裝置硬件電路的設(shè)計【畢業(yè)設(shè)計】
- 異步電機的變頻調(diào)速畢業(yè)設(shè)計
- 基于DSP變頻調(diào)速硬件電路設(shè)計.pdf
- 基于DSP的伺服電機調(diào)速系統(tǒng)的控制設(shè)計.pdf
- 基于DSP的無刷電機調(diào)速系統(tǒng)設(shè)計與分析.pdf
- 畢業(yè)設(shè)計---晶閘管可逆調(diào)速電路設(shè)計
- 調(diào)速永磁同步電機的設(shè)計-畢業(yè)設(shè)計全文
- 畢業(yè)設(shè)計---提升機的電機調(diào)速系統(tǒng)設(shè)計
- 基于dsp變頻調(diào)速硬件電路設(shè)計(1)
- 畢業(yè)設(shè)計--開關(guān)磁阻電機調(diào)速系統(tǒng)設(shè)計
- 基于單片機的步進電機調(diào)速系統(tǒng)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計-----基于單片機控制的步進電機調(diào)速系統(tǒng)的設(shè)計
評論
0/150
提交評論