1 引言 隨著時代的發展,人類對于精確的時間越來越重視,像國防、衛星、天氣監控等系統,需要精確的時間來做資料的備份以及同步的處理。傳統的計時方式難以滿足日益精確的時間要求,融合了微電子技術、計算機技術、通訊技術與現代時頻技術的電波鐘正是成為合適的選擇。它接收授時中心以無線電長波傳送的標準時間信號,并通過內置微處理器解碼處理,從而實現時間自動校準,使電波鐘表顯示的時間與國家的標準時間保持高度同步。 鑒于目前我國 BPC 低頻時碼格式尚未公開,我們只能制作接收日本 JJY60 信號的電波鐘表。日本是全世界對電波計時倡導最積極的國家之一,在狹長的地理范圍里,就搭建了兩臺電波發射站,由福島(40kHz)和九州(60kHz)兩處發射。其覆蓋范圍如圖 1 所示。 JJY 編碼格式以 1 分鐘為 1 幀,每秒接收 1 位時碼信息。這些信息以 BCD 碼格式表示,有不同的權重值。時碼信息為脈沖信號,每秒的開始對應于 1 位脈沖信號的上升沿,這樣可以與標準時間精確同步。不同的脈沖寬度表示不同的時碼,高電平寬度為0.2s 表示定位碼 P 碼, 0.8s 表示邏輯 0, 0.5s 表示邏輯 1 。時間信息為各位數值乘以權重值的求和。在第 59 秒和第 0 秒連續兩個定位碼表示一個新幀的起始。時碼信息中不包含月和日信息,而是包含 1 年從 1 月 1 日開始的天數。各信息位的含義見圖 2。 2 系統構建 基于日本低頻時碼授時信號 JJY 的數字電波鐘設計,以瑞薩 16 位單片機R7F0C002 為處理核心,以 CME6005 專用 IC 為主要接收芯片,通過軟件算法,實現授時信號遠距離的接收,時間精度達到秒同步。 R7F0C002 內部集成了 RTC 功能,這樣即使在不接收授時信號的情況下,電波鐘也可以正常工作并保證時間準確。此外, MCU 內部還集成了 LCD 驅動器/控制器,可以直接控制 LCD 面板,實時顯示時、分、秒、年、月、日、星期等時間信息。 此電波鐘具有 5 個獨立的按鍵,分別完成接收授時電波并更新當前時間任務,時間設置任務以及鬧鐘設置任務。 LED 電路可對接收電波成功與否進行實時指示。整個方案原理框圖如圖 3 所示。 2.1 MCU 介紹 R7F0C002 微控制器采用了 RL78 內核,同時實現了高速處理性能與較低的功耗。MCU 內部集成了高精度( ±1%)片上振蕩器, CPU 運行頻率最高可達到 24MHz。 此外,還集成了多達 22SEG× 8COM 的 LCD 控制器/驅動器、上電復位(POR)電路、電壓檢測電路(LVD)、看門狗定時器、時鐘輸出/蜂鳴器輸出控制電路以及實時時鐘( RTC)電路,有助于系統的低成本設計。其緊湊的尺寸和低功耗性能,使得此產品更適用于家用電器、移動設備等應用。R7F0C002 MCU 的 ROM 空間為 32KB, RAM 空間為 1.5KB,數據閃存為 2KB。 2.2 JJY 雙頻電波接收模塊 本系統采用深圳科業電子有限公司生產的 JJY 雙頻接收模塊獲取低頻電波授時信號。該模塊靈敏度高,電源可控,功耗小,工作電壓范圍為 1.5 到 3.5V,工作電流 70uA-100uA,靜態電流 0.2uA-2uA。模塊采用高度集成的 BI-CMOS 低頻接收解碼芯片CME6005。該高靈敏度、低功耗的芯片能解調多國電波信號,包括美國 (WWVB)、德國(DCF77)、日本(JJY40 和 JJY60)、英國(MSF) 和瑞士(HBG)。 CME6005 內含一個獨特的雙頻晶體補償功能、單/雙頻電波接收功能、 AGC 鎖定功能,且所需外圍元器件少,使 CME6005 成為一個極理想的無線電波表方案。 模塊天線尺寸為 9*10*60 mm, PCB 尺寸為 1.0*13.5*22 mm,引腳定義如下: 1. V-接電源 VCC ( 1.5 ~ 3.5V)。 2. G-接地 GND。 3. TN( T) -時間信號反向輸出。 4. TP(無絲印) -時間信號正向輸出,與 MCU 輸入引腳相連。 5. P-電源控制腳,與 MCU 輸出引腳相連。需要模塊工作時,該管腳設置為低電平,反之設置為高電平。 6. H-自動增益控制接高電平,該模塊內部已連接好高電平。 7. F-頻率選擇控制腳,與 MCU 輸出引腳相連。高電平時,選擇的時碼接收頻率為 60kHz;低電平時,選擇的時碼接收頻率為 40kHz。系統調試過程中可使用 JJY_Simulator 軟件,通過電腦耳機模擬 40kHz 的電波鐘信號發射。自制發射耳機如圖4所示。 耳機模擬發射的 JJY 電波信號及電波接收模塊的輸出信號如圖5所示,接收的數據為2014 年 9 月 7 日 9 點 47 分的時間信息。 3 硬件設計 JJY 數字電波鐘具有顯示單元,按鍵輸入單元、鬧鐘響鈴輸出單元、時間電波接收單元以及 LED 狀態指示單元,其硬件原理如圖6所示。(未完待續) 4 軟件流程 JJY 數字電波鐘可以自動或手動接收時碼,并在 LCD 面板上實時顯示年、月、日、時、分、秒等時間信息,也可以手動設置當前時間,同時還具有鬧鐘設置和響鈴功能。 主程序的設計思想為在實現時鐘的時間設置、時間顯示等基本功能的基礎上,融合加入JJY 解碼程序,并將解碼后的標準時間信息更新到實時時鐘,然后繼續走時顯示,以達到與標準時間的高度同步。程序主要分為時間顯示子程序、時間設置子程序、鬧鐘設置子程序、鬧鐘響鈴子程序以及手動(自動)接收電波子程序。 時鐘電波接收子程序是整個程序的關鍵和核心,它是接收系統的授時技術思想的體現,其設計水平直接關系到接收準確度和時間同步精度。接收時碼子程序需要對受干擾信號的正確性進行判別,并通過一定算法保證與授時中心的標準時間同步,即較好地實現秒同步和分鐘同步(位同步和幀同步)。同步的基本思想是:首先利用每一位零時刻來找到秒同步,再找到連續的兩個 P 碼,確定分鐘同步,最后便可得到一幀的時間信息數據,實現與標準時間的同步。若在此過程中出現差錯,則返回重新開始。 算法實現采用“采樣法”,其基本思想是:時間電波接收任務開啟后,每隔 10ms 對信號電平采樣一次,當有電平變化時,在接下來的連續 5 次采樣中,至少有 3 次為已變化電平,則判斷此電平變化為有效變化,這樣可以最大限度濾掉干擾。然后通過累計高電平的采樣次數,就可以判斷時碼的狀態為 1 、 0 或 P。JJY 接收程序流程如圖6所示。 實際接收的時碼信息由于受到各種因素的影響,脈寬不能正好等于 0.2s、 0.5s、0.8s。為此允許脈寬± 100ms 的誤差,即 200ms± 100ms、 500ms± 100ms、 800ms± 100ms 均認為是正常編碼,超出此范圍即認定為錯誤碼。 連續收到 2 個 P 碼定為 1 幀的開始,此后連續接收 59 個正確的時碼,則表明完整的一幀時間數據接收完畢。由于 JJY60 傳輸的日期為一年從 1 月 1 日到現在的天數,所以最終還要變換成月日,轉換時,注意閏年的時間處理。 由于東京時間早北京時間 1 小時, 所以如果在中國使用, 需要將轉換時間減一小時。 此外, 由于接收完一幀數據需要一分鐘時間, 所以當前接收到的時間為上一分鐘的時間,需要對接收的時間增加一分鐘。程序除了進行小時、分鐘奇偶校驗外,對收到的時間信息還要校驗其符合性。例如日不能大于 366;小時不能大于 23 等,不然可能會顯示一些混亂的時間。 此外,接收模塊的天線要遠離電路板、電池組和液晶屏,否則收不到信號。另外系統也要遠離變壓器、電腦等干擾源。測試時調整天線的位置,直到看到綠色 LED 有規律的閃爍表示接收正常。在北京,測試表明,白天在空曠地可以接收,夜晚在室內可以接收。 5 結論 本文設計的系統以瑞薩 16 位單片機為核心控制部件, 通過軟件編程實現電波鐘表的基本功能。它通過接收日本標準授時中心的時碼信號,經濾波與解碼后對時鐘進行自動校時,以消除時鐘的累積誤差,從而實現全自動同步準確計時。較好地彌補了普通時鐘走時不準、需人工校準等缺點,極大地提高了計時精度,有很大的發展潛力和市場前景。 |