基于瑞薩R7F0C002單片機(jī)的JJY數(shù)字電波鐘設(shè)計(下)
接上篇
本文引用地址:http://www.ex-cimer.com/article/273291.htm4 軟件流程
JJY 數(shù)字電波鐘可以自動或手動接收時碼,并在 LCD 面板上實時顯示年、月、日、時、分、秒等時間信息,也可以手動設(shè)置當(dāng)前時間,同時還具有鬧鐘設(shè)置和響鈴功能。
主程序的設(shè)計思想為在實現(xiàn)時鐘的時間設(shè)置、時間顯示等基本功能的基礎(chǔ)上,融合加入JJY 解碼程序,并將解碼后的標(biāo)準(zhǔn)時間信息更新到實時時鐘,然后繼續(xù)走時顯示,以達(dá)到與標(biāo)準(zhǔn)時間的高度同步。程序主要分為時間顯示子程序、時間設(shè)置子程序、鬧鐘設(shè)置子程序、鬧鐘響鈴子程序以及手動(自動)接收電波子程序。
時鐘電波接收子程序是整個程序的關(guān)鍵和核心,它是接收系統(tǒng)的授時技術(shù)思想的體現(xiàn),其設(shè)計水平直接關(guān)系到接收準(zhǔn)確度和時間同步精度。接收時碼子程序需要對受干擾信號的正確性進(jìn)行判別,并通過一定算法保證與授時中心的標(biāo)準(zhǔn)時間同步,即較好地實現(xiàn)秒同步和分鐘同步(位同步和幀同步)。同步的基本思想是:首先利用每一位零時刻來找到秒同步,再找到連續(xù)的兩個 P 碼,確定分鐘同步,最后便可得到一幀的時間信息數(shù)據(jù),實現(xiàn)與標(biāo)準(zhǔn)時間的同步。若在此過程中出現(xiàn)差錯,則返回重新開始。
算法實現(xiàn)采用“采樣法”,其基本思想是:時間電波接收任務(wù)開啟后,每隔 10ms 對信號電平采樣一次,當(dāng)有電平變化時,在接下來的連續(xù) 5 次采樣中,至少有 3 次為已變化電平,則判斷此電平變化為有效變化,這樣可以最大限度濾掉干擾。然后通過累計高電平的采樣次數(shù),就可以判斷時碼的狀態(tài)為 1 、 0 或 P。JJY 接收程序流程如圖6所示。
實際接收的時碼信息由于受到各種因素的影響,脈寬不能正好等于 0.2s、 0.5s、0.8s。為此允許脈寬± 100ms 的誤差,即 200ms± 100ms、 500ms± 100ms、 800ms± 100ms 均認(rèn)為是正常編碼,超出此范圍即認(rèn)定為錯誤碼。
連續(xù)收到 2 個 P 碼定為 1 幀的開始,此后連續(xù)接收 59 個正確的時碼,則表明完整的一幀時間數(shù)據(jù)接收完畢。由于 JJY60 傳輸?shù)娜掌跒橐荒陱?1 月 1 日到現(xiàn)在的天數(shù),所以最終還要變換成月日,轉(zhuǎn)換時,注意閏年的時間處理。
由于東京時間早北京時間 1 小時, 所以如果在中國使用, 需要將轉(zhuǎn)換時間減一小時。
此外, 由于接收完一幀數(shù)據(jù)需要一分鐘時間, 所以當(dāng)前接收到的時間為上一分鐘的時間,需要對接收的時間增加一分鐘。程序除了進(jìn)行小時、分鐘奇偶校驗外,對收到的時間信息還要校驗其符合性。例如日不能大于 366;小時不能大于 23 等,不然可能會顯示一些混亂的時間。
此外,接收模塊的天線要遠(yuǎn)離電路板、電池組和液晶屏,否則收不到信號。另外系統(tǒng)也要遠(yuǎn)離變壓器、電腦等干擾源。測試時調(diào)整天線的位置,直到看到綠色 LED 有規(guī)律的閃爍表示接收正常。在北京,測試表明,白天在空曠地可以接收,夜晚在室內(nèi)可以接收。
5 結(jié)論
本文設(shè)計的系統(tǒng)以瑞薩 16 位單片機(jī)為核心控制部件, 通過軟件編程實現(xiàn)電波鐘表的基本功能。它通過接收日本標(biāo)準(zhǔn)授時中心的時碼信號,經(jīng)濾波與解碼后對時鐘進(jìn)行自動校時,以消除時鐘的累積誤差,從而實現(xiàn)全自動同步準(zhǔn)確計時。較好地彌補(bǔ)了普通時鐘走時不準(zhǔn)、需人工校準(zhǔn)等缺點,極大地提高了計時精度,有很大的發(fā)展?jié)摿褪袌銮熬啊?/p>
LCD顯示屏相關(guān)文章:lcd顯示屏原理
lcd相關(guān)文章:lcd原理
評論