版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 . . . 師大學信息學院 2012 屆學士學位論文基于 ARM 的 GPRS 數(shù)據(jù)傳輸系統(tǒng)的研究系 別 : :電子信息系 專 業(yè) : :電子信息科學與技術學 號 : :姓 名 : : 偉偉指 導 教 師 : : 宗指導教師職稱: :講 師20122012 年年 5 5 月月 1010 日日 . . . I / 28基于 ARM 的 GPRS 數(shù)據(jù)傳輸系統(tǒng)的研究偉偉師大學信息學院 235000摘要 隨著單片機與 ARM 技術的廣泛應用,以與芯片技術的不斷發(fā)展, GPRS 通用分組無線業(yè)務在當前遠程無線數(shù)據(jù)傳輸、遙測遙控中越來越受到人們的重視,所以,由此而開發(fā)設計的二次設備和產品得到極大的推廣
2、和應用。論述了基于 WAV ECOM Q2406B 無線通訊模塊、A RM7 LPC2138 微處理器的數(shù)據(jù)傳輸終端設計方案 ,并提供了部分硬件電路圖、軟件流程圖與程序代碼。針對分布比較分散,場所不固定,或是環(huán)境比較惡劣的監(jiān)測現(xiàn)場,提出了一種通用的遠程監(jiān)測終端的設計方法。終端具有模塊化的數(shù)據(jù)采集功能,并采用ARM9 處理器和 Linux 操作系統(tǒng),用 Qt/Embedded 編寫終端應用程序,使其具有良好的人機交互界面,并對數(shù)據(jù)進行分析處理,采用 GPRS(通用無線分組業(yè)務)無線通信技術將處理過的數(shù)據(jù)發(fā)往監(jiān)測中心,存入數(shù)據(jù)庫。實際實驗證明,該終端數(shù)據(jù)處理速度快,精度高,實時性好,可以滿足一般監(jiān)
3、測現(xiàn)場的要求。關鍵詞 GPRS 模塊;RS232 ;LPC2138 ;AT 命令;ARM . . . II / 28Study on GPRS Transferring System Based on ARMLiu WeiweiHuaiBeiBormalUniversityCollege of Information, 235000AbstractAbstract Along with the wide application of single chip computer and ARM technique as well as the development of integrated c
4、hip technique GPRS general grouping wireless service is attached with more importance by people in the current data transmission 、metering and remote control . Therefore secondary product and quality goods developed and designed according to the techniques mentioned are obtaining enormous promotion
5、and application. The data transmission terminal design based on WAVECOM Q2406B Module and ARM7LPC2138 are elaborated and partial hardware electric diagram .software flowchart and program code is provided.For more decentralized distribution, place is not fixed, or the environment is bad monitoring si
6、te, puts forward a universal remote monitoring terminal of the design method. Terminal with modularization data acquisition function, and USES the ARM9 processor and Linux operating system, with Qt/Embedded write terminal application, make its have good human-machine interface, and analyze the data
7、treatment, and a GPRS (general packet radio service) wireless communication technology will be processed data sent to monitoring center, and . . . III / 28stored in the database. The actual experiment proves that the terminal data processing speed, high precision, good real-time, can satisfy the req
8、uirement of the general monitoring.KeywordsKeywords GPRS module; RS232; LPC2138; AT command; ARM . . . 1 / 28目目 次次1 緒論 11.1 ARM 處理器 11.2 ARM 處理器模式 21.3 GPRS 概括與應用 42基于 ARM 和 GPRS 的遠程監(jiān)測終端的研究 52.1 終端的整體結構研究 52.2 終端硬件研究 62.3 終端軟件的研究 93基于 ARM 的 GPRS 的無線數(shù)據(jù)傳輸系統(tǒng)的研究 143.1 GPRS 數(shù)據(jù)傳輸?shù)膮f(xié)議分析和實現(xiàn) 143.2 數(shù)據(jù)傳輸終端的硬件研究
9、 153.3 數(shù)據(jù)傳輸終端的軟件研究 17結論 21參考文獻 22致 23 . . . 1 / 281 1 緒緒 論論1.11.1 ARMARM 處理器處理器ARM(AdvancedRISCMachines),既可以認為是一個公司的名字,也可以認為是對微處理器的通稱,還可以認為是一種技術的名字。ARM 處理器是一個32 位元精簡指令集(RISC)處理器架構,其廣泛地使用在許多嵌入式系統(tǒng)設計。1.ARM 處理器特點體積小、低功耗、低成本、高性能;支持 Thumb(16 位)/ARM(32 位)雙指令集,能很好的兼容 8 位/16 位器件;大量使用寄存器,指令執(zhí)行速度更快;大多數(shù)數(shù)據(jù)操作都在寄存器
10、中完成;尋址方式靈活簡單,執(zhí)行效率高;指令長度固定。2.ARM 處理器系列ARM7 系列ARM9 系列ARM9E 系列ARM10E 系列 Se cur Core 系列Intel 的 X scaleIntel 的 Strong ARM ARM11 系列 其中,ARM7、ARM9、ARM9E 和 ARM10 為 4 個通用處理器系列,每一個系列提供一套相對獨特的性能來滿足不同應用領域的需求。Se cur Core 系列專門為安全要求較高的應用而設計。3.ARM 處理器結構體系結構:CISC(ComplexInstructionSetComputer,復雜指令集計算機):在CISC 指令集的各種指令
11、中,大約有 20%的指令會被反復使用,占整個程序代碼的80%。而余下的 80%的指令卻不經常使用,在程序設計中只占 20%。 RISC(ReducedInstructionSetComputer,精簡指令集計算機):RISC結構優(yōu)先選取使用頻率最高的簡單指令,避免復雜指令;將指令長度固定,指令格式和尋址地方式種類減少;以控制邏輯為主,不用或少用微碼控制等 RISC 體系結構應具有如下特點:采用固定長度的指令格式,指令歸整、簡單、基本尋址方式有 23 種。使用單周期指令,便于流水線操作執(zhí)行。大量使用寄存器,數(shù)據(jù)處理指令只對寄存器進行操作,只有加載/存儲指令可以訪問存儲器,以提高指令的執(zhí)行效率。除
12、此以外,ARM 體系結構還采用了一些特別的技術,在保證高性能的前提下盡量縮小芯片的面積,并降低功耗。所有的指令都可根據(jù)前面的執(zhí)行結果決定是否被執(zhí)行,從而提高指令的執(zhí)行效率??捎眉虞d/存儲指令批量傳輸數(shù)據(jù),以提高數(shù)據(jù)的傳輸效率??稍谝粭l數(shù)據(jù)處理指令中同時完成邏輯 . . . 2 / 28處理和移位處理。在循環(huán)處理中使用地址的自動增減來提高運行效率。寄存器結構:ARM 處理器共有 37 個寄存器,被分為若干個組(BANK),這些寄存器包括: 31 個通用寄存器,包括程序計數(shù)器(PC 指針),均為 32 位的寄存器。6 個狀態(tài)寄存器,用以標識 CPU 的工作狀態(tài)與程序的運行狀態(tài),均為 32 位,目前
13、只使用了其中的一部分。指令結構:ARM 微處理器的在較新的體系結構中支持兩種指令集:ARM 指令集和 Thumb指令集。其中,ARM 指令為 32 位的長度,Thumb 指令為 16 位長度。Thumb 指令集為 ARM 指令集的功能子集,但與等價的 ARM 代碼相比較,可節(jié)省 30%40%以上的存儲空間,同時具備 32 位代碼的所有優(yōu)點。1.21.2 ARMARM 處理器模式處理器模式ARM 處理器狀態(tài):ARM 微處理器的工作狀態(tài)一般有兩種,并可在兩種狀態(tài)之間切換:第一種為ARM 狀態(tài),此時處理器執(zhí)行 32 位的字對齊的 ARM 指令;第二種為 Thumb 狀態(tài),此時處理器執(zhí)行 16 位的、
14、半字對齊的 Thumb 指令。在程序的執(zhí)行過程中,微處理器可以隨時在兩種工作狀態(tài)之間切換,并且,處理器工作狀態(tài)的轉變并不影響處理器的工作模式和相應寄存器中的容。但 ARM 微處理器在開始執(zhí)行代碼時,應該處于 ARM 狀態(tài)。 進入 Thumb 狀態(tài):當操作數(shù)寄存器的狀態(tài)位(位 0)為 1 時,可以采用執(zhí)行BX 指令的方法,使微處理器從 ARM 狀態(tài)切換到 Thumb 狀態(tài)。此外,當處理器處于Thumb 狀態(tài)時發(fā)生異常(如 IRQ、FIQ、Abort、SWI 等),則異常處理返回時,自動切換到 Thumb 狀態(tài)。 進入 ARM 狀態(tài):當操作數(shù)寄存器的狀態(tài)位為 0 時,執(zhí)行 BX 指令時可以使微處理
15、器從 Thumb 狀態(tài)切換到 ARM 狀態(tài)。此外,在處理器進行異常處理時,把 PC指針放入異常模式寄存器中,并從異常向量地址開始執(zhí)行程序,也可以使處理器切換到 ARM 狀態(tài)。ARM 處理器模式:ARM 微處理器的運行模式可以通過軟件改變,也可以通過外部中斷或異常處理改變。大多數(shù)的應用程序運行在用戶模式下,當處理器運行在用戶模式下時, . . . 3 / 28某些被保護的系統(tǒng)資源是不能被訪問的。 除用戶模式以外,其余的所有 6 種模式稱之為非用戶模式,或特權模式;其中除去用戶模式和系統(tǒng)模式以外的 5 種又稱為異常模式,常用于處理中斷或異常,以與需要訪問受保護的系統(tǒng)資源等情況。 ARM 寄存器:A
16、RM 處理器共有 37 個寄存器。其中包括:31 個通用寄存器,包括程序計數(shù)器(PC)在。這些寄存器都是 32 位寄存器。以與 6 個 32 位狀態(tài)寄存器。 異常處理:當正常的程序執(zhí)行流程發(fā)生暫時的停止時,稱之為異常,例如處理一個外部的中斷請求。在處理異常之前,當前處理器的狀態(tài)必須保留,這樣當異常處理完成之后,當前程序可以繼續(xù)執(zhí)行。處理器允許多個異常同時發(fā)生,它們將會按固定的優(yōu)先級進行處理。當一個異常出現(xiàn)以后,ARM 微處理器會執(zhí)行以下幾步操作: 進入異常處理的基本步驟:將下一條指令的地址存入相應連接寄存器 LR,以便程序在處理異常返回時能從正確的位置重新開始執(zhí)行。將 CPSR 復制到相應的
17、SPSR 中。根據(jù)異常類型,強制設置 CPSR 的運行模式位。 強制 PC 從相關的異常向量地址取下一條指令執(zhí)行,從而跳轉到相應的異常處理程序處。如果異常發(fā)生時,處理器處于 Thumb 狀態(tài),則當異常向量地址加載入 PC 時,處理器自動切換到 ARM 狀態(tài)。 ARM 微處理器對異常的響應過程用偽碼可以描述為: R14_ = Return Link SPSR_= CPSR CPSR4:0 = Exception Mode Number CPSR5 = 0 ;當運行于 ARM 工作狀態(tài)時 If = Reset or FIQ then;當響應 FIQ 異常時,禁止新的 FIQ 異常 CPSR6 =
18、1 PSR7 = 1 PC = Exception Vector Address 異常處理完畢之后,ARM 微處理器會執(zhí)行以下幾步操作從異常返回: 將連接寄存器 LR 的值減去相應的偏移量后送到 PC 中。 將 SPSR 復制回 CPSR 中。 . . . 4 / 28若在進入異常處理時設置了中斷禁止位,要在此清除。1.31.3 GPRSGPRS 概括與應用概括與應用通用分組無線服務技術(General Packet Radio Service)的簡稱,它是 GSM移動用戶可用的一種移動數(shù)據(jù)業(yè)務。GPRS 可說是 GSM 的延續(xù)。GPRS 和以往連續(xù)在頻道傳輸?shù)姆绞讲煌?,是以封包(Packet
19、)式來傳輸,因此使用者所負擔的費用是以其傳輸資料單位計算,并非使用其整個頻道,理論上較為便宜。GPRS 的傳輸速率可提升至 56 甚至 114Kbps。General Packet Radio Service,通用無線分組業(yè)務,是一種基于 GSM 系統(tǒng)的無線分組交換技術,提供端到端的、廣域的無線 IP 連接。通俗地講,GPRS 是一項高速數(shù)據(jù)處理的技術,方法是以分組的形式傳送資料到用戶手上。雖然GPRS 是作為現(xiàn)有 GSM 網絡向第三代移動通信演變的過渡技術,但是它在許多方面都具有顯著的優(yōu)勢。目前,作為第一個進行 GPRS 實地測試的地區(qū),已經取得了良好的收效。 由于使用了分組的技術,用戶上網
20、可以免受斷線的痛苦(情形大概就跟使用了下載軟件 NetAnts 差不多)。此外,使用 GPRS 上網的方法與 WAP 并不同,用WAP 上網就如在家中上網,先撥號連接,而上網后便不能同時使用該線,但GPRS 就較為優(yōu)越,下載資料和通話是可以同時進行的。從技術上來說,聲音的傳送(即通話)繼續(xù)使用 GSM,而數(shù)據(jù)的傳送便可使用 GPRS,這樣的話,就把移動的應用提升到一個更高的層次。而且發(fā)展 GPRS 技術也十分經濟,因為只須沿用現(xiàn)有的 GSM 網絡來發(fā)展即可。GPRS 的用途十分廣泛,包括通過手機發(fā)送與接收電子,在互聯(lián)網上瀏覽等。 現(xiàn)在手機上網的口號就是always online、IP in h
21、and,使用了 GPRS 后,數(shù)據(jù)實現(xiàn)分組發(fā)送和接收,這同時意味著用戶總是在線且按流量計費,迅速降低了服務成本。對于繼續(xù)處在難產狀態(tài)的中國移動聯(lián)通 WAP 資費政策,如果將CSD(電路交換數(shù)據(jù),即通常說的撥號數(shù)據(jù),歐亞 WAP 業(yè)務所采用的承載方式)承載改為在 GPRS 上實現(xiàn),則意味著由數(shù)十人共同來承擔原來一人的成本。 而 GPRS 的最大優(yōu)勢在于:它的數(shù)據(jù)傳輸速度不是 WAP 所能比擬的。目前的GSM 移動通信網的傳輸速度為每秒 9.6K 字節(jié),GPRS 手機在今年年初推出時已達到 56Kbps 的傳輸速度,到現(xiàn)在更是達到了 115Kbps(此速度是常用 56Kmodem 理想速率的兩倍)
22、。GPRS 的應用,遲些還會配合 Bluetooth(藍牙技術)的發(fā)展。到時,數(shù)碼相機 . . . 5 / 28加了 bluetooth,就可以馬上通過手機,把像片傳送到遙遠的地方,也不過一刻鐘的時間,這個日子將距離我們不遠了。2 2 基于基于 ARMARM 和和 GPRSGPRS 的遠程監(jiān)測終端的研究的遠程監(jiān)測終端的研究隨著現(xiàn)代生產科技水平的發(fā)展,對監(jiān)測技術的要求越來越高,形式趨于多樣化。在無人值守的變電站、水文站、氣象站等野外監(jiān)測或是在交通運輸?shù)刃袠I(yè)中,因分布比較分散、環(huán)境惡劣,地點不固定,不便于用傳統(tǒng)方法實現(xiàn)集中控制和實時監(jiān)測并且有線網絡的架設受到種種限制。在這些場合采用基于 GPRS
23、的無線網絡通信技術,具有無可比擬的優(yōu)勢。將嵌入式應用系統(tǒng)與無線通信技術結合在一起是未來嵌入式應用的必然趨勢。GPRS(General Packet Radio Service),即通用無線分組業(yè)務。GPRS 技術應用于遠程數(shù)據(jù)傳輸系統(tǒng),具有以下幾個特點:1)永遠在線,接入速度快。分組交換接入時間少于 1 秒,可使遠程數(shù)據(jù)傳輸?shù)男蚀蟠筇岣撸?)采用數(shù)據(jù)流量的計費方式,大大降低了用戶的使用費用;3)GPRS 網絡覆蓋圍廣,且支持 TCP/IP 協(xié)議,從而可實現(xiàn)與 Internet 的無縫連接。2.12.1 終端的整體結構研究終端的整體結構研究終端要完成 3 個任務,數(shù)據(jù)采集、數(shù)據(jù)處理和數(shù)據(jù)的無線
24、傳輸。數(shù)據(jù)采集部分采用模塊化設計思想將采集模塊分為模擬量采集模塊,數(shù)字量采集模塊,開關量采集模塊等,每個模塊獨立的實現(xiàn)對特定采集信號的整流、調理、隔離等處理再轉換為數(shù)字量,各模塊采用統(tǒng)一的結構,選用一樣的單片機處理器。各模塊采集的數(shù)據(jù)通過統(tǒng)一的 SPI(serialperipheral interface)總線傳輸給 ARM 處理器。這樣的結構使終端使用更靈活,應用圍更廣泛。數(shù)據(jù)處理部分采用 ARM 處理器對所采集的數(shù)據(jù)的類型、長度、有效圍等進行處理,并通過液晶屏加觸摸屏完成人機交互功能。然后將處理好的數(shù)據(jù)通過 GPRS 無線網絡傳輸給上位機。終端的整體結構圖如圖 1 所示。 . . . 6
25、/ 28圖 1 終端的整體結構圖2.22.2 終端硬件研究終端硬件研究終端硬件主要由 3 部分組成。一是作為主處理器的 ARM9 處理器與其外圍電路包括電源電路、復位電路、外擴存儲器電路與用于人機互動的液晶屏、觸摸屏連接電路等。二是各個模塊的數(shù)據(jù)采集電路的設計,這里主要設計的是模擬量采集模塊,以與各個數(shù)據(jù)采集模塊與主處理器之間 SPI 連接方式。三是 GPRS 模塊外圍電路以與與主處理器的連接。端硬件設計示意圖如圖 2 所示。圖 2 系統(tǒng)硬件結構示意圖1.終端主處理器主處理器是系統(tǒng)的核心,要完成數(shù)據(jù)處理,存儲,傳輸,人機界面顯示等功能。結合工業(yè)現(xiàn)場的需求終端處理器采用以 ARM9 為核的三星
26、S3C2440 處理器,它是一款基于 ARM920T 核的 16/32 位 RSIC 結構的嵌入式微處理器,主頻 400 MHz,最高可達 533 MHz,具有 2 片外接 32 M 的板載 SDRAM,片外資源豐富,擴展性強。系統(tǒng)存儲擴展了 2 MB 的 NorFlash 用于存放 bootloader 系統(tǒng)引導程序,和 64 MB . . . 7 / 28的 NAND flash.系統(tǒng)的人機交互平臺采用一個 7 寸液晶顯示頻和一個觸摸屏來完成。2.數(shù)據(jù)采集部分硬件設計數(shù)據(jù)采集模塊可分為模擬量采集模塊,數(shù)字量采集模塊,開關量采集模塊等,主要完成對底層數(shù)據(jù)的采集,這些模塊的單片機處理器統(tǒng)一采用
27、 CYGNAL 公司的C8051F021 單片機,它的 MCU 是高度集成的片上系統(tǒng)。在一個芯片集成了兩個多通道 ADC 子系統(tǒng)、電壓基準、SPI 總線接口、8 個 8 位的通用數(shù)字 I/O 端口和 64 kBFLASH 程序存儲器與與 8051 兼容的高速微控制器核等,這些很好的滿足了模塊的設計要求。由于模塊設計結構上的相似性,這里主要介紹模擬量采集模塊部分。工業(yè)現(xiàn)場采集的信號大部分是模擬量,如壓力、溫度、液位、流量等信號。這些信號經過現(xiàn)場儀表測量后一般統(tǒng)一輸出為 420 mA,05 V,010 V 圍的電流電壓信號。通過模擬量采集模塊將這些模擬量轉換為數(shù)字量。單片機的 A/D 準換的電壓基
28、準定為 2.5 V,要將 420 mA,05 V,010 V 圍的電流電壓信號統(tǒng)一為02.5 V 以的電壓信號,才能進入單片機完成模擬量到數(shù)字量的轉換。對于電流信號,在輸入端接一個 250 的精密便轉換為 15 V 的電壓信號了,對于電壓信號通過運算放大器按比例縮放到 02.5 V 圍即可。轉換電路如圖 3 所示。圖 3 電壓信號轉換電路圖各個數(shù)據(jù)采集模塊與主處理器通過 SPI 總線進行通信。SPI 總線是 Motorola公司提出的一種高速全雙工串行通信總線,它容許 CPU 與各種外圍接口器件以串行方式進行通信。SPI 接口只有 MISO(主入從出)、MOSI(主出從人)、SCLK(時鐘)和
29、 CS(片選)4 個信號組成,在芯片上只占用 4 條線,大大節(jié)省了芯片資源。主處理器與各采集模塊的 SPI 通信方式為一主多從的方式,即 ARM 主處理器的作為主設備,各數(shù)據(jù)采集模塊作為從設備,主設備驅動串行時鐘發(fā)起通信。主設備使用片選信號 CS 指明與哪個模塊采集模塊傳送數(shù)據(jù)。通信時,主設 . . . 8 / 28備的 MISO 為輸入,MOSI 為輸出,從設備的 MISO 為輸出,MOSI 為輸入,在主設備時鐘的控制下,主設備與從設備的雙向移位寄存器同時進行數(shù)據(jù)交換,完成一次數(shù)據(jù)的傳輸。主處理器與各模塊的通信結構圖如圖 4 所示。圖 4 SPI 通信結構圖3.GPRS 模塊GPRS 模塊選
30、用華為 GTM900C 模塊,它是一款三頻段 GSM/GPRS 無線模塊。模塊接口簡單、使用方便且功能強大。它支持標準的 AT 命令與增強 AT 命令。GTM900C 的 GPRS 數(shù)據(jù)業(yè)務的最高速率可達 85.6 kbit/GTM900C 提供 40 腳的 ZIF接口,主要有電源接口、UART 接口(最大串口速率可達 115200bit/s)、標準SIM 卡接口和模擬語音接口。本系統(tǒng)中,GTM900C 主要是實現(xiàn) GPRS 上網功能。該模塊的主要特點如下:1)單電源供電,供電圍為 3.34.8 V.典型供電電壓為 4.2 V;2)可工作于三頻 EGSM900 和/GSM1800/GT800
31、單頻;最大發(fā)射功率EGSM900/GT800 Class(2W)和 GSM1800 Classl(1W);3)支持 GSM 標準 AT 命令、V.25 AT 命令和華為擴展 AT 命令;4)GPRS 傳輸速率最高可達 85.6 kbps,支持 CS-1,CS-2,CS-3,CS-4 4 種編碼方式。 . . . 9 / 28嵌了 TCP/IP 協(xié)議;支持多連接,提供 ACK 應答,提供大容量緩存。GPRS 模塊與主處理器的連接很簡單,由于兩者是通過串口接口進行通信的,所以將兩者用串口線連接即可。GPRS 的網絡功能都已集成在模塊中,只需要在主處理器這一端將串口參數(shù)設置好,然后發(fā)送相應的 AT
32、指令對模塊進行操作即可。2.32.3 終端軟件的研究終端軟件的研究終端軟件設計包括兩個任務,一是搭建開發(fā)環(huán)境,如 Linux 操作系統(tǒng)核移植,編寫設備驅動等,二是在開發(fā)環(huán)境準備好的基礎上進行應用程序的編寫,包括完成 SPI 總線數(shù)據(jù)輸入輸出功能,GPRS 無線數(shù)據(jù)傳輸功能,和界面顯示功能。1.軟件開發(fā)平臺搭建軟件平臺采用嵌入式 Linux 操作系統(tǒng),嵌入式 Linux 操作系統(tǒng)是一個源代碼公開的實時多任務操作系統(tǒng),可應用于多種硬件平臺,可根據(jù)需要定制核,有良好的網絡支持,Linux 系統(tǒng)核精簡、高效并且穩(wěn)定,能夠充分發(fā)揮硬件的功能,它非常適合在嵌入式領域中應用。嵌入式 Linux 操作系統(tǒng)搭建
33、的步驟為:在宿主機上建立交叉編譯的環(huán)境;編譯生成 Linux 的核,用的核是 Linux-2.6.29;編譯生成根文件系統(tǒng),用的根文件系統(tǒng)為 YAFFS;向目標機下載 Bootloader 的映像,用的 Bootloader 為 Super VIVI;燒寫 Linux 核和文件系統(tǒng)的映像;復位啟動。為了使終端可以使用觸摸屏,液晶屏和 SPI 總線,將編寫的對應的驅動編譯、添加到 Linux 核中。系統(tǒng)使用的宿主機系統(tǒng)為在虛擬機下運行的 RedHat9.0 終端應用程序用 Qt 來編寫,Qt 是一個跨平臺的 C+圖形用戶界面應用程序框架。它具有優(yōu)良的跨平臺特性、面向對象、豐富的 API 支持等優(yōu)
34、點。Qt-Embedded 是 Qt 的嵌入式版本,因此終端應用程序的開發(fā)使用 Qt/E 作為開發(fā)工具。Qt 運行環(huán)境的搭建步驟為:首先在宿主機上分別建立 Ot-x86 編譯環(huán)境和 Qt-ARM 編譯調試環(huán)境,采用 Qt4.5.0 版本;其次,將宿主機生成的 Lib 下的庫文件下載到目標板的某個目錄下,并在目標板上設置好環(huán)境變量,這樣在目標機上的 Qt 程序運行環(huán)境就建好了。在宿主機上交叉編譯好的 Ot/E 程序就可以下載到目標機上運行了。2.終端應用程序設計監(jiān)測終端需要采集監(jiān)測儀表的現(xiàn)場測量數(shù)據(jù),終端設計的數(shù)據(jù)采集模塊分別對不同的現(xiàn)場數(shù)據(jù)進行采集并做相應的處理,數(shù)據(jù)采集模塊與 CPU 之間通
35、過 SPI總線進行數(shù)據(jù)傳輸,對與采集數(shù)據(jù)需按上端通信協(xié)議、PPP、TCP/IP 協(xié)議進行二次成幀;利用 GPRS 網絡接入 Internet 網絡,將處理后的數(shù)據(jù)信息通過 GPRS 無線網絡上傳至監(jiān)控中心。GPRS 模塊附著 GPRS 網絡并與上位機建立 TCP 數(shù)傳鏈路 . . . 10 / 28是通過向模塊發(fā)送一串 AT 指令實現(xiàn)。撥號動作完成,并成功建立數(shù)傳鏈路以后,GPRS 模塊在終端串行口和上位機之間變得透明。另外,終端的重要狀態(tài)要能即時顯示在 LCD 上。綜上分析,監(jiān)控終端應用程序要完成的任務有:串口參數(shù)設置,GPRS 網絡連接,讀取串口返回信息,SPI 數(shù)據(jù)傳輸,GPRS 數(shù)據(jù)傳
36、輸,界面顯示。由于任務不止一個,而且有的任務需要同時運行,所以采用多線程編程。在 Qt 編程中主界面 UI 一般為主線程,子線程通過繼承 Qt 中的 QThread 線程類來完成。這些任務和功能可以通過 3 個線程來實現(xiàn)。3 個線程的作用分別為:1)主線程:負責界面顯示,串口參數(shù)設置,GPRS 網絡連接,GPRS 數(shù)據(jù)傳輸;2)SPI 數(shù)據(jù)傳輸子線程:負責與數(shù)據(jù)采集模塊通信,將采集數(shù)據(jù)存入緩沖區(qū);3)串口數(shù)據(jù)讀取子線程:CPU 通過串口操作 GPRS 模塊,GPRS 模塊的返回信息可以通過串口數(shù)據(jù)讀取子線程隨時讀取。程序模塊圖如圖 5 所示。圖 5 終端應用程序結構圖3.顯示界面模塊界面顯示模
37、塊:界面顯示由兩部分組成。一是實時顯示各模塊的采集數(shù)據(jù)與一定時間以的歷史數(shù)據(jù);二是顯示 GPRS 模塊設置界面,通過這個界面設置串口參數(shù)、設置數(shù)據(jù)采集時間間隔、設置主機 IP 地址與端口號、發(fā)送 AT 指令、回顯模塊返回信息等。編寫界面設計文件 mainwindow.h 和 mainwindow c pp 其中串 . . . 11 / 28口參數(shù)設置、網絡連接和 GPRS 數(shù)據(jù)傳輸封裝成相應的子函數(shù),利用 Qt 的信號槽機制,當捕捉到相應的信號便執(zhí)行對應的函數(shù)。通過繼承 Qt 中的 QThread 線程類來完成 GPRS 數(shù)據(jù)讀取模塊和 SPI 模塊的功能。SPI 模塊接收底層數(shù)據(jù)采集模塊的各
38、種數(shù)據(jù),顯示到界面并編碼通過 GPRS 通道傳輸?shù)缴衔粰C,GPRS 返回的一些重要信息業(yè)需顯示到 LCD 界面上。4.GPRS 網絡連接任務GPRS 網絡連接任務主要完成通過 GPRS 網絡建立與上位機的數(shù)據(jù)傳輸鏈路的過程。啟動 GTM900C 后,首先,需對 PPP 連接所使用的物理串口進行初始化,包括確定用于 PPP 連接的串行端口號以與通信波特率。然后,直接使用 AT 指令,撥號到中國移動的 GPRS 節(jié)點服務器(GGSN)。使用以下幾條燈指令使 GTM900C進入數(shù)據(jù)通訊狀態(tài):AT+CGATY?用于查詢 GTM900C 是否已附著在中國移動的GPRS 網絡,GTM900C 將返回當前狀
39、態(tài);AT+CGATT=1用于設置 GTM900C 附著于中國移動的 GPRS 網絡,操作成功 GTM900C 將返回OK;A1,+CGDCONT=1,IPCMNET用于設置中國移動的 GPRS 節(jié)點服務器的名稱和屬性,操作成功則返回 OK;AT%ETCPIP用于實現(xiàn) PDP 激活和 TCP/IP 的初始化,使模塊進入 TCP/IP 功能,操作成功返回 OK;AT%IOMODE=0.2,0設置數(shù)據(jù)傳輸模式,操作成功返回 OK;AT%IPOPEN=1,TCP,115.24.116.19,50001026打開一條 TCP/IP,選擇 TCP 傳輸,115.24.116.19 為上位機 IP 地址,5
40、000 為上位機接受程序端口號,成功與上位機連接返回 CONNECT.另外模塊還具有數(shù)據(jù)透傳功能,數(shù)據(jù)透明傳輸功能將實現(xiàn) TCP/IP 上直接數(shù)據(jù)傳輸,進入透傳模式的 AT 指令是:AT%TPS=1,1,3000,1024,進入透傳模式后模塊將不會相應其它 AT 指令,直接通過串口寫入數(shù)據(jù)便可實現(xiàn)與上位機之間的數(shù)據(jù)傳輸。以上使模塊附著在 GPRS 網絡的過程封裝在 GPRS Connect()函數(shù)中。PPP 配置、認證通過以后,即應用程序就已經通過 GTM900C 成功進入了 Internet 網絡。最后,通過變量 GPRSOK=1 指示 GPRS 撥號成功并建立數(shù)傳狀態(tài)。在 run()程序中
41、隔一段時間判斷當前網絡連接狀態(tài),若網絡斷開則變量 GPRSOK=0,并調用 GPRS Connect()函數(shù)開始撥號任務重新建立數(shù)傳鏈路。5.SPI 數(shù)據(jù)通信模塊SPI 通信程序包括兩部分,一是用于數(shù)據(jù)采集的單片機這邊需要通過 SPI 發(fā)送現(xiàn)場數(shù)據(jù),接收控制指令,二是 ARM 主控制器需要讀取數(shù)據(jù),發(fā)送控制指令。數(shù)據(jù)采集模塊使用是帶有 SPI 接口的 C8051f020 單片機,SPI 的數(shù)據(jù)寄存器是SHODAT.單片機和主控制器的 SPI 通信參數(shù)設置要一致。 . . . 12 / 28在主設備 ARM 這邊,SPI 驅動已經配置好,直接使用 read(),write()等函數(shù)便可進行數(shù)據(jù)的
42、讀取與接收。在單片機這邊采用中斷的方式進行 SPI 數(shù)據(jù)的發(fā)送與接收。對于從設備 C8051f021 單片機來說,只有將片選線線接低電平才會啟動數(shù)據(jù)傳輸,可利用這一點進行多字節(jié)數(shù)據(jù)傳輸,拉低一次便傳輸一個字節(jié),這可用作與主設備之間的同步信號。主設備選一根 I/O 口線作為片選線,將其拉低,執(zhí)行一次 SPI 讀操作,再拉高,延時一定時間,這時從設備退出從模式,重新往 SPIODAT 里寫新數(shù)據(jù)與其他一些處理,主設備再將片選線拉低,執(zhí)行一次SPI 讀操作。這樣便可進行多字節(jié)傳輸了。SPI 主從設備通信流程圖如圖 6 所示。圖 6 SPI 主從設備通信流程圖6.終端性能測試將編譯好的界面應用程序下載
43、到終端處理器中并運行,主線程為顯示界面,隨時可與用戶進行信息,兩個子線程為讀 SPI 總線線程和串口讀寫線程,這 3 個線程同時并行運行。其中 GPRS 傳輸部分的界面如圖 7 所示,通過這個顯示界面設置串口、上位機 IP 地址、TCP 端口和數(shù)據(jù)定時發(fā)送的時間間隔,發(fā)送文本框會顯示 SPI 總線讀取的數(shù)據(jù)值,接收文本框回顯 GPRS 模塊返回的信息。上位機用自己的 PC 機,通過軟件 socket tool 監(jiān)聽終端發(fā)送給上位機數(shù)據(jù),實驗證明終端界面應用程序工作良好,數(shù)據(jù)傳輸也很準確。 . . . 13 / 28圖 7 GPRS 傳輸部分的界面 . . . 14 / 283 3 基于基于 A
44、RMARM 的的 GPRSGPRS 的無線數(shù)據(jù)傳輸系統(tǒng)的研究的無線數(shù)據(jù)傳輸系統(tǒng)的研究隨著無線通訊技術的發(fā)展 ,依托移動運營商提供的 無線網絡實現(xiàn)遠程監(jiān)控和數(shù)據(jù)傳輸已被廣泛應用于各個領域 .通用分組無線業(yè)務 ( General Packet RadioService , GPRS) 是在現(xiàn)有 GSM 系統(tǒng)上發(fā)展出來的一種分組數(shù)據(jù)承載業(yè)務 .因此 , GPS 車載終端 , 自動抄表系 統(tǒng)等遠程遙測遙控系統(tǒng)利用 GPRS 實現(xiàn)數(shù)據(jù)傳輸將成 為今后發(fā)展的趨勢 .本章以 A RM7 L PC2138 與 WAVECOM Q2406B 無線通信模塊為例具體介紹,實現(xiàn) GPRS 數(shù)據(jù)傳輸?shù)姆椒ㄒ耘c關鍵技術
45、.3.13.1 GPRSGPRS 數(shù)據(jù)傳輸?shù)膮f(xié)議分析和實現(xiàn)數(shù)據(jù)傳輸?shù)膮f(xié)議分析和實現(xiàn)上位機的全雙工數(shù)據(jù)通信.終端需附著 GPRS 網絡 ,登陸 Internet 與連接其上的任意一臺普通 PC 機建立 數(shù)據(jù)鏈路并隨時進行數(shù)據(jù)傳輸.完成這一過程必須實現(xiàn) GPRS 的附著和 PDP ( Packet Data Protocol ,分組數(shù)據(jù)協(xié)議)上下文的激活 .通過 GPRS 的附著登記用戶信息 ,對用戶進行移動性管理;激活過程用于激活IP 協(xié)議 ,保證數(shù)據(jù)能以 IP 報的形式進行傳送,使移動臺與 GGSN( Gateway GPRS Support Node,網關 GPRS 節(jié)點)建立一條邏輯通路,
46、進行數(shù)據(jù)傳輸.可見,激活過程是系統(tǒng)實現(xiàn)的關鍵 , 它由中央控制 器軟件來實現(xiàn) .分組數(shù)據(jù)協(xié)議的激活涉與到網絡的多個協(xié)議,如 PPP 協(xié)議,CP ( Link Control Protocol,鏈 L 路控制協(xié)議) , NCP( Net work Control Protocol,網絡控 制協(xié)議 ),P( Password Authentication Protocol,密 PA 碼認證協(xié)議)和 IPCP( Internet Protocol Control Protocol ,Internet 協(xié)議控制協(xié)議)等.協(xié)議實現(xiàn)過程如下:系統(tǒng)設計的主要思路是微處理器通過發(fā)送 AT 指令控制 GPRS
47、模塊建立無線信道,完成數(shù)據(jù)傳輸.用 AT 指令實現(xiàn)以上協(xié)議并完成數(shù)據(jù)傳輸?shù)牟襟E如下: ( 1)設置接入網關 : A T # CGDCONT = 1 IP , , CMN ET ; ( 2) GPRS 網絡附著 : AT + CGATT = 1 ;( 3) 激活 GPRS 模式 :AT + GPRSMODE = 1 ; ( 4 ) 設 置 網 絡 接 入 點 名 稱 : A T # A PN SERV =CMN ET ; ( 5 ) 請 求 網 絡 連 接 : A T # CONN EC TION2 S TA R T ; ( 6) 設置上位機的 IP 地址 :AT # TCPSERV = 3 ;
48、 ( 7) 設置上位機偵聽的端口準備與客戶端通信 : A T # TCPPORT =6800 ; ( 8) 打開與上位機的連接 :A T # OTCP ; ( 9) 斷開 GPRS 網絡連接 : AT # CONNECTION2STOP ; ( 10 ) 取消 GPRS 附著 :AT + CGATT = 0 .在完成 GPRS 數(shù)據(jù)傳輸過程中 ,以上 A T 命令均必 須設置 ,但相鄰 A T 命令間要有一定延時,經驗證 ,約 3 s 即可 . . . . 15 / 283.23.2 數(shù)據(jù)傳輸終端的硬件研究數(shù)據(jù)傳輸終端的硬件研究1.系統(tǒng)硬件框圖圖8 系統(tǒng)硬件框圖2.系統(tǒng)硬件組成微控制器:系統(tǒng)中
49、,微控制器選用PHILIPS公司的LPC2138 。LPC2138的典型特性如下( 僅列舉與本終端設計密切相關的部分,如圖2所示) :多個串行接口,包括2個16C550工業(yè)標準UART、2個高速IC 接口 (400 kb/ s) 、SPI 和 SSP (具有緩沖功能,數(shù)據(jù)長度可變)。支持ISP (通過UART0實現(xiàn))和IAP ,扇區(qū)擦除或整片擦除的時間為400 ms ,1 ms可編程256 B。2 個 32 位定時器/ 計數(shù)器 ,置看門狗。CPU 操作電壓圍:3 . 03 . 6 V (3.3 V 10 %) ,I/ O 口可承受 5 V 的最大電壓。 . . . 16 / 28圖 9 L P
50、C2138的管腳分布與連接與電平轉換電路3.串口電平轉換LPC2138串口通過SP3232E完成TTL/CMOS電平轉換后與 GPRS 模塊相連接,實現(xiàn)模塊初始化和數(shù)據(jù)收發(fā).同時可擴展串口與其他嵌入式系統(tǒng)或PC機進行數(shù)據(jù)交換 , . . . 17 / 28如圖2所示 .GPRS 模塊選用法國WAVECOM 的Q2406B ,該模塊置TCP/ IP協(xié)議并提供了9針的標準RS 232接口。模塊大致原理圖與其與SIM卡的連接如圖3所示。圖10 WAVECOMQ2406B原理圖與其與SIM卡的連接示意圖3.33.3 數(shù)據(jù)傳輸終端的軟件研究數(shù)據(jù)傳輸終端的軟件研究系統(tǒng)軟件設計的核心部分是微控制器LPC21
51、38與GPRS模塊的通信,兩者間需定義通信協(xié)議,規(guī)定幀格式,通過A T指令實現(xiàn)GPRS網絡的附著、PDP激活、Internet的接入與數(shù)據(jù)的傳輸。AT指令調試與波特率的設置微控制器以一定的協(xié)議向模塊發(fā)送AT指令,接收模塊執(zhí)行指令后的返回值,并進行相應校驗。在Windows自帶的超級終端中利用 AT+IPR =“波特率”指令設置無線通信模塊的波特率,并通過命令后加“; &W”將所設值存儲在模塊E2PROM中,掉電后不會丟失(如:AT + IPR =“115200”; &W)。系統(tǒng)設計過程信的不暢通常是由于波特率不匹配造成。1.建立連接 . . . 18 / 28為了方便程序設計 , 增強程序可讀
52、性 , 將建立連接 所需的 A T 命令以字符串形式存放于 A T 命令緩存區(qū) , 所需多條 A T 指令長度不一且發(fā)送順序不可改變 ,為了 有效控制每條 A T 指令 , 提高 CPU 利用率需將 A T 指 令緩存區(qū)設置為指針數(shù)組形式 ,在建立連接時通過循環(huán) 調用字符串發(fā)送函數(shù)將這些 A T 命令發(fā)送 ,相鄰 A T 命 令間要有 23 s 的延時 , 所以每發(fā)送完一條 A T 命令 都要調用一個 3 s 的延時子程序 ,然后通過串口中斷接 收函數(shù)接收 A T 命令返回值來判斷連接是否成功 .需 要注意的是 A T 命令均以回車符作為結束標志 ,并以字 符串形式傳送 ,因此在定義 A T 命令緩存區(qū)時一定要注意轉義字符的使用 .2.數(shù)據(jù)傳輸在與上位機連接成功后 ,通過字符串發(fā)送函數(shù)發(fā)送 數(shù)據(jù)緩存區(qū)中的數(shù)據(jù) ,數(shù)據(jù)緩存區(qū)仍需設置為指針數(shù)組形式 ,發(fā)送數(shù)據(jù)的原理與建立連接時的基本一樣,圖4是系統(tǒng)程序流程圖.下面是用串口中斷發(fā)送字符串的函數(shù)舉例 . . . . 19 / 28圖11 系統(tǒng)程序流程圖下面是用串口中斷發(fā)送字符串的函數(shù)舉例:函數(shù)名稱 :UA R T0 Send STR () 函數(shù)功能 : 向串口發(fā)送字符串 入口
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 防火疏散的應急預案
- 二手房買賣合同終止協(xié)議模板
- 業(yè)務合同模板:勞動聘用關鍵條款
- 臨時借用合同范文
- 臨時工雇傭合同書
- 三方合作合同模板范本
- 云計算服務框架合同
- 事業(yè)單位合同到期人員何去何從
- 二手汽車轉讓合同協(xié)議
- 個人土地承包經營權轉讓合同范本
- 2025年市場營銷人員工作計劃
- 2025年枝江金潤源建設集團招聘筆試參考題庫含答案解析
- 中國減肥連鎖行業(yè)市場調查研究及投資戰(zhàn)略研究報告
- 危險化學品安全監(jiān)管培訓
- 2024-2030年中國醫(yī)療建筑工程行業(yè)發(fā)展?jié)摿巴顿Y戰(zhàn)略規(guī)劃分析報告
- 遼寧中考英語2022-2024真題匯編-教師版-專題06 語篇填空
- 教學的模樣讀書分享
- 老年髖部骨折患者圍術期下肢深靜脈血栓基礎預防專家共識(2024版)解讀 課件
- 江蘇省無錫市2024年中考語文試卷【附答案】
- 五年級上冊小數(shù)脫式計算200道及答案
- 2024年秋新滬科版物理八年級上冊 第二節(jié) 測量:物體的質量 教學課件
評論
0/150
提交評論