引言 長期以來,學(xué)校、工廠等單位常用的打鈴儀多采用單片機(jī)計(jì)時(shí),計(jì)時(shí)誤差每天達(dá)0.5 s,日積月累走時(shí)誤差會(huì)達(dá)數(shù)分鐘,甚至十多分鐘,給管理造成不便。近幾年來,高校、企業(yè)規(guī)模不斷擴(kuò)大,多校區(qū)、多廠區(qū)的企事業(yè)單位不斷增多。這些學(xué)校、企事業(yè)單位強(qiáng)烈要求多校區(qū)、多廠區(qū)的上下課、上下班鈴聲保持同步,可實(shí)際情況因現(xiàn)有打鈴儀走時(shí)誤差而極難同步。本文提出的基于GPS信號(hào)接收和PIC單片機(jī)的智能打鈴儀,走時(shí)精確,誤差極小。只要多校區(qū)、多廠區(qū)的企事業(yè)單位的響鈴時(shí)間設(shè)置相同,便可使鈴聲保持同步,誤差小于1 s。 1 打鈴儀硬件設(shè)計(jì) 本文介紹的打鈴儀電路結(jié)構(gòu)框圖如圖1所示。它主要由電源電路、微處理器、GPS接收、按鍵電路、液晶顯示、溫度檢測、聲光提示、控制輸出電路構(gòu)成。 1.1 GPS接收電路 G.PS(Global Positioning System,全球定位系統(tǒng))是美國從20世紀(jì)70年代開始研制的,歷時(shí)20年,耗資200億美元,于1994年全面建成;是具有在海、陸、空進(jìn)行全方位實(shí)時(shí)三維導(dǎo)航與定位能力的新一代衛(wèi)星導(dǎo)航與定位系統(tǒng)。GPS具有全天候、高精度、自動(dòng)化、高效率等顯著特點(diǎn),具有定位導(dǎo)航、授時(shí)校頻、精密測量等多方面的強(qiáng)大功能。 本設(shè)計(jì)方案是利用GPS接收電路接收解調(diào)GPS信號(hào),從中提取時(shí)問信號(hào)作為打鈴儀的時(shí)間基準(zhǔn)。因GPS信號(hào)中的時(shí)間是由銫原子鐘產(chǎn)生的,時(shí)間精度極高,故而可使打鈴儀的計(jì)時(shí)精度很高,計(jì)時(shí)誤差遠(yuǎn)小于1 s。 GPS接收電路如圖2所示,由GPS天線和GPS模塊組成。 GPS天線將1 575.42 MHz的高頻信號(hào)接收下來,送往GPS模塊進(jìn)行低噪聲放大、變頻轉(zhuǎn)換為中頻信號(hào);中頻信號(hào)經(jīng)采樣、量化后,轉(zhuǎn)換為數(shù)字中頻信號(hào);數(shù)字中頻信號(hào)進(jìn)入相關(guān)通道,經(jīng)過處理后,解譯出導(dǎo)航電文;GPS模塊內(nèi)微處理器接收導(dǎo)航電文數(shù)據(jù),并進(jìn)行相應(yīng)處理后串行輸出定位、時(shí)間、速度等信息。 GPS模塊采用GS-312。該模塊內(nèi)的基帶處理采用SiRF公司的Star III架構(gòu)芯片組。該芯片組配備20萬個(gè)相關(guān)器,具有-159 dBm的接收靈敏度,且功耗低。該模塊的各個(gè)引腳功能如表1所列。 GS-312的8腳應(yīng)當(dāng)外接電池。如不接電池,當(dāng)系統(tǒng)主電源斷電后重新上電時(shí),GS-312為冷啟動(dòng),其初次接收GPS信號(hào)并成功輸出定位時(shí)間信息最長時(shí)間達(dá)42 s;若接上電池,當(dāng)系統(tǒng)主電源斷電后重新上電時(shí),GPS模塊為熱啟動(dòng),其初次接收GPS信號(hào)并成功輸出定位時(shí)間信息僅需1 s。 在某些使用場合,GPS天線與系統(tǒng)線路板之間距離較遠(yuǎn)才能較好地接收到GPS信號(hào),故而采用RS422標(biāo)準(zhǔn)進(jìn)行較遠(yuǎn)距離的GPS解調(diào)輸出信號(hào)的傳送。電路如圖2所示,在具體工程中將IC2和GPS模塊單獨(dú)制作成室外單元,通過八芯電纜與室內(nèi)主電路的IC1及電源相連。 RS422是EIA推薦的“平衡式電壓數(shù)字接口電路的電氣特性標(biāo)準(zhǔn)”。該標(biāo)準(zhǔn)是為改善RS-232C且與RS-232C兼容而制定的。它的特點(diǎn)是采用平衡傳送,差分接收方式。其中發(fā)送接收一個(gè)信號(hào)均用兩條線,而完全不使用信號(hào)地,且數(shù)據(jù)傳送更遠(yuǎn),抗干擾能力更強(qiáng)。Maxim公司的MAX488收發(fā)器芯片滿足RS-232、RS- 422、RS-485通信標(biāo)準(zhǔn),該芯片內(nèi)含有1個(gè)驅(qū)動(dòng)器和1個(gè)接收器,同時(shí)具有低功耗、單+5 V供電、驅(qū)動(dòng)器過載保護(hù)、無需外接元件等特點(diǎn),其共模輸入電壓范圍為-7~+12 V,因而應(yīng)用廣泛。MAX488的引腳功能如表2所列。 MAX488通過傳輸線驅(qū)動(dòng)器把邏輯電平轉(zhuǎn)換為電位差信號(hào)以完成初始端的信息傳送,而通過傳輸線接收器把電位差轉(zhuǎn)換為邏輯電平實(shí)現(xiàn)終端的信息接收,該傳輸形式能提高系統(tǒng)的抗干擾能力以及傳輸距離。圖2中IC1的驅(qū)動(dòng)器反相輸出端 (6Z)和非反相輸出端(5Y)接到IC2接收器反相輸入端(7B)和非反相輸入端(8A),而把ICl的接收器反相輸入端(7B)和非反相輸入端 (8A)接到IC2的驅(qū)動(dòng)器反相輸出端(6Z)和非反相輸出端(5Y),從而構(gòu)成一個(gè)較遠(yuǎn)距離的全雙工通信。該電路的通信速率最高可達(dá)0.25 Mbps,經(jīng)實(shí)驗(yàn)可靠通信距離可達(dá)20 m以上。 1.2其他硬件電路 微處理器采用Microchip公司的 PIC16F873。該芯片采用14位類RISC指令系統(tǒng),片內(nèi)資源豐富,內(nèi)含A/D轉(zhuǎn)換器、EEPROM等,使打鈴儀省去外接A/D轉(zhuǎn)換電路和 EEPROM芯片,簡化了系統(tǒng)電路。該芯片還支持在線編程,易于進(jìn)行軟件調(diào)試、升級(jí)。 圖3打鈴儀電路中的電源電路部分含有60 mAh充電電池構(gòu)成的備份電源。單片機(jī)由R1和R2的分壓電壓可判斷主電源是否掉電。當(dāng)主電源有電時(shí),5 V直流電壓經(jīng)D1后為GPS接收模塊和單片機(jī)供電,經(jīng)R3限流后為電池BAT1提供涓流充電;當(dāng)主電源掉電時(shí),電池BAT1經(jīng)D2后為單片機(jī)和GPS接收模塊供電,以保證系統(tǒng)主電源掉電時(shí)系統(tǒng)依然能正常走時(shí),但系統(tǒng)停止其他功能。R4和熱敏電阻Rt1的分壓電壓隨環(huán)境溫度的變化而變化,單片機(jī)對(duì)該分壓電壓進(jìn)行A/D轉(zhuǎn)換,再查表可測出環(huán)境溫度。蜂鳴器BAK1和發(fā)光二極管LED1為按鍵按下有效及響鈴輸出的聲光提示。單片機(jī)控制繼電器J1決定外接電鈴是否響鈴。接按鍵的5個(gè)I/O引腳的內(nèi)部上拉電阻打開。液晶顯示模塊YDS12864與單片機(jī)采用串行口相連,以中文方式顯示當(dāng)前年、月、日、時(shí)、分、秒、星期、溫度等信息及系統(tǒng)設(shè)置時(shí)的提示信息。 2 打鈴儀軟件設(shè)計(jì) 2.1GPS協(xié)議 幾乎所有GPS接收模塊的串行輸出數(shù)據(jù)格式都遵循美國國家海洋電子協(xié)會(huì)NMEA(National Marine Electronics Association)所指定的標(biāo)準(zhǔn)規(guī)格。這一標(biāo)準(zhǔn)制訂所有航海電子儀器間的通信標(biāo)準(zhǔn),其中包含傳輸資料的格式以及傳輸資料的通信協(xié)議。NMEA協(xié)議有 0180、0182和0183三種,0183可以認(rèn)為是前兩種的超集,現(xiàn)正廣泛使用。NMEA-0183協(xié)議的數(shù)據(jù)格式為1個(gè)起始位、8個(gè)數(shù)據(jù)位、1個(gè)停止位、無奇偶校驗(yàn)位,波特率為300、600、1 200、2 400、4 800、9 600、19 200;其輸出數(shù)據(jù)為ASCII碼,語句包括GPGGA、GPGLL、GPGSA、GPRMC、GPGSV、GPVTG等,各語句內(nèi)含內(nèi)容各不一樣。含有年月日時(shí)分秒數(shù)據(jù)的GPRMC語句輸出格式為:$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>。以“LF”表示該幀數(shù)據(jù)結(jié)束。例如:$GPRMC,102521.231,A,3143.2679,N,13432.2134,E,0.9,309.62,101299,,*10。具體意義如表3所列。 2.2 GPS數(shù)據(jù)讀取 GS-312每秒更新輸出數(shù)據(jù)1次,可用串口中斷方式讀取。NMEA-0183協(xié)議每一語句內(nèi)含的各個(gè)內(nèi)容均以逗號(hào)隔開,可以通過判斷逗號(hào)的個(gè)數(shù),識(shí)別時(shí)間數(shù)據(jù)和日期數(shù)據(jù),其流程如圖4所示。 2.3主程序設(shè)計(jì) 打鈴儀主程序流程如圖5所示,程序結(jié)構(gòu)采用散轉(zhuǎn)結(jié)構(gòu),該結(jié)構(gòu)抗干擾能力強(qiáng),程序跑飛能自動(dòng)重人。按鍵子程序含有長按功能,在設(shè)置響鈴時(shí)間時(shí)利用按鍵長按功能便于快速設(shè)置。用戶可長按即時(shí)響鈴鍵實(shí)現(xiàn)即時(shí)響鈴功能,以避免誤按響鈴。 3打鈴儀設(shè)計(jì)的注意問題 天線部分的PCB設(shè)計(jì)很重要,它直接關(guān)系到GPS信號(hào)的接收效果。本設(shè)計(jì)采用的是無源天線,天線接收下來的信號(hào)進(jìn)入GPS模塊的RF引腳之前的一段PCB走線要求具有50 Ω的匹配阻抗。 GPS模塊 GPS-312串行輸出默認(rèn)波特率為4 800,通常情況下,該波特率滿足需求。 GPS模塊GPS-312輸出時(shí)間為格林尼治時(shí)間,應(yīng)轉(zhuǎn)換為北京時(shí)間,即在GS-312輸出時(shí)間的小時(shí)位加上8。應(yīng)注意,在格林尼治時(shí)間的16:00-24:00之間加8后時(shí)間格式的轉(zhuǎn)變,同時(shí)日期要加1。 結(jié)語 采用GPS時(shí)間為基準(zhǔn)的打鈴儀已經(jīng)批量生產(chǎn)。用戶實(shí)用證明,該機(jī)走時(shí)精確、使用方便、人機(jī)交互友好;缺點(diǎn)是在收不到GPS信號(hào)的場合,依靠晶振分頻計(jì)時(shí)與普通打鈴儀一樣存在計(jì)時(shí)誤差。本設(shè)計(jì)采用RS422協(xié)議將GPS接收到的信號(hào)進(jìn)行較遠(yuǎn)距離傳送,只要將室外單元放在開闊地,便可較好地解決收不到GPS信號(hào)的問題。 本方案稍加改進(jìn),即可方便地應(yīng)用于走時(shí)極為準(zhǔn)確的萬年歷或時(shí)間控制器。該時(shí)間控制器可以方便地實(shí)現(xiàn)多機(jī)同步控制。可見,本方案具有一定的推廣價(jià)值。 參考文獻(xiàn) 1. 廣州鑫圖科技有限公司.GS-312模塊數(shù)據(jù)手冊(cè)[DB/OL].[2009-02-07].http://www.gzxintu.com /download.asp?classid=2&page=2. 2. B&B Electronics Mfg Co Inc.RS-422 and RS-485 Application Note[DB/OL].[2009-02-17].http://www.chuandong.com/publish/data/2008/2/data_9_46223.html. 3. Maxim Integrated Products.MAX488 Data Sheet[DB/OL].[2009-02-17].http://soft.laogu.com/datasheet/16/MAX485_MAXIM_138350.pdf. 4. Garmin 公司.NMEA 0183-3.01[DB/OL].[2009-02-07].http://www.nmea.org/store/index.asp?show=cprd&cid=8. 作者:漳州師范學(xué)院 張華林 葛水煥 來源:《單片機(jī)與嵌入式系統(tǒng)應(yīng)用》 2009(10) |