【正文】
has all kinds of sensors, such as the sound listener, USB cameras and TQ2440 development board, software is the key point which includes boot loader, Linux kernel, the file system and the whole cross development environment based on Qtopia, the most important is the development of application with Qtopia and Linux drivers, also introduced some contents of the USB protocol. Keyword: Wireless sensor work。 Qtopia。 Linux Device Driver。網(wǎng)絡(luò)中的節(jié)點一般由一個小型的嵌入式系 統(tǒng)組成,負責(zé)完成傳感器信號的采集,數(shù)據(jù)的存儲以及信息的傳輸?shù)裙δ?,它融合了傳感器技術(shù)、計算機技術(shù)以及通信技術(shù)這三大信息技術(shù) ,實現(xiàn)了 真正意義上的 網(wǎng)絡(luò)化、信息化和智能化。 無線傳感網(wǎng)絡(luò)的特征 一、大規(guī)模網(wǎng)絡(luò):大規(guī)模 主要體現(xiàn)在兩方面。 二、自組織網(wǎng)絡(luò)。 三、動態(tài)性網(wǎng)絡(luò)。 杭州電子科技大學(xué)本科畢業(yè)設(shè)計 2 四、可靠的網(wǎng)絡(luò)。 無線傳感網(wǎng)絡(luò)的主要用途 目前,無線傳感網(wǎng)絡(luò)的應(yīng)用主要集中在以下一個領(lǐng)域:首先就是環(huán)境的檢測和保護,它可以跟蹤候鳥和昆蟲的遷移,研究環(huán)境變化對農(nóng)作物的影響,監(jiān)測海洋、大氣和土壤成分等;然后就是應(yīng) 用于醫(yī)療護理,通過在鞋、家具以及家用電器中嵌入式傳感器,幫助老齡及殘障人士的家庭生活,利用無線通信將傳感器聯(lián)網(wǎng)可高效傳遞必要的信息從而方便的進行護理;接著就是軍事領(lǐng)域,由于無線傳感器網(wǎng)絡(luò)具有密集型、隨機分布的特點,使其非常適合應(yīng)用于惡劣的戰(zhàn)場環(huán)境中,包括偵察敵情、監(jiān)控兵力、裝備和物資,判斷生物化學(xué)攻擊等多方面用途 ;最后無線傳感網(wǎng)絡(luò)還被應(yīng)用于其他的一些領(lǐng)域,比如一些危險的工業(yè)環(huán)境如井礦、核電廠等,工作人員可以通過它實施安全檢測,也可以用在交通領(lǐng)域作為車輛監(jiān)控的有力工具。 杭州電子科技大學(xué)本科畢業(yè)設(shè)計 3 2 嵌入式系統(tǒng)概述 嵌入式系統(tǒng)介紹 根據(jù) IEEE(電氣與電子工程師協(xié)會 )的定義,嵌入式系統(tǒng) [3]是 “控制、監(jiān)視或者輔助裝置、機器和設(shè)備的裝置 ”。目前國內(nèi)一個普遍被認可的定義是:以應(yīng)用為中心、以計算機技術(shù)為基礎(chǔ)、軟硬件可裁剪、適應(yīng)于系統(tǒng)對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統(tǒng)。 70 年代單片機的出現(xiàn),使得汽車、家電、工業(yè)機器、通信裝置以及成千上萬種產(chǎn)品可以通過內(nèi)嵌電子裝置來獲得更佳的使用性能,這些裝置已經(jīng)初步具備了嵌入式的應(yīng)用特點,但是還談不上系統(tǒng)的概念,但是隨著程序員開始用基于操作系統(tǒng)編寫嵌入式應(yīng)用軟件,這使得可以獲得更短的開發(fā)周期,更低的開發(fā)資金和更高的開發(fā)效率,真正意義上的 “嵌入式系統(tǒng) ”出現(xiàn)了 。首先,嵌入式系統(tǒng)必須與具體應(yīng)用相結(jié)合才會具有生命力、才更具有優(yōu)勢。最后,嵌入式系統(tǒng)必須根據(jù)應(yīng)用需求對軟硬件進行裁剪,滿足應(yīng)用系統(tǒng)的功能、可靠性、成本、體積等要求。 嵌入式系統(tǒng)的組成 嵌入式系統(tǒng)一般由嵌入式硬件和嵌入式軟件組成。 硬件部分 嵌入式硬件主要包括嵌入式處理器以及外圍 設(shè)備構(gòu)成的電路。在嵌入式系統(tǒng)中常用的 CPU 體系有 ARM, PowerPC, MIPS, ColdFire, Intel8051, Atmel AVR 等,其中 ARM 是目前用途最廣,產(chǎn)品出貨量最大的, PowerPC 和 MIPS 主要用于網(wǎng)絡(luò)協(xié)議處理和某些工業(yè)控制場合, Intel8051 和 Atmel AVR 都屬于功能相對簡單的單片機產(chǎn)品,但它們在一些低端的領(lǐng)域應(yīng)用還是十分廣泛的。 軟件部分 嵌入式軟件包括嵌入式操作系統(tǒng)以及基于系統(tǒng)之上開發(fā)的應(yīng)用軟件。目前嵌入式操作系統(tǒng)一般有 181。由于嵌入式 Linux 是完全免費而且是開源的,它是由全世界最優(yōu)秀的程序員開發(fā),因此它比像 Windows 這樣的商用操作系統(tǒng)更穩(wěn)定,目前幾乎所有種類的嵌入式產(chǎn)品都有使用 Linux 的,應(yīng)用軟件是評價一個系統(tǒng)好壞的標準,而且嵌入式平臺上的開發(fā)比普通 PC 機上更復(fù)雜,因為資源、功耗等都有嚴格的限制,需要程序員具有良好的資源利用意識。 嵌入式系統(tǒng)的應(yīng)用 嵌入式系統(tǒng)技術(shù)具有非常廣闊的應(yīng)用前景,其應(yīng)用領(lǐng)域包括: ? 工業(yè)控制領(lǐng)域 。雖然就傳統(tǒng)的工業(yè)控制產(chǎn)品而言,低端的微控制器芯片使用還是占絕大多數(shù),但是隨著相關(guān)技術(shù)的發(fā)展, 高端的芯片將逐漸成為工業(yè)控制的核心。這將是嵌入式系統(tǒng)最大的應(yīng)用領(lǐng)域 之一 ,各種信息家電的網(wǎng)絡(luò)化智能化將引領(lǐng)人們的生活步入一個方便、快捷和安全的新環(huán)境,通過網(wǎng)絡(luò)遠程控制家里的一切,水、電 、煤氣表的遠程控制,安全防火、防盜系統(tǒng)等等,只有想不到的,沒有通過網(wǎng)絡(luò)做不到的。這也是嵌入式系統(tǒng)應(yīng)用最多的領(lǐng)域之一,各種消費類電子產(chǎn)品有手機、 MP MP4 以及 PDA 等都是小型的嵌入式系統(tǒng)。各種軍事設(shè)備,火炮控制系統(tǒng),月球車,導(dǎo)彈發(fā)射系統(tǒng)等等都是嵌入式系統(tǒng)。 杭州電子科技大學(xué)本科畢業(yè)設(shè)計 6 3 USB 協(xié)議實現(xiàn) USB 協(xié)議的發(fā)展 隨著計算機硬件的飛速發(fā)展,外圍的設(shè)備也日益增多,但是這些設(shè)備的接口各不相同,有串口、并口等,為了能夠讓這些設(shè)備用統(tǒng)一的 接口接入計算機, 1994年底,由 Intel、 IBM、 Microsoft 等多家公司聯(lián)合提出了 USB(通用串行總線)這個概念, USB 就是在這種情況下產(chǎn)生的。 USB 接口除了使用方便、傳輸速度快外,它還具有熱插拔的特性,這也是為什么現(xiàn)在越來越多的設(shè)備支持 USB 接口的原因。 USB 接口的應(yīng)用范圍十分廣泛,涉及的領(lǐng)域也越來越多,但是人們從沒有停止過對 USB 接口的研究以及將它應(yīng)用到更多的領(lǐng)域。 USB 協(xié)議系統(tǒng) 架構(gòu) USB 協(xié)議拓撲結(jié)構(gòu) USB 協(xié)議子系統(tǒng)系統(tǒng)包括主機和設(shè)備兩部分,其組成采用 以下的層次結(jié)構(gòu): 客戶軟件 設(shè)備功能U S B 系統(tǒng)軟件 U S B 邏輯設(shè)備U S B 總線接口 USB 總線接口互聯(lián)關(guān)系數(shù)據(jù)管理控制管道U S B 接口電纜主機 設(shè)備邏輯信號傳輸路徑實際信號傳輸路徑功 能 層U S B 設(shè) 備 層U S B 總 線 接口 層 圖 21 USB 系統(tǒng)的分層 圖 杭州電子科技大學(xué)本科畢業(yè)設(shè)計 7 如圖 21 所示,主機與 USB 設(shè)備間的連接使用許多層上的 邏輯 連接組成, 就如同 TCP/IP 協(xié)議各層次關(guān)系一樣, 即總線接口層、設(shè)備層和功能層。 USB 總線會根據(jù)外設(shè)情況在兩種傳輸模式中自動的動態(tài)切換。 USB 系統(tǒng)主要由三個部分組成: USB 主機, USB 集線器和 USB 設(shè)備,采用級聯(lián)星型的拓撲結(jié)構(gòu),一個系統(tǒng)中只有一個 USB 主機。主機通過根集線器提供若干連接點。許多不同功能的設(shè)備放在一起構(gòu)成一個復(fù)合設(shè)備。邏輯拓撲如圖 23 所示。每種通信流都采用了某種總線訪問方杭州電子科技大學(xué)本科畢業(yè)設(shè)計 8 法來完成主機上的軟件與設(shè)備之間的通信。圖 24說明了數(shù)據(jù)如何在主機中的內(nèi)存緩沖和設(shè)備中的端口中傳送。這些傳輸數(shù)據(jù)被當做連續(xù)的比特流。 USB驅(qū)動為主機軟件的需求建立了接口和管道,當提出配置請求時,主控制器根據(jù)提供的參數(shù)提供服務(wù)。 ? 控 制傳輸類型支持外設(shè)與主機之間的控制、狀態(tài)及配置等信息的傳輸,為外設(shè)與主機之間提供一個控制通道,每種外設(shè)都支持控制傳輸類型,這樣主機與外設(shè)之間就可以傳輸配置、命令和狀態(tài)信息。常見的有多媒體設(shè)備,如音頻和視頻傳輸。 ? 批量傳輸類型支持打印機、掃描儀、 U盤等設(shè)備,這些外設(shè)與主機間傳輸數(shù)據(jù)量大,只有 USB滿足帶寬的情況下才進行 該類型的數(shù)據(jù)傳輸 USB 的應(yīng)用 虛擬儀器 虛擬儀器 [3]是基于計算機的信號測量技術(shù),與傳統(tǒng)的儀器相比,虛擬儀器在各個方面都具有明顯的技術(shù)優(yōu)勢,根據(jù)采用的總線標準,虛擬儀器分為 PCI 總線式、VXI 總線式以及 PXI 總線式。因此將 USB 總線技術(shù)與虛擬儀器相杭州電子科技大學(xué)本科畢業(yè)設(shè)計 9 結(jié)合有很好的商業(yè)價值。各個模塊運行相應(yīng)的軟件,實現(xiàn)特定的功能。傳統(tǒng)的網(wǎng)絡(luò)安全密鑰雖然能夠保證絕大多數(shù)網(wǎng)絡(luò)安全。該系統(tǒng)主要由認證服務(wù)器、認證客戶端、資源服務(wù)器及控制服務(wù)器組成。認證服務(wù)器主要完成與客戶端的認證工作,它存放用戶的身份認證信息和本地的一些安全參數(shù)信息,同時為保證用戶與認證服務(wù)器之間的通信,以及實現(xiàn)用戶對服務(wù)器的身份認證,認證服務(wù)器擁有 RSA 公私密鑰對。 有 機磷農(nóng)藥檢測系統(tǒng) 為了實現(xiàn)在農(nóng)業(yè)生產(chǎn)中對有機磷農(nóng)藥的殘留量進行快速有效地檢測,研究人員設(shè)計了一種基于 USB 的有機磷農(nóng)藥檢測系統(tǒng) [2]。此系統(tǒng)能夠完成有機磷農(nóng)藥的快速高效的檢測和相關(guān)分析及處理工作。通過開發(fā) USB 協(xié)議傳輸事務(wù),我們可以實現(xiàn) USB 事務(wù)在網(wǎng)絡(luò)上傳輸,遠程的主機通過網(wǎng)絡(luò)就可以對本地的 USB從設(shè)備發(fā)起事務(wù)傳輸,這樣就實現(xiàn)了 USB總線上的多主設(shè)備模型。通過采用 USB 事務(wù)中繼技術(shù) [4],我們建立能夠處理多客戶端訪問本地設(shè)備的分時服務(wù)器,這樣客戶端就可以根據(jù)工作的需要取得和釋放遠程 USB設(shè)備的使用權(quán),這樣就大大提高了資源的利用率 。隨著集成電路,無線電以及無線局域網(wǎng)技術(shù)的發(fā)展,無線 USB 技術(shù)也會得到快速的應(yīng)用,現(xiàn)在 WUSB[8]無線電在移動終端上的應(yīng)用已經(jīng)成為可能。同樣, WUSB的發(fā)展也會面臨一些問題,首先就是無線連接的不可靠性,可能受到各方面的干擾,還有如何降低 WUSB 設(shè)備的成本,提高設(shè)備的性能,通常 WUSB 設(shè)備的價格比有線設(shè)備高,而性能往往比有線設(shè)備低,因此 WUSB 設(shè)備 完全代替有線 USB 設(shè)備還有漫長的路。但是,如何將這些高科技應(yīng)用形成一個低成本更人性化的系統(tǒng)將是一個挑戰(zhàn),因為目前這樣的系統(tǒng)大多是基于 PC 的各種檢查設(shè)備,這樣導(dǎo)致成本很高而且不方便。這個系統(tǒng)主要由基于 ARM 的嵌入式系統(tǒng), USB 接口和遠程通信技術(shù)構(gòu)成, USB 接口是這個系統(tǒng)中的關(guān)鍵平臺,ARM微處理器是控制 USB主機的操作以及擴展每一個 USB設(shè)備代表的醫(yī)療請求,每個 USB 設(shè)備 的醫(yī)療請求通過網(wǎng)絡(luò)形成一個家庭醫(yī)療系統(tǒng)。 USB 驅(qū)動 USB驅(qū)動程序的開發(fā)涉及主機驅(qū)動和設(shè)備驅(qū)動兩個部分, USB主機控制器主要有 UHCI, OHCI,EHCI和 OTG四種主要類型的主機控制器, USB設(shè)備一般按類來分,有存儲類、人機接口類、通信類等,驅(qū)動的開發(fā)也是對于特定的類而不是某個設(shè)備。 USB 設(shè)備 USB設(shè)備類驅(qū)動程序是與應(yīng)用程序交互的軟件模塊,它主要實現(xiàn)特定 USB設(shè)備的訪問,為應(yīng)用程序提供訪問接口 。 USB核心用 usb_driver來標識一個 USB設(shè)備驅(qū)動,通過調(diào)用 usb_register(struct usb_driver *driver)和 usb_deregister(struct usb_driver *)注冊和注銷 USB設(shè)備驅(qū)動,struct usb_device_id用來描述 USB設(shè)備的功能和類別,通常 USB設(shè)備驅(qū)動會根據(jù)usb_device_id來判斷 USB設(shè)備是否是自身支持的設(shè)備, USB體系的各個模塊之間使用 USB請求塊進行信息的傳遞 ,它用 struct urb 結(jié)構(gòu)描述。 由于 USB支持四種類型的傳輸,因此也有四種類型的 urb,用于控制傳輸類型的 urb 用 usb_fill_control_urb(struct urb *urb,struct usb_device *dev,unsigned int pipe,unsigned char *setup_packets,void *transfer_buffer,int buffer_length,usb_plete_t plete_fn,void *context)函數(shù)填充 ,中斷類型的 urb用usb_fill_int_urb(struct urb *urb,struct usb_device *dev,unsigned int pipe,void *transfer_buffer, int buffer_length,usb_plete_t plete_fn ,void *context, int interval)函數(shù)填充,批量傳輸類型的 urb用 usb_fill_bulk_urb(struct urb *urb,struct usb_device *dev,unsigned int pipe,void *transfer_buffer,int buffer_length,usb_plete_t plete_fn, void *context)函數(shù)構(gòu)造,而對于等時傳輸類型的 urb沒有現(xiàn)成的函數(shù)進行構(gòu)造,需要自己手動填充。 這只是一般驅(qū)動都會實現(xiàn)的基本 步驟,實際的驅(qū)動比這要復(fù)雜得多。 杭州電子科技大學(xué)本科畢業(yè)設(shè)計 12 4 Qt/Embedded 開發(fā) Qt/Embedded 簡介 Qt/Embedded[7] 以原始 Qt 為基礎(chǔ),并做了許多出色的調(diào)整以適用于嵌入式環(huán)境。 信號和插槽機制是 Qt 的核心機制,要精通 Qt 編程就必須對信號 和插槽有所了解。當某個信號對其客戶或所有者內(nèi)部狀態(tài)發(fā)送改變時,信號就被一個對象發(fā)射。