一種低成本的無線IRIG-H(DC)解碼器
摘要:基于ATmega8單片機設計出一種簡單、可靠、低成本的H碼(DC)解碼器。通過標準RS485接口接收差分H碼信號,信號經隔離后通過單片機解碼程序處理,轉換成標準時間碼(時分形式)通過無線方式發(fā)送給其他設備。此設計增強了解碼器的使用方便性以及時間數據及通信協(xié)議設計的靈活性,在實際應用中取得了滿意的效果。
本文引用地址:http://www.biyoush.com/article/201610/306390.htm引言
在工業(yè)控制、電力和其他商業(yè)系統(tǒng)中,IRIG-H碼的校時設備在系統(tǒng)時鐘精度要求不高的場合非常適用,可利用其解碼設備占用資源少、效率高的優(yōu)勢為其他設備提供統(tǒng)一校時。本文通過ATmega8單片機,根據IRIG-H碼編制程序進行解碼處理,轉換出常用的標準時間格式。由于IRIG-H碼每分鐘一幀,低速和低數據量很適合無線通信使用??赏ㄟ^無線方式發(fā)送時間數據,其他設備可通過無線接收其數據,校對自己的時間或進行其他應用。
1 系統(tǒng)原理分析
IRIG(Intcr Range Instrumentation Group)即靶場儀器組,它是美國靶場司令委員會所屬的機構,它制定了IRIG-H時間碼(簡稱H碼),此標準時間碼可以用來校正時間,與時統(tǒng)總站對時,也可以通過時間碼對時統(tǒng)設備精確授時。IRIG-H以分鐘為最小單位,可應用在路燈控制、農業(yè)灌溉、智能樓宇等方面。
IRIG時間碼標準有兩大類:一類是并行時間碼格式;另一類是串行時間碼。并行格式由于傳輸距離較近,因此沒有串行格式應用廣泛。串行時間碼共有6種格式,即IRIG-A、B、D、E、G、H。它們的主要差別是時間碼的幀速率不同,其中H碼格式主要參數如表1所列。

IRIG-H碼每個脈沖對應一個碼元,每一個碼元占用1 s的時間,根據脈沖中高電平時間不同,共分3種碼元,如圖1所示。碼元信息“0”和碼元信息“1”所對應碼元的高電平分別為0.2 s和0.5 s,P碼元的位置碼元對應高電平時間為0.8 s,用于編解碼的定位。
H碼傳送方式為一分鐘一幀,H碼的一幀時間信息如圖2所示??梢钥闯雒繋?0個碼元,其中P0、PR、P1、P2、P3、P4、P5為位置識別標志,參考碼元PR后到下一幀的位置識別碼元P0共60個碼元,每個碼元都對應相應的碼元計數從0~59,可見位置碼元PR后面是分、時等時間信息,因此PR碼元是重要的基準參考碼元。位置P1~P4中含有分一時一天的信息,P5可用來添加控制信息。

在解碼時,若連續(xù)檢測到兩個位置碼可知一幀開始。P0后1~9碼元為無信息碼元;第10~13碼元表示分的個位,15~17碼元表示分的十位,共7個碼元;第20~23碼元表示時信息個位,25、26兩個碼元表示時信息十位,共6個碼元;第30~33、35~38、40~41各使用4個碼元來表示天數的個位和十位,使用2個碼元來表示天數的百位,共使用10個碼元。將每年的1月1日定為第1天,全年共365天(閏年為366天)。后接控制位信息,第50~59共10個碼元。其中14、24、34等碼元為索引標志。一般應用只需檢測到P4即可,以上時間信息采用二進制數表示十進制的編碼,即十進制時間信息每一位十進制數用二進制數編碼,表示次序由低到高,個位在前十位在后。
2 系統(tǒng)概述
無線IRIG-H碼解碼器可分為3部分:①信號轉換模塊;②MCU解碼模塊;③無線發(fā)送模塊。H碼解碼器系統(tǒng)功能框圖如圖3所示。

信號轉換模塊是IRIG-H(DC)碼數據首先經過的部分,信號輸入后經過RS485電平轉換電路轉換成TTL電平,然后信號經隔離電路和波形整形電路輸出至MCU解碼部分。
MCU解碼模塊主要為B碼信號提供解碼處理,經過對信號的捕捉,通過軟件處理,轉換成標準時間格式,當然也可轉換為需要的自定義時間格式。轉換完成后,通過SPI接口,將解碼后信號傳遞給無線發(fā)送模塊。
無線發(fā)送模塊主要是把時間信號和載波混合調制后,以射頻形式發(fā)送出去,傳輸格式規(guī)約可以由MCU解碼模塊通過軟件自定義,然后按定義好的規(guī)約發(fā)送無線信號,多個應用接收端可以按同規(guī)約接收并解析數據。
3 硬件電路設計方案
3.1 信號轉換部分
IRIG-H輸入接口如圖4所示,H碼DC信號通過U6芯片完成RS485電平轉換成TTL電平;信號經電平轉換后輸出到高速光隔U4進行電氣隔離,避免干擾信號或大能量沖擊信號通過導線引入系統(tǒng)損壞后端系統(tǒng);U11為電源DC—DC隔離器,隔離強度達2 500 V;最后信號通過施密特反相器U8輸出更加穩(wěn)定的方波。

3.2 MCU解碼模塊電路圖
MCU解碼模塊中使用了Atmel公司的ATmega8芯片,它是性能較好的RISC結構的8位單片機,有8 KB的內部可編程Flash存儲器,兩個串行USART口,可工作于主從模式的SPI串行接口,獨立片內看門狗定時器,以及10位ADC等豐富強大的硬件接口電路;封裝較小為TQFP-32封裝,價格較低,采用低功耗CMOS工藝生產性能較好。綜上所述功能其很適合做本設計主控芯片。

ATmega 8原理圖如圖5所示,使用外部7.372 8 MHz晶振,使用內部定時器T0作為檢測碼元計時。圖5中LED2作為工作狀態(tài)指示燈,顯示當前模塊運行狀態(tài);單片機PD2(INT0)引腳接至信號轉換模塊的輸出,當輸入信號電平由低變高時(上升沿)產生中斷,使用內部定時器T0開始計時。當信號電子由高到低時(下降沿)產生中斷,此時定時器停止,并計算計時器時間,按照圖1即可解碼出B碼碼元信息對應的數據。引腳PB3和PB4是SPI接口的通信收發(fā)腳,接至無線發(fā)送模塊作為解碼數據的傳遞接口,單片機通過自定義規(guī)約把時間數據通過SPI接口傳遞出去。
4 無線發(fā)射部分線路圖
無線發(fā)射部分選用nRF905無線芯片,它是NORDIC公司出品的低于1 GHz無線數傳芯片,主要工作于433 MHz、868 MHz和915 MHz的ISM頻段。芯片內置頻率合成器、功率放大器、晶體振蕩器和調制器等功能模塊,輸出功率和通信頻道可通過程序進行配置,非常適合于低功耗、低成本的系統(tǒng)設計。這里采用SPI接口和ATmega 8主控芯片通信,使用433 MHz通信,nRF905接收到時間數據后,調制到載波上,通過天線發(fā)送無線數據。此部分操作簡單,可靠性較高,且有較高的性價比。無線傳輸部分電路如圖6所示。

5 系統(tǒng)軟件設計
在單片機軟件設計中,定義三個字節(jié)數組Time[3]存放時間信息數據,即“分”、“時”、“天”。滿1分鐘后,中斷接收全時間信息,并進行譯碼轉換,完成轉換后置時間發(fā)送標志為1,在主循環(huán)中查詢是否有時間發(fā)送標志置1,如果是則通過SPI接口發(fā)送數據給無線模塊部分進行無線發(fā)送。由于IRIG-H碼每分鐘一幀,所以無線發(fā)送部分有足夠的時間進行無線通信協(xié)議處理,如主機無線發(fā)送廣播包給設備,則接收設備返回確認幀,以保證通信可靠。軟件主流程圖如圖7所示。中斷處理流程圖如圖8所示。

結語
此無線IRIC-H碼解碼器設計簡單,所用器件較少,性能穩(wěn)定,并且能夠可靠地提供準確的時間信息。其具有成本低、開發(fā)周期短等優(yōu)點,C語言編寫解碼程序在傳輸協(xié)議上具有靈活性,無線通信接口有較好的可安裝性和可擴展性。
評論