• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      USB2.0技術(shù)在便攜式測試系統(tǒng)中的應(yīng)用

      2015-05-15 08:09:12王文梁
      科技視界 2015年19期
      關(guān)鍵詞:PC機(jī)驅(qū)動程序測井

      王文梁 仇 傲

      (中海油田服務(wù)股份有限公司油田技術(shù)事業(yè)部,河北 三河065201)

      0 引言

      隨著大規(guī)模集成電路和計算機(jī)技術(shù)的迅速發(fā)展,數(shù)字技術(shù)滲透到各個技術(shù)領(lǐng)域,以此為基礎(chǔ)的各種裝置層出不窮,傳統(tǒng)的外設(shè)一般基于PCI總線、PC-232總線或USB總線。USB總線的即插即用、真正的熱插拔、可總線供電、高性能和系統(tǒng)造價低等一系列優(yōu)點(diǎn)使得USB接口得到了廣泛的應(yīng)用[1]。

      本文介紹了基于USB技術(shù)的便攜式石油測井測試系統(tǒng),該系統(tǒng)可用于對測井儀器進(jìn)行實(shí)驗(yàn)室測試、維修,保養(yǎng)。通常,也可以在新測井儀器研發(fā)階段用于調(diào)試。一般來說,石油測井系統(tǒng)包括地面采集系統(tǒng)、長距離井下電纜、井下輔助通信設(shè)備和測井儀器。當(dāng)需要對測井儀器進(jìn)行測試、檢修時,需要整個測井系統(tǒng),缺一不可。而通過該便攜式測試系統(tǒng),就可以直接對測井儀器直接進(jìn)行控制、數(shù)據(jù)通信和測試,省去了地面采集系統(tǒng)和井下電纜等設(shè)備,節(jié)省了設(shè)備資源。

      1 系統(tǒng)結(jié)構(gòu)和工作原理

      該測試系統(tǒng)模擬油田井場測井作業(yè),實(shí)時給測井儀器發(fā)送指令,并接收測井儀器的信號數(shù)據(jù),并將數(shù)據(jù)通過USB接口輸出到PC機(jī),通過PC機(jī)的控制軟件顯示、存儲采集數(shù)據(jù)測試,用于測井儀器的研發(fā),實(shí)驗(yàn)室模擬調(diào)試。該測試系統(tǒng)主要有三個部分組成:USB2.0傳輸接口、DSP控制單元和測井總線接口單元,其總體框圖如圖1所示。

      圖1 測試系統(tǒng)總體框圖

      USB傳輸接口采用FTDI公司的第二代USB FIFO芯片F(xiàn)T245BM,它在片內(nèi)集成完整的USB協(xié)議功能,控制單元主要采用DSP芯片TMS320F2812實(shí)現(xiàn),控制邏輯電路在FPGA中完成。測井設(shè)備中線接口采用EDIB總線,該總線是中海油田服務(wù)股份有限公司自主研制的一種井下測井儀器總線,該總線采用主從結(jié)構(gòu),可以同時掛接多種測井儀器。

      測試系統(tǒng)的工作流程是:PC機(jī)通過USB接口發(fā)送測井儀器命令,DSP控制單元對USB2.0功能設(shè)備接口進(jìn)行實(shí)時檢測,當(dāng)檢測到PC機(jī)有命令下發(fā)時,對下發(fā)的命令數(shù)據(jù)及參數(shù)進(jìn)行曼切斯特編碼,發(fā)給井下儀器。當(dāng)井下儀器要傳送數(shù)據(jù)給PC機(jī)時,DSP控制單元對EDIB總線通道進(jìn)行檢測,將檢測到的數(shù)據(jù)進(jìn)行曼切斯特解碼,并將解碼后的數(shù)據(jù)打包通過USB2.0接口傳給PC機(jī)。PC機(jī)通過儀器測試軟件來檢測井下儀器的各種功能。

      2 USB接口單元與控制電路設(shè)計

      在USB數(shù)據(jù)傳輸通信中,分USB主機(jī)設(shè)備和USB功能設(shè)備,USB系統(tǒng)的數(shù)據(jù)和命令的傳輸都是有USB主機(jī)來啟動的,在整個數(shù)據(jù)通信中占主導(dǎo)地位,在同一時刻USB系統(tǒng)中只存在一個USB主機(jī)。USB功能設(shè)備通常是一個獨(dú)立的外部設(shè)備,可以和USB主機(jī)進(jìn)行數(shù)據(jù)和控制信息的交互,并未主機(jī)提供額外的功能,每個USB設(shè)備內(nèi)部都包含有描述器功能和資源需求的配置信息[2]。對于我們的測試系統(tǒng)來說,PC機(jī)是USB主機(jī)設(shè)備,測試系統(tǒng)是USB功能設(shè)備。

      FT245BM是一款USB FIFO芯片,兼容USB1.1和USB2.0協(xié)議,具有塊傳輸和同步傳輸兩種傳輸方式,片內(nèi)具有384字節(jié)FIFO的發(fā)送緩沖器和128字節(jié)FIFO的接收緩沖器[3]??梢詫SB總線轉(zhuǎn)化為8位的處理器并口輸出,工作原理如圖2所示。

      圖2 USB接口工作原理框圖

      串行接口引擎(SIE)負(fù)責(zé)完成串行數(shù)據(jù)的解碼、差錯控制、位填充與USB協(xié)議有關(guān)的功能。USB協(xié)議引擎管理USB設(shè)備控制端點(diǎn)的數(shù)據(jù)流,處理底層USB協(xié)議。

      當(dāng)主機(jī)向USB設(shè)備發(fā)送數(shù)據(jù)時,EMPTY信號為低,通知USB設(shè)備已有數(shù)據(jù)接收到,這時DSP可以從FT245BL中讀取主機(jī)發(fā)來的數(shù)據(jù),當(dāng)所有數(shù)據(jù)都讀完后,EMPTY信號變?yōu)楦唠娖健?/p>

      當(dāng)USB設(shè)備向主機(jī)發(fā)送數(shù)據(jù)時,如果FULL信號為低電平,數(shù)據(jù)被寫進(jìn)發(fā)送FIFO,如果發(fā)送FIFO已滿,F(xiàn)ULL信號變?yōu)楦唠娖?,這時禁止向FIFO寫數(shù)據(jù),待FIFO中的數(shù)據(jù)通過USB接口傳到主機(jī)之后,F(xiàn)ULL信號變?yōu)榈?,這時USB可以繼續(xù)向主機(jī)發(fā)送數(shù)據(jù)。FT245BL通過EEPROM接口外擴(kuò)一塊EEPROM,EEPROM用來存儲USB VID、PID、串行碼、產(chǎn)品描述符,還用來設(shè)置USB傳輸模式、遠(yuǎn)程喚醒模式。本設(shè)計中選用16位寬的EEPROM 93c46。

      控制電路主要有DSP芯片和FPGA芯片構(gòu)成,DSP使用TI公司的TI公司的DSP芯片TMS320F2812,它是高性能的32位定點(diǎn)DSP,具有哈佛總線結(jié)構(gòu),統(tǒng)一的存儲器規(guī)劃,4M的線性程序地址,4M的線性數(shù)據(jù)地址,高效的代碼(C/C++和匯編語言)。片內(nèi)集成128K×16的Flash空間,可以反復(fù)擦寫,重復(fù)編程,用于存放程序代碼和數(shù)據(jù),在產(chǎn)品開發(fā)階段使用起來非常方便。

      TMS320F2812內(nèi)部有18K×16的數(shù)據(jù)存儲空間,考慮到TMS320F2812的內(nèi)部數(shù)據(jù)存儲空間較小,為未來研發(fā)的更大數(shù)據(jù)量儀器保留余量,DSP外擴(kuò)了512K×16的SRAM芯片,型號為IS61LV52116,用于存放井下傳送數(shù)據(jù)。DSP地址空間分配如下:

      內(nèi)部資源分配:DSP內(nèi)部具有128K×16的Flash,占用空間是0x3D8000——0x3F7FFF,其中,0x3F6000——0x3F7F80作為用戶的程序代碼存放空間,0x3F7FF6——0x3F7FF8為引導(dǎo)到閃存的進(jìn)入點(diǎn)(這里有程序跳轉(zhuǎn)指令)。0x3F8000——0x3F8FFF為內(nèi)部RAM空間,作為程序代碼的運(yùn)行空間。

      外部資源分配:F2812的外部接口可分為5個存儲器映射區(qū),本次設(shè)計使用了兩個存儲映射區(qū)。0x004000——0x005FFF為Zone1映射區(qū),實(shí)際中只使用了前16個地址單元作為USB模塊和曼碼編、解碼模塊的外部控制寄存器。0x080000——0x0FFFFF為Zone2映射區(qū),作為DSP外部擴(kuò)展數(shù)據(jù)區(qū),用于存放從井下儀器收到的采集數(shù)據(jù)。

      DSP與FT245BM之間的通信主要靠8位數(shù)據(jù)線D0~D7以及讀寫控制線(RW、RD、EMPTY、FULL)來完成,這是USB芯片F(xiàn)T245BM作為DSP的一個外部設(shè)備,當(dāng)USB接口接收主機(jī)數(shù)據(jù)的時候,對于DSP來說就是一個讀外部FIFO數(shù)據(jù)的過程;當(dāng)USB接口向主機(jī)發(fā)送數(shù)據(jù)的時候,對于DSP來說就是一個向外部FIFO寫數(shù)據(jù)的過程。

      FPGA芯片采用了ACTEL公司的APA600。它具有158個用戶I/0引腳,3.3 V的I/O電壓,內(nèi)核電壓2.5V,可生成同步/異步FIFO和SRAM。APA600可以產(chǎn)生不同頻率時鐘信號,具有較大的存儲空間和豐富的I/O資源,可以完全滿足本項(xiàng)目對時鐘產(chǎn)生,邏輯控制和數(shù)據(jù)緩存的要求。

      FPGA作用有兩個,一是完成測井設(shè)備總線接口的邏輯控制,測井設(shè)備數(shù)據(jù)的編碼、解碼,用于和測井儀器進(jìn)行通信,二是完成DSP于USB接口之前的邏輯控制。

      3 軟件設(shè)計

      系統(tǒng)的軟件設(shè)計包括固件程序設(shè)計、驅(qū)動程序設(shè)計和主機(jī)應(yīng)用程序設(shè)計。

      3.1 固件程序

      USB固件程序主要完成USB協(xié)議處理和固件交換,目的是讓W(xué)INDOWS檢測和識別設(shè)備建立起正確的通信連接[4]。由于USB設(shè)備芯片F(xiàn)T245內(nèi)完全集成了USB協(xié)議引擎,不需要專門設(shè)計USB固件程序。

      DSP固件程序主要用去檢測USB芯片內(nèi)FIFO標(biāo)志的狀態(tài),完成USB接口與測井儀器的通信,編程步驟如下。

      (1)初始化,等待PC控制命令。

      (2)檢測USB的接收FIFO是否為空,當(dāng)FIFO為非空時,說明接收到PC機(jī)下發(fā)命令。

      (3)對PC機(jī)下發(fā)命令進(jìn)行測井?dāng)?shù)據(jù)命令格式編碼,并下發(fā)給測井設(shè)備。

      (4)等待接收測井設(shè)備的回傳數(shù)據(jù)。

      (5)對測井設(shè)備回傳的數(shù)據(jù)進(jìn)行格式解碼。

      (6)將測井設(shè)備數(shù)據(jù)通過USB發(fā)送到PC機(jī),當(dāng)USB設(shè)備的發(fā)送FIFO為非滿時,向USB發(fā)送FIFO寫入測試設(shè)備的數(shù)據(jù)。USB接口芯片將自動將數(shù)據(jù)發(fā)送給PC機(jī)。

      3.2 驅(qū)動程序設(shè)計

      USB芯片F(xiàn)T245BL的廠家提供兩種驅(qū)動程序:VCP和D2XX驅(qū)動程序。VCP驅(qū)動程序?yàn)樘摂M串口程序,它將USB接口包裝成一個虛擬的232串口,最高傳輸速率為2.4Mbps。D2XX驅(qū)動程序是標(biāo)準(zhǔn)的USB接口驅(qū)動程序,最高傳輸速率為8Mbps。本設(shè)計中使用的是D2XX驅(qū)動程序。

      3.3 主機(jī)應(yīng)用程序

      主機(jī)應(yīng)用程序采用LabWindows/CVI設(shè)計。安裝USB設(shè)備驅(qū)動程序后,直接調(diào)用動態(tài)連接庫函數(shù)可實(shí)現(xiàn)BUS端口的識別、打開、關(guān)閉和數(shù)據(jù)通信在驅(qū)動程序的動態(tài)連接庫中常用的函數(shù)如下:

      (1)int OpenDevice(int device_num),用于連接USB設(shè)備,num表示所連接的USB設(shè)備個數(shù)。

      (2)int CloseDevice(int device_num),用于關(guān)閉USB設(shè)備,num表示所連接的USB設(shè)備個數(shù)。

      (3)int ReadDevice(int device_num,char*RdBuffer;unsigned long num),用于接收來自USB接口的數(shù)據(jù)

      (4)void WriteDevice(int device_num,char*wrbuffer,ULONG num),用于向USB設(shè)備發(fā)送數(shù)據(jù)。

      (5)void SetDevideTimeout(int device_num,ULONG R),用于設(shè)置USB設(shè)備的接收、發(fā)送超時時間。

      (6)FT_Purge(FTHandle1,Mask),用于USB設(shè)備發(fā)送、接收數(shù)據(jù)緩沖的清空。

      4 實(shí)驗(yàn)與結(jié)論

      通過上述方法實(shí)現(xiàn)了主機(jī)軟件和測井儀器之間的通信,并使用測井儀器對該測試系統(tǒng)進(jìn)行了實(shí)驗(yàn)驗(yàn)證。圖3為基于USB接口的測井儀器測試系統(tǒng)裝置與采集波形,USB接口與PC主機(jī)連接,測井?dāng)?shù)據(jù)總線接口與測井儀器連接,測試系統(tǒng)在試驗(yàn)時掛接的測井儀器為數(shù)字聲波測井儀,圖中顯示的四道波形為數(shù)字聲波測井儀上傳的波形數(shù)據(jù),地面軟件采用將儀器采集的四道正弦波顯示出來。四組波形正確顯示了測井儀器采集的波形情況,實(shí)驗(yàn)表明該測試系統(tǒng)滿足了儀器測試的需要。

      圖3 測試系統(tǒng)裝置與采集波形

      [1]羅偉林,王立欣,毛遠(yuǎn).USB數(shù)據(jù)采集系統(tǒng)中DMA數(shù)據(jù)傳輸?shù)膶?shí)現(xiàn)[J].電子測量技術(shù),2008,31(6):121

      [2]李英偉USB2.0原理與工程開發(fā)[M].北京:國防工業(yè)出版社,2007:7-8.

      [3]Future Technology Devices International Ltd.DS245BL Version1.7[DB/OL].http://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT245BL.pdf,2005

      [4]張建鵬,解國明,李剛.基于ISP1581型接口電路的USB2.0接口設(shè)計[J].國外電子元器件,2005(9):7-10.

      猜你喜歡
      PC機(jī)驅(qū)動程序測井
      本期廣告索引
      八扇區(qū)水泥膠結(jié)測井儀刻度及測井?dāng)?shù)據(jù)處理
      中國煤層氣(2021年5期)2021-03-02 05:53:12
      基于PC機(jī)與單片機(jī)的多機(jī)通信技術(shù)及抗干擾方法
      基于三菱FXPLC的感應(yīng)淬火機(jī)床與PC機(jī)的串行通信實(shí)現(xiàn)
      VC.NET下實(shí)現(xiàn)dsPIC單片機(jī)與PC機(jī)的通信
      電子制作(2017年23期)2017-02-02 07:16:47
      基于測井響應(yīng)評價煤巖結(jié)構(gòu)特征
      中國煤層氣(2015年4期)2015-08-22 03:28:01
      中石油首個全國測井行業(yè)標(biāo)準(zhǔn)發(fā)布
      驅(qū)動程序更新與推薦
      驅(qū)動程序更新與推薦
      驅(qū)動程序更新與推薦
      开原市| 浮山县| 肥城市| 隆子县| 林西县| 象山县| 张家港市| 博爱县| 德州市| 卓尼县| 大厂| 宜宾市| 青神县| 天门市| 亳州市| 龙游县| 衢州市| 略阳县| 荣昌县| 潜江市| 米林县| 新乡县| 三门县| 体育| 嘉义县| 大兴区| 阿坝| 广河县| 南召县| 武夷山市| 密山市| 孟连| 礼泉县| 丹棱县| 普兰店市| 西乡县| 江阴市| 两当县| 南阳市| 武隆县| 文成县|