国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Linux操作系統(tǒng)下TDC電路的數(shù)據(jù)處理研究

2018-06-14 07:15趙建軍
軟件 2018年5期
關鍵詞:脈沖星硬核X射線

余 進,趙建軍,劉 立,趙 恩

(昆明理工大學理學院,云南 昆明 650500)

0 引言

隨著信息技術的發(fā)展,時間精度越來越高,衛(wèi)星通信、車載設備、無線傳感網絡的不斷發(fā)展,對于時間的精度越來越高。脈沖星因具有很好的穩(wěn)定性,其發(fā)射的X射線信號可以作為天然信標,引導航天器等在宇宙中的自由航行。時間測量電路是 X射線脈沖星導航的重要組成部分,通過采集到的 X射線脈沖作為觸發(fā)信號獲取此時刻的時間,該時間精度達到皮秒級。

本文的數(shù)據(jù)處理電路是基于中國科學院西安光機所的X射線脈沖星導航的合作項目,最后的測試階段均在西安光機所完成。時間測量電路是X射線脈沖星導航后端電路的重要部分,前端電路由西安光機所研發(fā)?,F(xiàn)階段的所有研究全是基于地面模擬系統(tǒng)上進行的。本文的基于Linux系統(tǒng)下的TDC電路的數(shù)據(jù)處理對于細時間的精度具有較好的效果,有一定的創(chuàng)新性。

1 系統(tǒng)簡介

時間數(shù)字轉換技術,又稱時間數(shù)字轉換器(Time-to-Digital Converters,簡稱 TDC)技術,TDC技術廣泛的應用于時頻測量、航空航天、衛(wèi)星導航、雷達定位、激光測距、核物理和粒子物理探測等領域,并且這些領域的先進水平與時間間隔測量的精度密切相關。我國對脈沖星的研究滯后于國外,在早期的研究,國內團隊主要集中于對脈沖星的計時觀測,國家對該領域的投入很大,也取得了一些矚目的成就,在X射線探測成果卓著[1-3]。X射線脈沖星導航系統(tǒng)國內外都還處于地面模擬階段,并沒有真正的應用于航天測試階段。中科院有一整套的地面模擬系統(tǒng),本文的研究是在中科院西光所的地面模擬系統(tǒng)下對BO531CRAB星座的X射線仿真源模擬上進行的。ZedBoard開發(fā)板是近年Xilinx公司推出的產品。該開發(fā)板采用Xilinx 7系列芯片,等級速度為-1。ZedBoard具有2個ARM-9的硬核,用戶可以單獨對 FPGA 進行設計,也可以與 ARM進行協(xié)同設計[4]。本文的硬件電路基礎為 Xilinx公司的Zynq-7000系列的ZedBoard開發(fā)板,此開發(fā)板集成了FPGA和ARM-9兩種技術,使得設計系統(tǒng)可以利用FPGA技術實現(xiàn)TDC硬件電路對數(shù)據(jù)高精度的采集。在嵌入式 Linux系統(tǒng)的控制下,以中斷的方式通過AXI總線進行可靠的數(shù)據(jù)傳輸,利用硬件實現(xiàn)歷元疊加和數(shù)據(jù)的整合,從而實現(xiàn)對TOA數(shù)據(jù)的計算。其原理設計如圖1所示。

圖1 X 射線拼接探測時間測量電路構成Fig.1 X-ray splice detection time measurement circuit composition

2 基于SOPC的嵌入式Linux系統(tǒng)

基于SOPC技術的嵌入式系統(tǒng)設計方案主要有兩種:一種是基于FPGA的嵌入式硬核微處理器方案;另一種是基于FPGA的嵌入式軟核微處理器方案[5]。用戶在使用軟核處理器時,可以根據(jù)系統(tǒng)設計的具體要求,對軟核處理器的外圍設備進行搭建,使整個嵌入式系統(tǒng)在硬件結構、功能、資源等使用方面符合設計要求。軟核 IP大部分由 FPGA公司自行開發(fā)與設計,軟核具有的特點是靈活性高、可移植性強、允許用戶自行配置。但是軟核IP又存在不足,軟核沒有硬核性能穩(wěn)定,處理速度比硬核慢,模塊的預測性較低?;贔PGA的嵌入硬核IP的微處理方案,利用IP核植入技術在FPGA中預先植入嵌入式硬核處理器。通過FPGA芯片中的邏輯資源和嵌入式開發(fā)工具提供的外圍設備IP軟核,構建以硬核處理器為系統(tǒng)核心的片內外設和接口。硬核處理器構建的嵌入式系統(tǒng)具有很強的數(shù)據(jù)處理能力,且硬核處理器本身并不占用FPGA資源。利用嵌入硬核處理器的FPGA器件構建的嵌入式SOPC系統(tǒng)具有較強的穩(wěn)定性和更快的處理能力,彌補了軟核微處理在穩(wěn)定性和處理速度的不足。利用Xilinx公司的Virtex-II Pro系列的FPGA芯片中植入的ARM-9雙硬核微處理器,一方面可以利用可編程器件FPGA其在硬件電路上設計方便的強大優(yōu)勢,另一方面可以充分利用微處理器在數(shù)據(jù)處理方面靈活的特點,使得嵌入式系統(tǒng)設計在數(shù)據(jù)采集與處理部分可以實現(xiàn)高效的SOPC系統(tǒng),系統(tǒng)框架如圖2所示。

圖2 嵌入式系統(tǒng)設計框架Fig.2 Embedded system design framework

Linux操作系統(tǒng)的移植目的是可以在 ZedBoard開發(fā)板ARM處理器上運行Linux操作系統(tǒng)。Linux系統(tǒng)移植可以分為以下過程:

①為了實現(xiàn)跨平臺的編譯環(huán)境搭建,需要安裝針對 ARM 的交叉編譯工具鏈。所謂交叉編譯工具鏈就是基于不同的硬件平臺需要不同的編譯工具集[6]。

②通過交叉編譯工具鏈編譯Linux內核,同時可以對內核進行裁剪達到節(jié)省資源的目的。

③制作引導內核的U-Boot啟動文件。

④建立Linux系統(tǒng)下完整的文件系統(tǒng)。

⑤建立device tree來管理系統(tǒng)硬件資源。

3 硬件系統(tǒng)的搭建

采用Xilinx公司的Design Tools開發(fā)套件來進行硬件系統(tǒng)的搭建,目的是實現(xiàn)TDC硬件電路模塊和ARM的通信。兩者之間通信的橋梁是AXI總線,AXI總線是ARM處理器的總線結構,AXI總線結構如圖3。AXI總線采用的是FPGA技術,可以利用網表、例化等方式實現(xiàn)TDC在總線上的掛載。添加三個寄存器實現(xiàn)對TDC電路的控制和讀取數(shù)據(jù)操作。

圖3 ARM 處理器的AXI總線結構Fig.3 AXI bus architecture of ARM processor

對時間測量還需要解決垮時鐘域的問題。一般同步不同時鐘域間的數(shù)據(jù)傳輸有兩種方法:一是在不同時鐘域之間采用握手機制,二是異步FIFO[7]。本文是采用第二種方法,加入了 FIFO緩存單元實現(xiàn)傳輸速率的匹配。利用 FPGA技術設計的 FIFO數(shù)據(jù)的存入設計狀態(tài)圖如圖4所示。

圖4 FIFO 數(shù)據(jù)的存入設計狀態(tài)圖Fig.4 Storage design state diagram of FIFO data

(1)ini狀態(tài):TDC電路模塊初始化以及系統(tǒng)復位。

(2)S1狀態(tài):TDC數(shù)據(jù)輸出端口dout數(shù)據(jù)鎖存,等待操作系統(tǒng)對端口的數(shù)據(jù)進行讀取。

(3)S2狀態(tài):操作系統(tǒng)讀取一次TDC輸出端口的數(shù)據(jù)結束狀態(tài)。

當操作系統(tǒng)通過AXI總線讀取一次 TDC的測量結果結束時,S2狀態(tài)機進入復位狀態(tài)或者進入S1狀態(tài)。TDC電路模塊通過 TDC控制器中的狀態(tài)機S1狀態(tài)與S2狀態(tài)的交替執(zhí)行,實現(xiàn)了操作系統(tǒng)對TDC測量結果的正確讀取。

4 數(shù)據(jù)采集模塊TDC的設計

對于時間的測量是高能物理實驗中的一個重要測量參數(shù)。目前,對于時間測量的方法主要有兩種:一是采用專用的時間測量芯片(ASIC TDC);二是采用基于FPGA的時間數(shù)字轉換電路。專用的時間測量芯片大多都是針對具體的應用而開發(fā)的,對于設計的靈活性,普遍性存在一定的不足[8]。本文采用FPGA技術利用Xilinx公司的Zynq-700系列芯片XC7Z020,封裝為 CLG484,設計時間測量電路TDC。TDC電路的設計分為粗時間和細時間相結合的測量方法,秒以上的時間計數(shù)為粗時間計數(shù),秒以下的時間計數(shù)為細時間計數(shù)。粗時間采用對主頻的計數(shù)的方法,為秒、分、時、日,月、年計數(shù),如表1所示。在主頻以下的細時間部分分為兩部分來計量,一部分通過倍頻技術進行精度納秒級的計數(shù),另一部分通過延遲78 ps的IODELAY延遲單元模塊(如圖6)進行精度皮秒級的計數(shù)。同時TDC電路的設計采用格雷碼計數(shù)的方式。使得該時間測量電路系統(tǒng)的設計具有精度高,成本低,應用領域廣泛等特點。為了保持計數(shù)同步,需要設計有記憶功能的寄存器傳輸級(RTL)電路,其電路圖如圖5所示。數(shù)據(jù)采集模塊TDC的設計有如下三個部分。

表1 TDC 電路的數(shù)據(jù)格式表Tab.1 Data format table of TDC circuit

圖5 TDC 電路的RTL圖Fig.5 RTL diagram of TDC circuit

4.1 IODELA Y的設計

延遲78 ps的設計:

module ABC ( clk200,d0 );

input clk200;

output d0;

IDELAY #(

.IOBDELAY_TYPE("FIXED"), // "FIXED" or"VARIABLE"

.IOBDELAY_VALUE(1) // Any value from 0 to 31 //0為主頻同步不延遲,1為最小的時鐘延遲:78 ps

以此可以計算出1 s時的延遲參數(shù)為:1000/78=12,為 1000 MHz,XC7Z020芯片的最大的數(shù)值為31個,具體可以在綜合仿真布線之后的FPGA Editor查看器件布局布線。但不能超過開發(fā)板的最大頻率。

圖6 IODELA Y延遲單元模塊Fig.6 IODELAY delay unit module

4.2 倍頻的設計

將主頻50 MHz主頻時鐘通過倍頻技術提高到500 MHz,精度達到2 ns,倍頻采用Clocking Wizard 3.5的IP核,Input Jitter設置為0。當2 ns的時鐘周期記數(shù)到 1 s時,作為粗時間的時鐘計數(shù)單元。而2ns到1 s的計數(shù)方式采用格雷碼計數(shù)。

4.3 格雷碼計數(shù)

格雷碼是一種無權碼,其編碼特點是任意兩相鄰代碼間只有一位數(shù)碼不同,這對代碼的轉換和傳輸很有利,因為它大大減少由一個狀態(tài)到下一個狀態(tài)時電路中的模糊狀態(tài),提高了電路的抗干擾能力,所以格雷碼是一種錯誤最小化的編碼。格雷碼計數(shù)一類是用于定時,另一類是用來計數(shù),用在脈沖沿的計數(shù)或地址的判斷,如判斷 FIFO傳輸來的數(shù)據(jù)量是否足夠或者 FIFO的讀/寫地址是否已經達到滿狀態(tài),來決定下一步動作[9-10]。采用格雷碼計數(shù)運用在模塊狀態(tài)機的方案設計上設計方案,可以很好的減小誤差,達到錯誤最小化。

5 數(shù)據(jù)處理部分硬件電路模塊

由于脈沖星周期的極端穩(wěn)定性,脈沖星可作為一個天然時鐘[11]。數(shù)據(jù)采集前端TDC模塊對于脈沖星 X射線采集的數(shù)據(jù)需要經過大量的光子數(shù)據(jù)累計,才能還原出脈沖星的脈沖輪廓。對脈沖輪廓還原一般方法是利用軟件實現(xiàn),可將數(shù)據(jù)傳入上位機利用 MATLAB來實現(xiàn)[12]。但此種方法造成了資源浪費且無法做到小型化實時性,更無法用于航天器。在此基礎之上提出,開發(fā) Linux操作系統(tǒng)下的應用程序來處理TDC的數(shù)據(jù),此方法提高了系統(tǒng)應用的靈活性節(jié)能性可以做到設備處理數(shù)據(jù)的小型化實時化,但考慮到數(shù)據(jù)處理效率的問題之后,得出了一種更加優(yōu)化的設計方法,對于數(shù)據(jù)處理的方式采用硬件電路實現(xiàn)的方法。將此硬件系統(tǒng)掛載到 Linux系統(tǒng)下,通過Linux的控制,將TDC電路模塊的數(shù)據(jù)傳到數(shù)據(jù)處理模塊,對數(shù)據(jù)進行歷元疊加,經過歷元疊加后得到的數(shù)據(jù)(TOA),以提供給后端模塊進行導航。

6 結語

本文基于X射線拼接探測時間測量電路的研制課題背景,針對TDC電路的測量提出了基于Linux系統(tǒng)下任意格式的數(shù)據(jù)處理與文件生成。此設計提高了時間測量的實時性以及設備的小型化,在航空航天、衛(wèi)星導航、工業(yè)控制、智能家居、環(huán)境監(jiān)測等領域具有很好的應用前景和實用價值。

[1] 張敏. 皮秒分辨率的FPGA-TDC技術研究[D]. 西安: 西安電子科技大學, 2013.

[2] 侯天蕊. 脈沖星信號特征識別與處理[D]. 哈爾濱: 哈爾濱工業(yè)大學, 2014.

[3] 趙恩. 基于ZedBoard開發(fā)板的Linux OS下的X射線高精度TDC系統(tǒng)的研究[D]. 昆明: 昆明理工大學, 2017.

[4] 陸佳華, 潘祖龍, 彭競宇, 等. 嵌入式系統(tǒng)軟硬件協(xié)同設計實戰(zhàn)指南[M]. 北京: 機械工業(yè)出版社, 2014. 27-37.

[5] 王偉. 基于FPGA的SOPC嵌入式系統(tǒng)設計[J]. 淮北職業(yè)技術學院學報, 2013, 12(1): 137-138.

[6] 唐海峰. 基于FPGA的時間測量電路的研究[D]. 昆明: 昆明理工大學, 2016.

[7] 于海, 樊曉椏. 基于FPGA異步FIFO的研究與實現(xiàn)[J]. 微電子學與計算機, 2007, 24(3): 210-216.

[8] 趙恩, 趙建軍, 高霞芳, 等. 時間測量電路系統(tǒng)的設計[J].新技術新工藝, 2016, 9: 11-13.

[9] 葉衛(wèi)東, 謝建華. 格雷碼計數(shù)器的低功耗分析與設計[J].兵工自動化, 2006, 25(4): 64-66.

[10] 李莉. 基于FPGA的多位格雷碼計數(shù)器[J]. 科學技術與工程, 2009, 9(23): 7158-7161.

[11] 劉琳. 脈沖星的積分輪廓的高斯擬合及譜指數(shù)的研究[D].重慶: 西南大學, 2011.

[12] 吳亞平, 趙建軍, 吳光敏, 等. X射線脈沖星導航硬件脈沖輪廓累積研究[J]. 航空學報, 2016, 37(2): 662-668.

猜你喜歡
脈沖星硬核X射線
“中國天眼”已發(fā)現(xiàn)740余顆新脈沖星
實驗室X射線管安全改造
發(fā)現(xiàn)脈沖星的女天文學家——貝爾
硬核爺爺煉成記
“硬核”舉措下的暖心舉動
用“三個最嚴”彰顯“硬核”擔當
虛擬古生物學:當化石遇到X射線成像
陜西制造需要“硬核”
基于虛擬觀測值的X射線單脈沖星星光組合導航
基于DirectShow的便攜式X射線數(shù)字圖像采集的實現(xiàn)
夏津县| 北流市| 福海县| 汉阴县| 聊城市| 前郭尔| 凤凰县| 曲麻莱县| 建始县| 斗六市| 柘城县| 南投市| 嘉定区| 白城市| 资溪县| 祁东县| 昭平县| 监利县| 凤城市| 陈巴尔虎旗| 漳浦县| 勃利县| 礼泉县| 兴文县| 金寨县| 宽城| 固始县| 广平县| 高要市| 卓资县| 宜宾县| 贡山| 武宁县| 息烽县| 辛集市| 吉安市| 衡阳县| 营山县| 独山县| 岑溪市| 光泽县|