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