国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于GPS/北斗衛(wèi)星定位導(dǎo)航系統(tǒng)的智能通信終端的設(shè)計(jì)

2022-08-01 07:01湖南工學(xué)院電氣與信息工程學(xué)院吳樂鄒本福孫長(zhǎng)明成利香
衛(wèi)星電視與寬帶多媒體 2022年13期
關(guān)鍵詞:串口短信單片機(jī)

湖南工學(xué)院 電氣與信息工程學(xué)院:吳樂 鄒本福 孫長(zhǎng)明 成利香

隨著衛(wèi)星導(dǎo)航系統(tǒng)的快速發(fā)展和產(chǎn)業(yè)化,衛(wèi)星導(dǎo)航定位技術(shù)得到廣泛應(yīng)用和發(fā)展。最早投入運(yùn)行并面向全球提供民用導(dǎo)航服務(wù)的是美國(guó)的“GPS”衛(wèi)星導(dǎo)航系統(tǒng),在穩(wěn)定性、精度、測(cè)速具備很大優(yōu)勢(shì),在全球范圍內(nèi)得到了普及。北斗衛(wèi)星導(dǎo)航系統(tǒng)(BDS)是我國(guó)自主建設(shè)、獨(dú)立運(yùn)行的全球衛(wèi)星導(dǎo)航系統(tǒng),可為用戶提供高精度、高可靠的定位、導(dǎo)航、授時(shí)服務(wù)。目前,推廣北斗衛(wèi)星導(dǎo)航系統(tǒng)的終端應(yīng)用,是國(guó)家經(jīng)濟(jì)戰(zhàn)略發(fā)展的需要。

通信終端作為用戶接入衛(wèi)星導(dǎo)航系統(tǒng)的唯一接口,目前被廣泛應(yīng)用,并深入到人民的生活當(dāng)中,在公共安全、測(cè)繪儀器、智能交通運(yùn)輸、精準(zhǔn)農(nóng)業(yè)、海洋工程、防災(zāi)減災(zāi)等方面得到廣泛應(yīng)用,具備很好的發(fā)展前景,由此對(duì)于衛(wèi)星導(dǎo)航通信終端的研究與實(shí)現(xiàn)顯得更加有意義。

文中設(shè)計(jì)了一款基于GPS/北斗的智能通信終端系統(tǒng),采用STM32F103RC作為主控制器,通過Air530多模衛(wèi)星定位導(dǎo)航模塊獲取定位信息、實(shí)時(shí)時(shí)間,并顯示在液晶屏上,還能通過GSM模塊將獲取的信息發(fā)送到用戶手機(jī)端。系統(tǒng)具有低功耗、低成本、擴(kuò)展靈活等特點(diǎn),實(shí)現(xiàn)了精準(zhǔn)授時(shí)、定位和無線通信等功能。

1.總體設(shè)計(jì)方案

系統(tǒng)以STM32F103RC芯片為核心,主要由GPS/北斗定位模塊、無線通信模塊、液晶顯示模塊、電源電路等搭建系統(tǒng)的硬件電路,通過程序設(shè)計(jì),系統(tǒng)主要實(shí)現(xiàn)獲取通信終端的實(shí)時(shí)位置(經(jīng)度、緯度)、時(shí)間和日期等信息,并在液晶顯示屏上顯示,還能將獲得的位置信息按一定的時(shí)間規(guī)律發(fā)送給用戶手機(jī)端。系統(tǒng)總體設(shè)計(jì)方案如下圖1所示。

2.系統(tǒng)硬件設(shè)計(jì)

2.1 主控模塊電路

2.1.1 STM32F103RC簡(jiǎn)介

智能通信終端系統(tǒng)的主控芯片采用STM32F103RC,該芯片采用高性能的Cortex-M3內(nèi)核,工作頻率為72MHz,內(nèi)部配有高速存儲(chǔ)器,處理速度極快,片內(nèi)資源極其豐富,還擁有豐富的多功能I/O端口以及連接到兩條APB總線的外設(shè),配備了許多標(biāo)準(zhǔn)和先進(jìn)的通信接口。STM32F103RC主控電路設(shè)計(jì)包括STM32F103RC芯片、復(fù)位電路、時(shí)鐘電路和電源接口電路。

2.1.2 供電接口電路

電源是用電設(shè)備必不可少的部分,供電電路采用Type-c接口給STM32單片機(jī)芯片供電,為單片機(jī)提供穩(wěn)定的工作電壓,Type-c接口沒有正反之分,隨意使用,不容易損壞電源電路,簡(jiǎn)單方便又實(shí)用。

2.1.3 復(fù)位電路

由于選用的STM32單片機(jī)是低電平復(fù)位,系統(tǒng)設(shè)計(jì)采用按鍵復(fù)位方式,當(dāng)按鍵按下時(shí),電容快速放電,RESET連接的引腳會(huì)逐漸變?yōu)榈碗娖?,按鍵松開后,電容快速進(jìn)行充電,RESET連接的引腳電壓會(huì)逐漸變?yōu)?.3V,從按鍵按下到松開的過程一般都需要持續(xù)幾百毫秒,遠(yuǎn)大于系統(tǒng)復(fù)位所需拉低電平的時(shí)間,因此滿足復(fù)位條件,單片機(jī)能正常復(fù)位。

2.1.4 時(shí)鐘電路

圖1:系統(tǒng)總體方案設(shè)計(jì)圖

時(shí)鐘電路是STM32單片機(jī)必不可少的電路之一,它主要為STM32提供時(shí)間信號(hào),電路主要由晶振與電容組成,stm32需要兩個(gè)外部晶振,其中8MHz的高速晶振,PLL倍頻用,另一個(gè)32.768KHz低速晶振,在系統(tǒng)處于低功耗或者待機(jī)狀態(tài)下使用,也可以用于計(jì)時(shí)。

2.2 定位模塊接口電路設(shè)計(jì)

2.2.1 定位模塊Air530簡(jiǎn)介

Air530模塊是一款高性能、高集成度的多模衛(wèi)星定位導(dǎo)航模塊。它體積小、功耗低,可用于車載導(dǎo)航、智能穿戴、無人機(jī)等全球衛(wèi)星導(dǎo)航系統(tǒng)定位的應(yīng)用中,而且提供了和其他模塊廠商兼容的軟、硬件接口,大幅減少了用戶的開發(fā)周期。模塊支持GPS/Beidou/GLONASS/Galileo/QZSS/SBAS。采用了射頻基帶一體化設(shè)計(jì),提供超高的性能,即使在弱信號(hào)的地方,也能快速、準(zhǔn)確的定位。

2.2.2 Air530模塊與STM32接口電路設(shè)計(jì)

Air530與STM32采用串行接口進(jìn)行通信,接口電路中GPS_RXD引腳負(fù)責(zé)數(shù)據(jù)接收,接單片機(jī)的數(shù)據(jù)發(fā)送引腳PA2,接收單片機(jī)發(fā)送的數(shù)據(jù)與指令。GPS_TXD引腳負(fù)責(zé)數(shù)據(jù)發(fā)送,接單片機(jī)的數(shù)據(jù)接收引腳PA3,給單片機(jī)發(fā)送數(shù)據(jù)。

2.3 液晶顯示屏接口電路設(shè)計(jì)

系統(tǒng)使用1.44寸TFT液晶顯示屏,顯示屏只需要3.3V低電壓即可驅(qū)動(dòng),顯示效果好,同時(shí)功耗也很低,屏幕沒有輻射、不閃爍,該屏幕工作的溫度范圍也很廣,在-20℃到+50℃之間都可以使用。顯示屏一共只有8個(gè)引腳。

TFT液晶顯示屏與單片機(jī)的接口電路中SD1是液晶屏SPI總線數(shù)據(jù)輸入端,接單片機(jī)的PB9引腳,CLK是液晶屏SPI總線時(shí)鐘信號(hào),接單片機(jī)的PB8引腳,CS為液晶屏的片選信號(hào),低電平使能,接單片機(jī)的PB7引腳,SD0是液晶屏的復(fù)位引腳,負(fù)則顯示屏出現(xiàn)錯(cuò)誤后的復(fù)位,接單片機(jī)的PB6引腳,D/C引腳控制選擇液晶屏寄存器/數(shù)據(jù)選擇,接單片機(jī)的PB5引腳,BLK為液晶屏的背光負(fù)極,接單片機(jī)的PB4引腳。

2.4 無線通信電路設(shè)計(jì)

2.4.1 SIM800C介紹

SIM800C是一款四頻GSM/GPRS模塊,該模塊的使用范圍廣,支持收發(fā)短信,撥打與接聽電話,系統(tǒng)只需要用到其發(fā)送短信的功能,實(shí)現(xiàn)單片機(jī)與手機(jī)端的通信。模塊的正面有一個(gè)MBUS總線插頭和一個(gè)MicroSIM卡槽,反面是一個(gè)MBUS總線插座,SIM800模塊上有一路信號(hào)指示燈,上電指示燈會(huì)快閃,尋找到網(wǎng)絡(luò)會(huì)進(jìn)入慢閃,連接上GPRS會(huì)快閃。

2.4.2 SIM800C與STM32的接口電路設(shè)計(jì)

SIM800C與STM32之間采用串口通信:V_IN接5V電源,GND接地,TXD引腳負(fù)則模塊的數(shù)據(jù)發(fā)送,接到單片機(jī)的PB11(RXD)腳,RXD引腳負(fù)責(zé)模塊的數(shù)據(jù)接收,接到單片機(jī)的PB10(TXD)腳,PWK引腳接地,模塊上電時(shí),會(huì)拉低PWK引腳一秒以上,然后釋放,模塊才能開機(jī)。

3.系統(tǒng)軟件設(shè)計(jì)

軟件設(shè)計(jì)主要包括STM32監(jiān)控程序設(shè)計(jì)、液晶屏控制與顯示程序設(shè)計(jì)、定位程序設(shè)計(jì)、GSM無線通信程序設(shè)計(jì)等。

3.1 主程序設(shè)計(jì)

主程序?yàn)橄到y(tǒng)運(yùn)行的主要邏輯,包括了各個(gè)模塊的初始化管理與各模塊之間的工作的管理,詳細(xì)的程序設(shè)計(jì)流程如下:

(1)系統(tǒng)上電后,先初始化系統(tǒng)的時(shí)鐘系統(tǒng),使系統(tǒng)能在統(tǒng)一的頻率下工作。

(2)中斷分組,STM32F103有非常多的中斷類型,進(jìn)行中斷分組方便對(duì)各個(gè)中斷事件進(jìn)行處理,因?yàn)橄到y(tǒng)要同時(shí)使用串口一、串口二和串口三的中斷,所以要進(jìn)行分組管理,增加系統(tǒng)的穩(wěn)定性,使系統(tǒng)免于處理數(shù)據(jù)順序混亂而出現(xiàn)莫名其妙的BUG。

(3)初始化液晶屏幕,使其能在接下來的時(shí)間里顯示數(shù)據(jù)信息。

(4)初始化衛(wèi)星定位模塊,讓GPS模塊使用GPS衛(wèi)星與北斗衛(wèi)星一起定位,從而使定位更加準(zhǔn)確,指定GPS模塊返回?cái)?shù)據(jù)的頻率為1s/次,返回指定的GPRMC格式的數(shù)據(jù)。

(5)初始化GSM無線通信模塊,使其處于工作狀態(tài),等待系統(tǒng)的下一步指令。

(6)初始化led,在主循環(huán)中隔一段時(shí)間點(diǎn)亮和熄滅led,使用戶知曉系統(tǒng)正在正常工作狀態(tài)。

(7)解析接收到的定位信息,并展示到液晶顯示屏上。

(8)最后判斷循環(huán)次數(shù)是否滿足了指定的要求,如果滿足,就給手機(jī)端發(fā)送位置信息,如果還不滿足條件,就執(zhí)行下一次循環(huán)。

3.2 TFT液晶顯示屏程序設(shè)計(jì)

將對(duì)屏幕的每一步操作都封裝成單獨(dú)的函數(shù)后,再寫一個(gè)顯示字符串的函數(shù),只需要傳入字符串需要顯示的位置,字符的顏色,背景顏色和字符串這幾個(gè)參數(shù)即可。

(1)函數(shù)會(huì)進(jìn)行字符串是否為空的判斷,情況一:如果字符串為空,說明字符已經(jīng)全部顯示,程序結(jié)束。情況二:傳入的是空字符串,錯(cuò)誤的數(shù)據(jù)格式,直接結(jié)束程序。

(2)字符串不為空時(shí),會(huì)判斷字符的類型,獲取相應(yīng)的字符像素點(diǎn)信息。

(3)將像素點(diǎn)信息發(fā)送到屏幕后就會(huì)顯示相應(yīng)的字符。

3.3 衛(wèi)星定位模塊程序設(shè)計(jì)

3.3.1 NMEA協(xié)議簡(jiǎn)介

AIR530模塊支持NMEA 0183 V4.1協(xié)議并兼容以前版本。NMEA是(National Marine Electronics Association)為海用電子設(shè)備制定的標(biāo)準(zhǔn)格式。它是一套定義接收機(jī)輸出的標(biāo)準(zhǔn)信息,有幾種不同的格式,每種都是獨(dú)立相關(guān)的ASCII格式,逗點(diǎn)隔開數(shù)據(jù)流,數(shù)據(jù)流長(zhǎng)度從30-100字符不等,通常以每秒間隔選擇輸出,最常用的格式為“GGA”,它包含了定位時(shí)間,緯度,經(jīng)度,高度,定位所用的衛(wèi)星數(shù),DOP值,差分狀態(tài)和校正時(shí)段等,其他的有速度,跟蹤,日期等。已成為所有的GPS接收機(jī)和最通用的數(shù)據(jù)輸出格式,同時(shí)它也被用于與GPS接收機(jī)接口的大多數(shù)的軟件包里。NMEA-0183協(xié)議定義的語句非常多,但是常用的或者說兼容性最廣的語句只有$GPGGA、$GPGSA、$GPGSV、$GPRMC、$GPVTG、$GPGLL等。

常用格式以及表示的意義如下:

(1)GGA:時(shí)間、位置、衛(wèi)星數(shù)量;

(2)GLL:經(jīng)度、緯度、UTC時(shí)間;

(3)GSA:GPS接收機(jī)操作模式,定位使用的衛(wèi)星,DOP值,定位狀態(tài);

(4)GSV:可見GPS衛(wèi)星信息、仰角、方位角、信噪比;

(5)RMC:時(shí)間、日期、位置、速度VTG:地面速度信息。

3.3.2 Air530定位程序設(shè)計(jì)

Air530模塊與STM32單片機(jī)采用串口通信,設(shè)置波特率為9600波特。先對(duì)定位模塊進(jìn)行初始化操作,完成之后,模塊返回RMC格式的數(shù)據(jù)給單片機(jī),STM32單片機(jī)通過串口接收到數(shù)據(jù)后,進(jìn)入中斷處理函數(shù),將收到的數(shù)據(jù)保存到自定義數(shù)組中,數(shù)據(jù)接收完成之后,將接收完成標(biāo)志位置1。

(1)在程序中通過解析數(shù)據(jù)函數(shù)首先會(huì)判斷STM32是否接收到了數(shù)據(jù),如果沒有接收到,則退出解析數(shù)據(jù)程序等待下一次調(diào)用。

(2)如果有數(shù)據(jù),則以逗號(hào)為分割標(biāo)志,將接收到的數(shù)據(jù)分為時(shí)間、數(shù)據(jù)狀態(tài)、維度、南北緯標(biāo)志、經(jīng)度、東西經(jīng)標(biāo)志、地面速度、衛(wèi)星方位、當(dāng)前日期等幾個(gè)部分。然后將這些數(shù)據(jù)保存到自定義的結(jié)構(gòu)體中,用于后續(xù)的顯示以及無線通信。

3.4 GSM短信發(fā)送程序設(shè)計(jì)

GSM無線通信模塊通過串口發(fā)送AT指令給SIM800,就可以實(shí)現(xiàn)語音、SMS短信和數(shù)據(jù)信息的傳輸,可以運(yùn)用短信來發(fā)送時(shí)間、位置等信息。

SIM800模塊遵循的短信收發(fā)功能指令如下:

程序中,采用的指令包括使用“AT+CMGF=1 ”指令將短信配置為文本格式;使用“AT+CSCS=”GSM” ”指令將CSCS設(shè)置為GSM模式;使用“AT+CMGS=”指令設(shè)置接收短信的手機(jī)號(hào)碼。將一系列的指令發(fā)布之后,就是對(duì)模塊的運(yùn)行進(jìn)行設(shè)置。主要是需要讓它實(shí)現(xiàn)在接收到單片機(jī)系統(tǒng)傳輸過來的位置信息之后,系統(tǒng)通過串口通信,將經(jīng)緯度、時(shí)間等信息以數(shù)組的形式進(jìn)行發(fā)送。

具體流程為:首先對(duì)GSM無線通信模塊進(jìn)行初始化,完成后等待STM32單片機(jī)給其發(fā)控制指令。當(dāng)定時(shí)時(shí)間到后,系統(tǒng)調(diào)用發(fā)送短信的函數(shù),先將短信模式配置為文本模式,用于發(fā)送英文短信,再設(shè)置字符格式為GSM字符集,然后輸入接收短信的用戶手機(jī)號(hào)碼,最后輸入要發(fā)送的定位位置信息、時(shí)間等內(nèi)容和結(jié)尾標(biāo)志,即可完成短信的發(fā)送。

4.系統(tǒng)調(diào)試

4.1 室外定位測(cè)試

搭建好系統(tǒng)硬件系統(tǒng),通過KEIL軟件編寫好程序后,下載到STM32開發(fā)板,進(jìn)行系統(tǒng)測(cè)試。首先,系統(tǒng)通電后,各個(gè)模塊初始化完成,通過衛(wèi)星定位模塊會(huì)將接收到的位置信息顯示到液晶顯示屏上,測(cè)試結(jié)果如圖2所示:第一二行是測(cè)試當(dāng)日的日期和時(shí)間,第三四行顯示的是開發(fā)板所在位置(顯示的經(jīng)、緯度),第五行顯示的是以上幾行數(shù)據(jù)信息是否有效,如果系統(tǒng)沒能正確的獲取到衛(wèi)星定位的信息,此處會(huì)顯示“數(shù)據(jù)無效”。

圖2:室外定位測(cè)試結(jié)果

圖3:手機(jī)端短信接收結(jié)果

4.2 發(fā)送短信功能測(cè)試

單片機(jī)控制GSM模塊給指定的手機(jī)號(hào)發(fā)送自定義格式的數(shù)據(jù),發(fā)送位置信息的同時(shí)也把時(shí)間信息一起發(fā)送,是為了讓用戶知曉數(shù)據(jù)獲取的時(shí)間,保證了數(shù)據(jù)的時(shí)效性,其調(diào)試結(jié)果如圖3所示:第一行是接收到的當(dāng)前日期,第二行是當(dāng)前時(shí)間,第三第四行分別為定位到的系統(tǒng)的經(jīng)緯度。用戶收到數(shù)據(jù)后,通過谷歌地圖查看定位結(jié)果,誤差在十米以內(nèi),系統(tǒng)的定位比較準(zhǔn)確。

猜你喜歡
串口短信單片機(jī)
基于API函數(shù)庫實(shí)現(xiàn)串口數(shù)據(jù)通信的分析與設(shè)計(jì)
基于EM9000工控板高性能雙串口通信模型設(shè)計(jì)與實(shí)現(xiàn)
基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
基于單片機(jī)的層次漸變暖燈的研究
基于單片機(jī)的多功能智能插排
基于單片機(jī)的便捷式LCF測(cè)量?jī)x
道歉短信
代發(fā)短信
MCS—51單片機(jī)中的多串口通訊技術(shù)的應(yīng)用
“八一”節(jié)日短信之一
利辛县| 普定县| 新巴尔虎左旗| 五莲县| 德惠市| 英德市| 同江市| 灵川县| 兰溪市| 仁寿县| 蒙城县| 醴陵市| 方山县| 岱山县| 凤山县| 鸡泽县| 广灵县| 静海县| 吐鲁番市| 通州区| 清徐县| 城市| 潜江市| 寿光市| 大丰市| 文安县| 苍梧县| 治县。| 海城市| 丰都县| 库尔勒市| 渭源县| 玉林市| 民和| 南昌市| 灵山县| 云龙县| 噶尔县| 白朗县| 平塘县| 高唐县|