本發(fā)明屬于通信與計(jì)算機(jī)領(lǐng)域,具體涉及一種基于fpga的數(shù)據(jù)采集方法及數(shù)據(jù)采集系統(tǒng)。
背景技術(shù):
:綜合控制器是運(yùn)載火箭控制系統(tǒng)箭上重要單機(jī),主要負(fù)責(zé)箭上模擬量以及開(kāi)關(guān)量的采集和輸出。現(xiàn)在技術(shù)中,綜合控制器在進(jìn)行多路模擬量ad數(shù)據(jù)采集的時(shí)候,一般通過(guò)多路選擇器串行采集,這就難以發(fā)揮ad采集芯片的最大效能。圖1為現(xiàn)有技術(shù)中一種常用的綜合控制器中ad數(shù)據(jù)采集模塊系統(tǒng)功能圖。如圖1所示,現(xiàn)有的常用綜合控制器模擬量采集模塊,存在如下問(wèn)題:第一,采樣速率低。數(shù)據(jù)采集模塊采用12路a/d串行采集方法,同過(guò)38譯碼器選通,a/d模塊與單片機(jī)采用端口模擬spi方式通信,單路采集耗時(shí)1ms,12通道循環(huán)周期為12ms。第二,數(shù)據(jù)訪問(wèn)仲裁速度慢。如,當(dāng)采用方案cpu11模塊和單片機(jī)共享單端sram,由cpld來(lái)做多路選擇器時(shí),導(dǎo)致每一次單片機(jī)訪問(wèn)sram至少需要14個(gè)指令周期,用于鎖定和釋放總線。同時(shí)由于模塊使用中斷方式通知cpu11總線占用,存在潛在的風(fēng)險(xiǎn)使得cpu11長(zhǎng)時(shí)間處于中斷狀態(tài),影響綜合控制器響應(yīng)速度。技術(shù)實(shí)現(xiàn)要素:本發(fā)明要解決的技術(shù)問(wèn)題是設(shè)計(jì)一種簡(jiǎn)單高效、易于實(shí)現(xiàn)的高速ad數(shù)據(jù)采集時(shí)序,以充分發(fā)揮ad采集芯片的最大效能?;诖?,本發(fā)明提出了一種基于fpga的ad數(shù)據(jù)采集方法及數(shù)據(jù)采集系統(tǒng),通過(guò)設(shè)計(jì)合理的采集轉(zhuǎn)換控制時(shí)序,同時(shí)使用fpga內(nèi)部的剩余資源實(shí)現(xiàn)雙口ram,使得數(shù)據(jù)采集模塊和處理模塊可以異步運(yùn)行,最大限度的保證了綜合控制器使用的響應(yīng)的實(shí)時(shí)性。根據(jù)本發(fā)明的一個(gè)方面,提供了一種基于fpga的數(shù)據(jù)采集方法,所述方法包括如下步驟:由fpga發(fā)出ad數(shù)據(jù)采集轉(zhuǎn)換控制時(shí)序,對(duì)ad芯片由fpga上升沿控制開(kāi)始a/d轉(zhuǎn)換,對(duì)fpga內(nèi)部由fpga下降沿控制開(kāi)始數(shù)據(jù)采集;利用fpga內(nèi)部剩余資源實(shí)現(xiàn)雙口ram,異步進(jìn)行ad數(shù)據(jù)接收和數(shù)據(jù)處理。上述方案中,所述ad芯片為ad7893芯片,所述ad數(shù)據(jù)采集轉(zhuǎn)換控制時(shí)序的周期為12us。上述方案中,所述系統(tǒng)包括,基于fpga的數(shù)據(jù)采集處理板,ad數(shù)據(jù)轉(zhuǎn)換板,數(shù)字信號(hào)處理dsp板;其中,所述基于fpga的數(shù)據(jù)采集處理板,用于發(fā)出ad數(shù)據(jù)采集轉(zhuǎn)換控制時(shí)序,用于由fpga下降沿控制開(kāi)始數(shù)據(jù)采集,由fpga上升沿控制ad數(shù)據(jù)轉(zhuǎn)換板開(kāi)始a/d轉(zhuǎn)換;還用于將所采集的數(shù)據(jù)存入fpga內(nèi)部,實(shí)現(xiàn)的雙口ram;所述ad數(shù)據(jù)轉(zhuǎn)換板與所述基于fpga的數(shù)據(jù)采集處理板相連,用于在所述基于fpga的數(shù)據(jù)采集處理板發(fā)現(xiàn)的轉(zhuǎn)換控制指令,對(duì)所采集的數(shù)據(jù)進(jìn)行轉(zhuǎn)換;所述數(shù)字信號(hào)處理dsp板與所述基于fpga的數(shù)據(jù)采集處理板相連,用于通過(guò)所述雙口ram異步讀取所采集的數(shù)據(jù),并用于對(duì)數(shù)據(jù)進(jìn)行濾波,同時(shí)將濾波后的數(shù)據(jù)放回fpga;上述方案中,所述系統(tǒng)還包括:同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器sdram板,所述同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器sdram板與所述數(shù)字信號(hào)處理dsp板相連,用于動(dòng)態(tài)存儲(chǔ)dsp板相關(guān)數(shù)據(jù)。上述方案中,所述基于fpga的數(shù)據(jù)采集處理板具有與外部cpu的通信接口,所述通信接口用于cpu讀取所述數(shù)據(jù)采集處理板中的濾波后的數(shù)據(jù)。上述方案中,所述ad數(shù)據(jù)轉(zhuǎn)換板為至少兩塊6路pcb板;所述數(shù)據(jù)采集處理板為一塊pcb板,板上的fpga用于產(chǎn)生12路ad數(shù)據(jù)采集時(shí)序,上述方案中,所述ad數(shù)據(jù)轉(zhuǎn)換板為ad7893芯片,所述ad數(shù)據(jù)采集轉(zhuǎn)換控制時(shí)序的周期為12us。上述方案中,所述基于fpga的數(shù)據(jù)采集處理板分為四個(gè)區(qū),包括:ad數(shù)據(jù)采集轉(zhuǎn)換時(shí)序控制區(qū)、vbus總線接口通信區(qū)、dspemif總線接口通信區(qū)和雙口ram區(qū)。由以上本發(fā)明實(shí)施例的技術(shù)方案可以看出,基于fpga的數(shù)據(jù)采集方法及系統(tǒng),通過(guò)優(yōu)化采集時(shí)序,由fpga發(fā)出ad數(shù)據(jù)采集轉(zhuǎn)換控制時(shí)序,對(duì)ad芯片由fpga上升沿控制開(kāi)始a/d轉(zhuǎn)換,對(duì)fpga內(nèi)部由fpga下降沿控制開(kāi)始數(shù)據(jù)采集;利用fpga內(nèi)部剩余資源實(shí)現(xiàn)雙口ram,異步進(jìn)行ad數(shù)據(jù)接收和數(shù)據(jù)處理,無(wú)需互斥操作,最大限度的保證數(shù)據(jù)采集轉(zhuǎn)換的實(shí)時(shí)性,同時(shí)減少系統(tǒng)其他的硬件開(kāi)銷。附圖說(shuō)明圖1為現(xiàn)有技術(shù)中常用的綜合控制器采集模塊系統(tǒng)功能圖;圖2為本發(fā)明第一實(shí)施例的基于fpga的ad數(shù)據(jù)采集系統(tǒng)功能框圖;圖3為本發(fā)明第一實(shí)施例的fpga內(nèi)部功能框圖;圖4為采用本發(fā)明第一實(shí)施例的基于fpga的ad數(shù)據(jù)采集系統(tǒng)進(jìn)行數(shù)據(jù)采集時(shí)的ad數(shù)據(jù)采集時(shí)序圖;圖5為采用本發(fā)明第一實(shí)施例的基于fpga的ad數(shù)據(jù)采集系統(tǒng)進(jìn)行數(shù)據(jù)采集時(shí)的狀態(tài)轉(zhuǎn)移圖;圖6為采用本發(fā)明第一實(shí)施例的基于fpga的ad數(shù)據(jù)采集系統(tǒng)進(jìn)行數(shù)據(jù)采集時(shí)的雙口ram數(shù)據(jù)交互時(shí)序圖。具體實(shí)施方式通過(guò)參考示范性實(shí)施例,本發(fā)明技術(shù)問(wèn)題、技術(shù)方案和優(yōu)點(diǎn)將得以闡明。然而,本發(fā)明并不受限于以下所公開(kāi)的示范性實(shí)施例;可以通過(guò)不同形式來(lái)對(duì)其加以實(shí)現(xiàn)。說(shuō)明書的實(shí)質(zhì)僅僅是幫助相關(guān)領(lǐng)域技術(shù)人員綜合理解本發(fā)明的具體細(xì)節(jié)。下面結(jié)合具體的實(shí)施例及附圖對(duì)本發(fā)明做進(jìn)一步闡述。第一實(shí)施例綜合控制器的命令執(zhí)行所依賴的可編程存儲(chǔ)器中,現(xiàn)場(chǎng)可編程門陣列(field-programmablegatearray,fpga),是在pal、gal、cpld等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物,解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。本實(shí)施例的基于fpga的ad數(shù)據(jù)采集系統(tǒng),以由兩塊各6路的ad數(shù)據(jù)轉(zhuǎn)換板和一塊數(shù)據(jù)采集處理板(mcu板)為例進(jìn)行說(shuō)明,但是在實(shí)踐中,并不限于此,本發(fā)明還可以根據(jù)需要對(duì)所述ad數(shù)據(jù)采集系統(tǒng)進(jìn)行適應(yīng)性擴(kuò)充。圖2為本發(fā)明第一實(shí)施例的基于fpga的ad數(shù)據(jù)采集系統(tǒng)功能框圖。如圖2所示,本實(shí)施例的基于fpga的ad數(shù)據(jù)采集系統(tǒng),由3塊pcb板組成,其中包括一塊數(shù)據(jù)采集處理板(mcu板),另外兩塊為各6路的ad數(shù)據(jù)轉(zhuǎn)換板,數(shù)字信號(hào)處理dsp板,同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器sdram板。其中,mcu板主要完成數(shù)據(jù)采集,板上的fpga負(fù)責(zé)產(chǎn)生12路ad數(shù)據(jù)采集轉(zhuǎn)換控制時(shí)序,并用于由fpga下降沿控制開(kāi)始數(shù)據(jù)采集,由fpga上升沿控制ad數(shù)據(jù)轉(zhuǎn)換板開(kāi)始a/d轉(zhuǎn)換;還用于將所采集的數(shù)據(jù)存入fpga內(nèi)部,實(shí)現(xiàn)的雙口ram。進(jìn)一步的,圖3為本實(shí)施例fpga內(nèi)部功能框圖。如圖3所示,所述基于fpga的數(shù)據(jù)采集處理板分為四個(gè)區(qū),包括:ad數(shù)據(jù)采集轉(zhuǎn)換時(shí)序控制區(qū)、vbus總線接口通信區(qū)、dspemif總線接口通信區(qū)和雙口ram區(qū)。mcu板上的fpga作為整個(gè)系統(tǒng)的控制核心,擔(dān)負(fù)著數(shù)據(jù)采集、通信等任務(wù)。特別的,所述vbus總線接口通信區(qū),為所述基于fpga的數(shù)據(jù)采集處理板具有的與外部cpu的通信接口,所述通信接口用于cpu讀取所述數(shù)據(jù)采集處理板中的濾波后的數(shù)據(jù),完成外部cpu與內(nèi)部mcu板的通信。所述ad數(shù)據(jù)轉(zhuǎn)換板與所述基于fpga的數(shù)據(jù)采集處理板相連,用于在所述基于fpga的數(shù)據(jù)采集處理板發(fā)現(xiàn)的轉(zhuǎn)換控制指令,對(duì)所采集的數(shù)據(jù)進(jìn)行轉(zhuǎn)換。所述數(shù)字信號(hào)處理dsp板與所述基于fpga的數(shù)據(jù)采集處理板相連,用于通過(guò)所述雙口ram異步讀取所采集的數(shù)據(jù),并用于對(duì)數(shù)據(jù)進(jìn)行濾波,同時(shí)將濾波后的數(shù)據(jù)放回fpga。所述同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器sdram板與所述數(shù)字信號(hào)處理dsp板相連,用于動(dòng)態(tài)存儲(chǔ)dsp板相關(guān)數(shù)據(jù)。特別的,所述ad數(shù)據(jù)轉(zhuǎn)換板采用ad7893芯片,所述ad數(shù)據(jù)采集轉(zhuǎn)換控制時(shí)序的周期為12us。由于所使用的ad7893芯片每次ad轉(zhuǎn)換需要約6us的時(shí)間,另外由于其自身spi數(shù)據(jù)傳輸速率的限制,以及額外的數(shù)據(jù)存儲(chǔ)時(shí)間,所以設(shè)計(jì)了周期為12us的采集轉(zhuǎn)換控制時(shí)序。當(dāng)本實(shí)施例的實(shí)施例的基于fpga的ad數(shù)據(jù)采集系統(tǒng)進(jìn)行數(shù)據(jù)采集時(shí),mcu板主要完成數(shù)據(jù)采集、濾波,并且用于和綜合控制器的cpu模塊進(jìn)行通信。板上的fpga負(fù)責(zé)產(chǎn)生12路ad數(shù)據(jù)采集時(shí)序,同時(shí)將采集的數(shù)據(jù)存入fpga內(nèi)部實(shí)現(xiàn)的雙口ram,供數(shù)字信號(hào)處理模塊dsp異步讀取,用于數(shù)據(jù)濾波,濾波后的數(shù)據(jù)放回fpga供綜合控制器的cpu模塊讀取最終結(jié)果。另外兩塊ad數(shù)據(jù)轉(zhuǎn)換板主要由儀放、ad7893芯片等外圍供電電路組成,用于外部電壓轉(zhuǎn)換。圖4為采用本實(shí)施例基于fpga的ad數(shù)據(jù)采集系統(tǒng)進(jìn)行數(shù)據(jù)采集時(shí)的ad數(shù)據(jù)采集時(shí)序圖。如圖4所示,本實(shí)施例基于fpga的ad數(shù)據(jù)采集系統(tǒng)采用ad7893芯片,為了最大化提高采集速率,并且簡(jiǎn)化采集時(shí)序流程,設(shè)計(jì)了該采集時(shí)序。該芯片用convst引腳控制采集,上升沿開(kāi)始ad轉(zhuǎn)換,6us后通過(guò)sclk,sdata引腳串行讀入ad轉(zhuǎn)換數(shù)據(jù)。表1fpga狀態(tài)機(jī)說(shuō)明現(xiàn)狀態(tài)名說(shuō)明st_idle空閑狀態(tài)st_convertingad數(shù)據(jù)轉(zhuǎn)換中st_data_read讀取ad數(shù)據(jù)st_save將數(shù)據(jù)存入dramad數(shù)據(jù)采集使用mealy型狀態(tài)機(jī)實(shí)現(xiàn),整個(gè)采集周期為12us,狀態(tài)如表1所示,狀態(tài)轉(zhuǎn)移如圖5所示。當(dāng)convst信號(hào)為低時(shí),狀態(tài)機(jī)停留在st_idle狀態(tài),當(dāng)convst信號(hào)為高時(shí),進(jìn)入st_converting狀態(tài),表明數(shù)據(jù)正在轉(zhuǎn)換,6us后convst信號(hào)再次變低,表明轉(zhuǎn)換結(jié)束,同時(shí)進(jìn)入st_data_read狀態(tài)串行讀取12路ad數(shù)據(jù),之后順序進(jìn)入st_save狀態(tài),將數(shù)據(jù)存入內(nèi)部雙端口ram,然后回到st_idle狀態(tài),等待下次轉(zhuǎn)換開(kāi)始。圖6為采用本實(shí)施例基于fpga的ad數(shù)據(jù)采集系統(tǒng)進(jìn)行數(shù)據(jù)采集時(shí)的雙口ram數(shù)據(jù)交互時(shí)序圖。如圖6所示,采用altera提供的ip核truedualram實(shí)現(xiàn),可以實(shí)現(xiàn)cpu模塊與dsp,fpga與dsp之間的無(wú)互斥數(shù)據(jù)交互。由以上可以看出,基于fpga的ad數(shù)據(jù)采集系統(tǒng),通過(guò)優(yōu)化采集時(shí)序,由fpga發(fā)出ad數(shù)據(jù)采集轉(zhuǎn)換控制時(shí)序,對(duì)ad芯片由fpga上升沿控制開(kāi)始a/d轉(zhuǎn)換,對(duì)fpga內(nèi)部由fpga下降沿控制開(kāi)始數(shù)據(jù)采集,采用fpga來(lái)做a/d數(shù)據(jù)采集,實(shí)現(xiàn)并行采集,可以做到12路ad同時(shí)控制采集,最大限度的發(fā)揮ad芯片采集速率。利用fpga內(nèi)部剩余資源實(shí)現(xiàn)雙口ram,cpu模塊與dsp,fpga與dsp之間的數(shù)據(jù)交互通過(guò)雙口ram實(shí)現(xiàn),由于交互數(shù)據(jù)量不大,故而采用在fpga內(nèi)部實(shí)現(xiàn)雙口ram的方案,異步進(jìn)行ad數(shù)據(jù)接收和數(shù)據(jù)處理,這樣的雙端操作,無(wú)需互斥操作,最大限度的保證數(shù)據(jù)采集轉(zhuǎn)換的靈活性,同時(shí)減少系統(tǒng)其他的硬件開(kāi)銷。第二實(shí)施例本實(shí)施例提供了一種基于fpga的數(shù)據(jù)采集方法,所述方法包括如下步驟:由fpga發(fā)出ad數(shù)據(jù)采集轉(zhuǎn)換控制時(shí)序,對(duì)ad芯片由fpga上升沿控制開(kāi)始a/d轉(zhuǎn)換,對(duì)fpga內(nèi)部由fpga下降沿控制開(kāi)始數(shù)據(jù)采集;利用fpga內(nèi)部剩余資源實(shí)現(xiàn)雙口ram,異步進(jìn)行ad數(shù)據(jù)接收和數(shù)據(jù)處理。特別的,所述ad芯片為ad7893芯片,所述ad數(shù)據(jù)采集轉(zhuǎn)換控制時(shí)序的周期為12us。本實(shí)施例的基于fpga的ad數(shù)據(jù)采集方法,通過(guò)優(yōu)化采集時(shí)序,由fpga發(fā)出ad數(shù)據(jù)采集轉(zhuǎn)換控制時(shí)序,對(duì)ad芯片由fpga上升沿控制開(kāi)始a/d轉(zhuǎn)換,對(duì)fpga內(nèi)部由fpga下降沿控制開(kāi)始數(shù)據(jù)采集,采用fpga來(lái)做a/d數(shù)據(jù)采集,實(shí)現(xiàn)并行采集,最大限度的發(fā)揮ad芯片采集速率。利用fpga內(nèi)部剩余資源實(shí)現(xiàn)雙口ram,cpu模塊與dsp,fpga與dsp之間的數(shù)據(jù)交互通過(guò)雙口ram實(shí)現(xiàn),由于交互數(shù)據(jù)量不大,故而采用在fpga內(nèi)部實(shí)現(xiàn)雙口ram的方案,異步進(jìn)行ad數(shù)據(jù)接收和數(shù)據(jù)處理,這樣的雙端操作,無(wú)需互斥操作,最大限度的保證數(shù)據(jù)采集轉(zhuǎn)換的實(shí)時(shí)性,同時(shí)減少系統(tǒng)其他的硬件開(kāi)銷。以上所述是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本
技術(shù)領(lǐng)域:
的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明所述原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。當(dāng)前第1頁(yè)12