基于FPGA的石油測井控制系統(tǒng)
摘要:針對石油測井儀器須將地下傳感器發(fā)送的不同數(shù)量級信號進行識別并恢復原始數(shù)值,從而方便地面分析地下情況,本文介紹了一種基于FPGA和DSP的石油測井控制系統(tǒng)的軟硬件設計與實現(xiàn)的新方法,采用FPGA芯片EP1C6T144C8進行主要時序控制,DSP做算法運算,不依靠GPIO而用數(shù)據(jù)總線來控制放大模式位。調試以及現(xiàn)場試驗結果表明,該系統(tǒng)能夠準確的實現(xiàn)對整支測井儀器的控制,并且恢復原始數(shù)據(jù)。
關鍵詞:EP1C6T144C8;數(shù)據(jù)總線;FPGA;DSP;GPIO
隨著測井技術的日益發(fā)展,針對地質構造的復雜性,以及傳感器采集信號數(shù)量級的差異,對測井儀器實時性,可靠性以及運算速度要求的不斷提高,為了能夠實時準確的實現(xiàn)整只測井儀器的控制以及原始數(shù)據(jù)的恢復,本研究利用FPGA和DSP為主要芯片設計完成了測井控制系統(tǒng)。本研究采用數(shù)據(jù)總線和地址總線共同傳輸放大倍數(shù)狀態(tài)位,從而節(jié)省了DSP有限的外部接口,經(jīng)驗證該方法穩(wěn)定性的實現(xiàn)了數(shù)據(jù)的恢復和硬件的簡化。
1 方案設計
兼顧本系統(tǒng)的處理速度以及功耗與擴展需要,本系統(tǒng)采用ALTERA公司的Cyclone系列EP1C6T144C8型FPGA作為本系統(tǒng)的主要邏輯控制器,該芯片完全可以適合測井系統(tǒng)的處理速度,功耗和擴展性完全滿足系統(tǒng)需要。
針對石油測井儀器采集端采集的數(shù)據(jù)有不同的放大倍數(shù),F(xiàn)PGA和DSP數(shù)據(jù)處理端要根據(jù)不同的放大倍數(shù)恢復原始數(shù)據(jù),由于FPGA的GPIO接口有限,EP1C6T144C8有70個I/O,DSP芯片TMS320F28335地址線20根,數(shù)據(jù)總線16根,片選信號3個,寫和讀使能3個,XREADY信號1個,XCLO CKOUT時鐘1個,F(xiàn)PGA要產(chǎn)生的控制信號16個,跑馬燈信號6個,加起來還剩4個I/O,即用于放大倍數(shù)位的I/O不夠,為了達到采集速率要求和簡化電路要求,故采用數(shù)據(jù)總線和地址總線共同傳輸放大倍數(shù)狀態(tài)位,從而節(jié)省了DSP有限的外部接口,以至于可是完全放棄GPIO接口的應用。
2 系統(tǒng)硬件設計
整個系統(tǒng)以FPGA為邏輯時序控制芯片,DSP為算法運算芯片,主要有3個模塊組成,包括DSP和FPGA模塊,電源模塊,CAN收發(fā)模塊。系統(tǒng)詳細構成如圖1所示。
2.1 控制信號硬件設計
系統(tǒng)由FPGA產(chǎn)生測井儀器的控制信號,包括掃描模式信號,復位信號,采集時鐘信號,三電平控制信號等??刂菩盘栍布O計如圖2所示。
其中多路開關芯片為HI1—5051,該芯片有+15 V和-15 V電平,通過control3和control4來控制多路開關的開和關,從而輸出所需要的三電平,實現(xiàn)命令字的發(fā)送。放大器由兩個三極管2N2222組成,由control1和control2控制基極的輸入,從而控制開斷,生成所需要的updata go信號,同時updatago也承載著由接口輸入的數(shù)據(jù),連著三極管的集電極,經(jīng)過比較器LM111,輸入到FPGA進行處理。
2.2 放大倍數(shù)運算硬件設計
系統(tǒng)由DSP進行算術運算,由FPGA將數(shù)據(jù)傳入DSP,計算出測井儀器不同數(shù)據(jù)的放大倍數(shù),并發(fā)送到FPGA,由FPGA按一定時鐘發(fā)送到下一短節(jié)進行識別,從而控制測井儀器的精確動作。原電路由DSP產(chǎn)生不同的放大倍數(shù),分由GPIO的邏輯1或0來發(fā)送到FPGA,根據(jù)不同的GPIO口定義不同的放大倍數(shù)然后完成下發(fā)。當放大倍數(shù)過多時,F(xiàn)PGA的GPIO口就不夠用了,為了減少GPIO口資源的浪費,本系統(tǒng)采用直接由數(shù)據(jù)總線發(fā)送,這樣既減少了資源浪費,又提高了發(fā)送效率。
放大倍數(shù)運算硬件設計如圖3所示。
其中寫RAM中存放數(shù)據(jù),RAM用的是雙端口RAM,由數(shù)據(jù)總線,地址總線,寫使能,讀使能和寫時鐘,讀時鐘等信號組成。讀RAM中存放由DSP運算得出的放大倍數(shù),通過片選信號和讀、寫使能信號控制數(shù)據(jù)的傳輸。本系統(tǒng)中/xzcs6控制寫片選,即由FPGA寫入DSP的數(shù)據(jù)存在/xz cs6片選的存儲映射區(qū)域。/xzcs7控制讀片選,即DSP下傳的放大倍數(shù)存放在DSP中由/xzcs7片選的存儲映射區(qū)域。
2.3 CAN總線硬件設計
在C28X DSP忠使用的增強型控制器區(qū)域網(wǎng)絡(eCAN)模塊與現(xiàn)行的CAN2.0標準兼容。它可使用已制定的協(xié)議在存在電子噪聲的環(huán)境中與其他控制器進行串行通信。借助32個完全可配置的郵箱和事件標志(time-stamping)特性,eCAN模塊提供了一種具有通用性和魯棒性的串行通信接口。
系統(tǒng)除了計算放大倍數(shù),還要將由井底傳過來的數(shù)據(jù)上傳到地面計算機進行地況估計,該系統(tǒng)用CAN總線傳輸數(shù)據(jù),CAN總線硬件設計如圖4所示。
該系統(tǒng)CAN傳輸速率為800K,由三電平的命令字決定傳輸數(shù)據(jù)模式。
3 系統(tǒng)軟件實現(xiàn)
3.1 DSP軟件實現(xiàn)
DSP把FPGA寫過來的數(shù)據(jù)進行分析,然后判斷出數(shù)據(jù)實際放大倍數(shù),進行還原,然后再將放大倍數(shù)發(fā)送到FPGA,具體步驟如下:
1)根據(jù)數(shù)據(jù)的放大倍數(shù)位,判斷數(shù)據(jù)實際數(shù)值,將6個極板數(shù)據(jù)進行還原平均,算得平均值;
2)與門限比較,得出具體放大倍數(shù),并寫入到XZCS7片選映射存儲區(qū)域內;
3)將傳感器數(shù)據(jù)通過CAN發(fā)送到上位機;
這樣就將放大倍數(shù)存起來,當WE和XZCS7同時使能時,按FPGA的讀時鐘通過數(shù)據(jù)總線寫入到FPGA中。這樣就省去了不同放大倍數(shù)由不同的GPIO控制的麻煩。
3.2 FPGA軟件實現(xiàn)
經(jīng)調試,系統(tǒng)控制和數(shù)據(jù)傳輸都完美實現(xiàn),現(xiàn)只將放大倍數(shù)的形成時序寫出,如圖5所示。
寫使能信號WE和片選信號XZCS7共同決定放大倍數(shù)是否從DSP發(fā)送到FPGA,其中DADDR是地址,由于FPGA還要將放大倍數(shù)發(fā)送到位移位存儲總線寄存器CD4094中所存,其中D味鎖存端,START為CD4094的數(shù)據(jù)輸入,即放大倍數(shù),CLK為鎖存時鐘。
4 系統(tǒng)驗證與結論
整支儀器組裝完成后,進行聯(lián)調,不同的傳感器和不同的放大倍數(shù),該系統(tǒng)都完整的精確的將數(shù)據(jù)恢復出來,并且傳到上位機,上位機結果如圖6所示。
數(shù)據(jù)首位表示不同的放大倍數(shù),其中2表示放大2倍,RawView為原始數(shù)據(jù)。2E66代表4 V,與試驗所加電壓完美對應。對每個放大倍數(shù)都做了試驗,結果令人欣喜。
5 結束語
文中闡述了由FPGA和DSP采用數(shù)據(jù)總線傳輸放大倍數(shù)的方法,實現(xiàn)了石油測井系統(tǒng)放大倍數(shù)的發(fā)送和原始數(shù)據(jù)的恢復。
評論