娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年04月05日(星期六)

2018年04月05日 | 基于嵌入式系統 USB接口的虛擬示波器的開發與實現

發布者:朱雀 來源: eefocus關鍵字:嵌入式系統  USB接口  虛擬示波器 手機看文章 掃描二維碼
隨時隨地手機看文章

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

 

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

 

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

 

1 系統整體設計

 

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

 

基于嵌入式系統 USB接口的虛擬示波器的開發與實現

 

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緩沖區,然后退出中斷程序;如果是下傳(下傳緩沖區成功接收到計算機發送的數據 ),則從數據下傳緩沖區讀取數據塊。在分析接收到的數據塊時,如果是數據請求的上傳命令,則準備應答數據(采集數據 );單片機將采集數據寫入數據上傳緩沖區中,然后退出中斷程序,完成計算機的傳輸請求。該通訊方式具有數據自動同步、程序設計簡單、交互性和可控性較好等優點。

 

基于嵌入式系統 USB接口的虛擬示波器的開發與實現

 

3 上位機軟件設計

 

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

 

基于嵌入式系統 USB接口的虛擬示波器的開發與實現

 

上位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所示。

 

基于嵌入式系統 USB接口的虛擬示波器的開發與實現

 

4 結束語

 

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


關鍵字:嵌入式系統  USB接口  虛擬示波器 引用地址:基于嵌入式系統 USB接口的虛擬示波器的開發與實現

上一篇:提高電源質量,如何用示波器正確測量電源紋波
下一篇:經典:示波器不為人知的12項功能

推薦閱讀

今日美國貿易代理協會發布了301關稅建議清單。美國貿易代表建議對清單上的中國產品征收額外25%的關稅,征稅中國進口產品的價值彌補美國遭受的科技損失。該清單包含大約1300個獨立關稅項目,價值約500億美元,涉及航空航天、信息和通信技術、機器人和機械等行業。招商電子團隊整理了與半導體、電子產業鏈相關的部分主要包括:LED,PCB,激光設備,半導體設...
未來,AGV機器人將呈現以下發展趨勢。 1.高速化。汽車、3C行業、國防、航天等行業對新材料的應用,對搬運機器人的高速化要求提高。 2.柔性化。自動化和信息化要求搬運機器人提高零件加工精度及生產效率,縮短產品制造周期。 3.高精度化。要求AGV智能搬運小車提升運行精度、監測精度、避障精度也越來越受重視。 4.信息交互網絡化。市場需要搬運機器...
集成電路是由硅組成,是由沙子凈化提純得到的電子級高純度硅錠——經過切割得到晶圓,進行光刻或者平板印刷、蝕刻、離子注入、金屬沉積、金屬層搭建、金屬互連、晶圓測試與切刻、核心封裝、等級測試等諸多步驟后才能包裝上市,而且每一個步驟中又包含更多細致的過程,最終得到集成電路芯片。反正就是從原料沙子到集成電路,中間有很多很多步驟和細節。集成...
根據 IDC 的市場研究,2020 年第四季度,得益于 5G iPhone 12 和去年 iPhone 11 系列的推出,蘋果在海灣國家的 iPhone 出貨量比上一季度增長了 55%。總體而言,與第三季度相比,該地區第四季度的智能手機出貨量增長了 2.3%,達到 226 萬部。具體地說,沙特阿拉伯占該地區第四季度智能手機出貨量的近一半。然而,與上一季度相比,出貨量總...

史海拾趣

問答坊 | AI 解惑

獻給電子類的大學生---一點心得 轉貼

獻給電子類的大學生---一點心得很久沒來這里轉轉,今天發點牢騷吧,本人專職電源,其他系統也做,主要是硬件,軟件丟光了.    五年前的10月份開始,我也是一個即將畢業的大學生(二流的),同樣在為工作而到處奔波,經過一個月的奔波應聘進入 ...…

查看全部問答∨

stc資料

本帖最后由 paulhyde 于 2014-9-15 08:56 編輯 常用的幾款stc  …

查看全部問答∨

在VS2005+PB60下編譯WinCE60的BSP,怎么把Cellcore.dll加進來

在VS2005+PB60下編譯WinCE60的BSP,怎么把Cellcore.dll加進來? 在Mini2440的BSP工程下的Catalog items view窗口下給 Mini2440\\Core OS\\CEBASE\\Communication Services and Networking\\Cellular\\CELLCORE\\All Modules 打勾, 但編譯出錯 ...…

查看全部問答∨

仿真時工作正常,程序固化后卻不能運行?

我用2051做了個程序,在仿真器上能跑,燒到mcu上卻不行了.請高手指教.謝謝…

查看全部問答∨

在Pocket PC 設備上用C#如何獲取手機的信號和手機的電量????

平臺:VS2005 + ComponentOne for Mobile +MSDN2005+Mobile 5.0 SDK 我是個新手,最近正在做一個手機項目 請問如何用C#獲取手機的信號和手機的電量? 用到哪些方法和屬性可以辦到呀?最好舉個例子!!!!!!!!    謝謝了!!!等著急用 ...…

查看全部問答∨

誰熟悉tcpmp?請問怎樣通過改寫代碼讓其默認為縱向窗口播放?

誰熟悉tcpmp?請問怎樣通過改寫代碼讓其默認為縱向窗口播放? …

查看全部問答∨

單片機不能往里寫程序了。

剛買的試驗板外帶兩個STC89C51RC,往里寫了好幾個光盤帶的實例,都可以。 但我寫了一個,燒進去后,單片機里面面所有的引腳都和晶振一樣來回變電壓,二極管一塊亂閃,數碼管也是,繼電器也不停的卡卡響。 程序如下: ORG 00H MOV A,#00 E ...…

查看全部問答∨

請問在EVC4.0下syntax error : identifier 'LPDOCINFO'這個錯誤怎么解決

各位高手們,我在三星的Arm9-2410EP的臺子上,定制了一個操作系統,并且可以正常運行并下載。導出了一個對應的SDK。我在電腦上安裝了這個sdk,并且刪除了以前的standard sdk。但是我運行evc后,隨便建一個mfc的程序,一編譯,都會出現error C2061:s ...…

查看全部問答∨

這么簡單的for(),怎么就死循環?

我在用STVD時,寫了個效大的程序,可有個子程序跳不出來,我單步看發現是下 圖中的第一個for總是跳不出,主要是在 i = 5 時,在匯編0x9648處把 i 清零,這倒底是不是COSMIC編繹器的問題? 我選是的stm8s105的單片機,已把所有的優化取消了, ...…

查看全部問答∨
小廣播
最新測試測量文章

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 徐州市| 延寿县| 桂阳县| 客服| 清远市| 福建省| 巴东县| 万山特区| 卢湾区| 安远县| 曲阜市| 黔西县| 扎兰屯市| 盐边县| 达州市| 怀宁县| 龙江县| 利辛县| 岗巴县| 柘城县| 丰都县| 西平县| 班玛县| 遂溪县| 温泉县| 长春市| 依安县| 三台县| 富裕县| 桂平市| 垣曲县| 六枝特区| 固阳县| 册亨县| 内乡县| 油尖旺区| 高要市| 康乐县| 杨浦区| 阳东县| 千阳县|