外文翻譯--用于fir濾波器的msp430有效代碼綜合_第1頁
已閱讀1頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p>  用于FIR濾波器的MSP430有效代碼綜合</p><p><b>  摘要</b></p><p>  利用MSP430高效的乘法器可以很容易的實(shí)現(xiàn)數(shù)字濾波。[1]這個(gè)工具附帶的文件可以自動的將FIR濾波器系數(shù)轉(zhuǎn)化成MSP430的匯編代碼,而這個(gè)代碼可以被用到任何的應(yīng)用程序中。Horner算法和CSD格式用來實(shí)現(xiàn)高效的乘法操作。在MSP430上

2、的濾波器的性能通過對穿過所有頻率的評價(jià)來表現(xiàn)出來。MSP430上的濾波器的性能在CPU的周期,代碼的大小,低通、高通、帶通、帶阻濾波器和陷波濾波器的頻率響應(yīng)等方面的表現(xiàn)在附錄A中。在附錄C中,這篇應(yīng)用報(bào)告介紹如何比較超功低耗單片機(jī)。它討論了在現(xiàn)在流行的單片機(jī)之間的關(guān)鍵的不同點(diǎn),和怎樣說明它們的特點(diǎn)和規(guī)范,并提供了它們應(yīng)用的條件。</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 選擇超功低耗單片機(jī)

6、……………………………………………………12</p><p><b>  圖表目錄</b></p><p>  低通FIR濾波器響應(yīng) ..................................................................................... 5</p><p>  高通FIR濾波器

7、響應(yīng) ..................................................................................... 6</p><p>  帶通FIR濾波器響應(yīng) ..................................................................................... 7</p>

8、;<p>  帶阻FIR濾波器響應(yīng) ..................................................................................... 8</p><p>  陷波FIR濾波器響應(yīng) ..........................................................................

9、........... 9</p><p><b>  緒論</b></p><p>  FIR濾波器,以其固有的穩(wěn)定性和線性相位的特性而聞名,有時(shí)是數(shù)字濾波器的理想選擇對象。[2]濾波器系數(shù)一般都是浮點(diǎn)型數(shù)據(jù),需要換算確定到最近的整型數(shù)據(jù)一以便在定點(diǎn)計(jì)算的機(jī)器上進(jìn)行操作,如MSP430微控制器。[3]另外,這樣一種濾波在沒有硬件乘法器的情況下將會在CPU的周期中占很

10、大的開銷。對這兩方面都照顧到的方法是Horner的算法。Horner的算法有能力實(shí)現(xiàn)整型浮點(diǎn)數(shù)的乘法,因而消除了對濾波器系數(shù)的換算。僅用移位和加法指令執(zhí)行乘法操作可以實(shí)現(xiàn)在CPU周期中執(zhí)行的高效率。[1]這個(gè)工具和它的文件為FIR濾波器產(chǎn)生的有效的MSP430代碼可以被下載,并給出濾波器的系數(shù)。另外,產(chǎn)生的C的包文件和數(shù)據(jù)文件以一定頻率執(zhí)行清理數(shù)據(jù)的操作來檢驗(yàn)濾波器的性能。</p><p>  FIR濾波器代碼合

11、成器</p><p>  FIR濾波器代碼合成器FIR_filter_codegen.exe是附于這個(gè)文件的一個(gè)工具。需要輸入到工具中的是FIR濾波器的系數(shù),濾波器長度,系數(shù)的判定位(包括整數(shù)和小數(shù)部分),和采樣頻率。</p><p><b>  輸入?yún)⒘?lt;/b></p><p>  當(dāng)這個(gè)工具被執(zhí)行的時(shí)候,會出現(xiàn)一個(gè)交互試的窗口要求輸入先前討

12、論過的參量。產(chǎn)生的濾波器的代碼的執(zhí)行完全取決于這些參數(shù),輸入錯(cuò)誤的格式會導(dǎo)致產(chǎn)生錯(cuò)誤的代碼和影響濾波器的性能。</p><p><b>  濾波器系數(shù)</b></p><p>  FIR濾波器的系數(shù)是浮點(diǎn)格式,必須被復(fù)制粘貼到FIR_filter_coeff.dat這個(gè)文件中,這個(gè)文件必須和工具在同一目錄下。</p><p><b>

13、  濾波器長度</b></p><p>  濾波器長度對應(yīng)于濾波器系數(shù)的數(shù)目,這個(gè)數(shù)目需要與存儲到FIR_filter_coeff.dat這個(gè)文件中的系數(shù)相一致,任何不一致工具都不會報(bào)告,而這樣的錯(cuò)誤將會導(dǎo)致濾波器錯(cuò)誤的執(zhí)行。</p><p><b>  濾波器系數(shù)的判定位</b></p><p>  濾波器的性能非常依賴于特征系數(shù)

14、的選取。單獨(dú)判定位對于系數(shù)的整數(shù)部分和小數(shù)部分是必要的。因?yàn)樾?shù)部分的判定位對濾波器性能有直接的影響,所以通常選擇一個(gè)好的判定。判定位的增多導(dǎo)致代碼的大小和CPU的周期相應(yīng)的增加。這些判定位(整數(shù)和小數(shù)部分)為每個(gè)系數(shù)保持常量。</p><p><b>  采樣頻率</b></p><p>  開始的采樣頻率應(yīng)該與以前產(chǎn)生FIR濾波器系數(shù)的采樣頻率相一致。工具用這個(gè)參

15、量通過有效頻率來產(chǎn)生采樣數(shù)據(jù),并評價(jià)輸出時(shí)間采樣的頻率響應(yīng)。這個(gè)參量的錯(cuò)配將導(dǎo)致濾波器性能的誤譯。</p><p><b>  輸出</b></p><p>  一旦輸入?yún)?shù)被輸入,這個(gè)工具產(chǎn)生的一系列文件就像用IAR Embedded Workbench?產(chǎn)生的MSP430工程一樣必須被包含進(jìn)去。</p><p><b>  頻率掃

16、除數(shù)據(jù)</b></p><p>  FIR_sine_data.dat這個(gè)文件是一個(gè)數(shù)據(jù)文件,這個(gè)文件包含了頻率的正弦數(shù)據(jù),頻率范圍從10Hz到[(采樣頻率/2)-10]Hz,相等的隔開超過44頻率。為每一個(gè)頻率,400個(gè)從-2047到+2047范圍內(nèi)的采樣數(shù)據(jù)以整型數(shù)據(jù)類型產(chǎn)生。 這種格式的選取和存在于一些MSP430設(shè)備中的12位ADC相一致。這樣的數(shù)據(jù)更容易確認(rèn)FIR濾波器產(chǎn)生的頻率響應(yīng)。<

17、;/p><p>  FIR濾波器MSP430匯編代碼</p><p>  FIR_filter.s43包含了MSP430的匯編代碼,這些代碼用來執(zhí)行FIR的濾波。功能調(diào)用使得這種功能在每一個(gè)頻率下的400個(gè)采樣點(diǎn)建立在通過對采樣點(diǎn)進(jìn)行采樣的基礎(chǔ)之上。這個(gè)功能函數(shù)返回一個(gè)輸出采樣值,這個(gè)值隨后被用來評估得到的每一種頻率。</p><p><b>  C文件包&l

18、t;/b></p><p>  FIR_filter_wrapper.c這個(gè)文件初始化了所有的變量,這些變量對于在MSP430上模擬濾波器的性能是非常必要的。它的功能調(diào)用了FIR_filter.s43文件的匯編功能。輸出的采樣值積攢起來完成對頻率響應(yīng)的近似估計(jì),而輸出的采樣值來自于最終的對每種頻率的400個(gè)采樣值。這種規(guī)格化的獲得的與頻率相對的采樣值作為例子在附錄A中以圖給出。這些44積攢得到的采樣值也被打

19、印到IAR Embedded Workbench選擇的顯示終端I/O窗口中。這些值可以以圖表的形式寫入Excel文件FIR_gain_plot.xls中。</p><p><b>  總結(jié)</b></p><p>  這個(gè)部分是對使用FIR濾波合成器工具指令的一個(gè)小結(jié)。附錄B的目錄描述了附帶的壓縮文件中包含的文件。</p><p>  如何使用

20、FIR濾波合成器:</p><p>  把附帶的文檔中的壓縮文件解壓縮。</p><p>  在原始目錄提供一個(gè)采樣系數(shù)文件FIR_filter_coeff.dat。這個(gè)文件校驗(yàn)每個(gè)濾波器例子的性能,在這個(gè)采樣文件上把相應(yīng)目錄中的濾波器例子的系數(shù)寫上去。為了為任何濾波器產(chǎn)生代碼,把新的一系列系數(shù)粘貼到采樣文件中,并維持相同的格式。</p><p>  運(yùn)行FIR_f

21、ilter_codegen.exe程序,并按照要求輸入?yún)⒘?。原來的指令在附帶的Instructions.pdf文件中。</p><p>  輸出工具是一個(gè)C的包文件,MSP430匯編代碼,和在相同目錄中產(chǎn)生的正弦數(shù)據(jù)文件。</p><p>  用IAR創(chuàng)建一個(gè)新的C工程,把C和匯編文件添加進(jìn)去并創(chuàng)建。打開IAR的顯示菜單中的終端I/O窗口,然后運(yùn)行代碼來觀察得到的每種頻率。</p&g

22、t;<p>  注意:C包文件使用文件操作和printf()聲明需要非常大的代碼大小。因此,這個(gè)程序被推薦在一種MSP430設(shè)備的工程模擬環(huán)境中運(yùn)行,這個(gè)設(shè)備要有一個(gè)比較大的存儲器模塊來測試其功能性。這個(gè)C包文件僅僅在MSP430用模擬數(shù)據(jù)驗(yàn)證了FIR濾波器。在實(shí)際應(yīng)用中,這個(gè)MSP430匯編文件僅僅對于FIR濾波器操作來說是必要的。</p><p>  注意:這個(gè)工具產(chǎn)生的代碼在所有MSP430家

23、族中的設(shè)備中都是兼容的。盡管如此,如果CPUx的結(jié)構(gòu)被選定,匯編文件FIR_filter.s43中的最后一個(gè)指令集必須被替換掉。</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>  這個(gè)附錄顯示了基礎(chǔ)的FIR濾波器的性能,這些數(shù)據(jù)是使用這個(gè)工具和執(zhí)行源程序文件產(chǎn)生的。在每個(gè)例子中都給出了代碼大小,CPU周期和頻率響應(yīng)的近似點(diǎn)的位置。在每個(gè)例子中,濾波器的參數(shù)都小于1,因此整數(shù)位被設(shè)置為0,然而如果一些參數(shù)或者所有參數(shù)都比1大的話,這個(gè)工具仍然可以產(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低通濾波器響應(yīng)</p><p>  圖A-1顯示了用MSP430上的工具產(chǎn)生的代碼執(zhí)行后的近似的濾波器的頻率響應(yīng)。在得到的規(guī)范化的對數(shù)刻度上的劃分與設(shè)計(jì)規(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高通濾波器響應(yīng)</p><p>  圖A-2顯示了用MSP430上的工具產(chǎn)生的代碼執(zhí)行后的近似的濾波器的頻率響應(yīng)。在得到的規(guī)范化的對數(shù)刻度上的劃分與設(shè)計(jì)規(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帶通濾波器響應(yīng)</p><p>  圖A-3顯示了用MSP430

33、上的工具產(chǎn)生的代碼執(zhí)行后的近似的濾波器的頻率響應(yīng)。在得到的規(guī)范化的對數(shù)刻度上的劃分與設(shè)計(jì)規(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帶阻濾波器響應(yīng)</p><p>  圖A-4顯示了用MSP430上的工具產(chǎn)生的代碼執(zhí)行后的近似的濾波器的頻率響應(yīng)。在得到的規(guī)范化的對數(shù)刻度上的劃分與設(shè)計(jì)規(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陷波濾波器響應(yīng)</p><p>  圖A-5顯示了用MSP430上的工具產(chǎn)生的代碼執(zhí)行后的近似的濾波器的頻率響應(yīng)。在得到的規(guī)范化的對數(shù)刻度上的劃分與設(shè)計(jì)規(guī)范的頻率相一致。</p><p><b>  濾波器性能:</b></p><p>  CPU周期=1891</p>&l

39、t;p>  代碼字節(jié)大小=3060</p><p><b>  附錄B 文件目錄</b></p><p>  這個(gè)附錄包含了附帶在這個(gè)文件夾中的壓縮文件中的文件目錄,并一起介紹了它們的功能。每一個(gè)例子中包含的文件都放在各自獨(dú)立的目錄下。</p><p><b>  文件目錄</b></p><p&

40、gt;  FIR_filter_codegen.exe</p><p>  這是FIR濾波器代碼合成器,其作用是在MSP430運(yùn)行下產(chǎn)生相應(yīng)的代碼。</p><p>  FIR_filter_coeff.dat</p><p>  這個(gè)文件必須和代碼合成器在同一個(gè)目錄下。這個(gè)文件有FIR濾波器系數(shù)的浮點(diǎn)格式。這個(gè)壓縮文件中還包括了一個(gè)采樣文件,用戶可以在這個(gè)文件上面

41、自己設(shè)定系數(shù)。</p><p>  FIR_filter_wrapper.c</p><p>  這是個(gè)C的包文件,當(dāng)這個(gè)工具的FIR_filter_codegen.exe文件被執(zhí)行時(shí)就會產(chǎn)生這個(gè)包文件。</p><p>  FIR_filter.s43</p><p>  這是個(gè)MSP430匯編代碼文件,由工具的FIR_filter_cod

42、egen.exe文件產(chǎn)生。</p><p>  FIR_sine_data.dat</p><p>  這個(gè)文件包含了由工具的FIR_filter_codegen.exe文件產(chǎn)生的頻率掃描正弦數(shù)據(jù)。這個(gè)文件一共包含了17600個(gè)整型采樣數(shù)據(jù),范圍從-2047到+2047。從10Hz到[(采樣頻率/2)-10]Hz的范圍中的等間隔分開的44不同頻率中采到的400個(gè)采樣數(shù)據(jù)被順序存儲起來。它必

43、須存放在和C包文件和MSP430匯編文件的同一個(gè)目錄下來估計(jì)頻率響應(yīng)。</p><p>  FIR_gain_plot.xls</p><p>  這個(gè)文件被用來以圖表來描訴當(dāng)FIR濾波器在MSP430上執(zhí)行的時(shí)候的頻率響應(yīng)。用戶可以寫入各種參數(shù)和得到每種頻率的值,并且在I/O終端上看到濾波器的頻率響應(yīng)。</p><p>  LPF_21_coeff.dat<

44、/p><p>  這個(gè)文件包含了在A.1部分中的例子產(chǎn)生的濾波器的系數(shù)。</p><p>  LPF_wrapper.c</p><p>  這個(gè)文件是A.1部分例子中濾波器的C包文件。</p><p>  LPF_filter.s43</p><p>  這個(gè)文件是MSP430的匯編代碼文件,在A.1部分中的例子詳細(xì)說明

45、了濾波的執(zhí)行過程。</p><p>  LPF_sine_data.dat</p><p>  這個(gè)文件是模擬頻率掃描數(shù)據(jù)文件,它為了驗(yàn)證A.1部分中的例子的濾波器頻率響應(yīng)。</p><p>  HPF_31_coeff.dat</p><p>  這個(gè)文件包含了在A.2部分中的例子產(chǎn)生的濾波器的系數(shù)。</p><p>

46、;  HPF_wrapper.c</p><p>  這個(gè)文件是A.2部分例子中濾波器的C包文件。</p><p>  HPF_filter.s43</p><p>  這個(gè)文件是MSP430的匯編代碼文件,在A.2部分中的例子詳細(xì)說明了濾波的執(zhí)行過程。</p><p>  HPF_sine_data.dat</p><p

47、>  這個(gè)文件是模擬頻率掃描數(shù)據(jù)文件,它為了驗(yàn)證A.2部分中的例子的濾波器頻率響應(yīng)。</p><p>  BPF_41_coeff.dat</p><p>  這個(gè)文件包含了在A.3部分中的例子產(chǎn)生的濾波器的系數(shù)。</p><p>  BPF_wrapper.c</p><p>  這個(gè)文件是A.3部分例子中濾波器的C包文件。</

48、p><p>  BPF_filter.s43</p><p>  這個(gè)文件是MSP430的匯編代碼文件,在A.3部分中的例子詳細(xì)說明了濾波的執(zhí)行過程。</p><p>  BPF_sine_data.dat</p><p>  這個(gè)文件是模擬頻率掃描數(shù)據(jù)文件,它為了驗(yàn)證A.3部分中的例子的濾波器頻率響應(yīng)。</p><p>

49、  BSF_31_coeff.dat</p><p>  這個(gè)文件包含了在A.4部分中的例子產(chǎn)生的濾波器的系數(shù)。</p><p>  BSF_wrapper.c</p><p>  這個(gè)文件是A.4部分例子中濾波器的C包文件。</p><p>  BSF_filter.s43</p><p>  這個(gè)文件是MSP430

50、的匯編代碼文件,在A.4部分中的例子詳細(xì)說明了濾波的執(zhí)行過程。</p><p>  BSF_sine_data.dat</p><p>  這個(gè)文件是模擬頻率掃描數(shù)據(jù)文件,它為了驗(yàn)證A.4部分中的例子的濾波器頻率響應(yīng)。</p><p>  Notch_60_coeff.dat</p><p>  這個(gè)文件包含了在A.5部分中的例子產(chǎn)生的濾波器

51、的系數(shù)。</p><p>  Notch_wrapper.c</p><p>  這個(gè)文件是A.5部分例子中濾波器的C包文件。</p><p>  Notch_filter.s43</p><p>  這個(gè)文件是MSP430的匯編代碼文件,在A.5部分中的例子詳細(xì)說明了濾波的執(zhí)行過程。</p><p>  Notch_

52、sine_data.dat</p><p>  這個(gè)文件是模擬頻率掃描數(shù)據(jù)文件,它為了驗(yàn)證A.5部分中的例子的濾波器頻率響應(yīng)。</p><p>  附錄C 選擇超功低耗單片機(jī)</p><p><b>  簡介</b></p><p>  在今天電池應(yīng)用的世界中,嵌入式微控制器(MCU)的功率消耗變的越來越重要。大多數(shù)MC

53、U芯片供應(yīng)商都提供低功耗芯片,但是選擇一款適合你的應(yīng)用場合通常比較困難。決定最低功耗的單片機(jī)的特征要仔細(xì)比較選擇,這些特征包括低功耗模式,時(shí)鐘系統(tǒng),驅(qū)動性能,芯片外圍,失電偵測和保護(hù),管腳泄漏電流和處理效率。</p><p><b>  平均電流消耗</b></p><p>  在低功耗設(shè)計(jì)中,平均電流消耗決定了電池的壽命。舉個(gè)例子,如果應(yīng)用中以400mAh速率消耗電

54、池,這個(gè)應(yīng)用必須以比400mAh/8760h=45.7uA平均電流消耗低才能維持一年的電池壽命。</p><p><b>  低功耗模式</b></p><p>  低功耗模式是單片機(jī)能夠滿足電流預(yù)算中的一種重要特征。低功耗單片機(jī)在不同的功能等級下提供低功耗模式。舉個(gè)例子,MSP430單片機(jī)提供5種低功耗模式。低功耗模式0(LPM0)關(guān)掉了CPU但保留其他的所有功能。

55、模式LPM1和LPM2將各種時(shí)鐘功能添加到禁用列表中。LPM3是最常用的一種低功耗模式,僅僅保留了低頻率晶體時(shí)鐘振蕩的運(yùn)行,以及使用這個(gè)時(shí)鐘的一些外圍設(shè)備。LPM3通常被稱為實(shí)時(shí)時(shí)鐘模式,因?yàn)檫@種模式允許定時(shí)器以32768Hz的低功耗時(shí)鐘源進(jìn)行操作,電流消耗<1uA,周期性喚醒系統(tǒng)處于激活狀態(tài)。最后,LPM4關(guān)閉了設(shè)備上的所有的時(shí)鐘,因此也自動的關(guān)閉了使用這些時(shí)鐘的外圍設(shè)備。類似的外圍設(shè)備有可能還處于活動狀態(tài),但是如果沒有的話,L

56、PM4的電流消耗僅為0.1uA,包括了RAM的數(shù)據(jù)保持。</p><p><b>  時(shí)鐘系統(tǒng)</b></p><p>  時(shí)鐘系統(tǒng)是用來評價(jià)單片機(jī)的功率消耗的。應(yīng)用程序可能在一秒鐘進(jìn)入和退出各種低功耗模式幾次或者上百次。這種快速進(jìn)入退出低功耗模式并且處理數(shù)據(jù)的能力是至關(guān)重要的,因?yàn)殡娏髟贑PU等待時(shí)鐘穩(wěn)定是被浪費(fèi)了。大多數(shù)低功耗單片機(jī)都為CPU準(zhǔn)備了一個(gè)時(shí)間小于10

57、-20us的“瞬子”時(shí)鐘。但是明白哪個(gè)時(shí)鐘是即時(shí)的哪個(gè)不是是很重要的。一些單片機(jī)提供一種兩階段時(shí)鐘喚醒模式,當(dāng)高頻率時(shí)鐘趨于穩(wěn)定的過程中給CPU提供一個(gè)低頻率時(shí)鐘(通常是32768Hz),這個(gè)過程通常占用1ms或者更長時(shí)間。在這種設(shè)備中,CPU可以在大約15us被操作,但是這種運(yùn)行是在較低較差的頻率或者不正確的高頻率下運(yùn)行。</p><p>  MSP430單片機(jī)為CPU提供了一個(gè)穩(wěn)定高速的時(shí)鐘,一般小于6微秒(

58、通常更快),同樣執(zhí)行25條指令僅僅需要9us(6us喚醒+0.125us每條指令的速率執(zhí)行25條指令的時(shí)間),和信息高速即時(shí)的連續(xù)傳遞以及即時(shí)的計(jì)時(shí)準(zhǔn)確的時(shí)鐘源的訪問。</p><p><b>  中斷</b></p><p>  事件驅(qū)動的能力是與時(shí)鐘系統(tǒng)的適應(yīng)性并行的。中斷將CPU從低功耗模式中喚醒,所以單片機(jī)有越多的中斷,它就有更強(qiáng)的適應(yīng)性來防止CPU輪流檢測的

59、電流消耗和降低功率消耗。輪流檢測意味著做功率預(yù)算與否的不同,因?yàn)樗诘却粋€(gè)事件的發(fā)生是會浪費(fèi)CPU的帶寬并且要求額外的電流。一款好的低功耗單片機(jī)將是有廣泛的中斷能力,為它所有的外設(shè)都提供中斷并且為許多外部的事件提供外部中斷。MSP430單片機(jī)為16個(gè)引腳和所有的外設(shè)都提供了中斷。一些外設(shè),如Timer_A,Timer_B和ADC12為了總體的適應(yīng)性有多種中斷。</p><p><b>  外圍設(shè)備&l

60、t;/b></p><p>  當(dāng)選擇一款低功耗的單片機(jī)的時(shí)候,外設(shè)的功率消耗和功率管理也是需要考慮的。一些低功耗單片機(jī)僅僅是翻新了20-30年沒有為低功耗設(shè)計(jì)的體系做外設(shè)。MSP430單片機(jī)從一開始就為低功耗作設(shè)計(jì),外設(shè)擁有低功耗的體系結(jié)構(gòu)。它有一種期待的能力,就是個(gè)別的設(shè)備可以根據(jù)需要與否而選擇它是否能夠使用,還有更重要的是它可以自動的禁止或者使用這些設(shè)備。MSP430中的ADC12這樣一個(gè)智能設(shè)備的例

61、子,如果它沒有激活轉(zhuǎn)換功能,那么它就不會消耗電流。當(dāng)它不在轉(zhuǎn)換時(shí),它就自動的禁止一些它內(nèi)部的晶振和數(shù)字電路,自動有效的關(guān)閉了自己。如果一個(gè)轉(zhuǎn)換被觸發(fā),請求電路會自動的被激活或者打開。</p><p>  協(xié)同工作的能力是另一個(gè)外設(shè)的關(guān)鍵優(yōu)點(diǎn)。</p><p><b>  失電保護(hù)</b></p><p>  許多單片機(jī)集成失電保護(hù)功能,當(dāng)功率供

62、應(yīng)低于正常操作范圍時(shí)對單片機(jī)進(jìn)行復(fù)位。對大多數(shù)單片機(jī)來說,失電保護(hù)電路在操作時(shí)需要一個(gè)額外的10-70uA的電流。一般使用或者禁止失電保護(hù)的功能都被提供來節(jié)省功率的消耗。但是失電保護(hù)必須100%的時(shí)間都在使用中,因?yàn)槭щ娛遣豢深A(yù)測的。這樣失電電流消耗就直接增加了系統(tǒng)功率負(fù)擔(dān)的底線。</p><p><b>  管腳泄漏</b></p><p>  選擇一款低功耗單片機(jī)

63、時(shí),管腳泄漏電流有時(shí)會被忽略,但是在大多數(shù)低功耗要求的應(yīng)用的場合都是必須考慮的。大多數(shù)低功耗單片機(jī)指明輸入泄漏電流為1uA。這樣在一個(gè)20引腳輸入的設(shè)備上總消耗將達(dá)到20uA。而MSP430單片機(jī)指明同樣的20引腳輸入的設(shè)備引腳泄漏電流最大僅為50nA-1uA。</p><p><b>  處理效率</b></p><p>  最后,單片機(jī)的處理效率常常被誤解。人們經(jīng)

64、常認(rèn)為16位的單片機(jī)比8位的單片機(jī)要求多2倍的存儲器,但是16位結(jié)構(gòu)的單片機(jī)比8位結(jié)構(gòu)的單片機(jī)實(shí)際上要求的代碼少并且16位單片機(jī)通常執(zhí)行任務(wù)更快。舉個(gè)例子,8位單片機(jī)要求在應(yīng)用中CPU在管理數(shù)據(jù)時(shí)是處于上級,如10位A/D轉(zhuǎn)換數(shù)據(jù)或者要求16位數(shù)學(xué)的應(yīng)用。</p><p><b>  總結(jié)</b></p><p>  選擇低功耗單片機(jī)需要通過對數(shù)據(jù)手冊的調(diào)查,但是成就

65、應(yīng)該是在當(dāng)電池壽命延長,或者符合電流預(yù)算中。</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)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論