專利名稱:一種基于pci總線的高速數(shù)據(jù)緩存與采集系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于高速數(shù)據(jù)緩存技術(shù)領(lǐng)域,尤其涉及一種基于PCI總線的高速數(shù)據(jù)緩存與采集系統(tǒng)。
背景技術(shù):
高速數(shù)據(jù)緩存與傳輸系統(tǒng)的設(shè)計(jì)是高速PCI (Peripheral ComponentInterconnect, 外設(shè)組件互連標(biāo)準(zhǔn)接口)數(shù)據(jù)采集卡數(shù)據(jù)傳輸時(shí)序邏輯系統(tǒng)的核心,其實(shí)現(xiàn)的功能包括基本的緩存功能和傳輸功能。高速數(shù)據(jù)緩存與傳輸系統(tǒng)所采用的緩存與傳輸架構(gòu)設(shè)計(jì)的優(yōu)劣不僅限定了高速 PCI采集卡的數(shù)據(jù)傳輸速率上限與產(chǎn)品功能配置的靈活性,同時(shí)也決定了它的開發(fā)難度和成本?,F(xiàn)有技術(shù)中的高速數(shù)據(jù)采集系統(tǒng),其每個(gè)數(shù)據(jù)通道都對應(yīng)有一個(gè)獨(dú)立的用于緩存通道數(shù)據(jù)的FIFO (First Input First Ouput,先入先出隊(duì)列),通過中斷標(biāo)志觸發(fā)或指示系統(tǒng)去對應(yīng)的FIFO做DMA取數(shù)操作。通過控制切換三態(tài)總線控制器的狀態(tài),數(shù)據(jù)復(fù)用本地?cái)?shù)據(jù)總線,使其與PCI總線控制芯片的讀數(shù)時(shí)序配合從而完成數(shù)據(jù)的傳輸。還有一些數(shù)據(jù)采集系統(tǒng)是在后級減少了總線三態(tài)復(fù)用,但在前級又增加了一級三態(tài)總線復(fù)用。上述現(xiàn)有技術(shù)具有如下缺點(diǎn)中斷源過多,造成軟件開發(fā)比較復(fù)雜;在完成傳輸過程中產(chǎn)生的中斷次數(shù)多會(huì)成為嚴(yán)重制約系統(tǒng)整體數(shù)據(jù)傳輸?shù)钠款i;過多的總線復(fù)用,會(huì)造成數(shù)據(jù)傳輸?shù)姆€(wěn)定性差,影響整體傳輸速率;該技術(shù)緩存不能復(fù)用,利用率低;如需提高速率,則需加大緩存的容量,開發(fā)成本高。同時(shí),增加的三態(tài)總線復(fù)用造成控制時(shí)序復(fù)雜,而且對高速數(shù)據(jù)傳輸?shù)姆€(wěn)定性造成不利影響。此外,前級電路結(jié)構(gòu)設(shè)計(jì)使FIFO的復(fù)用率不高,當(dāng)單通道工作時(shí),僅其中的一個(gè)通道可以復(fù)用總緩存容量;當(dāng)雙通道工作時(shí),只有其中特定的兩個(gè)雙通道可以復(fù)用總緩存容量,造成緩存利用率提高有限。總之,現(xiàn)有的基于PCI 總線的高速數(shù)據(jù)緩存與采集系統(tǒng)的架構(gòu)在系統(tǒng)數(shù)據(jù)傳輸?shù)撵`活性、可靠性和速率傳輸上限瓶頸等方面都存在諸多不足。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例的目的在于提供一種基于PCI總線的高速數(shù)據(jù)緩存與采集系統(tǒng),旨在改善現(xiàn)有技術(shù)中系統(tǒng)數(shù)據(jù)傳輸?shù)撵`活性和可靠性較差以及速率傳輸上限存在瓶頸的問題。本發(fā)明實(shí)施例是這樣實(shí)現(xiàn)的,一種基于PCI總線的高速數(shù)據(jù)緩存與采集系統(tǒng),包括可編程邏輯單元,其具有多個(gè)接收數(shù)據(jù)的數(shù)據(jù)通道,用于將接收到的一組或多組數(shù)據(jù)處理成與當(dāng)前工作模式相匹配的數(shù)據(jù)格式;其中在每一種工作模式下有對應(yīng)的一個(gè)或多個(gè)數(shù)據(jù)通道選通;FIFO單元,用于在與所述可編程邏輯單元處理得到的數(shù)據(jù)格式相對應(yīng)的輸入輸出
4總線寬度模式下,通過完全利用緩存資源對所述可編程邏輯單元處理過的數(shù)據(jù)進(jìn)行緩存;多路數(shù)據(jù)合并控制單元,用于通過向所述FIFO單元發(fā)出FIFO工作模式控制信號來控制所述FIFO單元的當(dāng)前的輸入輸出總線寬度模式,并通過向所述可編程邏輯單元發(fā)出數(shù)據(jù)合并狀態(tài)控制信號來控制所述可編程邏輯單元將接收到的數(shù)據(jù)處理成與當(dāng)前工作模式相匹配的數(shù)據(jù)格式;以及PCI總線控制芯片,用于訪問所述FIFO單元以讀取所述FIFO單元中的緩存數(shù)據(jù), 并向所述多路數(shù)據(jù)合并控制單元發(fā)出當(dāng)前工作模式控制信號以觸發(fā)所述多路數(shù)據(jù)合并控制單元對所述FIFO單元和所述可編程邏輯單元的控制。本發(fā)明實(shí)施例中,在不同工作模式下,由多路數(shù)據(jù)合并控制單元的控制,可編程邏輯單元將數(shù)據(jù)處理成與后級FIFO單元的當(dāng)前工作模式下總線寬度相匹配的數(shù)據(jù)格式,然后將數(shù)據(jù)緩存到FIFO單元中,最終由PCI總線芯片通過PCI總線將數(shù)據(jù)傳送到主機(jī)。本發(fā)明把系統(tǒng)的FIFO數(shù)量較少到最小,同時(shí)靈活的利用了 FIFO的輸入輸出總線寬度可配置的特性,實(shí)現(xiàn)在不同工作模式下都能完全利用FIFO的容量。本技術(shù)克服了現(xiàn)有技術(shù)存在的數(shù)據(jù)傳輸瓶頸,簡化了整體設(shè)計(jì),有效降低了系統(tǒng)架構(gòu)對后級的電路和時(shí)序邏輯設(shè)計(jì)的要求。
圖1是本發(fā)明實(shí)施例提供的基于PCI總線的高速數(shù)據(jù)緩存與采集系統(tǒng)的結(jié)構(gòu)原理圖;圖2是圖1所示系統(tǒng)的一種具體結(jié)構(gòu)示意圖;圖3是圖1所示系統(tǒng)的另一種具體結(jié)構(gòu)示意圖。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明實(shí)施例中,根據(jù)當(dāng)前不同的通道輸入工作模式,主機(jī)通過PCI總線控制芯片向本地的多路數(shù)據(jù)合并控制單元發(fā)出當(dāng)前工作模式信號,由多路數(shù)據(jù)合并控制單元根據(jù)當(dāng)前工作模式信號產(chǎn)生狀態(tài)控制信號,將FIFO單元設(shè)置為不同的輸入輸出總線寬度模式, 同時(shí)控制可編程邏輯單元將前級電路,如多路數(shù)據(jù)采集卡的高速數(shù)模轉(zhuǎn)換電路采集到的多路輸入數(shù)據(jù),處理成與工作模式所確定的緩存FIFO輸入總線寬度相匹配的數(shù)據(jù)格式。最終由PCI總線芯片通過PCI總線以Demand DMA傳輸模式(所謂Demand DMA模式指DMA傳輸是由本地控制信號直接觸發(fā)啟動(dòng),而非由通過設(shè)置PCI總線控制芯片內(nèi)部的DMA傳輸啟動(dòng)位)將數(shù)據(jù)傳送到計(jì)算機(jī),從而實(shí)現(xiàn)了一個(gè)完整的數(shù)據(jù)傳輸功能。圖1示出了本發(fā)明實(shí)施例提供的基于PCI總線的高速數(shù)據(jù)緩存與采集系統(tǒng)的結(jié)構(gòu)原理,為了便于描述,僅示出了與本實(shí)施例相關(guān)的部分。參照圖1,可編程邏輯單元1采用了一片單獨(dú)的可編程邏輯器件用于完成數(shù)據(jù)預(yù)處理,其具有多個(gè)接收數(shù)據(jù)的數(shù)據(jù)通道(圖1以4個(gè)數(shù)據(jù)通道為例),用于將接收到的一組或多組數(shù)據(jù)處理成與當(dāng)前工作模式相匹配的數(shù)據(jù)格式。在每一種工作模式下可編程邏輯單元1通過調(diào)整內(nèi)部數(shù)據(jù)通道的選通狀態(tài),以完成多通道數(shù)據(jù)的數(shù)據(jù)格式處理功能。例如對于一個(gè)具有4個(gè)通道的高速數(shù)據(jù)緩存與采集系統(tǒng)其實(shí)現(xiàn)的輸入通道模式按類分為單通道模式、雙通道模式或四通道模式等。在單通道工作模式下,選通數(shù)據(jù)通道1或2或3或4 將數(shù)據(jù)傳輸至FIFO單元2進(jìn)行緩存,在雙通道工作模式下選通數(shù)據(jù)通道1、3將數(shù)據(jù)傳輸至 FIFO單元2進(jìn)行緩存,其它工作模式原理可依此類推。 相對于現(xiàn)有技術(shù),采用專門的可編程處理器件對多通道數(shù)據(jù)進(jìn)行預(yù)處理帶來好處是可以支持多種的通道輸入模式,對于一些特殊需求可以直接靈活的定制修改而不需要重新設(shè)計(jì)生產(chǎn);另外,避免了多級總線復(fù)用,不但提高了數(shù)據(jù)傳輸?shù)目煽啃?,而且降低了系統(tǒng)架構(gòu)對后級的電路和時(shí)序邏輯設(shè)計(jì)的要求。 本發(fā)明實(shí)施例中,在任何一種工作模式下,F(xiàn)IFO單元2具有一與可編程邏輯單元1 處理得到的數(shù)據(jù)格式相對應(yīng)的輸入輸出總線寬度模式,并且在任何一種輸入輸出總線寬度模式下FIFO單元2均可通過完全利用緩存資源對所述可編程邏輯單元處理過的數(shù)據(jù)進(jìn)行緩存。FIFO單元2采用一片具有輸入輸出總線寬度可配置特性的器件。本發(fā)明可以實(shí)現(xiàn) 16位輸入32位輸出與32位輸入32位輸出的模式。在單通道工作模式時(shí),F(xiàn)IFO單元2的工作模式設(shè)為16位輸入32位輸出??删幊踢壿媶卧?根據(jù)收到的由多路數(shù)據(jù)合并控制單元3發(fā)來的控制信號,只接收選定通道的數(shù)據(jù)并將其送到FIFO單元2處于工作態(tài)的16位總線上(FIFO本身是32位輸入,在此模式下必然有一半16位總線是不能接收數(shù)據(jù)的)。在雙通道、四通道工作模式時(shí),F(xiàn)IFO單元2的工作模式設(shè)為32位輸入32位輸出,可編程邏輯單元1將前級電路送來的多路數(shù)據(jù)處理成32位并將其送到FIFO單元2的32位總線上。本技術(shù)方案在兩種模式下,對于不同的輸入通道模式,可以完全利用FIFO單元的內(nèi)部緩存資源。而現(xiàn)有技術(shù)則不能做到這一點(diǎn),例如在現(xiàn)有技術(shù)中,對于每個(gè)數(shù)據(jù)通道都有一片獨(dú)立的 FIFO與之對應(yīng)的方案,在硬件電路結(jié)構(gòu)上限定了不管在哪種通道輸入模式下每個(gè)數(shù)據(jù)通道的數(shù)據(jù)只能存在對應(yīng)的FIFO當(dāng)中去,因此在單通道和雙通道輸入模式工作時(shí)是無法完全利用全部的FIFO緩存資源的。圖1中PCI總線控制芯片4向本地的多路數(shù)據(jù)合并控制單元3發(fā)出當(dāng)前工作模式信號,然后多路數(shù)據(jù)合并控制單元3由控制當(dāng)前工作模式下FIFO單元2的輸入輸出總線寬度模式,并控制可編程邏輯單元1將接收到的數(shù)據(jù)處理成與當(dāng)前工作模式相匹配的數(shù)據(jù)格式。同時(shí),PCI總線控制芯片4用于訪問FIFO單元2讀取緩存數(shù)據(jù)。上述實(shí)施例中,在當(dāng)前工作模式下,可編程邏輯單元1將數(shù)據(jù)處理成與后級FIFO 單元2的輸入輸出總線寬度模式相對應(yīng)的數(shù)據(jù)格式,有效降低了系統(tǒng)架構(gòu)對后級設(shè)計(jì)的要求,提高了數(shù)據(jù)傳輸?shù)撵`活性和可靠性。圖2是圖1所示系統(tǒng)的一種具體結(jié)構(gòu)實(shí)現(xiàn)。參照圖2,F(xiàn)IF0單元2僅包括一個(gè)FIFO,其預(yù)設(shè)有多種輸入輸出總線寬度模式,如 32入32出(即32位總線輸入32位總線輸出)、16入32出(S卩16位總線輸入32位總線輸出)模式。而可編程邏輯單元1采用一片單獨(dú)的可編程邏輯芯片(CPLD)實(shí)現(xiàn),內(nèi)部邏輯包括第一選擇器,其兩個(gè)輸入端分別與兩個(gè)數(shù)據(jù)通道(如通道1、;3) —一連接,其控制端與多路數(shù)據(jù)合并控制單元3連接,由多路數(shù)據(jù)合并控制單元3控制選通其中一個(gè)輸入端的數(shù)據(jù)輸入;第二選擇器,其兩個(gè)輸入端分別與另外兩個(gè)數(shù)據(jù)通道(如通道2、4) 一一連接, 其輸出端與FIFO的高位輸入端(高16位)連接,其控制端與多路數(shù)據(jù)合并控制單元3連接,由多路數(shù)據(jù)合并控制單元3控制選通其中一個(gè)輸入端的數(shù)據(jù)輸入;以及第三選擇器,其兩個(gè)輸入端分別與第一選擇器和第二選擇器的輸出端一一連接,其輸出端與FIFO的低位輸入端(低16位)連接,其控制端與多路數(shù)據(jù)合并控制單元3連接,由多路數(shù)據(jù)合并控制單元3控制選通其中一個(gè)輸入端的數(shù)據(jù)輸入。上述第一選擇器、第二選擇器、第三選擇器均
為二選一邏輯。對于單通道方式,通過三個(gè)總線二選一的選擇器將選定的一組數(shù)據(jù)輸入到FIFO 輸入端的低16位總線,此方式只使用FIFO輸入端的低16位總線。例如單通道工作模式下只有通道1工作,則第一與第三選擇器都選通圖示上端的通道工作即可。對于雙通道方式,同樣通過三個(gè)總線二選一的選擇器將選定的兩組數(shù)據(jù)輸入到FIFO的32位輸入端,此方式FIFO輸入端的低16位及高16位總線都使用。例如當(dāng)前選擇通道1、2工作,則第一、 第二與第三選擇器均選通圖示上端的通道工作即可。對于四通道方式,則是把每個(gè)時(shí)鐘周期取得的四路數(shù)據(jù)轉(zhuǎn)換成速率加倍的兩組兩路數(shù)據(jù),在采樣時(shí)鐘的前半周期把兩組數(shù)據(jù)以固定格式(例如把通道1的數(shù)據(jù)放在低16位輸出,通道2的數(shù)據(jù)放在高16位輸出)輸入到FIFO的32位輸入端;采樣時(shí)鐘的后半周期則輸入另兩組數(shù)據(jù),以固定格式(例如把通道 3的數(shù)據(jù)放在低16位輸出,通道4的數(shù)據(jù)放在高16位輸出)輸入到FIFO的32位輸入端。 分成兩次輸入后實(shí)際總的數(shù)據(jù)速率不變。在這種模式時(shí)數(shù)據(jù)總線寬度減半后便于與32位總線的FIFO輸入端口接口,簡化了與PCI總線芯片的本地總線的時(shí)序設(shè)計(jì)。進(jìn)一步地,圖2所示結(jié)構(gòu)中利用FIFO的半滿標(biāo)志位啟動(dòng)實(shí)現(xiàn)PCI總線控制芯片4 所支持的Demand DMA傳輸模式,即PCI總線控制芯片4在接收到FIFO的半滿標(biāo)志位信號后直接啟動(dòng)對FIFO單元2中緩存數(shù)據(jù)的DMA傳輸。這樣做在于相對于現(xiàn)有技術(shù)在提高效率和方案簡化上是有優(yōu)勢的?,F(xiàn)有技術(shù)都是采取如下方式首先通過半滿信號觸發(fā)一個(gè)中斷,在中斷程序中讀取FIFO的半滿標(biāo)志后,根據(jù)結(jié)果再去啟動(dòng)相應(yīng)通道的DMA數(shù)據(jù)傳輸,然后退出中斷,當(dāng)DMA完成讀取半FIFO容量的數(shù)據(jù)后產(chǎn)生一個(gè)DMA完成中斷,在DMA中斷處理程序中還要繼續(xù)讀取FIFO的半滿標(biāo)志位,對于半滿標(biāo)志位有效的通道繼續(xù)啟動(dòng)相對應(yīng)地址的DMA傳輸,如此反復(fù)直到所有通道的半滿標(biāo)志位無效為止。本發(fā)明方案則可省略這一過程,在實(shí)際過程中只有在需要采集數(shù)據(jù)的數(shù)量大于PCI總線芯片4限定的DMA傳輸上限時(shí)需要一個(gè)DMA中斷,DMA中斷中只需做PCI總線內(nèi)部控制寄存器有關(guān)DMA傳輸?shù)幕締?dòng)的設(shè)置即可。綜上所述可知完成同樣數(shù)據(jù)量的傳輸,本發(fā)明設(shè)計(jì)執(zhí)行的中斷操作次數(shù)要遠(yuǎn)少于對比技術(shù)。本發(fā)明實(shí)施例在DMA相應(yīng)速度和效率上明顯要高于現(xiàn)有技術(shù)。具體實(shí)施時(shí),圖2中的FIFO單元2可采用SN74V36XX系列實(shí)現(xiàn),當(dāng)輸入通道配置為一路時(shí),將FIFO設(shè)為18入36出的方式,輸入通道配置為兩路或四路時(shí),F(xiàn)IFO則均工作在36入36出的方式。在本方案中盡管只用了一片F(xiàn)IFO,不但能支持單通道連續(xù)采集,并且實(shí)現(xiàn)了緩存(FIFO)總?cè)萘康耐耆?。由于有專門的多通道數(shù)據(jù)整合邏輯處理芯片和數(shù)據(jù)整合處理機(jī)制,本發(fā)明實(shí)施例的端口可配置性比現(xiàn)有技術(shù)方案要靈活,端口配置形式更多。本技術(shù)方案在輸入工作方式上有更多的形式,并且可以每個(gè)通道都獨(dú)占FIFO工作。且這些組合形式的多樣性并不會(huì)對系統(tǒng)數(shù)據(jù)傳輸速率的上限造成影響。此外,由于使用了 CPLD內(nèi)部的邏輯替代了現(xiàn)有技術(shù)中采用的三態(tài)總線復(fù)用模式,相對于兩個(gè)現(xiàn)有技術(shù)的方案,整個(gè)數(shù)據(jù)傳輸系統(tǒng)的穩(wěn)定性也相對提高了。
從成本上來說由于實(shí)現(xiàn)上述組合時(shí)序邏輯對于CPLD的片內(nèi)資源要求很低,只是對于CPLD的管腳數(shù)目有要求。由于現(xiàn)在普通的CPLD價(jià)錢很低,其相對于方案二用多片三態(tài)鎖存門電路成本比較而言增加很少。針對數(shù)據(jù)傳輸功能部分,由于本方案只用了一片F(xiàn)IFO,將中斷源的數(shù)目已降至最少,避免了傳輸過程中三態(tài)總線復(fù)用,從而簡化了整個(gè)系統(tǒng)的設(shè)計(jì)思路,克服了現(xiàn)有技術(shù)存在的高速數(shù)據(jù)傳輸瓶頸,并且有效降低了系統(tǒng)架構(gòu)對后級設(shè)計(jì)的要求,提高了數(shù)據(jù)傳輸?shù)撵`活性和可靠性。此外,相對于現(xiàn)有技術(shù)能支持更多的輸入通道模式。同時(shí),本設(shè)計(jì)保證緩存架構(gòu)的輸出總線寬度與PCI總線控制芯片的本地總線寬度一致,即在任何工作模式下 FIFO單元2輸出總線寬度均保持一致,使FIFO單元2與PCI總線控制芯片4之間處于最佳接口狀態(tài)。這樣的設(shè)計(jì)可帶來總線復(fù)用減少、時(shí)序邏輯相對簡單、開發(fā)更風(fēng)險(xiǎn)更低的優(yōu)點(diǎn), 從而實(shí)現(xiàn)最大限度地利用了 PCI總線控制器的性能,此外后級數(shù)據(jù)傳輸?shù)目煽啃砸矔?huì)有所提尚。圖3是圖1所示系統(tǒng)的另一種具體結(jié)構(gòu)實(shí)現(xiàn)。參照圖3,F(xiàn)IFO單元2包括兩個(gè)FIFO,即圖3中的FIF01和FIF02,F(xiàn)IF01與FIF02 不同于圖1中的32位輸入32位輸出的FIFO,是兩片相同的16位輸入16位輸出的FIFO。 與PCI總線芯片的32本地總線相對應(yīng),F(xiàn)IF01用于緩存低16位總線數(shù)據(jù),F(xiàn)IF02用于緩存高 16位總線數(shù)據(jù)。而可編程邏輯單元1則包括第四選擇器,其兩個(gè)輸入端分別與兩個(gè)數(shù)據(jù)通道一一連接(如通道1、;3),其控制端與多路數(shù)據(jù)合并控制單元3連接,由多路數(shù)據(jù)合并控制單元3控制選通其中一個(gè)輸入端的數(shù)據(jù);第五選擇器,其兩個(gè)輸入端分別與另外兩個(gè)數(shù)據(jù)通道一一連接(如通道2、4),其控制端與多路數(shù)據(jù)合并控制單元3連接,由多路數(shù)據(jù)合并控制單元3控制選通其中一個(gè)輸入端的數(shù)據(jù);第六選擇器,其兩個(gè)輸入端分別與第四選擇器的輸出端和第五選擇器的輸出端一一連接,其輸出端與FIFO單元2中的一個(gè)FIFO (FIF01) 的輸入端連接,將輸入數(shù)據(jù)的低16位輸入至FIF01 ;以及第七選擇器,其兩個(gè)輸入端分別與第四選擇器的輸出端和第五選擇器的輸出端一一連接,其輸出端與FIFO單元中的另一個(gè) FIF0(FIF02)的輸入端連接,將輸入數(shù)據(jù)的高16位輸入至FIF02。對于單通道方式,例如通道1,首先啟動(dòng)傳輸?shù)牡谝粋€(gè)時(shí)鐘周期,使第四選擇器與第六選擇器都設(shè)為通道1輸出,同時(shí)將FIF01寫使能,數(shù)據(jù)被緩存到FIF01,而FIF02則寫使能關(guān)閉。第二個(gè)周期,則使第四選擇器與第七選擇器都設(shè)為通道1輸出,同時(shí)將FIF01的寫使能關(guān)閉,不接收數(shù)據(jù),將FIF02的寫使能打開。第三個(gè)周期重復(fù)第一個(gè)周期的操作,第四個(gè)周期重復(fù)第二個(gè)周期的操作。如此循環(huán)反復(fù)從而實(shí)現(xiàn)了單通道方式下,單個(gè)通道的數(shù)據(jù)被交替存到兩個(gè)FIFO當(dāng)中去,從而實(shí)現(xiàn)了單通道方式下FIFO資源的完全利用,依次類推可實(shí)現(xiàn)任意單通道的數(shù)據(jù)傳輸。對于雙通道方式,例如通道1與通道2同時(shí)工作,則使第四選擇器、第五選擇器、第六選擇器、第七選擇器都設(shè)為通道1輸出,同時(shí)將FIF01、FIF02均寫使能即可實(shí)現(xiàn)FIFO資源的完全利用。依次類推可實(shí)現(xiàn)通道1與通道2、4,通道3與通道2、4 的任意組合。如果將第四選擇器、第五選擇器在邏輯中設(shè)計(jì)為四選一選擇器則可實(shí)現(xiàn)任意雙通道組合的數(shù)據(jù)傳輸。對于四通道方式,其FIFO使能設(shè)置方式與雙通道方式相同,均為兩片F(xiàn)IFO始終被使能。不同之處在于此方式下FIFO的寫時(shí)鐘為前級數(shù)據(jù)速率的一倍,例如在數(shù)據(jù)的前半周期把第四選擇器、第五選擇器、第六選擇器、第七選擇器都設(shè)為通道1輸出,此時(shí)將通道1與通道2的數(shù)據(jù)打入FIFO中,在數(shù)據(jù)的后半周期將把第四選擇器、第五選擇器、第六選擇器、第七選擇器都設(shè)為通道2輸出,此時(shí)將通道3與通道4的數(shù)據(jù)打入FIFO 中。通過這種方式確保了所有通道的數(shù)據(jù)都被有效的緩存,從而有效完成四通道的數(shù)據(jù)緩存功能。多路數(shù)據(jù)合并控制單元3產(chǎn)生數(shù)據(jù)合并狀態(tài)控制信號來控制第四選擇器、第五選擇器、第六選擇器、第七選擇器的工作狀態(tài)。FIFO單元2將兩路FIFO的半滿標(biāo)志信號HF1、 HF2送到多路數(shù)據(jù)合并控制單元3 (FPGA)中,由多路數(shù)據(jù)合并控制單元3對這兩個(gè)半滿標(biāo)志信號處理后產(chǎn)生Demand DMA的啟動(dòng)控制信號,PCI總線控制芯片4在接收到DMA傳輸請求信號后啟動(dòng)對FIFO單元2中緩存數(shù)據(jù)的DMA傳輸。采用圖3所示方案對CPLD的資源要求要高,組合時(shí)序邏輯設(shè)計(jì)要復(fù)雜一些,會(huì)增加一些成本,但同時(shí)會(huì)帶來一個(gè)好處,就是可以突破SN74V36XX系列FIFO對于緩存容量的上限。同圖2所示結(jié)構(gòu),圖3所示結(jié)構(gòu)中同樣可以將FIFO單元2輸出總線寬度設(shè)計(jì)為在任何工作模式下均保持一致,使FIFO單元2與PCI總線控制芯片4之間處于最佳接口狀態(tài)。實(shí)現(xiàn)最大限度地利用了 PCI總線控制器的性能,此外后級數(shù)據(jù)傳輸?shù)目煽啃砸矔?huì)有所提尚。本發(fā)明實(shí)施例中,在當(dāng)前工作模式下,可編程邏輯單元將數(shù)據(jù)處理成與后級FIFO 單元的輸入輸出總線寬度模式相對應(yīng)的數(shù)據(jù)格式,有效降低了系統(tǒng)架構(gòu)對后級設(shè)計(jì)的要求,提高了數(shù)據(jù)傳輸?shù)撵`活性和可靠性。FIFO的數(shù)量最少可以只需要一個(gè),從而有效控制了同類功能的技術(shù)方案的數(shù)據(jù)傳輸瓶頸,在不同端口配置方案中都能最大化得利用緩存的容量,提高了系統(tǒng)的穩(wěn)定性,整個(gè)架構(gòu)很容易就能接近PCI控制芯片的傳輸上限。并且始終保持緩存FIFO的輸出總線寬度一致,把數(shù)據(jù)處理功能放到前級,保證緩存與PCI總線的控制芯片的接口狀態(tài)最佳,從而能最大程度的發(fā)揮PCI總線控制芯片的性能。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種基于PCI總線的高速數(shù)據(jù)緩存與采集系統(tǒng),其特征在于,包括可編程邏輯單元,其具有多個(gè)接收數(shù)據(jù)的數(shù)據(jù)通道,用于將接收到的一組或多組數(shù)據(jù)處理成與當(dāng)前工作模式相匹配的數(shù)據(jù)格式;其中在每一種工作模式下有對應(yīng)的一個(gè)或多個(gè)數(shù)據(jù)通道選通;FIFO單元,用于在與所述可編程邏輯單元處理得到的數(shù)據(jù)格式相對應(yīng)的輸入輸出總線寬度模式下,通過完全利用緩存資源對所述可編程邏輯單元處理過的數(shù)據(jù)進(jìn)行緩存;多路數(shù)據(jù)合并控制單元,用于通過向所述FIFO單元發(fā)出FIFO工作模式控制信號來控制所述FIFO單元的當(dāng)前的輸入輸出總線寬度模式,并通過向所述可編程邏輯單元發(fā)出數(shù)據(jù)合并狀態(tài)控制信號來控制所述可編程邏輯單元將接收到的數(shù)據(jù)處理成與當(dāng)前工作模式相匹配的數(shù)據(jù)格式;以及PCI總線控制芯片,用于訪問所述FIFO單元以讀取所述FIFO單元中的緩存數(shù)據(jù),并向所述多路數(shù)據(jù)合并控制單元發(fā)出當(dāng)前工作模式控制信號以觸發(fā)所述多路數(shù)據(jù)合并控制單元對所述FIFO單元和所述可編程邏輯單元的控制。
2.如權(quán)利要求1所述的基于PCI總線的高速數(shù)據(jù)緩存與采集系統(tǒng),其特征在于,所述 FIFO單元僅包括一個(gè)FIFO,所述FIFO預(yù)設(shè)有多種輸入輸出總線寬度模式;所述可編程邏輯單元包括第一選擇器,其兩個(gè)輸入端分別與兩個(gè)數(shù)據(jù)通道一一連接,其控制端與所述多路數(shù)據(jù)合并控制單元連接,由所述多路數(shù)據(jù)合并控制單元控制選通其中一個(gè)輸入端的數(shù)據(jù)通道;第二選擇器,其兩個(gè)輸入端分別與另外兩個(gè)數(shù)據(jù)通道一一連接,其輸出端與所述FIFO 的高位輸入端連接,其控制端與所述多路數(shù)據(jù)合并控制單元連接,由所述多路數(shù)據(jù)合并控制單元控制選通其中一個(gè)輸入端的數(shù)據(jù)通道;第三選擇器,其兩個(gè)輸入端分別與所述第一選擇器和所述第二選擇器的輸出端一一連接,其輸出端與所述FIFO的低位輸入端連接,其控制端與所述多路數(shù)據(jù)合并控制單元連接,由所述多路數(shù)據(jù)合并控制單元控制選通其中一個(gè)輸入端的數(shù)據(jù)。
3.如權(quán)利要求2所述的基于PCI總線的高速數(shù)據(jù)緩存與采集系統(tǒng),其特征在于,所述 PCI總線控制芯片還用于在接收到所述FIFO的半滿標(biāo)志位信號后直接啟動(dòng)對所述FIFO單元中緩存數(shù)據(jù)的DMA傳輸。
4.如權(quán)利要求2所述的基于PCI總線的高速數(shù)據(jù)緩存與采集系統(tǒng),其特征在于若當(dāng)前工作模式為單通道方式,僅有所述第三選擇器向所述FIFO單元的低位輸入端輸入數(shù)據(jù);若當(dāng)前工作模式為雙通道方式,所述第三選擇器向所述FIFO單元的低位輸入端輸入數(shù)據(jù),所述第二選擇器向所述FIFO單元的高位輸入端輸入數(shù)據(jù);若當(dāng)前工作模式為四通道方式,則所述第三選擇器在采樣時(shí)鐘的前半周期和后半周期分兩次向所述FIFO單元的低位輸入端輸入數(shù)據(jù),所述第二選擇器在采樣時(shí)鐘的前半周期和后半周期分兩次向所述FIFO單元的高位輸入端輸入數(shù)據(jù)。
5.如權(quán)利要求1所述的基于PCI總線的高速數(shù)據(jù)緩存與采集系統(tǒng),其特征在于,所述 FIFO單元包括兩個(gè)FIFO ;所述可編程邏輯單元包括第四選擇器,其兩個(gè)輸入端分別與兩個(gè)數(shù)據(jù)通道一一連接,其控制端與所述多路數(shù)據(jù)合并控制單元連接,由所述多路數(shù)據(jù)合并控制單元控制選通其中一個(gè)輸入端的數(shù)據(jù);第五選擇器,其兩個(gè)輸入端分別與另外兩個(gè)數(shù)據(jù)通道一一連接,其控制端與所述多路數(shù)據(jù)合并控制單元連接,由所述多路數(shù)據(jù)合并控制單元控制選通其中一個(gè)輸入端的數(shù)據(jù);第六選擇器,其兩個(gè)輸入端分別與所述第四選擇器的輸出端和所述第五選擇器的輸出端一一連接,其輸出端與所述FIFO單元中的一個(gè)FIFO的輸入端連接;以及第七選擇器,其兩個(gè)輸入端分別與所述第四選擇器的輸出端和所述第五選擇器的輸出端一一連接,其輸出端與所述FIFO單元中的另一個(gè)FIFO的輸入端連接。
6.如權(quán)利要求5所述的基于PCI總線的高速數(shù)據(jù)緩存與采集系統(tǒng),其特征在于,所述 FIFO單元將兩路FIFO的半滿標(biāo)志信號輸出至所述多路數(shù)據(jù)合并控制單元中,由所述多路數(shù)據(jù)合并控制單元產(chǎn)生一 DMA傳輸請求信號;所述PCI總線控制芯片還用于在接收到所述 DMA傳輸請求信號后啟動(dòng)對所述FIFO單元中緩存數(shù)據(jù)的DMA傳輸。
7.如權(quán)利要求5所述的基于PCI總線的高速數(shù)據(jù)緩存與采集系統(tǒng),其特征在于若當(dāng)前工作模式為單通道方式,所述第六選擇器和所述第七選擇器交替向所述FIFO 單元的兩個(gè)FIFO輸入數(shù)據(jù);若當(dāng)前工作模式為雙通道方式,所述第六選擇器向所述FIFO單元的一個(gè)FIFO輸入數(shù)據(jù),同時(shí)所述第七選擇器向所述FIFO單元的另一個(gè)FIFO輸入數(shù)據(jù);若當(dāng)前工作模式為四通道方式,所述第六選擇器在采樣時(shí)鐘的前半周期和后半周期分兩次向所述FIFO單元的一個(gè)FIFO輸入數(shù)據(jù),同時(shí)所述第七選擇器在采樣時(shí)鐘的前半周期和后半周期分兩次向所述FIFO單元的另一個(gè)FIFO輸入數(shù)據(jù)。
8.如權(quán)利要求1至7任一項(xiàng)所述的基于PCI總線的高速數(shù)據(jù)緩存與采集系統(tǒng),其特征在于,在所述FIFO單元的輸出總線寬度在任何工作模式下均保持一致。
全文摘要
本發(fā)明適用于高速數(shù)據(jù)緩存技術(shù)領(lǐng)域,提供了一種基于PCI總線的高速數(shù)據(jù)緩存與采集系統(tǒng),包括將接收到的一組或多組數(shù)據(jù)處理成具有與當(dāng)前工作模式相匹配的數(shù)據(jù)格式的可編程邏輯單元;在相應(yīng)的輸入輸出總線寬度模式下,通過完全利用緩存資源對可編程邏輯單元處理過的數(shù)據(jù)進(jìn)行緩存的FIFO單元;控制當(dāng)前工作模式下FIFO單元的輸入輸出總線寬度模式、并控制可編程邏輯單元的處理數(shù)據(jù)格式的多路數(shù)據(jù)合并控制單元,用于讀取FIFO單元中的緩存數(shù)據(jù)PCI總線控制芯片。本發(fā)明在當(dāng)前工作模式下,將數(shù)據(jù)處理成與后級FIFO單元的輸入輸出總線寬度模式相對應(yīng)的數(shù)據(jù)格式,有效降低了系統(tǒng)架構(gòu)對后級設(shè)計(jì)的要求,提高了數(shù)據(jù)傳輸?shù)撵`活性和可靠性。
文檔編號G06F13/38GK102221986SQ20101015172
公開日2011年10月19日 申請日期2010年4月15日 優(yōu)先權(quán)日2010年4月15日
發(fā)明者馮輝, 陳志列 申請人:研祥智能科技股份有限公司