找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 855|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

B碼對(duì)時(shí)方案,基于TI AM62x異構(gòu)多核工業(yè)處理器實(shí)現(xiàn)!

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
什么是IRIG-B碼對(duì)時(shí)
IRIG-B(inter-range instrumentationgroup-B)碼是一種時(shí)間同步標(biāo)準(zhǔn),通常用于精確的時(shí)間測(cè)量和數(shù)據(jù)同步,廣泛應(yīng)用于電力、通信、航空等領(lǐng)域。

IRIG-B碼為每秒一幀的時(shí)間串碼,一幀串碼中包含100個(gè)碼元,頻率為1KHz,即每個(gè)碼元占用10ms時(shí)間。IRIG-B碼基本的碼元為"0"碼元、"1"碼元和"P"碼元,"0"碼元和"1"碼元對(duì)應(yīng)的脈沖寬度為2ms和5ms,"P"碼元為位置碼元,對(duì)應(yīng)的脈沖寬度為8ms,IRIG-B碼信息的基本碼元的示意圖如下所示。

圖1
下圖為一幀的IRIG-B碼脈沖序列結(jié)構(gòu)示意圖。連續(xù)兩個(gè)"P"碼元表示整秒的開始,第二個(gè)"P"碼元的脈沖前沿為“準(zhǔn)時(shí)”參考點(diǎn),定義其為"Pr"。每10個(gè)碼元有一個(gè)位置碼元,共有10個(gè),定義其為P1,P2,…,P9,P0。IRIG-B碼時(shí)間格式的時(shí)序?yàn)槊搿⒎、時(shí)、天,所占信息位分別為:秒7位、分7位、時(shí)6位、天10位,其位置在P0 ~ P5之間。

通常,從"Pr"開始對(duì)碼元進(jìn)行編號(hào),分別定義為第0,1,2,…,99碼元,則“秒”信息位于第1、2、3、4、6、7、8碼元,“分”信息位于第10、11、12、13、15、16,17碼元,“時(shí)”信息位于第20、21、22、23、25、26碼元,“天”信息位于第30、31、32、33、35、36、37、38、40、41碼元。


圖2

IRIG-B碼對(duì)時(shí)應(yīng)用場(chǎng)景
IRIG-B碼對(duì)時(shí)可應(yīng)用于繼電保護(hù)裝置、電力RTU、電力錄波器、通訊管理機(jī)、電能質(zhì)量在線監(jiān)測(cè)等領(lǐng)域。創(chuàng)龍科技已基于TI AM62x異構(gòu)多核處理器實(shí)現(xiàn)IRIG-B碼對(duì)時(shí)方案,降低了終端用戶的開發(fā)難度,縮減了研發(fā)時(shí)間,可快速進(jìn)行產(chǎn)品方案評(píng)估與技術(shù)預(yù)研。


圖3
常見IRIG-B碼對(duì)時(shí)實(shí)現(xiàn)方案
IRIG-B碼對(duì)時(shí)的實(shí)現(xiàn)常見方案一般基于FPGA或MCU實(shí)現(xiàn),具體方案實(shí)現(xiàn)方式如下。

(1)基于FPGA實(shí)現(xiàn)
為達(dá)到IRIG-B碼與時(shí)間信號(hào)輸入、輸出的精確同步,采用現(xiàn)代化靶場(chǎng)的IRIG-B碼編碼和解碼的原理,從工程的角度出發(fā),提出了使用現(xiàn)場(chǎng)可編程門陣列(FPGA)來實(shí)現(xiàn)IRIG-B碼編碼和解碼的設(shè)計(jì)方案和體系結(jié)構(gòu),設(shè)計(jì)中會(huì)涉及到幾個(gè)不同的時(shí)鐘頻率,F(xiàn)PGA對(duì)時(shí)鐘的同步性具有靈活性、效率高、且功耗低,抗干擾性好的特點(diǎn)。結(jié)果表明,F(xiàn)PGA能夠確保為從設(shè)備提供同源的時(shí)鐘基準(zhǔn),使時(shí)鐘與信號(hào)的延遲控制在200ns以內(nèi),從而得到了IRIG-B碼與時(shí)間精確同步的效果。
但是,基于FPGA實(shí)現(xiàn)IRIG-B碼開發(fā)難度較大,時(shí)間投入較多,開發(fā)成本將會(huì)較高,不利于產(chǎn)品的快速上市。

(2)基于MCU實(shí)現(xiàn)
MCU(Micro Control Unit)即微控制單元,通過MCU核心可實(shí)現(xiàn)解析IRIG-B碼時(shí)序并提取時(shí)間信息,再將時(shí)間信息同步至其他核心。
基于MCU實(shí)現(xiàn)IRIG-B碼開發(fā)方案結(jié)構(gòu)簡單、開發(fā)成本較低、同步精度較高,可滿足多種工業(yè)應(yīng)用場(chǎng)景要求。

AM62x IRIG-B碼對(duì)時(shí)方案
本章節(jié)主要描述創(chuàng)龍科技基于TI AM62x的MCU(Cortex-M4F)核心實(shí)現(xiàn)IRIG-B碼信號(hào)解析功能。

AM62x內(nèi)部集成Cortex-A53 + Cortex-M4F核心,可使用Cortex-M4F實(shí)現(xiàn)IRIG-B碼對(duì)時(shí)功能,無需增加額外的MCU成本。并且,通過內(nèi)部MCU實(shí)現(xiàn)IRIG-B碼對(duì)時(shí)功能方案,硬件設(shè)計(jì)簡單,有利于快速開發(fā)產(chǎn)品。

(1)案例說明
衛(wèi)星時(shí)鐘同步裝置(廠家:南京諾煌電氣科技有限公司,型號(hào):YS-DN-100)通過GPS天線模塊獲取標(biāo)準(zhǔn)時(shí)間信息并輸出IRIG-B碼信號(hào),經(jīng)評(píng)估板板載RS485芯片轉(zhuǎn)換成電平信號(hào)后傳輸至Cortex-M4F核心,Cortex-M4F核心通過讀取GPIO引腳電平,解析IRIG-B碼時(shí)序并提取時(shí)間信息,再通過TI-RPMsg機(jī)制將時(shí)間信息發(fā)送至Cortex-A53核心打印時(shí)間信息。系統(tǒng)框圖如下所示。


圖4
(2)案例測(cè)試
本案例需在開闊場(chǎng)地進(jìn)行測(cè)試,請(qǐng)確保衛(wèi)星時(shí)鐘同步裝置的RUN指示燈處于常亮狀態(tài)(表示設(shè)備工作正常),否則請(qǐng)檢查GPS天線連接是否正常。
由于評(píng)估底板RS485_2 UART5為Cortex-A53核心的外設(shè),因此請(qǐng)通過飛線的方式將RS485芯片(U30)的pin3引腳連接至EXPROT接口(J11)的pin4引腳(即Cortex-M4F核心GPIO)。衛(wèi)星時(shí)鐘同步裝置輸出的IRIG-B碼信號(hào)經(jīng)評(píng)估底板RS485_2 UART5接口后,再經(jīng)過EXPROT接口(J11)的pin4引腳輸入至Cortex-M4F核心。

圖5

圖6

請(qǐng)將衛(wèi)星時(shí)鐘同步裝置的ANT接口連接至GPS天線模塊,將衛(wèi)星時(shí)鐘同步裝置OUT1接口的“+端子”連接至評(píng)估板的RS485_2 UART5接口“A2端子”、OUT1接口的“-端子”連接至評(píng)估板的RS485_2 UART5接口“B2端子”,硬件連接如下圖所示。


圖7
請(qǐng)將本案例"dts\bin\"目錄下的tl62x-evm.dtb設(shè)備樹文件拷貝至Linux系統(tǒng)啟動(dòng)卡"/boot/"目錄下,替換原有的tl62x-evm.dtb設(shè)備樹文件。然后將案例bin目錄下的am62-mcu-m4f0_0-fw文件、irig_b_decode可執(zhí)行程序拷貝至Linux系統(tǒng)啟動(dòng)卡文件系統(tǒng)"/home/root/"目錄下。


圖8
評(píng)估板上電,從Linux系統(tǒng)啟動(dòng)卡啟動(dòng),依次執(zhí)行如下命令,更新Cortex-M4F核心固件,并重啟評(píng)估板。

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對(duì)應(yīng)關(guān)系。
備注:Cortex-M4F核心對(duì)應(yīng)的RemoteProc Name為5000000.m4fss。

Target#head /sys/class/remoteproc/remoteproc*/name


圖10
根據(jù)查詢結(jié)果,執(zhí)行如下命令查看Cortex-M4F核心程序運(yùn)行日志,確認(rèn)Cortex-M4F核心運(yùn)行狀態(tài)。

Target#cat /sys/kernel/debug/remoteproc/remoteproc0/trace0


圖11
執(zhí)行如下命令,查看程序運(yùn)行參數(shù)。

Target#./irig_b_decode -h

備注:rproc_id:核心ID。Cortex-M4F核心ID為9,默認(rèn)ID為0。


圖12

執(zhí)行如下命令,解析IRIG-B碼時(shí)序并提取時(shí)間信息,可看到串口終端打印當(dāng)前日期如下圖所示。

Target#./irig_b_decode -r 9

圖13
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表