《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信与网络 > 设计应用 > GPS模块在打铃控制器中的应用
GPS模块在打铃控制器中的应用
Icbuy
Icbuy
摘要:   定时打铃器广泛应用于工厂、车站、学校、机关、部队等企事业单位实现作息打铃。目前打铃控制系统主要有两种形式,一种为使用计算机声卡输出打铃信号,利用串口控制打铃设备的电源。另一种以单片机为核心辅助时钟芯片构成的定时打铃器。由于计算机控制的打铃器使用的灵活性差及价格较高因此市场占有率较低,而单片机最小系统构成的打铃器使用灵活且操作方便因此在市场中具有很大的优势。
Abstract:
Key words :
 

  定時打鈴器廣泛應(yīng)用于工廠、車站、學(xué)校、機(jī)關(guān)、部隊等企事業(yè)單位實現(xiàn)作息打鈴。目前打鈴控制系統(tǒng)主要有兩種形式,一種為使用計算機(jī)聲卡輸出打鈴信號,利用串口控制打鈴設(shè)備的電源。另一種以單片機(jī)為核心輔助時鐘芯片構(gòu)成的定時打鈴器。由于計算機(jī)控制的打鈴器使用的靈活性差及價格較高因此市場占有率較低,而單片機(jī)最小系統(tǒng)構(gòu)成的打鈴器使用靈活且操作方便因此在市場中具有很大的優(yōu)勢。目前單片機(jī)為核心的打鈴器主要利用時鐘芯片作為定時基準(zhǔn),因此時鐘芯片晶振選擇的好壞直接影響到時間精度,但即使選擇再好的晶振系統(tǒng)總是存在誤差。隨著時間的推移累積誤差將越來越大,因此要求隔一段時間對時鐘必須進(jìn)行手動校準(zhǔn)。這樣無形中增加了打鈴器的應(yīng)用復(fù)雜性,也給人們對打鈴器的信任度大打折扣。為了解決該問題本文提出了一種利用GPS信號作為時鐘基準(zhǔn)源的方案,它省去了人為校時,并始終和北京基準(zhǔn)時間處于基本同步狀態(tài)。

  1控制器結(jié)構(gòu)總體設(shè)計

  系統(tǒng)以C8051F330D為主控芯片,供電范圍為2.7~3.6V,集成有24.54MHz可±2%的精度調(diào)節(jié)的振蕩器,同時內(nèi)置8kFlash存儲器和768字節(jié)的數(shù)據(jù)存儲器不需外擴(kuò)存儲芯片,可方便地構(gòu)成單片機(jī)最小系統(tǒng)。系統(tǒng)結(jié)構(gòu)如圖1所示。

a.JPG

  單片機(jī)讀取E531數(shù)據(jù)從而獲得標(biāo)準(zhǔn)的格林威治時間,將格林威治時間加上八小時即得到標(biāo)準(zhǔn)的北京時間。用該時間對DS1302實時時鐘芯片校時,這樣DS1302的時鐘始終不會偏離標(biāo)準(zhǔn)北京時間。當(dāng)系統(tǒng)電源停止時DS1302利用備用電源在低功耗下計時,一旦系統(tǒng)上電DS1302會得到新的校時信息,從而保證了時間的連續(xù)性和準(zhǔn)確性。打鈴驅(qū)動部分采用繼電器輸出,這樣可以適應(yīng)不同的電鈴電源接口。

  2硬件結(jié)構(gòu)設(shè)計

  2.1系統(tǒng)電源設(shè)計

  考慮到打鈴器的使用方便,系統(tǒng)電源由交流220V供電,內(nèi)部通過開關(guān)電源得到DC5V電源。系統(tǒng)中打鈴控制繼電器由DC5V供電,C8051F330D單片機(jī)、DS1302和E531模塊均為3.3V電源。電路中采用低壓差線性穩(wěn)壓芯片AS1117—33CX作為電源轉(zhuǎn)換模塊,其電路如圖2所示。輸入DC5V電壓輸出直流3.3V最大電流負(fù)載為800mA,其內(nèi)部主要由啟動、偏置和過熱過流保護(hù)電路以及功率管及其驅(qū)動電路組成。當(dāng)系統(tǒng)電流大于1.4A或芯片溫度大于140℃時電源將自動進(jìn)行過流和過熱保護(hù)可以保證后級芯片和電路的安全。

b.JPG

  2.2控制器時間基準(zhǔn)電路設(shè)計

  控制器時間基準(zhǔn)主要由GPS接收模塊和時鐘芯片DS1302兩部分電路組成。GPS即全球定位系統(tǒng),主要由空間部分、控制部分和用戶部分組成。用戶部分是各種定位工具的主要構(gòu)成核心也就是常說的GPS接收模塊。按照接收模塊的不同用途主要分為測地型型接收模塊、導(dǎo)航型接收模塊和定時型接接收模塊。在本控制器中采用GPS接收模塊E531用作定時型方式。E531為12通道的GPS接收模塊,可以同時跟蹤多達(dá)12顆GPS衛(wèi)星;它具有兩個CMOS電氣特性的串行接口,波特率可由軟件設(shè)置為4800、9600、19200等;串口0輸入輸出為NMEA0183協(xié)議的ASCII語句,串口1為二進(jìn)制協(xié)議。E531的接口定義如圖3所示,單片機(jī)僅需與其中的串口0的TX0、RX0、復(fù)位和硬件喚醒4根連線即可。

c.JPG

  DS1302是一款涓流充電時鐘芯片,包括實時時鐘/日歷和31字節(jié)的靜態(tài)RAM。經(jīng)過簡單的同步串行數(shù)據(jù)接口和單片機(jī)通信,提供秒、分、時、日、周、月和年信息,對于閏年的天數(shù)和月天數(shù)可自動進(jìn)行調(diào)整。掉電時可采用備用電池在功率小于1mW的情況下工作。DS1302的VCC1和VCC2作為芯片的電源供電引腳,VCC2接系統(tǒng)的3.3V電源,VCC1接備用充電電池,在正常工作時通過設(shè)置DS1302的控制字在正常工作時可以對備用電池進(jìn)行充電。時間基準(zhǔn)電路如圖4所示。

d.JPG

  設(shè)置單片機(jī)的交叉開關(guān)XBR1的值為0x40將XBARE位置1使能交叉開關(guān),并設(shè)置交叉開關(guān)XBR0的值為0x01將單片機(jī)串口引腳TX0和RX0配置為P0.4與P0.5管腳。P0.4和P0.5分別連接到E531模塊串口0的RX0和TX0進(jìn)行通信。單片機(jī)P1.1,P1.2作為E531復(fù)位和硬件喚醒控制。DS1302采用32.768kHz晶振作為獨(dú)立定時基準(zhǔn)。它的SCLK、I/O和/RST引腳分別連接到單片機(jī)P0.6、P0.7和P1.0管腳與之實現(xiàn)同步串行通信。

  2.3系統(tǒng)鍵盤顯示部分結(jié)構(gòu)設(shè)計

  在滿足需求的同時為盡量保證打鈴控制器的結(jié)構(gòu)簡潔,打鈴控制器設(shè)計了4個按鍵和一個液晶顯示屏以實現(xiàn)人機(jī)接口。其中KEY1為數(shù)字按鍵,每按下一次當(dāng)前光標(biāo)的數(shù)字值加一,在數(shù)字‘0’和‘9’之間循環(huán)設(shè)置。KEY2鍵為光標(biāo)移動鍵,選擇控制器顯示界面中的不同菜單進(jìn)行設(shè)置或瀏覽。KEY3鍵為確認(rèn)鍵當(dāng)光標(biāo)移動到一個菜單時或數(shù)字修改完成后按下確認(rèn)鍵可保存該次設(shè)置和選擇。KEY4鍵為‘返回/取消’功能鍵。液晶顯示屏采用LCM128645采用串行方式的數(shù)據(jù)接口與單片機(jī)僅需3根線連接即可。

  2.4系統(tǒng)原理圖設(shè)計

  按照系統(tǒng)原理框圖形成如圖5所示的原理圖。

e.JPG

  當(dāng)系統(tǒng)時間和設(shè)置的打鈴時間相等時單片機(jī)P1.3輸出高電平,通過9013的放大驅(qū)動使繼電器K1線圈動作,其常開接點(diǎn)NO和COM斷吸合(同時其常閉接點(diǎn)NC和COM端斷開)控制外部電鈴電源從而響鈴。

  3軟件設(shè)計

  系統(tǒng)軟件主要包括有時鐘同步、打鈴控制和顯示鍵盤程序等幾部分。時鐘同步程序是單片機(jī)通過串口讀取E531模塊的實時信息,在信息有效地狀態(tài)下提取當(dāng)前的格林威治時間轉(zhuǎn)換為北京時間后對DS1302時間進(jìn)行校正。單片機(jī)和E531的通信采用NMEA0183協(xié)議中的RMC協(xié)議進(jìn)行通信,波特率設(shè)置為9600。因此單片機(jī)上電后對E531進(jìn)行通信格式配置,協(xié)議格式為:“$PUNV,CONFIG,00,CM,00,1000,BPS,MASK*34”。該指令中$PUNV和CONFIG為指令碼,固定不變。CM=0000表示采用NMEA0183協(xié)議,CM=0101則表示采用UBP協(xié)議。BPS為串口的波特率取值為9600。GPS輸出的信息數(shù)據(jù)和對應(yīng)的代碼如下所示:

  GGA—01,GL—02,GSA—04,GSV—08,RMC—10,VTG—20,ZDA—40,DTM—80。MASK是要求GPS模塊輸出信息的代碼和,比如要求GPS模塊輸出GGA和RMC信息則MASK值為01+10=11,本設(shè)計中主要為了讀取標(biāo)準(zhǔn)時間和日期需要配置GPS輸出RMC信息所以MASK取值為10。因此配置指令為:“$PUNV,CONFIG,00,0000,00,1000,9600,10*34”。

  當(dāng)E531捕捉到有效衛(wèi)星信號后則主動通過串口0發(fā)出RMC信息,格式為:“$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh”其每部分的內(nèi)容如表1所示。

f.JPG

  在配置好信息輸出后,E531將每秒輸出一次數(shù)據(jù),數(shù)據(jù)信息以‘,’為區(qū)分符。當(dāng)單片機(jī)收到一幀完整的RMC數(shù)據(jù)后,根據(jù)數(shù)據(jù)中<2>的內(nèi)容判斷定位是否有效,當(dāng)定位有效單片機(jī)讀取<1>和<10>得到時間和日期信息。根據(jù)系統(tǒng)各部分功能得到如圖6所示程序流程圖。

g.JPG

  當(dāng)獲得有效格林威治時間后,對其進(jìn)行加八小時調(diào)整,就得到北京時間然后對本地DS1302時鐘芯片校時。在獲得標(biāo)準(zhǔn)時間后讀取單片機(jī)內(nèi)設(shè)置的打鈴時間判斷是否和打鈴時間相等若相等則進(jìn)行打鈴控制。

  4結(jié)束語

  采用GPS模塊E531以單片機(jī)最小系統(tǒng)為核心實現(xiàn)了一款應(yīng)用靈活、操作方便、時間準(zhǔn)確的打鈴控制器。該控制器提供了打鈴系統(tǒng)常用的接點(diǎn)接口因此在打鈴電路不變的情況下可以直接替代原有的控制器。通過實際測試打鈴控制器和北京時間的絕對誤差小于100ms,該誤差主要是由于GPS信息的讀取以及單片機(jī)對時間轉(zhuǎn)換和處理的時延所造成,對于一般的應(yīng)用場合已經(jīng)完全滿足要求。

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。

相關(guān)內(nèi)容