【文章內(nèi)容簡(jiǎn)介】
持從1200bps到57600bps的自動(dòng)波特率檢測(cè)功能圖46 GPRS的整體電路圖Fig. 46 the whole schedule of GPRS 如表42列出了SIM900A的引腳的各個(gè)功能。表42 SIM900A引腳描述Table 42 the description of SIM900A pin引腳名稱描述備注VBATl 模塊采用單電源供電,通過(guò)3個(gè)VBAT電源引腳供電,電壓范圍:~,電流≥2A。VRTCl 當(dāng)系統(tǒng)電源VBAT沒(méi)電時(shí),給實(shí)時(shí)時(shí)鐘提供電流輸入。當(dāng)VBAT有電而且后備電池電壓過(guò)低時(shí)給后備電池充電。需要接后備電池或電容VDD_EXTl 電源輸出如果不用保持懸空GDN l 接地PWRKEYl 通過(guò)拉低PWRKEY并保持至少1秒然后釋放,可以開(kāi)啟模塊。同樣,用戶可以通過(guò)拉低PWRKEY保持至少一秒然后釋放,就可以關(guān)閉模塊了。模塊內(nèi)部已經(jīng)上拉至3VnetLEDl 網(wǎng)絡(luò)狀態(tài)指示RXDl 數(shù)據(jù)接收DTR已經(jīng)內(nèi)部上拉到VDD_EXTRXD如果不用需要外部上拉到VDD_EXT.其他不用的引腳保持懸空。TXDl 數(shù)據(jù)發(fā)送RTSl 發(fā)送請(qǐng)求CTSl 發(fā)送清除RIl 振鈴提示DSRl 數(shù)據(jù)設(shè)備準(zhǔn)備DCDl 數(shù)據(jù)載波檢測(cè)DTRl 數(shù)據(jù)終端準(zhǔn)備SIM900A模塊包括天線接口、電源接口、串口、LCD接口、音頻接口、SIM卡接口等。本設(shè)計(jì)中只用到天線接口,SIM卡接口,串口和電源接口。電源電路圖47為模塊的電源電路圖,vcc_4為4V的意思。,所以在輸入5v的時(shí)候。同時(shí)它還起到一個(gè)保護(hù)模塊防反接的作用和限制電流為1A的作用。圖47 SIM900A電源電路圖Fig. 47 the power schedule of SIM900A模塊啟動(dòng)電路圖48為模塊的啟動(dòng)電路圖,設(shè)置為上電啟動(dòng)。通過(guò)拉低PWRKEY并保持至少1秒然后釋放,可以開(kāi)啟模塊。圖48 GPRS啟動(dòng)電路原理圖Fig. 48 the starting schedule of GPRSSIM卡接口GPRS模塊要連接得上網(wǎng)絡(luò)要有SIM卡,而且SIM卡要有GPRS服務(wù)。模塊里面的SIM卡的引腳功能和電路圖如下所示。表43 SIM卡引腳描述Table 43 the description of SIM cart引腳描述備注SIM_VDDl SIM卡電源SIM卡的所有信號(hào)線都應(yīng)該通過(guò)TVS二極管來(lái)做靜電保護(hù)。SIM_DATAl SIM卡數(shù)據(jù)信號(hào)SIM_CLKl SIM卡時(shí)鐘信號(hào)SIM_RSTl SIM卡復(fù)位信號(hào)SIM_PRESENCEl SIM卡拔插檢測(cè)信號(hào)如果不用,保持懸空。圖49 SIM卡電路原理圖Fig. 49 the schedule of SIM cart③主控模塊與通信模塊的連接可以直接將STM32的串行口和SIM900A GPRS模塊串行口交叉相連,直接進(jìn)行串口通信,接口電路圖如圖410。圖410 STM32和SIM900A的接口Fig. 410 the interface between STM32 and SIM900A在上電啟動(dòng)GPRS模塊并初始化后可以通過(guò)觀察GPRS模塊上的D5和D6的閃爍快慢來(lái)了解,GPRS模塊的工作狀態(tài),如表44。表44 GPRS工作狀態(tài)Table 44 the work status of GPRSD5D6模塊工作狀態(tài)長(zhǎng)亮亮一秒滅一秒(快閃)模塊正在搜索網(wǎng)絡(luò)長(zhǎng)亮亮一秒滅三秒(慢閃)模塊已搜索到網(wǎng)絡(luò)可以正常工作反復(fù)長(zhǎng)亮幾秒滅一秒亮一秒滅一秒(快閃)電源電流或電壓不能滿足要求熄滅亮一秒滅三秒(慢閃)有電話進(jìn)來(lái)了,模塊串口發(fā)出RING字符串滅一下后長(zhǎng)亮亮一秒滅三秒(慢閃)接收到一條信息④主控模塊與電梯控制器的連接主控模塊與電梯控制器數(shù)據(jù)的傳輸是通過(guò)RS232串口線來(lái)傳輸?shù)?。RS232是在1970年由美國(guó)電子工業(yè)協(xié)會(huì)(EIA)聯(lián)合貝爾系統(tǒng)、調(diào)制解調(diào)器廠家及計(jì)算機(jī)終端生產(chǎn)廠家共同制定的用于串行通訊的標(biāo)準(zhǔn)。它的全名是“數(shù)據(jù)終端設(shè)備(DTE)和數(shù)據(jù)通訊設(shè)備(DCE)之間串行二進(jìn)制數(shù)據(jù)交換接口技術(shù)標(biāo)準(zhǔn)”該標(biāo)準(zhǔn)規(guī)定采用一個(gè)25個(gè)腳的DB25連接器,對(duì)連接器的每個(gè)引腳的信號(hào)內(nèi)容加以規(guī)定,還對(duì)各種信號(hào)的電平加以規(guī)定。后來(lái)IBM的PC機(jī)將RS232簡(jiǎn)化成了DB9連接器,從而成為事實(shí)標(biāo)準(zhǔn)。而工業(yè)控制的RS232口一般只使用RXD、TXD、GND三條線。RS232C 標(biāo)準(zhǔn)(協(xié)議)的全稱是 EIARS232C 標(biāo)準(zhǔn),其中EIA (Electronic Industry Association)代表美國(guó)電子工業(yè)協(xié)會(huì),RS(remended standard)代表推薦標(biāo)準(zhǔn),232是標(biāo)識(shí)號(hào),C代表RS232的最新一次修改(1969),在這之前,有RS232B、RS232A。EIARS232C對(duì)電氣特性、邏輯電平和各種信號(hào)線功能都作了規(guī)定。在TxD和RxD上:邏輯1(MARK)=3V~15V,邏輯0(SPACE)=+3~+15V。在RTS、CTS、DSR、DTR和DCD等控制線上:信號(hào)有效(接通,ON狀態(tài),正電壓)=+3V~+15V。信號(hào)無(wú)效(斷開(kāi),OFF狀態(tài),負(fù)電壓)=3V~15V。因?yàn)镽S232與TTL系統(tǒng)不兼容,一般都用電平轉(zhuǎn)換芯片來(lái)轉(zhuǎn)換,常用MAX232,電路圖如圖411所示:圖411 MAX232電路圖Fig. 411 MAX232 schedule 軟件開(kāi)發(fā)環(huán)境①ARM開(kāi)發(fā)工具M(jìn)DK 即RealView MDK 或MDKARM(Microcontroller Development kit),是 ARM 公司收購(gòu)Keil公司以后,基于uVision界面推出的針對(duì)ARMARMCortexM0、CortexMCortexMCortexMCortexR4等ARM處理器的嵌入式軟件開(kāi)發(fā)工具。MDKARM 集成了業(yè)內(nèi)最領(lǐng)先的技術(shù),包括 uVision4 集成開(kāi)發(fā)環(huán)境與 RealView 編譯器RVCT。支持 ARMARM9 和最新的CortexM3/M1/M0 核處理器,自動(dòng)配置啟動(dòng)代碼,集成 Flash 燒寫(xiě)模塊,強(qiáng)大的 Simulation 設(shè)備模擬,性能分析等功能,與 ARM 之前的工具包 ADS 等相比,RealView 編譯器的最新版本可將性能改善超過(guò) 20%。Keil公司開(kāi)發(fā)的ARM開(kāi)發(fā)工具M(jìn)DK,是用來(lái)開(kāi)發(fā)基于ARM核的系列微控制器的嵌入式應(yīng)用程序。它適合不同層次的開(kāi)發(fā)者使用,包括專業(yè)的應(yīng)用程序開(kāi)發(fā)工程師和嵌入式軟件開(kāi)發(fā)的入門者。MDK包含了工業(yè)標(biāo)準(zhǔn)的Keil C編譯器、宏匯編器、調(diào)試器、實(shí)時(shí)內(nèi)核等組件,支持所有基于ARM的設(shè)備,專為微控制器應(yīng)用而設(shè)計(jì),不僅易學(xué)易用,而且功能強(qiáng)大,能夠滿足大多數(shù)苛刻的嵌入式應(yīng)用。因此,本系統(tǒng)中用MDK來(lái)開(kāi)發(fā)。②AT指令在應(yīng)用中,控制器通過(guò)串口發(fā)送AT命令來(lái)控制GPRS模塊。AT指令是一個(gè)借口標(biāo)準(zhǔn),其指令格式都比較固定。所有命令行必須以“AT”或“at”作為開(kāi)頭,以回車(CR)作為結(jié)尾。如果SIM900A的波特率和串口的波特率不一樣的話,要首先同步波特率,即發(fā)兩次”AT”指令就可以了,這是 因?yàn)镾IM900A具有自動(dòng)串口波特率識(shí)別功能(識(shí)別范圍:1200~115200)。、 ,以及SIMCOM自己開(kāi)發(fā)的指令。所有AT命令從語(yǔ)法上可以分為三類:“基礎(chǔ)類”,“S 參數(shù)類”以及“擴(kuò)展類”。常用的AT指令:AT+CPIN:該指令用于查詢SIM卡的狀態(tài),主要是PIN碼,如果該指令返回:+CPIN:READY,則表明SIM卡狀態(tài)正常,返回其他值,則有可能是沒(méi)有SIM卡。AT+CSQ :該指令用于查詢信號(hào)質(zhì)量,返回SIM900A模塊的接收信號(hào)強(qiáng)度,如返回:+CSQ:30,0,表示信號(hào)強(qiáng)度是30(最大有效值是31)。AT+COPS:該指令用于查詢當(dāng)前運(yùn)營(yíng)商,該指令只有在連上網(wǎng)絡(luò)后,才返回運(yùn)營(yíng)商,否則返回空,如返回:+COPS:0,0,CHINAMOBILE,表示當(dāng)前選擇的運(yùn)營(yíng)商是中國(guó)移動(dòng)。AT+CGMI:該指令用于查詢模塊制造商,如返回:SIMCOM_Ltd,說(shuō)明SIM900A模塊是SIMCOM公司生產(chǎn)的。AT+CGMM:該指令用于查詢模塊型號(hào),如返回:SIMCOM_SIM900A,說(shuō)明模塊型號(hào)是SIM900A。AT+CGSN:該指令用于查詢產(chǎn)品序列號(hào)(即IMEI號(hào)),每個(gè)模塊的IMEI號(hào)都是不一樣的,具有全球唯一性,如返回:869988012018905,說(shuō)明模塊的產(chǎn)品序列號(hào)是:869988012018905。TCP連接指令:AT+CGCLASS=B,設(shè)置移動(dòng)臺(tái)類別為B。即,模塊支持包交換和電路交換模式,但不能同時(shí)支持。AT+CGDCONT,用于設(shè)置PDP上下文。發(fā)送:AT+CGDCONT=1,IP,UNINET,設(shè)置PDP上下文標(biāo)志為1,采用互聯(lián)網(wǎng)協(xié)議(IP),接入點(diǎn)為UNINET。AT+CGATT,用于設(shè)置附著和分離GPRS業(yè)務(wù)。發(fā)送:AT+CGATT=1,附著GPRS業(yè)務(wù)。AT+CIPCSGP,用于設(shè)置CSD或GPRS鏈接模式。發(fā)送:AT+CIPCSGP=1,UNINET,設(shè)置為GPRS連接,接入點(diǎn)為”UNINET”。AT+CLPORT,用于設(shè)置本地端口號(hào)。發(fā)送:AT+CLPORT=TCP,8888,即設(shè)置TCP連接本地端口號(hào)為8888。AT+CIPSTART,用于建立TCP連接或注冊(cè)UDP端口號(hào)。發(fā)送:AT+CIPSTART=TCP,8086,模塊將建立一個(gè)TCP連接,連接目標(biāo)地址為:,連接端口為8086,連接成功會(huì)返回:CONNECT OK。AT+CIPSEND,用于發(fā)送數(shù)據(jù)。在連接成功以后發(fā)送:AT+CIPSEND,模塊返回:,此時(shí)可以輸入要發(fā)送的數(shù)據(jù),最大可以一次發(fā)送1352字節(jié),數(shù)據(jù)輸入完后,同發(fā)短信一樣,輸入十六進(jìn)制的:1A(0X1A),啟動(dòng)發(fā)送數(shù)據(jù)。在數(shù)據(jù)發(fā)送完成后,模塊返回:SEND OK,表示發(fā)送成功。AT+CIPSTATUS,用于查詢當(dāng)前連接狀態(tài)。發(fā)送:AT+CIPSTATUS,模塊即返回當(dāng)前連接狀態(tài)。AT+CIPCLOSE,用于關(guān)閉TCP/UDP連接。發(fā)送:AT+CIPCLOSE=1,即可快速關(guān)閉當(dāng)前TCP/UDP連接。AT+CIPSHUT,用于關(guān)閉移動(dòng)場(chǎng)景。發(fā)送:AT+CIPSHUT,則可以關(guān)閉移動(dòng)場(chǎng)景,關(guān)閉場(chǎng)景后連接狀態(tài)為:IPINITIAL,可以通過(guò)發(fā)送:AT+CIPSTATUS,查詢。另外,在連接建立后,如果收到:+PDP:DEACT,則必須發(fā)送:AT+CIPSHUT,關(guān)閉場(chǎng)景后,才能實(shí)現(xiàn)重連。 軟件程序設(shè)計(jì)軟件程序設(shè)計(jì)部分包括電梯運(yùn)行狀態(tài)數(shù)據(jù)的采集和遠(yuǎn)程數(shù)據(jù)傳輸兩部分。① 數(shù)據(jù)采集終端機(jī)的數(shù)據(jù)采集通過(guò)RS232串口線來(lái)采集電梯控制器里面的數(shù)據(jù),然后將采集到的數(shù)據(jù)按照協(xié)議來(lái)講數(shù)打成數(shù)據(jù)包,在通過(guò)主控芯片傳到GPRS模塊,然后上傳到系統(tǒng)的監(jiān)控中心。每個(gè)電梯里面都安裝有一個(gè)終端機(jī),總的系統(tǒng)結(jié)構(gòu)圖,如圖412所示:系統(tǒng)監(jiān)控中心終端機(jī)1終端機(jī)2終端機(jī)n圖 412 系統(tǒng)結(jié)構(gòu)圖Fig. 412 system structure將采集的數(shù)據(jù)封裝成數(shù)據(jù),數(shù)據(jù)包的結(jié)構(gòu)如圖413所示。0X1F是包頭,0XF1是包尾,這兩個(gè)是用來(lái)區(qū)分從終端機(jī)發(fā)過(guò)來(lái)的數(shù)據(jù)的標(biāo)識(shí)符。地址碼用終端的每個(gè)SIM卡的卡號(hào)來(lái)表示。0X1F地址碼信息域0XF1圖413 數(shù)據(jù)包結(jié)構(gòu)圖Fig. 413 the packet structure權(quán)限碼在終端機(jī)設(shè)計(jì)的時(shí)候固定在終端機(jī)里面,而且每個(gè)不一樣,要修改的話只能通過(guò)終端機(jī)的輸入設(shè)備修改。監(jiān)控中心向終端機(jī)發(fā)送控制指令的時(shí)候,首先發(fā)送地址碼,然后發(fā)送權(quán)限碼,只有地址碼和權(quán)限碼都匹配的時(shí)候,終端機(jī)才能夠接受到監(jiān)控中心發(fā)送來(lái)的指令,然后進(jìn)行相應(yīng)的操作。數(shù)據(jù)采集的程序框圖如圖414所示。圖414 程序流程圖Fig. 414 program chart② 數(shù)據(jù)傳輸GPRS 技術(shù)是無(wú)線通信技術(shù)和 IP 技術(shù)相結(jié)合的產(chǎn)物,數(shù)據(jù)在傳送過(guò)程中要遵循 TCP/IP 協(xié)議,也就是要有源點(diǎn)和目的 IP 地址[11]。監(jiān)控中心跟INTERNET相連會(huì)被分配一個(gè)固定的公網(wǎng)IP地址。但是,終端機(jī)處于 GPRS 網(wǎng)絡(luò)中,而 GPRS 網(wǎng)絡(luò)的 IP 地址是動(dòng)態(tài)分配的。SIM900A內(nèi)嵌了PPP、TCP/IP協(xié)議棧,PPP 協(xié)議負(fù)責(zé)接入 GPRS 網(wǎng)絡(luò),并申請(qǐng)動(dòng)態(tài) IP 地址。在傳輸過(guò)程中的協(xié)議有 PPP 協(xié)議、TCP/IP 協(xié)議和一些在這些協(xié)議之內(nèi)的協(xié)議。GPRS模塊是通過(guò)GPRS網(wǎng)絡(luò)接入到INTERNET 上,然后在通過(guò)INTERNET 上傳數(shù)據(jù)到監(jiān)控中心的,所以GPRS模塊要連接上GPRS網(wǎng)絡(luò)是數(shù)據(jù)傳輸?shù)那疤帷PRS自動(dòng)撥號(hào)接入 Internet 的具體流程如圖 415 所示:圖415 SIM900A接入到INTERNET過(guò)程Fig. 415 the process of SIM900A to build with internet為了能夠進(jìn)行IP數(shù)據(jù)包的傳輸,就必須首先實(shí)現(xiàn)數(shù)據(jù)鏈路層的PPP協(xié)議。因?yàn)镚PRS模塊已經(jīng)嵌入PPP協(xié)議,所以在主控芯片里沒(méi)有必要開(kāi)發(fā)PPP協(xié)議棧了。PPP協(xié)議的功能有:PPP具有動(dòng)態(tài)分配IP地址的能力,允許在連接時(shí)刻協(xié)商IP地址;PPP支持多種網(wǎng)絡(luò)協(xié)議,比如TCP/IP、NetBEUI、NWLINK等; PPP具有錯(cuò)誤檢測(cè)以及糾錯(cuò)能力,支持?jǐn)?shù)據(jù)壓縮;PPP具有身份驗(yàn)證功能。PPP可以用于多種類型的物理介質(zhì)上,包括串口線、電話線、移動(dòng)電話和 光纖(例如SDH),PPP也用于Internet接入。PPP(點(diǎn)到點(diǎn)協(xié)議)是為在同等單元之間傳輸數(shù)據(jù)包這樣的簡(jiǎn)單鏈路設(shè)計(jì)的鏈路層協(xié)議。這種鏈