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