基于STM32和SIM900A的無(wú)線(xiàn)通信模塊設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
設(shè)計(jì)一個(gè)可以實(shí)現(xiàn)短信收發(fā)與數(shù)據(jù)無(wú)線(xiàn)傳輸?shù)哪K的要求,本文采用了ARM Cortex-M3內(nèi)核的主流產(chǎn)品STM32作為主控芯片,采用SIMCom公司的SIM900A作為通信芯片。在查閱大量相關(guān)文獻(xiàn)以及相關(guān)芯片的數(shù)據(jù)手冊(cè)之后,本文設(shè)計(jì)了一個(gè)遠(yuǎn)程無(wú)線(xiàn)通信模塊。該模塊在實(shí)驗(yàn)室試運(yùn)行一周后,沒(méi)有出現(xiàn)掉線(xiàn)的情況,數(shù)據(jù)收發(fā)的速度也很快。該模塊具有性能穩(wěn)定,外形小巧,性?xún)r(jià)比高等優(yōu)點(diǎn)。廠(chǎng)方投入使用之后,反應(yīng)良好。
隨著網(wǎng)絡(luò)和現(xiàn)代通信技術(shù)的不斷發(fā)展,遠(yuǎn)程無(wú)線(xiàn)通信技術(shù)經(jīng)過(guò)多年的研究與實(shí)際應(yīng)用,現(xiàn)如今在工業(yè)控制領(lǐng)域有了非常重要的地位,并且發(fā)揮著越來(lái)越大的作用。文中根據(jù)廠(chǎng)家的要求,設(shè)計(jì)的無(wú)線(xiàn)通信模塊,主要實(shí)現(xiàn)了短信與數(shù)據(jù)收發(fā)功能,并且做到了模塊的穩(wěn)定,掉線(xiàn)之后能夠自動(dòng)重連。
1 無(wú)線(xiàn)通信模塊整體設(shè)計(jì)方案
模塊主要有電源部分、主控部分、通信部分、數(shù)據(jù)傳輸部分4個(gè)部分組成。通信模塊采用SIM900A進(jìn)行無(wú)線(xiàn)通信。主控模塊采用STM32作為主控芯片,來(lái)控制短信的收發(fā)與數(shù)據(jù)傳輸?shù)捻樌M(jìn)行。遠(yuǎn)程終端可以是手機(jī)或者上位機(jī)的數(shù)據(jù)中心軟件,經(jīng)過(guò)處理之后,儲(chǔ)存下來(lái),方便日后的查詢(xún)。本模塊具有低功耗,方便靈活,操作簡(jiǎn)單并且穩(wěn)定,掉線(xiàn)之后可以自動(dòng)連接,運(yùn)行過(guò)程十分穩(wěn)定,并且成本較低。
2 無(wú)線(xiàn)通信模塊硬件設(shè)計(jì)
2.1 功能需求
本文設(shè)計(jì)的無(wú)線(xiàn)通信模塊,要求單12V電源輸入,模塊上電運(yùn)行后有相應(yīng)的指示燈來(lái)指示模塊的運(yùn)行狀態(tài)。另外要求模塊能夠?qū)崿F(xiàn)短信以及數(shù)據(jù)透?jìng)鲀纱笾饕δ埽谑謾C(jī)發(fā)送短信給模塊之后,模塊能夠動(dòng)作,并給出回應(yīng)。最后要求在建立TCP鏈接時(shí),仍然能夠收發(fā)短信。
圖1 無(wú)線(xiàn)通信模塊結(jié)構(gòu)圖
2.2 電源部分
在主電路中,主控芯片STM32的工作電壓為2.0~3.6 V,通信芯片SIM900A的工作電壓為3.1~4.6 V,為使模塊各個(gè)部分正常工作,必須對(duì)兩者進(jìn)行分別供電,電源供電電路如下:
圖中V12外接12 V電源,經(jīng)過(guò)電容濾波后輸入到LM2576,實(shí)現(xiàn)12 V到4 V的轉(zhuǎn)換,R1、R2在線(xiàn)路中起到分壓作用,D2燈亮起時(shí),表示模塊已經(jīng)正常供電。LM2576是美國(guó)國(guó)家半導(dǎo)體公司生產(chǎn)的3 A電流輸出降壓開(kāi)關(guān)型集成穩(wěn)壓電路,具有完善的保護(hù)電路,比較穩(wěn)定。
圖2 電源模塊
2.3 主控芯片
主控模塊采用STM32單片機(jī)作為微控制器,該芯片能工作于-40~105℃的溫度范圍,MAX3232芯片用于串行口的電平變換,實(shí)現(xiàn)控制器與通信接口之間的通信。串口1與電源電平轉(zhuǎn)換芯片Max3223相連,USART1_TX(輸出,所以在配置GPIO時(shí),定義該口的模式為推拉輸出,USART1_ RX為輸入,定義為懸浮輸入模式。串口2與SN65LBC184D通信,實(shí)現(xiàn)數(shù)據(jù)的收發(fā),USART2_RTS、USART2_RX為輸入端口,模式定義為懸浮輸入模式,USART2_CTS、USART2_TX為輸出端口,模式定義為推拉輸出。串口3用來(lái)控制SIM900A芯片,USART3_RTS、USART3_RX為輸入端口,模式定義為懸浮輸入,USART3_CTS、USART3_TX為輸出端口,模式定義為推拉輸出。
圖3 主控芯片STM32
2.4 通信芯片
通信芯片采用SIMCom公司的新型緊湊型產(chǎn)品SIM900A,它屬于雙頻GSM/GPRS模塊,完全采用SMT封裝形式,性能穩(wěn)定,外觀(guān)精巧,性?xún)r(jià)比高,并且能夠滿(mǎn)足用戶(hù)的多種需求。在實(shí)現(xiàn)斷線(xiàn)自動(dòng)重連功能時(shí),涉及到DCD、RI兩個(gè)引腳的使用。DCD引腳用來(lái)實(shí)現(xiàn)模數(shù)轉(zhuǎn)換,當(dāng)模塊掉線(xiàn)時(shí),會(huì)給DCD引腳一個(gè)高電平,當(dāng)這個(gè)電平被DCD引腳檢測(cè)到之后,模塊就是采取相應(yīng)的動(dòng)作,來(lái)重新連接上線(xiàn)。RI引腳在模塊上線(xiàn)之后,就一直保持高電平,在有電話(huà)和短信進(jìn)來(lái)的時(shí)候,RI管腳就會(huì)有一個(gè)低電平出現(xiàn),當(dāng)RI引腳檢測(cè)到這個(gè)低電平的時(shí)候,模塊就會(huì)采取相應(yīng)動(dòng)作,進(jìn)入到短信或者電話(huà)模式。