<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 高速數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)

          高速數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)

          作者: 時(shí)間:2001-11-09 來源: 收藏

          高能電子在磁場中受到徑向加速,在軌道的切線方向會(huì)發(fā)出很強(qiáng)的電磁輻射——同步輻射。隨著對(duì)同步輻射光源研究的深入,人們發(fā)現(xiàn)同步輻射光源有著許多其它光源無法比擬的特點(diǎn):具有從遠(yuǎn)紅外到X射線范圍內(nèi)的連續(xù)光譜,準(zhǔn)直性好,光度高,偏振性好,時(shí)間結(jié)構(gòu)優(yōu)良,穩(wěn)定性高。同步輻射光源是現(xiàn)代科學(xué)中唯一能同時(shí)用于前沿科學(xué)基礎(chǔ)科學(xué)、應(yīng)用研究和高新技術(shù)產(chǎn)業(yè)開發(fā)的綜合性科技裝置,因此被稱為是繼電光源、X光源和激光光源之后的第四種為人類文明帶來革命性推動(dòng)的新型光源。合肥國家同步輻射裝置(NSRL)屬于第二代光源,主要設(shè)備包括:800MeV電子儲(chǔ)存環(huán)作為光源主體,200MeV電子直線加速器作為注入器,另外包括5個(gè)同步輻射試驗(yàn)站及相應(yīng)的光束線。合肥國家同步輻射裝置工作在多圈注入,全環(huán)填充模式。當(dāng)直線加速器輸出的電子束團(tuán)的脈寬為1ms時(shí),一次注入4圈左右(環(huán)中電子回旋一周的時(shí)間約0.22ms), 重復(fù)多圈注入,直到達(dá)到預(yù)定的流強(qiáng)。在這種注入模式下,儲(chǔ)存環(huán)的45個(gè)高頻俘獲區(qū)(buckets)都有束團(tuán)存在,束團(tuán)之間的時(shí)間間隔約為4.9ms(1/204.035MHz)。

          本文引用地址:http://www.ex-cimer.com/article/2871.htm

          BPM系統(tǒng)的用途就是測量一圈一圈的束流軌跡信號(hào),它在加速器上的作用主要有以下3點(diǎn):

          1)用于監(jiān)測注入時(shí)束流的位置,判定注入效率和衰減率;

          2)在任意時(shí)刻可以研究 beta振蕩和軌道的瞬時(shí)變化;

          3)在穩(wěn)態(tài)時(shí),帶一個(gè)外部kicker,采用兩個(gè)以上BPM能夠作相空間測量。

          當(dāng)加速器里電子束團(tuán)運(yùn)動(dòng)時(shí),BPM感應(yīng)電極將在四個(gè)電極上感應(yīng)出強(qiáng)弱不同的電信號(hào)。將這四路信號(hào)先送到模擬信號(hào)處理部分進(jìn)行對(duì)數(shù)放大和相應(yīng)的加減計(jì)算,然后送給數(shù)據(jù)采集系統(tǒng)。數(shù)據(jù)采集系統(tǒng)在時(shí)鐘系統(tǒng)送來的同步時(shí)鐘的驅(qū)動(dòng)下進(jìn)行數(shù)據(jù)采集和存儲(chǔ)操作。

          數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)主要包括:A/D轉(zhuǎn)換邏輯設(shè)計(jì),數(shù)據(jù)的采集,傳輸與分離,以及數(shù)據(jù)采集系統(tǒng)的驅(qū)動(dòng)與控制。本文主要介紹PCI總線結(jié)構(gòu),總線控制器S5933,流水線式ADC,以及前端的電平轉(zhuǎn)換電路和ADC之后的FIFO緩沖。數(shù)據(jù)采集系統(tǒng)的組成如圖2所示。

          當(dāng)加速器環(huán)內(nèi)電子束團(tuán)運(yùn)動(dòng)時(shí)BPM感應(yīng)電極時(shí)將在四個(gè)電極上感應(yīng)出強(qiáng)弱不同的電信號(hào)。將這四路信號(hào)先送到模擬信號(hào)處理部分進(jìn)行對(duì)數(shù)放大和相應(yīng)的加減運(yùn)算,然后送給數(shù)據(jù)采集系統(tǒng)。數(shù)據(jù)采集系統(tǒng)將在時(shí)鐘系統(tǒng)送來的同步時(shí)鐘的驅(qū)動(dòng)下進(jìn)行數(shù)據(jù)采集和存儲(chǔ)。

          經(jīng)前端的對(duì)數(shù)放大器之后,信號(hào)送入采集卡的模擬輸入端,經(jīng)電平轉(zhuǎn)換后送入流水線型ADC進(jìn)行轉(zhuǎn)化,轉(zhuǎn)化結(jié)果送入FIFO,在邏輯控制下將數(shù)據(jù)送入PCI總線控制器S5933,由5933進(jìn)行主控方式的猝發(fā)傳輸?shù)絻?nèi)存。ADC的轉(zhuǎn)換速率以及何時(shí)開始轉(zhuǎn)換由定時(shí)系統(tǒng)提供的同步時(shí)鐘控制,由于ADC為流水線型,所以FIFO寫入時(shí)鐘與ADC相同,可以減少硬件設(shè)計(jì)的復(fù)雜性。采集卡的速度為20Mb/s,連續(xù)采集2秒鐘,也就是說要有40Mb數(shù)據(jù)量。該采集卡主要設(shè)計(jì)難度是高速和數(shù)據(jù)量大,決定采用S5933工作在Master方式下來完成數(shù)據(jù)采集存儲(chǔ)。

          PCI總線協(xié)議是Intel公司1992年提出,為滿足高速數(shù)據(jù)輸入/輸出要求而設(shè)計(jì)的一種低成本,高性能的局部總線協(xié)議。PCI總線采用站連接方式,總線上的設(shè)備可以以系統(tǒng)總線的速度在相互之間進(jìn)行數(shù)據(jù)傳輸,或直接訪問系統(tǒng)的RAM,所有的傳輸操作都以猝發(fā)方式完成。PCI總線的極限傳輸速率為132Mb/s(33MHz×4Byte)。

          PCI總線接口分為主控設(shè)備和從設(shè)備兩種工作方式。部分只能工作于從設(shè)備方式下,而有些既可以工作在從設(shè)備方式,也可以工作在主控設(shè)備方式下。主控方式下,接口設(shè)備占用總線,無需CPU干預(yù),即可以與內(nèi)存之間進(jìn)行數(shù)據(jù)的猝發(fā)式交換,或者在設(shè)備之間進(jìn)行數(shù)據(jù)傳輸,提高了數(shù)據(jù)傳輸速率。

          PCI總線控制器S5933AMCC生產(chǎn)的PCI接口芯片,支持PCI協(xié)議2.1版,可以作為PCI總線的主控設(shè)備和從設(shè)備使用。S5933支持用戶板上總線寬度有8位,16位和32位,并提供三種擴(kuò)展總線(ADD_ON BUS)接口:FIFO接口;Pass_Thru接口;Mailbox接口。

          這些接口的工作方式可以通過S5933的配置寄存器來設(shè)置和讀取,工作狀態(tài)可以通過狀態(tài)寄存器來讀取。另外S5933還提供可以選擇的啟動(dòng)時(shí)初始化接口,可以通過串行或字節(jié)寬度的Nv_RAM來進(jìn)行初始化。其結(jié)構(gòu)圖如下:

          S5933提供了三種物理接口:郵箱接口(Mailbox),直接接口(Pass-Thru Interface)FIFO接口。下面主要介紹我們所用到的FIFO接口。S5933內(nèi)部有16個(gè)32FIFO寄存器,分為兩組:8個(gè)32FIFO寄存器用于從PCI總線到擴(kuò)展總線傳輸數(shù)據(jù),8個(gè)32FIFO寄存器用于從擴(kuò)展總線到PCI總線傳送數(shù)據(jù)。輸入和輸出FIFO都映射于操作寄存器的同一個(gè)單元(20H),因而,讀出的和寫入的不是同一個(gè)數(shù),在數(shù)據(jù)寫入到FIFO之前,可以進(jìn)行字節(jié)對(duì)齊/交換。FIFO寄存器既支持從方式下的單周期數(shù)據(jù)異步操作,也支持主方式下的同步或異步猝發(fā)操作(DMA傳送)。在同一個(gè)應(yīng)用的不同時(shí)間可分別配置為主控方式和目標(biāo)方式。由PCI總線一側(cè)啟動(dòng)的總線傳送在完成或中止時(shí)可以向主機(jī)發(fā)中斷(INTA#),由擴(kuò)充總線一側(cè)啟動(dòng)的總線傳送在完成或中止時(shí)可以向終端設(shè)備微處理器發(fā)中斷(IRQ)。

          S5933支持從PCI總線一側(cè)向擴(kuò)展總線(ADD_ON)一側(cè)的DMA傳輸和從擴(kuò)展總線一側(cè)向PCI總線一側(cè)的DMA傳輸,這些DMA傳輸都是通過S5933的FIFO通道來完成的。在S5933內(nèi)部,分別有一套與DMA讀操作和DMA寫操作有關(guān)的傳輸計(jì)數(shù)和地址寄存器,這些寄存器可以由PCI總線一側(cè)的CPU來設(shè)置和讀取,也可以由擴(kuò)展總線一側(cè)的控制邏輯來設(shè)置和讀取。在進(jìn)行DMA傳輸時(shí),滿足DMA傳輸?shù)腟5933的FIFO狀態(tài)是可以設(shè)置的。共有兩種狀態(tài)可以使S5933去申請(qǐng)總線:一種是FIFO里有數(shù)據(jù)就可以取申請(qǐng);另一種是FIFO中有大于四個(gè)的數(shù)據(jù)時(shí)才去申請(qǐng)總線。S5933一直占有總線進(jìn)行DMA傳輸,一直到以下情況發(fā)生:

          讀操作時(shí):傳輸計(jì)數(shù)(MRTCR)達(dá)到0;S5933的MCSR相應(yīng)使能位被置為無效或AMREN變?yōu)闊o效;另外的總線主控設(shè)備申請(qǐng)總線且當(dāng)前的時(shí)間片已經(jīng)用完;PCI從設(shè)備退出;PCI總線一側(cè)到擴(kuò)展總線一側(cè)的FIFO被寫滿。

          寫操作時(shí):傳輸計(jì)數(shù)達(dá)到0;S5933的MCSR相應(yīng)使能位被置為無效或AMREN變?yōu)闊o效;另外的總線主控設(shè)備申請(qǐng)總線且當(dāng)前的時(shí)間片已經(jīng)用完;PCI從設(shè)備退出;.PCI總線一側(cè)到擴(kuò)展總線一側(cè)的FIFO被寫滿。

          由于本系統(tǒng)的高傳輸速度的要求,S5933采用DMA方式向內(nèi)存?zhèn)鬏敂?shù)據(jù),處于設(shè)計(jì)簡單和傳輸速度要求,與ADD_ON總線的數(shù)據(jù)傳輸采用S5933的FIFO接口控制邏輯采用了Lattice公司的CPLDPLSI1016。它是通用的高密度可編程芯片,信號(hào)為TTL電平,內(nèi)部集成2000個(gè)PLD門,最高工作頻率為120MHz。PLSI1016的編程可以通過Lattice公司開發(fā)的集成環(huán)境,如早期的Synario和后來的DesignExpert實(shí)現(xiàn),用Abel語言輸入進(jìn)行編程,或者用原理圖來進(jìn)行輸入。在集成環(huán)境中對(duì)源文件進(jìn)行編譯時(shí),軟件對(duì)其邏輯功能進(jìn)行分析優(yōu)化后,生成可以下載到器件中的JEDEC文件。

          本數(shù)據(jù)采集系統(tǒng)是BPM系統(tǒng)中的一個(gè)重要組成部分,在前端對(duì)探測器輸出信號(hào)進(jìn)行初步的處理之后,在定時(shí)系統(tǒng)的時(shí)鐘驅(qū)動(dòng)下,對(duì)信號(hào)進(jìn)行AD變換,傳入內(nèi)存,最終生成存盤文件。經(jīng)過反復(fù)調(diào)試,已完成系統(tǒng)的要求?!?/font>

          參考文獻(xiàn)

          1 曾繁泰. 馮保初編著. PCI總線與多媒體計(jì)算機(jī),電子工業(yè)出版社

          2 Amcc 5920/5933 databook, amcc公司



          關(guān)鍵詞:

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();