ARM嵌入式系統(tǒng)課程設計圖文(共20頁)_第1頁
ARM嵌入式系統(tǒng)課程設計圖文(共20頁)_第2頁
ARM嵌入式系統(tǒng)課程設計圖文(共20頁)_第3頁
ARM嵌入式系統(tǒng)課程設計圖文(共20頁)_第4頁
ARM嵌入式系統(tǒng)課程設計圖文(共20頁)_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上目 錄1 系統(tǒng)設計任務與要求 - 2 -1.1 設計要求 - 2 -1.2 設計作用和目的 - 2 -1.3 課程設計應完成的任務 - 2 -2 設計方案 - 3 -2.1 信號產(chǎn)生部分 - 3 -2.2 對幅度進行調(diào)整 - 4 -2.3 對頻率進行調(diào)整 - 4 -2.4 濾波電路 - 5 -3 硬件設計 - 6 -3.1系統(tǒng)框圖 - 6 -3.2 各功能模塊 - 6 -3.2.1 波形產(chǎn)生電路 - 6 -3.2.2 鍵盤模塊 - 6 -3.2.3 濾波器設計 - 6 -3.2.4 顯示模塊 - 6 -3.3 各個功能塊的實現(xiàn)原理及分析 - 7 -3.3.1 正弦波的

2、產(chǎn)生 - 7 -3.3.2 三角波的產(chǎn)生 - 7 -3.3.3 方波的產(chǎn)生 - 7 -3.3.4 幅度的控制 - 8 -3.3.5 頻率的控制 - 8 -3.3.6 濾波器設計 - 8 -3.3.7 鍵盤模塊 - 8 -4 軟件設計 - 9 -4.1 方框圖 - 9 -4.2程序清單 - 9 -4.3 測試結(jié)果圖 - 14 -5心得體會 - 16 -參考文獻 - 17 -1 系統(tǒng)設計任務與要求1.1 設計要求利用ARM芯片設計信號發(fā)生器,包括Sin、方波、三角波形實現(xiàn)1.2 設計作用和目的1、注重培養(yǎng)綜合運用所學知識、獨立分析和解決實際問題的能力,培養(yǎng)創(chuàng)新意識和創(chuàng)新能力,并獲得科學研究的基礎訓

3、練。2、了解所選擇的ARM芯片各個引腳功能,工作方式,計數(shù)/定時,I/O口,中斷等的相關原理,并鞏固學習嵌入式的相關內(nèi)容知識。3、通過軟硬件設計實現(xiàn)利用ARM芯片完成信號發(fā)生器功能。1.3 課程設計應完成的任務1 查閱相關文獻資料,熟悉所選ARM芯片;2 總體設計方案規(guī)劃 信號源的產(chǎn)生,用不同按鈕選擇不同信號源;3 系統(tǒng)硬件設計,熟悉DA轉(zhuǎn)換原理及過程及硬件接口實現(xiàn)及信號函數(shù)顯示,注意頻率及幅度;4 系統(tǒng)軟件設計,包括DA轉(zhuǎn)換及顯示的軟件實現(xiàn),用C語言編程;5 設計心得體會及總結(jié)。2 設計方案2.1 信號產(chǎn)生部分方案一:使用集成函數(shù)發(fā)生器芯片ICL8038。芯片ICL8038能輸出方波、三角波

4、、正弦波和鋸齒波四種不同的波形,將他作為信號發(fā)生器。它是電壓控制頻率的集成芯片,失真度很低??奢斎氩煌耐獠侩妷簛韺崿F(xiàn)不同的頻率輸出。為了達到數(shù)控的目的,可用高精度DAC來輸出電壓以控制正弦波的頻率。方案二:鎖相環(huán)頻率合成器(PLL)2鎖相環(huán)頻率合成器(PLL)是常用的頻率合成方法。鎖相環(huán)由參考信號源、鑒相器、低通濾波器、壓控振蕩器幾個部分組成。通過鑒相器獲得輸出的信號FO與輸入信號Fi的相位差,經(jīng)低通濾波器轉(zhuǎn)換為相應的控制電壓,控制VCO輸出的信號頻率,只有當輸出信號與輸入信號的頻率于相位完全相等時,鎖相環(huán)才達到穩(wěn)定。如果在環(huán)路中加上分頻系數(shù)可程控的分頻器,即可獲得頻率程控的信號。由于輸出信

5、號的頻率穩(wěn)定度取決于參考振蕩器信號fi ,參考信號fi 由晶振分頻得到,晶振的穩(wěn)定度相當高,因而該方案能獲得頻率穩(wěn)定的信號。一般來說PLL的頻率輸出范圍相當大,足以實現(xiàn)1kHz10MHZ的正弦輸出。如果fi100Hz只要分頻系數(shù)足夠精細(能夠以1步進),頻率100Hz步進就可以實現(xiàn)。方案三:直接數(shù)字頻率合成(DDS)3DDS是一種純數(shù)字化方法。它現(xiàn)將所需正弦波一個周期的離散樣點的幅值數(shù)字量存入ROM中,然后按一定的地址間隔(相位增量)讀出,并經(jīng)DA轉(zhuǎn)換器形成模擬正弦信號,再經(jīng)低通濾波器得到質(zhì)量較好的信號。方案四: 基于計算的數(shù)字頻率合成4利用函數(shù)將波形的點數(shù)保存在芯片的RAM中,根據(jù)所要的波形

6、的頻率計算出它的周期,經(jīng)計算得到在定時器定時時間固定的前提下產(chǎn)生一個完整的波形所需要的輸出的點數(shù),這樣數(shù)據(jù)指針可以根據(jù)點數(shù)的數(shù)量來進行移動,得到頻率準確、切換快速的信號。方案一(VOC)不能實現(xiàn)穩(wěn)定頻率信號的輸出并且難于數(shù)字控制。并且電容、電阻參數(shù)隨溫度等其他因素的影響,頻率穩(wěn)定度以及電路的穩(wěn)定度都較低,實現(xiàn)也較復雜,不予采納。雖然ICL8038可很好的實現(xiàn)頻率輸出的控制,但查看ICL8038的設計資料4可知其頻率輸出范圍為0.01Hz300kHz,不能達到題目的要求,故不予選用。PLL方案和DDS方案都能實現(xiàn)1kHz10MHz的穩(wěn)定的信號輸出,且能達到100Hz頻率步進,但是PLL的動態(tài)特性

7、卻很差,在頻率改變時,環(huán)路從不穩(wěn)定到穩(wěn)定的過程有時間延遲。相比較而言,DDS的頻率輸出范圍一般低于PLL,且雜散也大于PLL方案,但DDS信號源具有輸出頻率穩(wěn)定度高、精度更高、分辨率更高且易于程控等優(yōu)點,且頻率改變不存在失調(diào)過程,盡管有雜散干擾,只需在輸出級加濾波器仍可以得到質(zhì)量很好的波形。而方案四集中了上述三個方案的各個優(yōu)點,因此采用方案四來實現(xiàn)波形信號的產(chǎn)生。2.2 對幅度進行調(diào)整方案一:用高速模擬乘法器實現(xiàn)采用AD835高速模擬乘法器,來實現(xiàn)模擬調(diào)制。模擬乘法器AD835的3dB截止頻率為250MHz,能夠滿足題目的要求。但是AD835的差分輸入范圍僅為±1V,因此必須對輸入信

8、號進行預處理,這樣在增加硬件的同時,又加大了設計的難度。方案二:采用高速的D/A轉(zhuǎn)換器在LPC2138中集成著一個高速的D/A轉(zhuǎn)換器5,我們可以直接在軟件中設置一個幅度的參數(shù)來改變輸出波形的幅度大小。綜上所述,采用方案(二)雖然增加了軟件的難度,延遲了波形的輸出時間,但是可以不用外加硬件拓展,節(jié)省了成本。 2.3 對頻率進行調(diào)整方案一:通過在存儲芯片ROM中保存不同頻率信號的信號發(fā)生點數(shù),在頻率切換時調(diào)用ROM中所存儲的不同點數(shù)模塊來實現(xiàn)頻率的切換。方案二:在存儲芯片RAM中保存由軟件實時產(chǎn)生的波形點數(shù),通過所取的點數(shù)的不同來決定發(fā)生的波形的頻率。由于設計中的信號要進行不斷的改變,因此波形的數(shù)

9、據(jù)不能存儲在ROM中,應該存儲RAM中,因此采用方案二的設計方法。2.4 濾波電路方案一:利用運放芯片TL082構成的有源二階巴爾沃基濾波器6,它的頻率范圍可以達到1MHZ,遠遠高于我們所要的達到的最高頻率,而且可以同時提高輸出電壓的穩(wěn)定性即帶載能力。方案二:采用硬件構建的模擬濾波器,通常這種濾波電路主要采用無源元件R,L和C組成的低通濾波電路6。其優(yōu)點是具有不用電感,體積小,重量輕等優(yōu)點;缺點是其集成運放的帶寬有限,電路的工作頻率有限難以做得很高。由于所設計的信號源的頻率相對來說不是很高,采用RC濾波器已經(jīng)可以很好的完成設計的要求。因此采用方案二。3 硬件設計3.1系統(tǒng)框圖根據(jù)前述方案,得到

10、以下系統(tǒng)方框圖,如圖3-1所示,包括鍵盤、芯片LPC2138、D/A轉(zhuǎn)換、濾波器、示波器、串口RS432、上位機。圖3-1 系統(tǒng)方框圖3.2 各功能模塊3.2.1 波形產(chǎn)生電路通過軟件將波形數(shù)據(jù)存儲到RAM當中去,再把這些數(shù)據(jù)輸送到D/A轉(zhuǎn)換器進行轉(zhuǎn)換得到模擬波形。3.2.2 鍵盤模塊用LPC2138開發(fā)板上自身帶有的鍵盤得到鍵值,通過中斷服務程序?qū)㈡I盤信息傳給控制芯片。3.2.3 濾波器設計直接采用RC過程的簡單的濾波電路,此方法設計簡單,又完全滿足設計要求。 3.2.4 顯示模塊波形直接在示波器上顯示,波形的中間調(diào)試參數(shù)在上位機EasyARM2131上顯示,這樣節(jié)省了外部顯示模塊的擴展,使

11、得硬件電路更加的簡便。3.3 各個功能塊的實現(xiàn)原理及分析3.3.1 正弦波的產(chǎn)生本設計中信號的產(chǎn)生直接用LPC2138芯片上集成的D/A轉(zhuǎn)換器和軟件的結(jié)合來生成。波形的信號數(shù)據(jù)采用了函數(shù)計算的方法來取得:Y=sin(N7 (3-1)其中,N表示所要取得的點數(shù)的多少。在設計中我選擇N=1024,即一個完整的基本的正弦信號有1024個數(shù)據(jù)信號點組成。將數(shù)據(jù)存儲到控制芯片LPC2138的RAM當中,根據(jù)所要的頻率來取得信號數(shù)據(jù)的多少,點數(shù)多少的計算如下:N=T/2t7 (3-2)其中,N表示點數(shù),T表示所要產(chǎn)生的波形信號的周期,t表示定時器的時間長短.從RAM中 取得點數(shù)的間隔為:M=1023/N8

12、 (3-3)其中M表示在RAM中的表格取得點數(shù)的間隔.根據(jù)不同的間隔的大小決定產(chǎn)生一個完整的波形信號所要的數(shù)據(jù)多少不同.設計中要求信號的最高產(chǎn)生的頻率為50KHZ, 根據(jù)奈奎斯特定理,采樣的頻率最少要為所要信號的頻率的兩倍,但是為了更好的保證信號的完整輸出,我們至少要讓它采樣10個點才能輸出完整波形,就要求采樣的頻率為他的10倍即500KHZ,采樣時間的大小為2us,這剛好滿足了LPC2138控制芯片上的集成D/A轉(zhuǎn)換器最高轉(zhuǎn)換時間為1us的限制。3.3.2 三角波的產(chǎn)生在設計中,三角波的產(chǎn)生就直接利用定時器定時時間的長短來控制信號數(shù)據(jù)的輸出,信號數(shù)據(jù)從一個較低(或高)的位置開始按照一定的規(guī)律

13、步進9,當其達到一個高度時再按照相同的步進下降到原來的數(shù)據(jù)大小,如此反復的輸出就構成了三角波模擬信號的輸出。3.3.3 方波的產(chǎn)生在設計中,方波的產(chǎn)生由大小不同的兩個信號數(shù)據(jù)交替輸出形成,每個信號數(shù)據(jù)輸出的時間長短根據(jù)所要點信號頻率來決定。3.3.4 幅度的控制在設計中,為了能使波形在示波器中顯示,這樣就要設定好波形的幅度,在設計時我們把波形的幅度控制在1024之內(nèi),才能很好的顯示波形。同時為了改變幅度的大小,我們設置了一個參數(shù)直接與所取得的信號數(shù)據(jù)相乘,這就改變了信號數(shù)據(jù)的大小,也就使得D/A轉(zhuǎn)換時的數(shù)據(jù)大小產(chǎn)生變化,從而體現(xiàn)在輸出的信號波形在幅度上發(fā)生改變。3.3.5 頻率的控制在輸出的信

14、號數(shù)據(jù)的時間間隔一定時,當產(chǎn)生一個完整波形時所需要的點數(shù)發(fā)生變化時信號的周期就發(fā)生變化,這樣它的頻率就相應的變化。因此,在設計中, 通過固定定時器的定時長短,改變波形數(shù)據(jù)的點數(shù)多少就改變了信號的頻率。3.3.6 濾波器設計由于我所設計的信號源的輸出頻率還不是很高,所以可以用簡單的低通濾波器就可以完成濾波的功能,因此我選擇使用RC低通濾波器。參數(shù)為:R=100歐姆,C=0.1UF。具體結(jié)構如下:R圖3-2 3.3.7 鍵盤模塊鍵盤是直接與ARM(LPC2138)芯片的P0口P0.16P0.21連接,通過ARM芯片對P0.16P0.21輸入數(shù)據(jù),0表示有效,1表示無效11。鍵1用來選擇輸出波形,鍵

15、2用來選擇所要改變的參數(shù),鍵3和鍵4用來加/減鍵3所選的參數(shù)4 軟件設計4.1 方框圖由設計方案進行進一步的軟件設計,首先得到流程圖如圖4-1所示,主要包括:初始化、鍵盤掃描、PC機顯示波形等部分。N正弦波PC機顯示波形方波鍵盤掃描Y三角波判斷是否有鍵按下?開始圖4-14.2程序清單由硬件設計及主程序流程圖,經(jīng)過C語言編程,在ADS環(huán)境下運行,完成了信號源發(fā)生器的軟件設計部分,實現(xiàn)了設計的內(nèi)容。部分主要程序清單如下:1、初始化串口0void UART0_Init (voiduint16 Fdiv;U0LCR = 0x83; / DLAB = 1,可設置波特率Fdiv = (Fpclk / 16

16、 / UART_BPS; /設置波特率U0DLM = Fdiv / 256;U0DLL = Fdiv % 256;U0LCR = 0x03;2、向串口發(fā)送字節(jié)數(shù)據(jù)void UART0_SendByte (uint8 data / data=18;U0THR = data; /發(fā)送數(shù)據(jù)while (U0LSR & 0x40 = 0; / 等待數(shù)據(jù)發(fā)送完畢3、向PC機發(fā)送顯示字符。void PC_DispChar (uint8 x, uint8 y, uint8 chr, uint8 colorUART0_SendByte(0xff; / 起始字符UART0_SendByte(x; /發(fā)送

17、字符顯示坐標(x,y)UART0_SendByte(y;UART0_SendByte(chr; /發(fā)送顯示字符UART0_SendByte(color;4、向上位機發(fā)送字符串。void ISendStr (uint8 x, uint8 y, uint8 color, char *strwhile (1if (*str = '0' break; / 結(jié)束字符PC_DispChar(x+, y, *str+, color; /發(fā)送顯示數(shù)據(jù)if (x >= 80x = 0;y+;5、定時器0中斷服務程序。void _irq IRQ_Timer0(voidpinsave=(IO0

18、PIN&pinvalue;if(pinsave!=pinvalue while(delay+=2 delay=0;if(pinsave = (IO0PIN&pinvalueswitch(pinsavecase 0x003e0000: bo=bo+1;if(bo>4bo=1; break; case 0x003d0000:canshu+=1;if(canshu>2canshu=1;break;case 0x003b0000:switch(canshucase 1:if(hight<26hight=hight+1;break;case 2:if(fc<100

19、fc=fc+2;break;break; case 0x:switch(canshucase 1:if(hight<26hight=hight-1;break;case 2:if(fc<100fc=fc-2;break;break; T0IR=0x01;VICVectAddr=0x00;6、定時器1捕獲中斷服務程序void _irq IRQ_Timer1(voidswitch(bo case 1:sin_wave(; break;case 2:trip_wave(;break;case 3:fang_wave(; break;default:break;T1IR=0x01;VICV

20、ectAddr=0x00;7、主程序int main (void char str30;const double T = (2 * 3./1024; /把一個周期分成2048份 for(i=0;i<1024;i+ tablei = 512*(1+sin(T*i;PINSEL0 = 0x; / 設置管腳連接GPIO,管腳功能選折寄存器全部為0時選為GPIO功能PINSEL1=(2<<18;PINSEL2=PINSEL2&(0x08;DACR=(0<<16; /最大定時1US,電流700UA IRQEnable(;T0TC=0;T0PR=0;T0MCR=0x0

21、3;T0MR0=Fpclk/2;T0TCR = 0x03; / 啟動并復位T0TCT0TCR=0x01;T1TC=0;T1PR=0;T1MCR=0x03;T1MR0=Fpclk/*(fc/100; /把一秒分成2048份,再根據(jù)要求的頻率來進行設置tT1TCR = 0x03; / 啟動并復位T1TCT1TCR=0x01;VICIntSelect=0x00;VICVectCntl0=0x20|0x04;VICVectAddr0=(uint32IRQ_Timer0;VICVectCntl1 = 0x20 | 0x05; / 設置定時器1中斷通道分配最高優(yōu)先級 VICVectAddr1 = (uin

22、t32IRQ_Timer1; VICIntEnable =(1<<0x04|(1 << 0x05; while (1 sprintf(str, "%4d mv", hight;ISendStr(0,8,0x30,str;sprintf(str, "%4d hz", fc;ISendStr(0,10,0x30,str;return 0;4.3 測試結(jié)果圖由以上硬件、軟件設計,經(jīng)實驗調(diào)試得到測試結(jié)果,如圖4-2、4-3、4-4所示,分別為三角波、正弦波、方波。圖4-3三角波(頻率=200HZ 幅度=2.4V)圖4-4正弦波(頻率=40

23、HZ 幅度=100MV)圖4-5 方波(頻率=1000HZ 幅度=2V)5心得體會兩個周的嵌入式課程設計基于ARM的信號源發(fā)生器設計就要結(jié)束了,雖然課程設計的時間比較短,但我卻收獲了很多值得總結(jié)和值得我銘記于心的知識和認識。開始課程設計的時候,由于我們學的都是一些嵌入式方面的理論知識,牽涉到實際的我們幾乎一無所知,所以我們組的成員都不知道該怎么入手,我們通過請教老師,以及上網(wǎng)查詢等通道,終于順利的完成數(shù)據(jù)采樣系統(tǒng)的各方面設計。這樣一個過程使我的理論知識得到了試驗和應用,使我的理論知識得到了進一步的提高。通過這次ARM課程設計,我對整個嵌入式程序的設計有了一個比較深的理解,特別是有關ARM的信號源發(fā)生器這塊,比如數(shù)字信號的產(chǎn)生、調(diào)節(jié)和D/A轉(zhuǎn)換的原理等。還有就是增強了自身

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論