劉曉菲
(齊魯醫(yī)藥學(xué)院,淄博,255213)
一種單片機(jī)應(yīng)用系統(tǒng)的GPRS上網(wǎng)方案應(yīng)用
劉曉菲
(齊魯醫(yī)藥學(xué)院,淄博,255213)
隨著無線技術(shù)的快速發(fā)展,GPRS這一無線傳輸方式極大的改變和影響了人們的生產(chǎn)生活方式,以Internet為代表的網(wǎng)絡(luò)技術(shù)的出現(xiàn)和普及對(duì)于單片機(jī)應(yīng)用系統(tǒng)提出了更高的要求,本文針對(duì)8位機(jī)系統(tǒng)聯(lián)網(wǎng)的需要,介紹一種基于MC35模塊的單片機(jī)系統(tǒng)上網(wǎng)方案。
AT89C51單片機(jī);GPRS;控制流程
單片機(jī)自1976年問世以來,以內(nèi)部構(gòu)造簡(jiǎn)單、體積小、成本低廉的優(yōu)點(diǎn)廣泛應(yīng)用于簡(jiǎn)單的控制器中,隨著科學(xué)技術(shù)的發(fā)展,單片機(jī)的性能日益完善,應(yīng)用范圍也由傳統(tǒng)的工業(yè)控制領(lǐng)域擴(kuò)展到通信系統(tǒng)、高級(jí)計(jì)算機(jī)等高新技術(shù)產(chǎn)業(yè)。以Internet為代表的網(wǎng)絡(luò)技術(shù)的出現(xiàn)和普及對(duì)于單片機(jī)應(yīng)用系統(tǒng)提出了更高的要求,那就是將單片機(jī)系統(tǒng)和網(wǎng)絡(luò)技術(shù)相結(jié)合,對(duì)單片機(jī)系統(tǒng)進(jìn)行遠(yuǎn)程監(jiān)控,實(shí)現(xiàn)數(shù)據(jù)高效、快捷的傳輸。
傳統(tǒng)的單片機(jī)數(shù)據(jù)傳輸采用串行傳輸,傳輸距離受到限制,而且在傳輸過程中數(shù)據(jù)容易受到干擾,使誤碼率大幅度增加,不利于遠(yuǎn)程信息的傳輸。目前微控制器上網(wǎng)解決方案一般有兩種:一種是采用微控制器驅(qū)動(dòng)網(wǎng)卡,通過以太網(wǎng)連接Internet;另一種是使微控制器直接驅(qū)動(dòng)調(diào)制解調(diào)器(MODEM)通過電話線向ISP撥號(hào)上網(wǎng)。這兩種方案都需要使用有線網(wǎng)絡(luò),在邊遠(yuǎn)地區(qū)有線網(wǎng)絡(luò)信號(hào)不太好的地方,無法很好的發(fā)揮效用。為了更好的解決遠(yuǎn)程通信問題,本文介紹一種基于MC35 模塊實(shí)現(xiàn)的AT89C51單片機(jī)應(yīng)用GPRS聯(lián)網(wǎng)設(shè)計(jì)方案。
單片機(jī),又稱微控制器,是將中央處理器(CPU)、隨機(jī)存儲(chǔ)器(RAM)、只讀存儲(chǔ)器定時(shí)器芯片和一些輸入、輸出接口電路集成在一個(gè)芯片上的微控制器,主要由由單片機(jī)(CPU)、晶振和復(fù)位電路、輸入控制、輸出顯示、外圍功能器件及通訊接口等6個(gè)部分組成,其中CPU是單片機(jī)的核心,負(fù)責(zé)系統(tǒng)的控制和運(yùn)算;內(nèi)部數(shù)據(jù)存儲(chǔ)器承擔(dān)著對(duì)片內(nèi)零件管理、監(jiān)視的功能。單片機(jī)由于數(shù)據(jù)總線寬度不同分為8位單片機(jī)、16位單片機(jī)和32位單片機(jī),其中8位單片機(jī)是應(yīng)用最為廣泛的。目前市場(chǎng)上最常見三種單片機(jī)分別是51系列、PIC系列及AVR系列,這三種單片機(jī)各有特色。51系列的單片機(jī)歷史最為悠久,硬件結(jié)構(gòu)合理,指令系統(tǒng)規(guī)范,不僅能對(duì)片內(nèi)某些特殊功能寄存器的某位進(jìn)行處理,還能夠進(jìn)行位的邏輯運(yùn)算,功能相對(duì)完備,其缺點(diǎn)是運(yùn)行速度過慢。PIC系列的單片機(jī)是由美國(guó)微芯公司研發(fā)生產(chǎn)的,相比51系列的111條指令,AVR系列的118條指令,PIC系列采用RISC結(jié)構(gòu),僅有33、35、58條指令,操作更為簡(jiǎn)單,運(yùn)行速度更快,其缺點(diǎn)是專用寄存器分散在四個(gè)地址區(qū)間內(nèi),加大了編程的難度,提升空間較小。AVR單片機(jī)是由Atmel公司生產(chǎn)的,以時(shí)鐘周期為指令周期,實(shí)行流水作業(yè),具有高性能、高速度、低功耗的優(yōu)勢(shì)。
本文選擇以AT89C51單片機(jī)作為研究對(duì)象,片內(nèi)含有4K字節(jié)可編程閃爍存儲(chǔ)器 ,用于存儲(chǔ)原始數(shù)據(jù),64KB的外部擴(kuò)展存儲(chǔ)器,當(dāng)存儲(chǔ)數(shù)據(jù)超過4KB時(shí),就可使用外部擴(kuò)展存儲(chǔ)器。4個(gè)8位I/O口線(P0、P1、P2、P3),每個(gè)口既可以用來輸入信息,又可以用作信息的輸出。兩個(gè)16位定時(shí)/記數(shù)器,每個(gè)定時(shí)/計(jì)數(shù)器既可以設(shè)置成定時(shí)方式,用于定時(shí),又可以設(shè)置成計(jì)數(shù)方式,用于計(jì)算外部事件,一個(gè)5向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路,工作電壓范圍為2.7V—6V,可兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)。除此之外,AT89C51單片機(jī)還有較強(qiáng)的中斷控制系統(tǒng),設(shè)有5個(gè)中斷源,包括2個(gè)外中斷,2個(gè)定時(shí)/計(jì)數(shù)中斷,1個(gè)串行口中斷。
MC35是德國(guó)西門子公司的一款內(nèi)嵌TCP/IP協(xié)議棧的GPRS無線貓,通信率最快可達(dá)到5.76Mbp/s,由AT指令直接控制,工作模式可選TCP和UDP兩種,最大可緩存15k數(shù)據(jù),接口支持RS232、RS485兩種,支持遠(yuǎn)程參數(shù)配置,可以通過短信修改IP和端口號(hào)等參數(shù),穩(wěn)定性高,支持公網(wǎng)和APN網(wǎng)絡(luò)接入,支持掉線重連,可提供數(shù)據(jù)、音頻等信息的傳輸,工作電壓范圍為3.3-4.8V,發(fā)送頻率為880 至 915MHz,接收頻率為925 至 960MHz。
GPRS是在GSM基礎(chǔ)上發(fā)展起來的一種分組交換的數(shù)據(jù)承載和傳輸方式,具有數(shù)據(jù)傳輸速率高、價(jià)格低廉的特點(diǎn),適合突發(fā)性、頻繁的小流量數(shù)據(jù)傳輸。
AT89C51單片機(jī)通過RXD引腳和TXD引腳與外界進(jìn)行通信,采用的是點(diǎn)對(duì)點(diǎn)數(shù)據(jù)傳輸電路,大部分的數(shù)據(jù)、信息都是通過PO傳送,只能識(shí)別數(shù)字信息,無法識(shí)別模擬信息。數(shù)據(jù)傳送前,將軟件設(shè)置第9位數(shù)據(jù)(TB8)作奇偶校驗(yàn)位,將要發(fā)送的數(shù)據(jù)寫入SBUF,啟動(dòng)發(fā)送過程。系統(tǒng)串行口自動(dòng)的將TB8轉(zhuǎn)換為第9位數(shù)據(jù),再逐一發(fā)送出去。數(shù)據(jù)接收時(shí),啟動(dòng)串口發(fā)送定時(shí)器,定時(shí)器到時(shí)則向串口發(fā)送一定量數(shù)據(jù),直至接收的數(shù)據(jù)發(fā)送完畢。
MC35支持TCP和UDP兩種通訊方式,可根據(jù)實(shí)際的需要選擇合適的一種,本文介紹UDP通訊(TCP通訊過程相似),其流程圖如圖1。步驟1在單片機(jī)應(yīng)用系統(tǒng)中,為GPRS通訊串口開辟一個(gè)足夠大的緩沖區(qū);步驟2建立連接軟件,設(shè)置初始化網(wǎng)絡(luò),配置本地端口號(hào),GPRS的連接參數(shù)訪問接入點(diǎn)APN、用戶名、密碼;步驟3檢查GPRS服務(wù)是否被支持,由于GPRS通訊具有時(shí)間性,如果一定時(shí)間內(nèi)未進(jìn)行通訊,則GPRS本身會(huì)自動(dòng)斷掉,因此在發(fā)送通訊前需要檢查GPRS服務(wù)是否被支持;步驟4檢查GPRS是否持在線,如果不在線需要,則需要重新將MC35聯(lián)網(wǎng);步驟5檢查GPRS是否空閑,盡管MC35支持全雙工通訊模式,但是為了能夠保證通訊的可靠性,在控制MC35前,還需要檢查其是否處于空閑狀態(tài),即是否有輸出數(shù)據(jù),如果未有輸出數(shù)據(jù),則開始準(zhǔn)備發(fā)送數(shù)據(jù),步驟6啟動(dòng)發(fā)送定時(shí)器;步驟7從串口接收數(shù)據(jù);步驟8設(shè)置發(fā)送數(shù)據(jù)長(zhǎng)度;步驟9拷貝從串口接收到的數(shù)據(jù);步驟10將接收到的數(shù)據(jù)拷貝到緩沖區(qū)。斷開連接時(shí),可以選擇只關(guān)閉UDP連接或直接關(guān)閉無線連接。

圖1 MC35在GPRS模式發(fā)送數(shù)據(jù)流程圖
隨著網(wǎng)絡(luò)技術(shù)的進(jìn)一步發(fā)展,儀表系統(tǒng)也將逐步的走向網(wǎng)絡(luò)化、智能化,面對(duì)網(wǎng)絡(luò)化的潮流,對(duì)8位單片機(jī)應(yīng)用系統(tǒng)進(jìn)行聯(lián)網(wǎng)設(shè)計(jì),具有著重要的現(xiàn)實(shí)意義,本文基于MC35的聯(lián)網(wǎng)通訊方案,開發(fā)難度低,簡(jiǎn)單易用,是較為可行的方案。
[1]毛洋林,陳沨,潘志潔.用MCS-51單片機(jī)實(shí)現(xiàn)基于GPRS的INTERNET接入[J].微計(jì)算機(jī)信息,2004,20(3).
[2]劉捷臣,王效平.微處理器和微控制器的發(fā)展現(xiàn)狀與展望——迎接21世紀(jì)信息產(chǎn)業(yè)的挑戰(zhàn)[J].微處理機(jī),2001(01).
[3]黃麗軍.一種基于單片機(jī)的GPRS的無線數(shù)據(jù)傳送系統(tǒng)[J].電腦編程技巧與維護(hù),2008(15).
劉曉菲,女(1982-),黑龍江哈爾濱,中級(jí)(講師)、計(jì)算機(jī)單片機(jī)方向。
A single chip microcomputer application system of GPRS Internet application solutions
Liu Xiaofei
(Qilu Medical University, Zibo, 255213)
With the rapid development of wireless technology, the GPRS wireless transmission mode change and affected people's production and life style, to the emergence of network technology and popularization of the Internet as a representative for the single-chip microcomputer application system is put forward higher request, in this paper, aiming at the need of 8-bit systems connected to the Internet, this paper introduces a single-chip microcomputer system online scheme based on MC35 module.
AT89C51; GPRS; Control process
G354.3
A