新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 使用單片機實現GPRS通信小系統的研究

        使用單片機實現GPRS通信小系統的研究

        作者: 時間:2007-12-28 來源:網絡 收藏
        0引 言

        (通用分組無線電業務)是利用包交換的概念發展的一套無線傳輸方式。網絡是基于現有的GSM(全球移動)網絡的。在現有的GSM網絡中需要增加一些節點,如GGSN(網關支持節點)和SGSN(GPRS服務支持節點)。SGSN的主要作用是記錄移動終端的當前位置信息,并且在移動終端與GGSN之間完成移動分組數據的發送和接收。GGSN主要起網關作用,可以與多種不同的數據網絡連接,如ISDN(綜合業務數字網)、PSPDN(包交換公用數據網)和LAN(局域網)等。GGSN可以把GSM網中的GPRS分組數據包進行協議轉換,從而把這些分組數據包傳送到遠端的TCP/IP或X.25網絡。

        GPRS網不但具有覆蓋范圍廣、數據傳輸速度快、質量高、永遠在線和按流量計費等優點,而且其本身就是一個分組型數據網,支持TCP/IP協議,可以直接與Internet互通。因此,CPRS在無線上網、環境監測便攜型、交通監控、移動辦公等行業中具有無可比擬的性價比優勢。

        1 GPRS硬件設計

        采用Sony Ericsson公司的內部嵌有TCP/IP協議棧的GPRS通信模塊GR47和PIC18f6720,二者的串口均支持RS-232通信標準。

        核心設計在于與GR47的連接和軟件的編寫。PIC18f6720具有兩個USART(通用異步串行接口),其中一個與GR47模塊相連,進行數據和AT命令的傳輸;另一個與終端芯片的串口相連,與終端進行通信。GR47模塊外部需要安裝天線。如圖1所示。

        PIC18F6720單片機控制GR47模塊發送和接收數據,在軟件中采用串行口的中斷來收發數據和轉發數據。

        1.1 PICl8F6720簡介

        PIC18F6720是Microchip公司生產的較為高檔的單片機。采用3.3 V供電,其大部分指令均為單周期指令,幾乎所有的相關硬件配置都映射成特殊寄存器,大大提高了運行速度;具有A,B,C,D,E,F,G這7個可編程的I/O口;內部除了3840B的RAM外,還有1024B的EEPROM和128 kB的Flash存儲器;擁有4個定時器和多個中斷源及2個中斷優先級,有2個USART,功能十分強大,是一款性價比很高的芯片。

        1.2 GR47簡介

        GR47是Sony Ericsson公司生產的一款雙頻段GSM900/GSM=1800的通信模塊。在此模塊基礎上,可進行GPRS數據傳輸,具有支持短消息服務等功能。采用3.6 V電壓供電;對外可提供多種接口,如天線接口、模擬音頻接口、異步串行接口、SIM卡接口等,也支持I2C通信;內部集成了TCP/IP協議棧,因此采用此芯片會大大降低微控制器編程工作的難度。

        本方案中用到的GR47的端口并不多,對幾個重點的連接點作如下說明:

        a)串行口TD:接單片機的RX2,RD接單片機的TX2。

        b)DSR引腳:即DataSetReady,說明模塊準備好接收數據,此引腳經過三極管開關電路與單片機的RB0相連。DSR為高表示處在數據模式,為低表示處在命令模式。

        c)DTR引腳:即Data Terminal Ready,說明終端設備準備好接收數據,可以通過控制此引腳電平的高低時間來進行GR47的數據態和命令態的切換。此引腳經過三極管開關電路與單片機的RF2相連。

        2 GPRS通信系統軟件設計

        系統軟件采用C語言編寫,在MPLAB環境下編譯。由于本系統是遠程管理終端的一個模塊,因此在程序的編寫中要遵守一定的協議,這樣才能保證正確通信。程序的主體是如何控制GR47的AT命令對GR47進行初始設置和對信息數據的處理。程序總體上可以分為以下幾個塊:CPRS連接的初始設置、短消息的判斷處理、無數據傳輸時的心跳處理、數據判斷轉發等。主程序是把這些程序塊有機結合到一起,相互控制,無限循環。 2.1 連接的建立

        GPRS模塊連接到Internet和GPRS網絡的過程如下:

        a)單片機軟件控制GR47模塊開機,等待此模塊正常啟動。

        b)通過單片機和GR47模塊連接的串口,向GR47模塊寫入相應的AT設置命令,進行初始化,使模塊成功粘附在GPRS網絡上,獲得網絡運行商分配的動態IP地址,與目的終端建立連接。

        2.2 數據的處理

        數據包在數據中心服務器和GPRS服務器中的傳輸是基于IP數據包的,但明文傳送IP包不可取,因此大多選用PPP(點對點協議)進行傳輸,實現通過GPRS模塊的數據和Internet網絡的透明傳輸。GR47內部集成了TCP/IP協議棧,所以用戶對IP協議相關的程序就不必編寫,可以直接通過GR47傳遞數據。

        a)模塊與Internet上PC機的數據傳輸:要求PC機具有公網的IP地址和開放的端口以及監視傳輸報文的運行軟件。這樣,模塊與Intemet傳輸數據時,報文就會顯示。在模塊成功聯入網絡后,單片機只要將要發送的數據通過串口發給GR47,GR47就會把數據轉發給相應的IP地址的PC機。

        b)短消息數據的處理:GR47具有GSM的功能,可以與手機發送和接收短消息。短消息采用PDU格式,在程序中需要判斷短消息的到來和讀取短信內容,并根據內容執行相應的功能,最后把結果構造成PDU格式返回給相應的發送者。

        c)GPRS通信心跳信息:網絡連接建立后,在設定周期內無數據通信時,GPRS模塊向數據服務中心發送心跳信息,數據服務中心收到心跳信息后,回應應答信號。

        d)重要數據的存儲:程序中把一些重要的常用和易變的數據如計算機服務器的IP地址、端口號、終端地址、SIM卡號等存入單片機的EEPROM中。需要時從EEPROM中讀出或向EEPROM重新寫入數據進行設置。

        2.3 主程序流程

        主程序由模塊函數組成,模塊函數由基本函數嵌套組成。主程序流程大致如下:首先進行單片機設置變量的初始化,一般均為0;進行單片機相應配置單元的初始化,比如設定端口方向、沒置中斷優先級、定時器初始化等;然后由單片機控制GR47的電源,以決定是否開機;待開機成功后,查詢網絡是否注冊成功;成功后即可建立模塊與PC機服務器的連接,并進行數據傳輸和短消息處理;根據需要發送一定格式的心跳信息。見圖2。

        3 結束語

        本文給出了一種基于單片機和GPRS模塊的嵌入式無線數據傳輸終端的實現方案。以單片機應用系統為中心的小型GPRS通信系統成本低、設計周期短、便攜性好,尤其適用于遠程控制和數據傳輸。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 上饶市| 桐庐县| 招远市| 白玉县| 上思县| 阳城县| 会宁县| 通河县| 略阳县| 安阳县| 中卫市| 玉环县| 神木县| 逊克县| 吴川市| 剑河县| 寻甸| 阿拉善盟| 东港市| 邯郸市| 关岭| 天气| 甘谷县| 新和县| 余姚市| 观塘区| 渝中区| 南木林县| 聂拉木县| 宝丰县| 陇西县| 栾川县| 志丹县| 如皋市| 米脂县| 乌兰浩特市| 定日县| 广河县| 新疆| 龙里县| 囊谦县|