STM32數字示波器的設計_第1頁
STM32數字示波器的設計_第2頁
STM32數字示波器的設計_第3頁
STM32數字示波器的設計_第4頁
STM32數字示波器的設計_第5頁
已閱讀5頁,還剩7頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

...wd......wd......wd...STM32簡易數字示波器的設計本設計是基于ARM(AdvanceRISCMachine)以STM32為控制核心簡易示波器的設計。包括前級電路處理,AD轉換,LCD顯示燈模塊。前級電路處理由程控放大衰減器,極性轉換電路組成,AD的轉換速率最高為500KSPS,采用實時采樣方式,設計中采用模塊設計方法。可測量輸入頻率范圍為1HZ—50KHZ的波形,測量幅度范圍為-3.3V—+3.3V,實時顯示輸入信號波形,同時測量波形輸入信號的峰峰值。總體來看,本文所設計的示波器,體積小,價格低廉,低功耗,方便攜帶,適用范圍廣泛,根本上滿足了某些場合的需要,同時抑制了傳統示波器體積龐大的缺點,減小本錢,完全可以把本設計當做手持數字示波器。關鍵詞:AD,STM32,實時采樣,數字示波器TOC\o"1-3"\h\z\u16781前言111703第1章緒論2139151.1課題背景22481.2課題研究的目的和意義2204051.3課題的主要研究工作3817第2章系統整體設計方案3182572.1硬件總體構造3261462.2系統實現的原理介紹4295172.2.1STM32處理器介紹4198142.2.2LCD顯示介紹5161272.3軟件整體設計672882.4數字手持示波器技術參數65999第3章軟件編程與調試7117333.1軟件設計總體框圖7205943.2鍵盤控制程序710553.3峰峰值測量程序設計8286023.4LCD顯示程序設計919826第四章性能測試與分析1130046第五章總結13前言由于傳統示波器雖然功能齊全但是體積旁大,不方便攜帶,本設計針對這種缺點設計一種體積小、本錢低、功耗小、便攜數字示波器,同時到達學以致用,理論和實踐相結合,進一步學習課外知識,培養綜合應用知識,鍛煉動手和實際工作的能力。示波器實現輸入頻率范圍為1HZ—50KHZ,幅度范圍為-3.3V—+3.3V,實現波形實時顯示以及幅度測量。示波器在電子、電氣、控制等領域應用十分廣泛,隨著計算機的開展,示波器已經實現了和計算機互聯,共享數據,但現有示波器有諸多缺乏,體積龐大,價格昂貴,功能齊全的示波器在某些場合并不能得到充分的應用。本課題所研究的示波器定位于抵擋型,即在性能上滿足大多場合的需要,努力實現小型化,價格低廉,攜帶方便,這樣在財力有限的小用戶能夠普及,并和功能齊全高檔示波器配合使用,取長補短。本設計對信號的采樣,使用實時采樣方式,這種方法的優點是,設計相對簡單,能實時顯示所測信號的波形。缺點是,由于受AD轉換速率的限制不能測量頻率很高的信號。另外,AD只能測量范圍很小的電壓信號,單輸入信號可能更小,或者更大,所以要對信號進展程控放大和衰減。由于本設計使用的AD只能測量正極性的電壓信號,而外界輸入的信號有正有負,因此在輸入AD前要把所有信號轉換成正極性的,再做測量。第1章緒論1.1課題背景在電子測量技術的開展史上,示波器的出現給測量技術帶來了翻天覆地的變化,可以說的上是一場革命,從布勞恩的第一臺示波器問世以來,示波器的功能越來越豐富,性能也與日俱增。從70年代開場人們的注意力主要轉向自動化、實用化和提高準確度。微型計算機和儀器通用接口的出現,給示波器的自動化開展推到了一個嶄新的水平。微機的引入使示波器在設計、性能、功能、實用以及操作和故障診斷等方面都產生了巨大變化,隨著工業開展對示波器的設計和測量的需要,示波器的功能已從時域分析擴展到了數據域分析。當前,高精度、功能多樣、使用靈活、操作方便、性能可靠,已成為示波器生產廠家追求的主要目標。1.2課題研究的目的和意義隨著電子工業的開展,電子技術已經滲透到過敏經濟個領域中利用電子技術進展的測量即電子測量技術開展很快,已經成為一門學科,并在一定程度上反映了一個國家科學技術水平。在電子測量儀器中,示波器所占的地位越來越重要,對電量和許多非電量的測試來說是一種主要的、通用的測量工具。其實用之廣泛和開展速度之快都遠遠超過其他測量儀器,已經廣泛應用于國防、科研、學校以及工農商業等各個領域和部門。數字示波器是隨著數字電路的開展而開展起來的一種新型示波器。它是采用數字電路,把輸入信號經過AD轉換,把模擬波形變換成數字信息,并存儲在存儲器中,待需要讀出時,在通過DA轉換,能捕捉觸發前的信號,可通過接口與計算機相連接等特點,與計算機連成系統。傳統模擬的示波器也有其優點,即具有迅速的響應特性、面板直接控制操作、可直接觀測輸入信號、價格低廉等。目前數字示波器已經完全能夠做到,特別是在捕獲非重復信號、防止信號虛化和閃爍等方面,數字示波器顯示出了模擬示波器無可比較的優勢。因此,數字示波器由于其性能優越,和良好的性價比,現在已成為示波器的主流產品。通過本設計,可以到達學以致用,把理論與實踐相結合,學會處理設計過程中出現的一些問題,掌握設計的技巧,為以后工作打下根基,并完成一個能滿足根本需要的手持示波器。1.3課題的主要研究工作數字示波器利用AD把被測量的模擬信號轉換成數字信號,并在液晶上顯示波形。在這里,主要對按鍵的控制和波形的液晶顯示模塊進展分析和探究。和傳統模擬示波器相比,屏幕更新速率是數字示波器另一個限制因素,它不像模擬示波器那樣實時顯示波形的變化,波形在采樣轉換顯示的過程中被延遲了,被測信號總要經過一段時間才能在屏幕上顯示出來。為了使測量的波形更便于觀測,需要對波形的幅度和周期進展放大和縮小。幅度的改變可通過對按鍵的檢測來適當調整波形顯示的系數比例;周期的放大和縮小可以通過調整采樣間隔來在LCD上顯示出適當大小的波形。第2章系統整體設計方案示波器的設計分為硬件設計和軟件設計兩局部。示波器的控制核心采用ARM9,由于STM32芯片里有自帶的AD,采樣速率最高為500KSPS,分辨率為10位,供電電壓為3.3V,根本上能滿足本設計要求,顯示局部用3.2寸TFTLCD〔分辨率:320*240〕模塊。軟件局部采用C語言進展設計,設計環境為Keil。2.1硬件總體構造該設計采用模塊化的設計方法,根據系統功能把整個系統分成不同的具有特定功能的模塊,硬件整體框圖如以下列圖所示。圖2-1系統整體框圖該示波器由4局部電路構成,分別是:(1)輸入程控放大衰減電路;(2)極性轉換電路;(3)AD轉換電路;(4)顯示控制電路;(5)按鍵控制電路;整體設計思路是:信號從探頭輸入,進入程控放大衰減電路進展放大衰減,程控放大器對電壓大的信號進展衰減,對電壓小信號進展放大以符合AD的測量范圍,經過處理后信號進入極性轉換電路進展電平調整成0—3.3V電壓,因為被測信號可能是交流信號,而AD只能測量正極性電信號,經調整后送入AD轉換電器對信號進展采樣,采樣所得數據送入LCD顯示,這樣實現了波形的顯示。按鍵控制可以通過不同的按鍵來控制波形的放大和縮小,同時也可以改變采樣間隔,以測量更大頻率范圍的信號。2.2系統實現的原理介紹2.2.1STM32處理器介紹STM32系列基于專為要求高性能、低本錢、低功耗的嵌入式應用專門設計的ARMCortex-M3內核。按性能分成兩個不同的系列:STM32F103“增強型〞系列和STM32F101“根本型〞系列。增強型系列時鐘頻率到達72MHz,是同類產品中性能最高的產品;根本型時鐘頻率為36MHz,以16位產品的價格得到比16位產品大幅提升的性能,是16位產品用戶的最正確選擇。兩個系列都內置32K到128K的閃存,不同的是SRAM的最大容量和外設接口的組合。時鐘頻率72MHz時,從閃存執行代碼,STM32功耗36mA,是32位市場上功耗最低的產品。本設計所用的STM32F103VCT6集成的片上功能如下:(1)1.2v內核供電,1.8V/2.5V/3.3/V存儲器供電,3.3V外部I/O供電(2)外部存儲控制器(3)LCD控制器(4)4通道DNA并有外部請求引腳(5)3通道UART(6)2通道SPI(7)1通道IIC總線接口1通道IIS總線接口(8)AC’97編解碼器接口(9)兼容SD主接口協議1.0版和MMC卡協議2.11兼容版(10)2通道USB主機1通道USB設備(11)4通道PWM定時器和1通道內部定時器/看門狗定時器(12)8通道10位ADC和觸摸屏接口(13)80個通用I/O和24通道外部中斷源2.2.2LCD顯示介紹LCD液晶顯示器是LiquidCrystalDisplay的簡稱,LCD的構造是在兩片平行的玻璃當中放置液態晶體,兩片玻璃中間有許多垂直和水平的細小電線,通過通電與否來控制桿狀水晶分子改變方向,將光線折射出來產生畫面。LCD的主要技術參數有:1.比照度LCD制造時選用的控制IC、濾光片和定向膜等配件,與面板的比照度有關,對于一般用戶而言,比照度能夠到達350:1就足夠了,但在專業領域這樣的比照度還不能滿足用戶的要求。比照值定義是最大亮度值(全白)除以最小亮度值(全黑)的比值2.亮度LCD是一種介于固態與液態之間的物質,本身是不能發光的,需要借助于額外的光源才行。因此,燈管數目關系著液晶顯示器亮度。液晶顯示器的最大亮度,通常由冷陰極涉嫌管來決定,亮度值一般都在200~250cd/m2間。3.可視面積液晶顯示器所表示的尺寸就是與實際可以使用的屏幕范圍一致。4.可視角度當背光源通過偏極片、液晶和去向層之后,輸出的光線變具有了方向性。也就是說大多說光都是從屏幕中垂直射出來的,所以從某一個較大的角度觀看液晶顯示時,便不能看到原來的顏色,甚至是只能看到全白或者全黑。為了解決這個問題,制造商們也著手開發廣角技術,到目前為止有三種比較流行的技術,分別是:TN+FILM、IPS和MVA。5.色彩度任何一種色彩都是由紅、綠、藍三種根本色組成的。LCD面板上是由480×272個像素點組成現象的,每個獨立的像素色彩是由紅、綠、藍(R、G、B)三種根本色來控制。2.3軟件整體設計整體設計思路是:信號從探頭輸入,進入程控放大衰減電路進展放大衰減,程控放大器對電壓大的信號進展衰減,對電壓小信號進展放大以符合AD的測量范圍,經過處理后信號進入極性轉換電路進展電平調整成0—3.3V電壓,因為被測信號可能是交流信號,而AD只能測量正極性電信號,經調整后送入AD轉換電器對信號進展采樣,采樣所得數據送入LCD顯示,實現波形的顯示按鍵控制可以通過不同的按鍵來控制波形的放大和縮小,同時也可以控制程控放大器,選擇放大和衰減的倍數。該示波器軟件開發環境為Keil4,代碼采用C語言編寫。ARM中軟件完成的功能:(1)輸入波形顯示和峰峰值測量。(2)LCD的初始化和顯示控制。(3)按鍵的檢測和控制。2.4數字手持示波器技術參數(1)水平掃描速度可調(2)垂直電壓靈敏度可調(3)被測信號的電壓峰峰值在屏幕上顯示。(4)能測量輸入頻率為1HZ~50KHZ的信號(5)測量幅度范圍為-3.3V~3.3V第3章軟件編程與調試整體設計思路是:經過程控放大衰減和極性轉換后的電壓作為AD轉換的輸入電壓,然后通過不同的按鍵來控制波形的放大和縮小,最后在LCD屏上顯示出大小適中的波形。同時測出電壓峰峰值,并顯示。以下是根據整個系統進展的軟件設計。3.1軟件設計總體框圖系統總體框圖如圖3-1所示:圖3-1系統總體框圖3.2鍵盤控制程序利用4個按鍵K1,K2,K3,K4來選擇波形的放大和縮小,按鍵采用外部中斷方式。其中通過K1和K2來調整波形顯示的高度比例,通過K3和K4來改變采樣間隔增加或減少一個周期內采樣點數,到達控制水平掃描速度,使低頻率波形能完整顯示。當檢測到K1時,波形幅度系數置為2,當檢測到K2時,波形幅度系數置為1/2,否則波形幅度系數為1,以此控制幅度的放大和縮小。當檢測到K3、K4時,采樣函數中分別參加不同的延時函數來拉長或縮短波形。按鍵中斷程序流程圖如以下列圖所示。圖3-2按鍵中斷流程圖3.3峰峰值測量程序設計通過遍歷AD轉換結果,取出最大值和最小值求差,結果即為電壓峰峰值。測量函數:high_vpp=low_vpp=Buff[0];for(i=0;i<200;i=i+1) { if(Buff[i]>high_vpp) { high_vpp=Buff[i];//最大值 } if(Buff[i]<low_vpp) { low_vpp=Buff[i];//最小值 }}vpp=(float)(high_vpp-low_vpp)*(6.6/4096);3.4LCD顯示程序設計本設計所使用的是3.2寸320×240圖形點陣LCD,該局部程序主要有LCD初始化,AD轉換過來的數據轉換成顯示數據。用數組連續存儲AD轉換結果,存滿后依次在LCD上顯示,依次循環。顯示過程中由于STM32處理器頻率較低,導致顯示一屏的時間較長,從而使刷屏速度較慢,效果不好。這里采用每次刷一列的的算法,即每次顯示下一列點之前將此列初始化為屏幕底色,從而改善視覺效果。LCD顯示主要程序為:intmain(){Stm32_Clock_Init(9); //系統時鐘設置delay_init(72); //延時初始化 LCD_Init(); //初始化液晶 KEY_Init(); //按鍵初始化Adc_init();//ADC初始化LCD_Clear(BLACK);//清屏POINT_COLOR=RED; //點顏色BACK_COLOR=BLACK;//背風光while(1){ key=KEY_Scan(); //獲取按鍵返回值 high_vpp=low_vpp=Buff[0]; for(i=0;i<200;i=i+1) { Buff[i]=Get_Adc(0); Choose_Delay(); //改變采樣間隔 } for(i=0;i<200;i=i+1) { Clear_Line(i);//清列 first_point=next_point; temp=Buff[i]; Vpp_Change();//調整電壓顯示幅度 next_point=100+temp*100/4096;//得到點坐標 Draw_net();//畫網格 LCD_DrawLine(first_point,i,next_point,i+1);//通過連線畫波形 } LCD_ShowChar(80,220,'V',18,0); vpp=(float)(high_vpp-low_vpp)*(6.6/4096); //求得峰峰值 temp=vpp; LCD_ShowChar(97,202,'o',18,0); LCD_ShowChar(50,220,'.',18,0); LCD_ShowNum(40,220,temp,1,18,0);//顯示峰峰值整數

溫馨提示

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

評論

0/150

提交評論