版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 用于FIR濾波器的MSP430有效代碼綜合</p><p><b> 摘要</b></p><p> 利用MSP430高效的乘法器可以很容易的實現(xiàn)數(shù)字濾波。[1]這個工具附帶的文件可以自動的將FIR濾波器系數(shù)轉(zhuǎn)化成MSP430的匯編代碼,而這個代碼可以被用到任何的應用程序中。Horner算法和CSD格式用來實現(xiàn)高效的乘法操作。在MSP430上
2、的濾波器的性能通過對穿過所有頻率的評價來表現(xiàn)出來。MSP430上的濾波器的性能在CPU的周期,代碼的大小,低通、高通、帶通、帶阻濾波器和陷波濾波器的頻率響應等方面的表現(xiàn)在附錄A中。在附錄C中,這篇應用報告介紹如何比較超功低耗單片機。它討論了在現(xiàn)在流行的單片機之間的關(guān)鍵的不同點,和怎樣說明它們的特點和規(guī)范,并提供了它們應用的條件。</p><p><b> 內(nèi)容</b></p>
3、<p> 緒論..................................................................................................... 2</p><p> FIR濾波器代碼合成器.....................................................................
4、............... 2</p><p> 參考書目............................................................................................... 4</p><p> 附錄A FIR濾波器舉例...........................................
5、.............................................. 5</p><p> 附錄B 文件目錄.................................................................................................... 10</p><p> 附錄C 選擇超功低耗單片機
6、……………………………………………………12</p><p><b> 圖表目錄</b></p><p> 低通FIR濾波器響應 ..................................................................................... 5</p><p> 高通FIR濾波器
7、響應 ..................................................................................... 6</p><p> 帶通FIR濾波器響應 ..................................................................................... 7</p>
8、;<p> 帶阻FIR濾波器響應 ..................................................................................... 8</p><p> 陷波FIR濾波器響應 ..........................................................................
9、........... 9</p><p><b> 緒論</b></p><p> FIR濾波器,以其固有的穩(wěn)定性和線性相位的特性而聞名,有時是數(shù)字濾波器的理想選擇對象。[2]濾波器系數(shù)一般都是浮點型數(shù)據(jù),需要換算確定到最近的整型數(shù)據(jù)一以便在定點計算的機器上進行操作,如MSP430微控制器。[3]另外,這樣一種濾波在沒有硬件乘法器的情況下將會在CPU的周期中占很
10、大的開銷。對這兩方面都照顧到的方法是Horner的算法。Horner的算法有能力實現(xiàn)整型浮點數(shù)的乘法,因而消除了對濾波器系數(shù)的換算。僅用移位和加法指令執(zhí)行乘法操作可以實現(xiàn)在CPU周期中執(zhí)行的高效率。[1]這個工具和它的文件為FIR濾波器產(chǎn)生的有效的MSP430代碼可以被下載,并給出濾波器的系數(shù)。另外,產(chǎn)生的C的包文件和數(shù)據(jù)文件以一定頻率執(zhí)行清理數(shù)據(jù)的操作來檢驗濾波器的性能。</p><p> FIR濾波器代碼合
11、成器</p><p> FIR濾波器代碼合成器FIR_filter_codegen.exe是附于這個文件的一個工具。需要輸入到工具中的是FIR濾波器的系數(shù),濾波器長度,系數(shù)的判定位(包括整數(shù)和小數(shù)部分),和采樣頻率。</p><p><b> 輸入?yún)⒘?lt;/b></p><p> 當這個工具被執(zhí)行的時候,會出現(xiàn)一個交互試的窗口要求輸入先前討
12、論過的參量。產(chǎn)生的濾波器的代碼的執(zhí)行完全取決于這些參數(shù),輸入錯誤的格式會導致產(chǎn)生錯誤的代碼和影響濾波器的性能。</p><p><b> 濾波器系數(shù)</b></p><p> FIR濾波器的系數(shù)是浮點格式,必須被復制粘貼到FIR_filter_coeff.dat這個文件中,這個文件必須和工具在同一目錄下。</p><p><b>
13、 濾波器長度</b></p><p> 濾波器長度對應于濾波器系數(shù)的數(shù)目,這個數(shù)目需要與存儲到FIR_filter_coeff.dat這個文件中的系數(shù)相一致,任何不一致工具都不會報告,而這樣的錯誤將會導致濾波器錯誤的執(zhí)行。</p><p><b> 濾波器系數(shù)的判定位</b></p><p> 濾波器的性能非常依賴于特征系數(shù)
14、的選取。單獨判定位對于系數(shù)的整數(shù)部分和小數(shù)部分是必要的。因為小數(shù)部分的判定位對濾波器性能有直接的影響,所以通常選擇一個好的判定。判定位的增多導致代碼的大小和CPU的周期相應的增加。這些判定位(整數(shù)和小數(shù)部分)為每個系數(shù)保持常量。</p><p><b> 采樣頻率</b></p><p> 開始的采樣頻率應該與以前產(chǎn)生FIR濾波器系數(shù)的采樣頻率相一致。工具用這個參
15、量通過有效頻率來產(chǎn)生采樣數(shù)據(jù),并評價輸出時間采樣的頻率響應。這個參量的錯配將導致濾波器性能的誤譯。</p><p><b> 輸出</b></p><p> 一旦輸入?yún)?shù)被輸入,這個工具產(chǎn)生的一系列文件就像用IAR Embedded Workbench?產(chǎn)生的MSP430工程一樣必須被包含進去。</p><p><b> 頻率掃
16、除數(shù)據(jù)</b></p><p> FIR_sine_data.dat這個文件是一個數(shù)據(jù)文件,這個文件包含了頻率的正弦數(shù)據(jù),頻率范圍從10Hz到[(采樣頻率/2)-10]Hz,相等的隔開超過44頻率。為每一個頻率,400個從-2047到+2047范圍內(nèi)的采樣數(shù)據(jù)以整型數(shù)據(jù)類型產(chǎn)生。 這種格式的選取和存在于一些MSP430設備中的12位ADC相一致。這樣的數(shù)據(jù)更容易確認FIR濾波器產(chǎn)生的頻率響應。<
17、;/p><p> FIR濾波器MSP430匯編代碼</p><p> FIR_filter.s43包含了MSP430的匯編代碼,這些代碼用來執(zhí)行FIR的濾波。功能調(diào)用使得這種功能在每一個頻率下的400個采樣點建立在通過對采樣點進行采樣的基礎(chǔ)之上。這個功能函數(shù)返回一個輸出采樣值,這個值隨后被用來評估得到的每一種頻率。</p><p><b> C文件包&l
18、t;/b></p><p> FIR_filter_wrapper.c這個文件初始化了所有的變量,這些變量對于在MSP430上模擬濾波器的性能是非常必要的。它的功能調(diào)用了FIR_filter.s43文件的匯編功能。輸出的采樣值積攢起來完成對頻率響應的近似估計,而輸出的采樣值來自于最終的對每種頻率的400個采樣值。這種規(guī)格化的獲得的與頻率相對的采樣值作為例子在附錄A中以圖給出。這些44積攢得到的采樣值也被打
19、印到IAR Embedded Workbench選擇的顯示終端I/O窗口中。這些值可以以圖表的形式寫入Excel文件FIR_gain_plot.xls中。</p><p><b> 總結(jié)</b></p><p> 這個部分是對使用FIR濾波合成器工具指令的一個小結(jié)。附錄B的目錄描述了附帶的壓縮文件中包含的文件。</p><p> 如何使用
20、FIR濾波合成器:</p><p> 把附帶的文檔中的壓縮文件解壓縮。</p><p> 在原始目錄提供一個采樣系數(shù)文件FIR_filter_coeff.dat。這個文件校驗每個濾波器例子的性能,在這個采樣文件上把相應目錄中的濾波器例子的系數(shù)寫上去。為了為任何濾波器產(chǎn)生代碼,把新的一系列系數(shù)粘貼到采樣文件中,并維持相同的格式。</p><p> 運行FIR_f
21、ilter_codegen.exe程序,并按照要求輸入?yún)⒘?。原來的指令在附帶的Instructions.pdf文件中。</p><p> 輸出工具是一個C的包文件,MSP430匯編代碼,和在相同目錄中產(chǎn)生的正弦數(shù)據(jù)文件。</p><p> 用IAR創(chuàng)建一個新的C工程,把C和匯編文件添加進去并創(chuàng)建。打開IAR的顯示菜單中的終端I/O窗口,然后運行代碼來觀察得到的每種頻率。</p&g
22、t;<p> 注意:C包文件使用文件操作和printf()聲明需要非常大的代碼大小。因此,這個程序被推薦在一種MSP430設備的工程模擬環(huán)境中運行,這個設備要有一個比較大的存儲器模塊來測試其功能性。這個C包文件僅僅在MSP430用模擬數(shù)據(jù)驗證了FIR濾波器。在實際應用中,這個MSP430匯編文件僅僅對于FIR濾波器操作來說是必要的。</p><p> 注意:這個工具產(chǎn)生的代碼在所有MSP430家
23、族中的設備中都是兼容的。盡管如此,如果CPUx的結(jié)構(gòu)被選定,匯編文件FIR_filter.s43中的最后一個指令集必須被替換掉。</p><p><b> 參考書目</b></p><p> 1. Venkat, Kripasagar, Efficient Multiplication and Division Using MSP430, Texas Instru
24、ments, SLAA329</p><p> 2. Mitra, S. K., Digital Signal Processing: A Computer-Based Approach, Second Edition, McGraw-Hill, 2001.</p><p> 3. Texas Instruments MSP430 family user's guides<
25、;/p><p> 附錄A FIR濾波器舉例</p><p> 這個附錄顯示了基礎(chǔ)的FIR濾波器的性能,這些數(shù)據(jù)是使用這個工具和執(zhí)行源程序文件產(chǎn)生的。在每個例子中都給出了代碼大小,CPU周期和頻率響應的近似點的位置。在每個例子中,濾波器的參數(shù)都小于1,因此整數(shù)位被設置為0,然而如果一些參數(shù)或者所有參數(shù)都比1大的話,這個工具仍然可以產(chǎn)生有效的MSP430代碼。</p><
26、p><b> 低通濾波器</b></p><p><b> 濾波器說明:</b></p><p><b> 濾波器長度=21</b></p><p><b> 整數(shù)位=0</b></p><p><b> 小數(shù)位=15</b
27、></p><p> 采樣頻率=4000Hz</p><p> 剪切頻率=600Hz</p><p> 圖A-1 FIR低通濾波器響應</p><p> 圖A-1顯示了用MSP430上的工具產(chǎn)生的代碼執(zhí)行后的近似的濾波器的頻率響應。在得到的規(guī)范化的對數(shù)刻度上的劃分與設計規(guī)范的頻率相一致。</p><p>
28、<b> 濾波器性能:</b></p><p><b> CPU周期=662</b></p><p> 代碼字節(jié)大小=1076</p><p><b> 高通濾波器</b></p><p><b> 濾波器說明:</b></p>&
29、lt;p><b> 濾波器長度=31</b></p><p><b> 整數(shù)位=0</b></p><p><b> 小數(shù)位=15</b></p><p> 采樣頻率=8000Hz</p><p> 剪切頻率=2000Hz</p><p>
30、; 圖A-2 FIR高通濾波器響應</p><p> 圖A-2顯示了用MSP430上的工具產(chǎn)生的代碼執(zhí)行后的近似的濾波器的頻率響應。在得到的規(guī)范化的對數(shù)刻度上的劃分與設計規(guī)范的頻率相一致。</p><p><b> 濾波器性能:</b></p><p><b> CPU周期=636</b></p>&
31、lt;p> 代碼字節(jié)大小=976</p><p><b> 帶通濾波器</b></p><p><b> 濾波器說明:</b></p><p><b> 濾波器長度=41</b></p><p><b> 整數(shù)位=0</b></p&g
32、t;<p><b> 小數(shù)位=15</b></p><p> 采樣頻率=6000Hz</p><p> 下限剪切頻率=500Hz</p><p> 上限剪切頻率=1500Hz</p><p> 圖A-3 FIR帶通濾波器響應</p><p> 圖A-3顯示了用MSP430
33、上的工具產(chǎn)生的代碼執(zhí)行后的近似的濾波器的頻率響應。在得到的規(guī)范化的對數(shù)刻度上的劃分與設計規(guī)范的頻率相一致。</p><p><b> 濾波器性能:</b></p><p> CPU周期=1187</p><p> 代碼字節(jié)大小=1910</p><p><b> 帶阻濾波器</b></
34、p><p><b> 濾波器說明:</b></p><p><b> 濾波器長度=31</b></p><p><b> 整數(shù)位=0</b></p><p><b> 小數(shù)位=15</b></p><p> 采樣頻率=2000
35、Hz</p><p> 下限剪切頻率=200Hz</p><p> 上限剪切頻率=800Hz</p><p> 圖A-4 FIR帶阻濾波器響應</p><p> 圖A-4顯示了用MSP430上的工具產(chǎn)生的代碼執(zhí)行后的近似的濾波器的頻率響應。在得到的規(guī)范化的對數(shù)刻度上的劃分與設計規(guī)范的頻率相一致。</p><p>
36、;<b> 濾波器性能:</b></p><p><b> CPU周期=531</b></p><p> 代碼字節(jié)大小=1187</p><p><b> 陷波濾波器</b></p><p><b> 濾波器說明:</b></p>
37、<p><b> 濾波器長度=60</b></p><p><b> 整數(shù)位=0</b></p><p><b> 小數(shù)位=15</b></p><p> 采樣頻率=400Hz</p><p><b> 陷波頻率=60Hz</b><
38、;/p><p> 圖A-5 FIR陷波濾波器響應</p><p> 圖A-5顯示了用MSP430上的工具產(chǎn)生的代碼執(zhí)行后的近似的濾波器的頻率響應。在得到的規(guī)范化的對數(shù)刻度上的劃分與設計規(guī)范的頻率相一致。</p><p><b> 濾波器性能:</b></p><p> CPU周期=1891</p>&l
39、t;p> 代碼字節(jié)大小=3060</p><p><b> 附錄B 文件目錄</b></p><p> 這個附錄包含了附帶在這個文件夾中的壓縮文件中的文件目錄,并一起介紹了它們的功能。每一個例子中包含的文件都放在各自獨立的目錄下。</p><p><b> 文件目錄</b></p><p&
40、gt; FIR_filter_codegen.exe</p><p> 這是FIR濾波器代碼合成器,其作用是在MSP430運行下產(chǎn)生相應的代碼。</p><p> FIR_filter_coeff.dat</p><p> 這個文件必須和代碼合成器在同一個目錄下。這個文件有FIR濾波器系數(shù)的浮點格式。這個壓縮文件中還包括了一個采樣文件,用戶可以在這個文件上面
41、自己設定系數(shù)。</p><p> FIR_filter_wrapper.c</p><p> 這是個C的包文件,當這個工具的FIR_filter_codegen.exe文件被執(zhí)行時就會產(chǎn)生這個包文件。</p><p> FIR_filter.s43</p><p> 這是個MSP430匯編代碼文件,由工具的FIR_filter_cod
42、egen.exe文件產(chǎn)生。</p><p> FIR_sine_data.dat</p><p> 這個文件包含了由工具的FIR_filter_codegen.exe文件產(chǎn)生的頻率掃描正弦數(shù)據(jù)。這個文件一共包含了17600個整型采樣數(shù)據(jù),范圍從-2047到+2047。從10Hz到[(采樣頻率/2)-10]Hz的范圍中的等間隔分開的44不同頻率中采到的400個采樣數(shù)據(jù)被順序存儲起來。它必
43、須存放在和C包文件和MSP430匯編文件的同一個目錄下來估計頻率響應。</p><p> FIR_gain_plot.xls</p><p> 這個文件被用來以圖表來描訴當FIR濾波器在MSP430上執(zhí)行的時候的頻率響應。用戶可以寫入各種參數(shù)和得到每種頻率的值,并且在I/O終端上看到濾波器的頻率響應。</p><p> LPF_21_coeff.dat<
44、/p><p> 這個文件包含了在A.1部分中的例子產(chǎn)生的濾波器的系數(shù)。</p><p> LPF_wrapper.c</p><p> 這個文件是A.1部分例子中濾波器的C包文件。</p><p> LPF_filter.s43</p><p> 這個文件是MSP430的匯編代碼文件,在A.1部分中的例子詳細說明
45、了濾波的執(zhí)行過程。</p><p> LPF_sine_data.dat</p><p> 這個文件是模擬頻率掃描數(shù)據(jù)文件,它為了驗證A.1部分中的例子的濾波器頻率響應。</p><p> HPF_31_coeff.dat</p><p> 這個文件包含了在A.2部分中的例子產(chǎn)生的濾波器的系數(shù)。</p><p>
46、; HPF_wrapper.c</p><p> 這個文件是A.2部分例子中濾波器的C包文件。</p><p> HPF_filter.s43</p><p> 這個文件是MSP430的匯編代碼文件,在A.2部分中的例子詳細說明了濾波的執(zhí)行過程。</p><p> HPF_sine_data.dat</p><p
47、> 這個文件是模擬頻率掃描數(shù)據(jù)文件,它為了驗證A.2部分中的例子的濾波器頻率響應。</p><p> BPF_41_coeff.dat</p><p> 這個文件包含了在A.3部分中的例子產(chǎn)生的濾波器的系數(shù)。</p><p> BPF_wrapper.c</p><p> 這個文件是A.3部分例子中濾波器的C包文件。</
48、p><p> BPF_filter.s43</p><p> 這個文件是MSP430的匯編代碼文件,在A.3部分中的例子詳細說明了濾波的執(zhí)行過程。</p><p> BPF_sine_data.dat</p><p> 這個文件是模擬頻率掃描數(shù)據(jù)文件,它為了驗證A.3部分中的例子的濾波器頻率響應。</p><p>
49、 BSF_31_coeff.dat</p><p> 這個文件包含了在A.4部分中的例子產(chǎn)生的濾波器的系數(shù)。</p><p> BSF_wrapper.c</p><p> 這個文件是A.4部分例子中濾波器的C包文件。</p><p> BSF_filter.s43</p><p> 這個文件是MSP430
50、的匯編代碼文件,在A.4部分中的例子詳細說明了濾波的執(zhí)行過程。</p><p> BSF_sine_data.dat</p><p> 這個文件是模擬頻率掃描數(shù)據(jù)文件,它為了驗證A.4部分中的例子的濾波器頻率響應。</p><p> Notch_60_coeff.dat</p><p> 這個文件包含了在A.5部分中的例子產(chǎn)生的濾波器
51、的系數(shù)。</p><p> Notch_wrapper.c</p><p> 這個文件是A.5部分例子中濾波器的C包文件。</p><p> Notch_filter.s43</p><p> 這個文件是MSP430的匯編代碼文件,在A.5部分中的例子詳細說明了濾波的執(zhí)行過程。</p><p> Notch_
52、sine_data.dat</p><p> 這個文件是模擬頻率掃描數(shù)據(jù)文件,它為了驗證A.5部分中的例子的濾波器頻率響應。</p><p> 附錄C 選擇超功低耗單片機</p><p><b> 簡介</b></p><p> 在今天電池應用的世界中,嵌入式微控制器(MCU)的功率消耗變的越來越重要。大多數(shù)MC
53、U芯片供應商都提供低功耗芯片,但是選擇一款適合你的應用場合通常比較困難。決定最低功耗的單片機的特征要仔細比較選擇,這些特征包括低功耗模式,時鐘系統(tǒng),驅(qū)動性能,芯片外圍,失電偵測和保護,管腳泄漏電流和處理效率。</p><p><b> 平均電流消耗</b></p><p> 在低功耗設計中,平均電流消耗決定了電池的壽命。舉個例子,如果應用中以400mAh速率消耗電
54、池,這個應用必須以比400mAh/8760h=45.7uA平均電流消耗低才能維持一年的電池壽命。</p><p><b> 低功耗模式</b></p><p> 低功耗模式是單片機能夠滿足電流預算中的一種重要特征。低功耗單片機在不同的功能等級下提供低功耗模式。舉個例子,MSP430單片機提供5種低功耗模式。低功耗模式0(LPM0)關(guān)掉了CPU但保留其他的所有功能。
55、模式LPM1和LPM2將各種時鐘功能添加到禁用列表中。LPM3是最常用的一種低功耗模式,僅僅保留了低頻率晶體時鐘振蕩的運行,以及使用這個時鐘的一些外圍設備。LPM3通常被稱為實時時鐘模式,因為這種模式允許定時器以32768Hz的低功耗時鐘源進行操作,電流消耗<1uA,周期性喚醒系統(tǒng)處于激活狀態(tài)。最后,LPM4關(guān)閉了設備上的所有的時鐘,因此也自動的關(guān)閉了使用這些時鐘的外圍設備。類似的外圍設備有可能還處于活動狀態(tài),但是如果沒有的話,L
56、PM4的電流消耗僅為0.1uA,包括了RAM的數(shù)據(jù)保持。</p><p><b> 時鐘系統(tǒng)</b></p><p> 時鐘系統(tǒng)是用來評價單片機的功率消耗的。應用程序可能在一秒鐘進入和退出各種低功耗模式幾次或者上百次。這種快速進入退出低功耗模式并且處理數(shù)據(jù)的能力是至關(guān)重要的,因為電流在CPU等待時鐘穩(wěn)定是被浪費了。大多數(shù)低功耗單片機都為CPU準備了一個時間小于10
57、-20us的“瞬子”時鐘。但是明白哪個時鐘是即時的哪個不是是很重要的。一些單片機提供一種兩階段時鐘喚醒模式,當高頻率時鐘趨于穩(wěn)定的過程中給CPU提供一個低頻率時鐘(通常是32768Hz),這個過程通常占用1ms或者更長時間。在這種設備中,CPU可以在大約15us被操作,但是這種運行是在較低較差的頻率或者不正確的高頻率下運行。</p><p> MSP430單片機為CPU提供了一個穩(wěn)定高速的時鐘,一般小于6微秒(
58、通常更快),同樣執(zhí)行25條指令僅僅需要9us(6us喚醒+0.125us每條指令的速率執(zhí)行25條指令的時間),和信息高速即時的連續(xù)傳遞以及即時的計時準確的時鐘源的訪問。</p><p><b> 中斷</b></p><p> 事件驅(qū)動的能力是與時鐘系統(tǒng)的適應性并行的。中斷將CPU從低功耗模式中喚醒,所以單片機有越多的中斷,它就有更強的適應性來防止CPU輪流檢測的
59、電流消耗和降低功率消耗。輪流檢測意味著做功率預算與否的不同,因為它在等待一個事件的發(fā)生是會浪費CPU的帶寬并且要求額外的電流。一款好的低功耗單片機將是有廣泛的中斷能力,為它所有的外設都提供中斷并且為許多外部的事件提供外部中斷。MSP430單片機為16個引腳和所有的外設都提供了中斷。一些外設,如Timer_A,Timer_B和ADC12為了總體的適應性有多種中斷。</p><p><b> 外圍設備&l
60、t;/b></p><p> 當選擇一款低功耗的單片機的時候,外設的功率消耗和功率管理也是需要考慮的。一些低功耗單片機僅僅是翻新了20-30年沒有為低功耗設計的體系做外設。MSP430單片機從一開始就為低功耗作設計,外設擁有低功耗的體系結(jié)構(gòu)。它有一種期待的能力,就是個別的設備可以根據(jù)需要與否而選擇它是否能夠使用,還有更重要的是它可以自動的禁止或者使用這些設備。MSP430中的ADC12這樣一個智能設備的例
61、子,如果它沒有激活轉(zhuǎn)換功能,那么它就不會消耗電流。當它不在轉(zhuǎn)換時,它就自動的禁止一些它內(nèi)部的晶振和數(shù)字電路,自動有效的關(guān)閉了自己。如果一個轉(zhuǎn)換被觸發(fā),請求電路會自動的被激活或者打開。</p><p> 協(xié)同工作的能力是另一個外設的關(guān)鍵優(yōu)點。</p><p><b> 失電保護</b></p><p> 許多單片機集成失電保護功能,當功率供
62、應低于正常操作范圍時對單片機進行復位。對大多數(shù)單片機來說,失電保護電路在操作時需要一個額外的10-70uA的電流。一般使用或者禁止失電保護的功能都被提供來節(jié)省功率的消耗。但是失電保護必須100%的時間都在使用中,因為失電是不可預測的。這樣失電電流消耗就直接增加了系統(tǒng)功率負擔的底線。</p><p><b> 管腳泄漏</b></p><p> 選擇一款低功耗單片機
63、時,管腳泄漏電流有時會被忽略,但是在大多數(shù)低功耗要求的應用的場合都是必須考慮的。大多數(shù)低功耗單片機指明輸入泄漏電流為1uA。這樣在一個20引腳輸入的設備上總消耗將達到20uA。而MSP430單片機指明同樣的20引腳輸入的設備引腳泄漏電流最大僅為50nA-1uA。</p><p><b> 處理效率</b></p><p> 最后,單片機的處理效率常常被誤解。人們經(jīng)
64、常認為16位的單片機比8位的單片機要求多2倍的存儲器,但是16位結(jié)構(gòu)的單片機比8位結(jié)構(gòu)的單片機實際上要求的代碼少并且16位單片機通常執(zhí)行任務更快。舉個例子,8位單片機要求在應用中CPU在管理數(shù)據(jù)時是處于上級,如10位A/D轉(zhuǎn)換數(shù)據(jù)或者要求16位數(shù)學的應用。</p><p><b> 總結(jié)</b></p><p> 選擇低功耗單片機需要通過對數(shù)據(jù)手冊的調(diào)查,但是成就
65、應該是在當電池壽命延長,或者符合電流預算中。</p><p><b> 附錄2</b></p><p> Efficient MSP430 Code</p><p> Synthesis for an FIR Filter</p><p><b> ABSTRACT</b></p>
66、;<p> Digital filtering can be easily accomplished on the MSP430 using efficient multiplication.[1] The tool accompanying this document automatically converts FIR filter coefficients to MSP430 assembly code that
67、can be used in any application. Horner’s method and CSD format is used to accomplish the efficient multiply operations. The performance of the filter on the MSP430 is shown by evaluating the gain across all frequencies.
68、Performance in terms of CPU cycles, code size, and frequency response of l</p><p><b> Contents</b></p><p> 1 Introduction .........................................................
69、.................... .. ........ 2</p><p> 2 FIR Filter Code Synthesizer....................................................... ......... 2</p><p> 3 References .............................
70、............................................ ....... ....... 4</p><p> Appendix A FIR Filter Examples .............................. .................. ......... 5</p><p> Appendix B File L
71、ist .............................. ....................................... ...... 10</p><p> Appendix C Choosing An Ultralow-Power MCU………………..……12</p><p> List of Figures</p><p>
72、 A-1 Low-Pass FIR Filter Response .................... .................... ............. 5</p><p> A-2 High-Pass FIR Filter Response........................................... ... ..... 6</p>&l
73、t;p> A-3 Band-Pass FIR Filter Response ............................................ ......... 7</p><p> A-4 Band-Stop FIR Filter Response ............................................ ......... 8</p
74、><p> A-5 Notch FIR Filter Response .................................... ........................ 9</p><p> Introduction</p><p> An FIR filter, known for its inherent stability and
75、 linear phase property, sometimes is an ideal choice for digital filtering.[2] The filter coefficients are always floating point numbers that need to be scaled to the nearest integer for their operation in fixed-point ma
76、chines, such as the MSP430 microcontrollers.[3] In addition, such a filtering in the absence of a hardware multiplier becomes expensive in terms of CPU cycles. The solution to both these concerns is Horner’s method. Horn
77、er’s meth</p><p> FIR Filter Code Synthesizer</p><p> The FIR filter code synthesizer FIR_filter_codegen.exe is a tool that accompanies this document. Input to this tool are the FIR filter coe
78、fficients, filter length, bit resolutions (integer and fractional part) for the coefficients, and the sampling frequency.</p><p> 2.1 Input Parameters</p><p> When the tool is executed, an int
79、eractive command window appears asking for the input parameters previously discussed. The performance of the filter code generated entirely depends on these parameters, and entry in the incorrect format leads to wrong co
80、de generation and filter performance.</p><p> 2.1.1 Filter Coefficients</p><p> The filter coefficients of the FIR filter in floating point format must be copied and pasted in the file FIR_fil
81、ter_coeff.dat, and this file must reside in the same directory as the tool.</p><p> 2.1.2 Filter Length</p><p> The filter length corresponds to number of filter coefficients. This number shou
82、ld match the number of coefficients stored in the file FIR_filter_coeff.dat. Any mismatches are not reported by the tool and lead to incorrect filter performance.</p><p> 2.1.3 Bit Resolution for the Filter
83、 Coefficients</p><p> The filter’s performance greatly depends on the resolution chosen to represent the coefficients. Separate bit resolutions are necessary for the integer part and the fractional part. Th
84、e fractional bit resolution is always chosen to have better resolution as it has a direct impact on performance. This increase in bit resolution results in a proportional increase in code size and CPU cycles. These resol
85、utions (fraction or integer part) are held constant for each coefficient.</p><p> 2.1.4 Sampling Frequency</p><p> The sampling frequency entered should match the sampling frequency that was u
86、sed to generate the FIR filter coefficients. This parameter is used by the tool to generate sample data across valid frequencies and evaluate the frequency response using the output time samples. Mismatches in this param
87、eter would lead to misinterpretation of the filter’s performance.</p><p> 2.2 Output</p><p> Once the input parameters are entered, the tool generates a set of files that must be included as a
88、nMSP430 project using the IAR Embedded Workbench?.</p><p> 2.2.1 Frequency Sweep Data</p><p> The file FIR_sine_data.dat is a data file that has sine data for frequencies that range from 10 Hz
89、 to [(sampling frequency/2) – 10] Hz equally spaced over 44 frequencies. For each frequency, 400 data samples in integer format ranging from –2047 to +2047 are generated. This format is chosen to remain consistent with a
90、 12-bit ADC that is present on some of the MSP430 devices. This data facilitates the verification of the generated FIR filter’s frequency response.</p><p> 2.2.2 FIR Filter MSP430 Assembly Code</p>&
91、lt;p> The file FIR_filter.s43 contains the MSP430 assembly code that performs the FIR filtering. Function calls are made to this function on a sample-by-sample basis for each of the 400 samples at every frequency. Th
92、is function returns one output sample which is then used to evaluate the gain at each frequency.</p><p> 2.2.3 Wrapper C File</p><p> The file FIR_filter_wrapper.c initializes all the variable
93、s necessary to simulate the filter’s performance on the MSP430. It makes function calls to the assembly function FIR_filter.s43. The output samples are accumulated to perform an approximate frequency response by evaluati
94、ng the gain at the end of 400 samples for each frequency. This normalized gain versus frequency plot is shown in Appendix A for the examples considered. These 44 accumulated gain values are also printed in the Terminal I
95、/O</p><p> 2.3 Summary</p><p> In this section is a summary of instructions that need to be followed to use the FIR filter synthesizer tool.</p><p> Appendix B lists and describe
96、s each file included in the accompanying zip file.</p><p> To use the FIR filter synthesizer tool:</p><p> 1. Decompress the zip file that accompanies this document.</p><p> 2. A
97、 sample coefficient file, FIR_filter_coeff.dat, is provided in the parent directory. To verify the performance of each filter example, overwrite the coefficients in this sample file with the coefficients of the filter ex
98、ample included in the corresponding directories. To generate the code for any FIR filter, paste the new set of coefficients in the sample file, maintaining the same format.</p><p> 3. Execute FIR_filter_cod
99、egen.exe and enter the required parameters. Exact instructions have been provided in an accompanying file, Instructions.pdf.</p><p> 4. The output of the tool is a C-wrapper file, MSP430 assembly code, and
100、a sine data file generated in the same directory.</p><p> 5. Create a new C project using IAR, add the C and the assembly files, and build. Open the Terminal I/O window from the View menu of IAR and run the
101、 code to see the gain at each frequency.</p><p> Note: The C wrapper file uses file operations and printf() statements that require a very large code size. Hence, it is recommended to run the project in sim
102、ulator mode on one of the MSP430 devices that have a larger memory model to test the functionality. The C wrapper file only demonstrates the verification of the FIR filter on the MSP430 using simulated data. In a real ap
103、plication, the MSP430 assembly code file is the only file necessary for FIR filter operation.</p><p> Note: The tool generates assembly code that is compatible in all of the MSP430 family of devices. Howeve
104、r, if CPUx architecture is chosen, the last instruction, ret, in the assembly file FIR_filter.s43 should be replaced by the instruction reta.</p><p> References</p><p> 1. Venkat, Kripasagar,
105、Efficient Multiplication and Division Using MSP430, Texas Instruments, SLAA329</p><p> 2. Mitra, S. K., Digital Signal Processing: A Computer-Based Approach, Second Edition, McGraw-Hill,</p><p>
106、;<b> 2001.</b></p><p> 3. Texas Instruments MSP430 family user's guides</p><p> Appendix A FIR Filter Examples</p><p> This appendix shows the performance of bas
107、ic FIR filters that have been generated using the tool and executing the source files generated. The code size, CPU cycles and approximate plot of the frequency response for each example is shown. In each example, the fi
108、lter coefficients were all less than one, hence the bits for Integer part are set to zero. However, the tool generates valid MSP430 code if some or all of the coefficients are greater than one.</p><p> A.1
109、Low-Pass Filter</p><p> Filter specifications:</p><p> Filter length = 21</p><p> Bits for integer part = 0</p><p> Bits for fraction part = 15</p><p>
110、 Sampling frequency = 4000 Hz</p><p> Cut-off frequency = 600 Hz</p><p> Figure A-1 shows the approximate frequency response of the filter after the execution of the code generated from the t
111、ool on the MSP430. The plot of the normalized gain on the logarithmic scale versus the frequency conforms to its design specifications.</p><p> Filter performance:</p><p> CPU cycles = 662<
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于MSP430的有源電力濾波器控制方法的研究.pdf
- 外文翻譯---fir濾波器設計技術(shù)
- 外文翻譯---fir濾波器設計技術(shù)
- 外文翻譯---fir濾波器設計技術(shù)
- 外文翻譯---FIR濾波器設計技術(shù).doc
- 外文翻譯---FIR濾波器設計技術(shù).doc
- 外文翻譯---fir濾波器設計技術(shù)(英文)
- msp430混合信號微控制器外文文獻及翻譯
- 外文翻譯---fir數(shù)字濾波器的設計
- 濾波器外文翻譯 -----用改進的窗函數(shù)設計fir數(shù)字濾波器
- fir濾波器設計技術(shù)畢業(yè)論文外文翻譯
- fir濾波器的設計
- msp430學習小結(jié)3-msp430基本時鐘模塊
- fir濾波器的設計-
- 基于dsp的fir 濾波器
- msp430教程1msp430 單片機系列簡介
- msp430串行通信
- 基于msp430的溫度采集系統(tǒng)
- 濾波器外文翻譯
- 基于MSP430的點焊電流有效值檢測系統(tǒng).pdf
評論
0/150
提交評論