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

?

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

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

王文梁 仇 傲

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

0 引言

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

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

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

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

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

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

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

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

在USB數(shù)據(jù)傳輸通信中,分USB主機(jī)設(shè)備和USB功能設(shè)備,USB系統(tǒng)的數(shù)據(jù)和命令的傳輸都是有USB主機(jī)來啟動(dòng)的,在整個(gè)數(shù)據(jù)通信中占主導(dǎo)地位,在同一時(shí)刻USB系統(tǒng)中只存在一個(gè)USB主機(jī)。USB功能設(shè)備通常是一個(gè)獨(dú)立的外部設(shè)備,可以和USB主機(jī)進(jìn)行數(shù)據(jù)和控制信息的交互,并未主機(jī)提供額外的功能,每個(gè)USB設(shè)備內(nèi)部都包含有描述器功能和資源需求的配置信息[2]。對(duì)于我們的測(cè)試系統(tǒng)來說,PC機(jī)是USB主機(jī)設(shè)備,測(cè)試系統(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ù)的解碼、差錯(cuò)控制、位填充與USB協(xié)議有關(guān)的功能。USB協(xié)議引擎管理USB設(shè)備控制端點(diǎn)的數(shù)據(jù)流,處理底層USB協(xié)議。

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

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

控制電路主要有DSP芯片和FPGA芯片構(gòu)成,DSP使用TI公司的TI公司的DSP芯片TMS320F2812,它是高性能的32位定點(diǎn)DSP,具有哈佛總線結(jié)構(gòu),統(tǒng)一的存儲(chǔ)器規(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ù)存儲(chǔ)空間,考慮到TMS320F2812的內(nèi)部數(shù)據(jù)存儲(chǔ)空間較小,為未來研發(fā)的更大數(shù)據(jù)量?jī)x器保留余量,DSP外擴(kuò)了512K×16的SRAM芯片,型號(hào)為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個(gè)存儲(chǔ)器映射區(qū),本次設(shè)計(jì)使用了兩個(gè)存儲(chǔ)映射區(qū)。0x004000——0x005FFF為Zone1映射區(qū),實(shí)際中只使用了前16個(gè)地址單元作為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的一個(gè)外部設(shè)備,當(dāng)USB接口接收主機(jī)數(shù)據(jù)的時(shí)候,對(duì)于DSP來說就是一個(gè)讀外部FIFO數(shù)據(jù)的過程;當(dāng)USB接口向主機(jī)發(fā)送數(shù)據(jù)的時(shí)候,對(duì)于DSP來說就是一個(gè)向外部FIFO寫數(shù)據(jù)的過程。

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

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

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

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

3.1 固件程序

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

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

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

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

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

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

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

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

3.2 驅(qū)動(dòng)程序設(shè)計(jì)

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

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

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

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

(2)int CloseDevice(int device_num),用于關(guān)閉USB設(shè)備,num表示所連接的USB設(shè)備個(gè)數(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ā)送超時(shí)時(shí)間。

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

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

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

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

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

[2]李英偉USB2.0原理與工程開發(fā)[M].北京:國(guó)防工業(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]張建鵬,解國(guó)明,李剛.基于ISP1581型接口電路的USB2.0接口設(shè)計(jì)[J].國(guó)外電子元器件,2005(9):7-10.

猜你喜歡
PC機(jī)驅(qū)動(dòng)程序測(cè)井
本期廣告索引
八扇區(qū)水泥膠結(jié)測(cè)井儀刻度及測(cè)井?dāng)?shù)據(jù)處理
基于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
基于測(cè)井響應(yīng)評(píng)價(jià)煤巖結(jié)構(gòu)特征
中石油首個(gè)全國(guó)測(cè)井行業(yè)標(biāo)準(zhǔn)發(fā)布
讀編往來
驅(qū)動(dòng)程序更新與推薦
驅(qū)動(dòng)程序更新與推薦
高雄县| 囊谦县| 山阴县| 弥渡县| 承德县| 木里| 宁安市| 资源县| 西昌市| 留坝县| 西藏| 福海县| 博湖县| 岳阳市| 英德市| 大丰市| 赤峰市| 余庆县| 日照市| 肇庆市| 北京市| 安福县| 临漳县| 东方市| 岳普湖县| 巴南区| 三都| 东台市| 安岳县| 吉木萨尔县| 望江县| 和平县| 和田县| 客服| 白银市| 抚顺市| 涟水县| 寻甸| 金山区| 深水埗区| 岑巩县|