基于無線通信的數據采集系統的設計_第1頁
基于無線通信的數據采集系統的設計_第2頁
基于無線通信的數據采集系統的設計_第3頁
基于無線通信的數據采集系統的設計_第4頁
基于無線通信的數據采集系統的設計_第5頁
已閱讀5頁,還剩61頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

北京交通大學碩士學位論文基于無線通信的數據采集系統的設計姓名:湯文申請學位級別:碩士專業:電氣工程指導教師:王毅20090601中文摘要摘要:本文以一種基于中文摘要摘要:本文以一種基于RF的無線數據采集系統研制過程為主要內容,詳細闡述了利用無線收發芯片nRF2401設計的數據采集系統的設計流程、開發方法和開發過程,給出了具體的實現方案并對設計完成的系統進行了性能測試。在系統設計中采用了模塊化的設計思想,按照系統功能劃分為三大模塊,即數據采集模塊、無線通信模塊、計算機顯示處理模塊。數據采集模塊主要完成現場數據的采集;無線通信模塊是基于Nordic公司的nRF2401無線收發芯片設計的,其設計功能是完成數據的無線傳輸:計算機處理顯示模塊是應用VisualC++軟件編寫的,通過可視化、友好的編程界面實現數據的顯示與處理。系統開發的最終硬件成果是一個小巧的數據采集裝置,通過USB接口與PC機連接,工作人員在基于WindOWS的圖形界面上對各項功能進行操作,方便直觀。調試結果表明:本系統可以在無線通信方式下實現數據采集,滿足數據采集系統的要求,達到了預定的技術指標。關鍵詞:數據采集;射頻;無線傳輸分類號:ABABSTRACTABSTRACT:ThethesiscontainscontentwithakindofwirelessdataacquisitionsvstembasedonRF'whichdesignedbythereceivinganddispatchingchipnRF2401.Thepaperexplainsdetailedlythedesignapproach,method,procedure,providestheconcreterealizationschemeandcarriesOilthetestoftheperformance1ndesignedsystem.Du訂ngthedesignprocedure,thesystemisdividedintothreemajormodulesaccordingtothefunctionalstructure,namelydataacquisitionmodule,wirelessconununicationmoduleandcomputerdealingmodule.Dataacquisitionmoduleco瑚【pletesthedataacquisitiononthespot,wirelesscommunicationmoduleismadeupofnRF2401chip,whichmainlyrealizeswireless.datatransmission.Thecomputerdealingmoduledisplaysanddealswiththedatathroughthevisual,friendlyprogramminginterface.FinalachieverIlentofthesystemdesignisacompactdataacquisitiondevice,whichconnectswithPCthroughUSBinterface.systemisoperatedthroughtthegraphicaluseriInerf.acebasedonwindows,whichisveryconvenienttooperate.Debuggingresultindicatedthatthedataacquisitioncouldbeachievedinwirelesswayusingthissystem,datat舢smissionsatisfytherequestofthedataacquisitionsystemandreachthepreconcertedtechnicalindex.KEYWORDS:Dataacquisition;Radiofrequency;WirelesstransmissionCLASSN0:學位論文版權使用授權書學位論文版權使用授權書本學位論文作者完全了解北京交通大學有關保留、使用學位論文的規定。特授權北京交通大學可以將學位論文的全部或部分內容編入有關數據庫進行檢索,提供閱覽服務,并采用影印、縮印或掃描等復制手段保存、匯編以供查閱和借閱。同意學校向國家有關部門或機構送交論文的復印件和磁盤。(保密的學位論文在解密后適用本授權說明)、7 學位論文作者簽名: 沏乏 導師簽名:簽字日期:沙c}年6月24口!q 簽字日期: 沙。彳年多月獨創性聲明獨創性聲明本人聲明所呈交的學位論文是本人在導師指導下進行的研究工作和取得的研究成果,除了文中特別加以標注和致謝之處外,論文中不包含其他人已經發表或撰寫過的研究成果,也不包含為獲得北京交通大學或其他教育機構的學位或證書而使用過的材料。與我一同工作的同志對本研究所做的任何貢獻均已在論文中作了明確的說明并表示了謝意。學位論文作者簽名:>勿主 簽字R期: 沙多年石月矽同63致謝致謝本論文的工作是在我的導師王毅教授的悉心指導下完成的,王毅教授嚴謹的治學態度和科學的工作方法給了我極大的幫助和影響。在此衷心感謝兩年來王毅老師對我的關心和指導。王毅教授悉心指導我們完成了實驗室的科研工作,在學習上和生活上都給予了我很大的關心和幫助,在此向王毅老師表示衷心的謝意。在實驗室工作及撰寫論文期間,羅禮全、常廣、劉思佳,鄢素云等博士師兄和謝將劍、馬力、王佳曦、柏澤龍等同學對我論文中的研究設計工作給予了熱情幫助,在此向他們表達我的感激之情。另外也感謝我的父母,他們的理解和支持使我能夠在學校專心完成我的學業。引言引言1引言1.1課題的背景和意義我國lOkV的電力系統大多采用中性點不接地系統或經消弧線圈接地的運行方式,即為小電流接地系統。中性點不接地系統,當發生單相接地時,不構成短路回路,可繼續運行一段時間。但此時非接地相對地電壓卻升高為相電壓的√3倍,而且,由于輸電線路對地有電容,中性點不接地系統單相接地時,接地點接地電流屬容性電流。隨著網絡的延伸,該電流也愈益增大,完全有可能使接地點電弧不能自行熄滅并引起弧光接地過電壓,甚至可能發展成嚴重的系統性事故。因此,必須及時判斷、查找出故障線路,進行處理。單相接地是電力系統最常見的故障,由于接地電流微弱、故障電弧不穩定等原因檢測起來困難很多。該類型故障的定位一直是困擾電力部門線路維護人員的難題。故障指示器是目前應用較多的一種產品,當供電線路有短路或接地故障發生時,安裝在架空線上的故障指示器的傳感器檢測出電流電壓突變信號。故障指示器內部CPU對信號進行分析比較運算后,進行翻牌顯示(轉紅),達到設定時間能自動復位,恢復初始指示狀態。工作人員通過報警指示信號,能夠迅速準確地找到電力線路故障位置而及時排除,大大加快了故障查找和處理速度。然而,在應用過程中,發現部分故障指示器不能正確動作,甚至誤動作。究其原因,是由于故障指示器動作值整定不合理,整定值太高,發生故障時指示器不動作;整定值太低,指示器誤動作lIJ。因此,為了研究發生故障時電力線路中的故障參數,更加準確地設定故障指示器的整定值,需要研制一套電力線路數據采集系統,收集輸電線路正常工作時和發生故障時的參數。本設計將無線通信技術應用于電力線路的數據采集中,旨在改善信號的輸出方式。要采集架空線路上電流的參數,并在上位機上顯示采集到的數據,使用無線通信方式是最有效和最安全的。如果使用有線方式傳輸數據,電力線路間以及線路與大地之間的分布電容參數將受到影響,無法獲得有效準確的數據。電力線路的高壓環境也對數據的傳輸有一定影響,對設備的絕緣有很高的要求。本系統的應用,將有助于了解線路的實際運行情況,為故障指示器的動作準確性的提高創造了條件,也便于對故障時的參數進行分析。數據采集系統對環境要求低、抗干擾能力強,傳輸距離較遠,靈敏度高、性能穩定,接口方便這些良好的性能特點使得它能廣泛應用于多個領域,如車輛監控、無線抄表、無線遙控、好的性能特點使得它能廣泛應用于多個領域,如車輛監控、無線抄表、無線遙控、生物信號采集、水文氣象監控等領域,具有廣泛的應用前景。1.2國內外發展狀況近年來隨著計算機技術、通信技術、集成電子技術的飛速發展,在國內射頻(RF)技術也趨于成熟,開發出了種類齊全的射頻無線數據傳輸芯片。這些射頻芯片,不僅傳輸速率快,而且失真度、靈敏度等指標較以前都有較大的提高。如今這些芯片正向集成化,小型化方向發展,使用成本也大大降低,采用射頻芯片來開發嵌入式產品有非常廣闊的應用前景。目前,國內外知名廠商都非常重視射頻傳輸芯片開發研究以及應用射頻芯片的嵌入式系統設計。在無線傳輸芯片制造方面,由于微電子技術的飛速發展,現在RF無線數據傳輸的發射與接收電路己經實現了集成化。其組成電路也更趨于簡單。如現在應用比較廣泛的Nordic公司的NRF系列和Chipcon公司的CC4000無線數傳芯片,它們只需要較少的外圍輔助元件就可以實現數據的無線收發。用于數據傳輸的芯片按照數字調制方式分主要包括振幅鍵控(ASK),頻移鍵控(FSK),移相鍵控(PSK)三種方式,而短距離傳輸芯片常采用FSK調幅方式。這類芯片發射功率比較小,適合于用于短距離的數據采集,其中國際通用的數傳頻段433MHz,傳輸速率多為2400bps,4800bps,9600bps等。現代隨著射頻技術的發展,無線數傳芯片尺寸越來越小,功能也越來越齊全,再加上輔助元件后在性能上更加優越,傳輸距離更遠,信號的穩定性更高,傳輸速率更快,硬件實現簡單,抗干擾能力強,特別適合工業控制場合,現在市場上的無線數據傳輸芯片主要為FSK調制方式,其頻率發生器種類繁多,但基本上分為三類:第一種采用LC振蕩器,可靠性低,但是價格便宜;第二種是采用聲表振蕩器,頻率穩定性高于LC振蕩器;第三種采用鎖相環技術,晶振穩頻,性能比較優良,價格也比較昂貴。在國內,應用這些高集成度的芯片嵌入要開發的系統中,廣泛應用到國民經濟的各個領域中:如無線數據采集傳輸系統,車輛監控,小型無線網絡,無線抄表,工業數據采集系統,無線遙控系統,生物信號采集,水文氣象監控,機器人制造,無線232數據通信等等。這些應用為國家和企業節省了大量人力物力,使我們現代辦公和生活更加方便安掣41。2引言引言1.3本文的主要內容本文的主要內容是實現無線數據采集系統的設計。數據采集端對電力線路參數進行測量采集并通過無線方式把數據發送出去,數據接收端對采集端發送的數據進行接收并顯示給用戶。文章在系統硬件設計上詳細闡述系統各個模塊的硬件選擇與連接,對模塊設計中比較重要和需要注意的問題做重點介紹。在軟件設計上,總體分為數據無線傳輸控制和PC機用戶界面軟件兩部分的設計。本設計具體內容如下:1.對應用無線技術的數據采集系統的組成作以概括性的介紹,結合實際情況選擇了合適的硬件器件。2.完成基于無線技術的數據采集系統的總體方案設計:主要描述了該數據采集系統的工作原理并給出系統框圖;根據要求選擇了無線傳輸方案,確定相關各硬件器件的選型。3.系統硬件電路設計:針對所選方案及選定器件,完成硬件電路的連接蝣并對各部分電路的原理及其在系統中所完成的功能作詳細說明。4.系統軟件設計:系統軟件是基于模塊化的設計思路,本文中按照硬件電路所完成不同的功能來設計不同的模塊,給出了系統各部分模塊的程序流程圖。,5.系統調試情況:對仿真環境作簡單的介紹,闡述了利用編程環境進行程序調試的步驟和過程,以及應用程序的測試結果。6.總結本論文的研究內容,針對系統在其他更高要求領域中的應用,提出了一些改進完善措施。3無線數據采集系統總體方案設計2無線數據采集系統總體方案設計2無線數據采集系統總體方案設計2.I系統結構綜述本裝置主要分為兩個部分:(1)安裝在電力線路上的電量采集發射單元,包含電壓、電流互感器,單片機和無線發射單元。(2)無線接收單元和用于顯示數據的監測計算機。本設計的數據采集系統工作原理是:在電力線路上需要數據采集的位置點安裝電量采集發射單元,通過其中的電壓電流互感器采集模擬信號,單片機把采集到的模擬信號進行AD轉換,得到的數字信號通過單片機的SPI接口傳輸給無線發射芯片nRF2401進行數據的發射;在接收端,無線接收芯片收到有效數據后傳送給單片機,單片機通過USB接口與監測計算機進行數據通信,用戶可以在監測計算機的用戶界面上看到數據及波形。其結構框圖如圖2.1所示。電磁疑塹髓射馥疋電琢互感器 陋 無群 蓊 /1 八∥ >移。 N數∥逋僑l氈流了t感器睜$ 鬟刀 卜 | 電鱉采黻射單元 氐粼劃蠢p; ;l il 電壁采集發射譯元 汐數掰通餓無線蓑模塊 /L.。—、圖2.1數據采集系統結構框圖Figure2—1BlockdiagramofDataAcquisitionSystem52.2.2系統設計原則1.確保功能的完全實現系統設計的根本依據是所要實現的預定功能,它必須得到保證,一切對系統的優化及功能的擴展,都是基于系統滿足功能要求的前提下進行的。2.系統性能指標達到要求要保證系統性能指標,如采樣速率、系統分辨率、系統精度等等,主要應考慮系統輸入信號的特性,如輸入信號的通道數、信號的強弱及動態范圍等。此外,還應充分考慮數掘量的大小,數據傳輸的速率,存儲器的容量等因素。3.系統結構的合理選擇。系統結構的合理與否,對系統的可靠性、性能價格比等有直接影響。首先是硬件、軟件功能的合理分配。原則要盡可能“以軟代硬”,只要軟件能做到的就不要用硬件;其次要考慮系統的布局以及接口特性,接口特性包括采用什么樣的總線、采樣數據的輸出形式(串行還是并行)、數據的編碼格式等。4.有足夠的抗干擾能力抗干擾能力也是設計本系統時所考慮的重要因素,根據工作環境的特殊性,以及系統結構設計、元器件選擇等因素,數據將受到來自系統內部和外部的各種電氣干擾,因此提高系統的抗干擾能力,從而保證系統的可靠性是設計中的又一關鍵【5】o2.3系統硬件電路的器件選型系統硬件電路的器件選型可以分成兩部分進行:無線通信器件的選型、單片機器件的選型。2.3.1無線通信器件的選型無線通信方案有多種,其中由于應用環境和距離等因素的作用,使得藍牙技術與射頻技術顯得更加適合本設計方案。這里,通過對比藍牙模塊和射頻nRF模塊,最終確定通信方案【61。兩者的性能特點對照如表2.1所示:6無線數據采集系統總體方案設計無線數據采集系統總體方案設計表2.1藍牙模塊與射頻nRF模塊的特性對比Table2.1contrastofbluetoothmoduleandnRFmodule產品 硬件設計 接口方式 編程 通訊速率 通訊距離藍牙 由發射接收處理, 復雜,時序嚴 通訊協議 30伊一 10米模塊 基帶處理等多個芯 格 和軟件堆 400kbps片組成,硬件復雜 棧復雜,需要較長時間熟悉nRF 高頻電感和濾波器 簡單,只需跟 編程較方 IMbps 室內約30—模塊 全部內置,所需外 單片機I/O或 便 50米,室外部元件少 SPI連接 8嗍00米比較可以看出,射頻芯片具有許多優越的特征,集成了內部的基帶處理器,設備調試容易,且速率也較藍牙高,通信距離長,成本相對較低,尤其是在接口與編程方面,其簡單的特性更是優于藍牙模塊,因此在滿足本系統各方面要求的前提下,決定采用射頻芯片作為本系統的通信模塊。市場上的無線射頻芯片的種類很多,如表2.2所示,對幾種典型芯片進行比較:表2-2幾種典型射頻芯片的比較Table2-2comparisonofthetypicalRFchips品牌 nRF2401 RF2915 BC418 XCl201 CC400Nordic RFMD Bluechip Xemics ChipCon工作電壓 1.9—3.6v 2.4~5.0v 2.5~3.4v 2.銣5.5v 2.7—3.3v數據是否 可以直接 不能直接接 不能直接接 不能直接接 不能直接可以直接 接單片機 單片機串口, 單片機串 單片機串口, 接單片機接單片機 串口,數 數據需要進 口,數據需 數據需要進 串口,數據串口使用 據無需曼 行曼徹斯特 要進行曼徹 行曼徹斯特 需要進行徹斯特編 編碼,效率低 斯特編碼, 編碼,效率低 曼徹斯特碼,效率 效率低 編碼,效率古 低同最大輸出 0dBm +5dBm +12dBm +5dBm +14dBm功率7速率速率1Mbps9.6kbps128Kbps64kbps9.6kbps需要外接l1221天線的數量外圍元件1450502025數量由于無線收發芯片的廠商和種類比較多,如何在設計中選擇所需要的芯片是非常關鍵的,正確的選擇可以少走彎路,降低成本。以下幾點是在選擇芯片時注意的問題。(1)功耗大多數無線收發芯片是應用在便攜式產品上的,因此功耗非常重要,應該根據需要選擇綜合功耗比較小的產品,nRF2401芯片能耗非常低,以.5dBm的功率發射時,工作電流只有10.5mA,接收時工作電流只有18mA,多種低功率工作模式,節能設計更方便,是同類產品中在同等發射功率下相對比較小的。(2)收發芯片數據傳輸的編碼方式采用曼徹斯特編碼的芯片,在編程上會需要較高的技巧和經驗,需要更多的內存和程序容量,并且曼徹斯特編碼大大降低數據傳輸的效率,一般僅能達到標稱速率的1/3。而采用串行傳輸的芯片,應用及編程非常簡單,傳送的效率很高,標稱速率就是實際速率,因為串行傳輸數據對大家來說是再熟悉不過了,編程也很方便,nRF2401收發芯片只需通過微處理器的普通I/O口就能和芯片傳輸數據。而且對nRF2401的工作方式的控制方法非常簡單,只需通過nRF2401的三線串行接VI線(時鐘、數據、使能)對內部的三個寄存器進行初始化,就可設定nRF2401的接收、發送等各種工作狀態。(3)收發芯片所需的外圍元件數量芯片外圍元件的數量不但直接決定了模塊的體積和重量,而且決定了產品的成本,因此應該選擇外圍元件少的收發芯片。有些芯片似乎很便宜,可是外圍元件使用很多昂貴得元件如變容管以及聲表濾波器等:有些芯片收發分別需要兩根天線,會大大增加成本。這方面nRF2401做得很好,外圍元件幾乎在無線通信模塊中是最少的,而且無需聲表濾波器、變容管等昂貴得元件,只需要一個便宜且易于獲得的16MHz晶振即可,并且收發天線合一。無線數據采集系統總體方案設計(4)無線數據采集系統總體方案設計(4)收發芯片的封裝芯片最好是有較少的引腳和較小的封裝,有利于減少印制電路板的面積。考慮到各種因素本方案最后選用nRF2401無線收發一體芯片。nRF2401芯片和藍牙芯片一樣,都工作在2.4GHz自由頻段,能夠在全球無線市場暢通無阻。nRF2401支持多點間通信,最高傳輸速率超過1Mbit/S,而且比藍牙具有更高的傳輸速度。它采用SoC方法設計,只需少量外圍元件便可組成射頻收發電路。與藍牙不同的是,nRF2401沒有復雜的通信協議,它完全對用戶透明,同種產品之間可以自由通信。更重要的是,nRF2401比藍牙產品更便宜。所以nRF2401是業界體積較小、功耗較少、外圍元件最少的低成本射頻系統級芯片。2.3.2單片機器件的選型系統的數據采集部分是以微控制器為核心,對整個系統的各種操作通常都是由微控制器來完成的,一般來說,選擇控制器的重要原則是看它是否能夠滿足系統的工作要求。對于本系統來說,微控制器的選擇以單片機為主,在各種單片機器件中,MCS.51系列的單片機應用最為普遍,但運行速度過慢:對于高速控制器ARM和DSP來說,成本又成為了取舍的瓶頸;AVR、PIC等單片機無論在功能還是速度上都可滿足本系統的要求。但PIC單片機采用精簡指令集,編程比較簡單,同時具有低工作電壓、低功耗、驅動能力強等特點。因此,在現有實驗設備的條件下,最終選擇了PIC單片機。所選用的PICl6LF818單片機是一種低功耗、低電壓、高性能的8位單片機,體積小,只有18個管腳,供電電壓2到5.5v,用電池就可維持長時間供電;它的指令處理速度能夠達到8MHz,內部集成5通道的10位A/D采樣轉換模塊,具有轉換速度快、精度高等特點,非常適用于實時數據采集。另外,單片機內部的SPI串行通信模塊實現數據接收模塊與上位機的同步通信,將實時信息傳送至上位機進行處理。9無線數據采集系統的硬件設計3無線數據采集系統的硬件設計3無線數據采集系統的硬件設計整個無線數據采集系統的設計分為硬件設計和軟件設計兩個方面。硬件設計的根本任務是根據總體設計要求,在所選器件的基礎上確定系統擴展所用到的外圍電路,以及各器件之間的連接,然后設計系統的電路原理圖。系統的硬件設計是否合理極大地影響著系統的性能和使用,對整個系統設計來說非常關鍵。本章就主要闡述系統的硬件設計。3.I系統硬件電路設計原則根據信號的特點、本系統所要實現的功能以及所選擇的器件,在硬件設計過程中應采用以下原則:1.盡可能選擇典型的電路及電子元器件(一般選擇市場上已有,且能夠買得到的器件)。2.軟硬件設計應兼顧考慮。軟件可實現的功能應盡量由軟件來執行,以簡化硬件電路,但同時也應注意到軟件執行硬件功能時將占用較多的CPU時間。3.整個系統器件應盡可能作到性能匹配。例如選用的晶振頻率較高時,應選擇速度較快的IC;選擇CMOS單片機構成低功耗系統時,系統所有的IC都應選用低功耗的工C。4.可靠性及抗干擾設計是硬件設計中極其重要的部分,包括器件選擇、電路板布線等。5.單片機微處理器外接電路較多時,必須考慮其驅動能力,否則系統工作不可靠。充分考慮上述原則,本系統在硬件電路的設計中,將系統分為數據采集部分和無線通信部分。設計內容主要包括:根據選擇的器件設計外圍應用電路和接口電路,提出適合本系統的抗干擾措施。其中電路設計各個部分都應盡可能以典型電路來完成,力求在實現系統功能的前提下簡化硬件電路。3.2系統總體工作原理系統的工作原理是:首先將現場信號轉換為電信號,經過單片機內部模/數轉換器ADC采樣、量化、編碼后轉換成數字信號,在單片機進行初步處理,然后利用nRF2401無線數據傳輸芯片通過無線方式將有效數據發送給接收端,接收端在接收到有效數據后用單片機串行口將數據送入PC接收到有效數據后用單片機串行口將數據送入PC機,PC機通過VC語言編寫的控制程序完成數據的顯示。系統為了滿足安全可靠,有足夠抗干擾能力,經濟合理,方便使用的設計要求,采用了模塊化設計思想。采用模塊化設計可以使系統結構清晰,不僅容易設計也容易管理和修改,方便系統測試和調試,有助于提高系統的可靠性和可修改性,同時,模塊化設計也有助于系統開發的組織管理。基于上述模塊化思想,現將系統分為數據采集模塊和無線通信模塊。3.3數據采集模塊部分的硬件設計由于單片機內部A/D轉換只能接受正電平,所以從互感器輸出的模擬波形需使用運算放大器抬升電平。所選用的MC33202是雙通道運放,工作電壓低,輸入和輸出滿幅值,具有噪聲低、失真低、轉換速度(壓擺率)高及驅動能力大的性能。在放大器的硬件設計中,設置了兩路輸入,分別利用放大器的兩通道進行電平抬升,由式(3-1)可知抬升的幅度由同向輸入端的輸入電壓決定,可以通過改變與同向輸入端連接的電阻阻值,來調整電平抬升的幅度。抬升后的電壓從OUTl和oUT2口輸出。具體硬件連接圖如圖3-1所示。放大器輸出電壓為R, 足,‰一子圪+(1+吾)一 (3—1)P其中■為同向輸入端的輸入電壓, (1+孚)一即為電平抬升的幅值。Kj放大器輸出的電壓經RA0和RAl口進入單片機,AD轉換后儲存在ADRESH和ADRESL兩個8位的寄存器中,再把數據進行轉移,從單片機的輸出口傳輸到射頻芯片。圖3-2所示的是單片機外圍的電路連接,包括復位電路和晶振電路。12無線數據采集系統的硬件設計圖無線數據采集系統的硬件設計圖3.1電平抬升電路Figure3—1voltageupliftCircuit圖3-2單片機外圍連接圖Figure3-2Single-chipperipheralcircuits圖3圖3—3和圖3-4所示的是穩壓電路和電源濾波電路。VCCCllCaplOpF圖3-3穩壓電路 圖3-4電源濾波電路Figure3-3regulatorcircuit Figure3-4powersupplyfiltercircuit3.4無線通信模塊部分的硬件設計單片機在獲得互感器的數據后,還需要把數據傳輸到主機上,系統的無線通信模塊是用單片機控制無線收發芯片nRF2401進行無線數據傳輸。以往設計無線數據傳輸產品常常需要相應的無線電專業知識和昂貴的專業設備,而且傳統的電路設計方案不是電路太復雜就是調試困難而令人望而卻步,以至影響了用戶的使用以及新產品的開發研制工作。系統無線通信模塊采用nRF2401芯片制作,其性能顯著,特點是所需要的外圍器件少而且設計比較方便,在該芯片內集成了高頻發射、高頻接收、PLL合成、FSK調N/解調、參量放大、功率放大、頻道切換等功能。本系統的無線通信模塊在單片機的控制下分為發送和接收兩部分,其中發送部分是由單片機在采得數據以后通過單片機串行口送到模塊由模塊發送,而接收部分是由模塊接收到數據以后,由單片機控制通過通用串行總線發送給計算機。3.4.1 nRF2401芯片介紹nRF2401是單片射頻收發芯片,工作于2.4~2.5GHzISM頻段,芯片內置頻率合成器、功率放大器、晶體振蕩器和調制器等功能模塊,輸出功率和通信頻道可14無線數據采集系統的硬件設計通過程序進行配置。芯片能耗非常低,以無線數據采集系統的硬件設計通過程序進行配置。芯片能耗非常低,以-5dBm的功率發射時,工作電流只有10.5mA,接收時工作電流只有18mA,多種低功率工作模式,節能設計更方便。其DuoCeive技術使nRF2401可以使用同一天線,同時接收兩個不同頻道的數據。nRF2401適用于多種無線通信的場合,如無線數據傳輸系統、無線鼠標、遙控開鎖、遙控玩具等。nRF2401的主要特點如下口1:●采用全球開放的2.4GHz頻段,有125個頻道,可滿足多頻及跳頻需要:·速率(1Mbps)高于藍牙,且具有高數據吞吐量:·外圍元件極少,只需晶振和電阻即可設計射頻電路:·發射功率和工作頻率等所有工作參數可全部通過軟件設置:● 電源電壓范圍為1.9-3.6V,功耗很低:· 電流消耗很小,一5dBm輸出功率時的典型峰值電流為lO.5mA;·芯片內部設置有專門的穩壓電路,因此使用任何電源(包括DC/DC開關電源)均有很好的通信效果:◆ 每個芯片均可以通過軟件設置最多40bit地址,而且只有收到本機地址時才會輸出數據(提供一個中斷指示),同時編程也很方便:● 內置CRC校驗硬件電路和協議:◆ 采用DuoCeiverTM技術可同時接收兩個nRF2401的數據:●采用ShockBurstTM模式時,能適用極低的功率操作和不嚴格的MCU執行:·無需外部SAw濾波器:●可100%RF檢驗:· 帶有數據時隙和數據時鐘恢復功能。nRF2401內置地址解碼器、先入先出堆棧區、解調處理器、時鐘處理器、GFSK濾波器、低噪聲放大器、頻率合成器,功率放大器等功能模塊,需要很少的外圍元件,因此使用起來非常方便。QFN24引腳封裝,外形尺寸只有5x5mm。nRF2401的功能模塊如圖3-5所示。圖3-5圖3-5nRF2401功能模塊Figure3-5nRF2401functionmodulesnRF2401芯片的引腳圖如圖3-6所示。PWR_UP VSS 回回回團囤回DR2 DoUl2 ^N他田田田田田固 回回固回回回團田團回回回DA'rADVDD XC2 圖3-6 nRF2401引腳圖Figure3-6nRF2401pinmap16無線數據采集系統的硬件設計nRF2401無線數據采集系統的硬件設計nRF2401芯片的管腳描述如表3-1所示。表3-1管腳定義說明Table3.1PmDefinitions引腳 名稱 引腳功能 描述1 CE 數字輸入 使nRF2401工作于接收或發射狀態2 DR2 數字輸出 頻道2接收數據準備好3 CLK2 數字FO 頻道2接收數據時鐘輸入輸出4 DOUT2 數字輸出 頻道2接收數據5 CS 數字輸入 配置模式的片選端6 DRl 數字輸出 頻道1接收數據準備好7 CLKl 數字I/o 頻道1接收數據時鐘輸入輸出8 刀4捌 數字FO 頻道1接收/發送數據端9 DVDD 電源 電源的正數字輸出10 VSS 電源 電源地11 XC2 模擬輸出 晶振212 XCl 模擬輸入 晶振113 VDDPA 電源輸出 給功率放大器提供1.8v電壓14 ANTl 天線 天線接口115 ANT2 天線 天線接口216 VSSPA 電源 電源地17 VDD 電源 電源正端18 VSS 電源 電源地19 IREF 模擬輸入 模數轉換的外部參考電壓20 VSS 電源 電源地21 VDD 電源 電源正端22 VSS 電源 電源地23 PWRUP 數字輸入 芯片激活端24 VDD 電源 電源正端173.3.4.2 nRF2401射頻電路的設計系統的射頻電路由nRF2401和一些外圍元件構成。在分析了nRF2401的參考電路之后,采用圖3-7所示的電路實現無線收發功能。圖3.7nRF2401射頻電路的設計Figure3-7nRF2401RFcircuitdesign其中nRF2401的電源采用Nordic公司給出的參考電路,C6,C7為去耦合電容。天線部分參考電路采用的是鞭型天線,所占空間較大。現在無線通信領域常采用的天線是倒F型天線。倒F天線結構緊密,帶寬適中,不容易損壞,而且和鞭型天線比起來功率吸收更小。因此本設計采用倒F天線。3.4.3 nRF2401與單片機的連接電路PICl6LF818單片機的同步串行接口模塊有SPI和12C兩種模式,而nRF2401用的是DRI,CLK和DATA三線傳輸。考慮到速率的因素,單片機和nRF2401的連接準備用SPI接口實現∞1。SPI(SerialPeripheralInterface,串行外設接口)接口是一種同步串行外設接口,它可以使MCU和各種外圍設備進行通信以交換信息。外圍設備包括FlashRAM,網絡控制器,LCD顯示驅動器,A/D轉換器和MCU等。其特點包括:無線數據采集系統的硬件設計·無線數據采集系統的硬件設計·全雙工,三線同步數據轉換●主從模式·8個可編程主時鐘頻率●可編程的極性和相位的串口時鐘●寫沖突保護標準· 主模式下具有中斷能力的缺省錯誤標志單片機SPI串行接口與無線射頻芯片的接口連接,SDI和SDO口接DATA端,完成單片機與無線射頻芯片的數據交換;cE、CS、PWR口完成射頻芯片的模式控制,CLKl口作為時鐘信號的輸入口,DRl口傳輸的信號表示接收信號已準備。單片機與射頻芯片連接原理圖如圖3-8所示。NRFlR6 PWRRA0,AN0 RB0_fINT V-DR2RAl,ANl RBl.『SDI_IsDA 100RA2,AN2眥F- RB2|lSDO.CCpl R7 DOUT2裂螢RA3,AN3眥F} RB3JcCPlliPGM v-- DRll沮4,AN4t'FOCKl RB4,SCK_『sCL 100GNDRA5lI衛-dCLI嘰,pP RB5_『SSRA6_10SC2_|fcLK0 髓6廠r10SO,rlCKIJfPGCRA710SCllI|cLKI 船7,nOSI,PGDR15100‘LEDl圖3.8單片機與射頻芯片連接原理圖Figure3-8MCUandRFchipconnectionschematic3.5系統硬件抗干擾設計在本系統中,由于干擾比較嚴重,所以需要采取了相應的硬件抗干擾措施。系統的硬件抗干擾設計主要為以下幾點睜111:1、正確選擇元器件系統使用的無源器件并不是理想的,其特性與理想特性是有差異的,元件本身可能就是一個干擾源,因此正確選擇元器件就很重要了,在設計中充分利用元19件的特性抑制和防止干擾。2件的特性抑制和防止干擾。2、正確布線降低各管腳和連線之間的相互影響,對分布參數進行抑制。分布參數主要由系統的布線決定,所以布線是系統的電磁兼容技術的關鍵,也是系統電磁兼容設計的基本體現。布線技術包括環繞布線、線徑布線、分層處理等。因為系統的頻率高以及要求的幾何尺寸小,多層電路板是解決這個問題的主要模式,多層板的一個重要功能就是可以大大降低系統各連線之間的分布參數的影響。所以在本系統設計中各個模塊都采用多層板制作。3、合理接地接地是系統設計的一個很重要的問題。接地的目的主要有3個:1)接地使整個電路系統中的所有單元電路都有一個公共的接地,使整個電路系統中的所有單元電路都有一個公共的參考零電位,保證電路系統能穩定的工作。2)防止外界電磁場的干擾。機殼接地可以使得由于靜電感應而積累在機殼上的大量電荷通過大地瀉放,否則這些電荷形成的高壓可能引起系統內部的火花放電而造成干擾。另外,對于電路的屏蔽體,選擇合適的接地,可獲得良好的屏蔽效果。3)屏蔽干擾。屏蔽就是對兩個空間區域進行金屬的隔離,以控制電場、磁場和電磁波由一個區域向另一個區域的感應和輻射。具體的講,就是用屏蔽體將元件、電路、組合件或整個設備的干擾源包圍起來,防止干擾電磁場向外輻射:用屏蔽體將接收電路或系統包圍起來防止它們受外界電磁場的影響。因為屏蔽體對于來自導線、元件、電路等的外部的干擾電磁波和內部電磁波均起著吸收能量(渦流損耗)、反射能量(電磁波在屏蔽體上的界面反射)和抵消能量(電磁感應在屏蔽層上產生反向電磁場,可抵消部分電磁波)的作用,所以屏蔽體具有減弱干擾的功能。4、采取濾波技術 濾波是抑制和防止干擾的一項重要措施。濾波器可以顯著的減小傳導干擾電平,因為干擾頻譜成分不高于有用信號的頻率,濾波器對于這些與有用信號頻率不同的成分有良好的抑制能力。從而起到其他干擾抑制難以起到的作用。所以,采用濾波網絡無論是抑制干擾源和消除干擾耦合,或增強接收設備的抗干擾能力,都是有力的措施。用電容去耦能把電路和電源隔離開,消除電路之間的耦合,并避免干擾信號進入電路。5、頻率設計技術頻率設計技術是要解決系統的頻率兼容的問題,也是單片機系統設計中比較復雜的技術。單片機使用同一頻率源,保證頻率性的要求。頻率設計包括電平(幅度,邊沿和頻率)核實、最高工作頻率以及降頻和諧波分離(低頻信號的頻串不與無線數據采集系統的硬件設計高頻信號成整數倍,特別是無線數據采集系統的硬件設計高頻信號成整數倍,特別是A/D轉換的速率)技術。對某些輸出信號采取平滑措施。對功率較大的輸出信號要考慮降頻處理。3.6PCB設計與制作3.6.1Protel軟件設計流程Protel軟件設計流程如圖3-9所示。首先建立原理圖設計環境和原理圖文件;在此環境下,在PROTEL元件庫中查找元件并放置在合適的位置。然后進行布局和連線完成原理圖。最后檢查布局與連線的正確性。確定無誤后形成“*.NET”網表文件,以備隨后進行自動PCB設計及檢查使用。放置元件時,若所需元器件無法在庫中找到,則應該進行元器件的制作。元器件的制作可以在原理圖元件庫文件編輯環境下,運用“PLACETRACK"、“PLACEPINS等命令實現元器件的制作。布局時先把所需的元器件調出并進行簡單布局,根據基本布局要求,調整元件之間的連接關系。圖中元素要進行正確的標注,應該采用“NETLABEL"命令把標注放在相應走線的左上角。21建立數據庫文件原理圖設計建立數據庫文件原理圖設計 咖設計l 』建立原理圖文件 建立PCB文件是 一i 上建立原理圖元件庫文件 {寧 建,Y_PCB元fl:庫文件 乍特殊元器件設計 特殊元器件設計原理圖設計k一 元器件布局k一檢查生成網表文件 布線保存文件 檢查生成網表文件保存文件圖3-9Protel設計流程Figure3-9Proteldesignprocess3.6.2 PCB設計流程首先建立PCB文件進入PCB設計環境,接著確定PCB外形及尺寸,然后進行PCB原件布局和布線,最后檢查結果并形成網表文件,準備生產或試制。PCB外形無線數據采集系統的硬件設計及尺寸的確定要根據所設計的無線數據采集系統的硬件設計及尺寸的確定要根據所設計的PCB在所處的位置、占據的空間大小、外觀以及與其它部分的關系來進行,一般使用PLACETRACK等命令在相關層畫出PCB的外形。設計工作的最后檢查必須對所設計的PCB進行檢查,這既包括原理上的檢查,還包括相互間連接和位置合理性的檢查,檢查完成后才能生成網表文件。在Protel中的PCB的元器件非常豐富,常用的元器件在系統內已經集成,可以直接調用,但對于一些特殊的元器件則需自行制作。為此必須進入元器件庫的編輯環境建立了一個相應的元器件庫文件。在元器件庫編輯環境中,選擇“NEWCOMPONENT"命令就可以進行元器件的設計;可以用PLACEPAD等命令在一定的位置畫出相應的焊盤,雙擊并編輯成所需的焊盤(包括焊盤形狀、大小、內徑尺寸及角度等),另外還應標出焊盤相應的管腳名;以元器件的適當位置為參考點,以自定的元器件名存入元器件庫中就完成了元器件的制作。布局和布線的合理性是PCB設計能否成功的關鍵之一,布局時要首先確定與其它PCB或設備的接口元器件的位置,然后確定與連接和配合有關的元器件的位置(特別是那些體積較大的元器件)或一些有特殊要求的元器件的位置,然后應該根據設計進行功能塊的劃分,同~功能塊的元器件應盡量放置在一起。布局的實現方法可以采用PLACECOMPNENT命令在適當的位置放置合適的元器件。旋轉元器件的方法是在元器件未固定下來之前按空格鍵,這樣可以將元器件以90。(或180。、270。)旋轉,但若想旋轉任意角度則需對元器件進行編輯,在“PROPERTY”對話框中的“RATATION"選項中填入需旋轉的角度即可。布線的總體原則是:信號線的粗細應盡量一致并盡量短,信號線不要拐直角,電源線與地線應盡量粗,還應注意各功能模塊間最好以地線進行隔離等。布線可以采用PLACETRACK命令進行,線條的粗細可通過對話框直接編輯線條的尺寸。布線與布局是緊密聯系互相影響的,在進行布線時,往往需要對元器件位置進行調整以利于更好地布線,因此,布局與布線可以說是同時完成的。自動布線結束后,可能存在一些令人不滿意的地方,可以通過手工調整,修改電路板中的瑕疵。3.6.3問題和措施在設計和制作PCB板過程中遇到過一些問題:(1) 電源噪聲因為數字部分有幾個輸入輸出電壓幅度,所以它能容許較大的電源噪聲。但是模擬信號對電源噪聲尤其是毛刺信號和高頻分量卻相當敏感.因此數模混合的板子比起純數字板,電源部分的布線需格外注意,應避免自動布線。數字電路和模擬電路集成在一塊PCB板上時,若布線或制版不好,系統的實際性能往往達不到設計的要求。由于現代的微處理器都是CMOS際性能往往達不到設計的要求。由于現代的微處理器都是CMOSI藝,在突發模式下,在它一個內部時鐘周期里可能要占大部分功耗。因此,如果微處理器工作在IMHz下就要求電源也按這個頻率供電。此時如果不對電源使用適當的去耦電路,那么不可避免的會產生毛刺電壓。如果這些毛刺電壓到達射頻部分,可能產生嚴重的后果。因此必須把電源線分成模擬和數字部分。(2) 射頻部分的接地射頻電路的接地層應該連到負電源上。如果沒有做好,可能會產生旁路效應。雖然對數字電路而言,不連接地層不影響效果。可是對射頻電路,一條很短的線路,都可能成為電感。以上遇到問題的解決措施:(1)一個可靠的接地層一個可靠的接地層可以產生一個0v參照電壓,給所有的信號提供去耦合。由于接地層的阻抗,兩個接地的接點將不會耦合。所有的布線和所有的元件應該放在同了面,另一面為接地層。對于2層以上的板子,接地層應該在靠近上層信號的那一層。在信號層里所有的空余地方,應盡可能的和接地層連接。需要注意的是,靠近接地點的電感的性能會發生改變,因此必須考慮好接地點的位置。(2)PCB板的底板設計為了減少高噪聲模塊對模擬部分的影響,必須考慮各模塊的位置。通常的做法是避免將靈敏的模塊(比如射頻模塊)和高噪聲模塊(比如高速、高電壓數字電路)放在一起。不在同一層的高噪聲模塊和線路會像在同一層一樣,造成同樣的影響,除非在兩層之問有接地層隔離,必須要立體考慮。無線數據采集系統的軟件設計4無線數據采集系統的軟件設計4無線數據采集系統的軟件設計在系統設計中,除了硬件部分設計之外,軟件設計也是一項非常重要的內容。軟件設計的任務是根據應用系統總體設計方案的要求和硬件結構,設計出能夠實現系統要求的各種功能的控制程序,一般情況下,在程序設計的時候應采用模塊化設計思想。對于本系統而言,軟件設計整體上可以分為兩部分:數據采集傳輸部分和計算機用戶界面部分。由于無線通信模塊需要由單片機配置,并且控制數據的發送和接收,因此將無線通信環節歸入數據采集部分來介紹。在系統軟件設計時遵循結構合理、操作性能好、具有一定的保護措施、兼容性好的設計原則來開發設計。本章就主要闡述系統的軟件設計。4.1數據采集傳輸部分軟件設計數據采集傳輸部分軟件包括單片機、nRF2401初始化配置和數據采集傳輸的主程序。下面就對無線發送部分的軟件做詳細的闡述。4.1.1單片機初始化配置實現單片機PICl6LF818對nRF2401的控制首先要對單片機內部配置寄存器進行正確的設置。具體配置如下:voidpic——initial0{INTCON=0x00:RBPU:O:PIEI=Ox00:PIRI=Ox00:PORTB=Ox00:TRISA7=I:TRISA5=I:TRISA6=O:TRISB=Ox03:}初始化時,先關閉單片機所有的中斷使能位和標志位。設置RA口和RB口的方向,控制數據的輸入和輸出。接著初始化AD方向,控制數據的輸入和輸出。接著初始化AD轉換的設置,開啟AD轉換中斷和外部中斷,清除AD轉換中斷標志位,選擇AD轉換通道。AD轉換后的結果儲存在ADRESH和ADRESL兩個8位寄存器中。AD轉換初始化程序和中斷服務程序如下:voidadinit(unsignedcharchannel)//選擇輸入通道+AD初始化{ADIE=I: //A/D轉換中斷允許PEIE=I: //外圍中斷允許ADIF=O:ADCONl=Ox83:if(channel==O){ADCONO=Ox81://RAOTRISAO=I:}if(channel==1){ADCONO=Ox89://RA1TRISAI=I:)delay(6):)voidinterruptadint0A中斷服務程序木/{ADIF=O: //清除中斷標志transmit—data[O]=ADRESL:transmit—data[1]=ADRESH:)無線數據采集系統的軟件設計4無線數據采集系統的軟件設計4.1.2 I心2401初始化配置nRF2401有四種工作模式:收發模式、配置模式、空閑模式和關機模式。nRF2401的工作模式由PWR—UP、CE和CS三個引腳決定。具體配置如表4-1所示。表4.1nRF2401主要模式Table4.1mainmodeofnRF240l工作模式 PWRUP CE CS收發模式 1 1 0配置模式 1 O 1空閑模式 l O 0關機模式 0 (1)收發模式nRF2401的收發模式有ShockBurstTM收發模式和直接收發模式兩種,收發模式由器件配置字決定。本設計主要采用ShockBurstTM收發模式。在ShockBurstTM收發模式下,使用片內的先入先出堆棧區,數據低速從微控制器送入,但高速(1Mbps)發射,這樣可以盡量節能。因此,使用低速的微控制器也能得到很高的射頻數據發射速率。與射頻協議相關的所有高速信號處理都在片內進行,這種做法有三大好處:(1)大大減少電流損耗;(2)降低系統費用(可以使用低成本的微控制器);(3)數據在空中停留時間短,抗干擾性高。nRF2401的ShockBurstTM技術同時也減小了整個系統的平均工作電流。ShockBurstTM收發模式下,微控制器與nRF2401數據傳輸時序圖如圖4-1所示。F一nn¨圖4.1微控制器與rtRF2401數據傳輸時序圖Figure4一lmicrocontrollerandnRF2401datatransfertimingdiagram在ShockBurstTM在ShockBurstTM收發模式下,nRF2401自動處理字頭和CRC校驗碼。在接收數據時,自動把字頭和CRC校驗碼移去。在發送數據時,自動加上字頭和CRC校驗碼,當發送過程完成后,數據準備好引腳通知微處理器數據發射完畢。(2)配置模式在完成單片機的內部寄存器配置后,需要對nRF2401芯片進行配置,才能使它正常工作。在配置模式下,需要通過CS,CLKl和DATA引腳向nRF2401芯片寫入配置字,把其配置為ShockBurstTM收發模式需要15字節的配置字,而如把其配置為直接收發模式只需要2字節的配置字。這些配置字使nRF2401能夠處理射頻協議。在配置完成后,在nRF2401工作的過程中,只需改變其最低一個字節中的內容,以實現接收模式和發送模式之間切換。ShockBurstTM的配置字可以分為以下四個部分:(1)數據寬度:聲明射頻數據包中數據占用的位數。這使得nRF2401能夠區分接收數據包中的數據和CRC校驗碼;(2)地址寬度:聲明射頻數據包中地址占用的位數。這使得nRF2401能夠區分地址和數據;(3)地址:接收數據的地址,有通道l的地址和通道2的地址:(4)CRC:使nRF2401能夠生成CRC校驗碼和解碼。當使用nRF2401片內的CRC技術時,要確保在配置字中CRC校驗被使能,并且發送和接收使用相同的協議。nRF2401配置字的各個位的描述如表4—2所示。表4.2nR_F2401配置字Table4-2nRF2401configurationword位 位數 名字 功能Shock143:12024TEST保留119:112 8 DATA2W 接收頻道2有效數據的長度Burst1l1:104 8 DATAlW 接收頻道1有效數據的長度103:64 40 ADDR2 接收頻道2的地址,最高為5字節TM63:24 40 ADDRl 接收頻道1的地址,最高為5字節配置 23:18 6 ADDRW 接收頻道地址位數17 l CRCL 8或16位CRC16 1 CRCEN 使能CRC校驗常用 15 1 RX2EN 使能第二頻道14 1 CM 通信方式設置28無線數據采集系統的軟件設計器件無線數據采集系統的軟件設計器件 13 1 RFDR——SB 發射數據速率(1Mbps需要16MHZ晶振)12:10 3 XOF 晶振頻率配置9:8 2 RFPWR 發射輸出電源7:1 7 RFCH# 頻道設置O 1 RXEN 接收或發射操作在配置模式下,注意保證PWR—UP引腳為高電平,CE引腳為低電平。配置字從最高位開始,依次送入nRF2401。在CS引腳的下降沿,新送入的配置字開始工作。首先在頭文件中定義每個配置位的值://nRF2401關鍵配置字//收發:lb#defineRF—RXEN 0 //1:收0:發//頻率:7b,最大127FREQ=2400+RF_FREQ#defineRFFREQ 2 110——1277f。現率:2#defineRF—PWR 3 //o:一201:一102:一53:0//晶體頻率:3#defineRF—CRYS 3 //0:4MHzl:82:123:16MHz4:20MHz//速率:1#defineRF—BPS 1 //o:250k1:1M//通信模式:1#defineRFMODE 1 IiO:直接1:ShockBurst//雙通道:l#defineRF—RX2EN 0 //o:禁止1:使能//使能硬件CRC:l#defineRF—CRCEN l //o:禁止1:使能//CRC8/CRCl6:l#defineRF_CRCL l //0"CRC81:CRCl6//通道地址長度:6,最大40#defineRF—ADDRW 16 //o一40//通道1地址:最大5字節#defineRF_ADDRIOOxcc#defineRF—ADDRl1Oxaa#defineRFADDRl2Ox00#define#defineRFADDRl3Ox00#defineRFADDRl4Ox00//通道1數據長度:2#defineRFDATAWl16//通道2地址:最大5字節#defineRFADDR20Oxcc#defineRFADDR21Oxcc#defineRFADDR22Oxcc#defineRF——ADDR23Oxcl#defineRFADDR24Ox00//通道2數據長度:28#defineRFDATAW2224由上面的配置可知配置后的狀態:·發射模式;●頻道頻率2402刪Z;●輸出功率OdBm;●晶振頻率16MHZ:●發射數據速率1Mbps:·通信方式ShockBurst模式;●單通道接收;●使能CRC校驗;●16位CRC;地址寬度16位;●通道l地址{CC,aa,00,00,00};●通道1數據寬度16位,·通道2地址{cc,ca,ce,cl,00);●通道2數據寬度224位。在實際操作中,一旦配置字被裝進了nRF2401系統,則每次只需要有一個字節的配置字來更新,以選擇發送模式或接收模式。在主程序中,把15個配置位的值保存為15個字節的數組。constunsignedcharconfigbyte[15]={RF—RXENl(RF—FREQ<<1), //收發+頻率30無線數據采集系統的軟件設計RF_PWR無線數據采集系統的軟件設計RF_PWR』(RFCRYS<<2)l(RF_BPS<<5)I(RF_MODE<<6)f(RF_RX2EN<<7),//功率+晶體+速率+模式+雙通道RF_CRCENI(RF_CRCL<<1)I(RF_ADDRW<<2),//地址長度+CRC使能//通道1地址RF_ADDRIO,RF—ADDRl1,RFADDRl2,RF_ADDRl3,RF—ADDRl4,//通道2地址RFADDR20,RF_ADDR21,RF_ADDR22,RF_ADDR23,RF_ADDR24,//通道1數據長度RF_DATAWl,//通道2數據長度RF_DATAW2,}:在配置模式下,通過SPI接口,把15字節的配置字從最高位開始,依次送入nRF2401。CS置低使配置有效。 voidnRF2401powerup—config0//NRF配置{unsignedchari:CS=O:delay(2):CE=O:delay(2):PWR=I://standbymodedelay(600):CS=1: //2401進入配置方式delay(40):3lfor(i=15:for(i=15:i>O:i一){nRF2401_WriteByte(configbyte[i一1]):}delay(40):CS=O://cs置低使配置有效}(3)空閑模式nRF2401的空閑模式是為了減小平均工作電流而設計,其最大的優點是,實現節能的同時,縮短芯片的啟動時間。在空閑模式下,部分片內晶振仍在工作,此時的工作電流跟外部晶振的頻率有關,如外部晶振為4MHz時工作電流為12uA,外部晶振為6MHZ時工作電流為32uA。在空閑模式下,配置字的內容保持在nRF2401片內。(4)關機模式在關機模式下,為了得到最小的工作電流,一般此時的工作電流小于luA。關機模式下,配置字的內容也會被保持在nRF2401片內,這是該模式與斷電狀態最大的區別。4.1.3數據采集傳輸主程序設計在配置完單片機和nRF2401芯片之后,置PWRUP=I,CE=I,CS=O,nRF2401進入收發模式。把接收機的地址和要發送的數據按時序依次輸入nRF2401。本設計把地址設為address[2]={Oxcc,Oxaa},將以兩個字節依次送入nRF2401。在裝置的輸入端接入模擬信號,經過電平抬升電路后,信號輸入單片機進行AD轉換。PICl6LF818單片機內部AD轉換的結果為10位數字信號,儲存在ADRESH和ADRESL兩個8位寄存器中。AD轉換結果有兩種儲存方式,一種是10位的轉換結果右對齊,ADRESH的高六位置”0”;另一種是左對齊,ADRESL的低六位置”0”。儲存方式的選擇可通過配置ADCONI寄存器的ADFM位設置。本設計中選擇的是第一種方式。由上節單片機的AD初始化配置可知,AD轉換的時鐘頻率為32分頻,即0.25MHZ.當AD轉換完成后,狀態位GO/DONE清零,AD中斷標志位ADIF置l。AD轉換結果從寄存器移出后,ADIF重新置零,開始新一輪的AD轉換。為了取得特定的AD轉換精度,充電保持電容需要飽和充電以達到輸入通道的32無線數據采集系統的軟件設計電壓水平,這個過程需要一定的時間無線數據采集系統的軟件設計電壓水平,這個過程需要一定的時間TAco=40us。AD轉換器轉換每一位的時間定義為%。為了能夠正確進行AD轉換,單片機要求AD時鐘的選擇必須保證%越小越好,但要在1.6us和6.4us之間。本設計中,%=32‰=4us,符合系統的要求。在AD轉換完成后,需要等待2LD的時間才能開始下一次AD轉換。完成一個數據的AD轉換的時間T為:T2L∞+10TAD+2LD240us+12*4us288usAD轉換后得到的數據通過模擬SPI串口傳輸到nRF2401,用到的引腳是CLKl和DATA。數據的傳輸由CLKl的時序決定,數據在CLKl的下降沿輸出。在CLKl制造一個下降沿,輸出uiData數據的高位BIT7,然后把CLKl的電平拉高,uiData中的數據依次右移一位,再將CLKl的電平拉低,又一次輸出uiData的高位,這時,輸出豹就是原來uiData中的次高位BIT6位,如此重復,uiData右移八次就完成了一個字符的輸出。把數據寫入nRF2401的程序如下:voidnRF2401一WriteByte(unsignedcharuiData)//數據發送{unsignedchari:for(i=0:i<8:i++){CLKl=0:if(uiDatalox80)DATA=l:elseDATA=0:CLKl=1:asmknop,:uiData=uiData<<1:}CLKl=0:}把接收機地址和要發送的數據寫入nRF2401后,把CE置低,激發nRF2401進行ShockBurstTM發射。在ShockBurstTM發射模式下,給射頻前端供電,nRF2401自動加上字頭和CRC校驗碼,高速發射數據包。發射完成后,nRF2401進入空閑狀態。接收端的nRF2401接收端的nRF2401也需通過單片機配置15字節的配置字,包括接收的地址,接收數據的大小和CRC校驗碼。把CE置高,使nRF2401進入接收狀態,200us后,監聽周圍的數據,等待正確的數據到來。如果監聽到有正確的地址和數據大小,并通過了CRC校驗,nRF2401會自動把數據包的字頭、地址和CRC校驗位移去,然后把DRl引腳置高,引起單片機中斷,通知單片機把數據移出nRF2401。所有數據移完后,nRF2401把DRl置低,此時,如果CE為高,則等待下一個數據包,如果CE為低,開始其它工作流程。單片機把從nRF2401移出的數據通過串行口傳輸到計算機,進行數據的用戶界面顯示。數據包的結構:數據包頭,可設為4bit或8bit。它的值與地址第1位有關。當地址第1位為0時,包頭取值為“01010101”,反之則為,”10101010”。一幀數據從地址到CRC最多包含256bit。地址為接收方通道硬件地址段,可設為8bit--40bit,只有符合本機硬件地址的數據幀才會被接收。CRC為數據校驗段,可設定8bit或16bit校驗位。數據為待發送數據段,長度為幀長度減去地址段和CRC段的長度。無線數據采集系統的軟件設計發送端的軟件流程圖如圖無線數據采集系統的軟件設計發送端的軟件流程圖如圖4-2所示。圖4-2發送流程圖Figure4·2Flowchartofthetransmission35接收端的軟件流程圖如圖4-3接收端的軟件流程圖如圖4-3所示。圖4-3接收流程圖Figure4·3Flowchartofthereceiving無線數據采集系統的軟件設計4無線數據采集系統的軟件設計4.2計算機用戶界面設計數據采集系統的計算機用戶界面是整個系統的重要組成部分,系統功能實現的前提就是可以通過串口讀取參數,在Windows平臺下將參數及其圖表顯示在PC機上,向用戶提供方便、靈活的計算機操作使用界面。因此,上下位機的通訊是整個數據采集系統功能實現的先決條件。它不但完成波形顯示功能以及對硬件的控制,而且能夠實現對數據的保存,方便以后查閱數據,并作進一步分析。計算機用戶界面是在windows系統下采用Microsoft公司的VisumC++6.0軟件設計的。界面包括接收地址的設置,開始和停止接收的控制,數據和圖像顯示,以及保存數據。4.2.1 VisualC++語言的概述VisualC++是Microsoft公司推出的開發Win32環境程序,它是面向對象的可視化集成編程系統。它不但具有程序框架自動生成,靈活方便的管理,代碼編寫和界面設計集成交互操作,可開發多種程序(應用程序、動態鏈接庫、ActiveX控件等)等優點,而且通過簡單的設置就可使其生成的程序框架支持數據庫接口、OLE2,WinSock網絡、3D控制界面。因此,它現己成為開發Win32程序的主要開發工具n33。VisualC++6.0是微軟的VisumC++編譯器的最新且最好的版本,它己經遠非只是一個編譯器了。它包括了綜合的軟件基礎類庫(MFCLibrary),這使得開發Windows應用程序變得簡單而高效:它提供有復雜的資源編輯器,可以編輯對話框、菜單、工具欄、圖像和其他許多Windows應用程序的組成元素:它還有一個非常好的集成開發環境DeveloperStudio,用它可以在編寫C++程序時對程序的結構進行可視化的管理。此外,一個完全集成的Debug工具可以從各個角度來檢查程序運行中的微小細節。這些還只是VisualC++6.0的眾多特點中的-d,部分。總之,使用VisualC++6.0可以迅速開發出有特點的一流的應用軟件n鍆。4.2.2用戶界面設計Windows應用程序工作的基本流程是從用戶那罩得到數據,經過相應的處理之后,再把處理結果輸出到屏幕、打印機或者其他的輸出設備上。應用程序是從用戶那里得到數據,并且再將修改后的數據顯示給用戶,這就需要用到Windows應用程序中一個很重要的用戶接口——對話框。37jE童窯堂厶芏亟士堂焦監奎jE童窯堂厶芏亟士堂焦監奎對話框是應用程序同用戶進行交互的主要手段之一,由于對話框使用非常頻繁,因此,只有設計良好,操作方便的對話框才能滿足當前用戶對應用程序交互性的高要求。雖然對話框也是一個窗口,但與普通的窗口比起來,有很大的不同:(1)對話框是一個包含許多控件的窗口。(2)窗口幾乎總是和應用程序的資源聯系在一起的,這些資源指定了對話框的大小和布局,而且指定了其中的控件的大小和位簧。(3)對話框的豐要目的往杵是用于數據交換。下面主要介紹軟件設計的具體步驟和過程:在Visualc++環境下,新建一個工程,在對話框中選擇MFCAppWJzard(exe).并輸入工程的名稱a接下來在步驟l中,要創建的應用程序類型選擇第三個:基本對話框。在剩下的步驟中,全部選擇默認設置,直到完成這個工程的新建工作。這樣就用Ap酣izard創建了一個MFc應用程序。新建工程窗口如圖4-4所示。文件工程l工作日I#t妯J閏44新建I:程窗口Figure44NdwProjectwindow無線數據采集系統的軟件設計新建工程向導步驟無線數據采集系統的軟件設計新建工程向導步驟1如圖4-5所示。g目E《自S;女gik。。。i-“。鼬i您要創建的應用程序類型是:單文檔嘲多重文I自凹·纂差圈疆}螢畫您的資源使用的語言是:}中文【中國I[APPWZCHS.ouJ 二j一<I步. 登} 墮{圈4.5新建工程向導步驟IFigure4-5SteplofnewP刪ectwlza“t為了實現用戶界面的人機交互功能,需要在對話框中放置一些按鈕和文本框,方便用戶的操作和數據的顯示。在Visualc十+的編輯窗口旁邊有一個控件面板,它提供了Wlndows常用的通用控件.如文本框,列表框,按鈕,滑塊等。控件是獨立的小部件,在對話框與用戶的交互過程中,擔任著主要角色。控件的引入使Windo哪編程相對于DOS編程大大簡化,極大地減輕了編程人員的負擔。Visualc++提供的控件的種類很多,如圖“顯示了對話框中的一些基本控件。型~愛矗型~愛矗—————叫**捶什■^t^镕————一d_曲I刪mB———3o———JⅫ女&_h————一窿廈———————4&}《Ⅷmah———————商國}———————鼎《¨^r.☆∞*——————.鯽囪——————一十自镕r^*}’**————————●_§————一mJ寧*m4薪-——————舡印一——*镕日&F”—————固蕊——*RI甓*口}。t_n——£3日———叫日F¨jz$**“——娃囪———JIⅫ和吖K*≈nq月m#帖————圉瞄——一l啪“捎%n≈文&*——————罄售量—————寸%∞自☆E圖4石控件面板Figuxe4-6ConavlPanel表4-3列出了一些常用的控件及其對應的控件類。表4.3常用的控件Table4-3CommonConfxoh控件 功能 對應控件類靜卷文本框 顯示文本,一般不能接受輸入信息 CStatic(StaticTcxt)圖像控件顯示位圖、國標、方框和圖元文件,一般不能CStatic(Picture) 接受輸入信息編輯框(Edit輸入并編輯正文,支持單行和多行編輯CE小tBox)按鈕(Burrom相應用戶的輸入,觸發相應的事件CButlon復選框fCheck用作選擇標記,可以有選中、未選中和不確定CBui=tonBox)三種狀態單選按鈕(Radio 用來從兩個或多個選項中選中一項 CBtIttonButton)組框(Group 顯示正文和方框,主要用來將相關的一些控件 CButtonBox)(用于共同的目的)組織在一起玉絲塑壅墨墨墨鏨盟墼堂絲鹽列表框玉絲塑壅墨墨墨鏨盟墼堂絲鹽列表框(List顯示一個列表,用戶可以從該列表中選擇一項 CListBoxBox) 或多項組合框(Combo 是一個編輯框和列表框的組合,分為簡易式, CComboBoxBox) 下拉式和下拉列表式滾動條(Scroll 主要用來從一個預定義范圍值中迅速而有效 CScrollB8u-Bar) 地選取一個整數值控件面板中,把選中的控件用鼠標拖至對話框中,調整為合適大小。在控件上點擊鼠標右鍵,在彈出的快捷菜單中選擇【屬性】菜單命令,即可顯示這個控件的屬性對話框,利用這個對話框,可以設

溫馨提示

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

評論

0/150

提交評論