




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、西安工程大學本科畢業設計(論文)低頻模擬信號波形顯示分析器設計的論文摘 要傳統的示波器其功能完全依靠硬件實現,功能單一且維護費用高,更重要的是功能一旦確定便不能更改。利用labview做成的虛擬儀器是將虛擬技術,計算機技術,總線技術,和軟件技術緊密結合在一起,利用計算機強的數字處理能力實現了儀器的大部分功能,打破了傳統儀器的框架,形成了一種新的儀器模式。為此,本文提出了低頻模擬信號顯示分析器。 低頻模擬信號顯示分析器的設計主要分為上位機和下位機兩部分,下位機主要是利用c8051f340單片機對信號采樣并將得到的信號通過usb接口發送給pc機。上位機主要是由pc機端的gui界面進行波形顯示、存儲
2、、頻譜分析,而且pc機端的gui界面主要利用labview來實現。軟件上,下位機主要是對波形進行采樣并通過usb發給pc機,上位機上利用labview虛擬儀器設計一個示波器進行波形顯示和頻率分析。硬件上,先將產生的模擬信號發送到a/d轉換器上,使其轉換為數字信號,然后發送到pc機上。labview內置信號采集、測量分析與數據顯示功能,同時還保證了系統的靈活性。經過調試,最后驗證本設計實現了以上所提到的功能,具有合理可行性。 經過對本設計的功能進行仔細分析,在論文開始得出了系統的總體設計方案,接著從硬件、軟件兩部分對系統的設計方案進行了詳細描述,最后又通過系統的調試和分析驗證了系統功能特性。關鍵
3、詞:c8051f340,頻譜分析,labview,pc機,usbabstract traditional oscilloscope function completely dependent on hardware implementation with single function and the high cost of maintenance, it is more important function cannot change once established. using the labview virtual instrument is made of the virtual
4、technology, computer technology, bus technology, and software technology closely together. it use computer powerful digital processing ability realize the instrument most of the functions, breaking the traditional instruments of the framework, formed a new instrument mode. to this end, this paper pr
5、esents a low frequency analog signal display analyzer design. low frequency analog signal analyzer design is mainly divided into two parts of the upper machine and lower machine. lower machine mainly used c8051f340 mcu of signal sampling and signal will be sent to pc through usb interface. upper mac
6、hine mainly by the pc to the gui interface for waveform display store spectrum analysis. on the software, i/o port, timer, adc, initialized clock, and then to generate the waveform sampling and via usb to a pc then the waveform sampling and via usb to a pc. in the pc using the labview virtual instru
7、ment design an oscilloscope waveform display and frequency analysis. on the hardware, we will produce the first on the analog signal sent to the a/d converter, so that it is converted to digital signals . pc to the gui interface displayed waveform and frequency spectrum analysis. after debugging, fi
8、nally validate this design realized the function of the above mentioned, innovative and use value.according to the analyze of the application, it comes into being the design scheme of the system in the beginning, then gives the detail description from hardware and software both sides, finally gets t
9、he verification of the system function through the system debugging and analyze.key words:c8051f340,labview, spectral, analysis, personal computer, usb 目 錄前 言1第1章 系統原理與方案31.1 基本原理31.1.1 采樣的基本原理31.1.2 api實現usb通信原理41.1.3 labview軟件設計基本原理51.2 系統方案設計61.2.1 系統功能61.2.2 系統方案71.2.2.1系統結構框架71.2.2.2 器件選擇71.2.2
10、.3 軟件環境111.2.2.4 測試方案111.3 論文章節安排12第2章 硬件設計132.1 硬件功能描述132.2 硬件總體設計132.3 硬件詳細設計142.3.1 單片機最小系統142.3.1.1供電電路152.3.1.2復位電路162.3.1.3 jtag電路172.3.2 usb通信與供電電路172.3.2.1 usb通信電路172.3.2.2電源電路182.4 系統硬件原理圖設計182.5 系統整體pcb圖設計19第3章 軟件設計203.1軟件功能概述203.1.1下位機203.1.2 上位機203.2 軟件總體設計203.3軟件詳細設計223.3.1下位機程序設計223.3.
11、1.1 初始化233.3.1.2數據采集并通過usb發送243.3.2 上位機程序設計253.3.2.1前面板.253.3.2.2后面板.263.4 程序代碼31第4章 系統調試324.1調試目的324.1.1驗證usb通信324.1.2驗證被測信號功能324.1.3驗證labview界面功能324.1.4整體調試324.2調試方案334.2.1驗證usb通信成功334.2.2硬件方面檢測334.2.3檢測被測信號344.2.4整體調試344.3 調試結果344.4 調試過程中遇到的問題及解決方案454.5結論與分析46第5章 結論與展望475.1結論475.2展望47參考文獻49致 謝51附
12、錄 原理圖52附錄 單片機系統原53附錄主程序54附錄實物圖59前 言 自從1986年美國ni(national instrument)公司提出虛擬儀器的概念以來,隨著計算機技術和測量技術的發展,虛擬儀器技術也得到很快的發展。虛擬儀器是指:利用現有的pc機,加上特殊設計的儀器硬件和專用軟件,形成既有普通儀器的基本功能,又有一般儀器所沒有的特殊功能的新型儀器。與傳統的儀器相比其特點主要有:具有更好的測量精度和可重復性;測量速度快;系統組建時間短;由用戶定義儀器功能。虛擬儀器以軟件為核心,其軟件又以美國ni公司的labview虛擬儀器軟件開發平臺最為常用。labview是一種圖形化的編程語言,主要
13、用來開發數據采集,儀器控制及數據處理分析等軟件,功能強大。目前,該開發軟件在國際測試、測控行業比較流行,在國內的測控領域也得到廣泛應用。信號波形顯示分析器是在科學研究和工程設計中廣泛應用的一種通用儀器。labview作為一個圖形化編程軟件,是開發測試系統的一種功能強大、方便快捷的編程工具。其良好的相通性、開放性、專用性,使測試系統的開發周期短、成本低、質量高。基于labview的虛擬信號波形顯示分析器具有機交互性好、易于操作等特點,能夠廣泛的應用與于科研、生產等領域1。傳統文本編程語言根據指令的先后順序決定程序執行順序,但labview 則采用數據流編程方式,程序框圖中節點之間的數據流向決定了
14、vi 及函數的執行順序。labview 提供很多外觀與傳統儀器(如示波器、萬用表)類似的控件,可用來方便地創建用戶界面。用戶界面在labview 中被稱為前面板。使用圖標和連線,可以通過編程對前面板上的對象進行控制。這就是圖形化源代碼,又稱g 代碼。labview 的圖形化源代碼在某種程度上類似于流程圖,因此又被稱作程序框圖。labview盡可能利用了技術人員、科學家、工程師所熟悉的術語、圖標和概念。因此,labview是一個面向最終用戶的工具。它可以增強你構建自己的科學和工程系統的能力,提供了實現儀器編程和數據采集系統的便捷途徑。使用它進行原理研究、設計、測試并實現儀器系統時,可以大大提高工
15、作效率。利用labview,可產生獨立運行的可執行文件。針對以上現狀,本設計提出以下方案:總體設計主要分為上位機和下位機兩部分,下位機主要是利用c8051f340單片機對信號采樣并將得到的信號通過usb接口發送給pc機,上位機主要是由pc機端的gui界面進行波形顯示、頻譜分析,而且pc機端的gui界面主要利用labview來實現。論文共分為五章。第一章提出設計中的一些基本原理和相關硬件、軟件的基本介紹。第二章是系統硬件設計的介紹,包括硬件的功能描述和硬件的總體設計及詳細設計。第三章是系統軟件的設計,針對對系統軟件的功能、總體設計和各個部分的具體設計實現作詳細的介紹。第四章系統的調試和分析部分,
16、這章主要對調試的過程作了詳盡的描述,并對調試過程中產生的問題進行了分析。第五章是系統設計的結論與展望,本章對結論作了詳細的說明,展望是對于本次設計中的問題提出了一些個人見解。第1章 系統原理與方案本章主要介紹了數據采樣原理,usb通信原理,及模擬示波器設計原理。然后細化到每個模塊的方案如何選擇,最后根據設計的方案進行了整個論文的章節安排。1.1 基本原理 1.1.1 采樣的基本原理采樣定理,又稱香農采樣定理,奈奎斯特采樣定理,是信息論,特別是通訊與信號處理學科中的一個重要基本結論。e. t. whittaker(1915年發表的統計理論),克勞德香農 與harry nyquist都對它作出了重
17、要貢獻。另外,v. a. kotelnikov 也對這個定理做了重要貢獻。在進行模擬/數字信號的轉換過程中,如果采樣頻率大于信號中最高頻率fmax的2倍時(fs.max=2fmax),采樣之后的數字信號完整地保留了原始信號中的信息,一般實際應用中保證采樣頻率為信號最高頻率的510倍,采樣定理又稱奈奎斯特定理。1924年奈奎斯特(nyquist)就推導出在理想低通信道的最高碼元傳輸速率的公式:理想低通信道的最高碼元傳輸速率b=2w baud (其中w是理想) 圖1-1模擬采樣示意圖采樣定理:理想信道的極限信息速率(信道容量)c = b * log2 n ( bps )采樣過程所應遵循的規律,又稱
18、取樣定理、抽樣定理。采樣定理說明采樣頻率與信號頻譜之間的關系,是連續信號離散化的基本依據。采樣定理是1928年由美國電信工程師h.奈奎斯特首先提出來的,因此稱為奈奎斯特采樣定理。1933年由蘇聯工程師科捷利尼科夫首次用公式嚴格地表述這一定理,因此在蘇聯文獻中稱為科捷利尼科夫采樣定理。1948年信息論的創始人c.e.香農對這一定理加以明確地說明并正式作為定理引用,因此在許多文獻中又稱為香農采樣定理。采樣定理有許多表述形式,但最基本的表述方式是時域采樣定理和頻域采樣定理。采樣定理在數字式遙測系統、時分制遙測系統、信息處理、數字通信和采樣控制理論等領域得到廣泛的應用3。1.1.2 api實現usb通
19、信原理usb無疑已經成為21世紀嵌入式系統的標準外部串行接口;然而開發usb外設,需要面對微處理器和usb控制器的選擇,熟悉windows驅動程序,開發微處理器固件程序和pc機端應用程序等諸多問題,開發工作既專業又麻煩。簽于此,應用包含片上usb 控制器的c8o51f340單片機和進行pc機端gui用戶應用程序開發的labview軟件為基礎的一種基于api實現usb通信的開發方法,從而了解和熟悉usb外設的api開發方法。c8o5if340是silicon laboratories公司最新推出的可提供usb功能的混合信號微控制器。它包含高速流水線的8051兼容微控制器核,運行速率可以高達48
20、mips;64 kb的芯片內建閃存與5 376字節的ram,片上外設引腳可以軟件配置,70 的指令可以在1個或2個機器周期中執行;usb功能控制器具有完整的usb 20認證,支持全速與低速操作,可以用于大多數usb外設設計。另外,silicon laboratories公司還為usb驅動程序開發提供了usbxpress開發套件,使得usb主機和從機驅動程序開發可以快捷、高效地完成。labview是一個具有革命性的圖形化開發環境。它內置信號采集、測量分析與數據顯示功能,摒棄了傳統開發工具的復雜性,為用戶提供強大功能的同時還保證了系統的靈活性。labview將廣泛的數據采集、分析與顯示功能集中在了
21、同一個環境中,讓開發人員可以在自己的平臺上無縫地集成一套完整的應用方案4 。利用labview 軟件開發pc機端usb應用程序,不僅可以獲得具有良好人機交互的gui界面,而且將極大地加快開發進程4。usb外設開發除了硬件設計外,大部分工作集中在固件編程和pc機端驅動程序以及用戶應用程序的開發上。一般利用api實現usb通信的原理框圖如圖1所示。顯然,要完成usb通信需要pc機端(usb主機)與c805if340單片機端(usb器件)共同協作。在pc機端,需要首先建立usb主機驅動程序,然后編寫用戶應用程序,進而利用api函數實現用戶應用程序從usb主機驅動處獲取usb數據包,并完成相應的usb
22、讀寫操作;在單片機端,同樣需要先調用usb器件驅動程序,然后編寫應用程序,而應用程序通過usb器件驅動程序實現訪問usb底層硬件。 圖1-2 usb通信原理圖 由于有了silicon laboratories公司提供的usbxpress的開發套件,上述驅動以及應用程序的編寫變得極為簡便。通過在windows操作系統環境下安裝usbxpress軟件,就可以直接獲得usb主機驅動程序(在usbxpress安裝目錄下的driver目錄中)、usb主機api(usbxpress安裝目錄下的siusbxpdl1)以及usb器件驅動程(usbxpress安裝目錄下的usbxf34xlib)。usbxpre
23、ss開發套件提供的各種軟件庫通過一系列函數實現單片機端和pc機端的應用程序接口(api)。這些函數封裝了usb協議的細節,使得程序開發人員不需要了解usb的過多細節即可使用usb進行數據通信。因此對usb通信開發來說,要做的僅僅是usb主機和usb器件的具體應用程序開發,以及api函數的直接調用。1.1.3 labview軟件設計基本原理 我們把用labview實現的一個完整的labview應用程序成為一個虛擬儀器,稱為vi。所有的vi,它包括前面板、程序框圖圖以及圖標/連結器三部分。 前面板,前面板是圖形用戶界面,也就是vi的虛擬儀器面板,前面板直接面向用戶,是用戶使用虛擬儀器的基本操作面板
24、。這一界面上有用戶輸入和顯示輸出兩類對象,具體表現有開關、旋鈕、圖形以及其他控制和顯示對象。 程序框圖提供vi的圖形化源程序。它的功能是對前面板上的控件進行定義、操作和連線以實現虛擬儀器的功能,是labview程序設計的核心。在程序框圖中存在著對vi編程,以控制和操縱定義在前面板上的輸入和輸出。它包括前面板上的控件和控件的連線端子,還有一些前面板上沒有,但編程必須有的東西,例如函數、結構和連線等17。如果將vi與標準儀器相比較,那么前面板上的東西就是儀器面板上的東西,而流程圖上的東西相當于儀器箱內的東西。在許多情況下,使用vi可以仿真標準儀器,不僅在屏幕上出現一個惟妙惟肖的標準儀器面板,而且其
25、功能也與標準儀器相差無幾。 vi具有層次化和結構化的特征,一個vi可以作為子程序,這里稱為子vi,被其他vi調用。圖標與連接器在這里相當于圖形化的參數。labview的強大功能歸因于它的層次化結構,用戶可以把創建的vi程序當作子程序調用,以創建更復雜的程序,而這種調用的層次是沒有限制6。 在vi設計過程中,可以利用工具選板、前面板中的控件選板、程序框圖中的函數選板進行設計。這些選板的詳細功能及用法通過不斷的學習設計vi的過程逐漸地掌握。1.2 系統方案設計1.2.1 系統功能 在本設計中需要能夠實現功能如下: 1、下位機上利用c8051f340單片機對數據的采樣。 2、將采樣得到的數據通過us
26、b接口發送給pc機。 3、上位機上pc機端的gui界面主要利用labview做成虛擬示波器,進行波形顯示、頻譜分。1.2.2 系統方案 本設計的實現主要由硬件部分和軟件部分組成。下面將對系統的硬件構架和軟件開發環境作已簡單介紹。1.2.2.1系統結構框架為了實現低頻模擬信號波形顯示器的設計,本設計主要分為上位機和下位機兩部分,下位機主要是利用c8051f340單片機對信號采樣并將得到的信號通過usb接口發送給pc機,上位機主要是由pc機端的gui界面進行波形顯示、頻譜分析,而且pc機端的gui界面主要利用labview來實現。通過以上設計系統構架框圖如圖1-3如所示。圖1-3系統機構框架圖1.
27、2.2.2 器件選擇1、 單片機器件選擇本次設計主要運用了c8051f340,具體介紹如下:圖1-4 c8051f340的內部結構c8051f340/1/2/3/4/5/6/7器件是完全集成的混合信號片上系統型mcu。下面列出了一些主要特性7 。高速、流水線結構的8051兼容的微控制器內核(可達48mips)。 全速、非侵入式的在系統調試接口(片內)。 通用串行總線(usb)功能控制器,有8個靈活的端點管道,集成收發器和1k fifo ram。 電源穩壓器。真正10位200 ksps的單端/差分adc,帶模擬多路器。片內電壓基準和和溫度傳感器。 片內電壓比較器(兩個)。 精確校準的12mhz內
28、部振蕩器和4倍時鐘乘法器。 多達64kb的片內flash存儲器。 多達4352字節片內ram(256+4kb)。 硬件實現的smbus/ i2c、增強型uart(最多兩個)和增強型spi串行接口 4個通用的16位定時器。 具有5個捕捉/比較模塊和看門狗定時器功能的可編程計數器/定時器陣列(pca)。 片內上電復位、vdd監視器和時鐘丟失檢測器。 多達40個端口i/o(容許5v輸入)。 具有片內上電復位、vdd監視器、電壓調整器、看門狗定時器和時鐘振蕩器的c8051f340/1/2/3/4/5/6/7器件是真正能獨立工作的片上系統。flash存儲器還具有在系統重新編程能力,可用于非易失性數據存儲
29、,并允許現場更新8051固件。用戶軟件對所有外設具有完全的控制,可以關斷任何一個或所有外設以節省功耗。 片內silicon labs二線(c2)開發接口允許使用安裝在最終應用系統上的產品mcu進行非侵入式(不占用片內資源)、全速、在系統調試。調試邏輯支持觀察和修改存儲器和寄存器,支持斷點、單步、運行和停機命令。在使用c2進行調試時,所有的模擬和數字外設都可全功能運行。兩個c2接口引腳可以與用戶功能共享,使在系統調試功能不占用封裝引腳。 每種器件都可在工業溫度范圍(-45到+85)內用2.7v-5.25v的電壓工作。電源電壓大于3.6v時,必須使用內部穩壓器。對于usb通信,電源電壓最小值為3.
30、0v。端口i/o和/rst引腳都容許5v的輸入信號電壓。c8051f340/1/2/3/4/5/6/7采用48腳tqfp封裝或32腳lqfp封裝。 圖1-5 c8051f340的原理圖圖1-6 c8051f340的引腳圖2、示波器示波器是一種使用非常廣泛,且使用相對復雜的儀器。在數字電路實驗中,需要使用若干儀器、儀表觀察實驗現象和結果。常用的電子測量儀器有萬用表、邏輯筆、普通示波器、存儲示波器、邏輯分析儀等。萬用表和邏輯筆使用方法比較簡單,而邏輯分析儀和存儲示波器目前在數字電路教學實驗中應用還不十分普遍。示波器工作原理 :示波器是利用電子示波管的特性,將人眼無法直接觀測的交變電信號轉換成圖像,
31、顯示在熒光屏上以便測量的電子測量儀器。它是觀察數字電路實驗現象、分析實驗中的問題、測量實驗結果必不可少的重要儀器。示波器由示波管和電源系統、同步系統、x軸偏轉系統、y軸偏轉系統、延遲掃描系統、標準信號源組成。本次所用示波器如下圖:圖1-7示波器1.2.2.3 軟件環境1.、單片機開發軟件keil c51簡介keil c51是美國keil software公司出品的51系列兼容單片機c語言軟件開發系統。與匯編相比,c語言在功能上、結構性、可讀性、可維護性上都有明顯的優勢,易學易用。用過匯編語言后再使用c來開發,體會更加深刻。 keil c51軟件提供豐富的庫函數和功能強大的集成開發調試工具,全w
32、indows界面。另外重要的一點是 keil c51生成的目標代碼效率非常之高,多數語句生成的匯編代碼很緊湊,容易理解。基于keil c51的所有這些優點,在本設計中選用其作為軟件設計環境8。2、labview簡介labview(laboratory virtual instrument engineering workbench,實驗室虛擬儀器開發平臺)是美國ni(national instrument company)公司推出的一種基于g語言的虛擬軟件開發工具,虛擬儀器是有用戶定義,這種“軟件即儀器”的思想增強了虛擬儀器的靈活性和可擴展性15。labview編程主要是用簡單、直觀、易懂的框
33、圖來代替傳統的程序代碼,并且其編程過程和思維過程很相似。如今labview已應用到航空、電子、通信、工業、醫學等領域。1.2.2.4 測試方案本設計首先是利用keil c51軟件編譯寫好的程序代碼,無誤后通過keil的下載功能將編譯好的目標文件下載到搭建好的測試系統中,并運行一段時間后,檢測程序的正誤。在運用labview之前檢測自己設計的方案時,必須先保證上位機設計的合理性與成功性,為此我們必須先對其進行usb通信的檢測,進而保證后面實驗的可行性。驗證被測信號功能被測信號是本次設計的關鍵部分,是我們應該首先保證的環節,通過示波器我們首先要保證三種被測信號的正常使用,為后面信號分析形成對比部分
34、。驗證labview界面功能對labview界面的檢測實際是對上位機的整體檢測,通過labview界面信號顯示和頻譜的顯示進而確保整個設計的初步成功。1.3 論文章節安排本論文共分為五章,具體介紹如下:第一章是緒論,主要介紹了數據通信,usb通信,labview軟件設計基本原理和相關軟件的介紹。第二章是系統硬件設計的介紹,包括了c8051f340硬件的功能描述和硬件的總體設計和詳細設計。第三章是系統軟件的設計,在這章里將會對系統軟件的功能、總體設計和各個部分的具體設計實現作詳細的介紹。主要分為上位機和下位機兩部分具體進行了說明。第四章是系統的調試與分析,這章主要對調試的過程作了詳盡的描述,并對
35、調試過程中產生的問題進行了分析。第五章是系統設計的結論與展望,在這一章中,結論對系統的設計結果作了簡單的總結,展望則根據系統中存在的不足提出了一些相應的改進的方法。第2章 硬件設計在設計的過程中,我們將系統功能分為硬件與軟件來分別實現。本章主要對測試系統硬件的功能、測試系統硬件總體設計、測試系統硬件詳細設計進行介紹。其中測試系統硬件的詳細設計主要是c8051f340單片機系統的硬件設計進行詳細介紹。 2.1 硬件功能描述硬件設計是整個系統設計的基礎,是軟件運行的平臺。根據第一章系統方案,首先需要進行整個系統的硬件設計,硬件的設計主要根據系統所要達到的功能而進行。硬件功能主要是搭建下位機的c80
36、51f340單片機系統構成。下位機c8051f340單片機主要作為對數據的采集。該模塊主要包括供電電路、時鐘電路、復位電路、jtag電路。2.2 硬件總體設計根據系本功能要求,需要完成以下設計:以c8051f340為核心的信號采樣系統,實現過程如圖2-1。圖2-1系統總體功能流程圖2.3 硬件詳細設計本小節主要介紹硬件電路中各自包含的大小模塊的具體電路及電路中個元器件的選擇等。2.3.1 單片機最小系統該部分主要是為了實現對信號的采樣,進而通過usb發送到pc機上進行波形的顯示和頻譜的分析。其原理圖如圖2-2所示。圖2-2 c8051f340原理圖2.3.1.1供電電路一般的電源適配器提供的都
37、是5v的電壓,但c8051f340必須使用3.3v的電壓,所以需要用lm1117的電源芯片進行5v到3.3v的電壓轉換。其中的d+、d_分別要接到單片機的8、9引腳。其原理框圖如圖2-3所示。圖2-3 c8051f340供電電路2.3.1.2復位電路單片機的復位包括初始化和從頭開始工作這樣連續的兩步。單片機復位引腳reset接收高電平進行初始化;接收低電平,開始工作。也就是說單片機接收正脈沖開始復位,在正脈沖的下降沿啟動單片機。單片機正常工作期間,復位引腳reset需要一直保持低電平。工作過程中引腳reset一旦接收到一個正脈沖,就會再次進行復位啟動。為可靠完成復位,單片機要求reset引腳施
38、加的正脈沖脈寬不小于2個機器周期(2s)。設計復位電路的要求就是確定電阻電容值,使其時間常數達到2個機器周期的復位最小正脈寬要求。本設計中晶振頻率fosc=12mhz時,機器周期t=1s,要求加在reset引腳的正脈寬不小于2s。當單片機上電后,因為電容兩端的電壓不能突變就會使rst端瞬間產生一個大約為+5v的電壓,而cmos單片機最小輸入高電平電壓umin=3.5v,它瞬間產生的電壓是大于3.5v的,因此rst接收高電平進行初始化。此后+5v對電容c充電導致rst端電壓迅速下降使它變為低電平,單片機開始工作。根據上述要求,本設計r23=10k,c值取10f。圖2-4 復位電路 圖2-4所示電
39、路中,在上電瞬間,由于電容的兩端電壓不可能突變,電阻r5對電容進行充電,充電得時間常數一般由電容和電阻的乘積來決定,要求大于5個外部時鐘周期,有時為防止復位不完全,這些參數可選大一些,在本設計中采用1f的電容和1k的電阻,時間常數為1ms,滿足系統復位要求。按鍵閉合時,電容通過r6可進行放電,使電容的壓降為0,當按鍵斷開時,電容充電的過程與上電復位類似。此外,rst/c2ck和單片機的13引腳/rst/c2ck相連。2.3.1.3 jtag電路當系統調試時,需要把在計算機上編譯并生成執行的代碼下載到單片機芯片上,實現在線調試硬件和軟件。它的接口有兩端接口,其中一端與計算機的usb口相連,另一端
40、與單片機芯片的jtag接口相連,這是一個14針的接口,其硬件連接如圖2-5所示。圖2-5jtag電路2.3.2 usb通信與供電電路2.3.2.1 usb通信電路usb采用四線電纜,其中兩根是用來傳送數據的串行通道,另兩根為下游設備提供電源。usb具有可以熱插拔、攜帶方便、標準統一、可以連接多個設備、安裝方便、結構簡單、高帶寬、易于擴展等優點,已逐漸成為現代數據傳輸的發展趨勢。本設計采用的是usb2.0接口。圖2-6 usb通信電路圖2-6中c1c6的容值大小均參考數據手冊上的典型電路;usb的2、3引腳分別接單片機的d+引腳和d-引腳。2.3.2.2電源電路電源電路是為整個硬件系統提供能源的
41、,它設計的好壞也關乎著系統能否正常工作。與自制的變壓器產生的5v供電系統相比,由usb供出的5v電壓電路安全而且簡單易得,它所提供的功率不超過2.25w,最大輸出電流為500ma,電壓一般為5v5%,這里的偏差可以通過接入旁路電容來消除。圖2-7 最小系統電源電路圖2-7中,c7、c8的容值大小均參考數據手冊上的典型電路;usb的1引腳接單片機的regin引腳。2.4 系統硬件原理圖設計 本設計單片機c8051f340的原理圖采用altium designer summer 09軟件繪制。 原理圖的設計是整個設計的基礎,它決定了后面整個工作的進展。因此正確設計原理圖非常的重要,一般為避免出錯,
42、所以在設計原理圖時候,應該注意以下幾個問題:首先在畫原理圖之前,應該根據用到的元器件去查看protel的元器件庫里是否有,如過沒有,應該先把這些元器件的原理圖符號先畫好。在畫器件原理圖符號時沒必要把所有的管腳都一一畫出來,只要把用到的引腳畫出來則可。這樣一來可以節約時間,又可以能讓原理圖看起來更加的簡潔。其次, 在設計系統原理的圖時,最好能把系統分成幾個小模塊,分開去設計。分模塊設計的最大好處就是簡單明了一目了然。最后,當原理圖畫完之后我們還要仔細檢查,只有確認沒有錯誤之后才生成pcb圖,然后在檢查過程中可以用軟件自帶的電氣規則進行合理的配置。本設計單片機c8051f340的原理圖詳見附錄。2
43、.5 系統整體pcb圖設計 由于本設計單片機c8051f340的原理圖采用altium designer summer 09軟件繪制。所以繪制pcb圖也采用altium designer summer 09軟件。 詳圖見附錄ii。第3章 軟件設計硬件設計完成之后,需要編寫相應的應用程序,本章分上位機和下位機兩部分分別進行詳細介紹。3.1軟件功能概述根據系統功能要求,系統的軟件設計可分為兩大模塊:下位機信號的采樣及發送部分和上位機對信號的分析部分,具體功能描述如下。3.1.1下位機1、利用c8051f340實現對信號的采樣及發送。由于在下位機部分我們主要實現的功能是完成對信號的采樣和發送,所以我
44、們利用c8051f340主要實現,本次設計我們采用的是采樣一組發送一組進行傳輸。2、通過usb端口實現將采樣得到的信號發送到pc機上。 這里其實是一個中間環節,是將上位機和下位機連接到一塊的中介,通過對usb端口的設計將采樣后的信號發送到pc機上。3.1.2 上位機 利用labview虛擬儀器設計一個示波器實現波形顯示和頻率分析。 這里其實是本設計的最重要部分,在上位機上主要是利用labview的強大功能實現對波形的顯示和頻率的分析。3.2 軟件總體設計軟件的設計在整個系統的設計中至關重要,該系統的軟件主要由主程序統領下面的初始化程序和信號處理程序兩大板塊領導。主要是下位機的信號采樣和發送和上
45、位機我頻譜顯示和分析程序框圖。 下位機軟件總體框圖:圖3-1下位機總體框圖 上位機軟件總體框圖:圖3-2 上位機總體框圖3.3軟件詳細設計主程序統領各個子程序的工作,是程序設計的核心部分,也是難度比較大的一部分,所以必須根據設計要求仔細推敲,保證設計思路的正確,為后面的子程序設計做好鋪墊,要在時序上安排好每個子程序的工作順序,保證各個子程序能夠更好的工作。3.3.1下位機程序設計下位機部分主要實現的功能是對信號的采樣,主要兩部分,初始化,信號采樣并通過usb發送到pc機。 在設計時整個系統的工作流程,先進入主程序,然后是對i/o口,adc,和定時器的初始化。再進行對信號的采樣和發送程序部分,本
46、次設計主要采用的是采樣一組數據發送一組數據的流程。主程序整個流程結束,依次循環執行。具體流程如下:圖3-3下位機程序流程圖主程序重要相關代碼注釋如下:1.禁止看門狗的程序代碼pca0md &= 0x40; 2.處理usb總線的程序代碼usb_clock_start(); 這是調用an169-usb通信庫函數usb_clock_start();完成初始化usb總線時鐘usb_init(usb_vid,usb_pid,usb_mfrstr,usb_productstr,usb_serialstr,usb_maxpower,usb_pwattributes,usb_bcddevice);這是調用an
47、169-usb通信庫函數usb_init()完成usb總線使能clksel |= 0x02;rstsrc |= 0x02;3.使能api中斷程序代碼usb_int_enable();調用an169-usb通信庫函數usb_int_enable();完成api中斷使能3.3.1.1 初始化單片機初始化流程圖,如圖2-2所示。圖3-4 c8051f340初始化流程圖看門狗定時器的初始化:通過對特殊寄存器pca0md的wdte位將看門狗定時器使能,如果該位被置“1”,pca模塊4被用作看門狗定時器,若為0看門狗定時器被禁止。本設計需要初始化看門狗定時器而該對應位的復位值為1因此無需做修改。 器件時鐘
48、的初始化:通過將特殊寄存器oscicn的ifcn1和ifcn0位都置1 設置內部晶振為最高頻率;通過將特殊寄存器clkmul的mulen位置1使能時鐘乘法器,然后延時等待時鐘乘法器準備好。通過設置特殊寄存器clksel選擇時鐘為內部乘法器時鐘。 本設計主要有端口初始化,定時器初始化,adc初始化,時鐘初始化。 端口i/o初始化包括以下步驟: 1、用端口輸入方式寄存器(pnmdin)選擇所有端口引腳的輸入方式(模擬或數字)。 2、用端口輸出方式寄存器(pnmdout)選擇所有端口引腳的輸出方式(漏極開路或推挽)。 3、用端口跳過寄存器(pnskip)選擇應被交叉開關跳過的那些引腳。 4、將引腳分
49、配給要使用的外設(xbr0、xbr1、xbr2)。 5、使能交叉開關(xbare = 1)。 (1)端口初始化 port_io_init1();(2)晶振初始化 oscillator_init();(3)adc初始化 adc_init(); (4)定時器初始化 timer_init();3.3.1.2數據采集并通過usb發送首先對信號進行一組采樣,將采樣后的一組信號通過usb發送到pc機。具體程序如下: while (1) if(ad_flag2=1) ad_flag2=0; if(ad_flag1=1) block_write(out_packet1, 1500); else block_w
50、rite(out_packet2, 1500); 本設計起初設計的采樣一個數據然后發送一個數據,然后再采樣一個再發送一個經過實際的實驗發現這樣做效率地而且效果不明顯。最后改為采樣一組數據再發送,以上程序就是為此設計。 完成最信號的ad轉換后,對信號進行采樣,考慮到時效性,我們采樣一組數據在通過usb進行發送。具體程序如下:void adc_convcomplete_isr(void) interrupt 10 if(ad_flag1=0) out_packet1num = adc0h; num+; if(num=1500) num=0; ad_flag1=1; ad_flag2=1; else
51、 out_packet2num = adc0h; num+; if(num=1500) num=0; ad_flag1=0; ad_flag2=1; ad0int = 0;3.3.2 上位機程序設計3.3.2.1前面板 前面板是圖形用戶界面,也就是vi的虛擬儀器面板,前面板直接面向用戶,是用戶使用虛擬儀器的基本操作面板。這一界面上有用戶輸入和顯示輸出兩類對象,具體表現有開關、旋鈕、圖形以及其他控制和顯示對象。 本次設計前面板主要是實現波形顯示,和頻譜的顯示進而與示波器進行對比.前面板如下所示: 圖3-5 前面板圖3.3.2.2后面板 后面板是程序框圖板塊,程序框圖提供vi的圖形化源程序。它的功
52、能是對前面板上的控件進行定義、操作和連線以實現虛擬儀器的功能,是labview程序設計的核心。在程序框圖中存在著對vi編程,以控制和操縱定義在前面板上的輸入和輸出。它包括前面板上的控件和控件的連線端子,還有一些前面板上沒有,但編程必須有的東西,例如函數、結構和連線等。如果將vi與標準儀器相比較,那么前面板上的東西就是儀器面板上的東西,而流程圖上的東西相當于儀器箱內的東西。本次設計程序框圖如下:圖3-6后面板框圖一 一般,iabview 的上層應用程序通過調用usbxpress提供的usb主機api函數實現對下層usb硬件訪問的程序流程如圖3-7所示。圖3-7后面板流程圖借助usbxpress提
53、供的usb主機api,即usbxpress安裝目錄下的siusbxpdll,可以簡便地實現在pc機上通過labview軟件編寫的gui程序與作為usb器件的c8051f340單片機的usb通信。usbxpress提供了10個usb主機api函數,具體如下:si_get numdevices() 獲取usb器件的序列號si_get productstring() 獲取usb器件的產品描述信息si_open() 打開usb器件si_close() 關閉usb器件si_read() 讀usb器件數據版si_write() 向usb器件寫數據塊si_flushbuffers() 清楚usb器件讀和寫隊
54、列中的數據si_set timeouts() 設置usb讀寫延時si_get timeouts() 獲取usb讀寫延遲si_checkrxqueue() 獲取器件讀隊列中的數據的個數在labview軟件編寫gui程序是可通過labview軟件中的clf節點(labview 高級子模板中的調用庫函數節點)調用usbxpress提供的usb主機api,以達到訪問usb底層硬件的目的。現以實現usb主機api函數中的sigetnumdevices()函數為例,具體說明在labvie軟件中如何實現對usb api函數的調用。本設計用到的節點具體介紹如下。圖3-7函數調用在“庫名置usb主或路徑”框中設機api函數的封裝庫siusbxpdll的路徑,然后在“函數名”下拉菜單中選擇當前想要調用的sigetnumdevices()函數,在“線程”框中選擇“在ui線程中運行”,在“調用規范”框中選“stdcall(winapi)”,最后在“參數”菜單中進行相應設置。所有設置完畢,得到圖3-6所示的名為“sigetnumdevices”的調用庫函
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 1 感受生活中的法律(教學設計)2024-2025學年統編版道德與法治六年級上冊
- 2024-2025學年高中物理 第四章 電磁感應 7 渦輪流、電磁阻尼和電磁驅動(3)教學設計 新人教版選修3-2
- 企業揚帆 賦能未來
- Unit 6 Lesson 36教學設計 2024-2025學年冀教版八年級英語下冊
- 11 四通八達的交通 第一課時(教學設計)2023-2024學年人民版勞動三年級下冊
- 6我家的好鄰居(教學設計)-2023-2024學年道德與法治三年級下冊統編版
- 2023二年級語文上冊 第四單元 10 日月潭配套教學設計 新人教版
- 裝配員工品質培訓
- Unit 3 My weekend plan Part B Read and write(教學設計)-2024-2025學年人教PEP版六年級英語上冊
- 25太陽能小臺燈(教學設計)-青島版科學四年級下冊
- 升流式厭氧污泥床反應器結構設計與運行管理優化方案
- 人教版八年級下冊歷史教案全冊
- 三年級第14課青田石雕-(課件練習)
- 肺結節診治中國專家共識(2024年版)解讀
- 生命體征觀察與護理-體溫單繪制(護理技術課件)
- 2024年金華市中考數學試卷
- 湖北省武漢市江漢區2023-2024學年八年級下學期期中數學試題【含答案解析】
- 建筑工地食堂承包協議(2024版)
- 血液透析抗凝技術的應用及護理
- 2024年重慶市初中學業水平考試地理試卷試題真題(含答案詳解)
- 北京海淀區重點高中高一物理下學期期中考試試卷含答案
評論
0/150
提交評論