當(dāng)前位置:首頁(yè) > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]0 引 言 目前,在由GPRS承載業(yè)務(wù)支持的標(biāo)準(zhǔn)化網(wǎng)絡(luò)協(xié)議的基礎(chǔ)上,可提供點(diǎn)對(duì)點(diǎn)無(wú)連接型網(wǎng)絡(luò)業(yè)務(wù)(PTP—CLNS)、點(diǎn)對(duì)點(diǎn)面向連接的數(shù)據(jù)業(yè)務(wù)(PTP-CONS)和點(diǎn)對(duì)多點(diǎn)業(yè)務(wù)(PTM),還能支持用戶(hù)終端業(yè)務(wù)、補(bǔ)充業(yè)務(wù)、GSM短


0 引 言
    目前,在由GPRS承載業(yè)務(wù)支持的標(biāo)準(zhǔn)化網(wǎng)絡(luò)協(xié)議的基礎(chǔ)上,可提供點(diǎn)對(duì)點(diǎn)無(wú)連接型網(wǎng)絡(luò)業(yè)務(wù)(PTP—CLNS)、點(diǎn)對(duì)點(diǎn)面向連接的數(shù)據(jù)業(yè)務(wù)(PTP-CONS)和點(diǎn)對(duì)多點(diǎn)業(yè)務(wù)(PTM),還能支持用戶(hù)終端業(yè)務(wù)、補(bǔ)充業(yè)務(wù)、GSM短消息業(yè)務(wù)和各種GPRS電信業(yè)務(wù)。GPRS可提供Internet、多媒體、電子商務(wù)等業(yè)務(wù),可應(yīng)用于運(yùn)輸業(yè)、金融、證券、商業(yè)和公共安全業(yè);PTM業(yè)務(wù)支持股市動(dòng)態(tài)、天氣預(yù)報(bào)、交通信息等實(shí)時(shí)發(fā)布;另外,還能提供種類(lèi)繁多、功能強(qiáng)大的以GPRS承載業(yè)務(wù)為基礎(chǔ)的網(wǎng)絡(luò)應(yīng)用業(yè)務(wù)和基于WAP的各種應(yīng)用。其中,GPRS的數(shù)據(jù)業(yè)務(wù)在行業(yè)應(yīng)用中越來(lái)越廣泛。該業(yè)務(wù)已被應(yīng)用于遠(yuǎn)程抄表、電力系統(tǒng)遠(yuǎn)程監(jiān)控、交通遠(yuǎn)程監(jiān)控、車(chē)輛監(jiān)控和GPS導(dǎo)航等諸多方面。
    在GPRS數(shù)據(jù)業(yè)務(wù)的行業(yè)應(yīng)用中,數(shù)據(jù)終端是最基本的設(shè)備。目前的數(shù)據(jù)終端具有智能化和可擴(kuò)展性不斷增強(qiáng)的發(fā)展趨勢(shì),性能越來(lái)越強(qiáng)大,接口越來(lái)越豐富,但成本一直居高不下。本文介紹一種以基于A(yíng)VR單片機(jī)ATmegal6和Motorola G20模塊的低成本GPRS數(shù)據(jù)終端的設(shè)計(jì)。


l 終端的硬件設(shè)計(jì)
    終端由ATmegal6和G20模塊及一些外圍器件組成,系統(tǒng)的硬件結(jié)構(gòu)如圖1所示。ATmega16具有1個(gè)功能完整的異步串行通信接口(UART),在直流5V供電時(shí),其I/O操作電壓范圍約為O~5V;G20模塊提供一個(gè)用于接收控制命令和傳輸數(shù)據(jù)的異步串行通信接口,在直流3.3V供電時(shí),其I/O操作電壓范圍為0~3.3 V,因此,可以將ATmegal6串行接口經(jīng)電平轉(zhuǎn)換電路轉(zhuǎn)接后與G20模塊的串行口相連,進(jìn)行異步串行數(shù)據(jù)交換。終端采用一塊16×2字符型LCD顯示GPRS網(wǎng)絡(luò)連接及數(shù)據(jù)傳輸狀況信息。ATmegal6和LCD采用直流5 V供電,5 V電源經(jīng)過(guò)由低壓差線(xiàn)性穩(wěn)壓集成電路LM1117—3.3組成的穩(wěn)壓電路將電壓轉(zhuǎn)換成3.3 V后給G20模塊供電。

1.1 ATmegal6與G20模塊的硬件接口
    由于A(yíng)Tmegal6和G20模塊的I/O操作電壓范圍不相同,所以?xún)烧叩拇锌谥g需經(jīng)過(guò)電平轉(zhuǎn)換才能確保穩(wěn)定通信,其電平轉(zhuǎn)換電路如圖2所示。

    這里采用光電耦合器件TLP521進(jìn)行5 V和3.3 V之間的電平轉(zhuǎn)換。ATmegal6的I/O驅(qū)動(dòng)能力較強(qiáng)(最大輸出40 mA電流),可以直接驅(qū)動(dòng)TLP521。G20模塊的I/O驅(qū)動(dòng)能力較弱,需加一級(jí)驅(qū)動(dòng)緩沖器才能驅(qū)動(dòng)TLP521,這里使用7406反相驅(qū)動(dòng)緩沖器。
1.2 ATmegal6與LCD的硬件接口
    系統(tǒng)中采用基于HD44780液晶控制芯片的16×2字符型LCD,該器件內(nèi)置了字符產(chǎn)生器,能顯示192個(gè)常用字符(包括阿拉伯?dāng)?shù)字和大小寫(xiě)英文字母)和16個(gè)用戶(hù)自定義字符,它與ATmegal6的接口如圖3所示。HD44780的數(shù)據(jù)總線(xiàn)DB7~DB0與ATmegal6的PA7~PA0相接,RS、R/W和EN分別與單片機(jī)的PD3、PD4和PD5相連。利用ATmega16的I/O口控制LCD進(jìn)行指令和數(shù)據(jù)輸入,正確地顯示出經(jīng)緯度數(shù)據(jù)。

2 ATmega16與G20模塊的接口程序設(shè)計(jì)
    利用GPRS網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳輸一般有多種組網(wǎng)方案,這里以其中一種方案進(jìn)行說(shuō)明,其他方案的數(shù)據(jù)終端實(shí)現(xiàn)方式類(lèi)似。該方案采用數(shù)據(jù)中心公網(wǎng)固定IP,由監(jiān)測(cè)點(diǎn)直接向中心發(fā)起連接。
    G20模塊自身內(nèi)嵌了TCP/IP和UDP/IP協(xié)議棧,大大簡(jiǎn)化了接口程序的編寫(xiě)。G20模塊串口通信默認(rèn)在57 600 b/s的速率下進(jìn)行,數(shù)據(jù)格式為:8位數(shù)據(jù)位、1位停止位、無(wú)奇偶校驗(yàn)和硬件流控制。
    G20模塊只能接受由ASCII字符代碼組成的標(biāo)準(zhǔn)格式的AT指令。根據(jù)Developer′S Guide-Motorola G20 AT Commands所講述的內(nèi)容,一行G20模塊的AT指令可以包含一條或者多條命令,這些命令必須由分隔符相隔,每個(gè)AT指令行不得超過(guò)140個(gè)字符。G20模塊具體的AT命令行結(jié)構(gòu)如圖4所示。

    每個(gè)AT命令行均以字符串“AT”為前綴,以回車(chē)符“<CR>”為后綴。命令行中各指令之間的分隔符可以為分號(hào)“;”或者空格。命令行中的英文字母可以是大寫(xiě)格式,也可以是小寫(xiě)格式。
    每當(dāng)G20模塊接收到指令時(shí)都會(huì)輸出相關(guān)的響應(yīng)信息,以顯示指令的執(zhí)行結(jié)果。響應(yīng)信息的數(shù)據(jù)格式如圖5所示。響應(yīng)信息由3部分組成:前綴、響應(yīng)代碼和后綴。其中,前綴和后綴一樣,均為回車(chē)和換行符,即“<CR><LF>”;不同指令在不同情況下的響應(yīng)代碼也不一樣。

    在實(shí)際應(yīng)用中,可以通過(guò)程序控制ATmegal6由其異步串行口按照既定的通信速率、數(shù)據(jù)格式和指令形式向G20模塊發(fā)出控制指令,然后監(jiān)視G20模塊的響應(yīng)信息,根據(jù)響應(yīng)信息判斷命令的執(zhí)行結(jié)果,進(jìn)而控制G20模塊進(jìn)行遠(yuǎn)程無(wú)線(xiàn)數(shù)據(jù)發(fā)送。利用G20模塊實(shí)現(xiàn)GPRS數(shù)據(jù)發(fā)送一般要按照以下控制步驟進(jìn)行(這里使用的是UDP協(xié)議):
    (1)通過(guò)指令“at+mipcall=<Operation>[<APN>,[<User name>,<Password>-]]”建立一個(gè)GPRS無(wú)線(xiàn)鏈接,如“at+mipcall=1,cmnet”。在這里,“cmnet”是中國(guó)移動(dòng)的APN名稱(chēng)。其中<Operation>可為0或1,0代表斷開(kāi)連接,1代表連接。[<APN>,[<User—name>,<Password>]]是可選項(xiàng),無(wú)需時(shí)省去。如果鏈接建立成功,G20模塊將會(huì)返回本機(jī)的IP地址,如“<CR><LF>0K<CR><LF><CR><LF>+mipcall:10.103.201.135<CR><LF>”,此時(shí)本機(jī)在移動(dòng)內(nèi)網(wǎng)的IP地址為:10.103.201.135。如果鏈接不成功,G20模塊將會(huì)返回錯(cuò)誤信息“<CR><LF>ERROR<CR><LF>”。
    (2)通過(guò)指令“at+mipopen=<Socket ID>,<Source Port>,<"Destination IP">,<DestinationPort2>,<Protocol2>”打開(kāi)一個(gè)端口(Socket),如“at+mipopen=l,2000,“219.222.73.240”,6800,1”。其中,<Socket ID2>是本地端口號(hào),G20模塊一共可以打開(kāi)4個(gè)端口,端口序號(hào)分別是1~4;<Source Port>是G20模塊本機(jī)的端口號(hào),其數(shù)值可以是0~65 535;<“Destination IP”>是目標(biāo)IP地址,可以是直接連接到Internet公網(wǎng)的某臺(tái)PC的IP地址。<DestinationPort>是目標(biāo)的端口號(hào),其數(shù)值可以是0~65535。<Protocol>是協(xié)議棧類(lèi)型,其數(shù)值可以為0或1,0代表是TCP協(xié)議棧,1代表UDP協(xié)議棧;如果端口打開(kāi)成功將返回“<CR><LF>OK<CR><LF><CR><LF>+MIPOPEN:<Socket ID>,<State><CR><LF>”,如“<CR><LF>OK<CR><LF><CR><LF>+MIPOPEN:1,1<CR><LF>”。如果端口打開(kāi)不成功,將會(huì)返回錯(cuò)誤信息“<CR><LF>ERROR<CR><LF>”。
    (3)通過(guò)指令“at+mipsend=<Socket ID>,<Data>”將需要發(fā)送的數(shù)據(jù)壓入G20模塊的發(fā)送堆棧。如“at+mipsend=1,4142434445”。這里的<Socket ID>是前面已經(jīng)打開(kāi)的端口序號(hào),<Data>是所要發(fā)送的數(shù)據(jù),數(shù)據(jù)格式必須是用十六進(jìn)制表示的數(shù)據(jù)(數(shù)值或者字符)的雙字節(jié)ASCII值。如要發(fā)送的數(shù)據(jù)為“ABCDE”(A、B、C、D和E的ASCII數(shù)值分別為0x41,0x42,0x43,0x44和0x45),則要將“4142434445”作為<Data>壓入發(fā)送堆棧。指令操作成功時(shí),G20模塊返回信息“<CR><LF>+MIPSEND:<Socket ID>,<Free Size><CR><LF><CR><LF>OK<CR><LF>”,如“<CR><LF>+MIPSEND:1,1367<CR><LF><CR><LF>OK<CR><LF>”,其中<Socket ID>是端口序號(hào),<Free Size>是指堆棧中的剩余空間,其數(shù)值可為O~1372。如操作不成功,G20模塊將會(huì)返回錯(cuò)誤信息“<CR><LF>ERROR<CR><LF>”。
    (4)通過(guò)指令“at+mippush=<Socket ID>[,<“Destination IP”>,<Destination Port>]”將特定序號(hào)發(fā)送堆棧中的數(shù)據(jù)出棧,如“at+mippush=1”執(zhí)行這條指令之后,堆棧中的數(shù)據(jù)就被發(fā)送出去了。這里所說(shuō)的堆棧序號(hào)是和前面所述的端口序號(hào)一一對(duì)應(yīng)的。方括號(hào)中的內(nèi)容是可選項(xiàng),不需要時(shí)可以省去。數(shù)據(jù)發(fā)送成功時(shí),G20模塊返回信息“<CR><LF>+MIPPUSH:<Socket ID><CR><LF><CR><LF>OK<CR><LF>”,如“<CR><LF>+MIPPUSH:1<CR><LF><CR><LF>OK<CR><LF>”。如數(shù)據(jù)發(fā)送失敗,G20模塊將會(huì)返回錯(cuò)誤信息“<CR><LF>ERROR<CR><LF>”。
    (5)反復(fù)進(jìn)行上述步驟(3)和(4),直至所有數(shù)據(jù)發(fā)送完畢為止。
    (6)通過(guò)指令“at+mipclose=<Socket ID>”關(guān)閉已打開(kāi)的端口,如“at+mipclose=1”。端口關(guān)閉成功時(shí),G20模塊會(huì)返回信息“<CR><LF>OK<CR><LF><CR><LF>+MIPCLOSE:<Socket ID><CR><LF>”,如“<CR><LF>OK<CR><LF><CR><LF>+MIPCLOSE:1 ID><CR><LF>”。如果端口關(guān)閉不成功,G20模塊將會(huì)返回錯(cuò)誤信息“<CR><LF>ERROR<CR><LF>”。
    (7)通過(guò)指令“at+mipcall=0”關(guān)閉GPRS網(wǎng)絡(luò)連接。如果網(wǎng)絡(luò)連接關(guān)閉成功,G20模塊將會(huì)返回信息“<CR><LF>OK<CR><LF><CR><LF>NOCARRIER<CR><LF><CR><LF>+MIPCALL:0<CR><LF>”。如果網(wǎng)絡(luò)連接關(guān)閉不成功,G20模塊將會(huì)返回錯(cuò)誤信息“<CR><LF>ERROR<CR><LF>”。
    另外,G20模塊接收到遠(yuǎn)程終端通過(guò)GPRS網(wǎng)絡(luò)發(fā)送過(guò)來(lái)的數(shù)據(jù)時(shí)會(huì)自動(dòng)從其串口輸出該數(shù)據(jù)。如果接收到的是UDP協(xié)議的數(shù)據(jù),G20模塊會(huì)以以下數(shù)據(jù)格式輸出:
    <CR><LF>+M1PRUDP:<Source IP>,<Source Port>,<Socket ID>,<Left>,<Data>
    其中,<Source IP>是發(fā)送方的IP地址,<Source Port>是發(fā)送方的端口號(hào),<Socket ID>是本機(jī)端口序號(hào),<Left>留在堆棧中的接收數(shù)據(jù)字節(jié)數(shù),<Data>是所接收到的數(shù)據(jù)。如果接收到的是TCP協(xié)議的數(shù)據(jù),G20模塊會(huì)以以下數(shù)據(jù)格式輸出:
    <CR><LF>+MIPRTCP:<Socket ID>,<Left>,<Data>
    各部分含義如前述。編程使ATmegal6不斷查詢(xún)串口接收緩沖區(qū)即可實(shí)現(xiàn)數(shù)據(jù)接收,也可以采用接收中斷的方式提高運(yùn)行效率。


3 結(jié) 語(yǔ)
    GPRS數(shù)據(jù)傳輸鏈路中GGSN(網(wǎng)關(guān)GPRS支持節(jié)點(diǎn))占用的端El的存活時(shí)間是有限的,如果鏈路空閑超時(shí),連接就會(huì)斷開(kāi),可通過(guò)定時(shí)發(fā)送數(shù)據(jù)短幀的方式來(lái)維持鏈路。經(jīng)測(cè)定,本地(廣州)的GPRS數(shù)傳鏈路維持時(shí)間為60 s?;贏(yíng)Tmegal6的GPRS數(shù)據(jù)終端成本低,易于推廣普及,可用于遠(yuǎn)程數(shù)據(jù)采集、系統(tǒng)監(jiān)測(cè)和Internet遠(yuǎn)程接入等領(lǐng)域。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀(guān)點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話(huà)語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉