首先分析了CDMA 授時信號用于單片機的可行性及其準確性,同時給出了總體的硬件、軟件設計方案。
通過制作實物,較好地達到了設計的目的。
1 CDMA 授時信號方法與應用
1.1 CDMA授時信號的接收
CDMA 無線通信技術的關鍵在于精準的時鐘標準,而世界上大多數(shù)精確的授時標準都使用GPS 時鐘進行授時。CDMA 基站在獲取GPS 授時信號后將其搭載在CDMA 頻段上發(fā)射出去,這也是CDMA 手機無時間調整選項的原因。AnyData 公司的DTGS800 CDMA 模塊是一款用于CDMA 研發(fā)的實驗模塊,可以執(zhí)行AT CDMA 指令。通過使用此模塊即可以實現(xiàn)CDMA 授時信號的接收。
1.2 CDMA 模塊與單片機的通信
DTGS 800 CDMA 模塊可使用標準的RS 232 電平信號,這樣就可以實現(xiàn)單片機與CDMA 模塊的數(shù)據(jù)通信。單片機通過發(fā)出AT + TIME? 指令詢問CDMA 模塊當前時間,CDMA 模塊在接收到此信號并且有網(wǎng)絡信號的情況下就可以返回給單片機以時間、日期、星期等信息,從而實現(xiàn)授時信號的獲取。
其計時精度經(jīng)過在線實驗,與國家天文授時臺提供的北京時間一致,誤差不超過1s/ h。
1.3 授時信號的分析與應用
CDMA 模塊傳回的時間信號為標準的ASCII碼,通過編程很容易實現(xiàn)信息的分析與處理。單片機將分析處理后的時間信息授給DS1302 時鐘芯片,DS1302 接收到初始的時間后開始計時同時將時間實時地通過串口傳回單片機以供外部設備使用。
2 系統(tǒng)硬件設計
2.1 系統(tǒng)功能模塊設計
2. 1. 1 CDMA 授時模塊設計
DTGS 800 CDMA 模塊是AnyData 公司的CDMA模塊中同類型產(chǎn)品中體積最小,速度最快,功能最齊全的模塊,可成功用于本設計中。主要特點有: 標準的RS 232C 接口、工作頻段800 MHz、數(shù)據(jù)傳輸率高達153 kbps、可通過AT 命令進行遠程控制、外部重啟功能等。DTGS 800 CDMA 模塊典型應用結構如圖1 所示。
圖1 DTGS 800 典型應用示意圖
DTGS 800 CDMA 模塊主要的接口有: 通用異步串行口UART、通用I/O 口GPIO、編解碼器接口CODEC、用戶接口User Interface、PM 接口。詳細介紹如下:
?、偻ㄓ卯惒酱锌赨ART,串行數(shù)據(jù)的通信符合標準RS 232 接口協(xié)議。UART2 除了作為串行口外,還可以做用戶識別模塊(UIM) 卡接口;
?、谕ㄓ肐/O 口GPIO 可配置成輸入中斷源。此外,一些GPIO 引腳也可用于輸出控制引腳;
?、劬幗獯a器接口CODEC。模擬音頻接口電路,可支持會話及音頻放大,用于耳機輸入,*和輔助音頻輸出;
④PM 接口具有外部硬件復位控制和掉電存儲功能。有2 種方式可以重啟模塊。第1 種方法是:發(fā)送AT+ RESET 命令到主處理器; 第2 種方法是:憑借外部硬件復位。DTGS 800 CDMA 模塊還具有掉電存儲功能。在掉電之前,會發(fā)送掉電信息AT+POWEROFF 命令到CDMA 基站,以使其存儲能力最長可保持12 s;
⑤用戶接口User Interface 包括5* 6 的鍵盤接口和8 / 16 位并行LCD 顯示接口。
2. 1. 2 DS1302 計時模塊設計
DS1302 時鐘芯片是DALLAS 公司推出的一種高性能、低功耗的實時時鐘芯片,附加31 字節(jié)靜態(tài)RAM,采用SPI 三線接口與CPU 進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號和RAM 數(shù)據(jù)。實時時鐘可提供秒、分、時、日、星期、月和年,一個月小于31 天時可以自動調整,且具有閏年補償功能。系統(tǒng)的主要計時功能由此模塊完成,當按下人工授時按鍵或系統(tǒng)自動查詢時間后,可以將授時的精確時間信息寫入此芯片中,由此芯片繼續(xù)計時。與單片機連接電原理圖如圖2 所示。
圖2 ATmega16 與DS1302 連接電原理圖
2.2 系統(tǒng)總體硬件設計
系統(tǒng)以Atmega16 單片機最小系統(tǒng)作為處理核心,以DTGS 800 CDMA 模塊作為授時信號源,以DS1302 時鐘芯片作為輔助計時模塊。
系統(tǒng)開機后,單片機首先查詢CDMA 模塊的信號情況,當確認CDMA 信號存在后,發(fā)出查詢時間指令并確認返回時間信息,接著將獲取得時間信息進行分析處理并初始化DS1302 時鐘芯片,最后將時間信息通過串口發(fā)給外部設備。
采用ATmega16 作為中央處理器是因為其具有2 個串口通信端口以滿足系統(tǒng)的數(shù)據(jù)傳輸需要。使用DS1302時鐘芯片作為為系統(tǒng)的主計時芯片,這樣就可以使DTGS 800 CDMA 模塊處于待機狀態(tài)從而達到減小系統(tǒng)的功耗的目的。鍵盤按鍵主要完成系統(tǒng)復位、人工授時、手動調整時間等功能。系統(tǒng)組成如圖3 所示。
圖3 系統(tǒng)硬件組成框圖
3 系統(tǒng)軟件設計
系統(tǒng)開機后,各模塊進行初始化。ATmega16 打開串口向DTGS 800 CDMA 模塊發(fā)出查詢網(wǎng)絡信號指令“ AT+ CAD?”同時開啟鍵盤按鍵I/O 中斷,當查詢返回值為% OK&即網(wǎng)絡可用時,再發(fā)出時間查詢指令“AT + TIME?”,否則將繼續(xù)查詢網(wǎng)絡信號情況。
DTGS 800 CDMA 模塊收到“ AT+ TIME?”查詢指令后向單片機返回時間信息,單片機對時間信息進行分析處理并將處理后的時間信息通過SPI 通信對DS1302 時鐘芯片進行初始化時間設置,此時系統(tǒng)就以DS1302 時鐘芯片作為系統(tǒng)的主計時器并由單片機讀取其時間信息,再由單片機通過串口將時間信息發(fā)給外部設備。系統(tǒng)每小時進行一次自動授時也可以通過獲取外部中斷進行人工授時。
軟件流程如圖4所示。
圖4 軟件設計流程圖
4 結束語
針對傳統(tǒng)的授時源室內信號差、成本高等問題,對CDMA 無線通信技術在自動授時上的應用進行了研究,采用Atmega16 單片機設計開發(fā)了自動授時源,并成功運用到萬年歷、電子時鐘等系統(tǒng)中,實踐證明了本設計方案合理可行,能滿足一般的計時系統(tǒng)對時間的精確性和實時性的要求。該設計具有室內信號好、自動智能授時、低成本、低功耗等特點,有一定的市場競爭力。