国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA的測井系統(tǒng)模擬儀器設(shè)計(jì)

2013-05-31 04:51:22
石油管材與儀器 2013年1期
關(guān)鍵詞:寄存器解碼命令

李 敏

(中海油田服務(wù)股份有限公司 北京)

0 引言

在成像測井系統(tǒng)的研制過程中,地面系統(tǒng)的檢測通常需要掛接井下儀器才能進(jìn)行,一旦檢測出現(xiàn)問題,往往不能很快判斷出是地面系統(tǒng)還是井下儀器出現(xiàn)的問題,通常需要更換地面系統(tǒng)或是井下儀器來進(jìn)一步檢測。地面系統(tǒng)軟件的調(diào)試,同樣需要掛接相應(yīng)的井下儀器才能進(jìn)行,軟件開發(fā)人員只能在測井或試驗(yàn)現(xiàn)場才能進(jìn)行調(diào)試。因此,設(shè)計(jì)了一套能夠模擬各種井下儀器的裝置,用于地面系統(tǒng)的檢測及科研調(diào)試。

1 原理

模擬儀器可以接收地面系統(tǒng)發(fā)送的采集命令,經(jīng)過放大和整形,恢復(fù)出命令的曼徹斯特碼波形,然后進(jìn)入fpga進(jìn)行解碼,解析出命令,MCU收到命令后,根據(jù)命令包含的儀器地址和subset編號,從Flash存儲器中讀取儀器的數(shù)據(jù),通過FPGA產(chǎn)生曼徹斯特編碼,驅(qū)動后送回到地面系統(tǒng)[1]。

地面系統(tǒng)的采集命令由兩個(gè)字節(jié)組成。高8位表示儀器地址,低8位表示采集命令。因此模擬不同的儀器,實(shí)際上就是要能響應(yīng)不同儀器地址的采集命令,并返回相應(yīng)的數(shù)據(jù)。對采集命令的分析和處理都是在MCU內(nèi)部完成的,各種儀器的數(shù)據(jù)預(yù)先存放在MCU的Flash存儲器中。

2 系統(tǒng)硬件組成

模擬儀器系統(tǒng)的硬件由以下部分組成:隔離變壓器板、命令和數(shù)據(jù)整形驅(qū)動電路、FPGA、MCU以及Flash,分成了兩塊電路板:信號調(diào)理和驅(qū)動板、CPU板,如圖1所示。

圖1 模擬儀器系統(tǒng)的硬件

系統(tǒng)的電源采用一個(gè)成熟的開關(guān)電源,輸入范圍80-240VAC,既可以適應(yīng)測井托撬使用的110VAC,又可以適應(yīng)實(shí)驗(yàn)室的220VAC;電源輸出+5 V,通過CPU板的電源電路,產(chǎn)生+3.3 V和+1.5 V,分別供給MCU和FPGA。電源輸出的+12 V和-12 V,用于信號調(diào)理板的模擬電路部分。

隔離變壓器板主要由3個(gè)用于電纜通訊的隔離變壓器組成,完成信號的隔離和電纜復(fù)用。整形驅(qū)動電路,主要完成對采集命令和數(shù)據(jù)波形的調(diào)理,包括程控增益放大、均衡濾波、以及電流驅(qū)動等。

CPU板主要包括FPGA和MCU以及外擴(kuò)的Flash存儲器。FPGA完成曼徹斯特編解碼功能,作為MCU的外設(shè)掛在MCU的外部總線上[2]。FPGA選用Alter公司Cyclone系列的EP1C6T144[3]。MCU選擇Silabs的C8051F340單片機(jī)[4]。

cyclone EP1C6是Altera推出的一款高性價(jià)比FPGA,工作電壓3.3 V,內(nèi)核電壓1.5 V。采用0.13m工藝技術(shù),全銅SRAM工藝,其密度為5980個(gè)邏輯單元,包含20個(gè)128×36位的RAM塊(M4K模塊),總的RAM空間達(dá)到92160位。

C8051F340是Silabs推出的一款增強(qiáng)型51內(nèi)核的單片機(jī),其指令集與MCS-51完全兼容,具有標(biāo)準(zhǔn)8051的組織架構(gòu),可以使用標(biāo)準(zhǔn)的51匯編或者C編譯器進(jìn)行軟件開發(fā)。其指令執(zhí)行速度是標(biāo)準(zhǔn)8051指令執(zhí)行速度的12倍;其峰值執(zhí)行速度可達(dá)100MIPS(C8051F120等),是目前世界上速度最快的8位單片機(jī)。而且集成了JTAG接口,便于開發(fā)和調(diào)試。

F340單片機(jī)具有外部數(shù)據(jù)存儲器接口,8位數(shù)據(jù)總線寬度,16位地址總線。所以FPGA可以作為MCU的外設(shè),掛在外部執(zhí)行接口上。

由于F340單片機(jī)帶有64KB的Flash,以及4KB的片上RAM,再利用FPGA的內(nèi)部RAM模塊,就可以實(shí)現(xiàn)系統(tǒng)功能,而不需要擴(kuò)展外部存儲。

MCU的外部數(shù)據(jù)存儲地址范圍從0x0000-0xffff。其中0x0000-0x0fff為片上RAM,F(xiàn)PGA映射到MCU的外部地址范圍從0x8000開始,實(shí)現(xiàn)5個(gè)寄存器,分別是命令寄存器、M2/M5/M7數(shù)據(jù)寄存器、狀態(tài)寄存器。

3 軟件設(shè)計(jì)

系統(tǒng)的軟件設(shè)計(jì)包括兩個(gè)部分,MCU和FPGA的軟件設(shè)計(jì)。FPGA使用QuartusII作為編程環(huán)境,采Verilog語言編程[5]。MCU的編程采用Silabs提供的SiliconLaboratoriesIDE開發(fā)環(huán)境,結(jié)合KeilC編譯器。下面分別介紹軟件設(shè)計(jì)流程。

3.1 FPGA的軟件編程

FPGA編程在QuartusII開發(fā)環(huán)境下,同樣采用自頂向下的設(shè)計(jì)。頂層文件采用原理圖實(shí)現(xiàn),進(jìn)行功能模塊的劃分和結(jié)構(gòu)設(shè)計(jì),各功能模塊內(nèi)部采用Verilog語言實(shí)現(xiàn)。FPGA實(shí)現(xiàn)的功能模塊主要有MCU接口模塊、命令解碼模塊、數(shù)據(jù)編碼模塊和中斷控制模塊。

(1)MCU的接口模塊,通過MCU的地址譯碼得出不同的寄存器,進(jìn)行功能控制。

(2)命令解碼模塊,接收整形后的曼碼,進(jìn)行解碼,解碼后的命令,送給MCU進(jìn)行處理。

(3)數(shù)據(jù)編碼模塊,接收MCU的數(shù)據(jù),進(jìn)行曼碼編碼。經(jīng)過驅(qū)動后,數(shù)據(jù)傳到地面系統(tǒng)。

(4)中斷控制模塊,對多個(gè)中斷源進(jìn)行仲裁控制,實(shí)現(xiàn)中斷復(fù)用。

3.2 單片機(jī)軟件設(shè)計(jì)

單片機(jī)的程序采用C語言開發(fā),主要功能分為幾部分:響應(yīng)FPGA產(chǎn)生的采集命令中斷;向FPGA寫發(fā)送數(shù)據(jù)。FPGA每發(fā)送完成一個(gè)數(shù)據(jù)后,產(chǎn)生中斷給MCU,MCU判斷發(fā)送的數(shù)據(jù)個(gè)數(shù)是否小于期望值,如果小于,繼續(xù)向FPGA寫入數(shù)據(jù),否則,關(guān)閉停止發(fā)送。

4 結(jié)論

本系統(tǒng)基于FPGA和MCU結(jié)構(gòu),設(shè)計(jì)了成像測井系統(tǒng)的模擬儀器,通過電纜與測井地面系統(tǒng)連接,可以檢測通訊狀態(tài)。目前模擬的儀器功能有,能譜儀器、密度儀器、側(cè)向儀器等常規(guī)儀器,還有聲波等高端儀器。通過工程實(shí)踐證明,本系統(tǒng)為地面系統(tǒng)的測試和檢修提供了有效而可靠的手段。而且通過檢測軟件界面的波形,為地面軟件的調(diào)試提供支持。

[1]馬 虹,法 林.測井電纜遙測系統(tǒng)信號模擬器的設(shè)計(jì)[J].石油儀器,1998,12(6)

[2]趙紅梅,米啟超.基于DSP與FPGA的多通道數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)[J].微計(jì)算信息(嵌入式與SOC),2007,23(9-2)

[3]Cyclone Device Handbook,Altera,2005(資料)

[4]C8051F340 datasheet Sillicon Laboratories,2009(資料)

[5]夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計(jì)教程[M].北京:北京航空航天大學(xué)出版社,2008

猜你喜歡
寄存器解碼命令
《解碼萬噸站》
只聽主人的命令
Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
解碼eUCP2.0
中國外匯(2019年19期)2019-11-26 00:57:32
NAD C368解碼/放大器一體機(jī)
Quad(國都)Vena解碼/放大器一體機(jī)
移防命令下達(dá)后
分簇結(jié)構(gòu)向量寄存器分配策略研究*
這是人民的命令
藍(lán)色命令
临沂市| 滨海县| 云南省| 舞钢市| 陵川县| 万全县| 马尔康县| 泰兴市| 高台县| 项城市| 洛南县| 新乐市| 门头沟区| 鄱阳县| 乳山市| 三亚市| 桐柏县| 永仁县| 台中市| 汝城县| 富裕县| 慈溪市| 堆龙德庆县| 正宁县| 屏山县| 兰西县| 台北市| 新乡县| 河东区| 峡江县| 吕梁市| 大悟县| 体育| 徐州市| 大英县| 丰原市| 长乐市| 治县。| 衡南县| 梅州市| 武平县|