<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設計應用 > 基于USB接口的高性能虛擬示波器的開(kāi)發(fā)實(shí)現

基于USB接口的高性能虛擬示波器的開(kāi)發(fā)實(shí)現

——
作者:黃根嶺1,付濤1,楊保海2 時(shí)間:2007-01-26 來(lái)源:《現代電子技術(shù)》 收藏


1 引言

虛擬示波器,是將計算機強大的計算處理能力和一般硬件儀器的信號采集,控制能力結合在一起,從而實(shí)現一般示波器所不能實(shí)現的功能和友好的界面。

隨著(zhù)計算機技術(shù)的發(fā)展,使得虛擬儀器的實(shí)現成為可能,傳統儀器的一些專(zhuān)用處理器和設備,被計算機的通用設備所代替,常用的虛擬儀器,多采用pci或isa插槽,將各種硬件連接到一起,然而采集卡的數量一般有限,因此組織系統的時(shí)候,只能指定特定的計算機,或打開(kāi)計算機蓋裝入專(zhuān)門(mén)的采集卡,在使用筆記本電腦或工業(yè)一體化電腦的場(chǎng)合,根本就不支持pci或isa總線(xiàn)的設備。所以,我們需要一種更方便,更有效,更靈活的總線(xiàn)通訊方式來(lái)實(shí)現虛擬儀器,現代計算機一般都具有usb接口,且usb接口的使用靈活,方便,所以首先考慮采用usb總線(xiàn)。

usb總線(xiàn)是intel,ibm,nec,微軟等7家著(zhù)名公司提出的新一代總線(xiàn)技術(shù),采用新一代usb總線(xiàn)之后,pc機配置新的硬件設備不用在打開(kāi)機蓋,且支持熱插拔技術(shù),給使用者以極大的方便[1],通過(guò)usb集線(xiàn)器,擴充設備可達127個(gè),并可通過(guò)3-5m的電纜連接到計算機,而使采集卡靠近測試對象,從而大大地提高了電磁兼容性,在標準協(xié)議usb1.1中,umb總線(xiàn)的傳輸速率可達1.5-12mb/s,而在規范usb2.0中,速率則可達360mb/s。這樣的速率足以滿(mǎn)足絕大多數場(chǎng)合的要求[2、3]。

2 虛擬示波器的硬件設計

虛擬示波器的硬件設計就是要完成虛擬示波器的usb物理設備的設計,即usb接口和usb功能設備,虛擬示波器的硬件結構如圖1所示。

本文引用地址:http://dyxdggzs.com/article/21596.htm

圖1可分為4個(gè)部分:信號調理部分,a/d轉換模塊,邏輯控制模塊,usb接口模塊,虛擬示波器的硬件部分完全采用模塊化設計方案,使各部分硬件相對緊湊,最終縮小了采集,而且a/d轉換模塊不在計算機內部,可以有效地避免高頻電磁干擾對計算機的影響,也減輕了計算機的負擔,使計算機可穩定、高效的運行。

usb接口模塊是這個(gè)系統通訊的關(guān)鍵,模塊需要完成上位機和a/d轉換模塊的通訊,需要將上位機的指令送到邏輯控制器idt7207,還需將轉換結果送入上位機,usb接口芯片選用cypress公司的an2131qc,該芯片有其他芯片所沒(méi)有的特點(diǎn):

(1)基于ram的“軟”系統解決方案(soft,ram based)不需要ram或其他的固化存儲器,而只使用片內的程序/數據ram。通過(guò)主機下載的方式來(lái)配置usb接口,因而使接口系統的修改和升級變得非常簡(jiǎn)單,使外設硬件的更新和升級變得更為方便。

(2)數據吞吐量完全達到usb協(xié)議要求,可以向用戶(hù)提供足夠的端口、緩沖區和傳輸速度,提供usb協(xié)議要求的全部4種傳輸方式(控制傳輸、中斷傳輸、批量傳輸和同步傳輸),可以滿(mǎn)足用戶(hù)對各種類(lèi)型數據傳輸的需求。

(3)片上的串行接口處理機(sie)完成大部分的usb協(xié)議操作,使用戶(hù)可以擺脫復雜的協(xié)議細節,簡(jiǎn)化了用戶(hù)配置代碼,加快了開(kāi)發(fā)過(guò)程。

(4)內嵌增強型8051處理器,兼容8051指令系統,一個(gè)指令周期僅需4個(gè)時(shí)鐘周期,可提供標準8051三倍以上的處理能力;雙數據指針;方便數據塊搬移,使用片內的ram作為數據/程序存儲器,非復用數據/地址總線(xiàn),使程序指令速度更快,并且同外部器件的連接更加簡(jiǎn)單。

(5)休眠模式可以降低系統功耗,延長(cháng)器件的使用壽命。

邏輯控制模塊是整個(gè)設備控制的核心,其主要是負責解釋和控制執行主機軟件系統的控制命令和要求,完成設備狀態(tài)設置和控制設備完成激勵信號的發(fā)出、響應信號的采集等功能,邏輯控制模塊主要由可編程邏輯控制器idt7207,及其輔助電路和外圍擴展電路構成,芯片通過(guò)內部i/o編程,方便地實(shí)現輸入/輸出的邏輯關(guān)系,使得電路更加簡(jiǎn)潔,功能更加強大,在邏輯控制模塊的控制下a/d轉換模塊利用a/d芯片7899完成對信號的a/d轉換,由于a/d芯片電壓輸入范圍為正負10v,因此前端信號調理模塊負責將信號幅值調理到正負10v之間,并實(shí)現采集電路與被測試對象的信號隔離。

3 虛擬示波器軟件設計

虛擬示波器的軟件主要完成對虛擬示波器控制、顯示的設計,即對各個(gè)模塊的硬件控制,以及用戶(hù)界面的設計,虛擬示波器的整體軟件應該采用分層機構,整個(gè)控制軟件分為3層,底層物理設備的控制程序,usb設備在pc機上的驅動(dòng)程序,上位pc機的人機界面軟件,控制軟件的分塊,分層設計使各層軟件相對獨立,只需考慮各層軟件的接口即可,這樣使軟件的設計、編寫(xiě)較為簡(jiǎn)單,運行更為可靠,整體控制軟件流程圖如圖2所示。

底層物理設備的控制,主要是對usb接口芯片an2131的初始化,以及其接收、發(fā)送數據的控制,由于其內嵌了8051的單片機芯片,所以就采用8051單片機的匯編語(yǔ)言編寫(xiě)控制程序,其要點(diǎn)為:通過(guò)寫(xiě)的相應寄存器,分別設置中斷引腳的電平特性、缺省地址和各中斷事件的屏蔽,激活斷點(diǎn)0作用,進(jìn)入正常操作狀態(tài),在主循環(huán)過(guò)程中,主要等待主機通過(guò)控制斷點(diǎn)0發(fā)來(lái)的控制命令和握手命令來(lái)執行相應的功能設備任務(wù):設置狀態(tài)、接收pc激勵信號、發(fā)出激勵、采集數據等,采集的數據以包為單位裝載到端點(diǎn)1的fifo中,還要響應an2131的主要事件,其部分控制程序如下:

usb設備在pc機上的驅動(dòng)程序,主要給設備分配地址,說(shuō)明控制字,與底層的usb驅動(dòng)程序接口。

上位pc機的人機界面是虛擬示波器與用戶(hù)的接口,直接關(guān)系到系統的可用性和方便性,人機界面程序主要是使用戶(hù)能夠方便地控制整個(gè)虛擬示波器的工作,并能通過(guò)界面方便地觀(guān)測到采集的結果和響應的數據分析,用戶(hù)能夠通過(guò)程序方便地選擇通道,采集頻率,增益等,考慮到microsoft公司的visual basic開(kāi)發(fā)的, 界面直觀(guān),易用,上位機的人機界面采用vb開(kāi)發(fā),在軟件中,充分利用了類(lèi)功能,將usb設備的啟動(dòng)函數,停止函數,數據讀取函數等各個(gè)函數全部整合到動(dòng)態(tài)鏈接庫usb.dll中,在應用軟件中如需使用這些函數控制usb設備,只需在軟件相應的模塊進(jìn)行申明,在程序中直接調用即可。這樣做不但使軟件程序結構清晰,方便閱讀,而且在需要時(shí)可以方便快捷的升級人機界面,無(wú)需大的改動(dòng),使用動(dòng)態(tài)鏈接庫后,其他應用軟件要使用該usb設備時(shí),也可方便申明函數,從而方便地控制usb設備工作,因此,該usb設備可以方便地用于其他場(chǎng)合,實(shí)現其他的功能,軟件充分利用了計算機強大的處理能力,可控制usb設備同時(shí)對16個(gè)信號進(jìn)行采集和顯示,并可根據用戶(hù)的需要測出不同信號的頻率,幅值、有效值等參數,軟件波形觀(guān)測界面如圖3所示,此時(shí)測量的是一個(gè)4574hz的標準正弦波,和一個(gè)疊加負直流分量的正弦波。

同時(shí),為了進(jìn)一步幫助使用者分析所得波形,軟件還能對所采集的信號進(jìn)行諧波分析,傳統的離散信號dft算法為:

為了節約cpu資源,能快速、實(shí)時(shí)地得出采集波形的諧波含量,軟件中采用了快速傅里葉變換fft的蝶型算法,從而實(shí)現了對采集數據的實(shí)時(shí)的諧波分析和顯示,為了對比各次諧波的含量,顯示時(shí)可輸出柱狀圖界面(如圖4);同時(shí)為了得到精確的諧波含量,用戶(hù)也可以選擇列表方式顯示(如圖5)。


4 虛擬示波器結果分析

通過(guò)和實(shí)際示波器所測波形進(jìn)行比較可以看出,波形完全反應了實(shí)際波形的情況,波形沒(méi)有失真,所測各項參數與實(shí)際示波器測得的數據相等,且具備了一般示波器所不具備的多通道同時(shí)采集、諧波分析的功能。



關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>