基于nRF905的教學樓信息管理系統(tǒng)設計與制作_第1頁
基于nRF905的教學樓信息管理系統(tǒng)設計與制作_第2頁
基于nRF905的教學樓信息管理系統(tǒng)設計與制作_第3頁
基于nRF905的教學樓信息管理系統(tǒng)設計與制作_第4頁
基于nRF905的教學樓信息管理系統(tǒng)設計與制作_第5頁
已閱讀5頁,還剩33頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、福建農林大學本科畢業(yè)設計說明書 設計題目:基于nRF905的教學樓信息管理系統(tǒng)設計與制作學 院: 機電工程學院 專業(yè)年級: 電子科學與技術 2005級 學 號: 051203066 學生姓名: 王 志 杰 指導教師、職稱:劉 銀 春 教授 2009年 5 月 23 日Design and Manufacture of Teaching Building Information Management System Based on nRF905 College: Mechanical and Electrical Engineering College Specialty and Grade:E

2、lectronic Science and Technology,2005Number: 051203066 Name: Wang Zhijie Advisor: Liu Yinchun, Professor Submitted time: May 23, 2009 目錄摘要IAbstractI1 引言11.1 選題的目的和意義11.2 短距離無線通信技術的發(fā)展及研究現(xiàn)狀11.2.1 802.11b(Wi-Fi)技術21.2.2 藍牙(Bluctooth)技術21.2.3 超寬帶(UWB)技術21.2.4 紅外(IrDA)技術21.2.5 微功率短距離無線通訊技術31.3 本課題完成的目標32

3、 系統(tǒng)總體方案設計42.1 無線通信系統(tǒng)的設計42.1.1 發(fā)送終端42.1.2 接收終端42.2 上位機管理系統(tǒng)的設計53 系統(tǒng)的硬件電路設計63.1無線通信模塊的選擇63.1.1 nRF905芯片結構63.1.2 單片機與nRF905模塊接口設計73.1.3 nRF905模塊工作模式83.1.4 nRF905配置寄存器83.2 發(fā)射機電路設計93.2.1 單片機接口電路93.2.2 電源模塊93.2.3 串口電路模塊103.3 接收機控制電路103.3.1 單片機接口電路103.3.2 AT24C02存儲器接口電路113.3.3 蜂鳴器驅動電路設計113.4 顯示驅動電路設計123.4.1

4、 行驅動電路123.4.2 列驅動電路124 單片機的程序設計144.1 單片機程序設計語言及環(huán)境選擇144.2 nRF905模塊配置144.2.1 SPI接口配置 SPI讀操作 SPI寫操作154.2.2 數(shù)據(jù)發(fā)送程序164.2.3 數(shù)據(jù)接收程序164.3無線通信協(xié)議174.3 發(fā)射機主程序174.3 接收機主程序185 上位機管理系統(tǒng)設計205.1 登入界面設計205.2 密碼驗證窗口205.3 MDI主窗體設計215.4 數(shù)據(jù)發(fā)送窗口215.4.1 MSComm控件介紹225.4.2 MSComm控件屬性225.5 數(shù)據(jù)庫管理窗口235.6 報表輸出窗

5、口236 系統(tǒng)調試及性能分析256.1 硬件調試256.2 軟件調試256.2.1 單片機上電測試256.2.2 單片機仿真調試266.3聯(lián)機調試及性能分析266.3.1 數(shù)據(jù)傳輸可靠性分析276.3.2.抗干擾性分析276.3.3.通信距離測試277 結果和體會287.1 設計的結果287.2 展望287.3 設計體會28致謝30附錄31附錄A 發(fā)射機原理圖31附錄B 接收機主控板原理圖32附錄C 發(fā)射機和接收機實物圖33摘要針對傳統(tǒng)自習教室管理上存在的工作量大、管理困難等缺陷,本文提出了一種基于nRF905無線收發(fā)模塊的教學樓信息管理系統(tǒng)的設計方法,并給出了硬件電路和部分程序流程圖。該系統(tǒng)

6、能夠通過上位機向各教學樓的接收機發(fā)送教室使用信息、并通過下位機進行顯示。測試表明,該系統(tǒng)可以成功的將教室使用情況準確的發(fā)送到下位機顯示屏上。與傳統(tǒng)自習教室管理方法相比,該系統(tǒng)大大減少了教務員的工作量、減少了人力資源的浪費,而且該系統(tǒng)具有操作簡單、管理方便等優(yōu)點。關鍵詞: nRF905;無線通信;單片機; 信息管理系統(tǒng)AbstractAiming at the drawbacks existed in the traditional classroom management ,this paper proposed a design method of Teaching Building Inf

7、ormation Management system which is based on nRF905 wireless transceiver module, meanwhile the paper provided hardware circuit and flow charts of some procedures. The system can send the information of the use of classroom to the receiver by upper computer, and display the information on the screen.

8、 The test shows that the system can successfully send the use of the classroom to the lower screen accurate.Compared with the traditional classroom management, the system can reduce the workload of the Senate and human resources, and have many merits such as simple operation, convenient management a

9、nd so on.Key words:nRF905; Wireless Communication; Singlechip; Information Management SystemI1 引言1.1 選題的目的和意義隨著計算機網(wǎng)絡技術的發(fā)展,很多高校已經成功建設了網(wǎng)上教務信息管理系統(tǒng),實現(xiàn)了教務信息、教師查詢和學生查詢三大方面信息的交互式管理,使高校的教務管理實現(xiàn)智能化、科學化、現(xiàn)代化,進一步適應了現(xiàn)代高校管理機制的要求。為了方便學生課余時間自習,同時也為了規(guī)范教室借用流程,加大監(jiān)督力度,很多教務管理信息系統(tǒng)還增加了查詢自習教室的功能,學生可以自行登錄教務管理系統(tǒng)查詢自習地點。但是,空教室隨

10、著借用狀態(tài)的改變而實時變化,單純的利用網(wǎng)絡查詢方式并不能很好地解決這一問題。本課題針對大學自習教室過于分散,經常變動,學生為尋找自習教室困難這一具體問題,將教學樓信息管理系統(tǒng)軟件與無線通信技術相結合,設計了一個有效解決方案:編寫基于VB的自習教室信息管理系統(tǒng)軟件,從教務處課程安排數(shù)據(jù)庫獲取各教室是否空置的信息,采用單片射頻收發(fā)器nRF905模塊實現(xiàn)數(shù)據(jù)信息的中短距離無線傳輸與接收,并在各教學樓的顯示板實時顯示自習教室的分布信息。該系統(tǒng)可對教室空置情況全天侯不同的時間段自動更新顯示,學生就可以通過該顯示板知道自習教室的分布情況以及日期,星期,時間,溫度等信息。整個顯示板塊除具備顯示各樓層教室空置

11、信息以外,還具備萬年歷功能,同時還具有溫度顯示和上下課響鈴自動控制功能??赏ㄟ^無線遙控控制顯示板工作模式,降低系統(tǒng)功耗。此設計作品具有讀取方便、顯示直觀、功能多樣、電路簡潔、成本低廉、靈活性好等諸多優(yōu)點。通過對顯示板各個不同模塊的組合,該設計作品不僅可適用于學校教室信息的顯示,也可方便日常教學管理。本設計還可用在商場產品存貨信息的反饋以及其他諸如此類的場合,具有潛在的商業(yè)價值、可預測的經濟效益和廣闊的應用前景。1.2 短距離無線通信技術的發(fā)展及研究現(xiàn)狀 近年來,隨著射頻技術、集成電路技術的進步,無線通信技術取得了飛速的發(fā)展,無線通信的實現(xiàn)越來越容易,傳輸速度越來越快,可靠性越來越高,并且逐漸達

12、到可以和有線網(wǎng)絡相媲美的水平。目前應用廣泛的短距離無線通信技術主要有802.11b、藍牙、IrDA、UWB、ZigBee、微功率短距離無線通信技術等1。與有線方式相比,無線方式具有如下幾個顯著的特點:(1)傳輸介質采用的是電磁波,特別適用于那些不適合或不方便架設電纜的現(xiàn)場,將無線技術引入數(shù)據(jù)控制領域,可以解決無法布線的環(huán)境下的數(shù)據(jù)傳輸難題,提高系統(tǒng)的適應性,而且可以解決有線網(wǎng)絡帶來的布線麻煩、出現(xiàn)故障檢查困難等問題;(2)在應用單片機編解碼接口技術的無線通信系統(tǒng)中,采用多字節(jié)地址編碼,收發(fā)器的數(shù)量不受限制;(3)具有電路簡單、功耗小、體積小、成本低等優(yōu)點。1.2.1 802.11b(Wi-Fi

13、)技術 IEEE(Institute of Electical and Electronics Engineers )802.11b技術標準是無線局域網(wǎng)的國際標準,使用2.4GHz的ISM頻段。802.11b協(xié)議主要工作在OSI(Open System Interconnect Reference Model)的物理層和數(shù)據(jù)鏈路層,其物理層支持5.5 MBit/s和11 MBit/s兩種速度,采用直接序列擴普DSSS(Direct Sequence Spread Spectrum)技術進行調制解調增強了抗干擾能力,提高了傳輸速度,并使用動態(tài)速率漂移,數(shù)據(jù)傳輸速率可根據(jù)環(huán)境在11 MBit/s、

14、5.5 MBit/s、2 MBit/s、1 MBit/s之間自動切換,有效通訊距離100-300米。802.11無線網(wǎng)絡的最大優(yōu)點是兼容性,只要在原有網(wǎng)絡上裝上AP,就可以提供無線網(wǎng)絡服務,終端設備只要裝上無線網(wǎng)卡,就可以訪問所有網(wǎng)絡資源,像使用有線局域網(wǎng)一樣方便,并避免了布線所帶來的麻煩2。802.11b具有有線等價保密機制WEP(Wired Equivalent Privacy),可以確保數(shù)據(jù)安全,同時具有穿透能力強,建網(wǎng)速度快,全方位傳送數(shù)據(jù)等優(yōu)點,因此可用來組建大型無線網(wǎng)絡。其以運營成本低,投資回報快等特點,正逐漸受到電信制造商和運營商的青睞,目前此種設備還比較昂貴,影響了它的推廣和應

15、用。1.2.2 藍牙(Bluctooth)技術藍牙是由愛立信、東芝、諾基亞、英特爾和國際商用機器公司等公布的一種無線數(shù)據(jù)與語音通信的開放性全球規(guī)范,開發(fā)于上世紀90年代中后期。它是一種用于短距離的、點對多點的數(shù)據(jù)和語音傳輸?shù)纳漕l規(guī)范。開發(fā)該技術的目的是以近距離、無線為基礎為固定與移動終端建立臨時對等連接。藍牙的傳輸距離在lm到10m之間,增加發(fā)射功率或配置專用的放大器后可使傳輸距離達到100m3。目前,藍牙設備在無線耳機、無線鍵盤等領域應用較多,但其國內市場的推廣仍然十分不夠,其最大障礙是成本依然很高,藍牙模塊購買價格昂貴。1.2.3 超寬帶(UWB)技術超寬帶UWB(UltraWideBan

16、d)無線技術出現(xiàn)在60年代,其應用僅限于軍事。2002年這項無線技術開始應用于民用通信領域,因而獲得了廣泛的關注。與傳統(tǒng)技術不同,UWB是一種無載波通信技術,它不采用正弦載波,而是利用納秒至微微秒級的非正弦波窄脈沖傳輸數(shù)據(jù),因此其所占的頻譜范圍很寬,它能夠實現(xiàn)無線局域網(wǎng)中無線接口的互聯(lián)和接入,并具有低功耗、高帶寬、低復雜度的優(yōu)點。目前,英特爾公司正在進行研究和開發(fā),以便將UWB集成到個人電腦芯片組中,將其作為10m以內的近距離高速無線傳輸接口使用。英特爾將UWB定位于“無線USB2.0”,當前UWB的傳輸速率己達到100Mbi/S,其下一個目標是500Mbi/S4。然而,UWB作為民用還是一項

17、新技術,還有一些實際問題,如安全問題、干擾問題等有待解決。1.2.4 紅外(IrDA)技術紅外通信技術采用人眼看不到的紅外光傳輸信息,是使用最廣泛的無線技術,它利用紅外光的通斷表示計算機中的0-1邏輯,通常有效作用半徑為2米,發(fā)射角一般不超過20度,傳統(tǒng)速度可達4 Mbit/s,1995年IrDA(InfraRed Data Association)將通信速率擴展到的高達16Mbit/s。紅外技術采用點到點的連接方式,具有方向性,數(shù)據(jù)傳輸干擾少,速度快,保密性強,價格便宜,因此廣泛應用于各種遙控器,筆記本電腦,PDA,移動電話等移動設備5。但是,紅外技術只限于兩臺設備通訊,無法靈活構成網(wǎng)絡,而

18、且紅外技術只是一種視距傳輸技術,傳輸數(shù)據(jù)時兩個設備之間不能有阻擋物,有效距離小,且無法用于可移動性強的設備。1.2.5 微功率短距離無線通訊技術該技術一般采用單片數(shù)字信號收發(fā)芯片,加上微控制器和少量外圍器件構成專用或通用無線通信模塊。一般射頻芯片采用FSK調制方式,工作于ISM頻段,一些必要的外圍模塊都已經集成在芯片內部,并且提供了簡單透明的數(shù)據(jù)傳輸協(xié)議或使用簡單的加密協(xié)議,用戶不用對無線通信原理和工作機制有較深的了解,只要依據(jù)芯片提供的操作接口進行操作即可實現(xiàn)基本的數(shù)據(jù)無線傳輸功能。由于其功率小、價格低廉、開發(fā)簡單快速,因而在工業(yè)、民用領域得到了廣泛的應用6。但是其數(shù)據(jù)傳輸速度、流量都較小,

19、因此比較適合搭建對數(shù)據(jù)傳輸速度要求不高的小型網(wǎng)絡。目前,很多公司推出了這種類型的單片無線收發(fā)芯片,其中比較典型的是Nordic公司推出的nRF系列芯片?;趯Ω鞣N短距離無線數(shù)據(jù)通信技術性能的比較,本課題選用了Nordic公司推出的微功率射頻芯片nRF905 作為該系統(tǒng)的無線數(shù)據(jù)通訊模塊,結合AT89LV52單片機及其外圍接口電路模塊設計出了一套教學樓信息管理系統(tǒng)。1.3 本課題完成的目標本文是針對大學自習教室過于分散,學生為尋找自習教室困難的問題,提出了一種基于短距離無線數(shù)據(jù)通信技術的解決方案。本課題主要完成以下目標:1編寫具有良好人機界面的VB上位機軟件,利用該軟件可直接利用教務處的電腦對各

20、教學樓的顯示板進行控制。2設計系統(tǒng)的硬件電路圖并制作出具體實物。3編寫發(fā)送設備和接收設備的單片機C程序開發(fā)。4增加無線遙控功能,通過無線遙控控制顯示板的工作模式,達到節(jié)能效果。5增加萬年歷和溫度顯示功能,通過萬年歷時鐘可控制上下課自動響鈴功能。2 系統(tǒng)總體方案設計通過對引言中各種無線通信技術的對比,不難看出,微功率短距離無線通信技術目前技術成熟,在開發(fā)成本及開發(fā)難度上具有其它幾種方式無法比擬的優(yōu)勢,因而在工業(yè)和民用上得到了廣泛的應用,雖然相比其它幾種方式數(shù)據(jù)傳輸速率低,但是本系統(tǒng)中的數(shù)據(jù)量并不會太大,應用該技術完全可以滿足。因而,系統(tǒng)選用微功率短距離無線通信技術作為無線通信技術的解決方案。在上

21、位機信息管理系統(tǒng)方面,本系統(tǒng)采用Visua Basic 6.0軟件,結合ACCESS數(shù)據(jù)庫進行設計開發(fā)。2.1 無線通信系統(tǒng)的設計本系統(tǒng)主要由兩個部分組成:發(fā)送終端,接收終端。數(shù)據(jù)的發(fā)送是通過PC機串口給發(fā)送終端傳送數(shù)據(jù),然后發(fā)送終端通過nRF905無線模塊把數(shù)據(jù)發(fā)送出去;接收終端通過nRF905無線模塊接收數(shù)據(jù),然后把接收到的數(shù)據(jù)進行處理并發(fā)送到顯示板顯示。2.1.1 發(fā)送終端 發(fā)送終端主要由電源模塊、串口電平轉換模塊、單片機控制模塊、nRF905無線模塊等組成。教務處的上位機系統(tǒng)發(fā)出的自習教室安排的信息,經過串口電平轉換模塊后,變?yōu)閱纹瑱C能識別的TTL電平,TTL電平數(shù)據(jù)經過單片機處理后,

22、再傳送到nRF905無線模塊,最后通過天線發(fā)射出去,當數(shù)據(jù)發(fā)送成功時,發(fā)送指示燈會閃爍。發(fā)送終端結構框圖如圖2-1所示。控制器AT89LV52串口電平轉換模塊發(fā)送指示燈nRF905無線模塊電源模塊圖2-1 發(fā)送終端結構框圖2.1.2 接收終端接收終端主要由電源模塊、單片機控制模塊、nRF905無線模塊、EEPROM存儲模塊、顯示驅動模塊、蜂鳴器驅動模塊等組成。當nRF905無線模塊接收到新數(shù)據(jù)時,就會通知單片機接收數(shù)據(jù),同時單片機控制模塊接收到數(shù)據(jù)后首先會判斷數(shù)據(jù)是否有效,如果數(shù)據(jù)有效,就會將數(shù)據(jù)寫入EEPROM存儲模塊,然后更新顯示模塊的顯示信息。發(fā)送終端結構框圖如圖2-2所示。顯示驅動模塊

23、EEPROM存儲模塊控制器AT89LV52電源模塊nRF905無線模塊蜂鳴器驅動模塊圖2-2 接收終端結構框圖2.2 上位機管理系統(tǒng)的設計上位機管理系統(tǒng)采用Visua Basic 6.0軟件進行設計,結合ACCESS數(shù)據(jù)庫,進行設計。本系統(tǒng)主要分為:系統(tǒng)啟動界面、密碼驗證窗口、數(shù)據(jù)發(fā)送窗口、報表輸出窗口、數(shù)據(jù)庫管理窗口等五大模塊。系統(tǒng)啟動界面顯示該系統(tǒng)軟件的版本號及其他信息;密碼驗證可以驗證用戶身份,保證了數(shù)據(jù)的安全性;數(shù)據(jù)發(fā)送窗口可實時提取數(shù)據(jù)庫的自習教室安排信息,并通過PC機的串口把數(shù)據(jù)發(fā)送出來;報表輸出窗口可以查詢ACCESS數(shù)據(jù)庫中的數(shù)據(jù),并把它轉化為Excel格式文件,方便了各種報表

24、的輸出;數(shù)據(jù)庫管理窗口可對數(shù)據(jù)進行增加、刪除、保存等操作,同時還可以將EXCEL文件添加到數(shù)據(jù)庫中,方便不懂數(shù)據(jù)庫的人員通過外界導入數(shù)據(jù)。上位機管理系統(tǒng)功能結構示意圖如圖2-3所示。系統(tǒng)登錄界面密碼驗證窗口MDI主窗體數(shù)據(jù)庫管管理窗口報表輸出窗口數(shù)據(jù)發(fā)送界面圖2-3 上位機管理系統(tǒng)功能結構示意圖333 系統(tǒng)的硬件電路設計本系統(tǒng)的硬件電路設計采用模塊化設計思路:先從整體構思,自上而下設計,分成各個相對獨立的模塊;而在具體實現(xiàn)時又是由下而上,先設計好各個模塊,分別調試,再整合成一個完整的系統(tǒng),這樣有利于硬件調試。系統(tǒng)的硬件電路設計主要分為四個部分:nRF905無線通信模塊的選擇、發(fā)射機電路設計、接

25、收機電路設計與顯示電路設計。系統(tǒng)總原理總圖見附錄A和附錄B所示,具體實物圖片見附錄C。3.1無線通信模塊的選擇基于本系統(tǒng)的實際需求,應該選用成本低、體積小、功耗低、集成度高、兼容性強、外圍元件少、抗干擾能力強、接口簡單、開發(fā)方便的無線射頻收發(fā)一體芯片。無線射頻芯片是整個無線通信模塊單元的核心部件,它的選擇成功與否將直接關系到整個無線數(shù)據(jù)采集系統(tǒng)的性能、成本和開發(fā)周期。正確的選擇射頻芯片可以使研發(fā)過程少走彎路,降低成本7。目前常用無線射頻收發(fā)芯片主要有nRf401、nRF905、TRF6900和RF2915,相比其它幾種芯片,Nordic公司的nRF905無線射頻收發(fā)一體芯片功耗低,數(shù)據(jù)傳輸速率

26、最快,所需外圍元器件最少,輸出功率最大,并且采用了比FSK調制抗干擾能力更強的GFSK調制,數(shù)據(jù)傳輸更加穩(wěn)定可靠,因而本系統(tǒng)采用基于nRF905無線射頻芯片設計的中功率無線通信模塊NewMsg_RF905SE8,其外觀如圖3-1所示。圖3-1 nRF905 無線通信模塊3.1.1 nRF905芯片結構 nRF905是挪威Nordic VLSI公司推出的單片射頻收發(fā)器,工作電壓為1.93.6V,32引腳QFN封裝(5×5mm),工作于433/868/915MHz三個ISM(工業(yè)、科學和醫(yī)學)頻道,頻道之間的轉換時間小于650us。nRF905由頻率合成器、接收解調器、功率放大器、晶體振

27、蕩器和調制器組成,不需外加聲表濾波器,ShockBurstTM工作模式,自動處理字頭和CRC(循環(huán)冗余碼校驗),使用SPI接口與微控制器通信,配置非常方便。此外,其功耗非常低,以-10dBm的輸出功率發(fā)射時電流只有11mA,工作于接收模式時的電流為12.5mA,內建空閑模式與關機模式,易于實現(xiàn)節(jié)能。nRF905適用于無線數(shù)據(jù)通信、無線報警及安全系統(tǒng)、無線開鎖、無線監(jiān)測、家庭自動化和玩具等諸多領域9。nRF905片內集成了電源管理、晶體振蕩器、低噪聲放大器、頻率合成器功率放大器等模塊,曼徹斯特編碼/解碼由片內硬件完成,無需用戶對數(shù)據(jù)進行曼徹斯特編碼,因此使用非常方便。nRF905的詳細結構9如圖

28、3-2所示。圖 3-2 nRF905芯片結構圖3.1.2 單片機與nRF905模塊接口設計表3-1 nRF905無線通信模塊引腳管腳名稱管腳功能說明1VCC電源電源+3.3-3.6V DC2TX_EN數(shù)字輸入TX_EN= 1 TX 模式 TX_EN= 0 RX 模式3TRX_CE數(shù)字輸入使能芯片發(fā)射或接收4PWR_UP數(shù)字輸入芯片上電5uCLK時鐘輸出本模塊該腳廢棄不用,向后兼容6CD數(shù)字輸出載波檢測7AM數(shù)字輸出地址匹配8DR數(shù)字輸出接收或發(fā)射數(shù)據(jù)完成9MISOSPI 接口SPI 輸出10MOSISPI 接口SPI 輸入11SCKSPI 時鐘SPI 時鐘12CSNSPI 使能SPI 使能13

29、GND地接地14GND地接地nRF905無線通信模塊引腳排列7如表3-1所示。nRF905無線通信模塊的主要引腳中最重要的就是SPI接口,nRF905利用SPI口實現(xiàn)與MCU的雙向通訊 。nRF905的SPI總線包括4個引腳:CSN (SPI 使能)、SCK(SPI 時鐘)、MISO (主入從出)和MOSI(主出從入)。其中CSN 可以接到一個GPIO 端口控制芯片工作, 而其他三個腳則連接到主控MCU的SPI接口上。由于AT89LV52單片機沒有SPI接口,所以程序要模擬SPI接口。由表3-1可以看出,nRF905無線通信模塊的正常工作電壓是DC+3.3-3.6V,所以我們選用的單片機是AT

30、89LV52,它的正常工作電壓是3.3V的,可以直接和nRF905模塊的I/O口連接,并通過單片機模擬SPI總線時序與nRF905通信。單片機與nRF905模塊的接口9如圖3-3所示。圖3-3 單片機與nRF905接口3.1.3 nRF905模塊工作模式nRF905有兩種工作模式和兩種節(jié)能模式。兩種工作模式分別是ShockBurstTM接收模式和ShockBurstTM發(fā)送模式,兩種節(jié)能模式分別是關機模式和空閑模式。nRF905的工作模式10由TRX_CE、TX_EN和PWR_UP三個引腳決定,詳見表3-2。表 3-2 nRF905 工作模式PWR_UPTRX_CETX_EN工作模式0關機模式

31、10空閑模式110射頻接收模式111射頻發(fā)射模式3.1.4 nRF905配置寄存器nRF905模塊工作前必須對其進行配置,它有一個10字節(jié)的RF配置寄存器,通過配置該寄存器的相應位就可使nRF905按要求正常通信。本系統(tǒng)中,nRF905工作設定在430.0MHZ頻段,輸出功率10dBm,不自動重發(fā),發(fā)送節(jié)電模式關,8位硬件CRC校驗,16M晶振,外部時鐘不使能。發(fā)射機和接收機的nRF905射頻地址均設為為0XCC、OXCC、0XCC、OXCC。本系統(tǒng)的 RF配置寄存器初始化如表3-2所示。表 3-3 RF配置寄存器初始化8字節(jié)內容位7:0,最高位=bit7初始化值0CH_NO7:00100_1

32、100(0X4C)1Bit7:6沒用到,AUTO_RETRAN,RX_RED_PWR,PA_PWRl:O,HFREQ_PLL,CH_NO80000_1100(0X0C)2bit7沒用到,TX_AFW2:0,bit3沒用到,RX_AFW2:00100_0100(0X44)3bit7:6沒用到,RX_PWR5:00001_0010(0X12)4bit7:6沒用到,TX_PWR5:O0001_0010(0X12)5RX地址字節(jié)01100_1100(0XCC)6RX地址字節(jié)11100_1100(0XCC)7RX地址字節(jié)21100_1100(0XCC)8RX地址字節(jié)31100_1100(0XCC)9CR

33、C_MODE,CRC_EN,XOF2:0,UP_CLK_EN,UP_CLK_FREQl:00101_1000(0X58)在該表中,CH_NO和HFREQ_PLL一起用來設置nRF905的工作頻率。設CH_NO中的值為a,HFREQ_PLL中的值為b,則nRF905的工作頻率由公式: f=(422.4+a/10 )×(1+b) (3-1)所決定。若nRF905的工作頻率取430.0 MHz,則a=76(即0X4C),b=0。3.2 發(fā)射機電路設計3.2.1 單片機接口電路單片機接口電路如圖3-4所示。圖3-4 單片機接口電路3.2.2 電源模塊因為本設計所選用的單片機是AT89LV52

34、,正常工作電壓是3.3V,又因為nRF905無線模塊正常工作電壓范圍為3.3V3.6V之間,不能在這個區(qū)間之外,超過3.6V將會燒毀模塊,所以我們選用的電源模塊采用LM1117三端集成穩(wěn)壓模塊構成3.3V的穩(wěn)壓電源。LM1117是一個低壓差電壓調節(jié)器系列,具有電流限制和熱保護,輸出電流可達800mA,輸出電壓的精度在±1%以內。LM1117(3.3V)構成的電源電路圖如圖3-5所示。圖3-5 電源電路3.2.3 串口電路模塊AT89LV52單片機有一個全雙工的串行通訊口,進行串行通訊時要滿足一定的條件,比如電腦的串口是RS232電平的,而單片機的串口是TTL電平的,兩者之間必須有一個

35、電平轉換電路,這樣單片機和電腦之間才可以方便地進行串口通訊。考慮到設備的可靠性,本設計采用了MAX3232專用電平轉換芯片進行RS-232電平和TTL電平轉換。串口通訊的硬件電路如圖3-6所示12-13。MAX3232芯片是美信公司專門為電腦的RS-232標準串口設計的接口電路,使用直流+3+5V單電源供電。內部結構基本可分三個部分:第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構成。功能是產生+12v和-12v兩個電源,提供給RS-232串口電平的需要。第二部分是數(shù)據(jù)轉換通道。由7、8、9、10、11、12、13、14腳構成兩個數(shù)據(jù)通道。其中13腳(R1IN)、12腳(R1OUT

36、)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道。8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。 TTL/CMOS數(shù)據(jù)從T1IN、T2IN輸入轉換成RS-232數(shù)據(jù)從T1OUT、T2OUT送到電腦DB9插頭;DB9插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入轉換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出。第三部分是供電。15腳GND、16腳VCC(35V)。圖3-6 串口電平轉換電路3.3 接收機控制電路3.3.1 單片機接口電路考慮到性價比和資源配置等問題,單片機控制單元采用AT89LV52。本系統(tǒng)可用到它外部中斷口、定時器

37、,以及32個的I/O端口等資源。單片機接口電路如圖3-7所示。圖3-7 單片機接口電路3.3.2 AT24C02存儲器接口電路AT24C02是Atmel公司生產的高集成度串行EEPROM,簡稱I2C總線式串行器件。采用了CMOS低功耗技術,內部含有256個8位字節(jié)(共2K字節(jié)存儲空間), 工作電壓在1.8V5.5V之間,該器件通過I2C總線操作,并有專門的寫保護功能。該器件不僅占用很少的資源和I/O線,而且體積大大縮小,同時具有工作電源寬、抗干擾能力強、功耗低、數(shù)據(jù)不易丟失和支持在線編程等優(yōu)點14。其接口電路如圖3-8所示。圖3-8 AT24C02接口電路AT24C02引腳說明如下:A2A0:

38、這3個引腳是器件地址選擇引腳。將這3個引腳配置成不同的編碼值,在同一串行總線上最多可擴充8片同一容量或不同容量的24系列串行EEPROM芯片。SDA:串行數(shù)據(jù)輸入輸出口,是一個雙向的漏極開路結構的引腳,容量擴展時可以將多片24系列的SDA引腳直接相連,實際使用時該引腳必須接一個5.1k 的上拉電阻。SCL:串行移位時鐘控制端。寫入時上升沿起作用,讀出時下降沿起作用。WP:硬件寫保護控制引腳。當其為低電平時,正常寫操作,高電平時,對EEPROM部分存儲區(qū)域提供硬件寫保護功能,即對被保護區(qū)域只能讀不能寫。VCC:接+3.3V電壓3.3.3 蜂鳴器驅動電路設計當接收機接收到更新數(shù)據(jù)時,單片機會對該數(shù)

39、據(jù)進行判斷,若接收到的是正確的教室顯示數(shù)據(jù),則單片機就會發(fā)出告警指令,使P2.4(SPEAK)腳跳變?yōu)榈碗娖?,驅動蜂鳴器發(fā)音,告知人們數(shù)據(jù)更新成功。蜂鳴器驅動電路如圖3-11所示圖3-11 蜂鳴器驅動電路3.4 顯示驅動電路設計3.4.1 行驅動電路由于AT89LV52單片機P0口輸出高電平為3.3V,如果直接連接顯示板的行掃描接口,可能會造成回路電流過大,超出單片機P0口驅動電流能力,進而燒壞單片機或者造成電路工作不穩(wěn)定。為了提高電路的穩(wěn)定性,P0口的輸出電平先經過74HC573鎖存器,一方面把3.3V的電平轉化成5V的TTL電平,另一方面也可增大單片機的負載驅動能力,從而使單片機能夠穩(wěn)定工

40、作。如果一條行線上要帶動16列LED,按每個LED器件10mA電流計算,16個LED同時發(fā)光時,需要160mA的電流,所以經過74HC573鎖存器后的行掃描信號必須在經過8550三極管組成的驅動電路,才能使驅動電流滿足要求,同時電路也可以較穩(wěn)定的工作。行驅動電路如圖 3-12所示。圖3-12 行驅動電路3.4.2 列驅動電路為了減少單片機的I/O口,列驅動電路采用串行數(shù)據(jù)傳輸方式。目前主要應用的串行傳輸芯片有74LS164和74LS595,它們功能相仿,都是8位串行輸入轉并行輸出移位寄存器。74164的驅動電流(25mA)比74595(35mA)的要小,所以選用74LS595作為列驅動電路比較

41、可靠,它具有一個8位串入并出的移位寄存器和一個8位輸出鎖存器,而且移位寄存器和輸出鎖存器的控制是各自獨立的,可以實現(xiàn)在顯示本行數(shù)據(jù)的同時傳送下一行的列數(shù)據(jù) ,即達到重疊處理的目的。這在串行速度慢的場合很有用處,這樣LED點陣顯示就沒有閃爍感。列驅動電路如圖3-13所示。圖3-13 列驅動電路74LS595的引腳說明16: /SRCLR(10腳): 低電平時將移位寄存器的數(shù)據(jù)清零。SRCLK(11腳):移位寄存器的移位時鐘脈沖,在其上升沿時才發(fā)生移位,并將SER的下一位數(shù)據(jù)輸入最低位,移位后的各為信號出現(xiàn)在各移位寄存器的輸出端;下降沿移位寄存器數(shù)據(jù)不變。RCLK(12腳):輸出鎖存器的輸入信號,

42、其上升沿時移位寄存器的數(shù)據(jù)輸入到輸出鎖存器;下降沿時存儲寄存器數(shù)據(jù)不變。(通常我將RCK置為低電平,) 當移位結束后,在RCK端產生一個正脈沖,更新顯示數(shù)據(jù)。E(13腳): 高電平時禁止輸出(高阻態(tài)),正常工作狀態(tài)下應接低電平。SER(14腳): 串行數(shù)據(jù)輸入端。O0O7: 八位并行輸出端,可以直接控制8個LED。Q7: 級聯(lián)輸出端,接下一個74LS595的SER端。4 單片機的程序設計4.1 單片機程序設計語言及環(huán)境選擇MCS-51系列單片機使用的編程語言主要有兩種:一種是匯編語言,另一種是C語言。匯編語言的機器代碼生成效率很高,但可讀性卻不強,復雜一點的程序就比較難讀懂。C語言是一種結構化

43、的高級語言,雖然機器代碼生成率沒有匯編語言高,但可讀性和可移植性卻遠遠超過匯編語言,而且C語言還可以嵌入?yún)R編語言來解決高時效代碼的編寫問題。從開發(fā)周期看,中大型軟件編寫采用C語言開發(fā)周期通常要短于匯編語言很多。綜合C語言的以上優(yōu)點,選擇了C語言作為單片機開發(fā)語言。51單片機的開發(fā)環(huán)境主要有Keil C51和WAVE軟件,其中 Keil C51提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發(fā)方案。本課題選擇了目前最流行的Keil C51開發(fā)軟件。在開發(fā)過程中,運用keil C51和PROTUES仿真軟件進行聯(lián)合調試,大大縮短了開發(fā)時間。4.2 nRF905模塊

44、配置4.2.1 SPI接口配置nRF905在正常工作前必須先按需要對其進行配置,所有配置字都是通過SPI接口送給nRF905。SIP接口的工作方式可通過SPI指令進行設置,當nRF905處于空閑模式或關機模式時,SPI接口可以保持在工作狀態(tài)。由于AT89LV52單片機內部沒有SPI總線接口,所以用軟件模擬SPI接口。 SPI讀操作SPI讀操作時序圖如圖4-1所示。圖4-1 SPI讀操作時序圖根據(jù)SPI讀操作時序圖編寫SPI讀指令程序如下:uchar SpiRead(void)uchar i;for (i=0;i<8;i+)DATA_BUF=DATA_BUF<<1

45、;SCK=1;if (MISO)/讀取最高位,保存至最末尾,通過左移位完成整個字節(jié)DATA_BUF|=BYTE_BIT0;elseDATA_BUF&=BYTE_BIT0;SCK=0; return DATA_BUF; SPI寫操作SPI寫操作時序圖如圖4-2所示。圖4-2 SPI寫操作時序圖根據(jù)SPI寫操作時序圖編寫SPI讀指令程序如下:void SpiWrite(uchar send)uchar i;DATA_BUF=send;for (i=0;i<8;i+)if (DATA7) /總是發(fā)送最高位MOSI=1;elseMOSI=0;SCK=1;DATA_BUF=D

46、ATA_BUF<<1;SCK=0;4.2.2 數(shù)據(jù)發(fā)送程序在nRF905正常工作前,必須由MCU根據(jù)需要寫好配置寄存器。發(fā)送數(shù)據(jù)時,先通過MCU把nRF905置于待機模式(PWR_UP=1、TRX_CE=0、TX_EN=1),然后通過SPI總線把發(fā)送地址和待發(fā)送的數(shù)據(jù)都寫入相應的寄存器中,之后把nRF905置于發(fā)送模式(PWR_UP、TRX_CE和TX_EN 全部置高),配置成功后數(shù)據(jù)就會自動發(fā)送出去。若射頻配置寄存器中的自動重發(fā)位(AUTO_RETRAN)設為有效,數(shù)據(jù)包就會被重復發(fā)出, 直到MCU拉低TRX_CE退出發(fā)送模式為止17-18。nRF905發(fā)送數(shù)據(jù)的流程圖如圖4-3

47、所示。圖4-3數(shù)據(jù)發(fā)送流程圖4.2.3 數(shù)據(jù)接收程序接收數(shù)據(jù)時,MCU 先在nRF905的待機狀態(tài)中寫好射頻配置寄存器的接收地址,然后將nRF905置于接收模式(PWR_UP和TRX_CE置高、TX_EN置低),nRF905就會自動接收空中的載波。當收到有效數(shù)據(jù)(地址匹配且校驗正確)時,DR引腳會自動置高,MCU在檢測到這個信號后,可以將nRF905置為待機模式,然后通過SPI總線從接收數(shù)據(jù)寄存器中讀出有效數(shù)據(jù)17-18。nRF905接收數(shù)據(jù)的流程如圖4-4所示。圖4-4數(shù)據(jù)接收的流程圖4.3無線通信協(xié)議利用nRF905無線通信模塊進行數(shù)據(jù)通信時,需要傳輸數(shù)據(jù)的雙方建立一種有效協(xié)議,這樣才可以

48、使雙方有規(guī)可循,而且能夠識別噪聲和有效數(shù)據(jù),增加數(shù)據(jù)的安全性和可靠性。根據(jù)顯示板中最多能顯示教室的間數(shù),一間教室用一個位表示,假設有128間教室就需要128bit的控制位,至少要16Byte的數(shù)據(jù)。但是,在數(shù)據(jù)的傳輸過程中為了增加數(shù)據(jù)的安全性和可靠性,增加了接收標志位和發(fā)射標志位,每位各占一個字節(jié)數(shù)據(jù)。因此,nRF905無線模塊在RF配置寄存器時,配置了一個18Byte的數(shù)據(jù)包。無線數(shù)據(jù)傳輸每幀18Byte,數(shù)據(jù)傳輸協(xié)議格式如表4-1所示。 表4-1 數(shù)據(jù)傳輸協(xié)議格式字節(jié)0:15字節(jié)16字節(jié)17數(shù)據(jù)位接收標志位發(fā)射標志位4.3 發(fā)射機主程序發(fā)射機主程序中,首先執(zhí)行初始化程序,主要包括I/0端口

49、初始化、nRF905初始化配置、定時器和串口初始化等。初始化程序完畢之后,開啟串口中斷服務子程序和總中斷,實時檢測和判斷上位機的串口電平信號,當連續(xù)收到16Byte數(shù)據(jù)時,Outflag標志位置1,接下來對這些數(shù)據(jù)進行打包處理。數(shù)據(jù)進行打包處理主要是給16Byte數(shù)據(jù)加上發(fā)射標志位,即對Display16賦值為0xff,并發(fā)送Display17數(shù)據(jù)包。發(fā)射機主程序流程圖如圖4-5所示:圖4-5發(fā)射機主程序流程圖4.3 接收機主程序接收機主程序流程圖如圖4-6所示。圖4-5 接收機主程序流程圖接收機主程序中,先執(zhí)行初始化程序,接收器上電初始化主要包括I/0端口初始化、nRF905初始化配置、定時

50、器和串口初始化等。初始化程序完畢之后,先讀取AT24C02存儲器數(shù)據(jù),再開啟TI中斷服務子程序和總中斷,TI中斷服務子程序流程圖如圖4-6所示。TI中斷服務子程序,主要是實現(xiàn)顯示板的動態(tài)掃描子程序,實時更新顯示數(shù)據(jù)。當收到有效數(shù)據(jù)時,首先要判斷接收標志位Rxbuf16是否為0Xff,如果不是則重新等待接收數(shù)據(jù)包,如果是則進入數(shù)據(jù)處理程序。其次,進入數(shù)據(jù)處理程序后,要對數(shù)據(jù)進行存儲和蜂鳴器“滴滴”音提示。接下來更新顯示緩存區(qū)Disbuf16的數(shù)據(jù),同時向發(fā)射機發(fā)送接收成功標志的握手信號,提示數(shù)據(jù)接收成功。最后對Rxbuf16賦值為0X00,同時,并開中斷重新等待接收數(shù)據(jù)包。圖4-6 TI中斷服務

51、子程序流程圖5 上位機管理系統(tǒng)設計上位機管理系統(tǒng)是教務員用來管理教務信息和發(fā)送控制命令的人機界面。目前人機界面一般都是基于windows環(huán)境下的程序開發(fā),可選擇Visual Basic、Visual C+、Delpil等編程語言,其中以Visual Basic(以下簡稱VB)開發(fā)最為簡便。它簡單易學、效率高,且功能強大。在VB環(huán)境下,利用事件驅動的編程機制、新穎易用的可視化設計工具,使用Windows內部的廣泛應用程序接口(SPI)函數(shù),以及動態(tài)鏈接庫(DLL)、對象的鏈接與嵌入(OLE)、開放式數(shù)據(jù)庫互連(ODBC)等技術,可以高效、快速地開發(fā)功能強大、圖形界面豐富的Windows環(huán)境應用軟

52、件系統(tǒng)。對于數(shù)據(jù)庫管理軟件,目前比較常用的是SQL SERVER數(shù)據(jù)庫和ACCESS數(shù)據(jù)庫,SQL SERVER是中型的數(shù)據(jù)庫,適于較大數(shù)據(jù)量和高性能要求的應用,管理相對復雜,但是功能強大。ACCESS是桌面型關系數(shù)據(jù)庫,適于小型的開發(fā)和小數(shù)據(jù)量的應用,部署簡單方便,就一個文件。使用VB開發(fā)SQL數(shù)據(jù)庫管理系統(tǒng)時,用戶必須安裝專門SQL SERVER,使用起來比較麻煩;但是,如果用ACCESS數(shù)據(jù)庫就比較簡單,即使用戶不安裝ACCESS數(shù)據(jù)庫也能夠正常使用VB上位機管理系統(tǒng),況且我們應用的只是一些課程安排數(shù)據(jù)庫,屬于小型數(shù)據(jù)庫。本文的上位機管理系統(tǒng)就采用Visual Basic 6.0軟件和A

53、ccess數(shù)據(jù)庫編寫的19-26。主要分為登入界面、密碼驗證窗口、MDI主窗體、數(shù)據(jù)發(fā)送界面、數(shù)據(jù)管理界面、導出EXCEL文檔窗口等的主要模塊,具體介紹如下:5.1 登入界面設計用戶雙擊自習教室管理系統(tǒng)圖標,即可進入到系統(tǒng)登錄界面。系統(tǒng)登錄界面如圖5-1所示。在屏幕任意位置單擊一下鼠標左鍵,即可進入密碼驗證窗口。圖5-1 登入界面5.2 密碼驗證窗口密碼驗證窗口如圖5-2所示,在“用戶名”文本框中輸入“xiaozhi”,“密碼”文本框中輸入“xiaozhi”,單擊【確定】按鈕,即可進入自習教室管理系統(tǒng)的MDI主窗體。該用戶名和密碼是在ACCESS數(shù)據(jù)庫系統(tǒng)中設定的,如果要修改、增加、刪除用戶名

54、和密碼,必須由管理員進入ACCESS數(shù)據(jù)庫修改。圖5-2 用戶窗口5.3 MDI主窗體設計MDI主窗體界面如圖5-3所示。圖5-3 MDI主窗體5.4 數(shù)據(jù)發(fā)送窗口在MDI主窗體中單擊【自動發(fā)送】項。將打開“自動發(fā)送”界面,如圖5-4所示,在“條件設置”下拉菜單中選擇當前日期,然后按【提取】按鈕,系統(tǒng)將會自動關聯(lián)ACCESS數(shù)據(jù)庫的“課程安排表”,提取當天自習教室安排信息,在顯示控制界面中對應教室的指示燈會從白色變?yōu)榧t色,表示該教室處于上課狀態(tài)。如果此時有人借用教室,就可以用鼠標點擊對應的教室指示燈,燈的狀態(tài)就發(fā)生改變。教室指示燈為紅色時,代表教室處于上課狀態(tài);教室指示燈為紅色時,代表教室處于

55、空置狀態(tài),及自習教室狀態(tài)。最后再點擊一下【發(fā)送】按鈕,就可以把當前的自習教室安排信息通過電腦的9針串口發(fā)送到發(fā)射機,數(shù)據(jù)經過發(fā)射機主控器處理后經過nRF905無線模塊發(fā)送出去,這時接收機就能收到相應的數(shù)據(jù),從而更新顯示板的顯示數(shù)據(jù)。其運行結果實物圖可參考附錄C。圖5-4 上位機發(fā)射界面5.4.1 MSComm控件介紹 Visual Basic 6.0提供了專門用于串行通信的控件MSComm, 用MSComm控件實現(xiàn)通信的方法比調用SDK 的API 動態(tài)連接庫的方法更加方便、快捷, 而且用較少的代碼可以實現(xiàn)相同的功能。MSComm提供了使用串口來進行數(shù)據(jù)通信的所有協(xié)議, 它既可以使用查詢方式又可以使用事件驅動方式來完成串行通信。由于該控件一般不在通用工具窗口中, 所以要采用MSComm 控件實行串口通信, 首先要在窗體中添加MSComm 控件。可在工程目錄下

溫馨提示

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

評論

0/150

提交評論