基于內(nèi)容尋址存儲(chǔ)的觸發(fā)匹配裝置和方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)采集和自動(dòng)控制技術(shù)領(lǐng)域,具體涉及一種基于內(nèi)容尋址存儲(chǔ)的觸發(fā)匹配裝置和方法。
【背景技術(shù)】
[0002]在數(shù)據(jù)獲取領(lǐng)域,尤其是涉及到觸發(fā)控制的數(shù)據(jù)采集與獲取領(lǐng)域,如高能物理、核物理實(shí)驗(yàn)等,系統(tǒng)的運(yùn)行受到外界某種特定控制信號(hào)(稱為觸發(fā)信號(hào))影響和制約。一般,只有當(dāng)數(shù)據(jù)獲取系統(tǒng)探測(cè)到有效的觸發(fā)信號(hào)到來(lái)時(shí),才會(huì)將相關(guān)的采集數(shù)據(jù)存儲(chǔ)下來(lái),這一過(guò)程一般稱為觸發(fā)判選,通過(guò)觸發(fā)判選的數(shù)據(jù)信息稱為有效事例,未通過(guò)判選的則稱為本底事例。好的觸發(fā)判選系統(tǒng)要求盡可能的保留好事例、排除本底,同時(shí)要求判選的速度快、并且能夠適應(yīng)不斷變化的實(shí)驗(yàn)條件和物理需求做到功能靈活可變。隨著信號(hào)輸入速率的提高,尤其是高能物理實(shí)驗(yàn),所感興趣的有效事例更加稀少,本底問(wèn)題更嚴(yán)重,此時(shí)系統(tǒng)對(duì)觸發(fā)判選的要求也逐漸提高,即要求觸發(fā)判選的時(shí)間越來(lái)越短,而判選效率要求也越來(lái)越高,即使是在有效事例率極少的場(chǎng)合也不能丟失這些信息。
[0003]對(duì)于傳統(tǒng)的核物理實(shí)驗(yàn),一般采用符合電路來(lái)實(shí)現(xiàn)觸發(fā)判選機(jī)制,從而減少本底來(lái)獲取有效事例數(shù)據(jù)。由于高能物理實(shí)驗(yàn)通道數(shù)大、數(shù)據(jù)輸入率高、有效事例稀少等特點(diǎn),現(xiàn)代的觸發(fā)判選系統(tǒng)一般采用多級(jí)觸發(fā)結(jié)構(gòu),其第一級(jí)觸發(fā)采用較簡(jiǎn)單觸發(fā)條件做快速判選,從而能夠有效地降低事例率,這一般采用硬件方式來(lái)實(shí)現(xiàn);而后級(jí)的觸發(fā)判選則一般采用軟件算法實(shí)現(xiàn),旨在進(jìn)一步降低事例率,增加觸發(fā)判選的細(xì)致程度,最終挑選出有效的物理事例。
[0004]無(wú)論哪種使用觸發(fā)判選機(jī)制的物理實(shí)驗(yàn)、數(shù)據(jù)獲取系統(tǒng),其觸發(fā)信號(hào)都是依據(jù)一定的觸發(fā)判選算法獲得的,如能量守恒、動(dòng)量守恒、多重性等,這一過(guò)程都需要一定的時(shí)間才能完成,從而造成觸發(fā)信號(hào)相對(duì)于實(shí)際的物理事例發(fā)生的時(shí)刻有一定的延遲,稱為觸發(fā)延遲(Latency),如北京譜儀BESIII的觸發(fā)延遲是6.4 μ S。因此,觸發(fā)判選系統(tǒng)需要根據(jù)這一特性,對(duì)前端采集系統(tǒng)所收集到的數(shù)據(jù)進(jìn)行回溯處理,從而尋找出實(shí)際的物理信號(hào)。因此,現(xiàn)代實(shí)驗(yàn)裝置的電子學(xué)系統(tǒng)中都會(huì)設(shè)計(jì)一個(gè)流水線緩沖器(FIFO)來(lái)緩存采集到的數(shù)據(jù)。另一方面,觸發(fā)延遲大小并非固定,而是存在一定的晃動(dòng)(如BESIII為±200ns),這就需要判選機(jī)制在回溯處理的同時(shí),具備能夠在一定時(shí)間范圍進(jìn)行有效信號(hào)的搜索,這一時(shí)間范圍稱為觸發(fā)窗口(trigger window),而這一搜索過(guò)程稱為觸發(fā)匹配(trigger match)。
[0005]圖1是現(xiàn)有的觸發(fā)匹配機(jī)制的原理示意圖。如圖1所示,輸入物理?yè)糁行盘?hào)按其產(chǎn)生的時(shí)間順序被送入觸發(fā)窗口內(nèi)進(jìn)行比較,處于觸發(fā)窗口之前的被作為有效事例,而窗口之外的視為無(wú)效事例信號(hào)。觸發(fā)窗口的大小用來(lái)適配觸發(fā)晃動(dòng)的大小,并消除因此而帶來(lái)的對(duì)有效事例信號(hào)的誤判。
[0006]圖2是FPGA中實(shí)現(xiàn)觸發(fā)匹配的原理圖。如圖2所示,為本專利所提觸發(fā)匹配的一種新的實(shí)現(xiàn)方法,其中利用FPGA內(nèi)部的基于內(nèi)容尋址的CAM資源,通過(guò)對(duì)其中所緩存事例時(shí)間信息,結(jié)合觸發(fā)窗口的大小和位置,綜合判斷存儲(chǔ)在CAM中的擊中事例是否有效。當(dāng)識(shí)別出有效擊中事例后,通過(guò)CAM輸出的地址信息在RAM存儲(chǔ)器中讀取相應(yīng)的有效擊中事例信息,從而既完成觸發(fā)匹配的功能,又具備快速和數(shù)據(jù)讀出的能力。
[0007]通常情況下,各個(gè)物理實(shí)驗(yàn)采用的觸發(fā)匹配方法不盡相同,各有各的實(shí)現(xiàn)機(jī)制,如BESIII的Muon探測(cè)器讀出電子學(xué),利用流水線緩沖器及擴(kuò)展的寄存器組來(lái)解決觸發(fā)延遲和晃動(dòng)問(wèn)題,從而實(shí)現(xiàn)觸發(fā)匹配這一過(guò)程;而其TOF系統(tǒng)則利用HPTDC芯片所自帶的觸發(fā)匹配機(jī)制來(lái)實(shí)現(xiàn)這一過(guò)程。
[0008]很明顯,這兩種方法都具有局限性。首先,利用一定大小的流水線緩沖器結(jié)合多個(gè)寄存器組來(lái)解決觸發(fā)晃動(dòng)和匹配問(wèn)題,并不具有普適性和獨(dú)立性,其與觸發(fā)算法的關(guān)聯(lián)度過(guò)大,當(dāng)需要更新觸發(fā)算法時(shí),將會(huì)直接導(dǎo)致該方法的實(shí)現(xiàn)結(jié)構(gòu)都有可能發(fā)生變化;另一方面,其觸發(fā)窗口并不能靈活地進(jìn)行調(diào)整,比較適合于窗口固定的場(chǎng)合;第三,其無(wú)法勝任靈活的匹配過(guò)程,只允許有效觸發(fā)信號(hào)存在于晃動(dòng)窗口內(nèi),當(dāng)存在多個(gè)有效信號(hào)而在晃動(dòng)范圍之外時(shí),無(wú)法快速選擇出所有有效事例。
[0009]由于采用了專用集成電路,對(duì)于利用HPTDC芯片所實(shí)現(xiàn)的觸發(fā)匹配方法具有很多優(yōu)點(diǎn),然而其缺點(diǎn)也很明顯,這主要表現(xiàn)在三方面,首先是該芯片的使用具有特定的場(chǎng)合,即高精度時(shí)間測(cè)量,除此之外其應(yīng)用價(jià)值不大;第二是該芯片不像FPGA那樣具有靈活的可重構(gòu)性能,無(wú)法與整個(gè)數(shù)據(jù)獲取、觸發(fā)判選相融合,不具有普適性;第三,該芯片的使用具有一定的限制性,只能在特定授權(quán)下應(yīng)用于特定的場(chǎng)合,可用性不強(qiáng)。
[0010]現(xiàn)代大型高能物理實(shí)驗(yàn)的趨勢(shì)為事例率越來(lái)越高,電子學(xué)通道越來(lái)越多,數(shù)據(jù)量越來(lái)越大,這就要求硬件中實(shí)現(xiàn)的匹配機(jī)制速度要足夠快,能實(shí)時(shí)迅速地完成數(shù)據(jù)匹配機(jī)制,且不丟失數(shù)據(jù)。要實(shí)現(xiàn)對(duì)于基于FPGA的觸發(fā)匹配機(jī)制,難點(diǎn)在于如何能夠在龐大的數(shù)據(jù)緩沖區(qū)快速找到符合觸發(fā)條件的時(shí)間測(cè)量數(shù)據(jù)。最簡(jiǎn)單直接的方法就是將數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)讀出,然后進(jìn)行匹配判選操作,符合條件的數(shù)據(jù)被存入下一級(jí)緩沖區(qū)中,不符合條件的數(shù)據(jù)則被丟棄。但是,這種方法需要將緩沖區(qū)中所有的數(shù)據(jù)都進(jìn)行一次“讀取-匹配選擇-存儲(chǔ)或丟棄”的操作,這期間對(duì)于無(wú)效數(shù)據(jù)的匹配操作無(wú)疑是浪費(fèi)時(shí)間,減慢了匹配速度。特別是對(duì)于無(wú)效數(shù)據(jù)量較大的情況下,大部分時(shí)間都浪費(fèi)在無(wú)用功上。所以,避免對(duì)無(wú)效數(shù)據(jù)的匹配操作能大大縮短匹配所需的時(shí)間,提高匹配速度。
【發(fā)明內(nèi)容】
[0011](一)要解決的技術(shù)問(wèn)題
[0012]本發(fā)明旨在解決現(xiàn)有的觸發(fā)匹配方法所需的匹配時(shí)間長(zhǎng)、匹配速度慢的問(wèn)題。
[0013](二)技術(shù)方案
[0014]為解決上述技術(shù)問(wèn)題,本發(fā)明提出一種基于內(nèi)容尋址存儲(chǔ)的觸發(fā)匹配裝置,用于從外部輸入的數(shù)據(jù)信號(hào)中得到有效數(shù)據(jù),該裝置包括CAM模塊和雙端口 RAM模塊,其中,所述CAM模塊用于接收所述數(shù)據(jù)信號(hào)并存儲(chǔ)與該數(shù)據(jù)信號(hào)匹配的匹配時(shí)間信息,并從所述數(shù)據(jù)信號(hào)中查找有效數(shù)據(jù),并給出與該有效數(shù)據(jù)對(duì)應(yīng)的匹配時(shí)間信息在該CAM模塊中所對(duì)應(yīng)的地址;所述雙端口 RAM模塊用于與所述CAM模塊同步接收所述數(shù)據(jù)信號(hào)并并行存儲(chǔ)與所述數(shù)據(jù)信號(hào)匹配的匹配時(shí)間信息,并根據(jù)所述CAM模塊給出的所述地址,輸出與位于雙端口 RAM模塊的同樣地址的匹配時(shí)間數(shù)據(jù)對(duì)應(yīng)的有效數(shù)據(jù)。
[0015]根據(jù)本發(fā)明的【具體實(shí)施方式】,所述CAM模塊和雙端口 RAM模塊均包括存儲(chǔ)單元,且二者所包括的存儲(chǔ)單元的個(gè)數(shù)相同,數(shù)據(jù)在該所述存儲(chǔ)單元中的地址也一致。
[0016]根據(jù)本發(fā)明的【具體實(shí)施方式】,CAM模塊中存儲(chǔ)所述匹配時(shí)間信息中粗計(jì)數(shù)值,所述雙端口 RAM模塊將所述匹配時(shí)間信息進(jìn)行完整存儲(chǔ)。
[0017]根據(jù)本發(fā)明的【具體實(shí)施方式】,還包括控制模塊,所述控制模塊用于控制所述CAM模塊和RAM模塊的操作。
[0018]根據(jù)本發(fā)明的【具體實(shí)施方式】,所述控制模塊用于控制外部輸入的數(shù)據(jù)信號(hào)寫(xiě)入所述CAM模塊和雙端口 RAM模塊;接收觸發(fā)信號(hào)的時(shí)間測(cè)量數(shù)據(jù)信息,根據(jù)觸發(fā)窗寬的大小,計(jì)算得到需要查找的時(shí)間信息的范圍,并將結(jié)定的關(guān)鍵字送入CAM模塊進(jìn)行查找,對(duì)CAM模塊返回的地址進(jìn)行譯碼,將其作為雙端口 RAM模塊的地址,讀出相應(yīng)地址中的有效數(shù)據(jù)。
[0019]根據(jù)本發(fā)明的【具體實(shí)施方式】,所述控制模塊包括:數(shù)據(jù)存儲(chǔ)控制模塊,用于控制與所述數(shù)據(jù)信號(hào)匹配的所述匹配時(shí)間信息寫(xiě)入所述CAM模塊和雙端口 RAM模塊;觸發(fā)信號(hào)處理模塊,用于獲取所述觸發(fā)信號(hào)的時(shí)間測(cè)量信息;觸發(fā)匹配控制模塊,用于計(jì)算得出觸發(fā)窗的范圍,將與觸發(fā)窗的范圍匹配的數(shù)據(jù)信號(hào)逐一送入所述CAM模塊進(jìn)行關(guān)鍵字查找。
[0020]根據(jù)本發(fā)明的【具體實(shí)施方式