嵌入式系統USB接口的虛擬示波器設計

2020-12-08 電子發燒友

虛擬示波器是將計算機強大的計算處理能力和一般硬體儀器的信號採集和控制能力結合在一起,從而實現一般示波器所不能實現的功能和友好的界面,彌補了傳統示波器功能單一、體積龐大、攜帶不便、價格昂貴的不足。隨著計算機技術的發展 ,對虛擬儀器的智能化和小型化的要求越來越高。嵌入式系統的發展使得基於嵌入式微處理器和實時作業系統的嵌入式虛擬儀器能夠滿足惡劣工作環境下的便攜虛擬儀器的需要。同時,基於USB總線的儀器設備克服了現有PC總線虛擬儀器的不足,可滿足自動化工業測量的要求,特別適合現場信號的測試。

常用的虛擬儀器多採用PCI或ISA插槽,然而採集卡的數量一般有限,因此在搭建系統的時候,只能指定特定的計算機或嵌入專門的採集卡,但有些設備根本就不支持PCI或ISA總線,這種內置形式很容易受到PC機箱內高頻幹擾的影響,降低系統的採樣精度和穩定性。如果能夠將整個系統做成外置式,不僅能夠提高系統的採樣精度和穩定性,還能增強系統的靈活性,同時還有利於系統的維護。

USB接口是實現虛擬儀器的一種更方便、更有效、更靈活的總線通訊式。USB總線是新一代總線技術,使PC機配置新的硬體設備不用在打開機蓋,且支持熱插拔技術,給使用者以極大的方便。USB總線具有傳輸速率高、支持異步和等時傳輸特點,並且可同時掛接127個獨立的USB設備,適合於外登式中高速、高精度採樣系統。USB技術是非贏利性的規範,已得到了廣泛工業支持。

1 系統整體設計

嵌入式處理器是由C8051F020單片機和USB總線晶片CH375組成。C8051F020單片機作為系統的CPU擔任著邏輯控制、數據採集和存儲管理的工作,接收測試分析對象上傳的數據源信號,通過信號調理模塊和模數轉換模塊等控制功能實時採集數據,由USB總線晶片CH375作為與上位機通信的接口將數據傳送給上位機監控模塊。系統結構如圖1所示。

C8051F系列單片機是完全集成混合信號的系統級晶片,具有與8051兼容的控制器內核,並與MCS-51指令集兼容;片內還集成了數據採集和控制系統中常用的模擬部件和其他數字外設及功能部件。C8051F單片機採用流水線結構,機器周期由標準的12個系統時鐘降為1個系統時鐘,處理能力大大提高,峰值性能可 達25M IPS.C8051F單片機是能真正獨立工作的片上系統(SoC)。每個MCU都能有效地管理模擬外設和數字外設,可以關閉單個或全部外設節省功耗。Flash存儲器還具有片上重新編程能力,可用於非易失性數據存儲。片內JTAG調試支持觀察、修改儲存器和寄存器,支持斷點、單步、運行、停機命令。調試時所有的模擬和數字外設都能全功能運行。

C8051F最突出的改進是引入了數字交叉開關。這是一個大的數字開關網絡,允許將內部數字系統資源分配給埠I/O 引腳。這種結構可支持所有的功能組合,可通過設置交叉開關控制寄存器,將片內的計數器 /定時器、串行總線、硬體中斷、ADC轉換啟動輸入及微控制器內部的其他數位訊號配置在埠I/O引腳,這就允許用戶根據自己的特定應用選擇通用埠I/O和所需數字資源的組合。

USB模塊CH375是一個USB總線的通用設備接口晶片,無需編寫驅動程序,內置有USB通訊中的底層協議,完全滿足USB1.1標準。該模塊具有8位數據總線(D0~D7)、地址輸入(A0)、讀(RDJHJ)、寫(WRJHJ)、片選控制線(CSJHJ),以及中斷輸出(INTJHJ)等功能,可以方便地掛接到單片機的數據總線上。當A0為低電平時選擇數據埠,單片機通過8位並口對CH375進行讀寫數據;當AO為高電平時選擇命令埠,可以向其寫入命令。

在本地端,單片機對CH375的操作是採用命令加數據的I/O 操作方式,任何操作都是先發命令給CH375,然後執行數據輸入輸出。CH375接收到上位機發送的數據或者發送完給上位機的數據後,以中斷方式通知單片機。各通道的USB模塊CH375在計算機應用層與其本地端單片機之間提供了端對端的連接,統一採用數據加應答方式進行通信,所有的通信都由計算機應用層發起,然後以接收到單片機的應答結束。

2 嵌入式軟體設計

嵌入式軟體設計採用模塊化的程序設計思想,主要由4個部分組成,即A/D轉換子程序、數據採集及存儲子程序、USB通信子程序,以及D/A轉換子程序,並由嵌入式處理器進行統一調配。這裡主要介紹數據採集和USB通信子程序。

該虛擬示波器中使用了2種傳輸方式:控制傳輸和數據報告。控制傳輸用來實現位於計算機上的USB總線驅動程序及編寫的功能驅動程序對設備的各種控制操作,根據計算機端軟體設定的增益、時基、觸發等參數控制數據採集模塊,需要計算機向單片機發送少量的控制信息。

數據報告用來完成將採集數據從設備傳送到計算機的功能,這屬於大批量數據的傳輸。如圖2所示,當USB控制器從USB總線檢測到計算機啟動的某一傳輸請求時,USB控制器通過中斷方式將此請求通知單片機。單片機通過訪問USB控制器的狀態寄存器和數據寄存器獲得與此次傳輸有關的各種參數,並根據具體傳輸參數,對USB控制器的控制寄存器和數據寄存器進行相應的操作。如果是上傳(上傳緩衝區的數據被計算機成功讀取),則釋放當前USB緩衝區,然後退出中斷程序;如果是下傳(下傳緩衝區成功接收到計算機發送的數據 ),則從數據下傳緩衝區讀取數據塊。在分析接收到的數據塊時,如果是數據請求的上傳命令,則準備應答數據(採集數據 );單片機將採集數據寫入數據上傳緩衝區中,然後退出中斷程序,完成計算機的傳輸請求。該通訊方式具有數據自動同步、程序設計簡單、交互性和可控性較好等優點。

3 上位機軟體設計

上位機軟體主要功能是模擬一個示波器的界面,實現數據的顯示及滿足不同需要的分析功能,同時完成對數據採集硬體的參數設定。在這個設計中已實現了基本的功能,如圖3所示,包括波形顯示、數據保存、量程的自動轉換和數據的深度分析(波形測量和頻譜分析),甚至能結合嵌入式系統硬體實現波形發生器等功能。


上位PC機的人機界面是虛擬示波器與用戶的接口,直接關係到系統的可用性和方便性。人機界面程序主要是使用戶能夠方便地控制整個虛擬示波器的工作,並通過數據分析,使用戶能夠方便地選擇通道,採集頻率、增益等。上位機的人機界面採用VC++語言開發,在軟體中充分利用了類功能,將USB設備的啟動函數、停止函數、數據讀取函數等各個函數全部整合到動態連結庫USB.DLL中。將CH375晶片的驅動程序、動態連結庫拷貝到上位機中,利用CH375動態連結庫DLL提供的API函數(設備管理API、數據傳輸API、中斷查詢API和直接控制API)對其進行操作,數據傳輸API是最重要最常用的一組函數,它提供了多種數據傳輸模式。

中斷查詢API一般用於USB設備使用到中斷傳輸的場合。直接控制API是用於CH375直接輸入輸出信號,由設置、輸入和輸出3部分組成。這樣不但使軟體程序結構清晰,方便閱讀,而且在需要時可以方便快捷地升級人機界面,無需大的改動。使用動態連結庫後,當其他應用軟體要使用該USB設備時,也可方便聲明函數,從而有效地控制USB設備工作,因此,該USB設備可以方便地用於其他場合,實現其他的功能。軟體充分利用了計算機強大的處理能力,可在控制USB設備的同時對16個信號進行採集和顯示,並可根據用戶的需要測出不同信號的頻率、幅值、有效值等參數。軟體波形觀測界面如圖4所示。

4 結束語

根據嵌入式系統USB接口的虛擬示波器的硬體和軟體設計方案,實現了該虛擬示波器數據傳輸、算法控制、顯示調試等基本功能。實踐表明,該系統性能良好,功能強大,體積小巧,使用簡便,價格低廉,適合多種場合應用,能為使用者建立了一個良好的使用平臺。

打開APP閱讀更多精彩內容

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴

相關焦點

  • 一種應用於虛擬示波器的雙通道數據採集系統設計
    0 引 言 示波器是一種用途十分廣泛的精密電子測量儀器,在科學研究領域和實驗室中應用廣泛,但目前這類儀器設計複雜,價格較昂貴。利用虛擬儀器技術只需配備必要的數據採集硬體,不僅可以實現傳統示波器的各項功能,而且還具有存儲、回放等特點。 鑑於虛擬示波器的各種優點和廣泛用途,研製出性能優越的虛擬示波器具有重要的實際應用價值。
  • 泰克新入門級示波器系列方便嵌入式系統調試
    打開APP 泰克新入門級示波器系列方便嵌入式系統調試 灰色天空 發表於 2012-10-17 16:15:48   包含12個型號的MSO/DPO2000B系列示波器的帶寬範圍為70 MHz - 200 MHz。憑藉業內領先的1兆點記錄長度,這些示波器使得使用泰克的創新Wave Inspector來執行手動或自動搜索,以發現長記錄中的感興趣事件變得容易。由於串行接口在電子設計中的廣泛應用,該新系列示波器可使串行解碼、觸發和搜索模塊的成本與先前模塊相比降低50%以上。
  • 嵌入式系統中USB主機控制器的設計
    本文將介紹在嵌入式系統中應用USB時其主機控制器的設計。本文引用地址:http://www.eepw.com.cn/article/152226.htm 嵌入式系統被定義為硬體和固件(獨立的或作為更大型系統的一部分)通常帶有某種作業系統,作業系統可以是Windows CE、VxWorks或其它由「自編代碼」構成的更簡單系統。根據這樣的定義,可以認為任何帶有處理器的電子裝置均可以作為USB嵌入式主機。
  • 基於單片機的簡易多通道虛擬示波器的設計
    通過PC機上虛擬儀器平臺LabVIEW開發的上位機軟體對波形進行顯示和處理,從而達到簡易虛擬示波器的效果。本文引用地址:http://www.eepw.com.cn/article/201611/323627.htm  1 簡易多通道虛擬示波器系統的設計  簡易多通道虛擬示波器系統的原理方框圖如圖1所示,數據採集由主控晶片ATmega16進行,採集後的數據通過RS232串口通信晶片Max232將TTL電平轉換為RS232電平,提供與PC機的接口,將數據量傳送給PC機的LabVIEW
  • 解析虛擬示波器的組成部分及優勢方面
    隨著科技的發展,傳統的測量方法在許多的場合已經不再適用了,許多儀器都打出「智能化」的口號,如何實現智能化呢,於是「虛擬儀器」就應運而生了。相對於示波器而言,虛擬示波器,也就是智能化數字示波器的產生,無疑是示波器發展的一個重大的突破,在示波器的功能和作用方面都發生了重大的變化。
  • 簡易多通道虛擬示波器的技術研究
    通過PC機上虛擬儀器平臺LabVIEW開發的上位機軟體對波形進行顯示和處理,從而達到簡易虛擬示波器的效果。本文引用地址:http://www.eepw.com.cn/article/201701/337759.htm  1 簡易多通道虛擬示波器系統的設計  簡易多通道虛擬示波器系統的原理方框圖如圖1所示,數據採集由主控晶片ATmega16進行,採集後的數據通過RS232串口通信晶片Max232將TTL電平轉換為RS232電平,提供與PC機的接口
  • 基於嵌入式系統的數字示波器用戶圖形界面的實現
    1 引言  隨著嵌入式系統應用領域的不斷擴大,系統複雜性也在不斷提高。所以在嵌入式系統中實現用戶圖形化(gui),已經成為大勢所趨。目前,嵌入式系統中大多數的用戶圖形化界面(gui)都是在作業系統(如os、wince、linix)的支持下, 調用系統的各種api函數實現的。這些作業系統為實現gui提供了大量的庫函數,也為編程人員提供了界面設計的良好平臺。如利用wince就可以十分方便的設計出具有windows風格的圖形界面。
  • 嵌入式系統常用接口規範
    一、引言本文引用地址:http://www.eepw.com.cn/article/201610/305641.htm嵌入式系統的硬體除了核心的微處理器之外就是外圍器件和接口。接口技術在嵌入式系統設計處於如此重要的位置,是嵌入式系統設計師硬體部分的重要考試範圍。
  • 通用示波器自動測試系統的設計
    為此,對示波器進行自動化測試,是當前迫在眉睫,勢在必行的一項重要工作。要實現示波器檢定的自動化,就必須解決接口問題,使儀器控制器和儀器之間能夠相互通信。為此,在本系統中,採用了在微機的I/O通道中插入一塊GPIB接口板(即IEEE-488接口板),來實現計算機和示波器校準儀之間的通信(包括程控命令,測量數據,儀器狀態信息的傳送)。
  • 嵌入式PROFIBUS-DP從站通信接口的設計
    PROFIBUS現場總線,因此對國內配套產品提出了現場總線PROFIBUS通信功能的技術要求;(2)國內自動化系統廠家比較成功的、面向行業的控制系統,要求系統技術向現場總線技術發展,同時也要求現場設備向智能化、網絡化方向發展。
  • 嵌入式導航系統的組成與設計流程
    因此,以嵌入式系統為主要平臺的數碼地理整合性應用與其因應方案,也就是手持式、車載GPS全球衛星導航系統,便可解決對此人們急迫的需求性。基於S3C2440A微處理器和Win CE 5.0嵌入式作業系統,設計了一套可靠且實用的嵌入式導航系統,所提供的功能可以滿足人們現階段日常生活的需要。 1 嵌入式導航系統主要組成 嵌入式導航系統由硬體層、軟體層和中間層組成。
  • win7筆記本USB接口沒反應怎麼辦
    無論我們使用的是臺式機還是筆記本電腦,電腦都有usb接口,那麼如果我們將行動裝置插入usb埠,而它沒有響應怎麼辦?別擔心,今天小編就來告訴你怎麼做電腦usb接口。幾天前,小編收到用戶的幫助信息,說他將usb通用串行總線usb埠usb埠沒有回應的時候,問小編如何解決接口沒有回應這樣的問題,下面小編在usb接口沒有回應的解決方案。
  • 嵌入式PROFIBUS現場總線通信接口設計
    基於上述需求,嵌入式PROFIBUS-DP從站通信接口的設計為自主開發具有PROFIBUS-DP通信功能產品的用戶提供了一種快速、高效的解決方案。/輸出數據;PROFIBUS-DP從站通信接口板自動轉換成PROFIBUS-DP協議與PROFIBUS主站通信; (4)編寫GSD文件,搭建一個調試與測試平臺進行PROFIBUS系統配置。
  • 電腦I/O接口接口庫科普,永遠都要插三次的usb接口
    ,如USB,HDMI,3.5毫米耳機接口,RJ-45網線接口等等,之前網線方面我已經寫過相關的科普了,今天我們就來說說我們日常中使用的最多的usb接口。為什麼標題裡我要說usb永遠都要插三次才能插上呢?我相信大家也都有和我一樣的經歷。一般情況下在網主板上插usb線的時候,第一次總是插不進去,於是我們就吧手裡的線頭轉一下,反過來繼續插,然後發現還是插不進去,最後無奈之下,只能伸著頭,看著主板上的母座,對準了插,最後就會絕望的發現,第一次插的時候的方向是正確的。
  • 射頻嵌入式設計與高級頻域時域聯合分析
    當今嵌入式設計的一個發展趨勢是越來越多地涉及到射頻電路和射頻信號的分析與驗證,隨著電路工作頻率的升高和高速總線接口的使用,突發性的EMI問題也日趨嚴重。設計人員常常面對必須將時域信號與射頻信號綜合分析的難題。
  • 9種乙太網接口的設計與實現,涵蓋原理分析及電路圖
    本文引用地址:http://www.eepw.com.cn/article/201609/303910.htm嵌入式系統乙太網接口的設計本文將介紹以8051系列單片機系統為例的嵌入式系統與10Mbps乙太網控制器晶片DM9008的接口電路實現及編程方法。
  • 詳解虛擬示波器
    實驗使用:運行LABACT 程序,選擇『自動控制/ 微機控制/ 控制系統』菜單下的相應實驗項目,就會彈出虛擬示波器的界面,點擊開始即可使用本實驗機配套的虛擬示波器(B3)單元的CH1、CH2 測孔測量波形。二.示波器的使用1.示波器的時域顯示示波器的時域顯示是指顯示器界面中X 軸為時間t,Y 軸為電壓U。
  • 基於虛擬儀器的弱信號處理模塊測試系統設計
    作為虛擬儀器技術的一種,GPIB總線儀器以其良好的可靠性和高精度性使基於該總線的虛擬儀器在自動化測試領域中得到廣泛的研究與應用。  GPIB總線是一個數字式的24線並行總線。它由16條信號線和8條接地返回線組成。GPIB的16條信號線分為8條數據線,5條接口管理線,3條握手線等三大組。
  • 基於嵌入式Linux的語音識別系統硬軟體設計
    該設計運用三星公司的S3C2440,結合ICRoute公司的高性能語音識別晶片LD3320,進行了語音識別系統的硬體和軟體設計。
  • 數字示波器的軟硬體設計方案及經典應用案例匯總
    一種數字示波器的微處理器硬體設計作為數字示波器數據處理和系統控制的中樞,微處理器性能至關重要。本文選用TI公司的雙核 DSP OMAP-L138作為本設計的微處理器,使得示波器能夠數據處理與系統控制同步執行;且微處理器內部存儲資源豐富,且採用二級緩存結構,系統響應速度快,可大幅提高數字示波器的數據處理能力和波形捕獲率,整機的響應速度也將上一個臺階。