什么是IRIG-B碼對時
IRIG-B(inter-range instrumentationgroup-B)碼是一種時間同步標準,通常用于精確的時間測量和數(shù)據(jù)同步,廣泛應用于電力、通信、航空等領域。
IRIG-B碼為每秒一幀的時間串碼,一幀串碼中包含100個碼元,頻率為1KHz,即每個碼元占用10ms時間。IRIG-B碼基本的碼元為"0"碼元、"1"碼元和"P"碼元,"0"碼元和"1"碼元對應的脈沖寬度為2ms和5ms,"P"碼元為位置碼元,對應的脈沖寬度為8ms,IRIG-B碼信息的基本碼元的示意圖如下所示。
圖1
下圖為一幀的IRIG-B碼脈沖序列結(jié)構(gòu)示意圖。連續(xù)兩個"P"碼元表示整秒的開始,第二個"P"碼元的脈沖前沿為“準時”參考點,定義其為"Pr"。每10個碼元有一個位置碼元,共有10個,定義其為P1,P2,…,P9,P0。IRIG-B碼時間格式的時序為秒、分、時、天,所占信息位分別為:秒7位、分7位、時6位、天10位,其位置在P0 ~ P5之間。
通常,從"Pr"開始對碼元進行編號,分別定義為第0,1,2,…,99碼元,則“秒”信息位于第1、2、3、4、6、7、8碼元,“分”信息位于第10、11、12、13、15、16,17碼元,“時”信息位于第20、21、22、23、25、26碼元,“天”信息位于第30、31、32、33、35、36、37、38、40、41碼元。
圖2
IRIG-B碼對時應用場景
IRIG-B碼對時可應用于繼電保護裝置、電力RTU、電力錄波器、通訊管理機、電能質(zhì)量在線監(jiān)測等領域。創(chuàng)龍科技已基于TI AM62x異構(gòu)多核處理器實現(xiàn)IRIG-B碼對時方案,降低了終端用戶的開發(fā)難度,縮減了研發(fā)時間,可快速進行產(chǎn)品方案評估與技術預研。
圖3
常見IRIG-B碼對時實現(xiàn)方案
IRIG-B碼對時的實現(xiàn)常見方案一般基于FPGA或MCU實現(xiàn),具體方案實現(xiàn)方式如下。
(1)基于FPGA實現(xiàn)
為達到IRIG-B碼與時間信號輸入、輸出的精確同步,采用現(xiàn)代化靶場的IRIG-B碼編碼和解碼的原理,從工程的角度出發(fā),提出了使用現(xiàn)場可編程門陣列(FPGA)來實現(xiàn)IRIG-B碼編碼和解碼的設計方案和體系結(jié)構(gòu),設計中會涉及到幾個不同的時鐘頻率,F(xiàn)PGA對時鐘的同步性具有靈活性、效率高、且功耗低,抗干擾性好的特點。結(jié)果表明,F(xiàn)PGA能夠確保為從設備提供同源的時鐘基準,使時鐘與信號的延遲控制在200ns以內(nèi),從而得到了IRIG-B碼與時間精確同步的效果。
但是,基于FPGA實現(xiàn)IRIG-B碼開發(fā)難度較大,時間投入較多,開發(fā)成本將會較高,不利于產(chǎn)品的快速上市。
(2)基于MCU實現(xiàn)
MCU(Micro Control Unit)即微控制單元,通過MCU核心可實現(xiàn)解析IRIG-B碼時序并提取時間信息,再將時間信息同步至其他核心。
基于MCU實現(xiàn)IRIG-B碼開發(fā)方案結(jié)構(gòu)簡單、開發(fā)成本較低、同步精度較高,可滿足多種工業(yè)應用場景要求。
AM62xIRIG-B碼對時方案
本章節(jié)主要描述創(chuàng)龍科技基于TI AM62x的MCU(Cortex-M4F)核心實現(xiàn)IRIG-B碼信號解析功能。
AM62x內(nèi)部集成Cortex-A53 + Cortex-M4F核心,可使用Cortex-M4F實現(xiàn)IRIG-B碼對時功能,無需增加額外的MCU成本。并且,通過內(nèi)部MCU實現(xiàn)IRIG-B碼對時功能方案,硬件設計簡單,有利于快速開發(fā)產(chǎn)品。
(1)案例說明
衛(wèi)星時鐘同步裝置(廠家:南京諾煌電氣科技有限公司,型號:YS-DN-100)通過GPS天線模塊獲取標準時間信息并輸出IRIG-B碼信號,經(jīng)評估板板載RS485芯片轉(zhuǎn)換成電平信號后傳輸至Cortex-M4F核心,Cortex-M4F核心通過讀取GPIO引腳電平,解析IRIG-B碼時序并提取時間信息,再通過TI-RPMsg機制將時間信息發(fā)送至Cortex-A53核心打印時間信息。系統(tǒng)框圖如下所示。
圖4
(2)
案例測試
本案例需在開闊場地進行測試,請確保衛(wèi)星時鐘同步裝置的RUN指示燈處于常亮狀態(tài)(表示設備工作正常),否則請檢查GPS天線連接是否正常。
由于評估底板RS485_2 UART5為Cortex-A53核心的外設,因此請通過飛線的方式將RS485芯片(U30)的pin3引腳連接至EXPROT接口(J11)的pin4引腳(即Cortex-M4F核心GPIO)。衛(wèi)星時鐘同步裝置輸出的IRIG-B碼信號經(jīng)評估底板RS485_2 UART5接口后,再經(jīng)過EXPROT接口(J11)的pin4引腳輸入至Cortex-M4F核心。
圖5
圖6
請將衛(wèi)星時鐘同步裝置的ANT接口連接至GPS天線模塊,將衛(wèi)星時鐘同步裝置OUT1接口的“+端子”連接至評估板的RS485_2 UART5接口“A2端子”、OUT1接口的“-端子”連接至評估板的RS485_2 UART5接口“B2端子”,硬件連接如下圖所示。
圖7
請將本案例"dtsbin"目錄下的tl62x-evm.dtb設備樹文件拷貝至Linux系統(tǒng)啟動卡"/boot/"目錄下,替換原有的tl62x-evm.dtb設備樹文件。然后將案例bin目錄下的am62-mcu-m4f0_0-fw文件、irig_b_decode可執(zhí)行程序拷貝至Linux系統(tǒng)啟動卡文件系統(tǒng)"/home/root/"目錄下。
圖8
評估板上電,從Linux系統(tǒng)啟動卡啟動,依次執(zhí)行如下命令,更新Cortex-M4F核心固件,并重啟評估板。
Target#rm /lib/firmware/am62-mcu-m4f0_0-fw
Target#cd /lib/firmware/
Target#ln -sf /home/root/am62-mcu-m4f0_0-fw am62-mcu-m4f0_0-fw
Target#sync
Target#reboot
圖9
執(zhí)行如下命令,查詢Cortex-M4F核心與remoteproc對應關系。
備注:Cortex-M4F核心對應的RemoteProc Name為5000000.m4fss。
Target#head /sys/class/remoteproc/remoteproc*/name
圖10
根據(jù)查詢結(jié)果,執(zhí)行如下命令查看Cortex-M4F核心程序運行日志,確認Cortex-M4F核心運行狀態(tài)。
Target#cat /sys/kernel/debug/remoteproc/remoteproc0/trace0
圖11
執(zhí)行如下命令,查看程序運行參數(shù)。
Target#./irig_b_decode -h
備注:rproc_id:核心ID。Cortex-M4F核心ID為9,默認ID為0。
圖12
執(zhí)行如下命令,解析IRIG-B碼時序并提取時間信息,可看到串口終端打印當前日期如下圖所示。
Target#./irig_b_decode -r9
圖13
審核編輯 黃宇
-
處理器
+關注
關注
68文章
19103瀏覽量
228826 -
FPGA
+關注
關注
1625文章
21628瀏覽量
601252 -
異構(gòu)多核
+關注
關注
0文章
6瀏覽量
6914 -
IRIG-B碼
+關注
關注
0文章
8瀏覽量
9332
發(fā)布評論請先 登錄
相關推薦
評論