你的位置:首頁(yè) > 測(cè)試測(cè)量 > 正文
基于嵌入式系統(tǒng) USB接口的虛擬示波器的開發(fā)與實(shí)現(xiàn)
發(fā)布時(shí)間:2016-03-10 責(zé)任編輯:wenwei
【導(dǎo)讀】針對(duì)傳統(tǒng)示波器不便攜帶,傳統(tǒng)虛擬儀器不具有即插即用、熱插拔等功能的情況,提出了基于嵌入式系統(tǒng)USB接口的虛擬示波器的設(shè)計(jì)方案和具體實(shí)現(xiàn)方法。以單片機(jī)和USB芯片為核心構(gòu)建虛擬示波器系統(tǒng)體系,應(yīng)用嵌入式技術(shù)把示波器的硬件集成在嵌入式電路板上,將A/D轉(zhuǎn)換、D/A轉(zhuǎn)換,以及數(shù)字濾波和邏輯控制處理等外置于上位PC機(jī),通過控制傳輸和數(shù)據(jù)報(bào)告完成數(shù)據(jù)通信和監(jiān)控顯示的功能。實(shí)驗(yàn)表明,設(shè)計(jì)的虛擬儀器具有智能化和良好的系統(tǒng)擴(kuò)展性,是未來虛擬儀器發(fā)展的方向。
虛擬示波器是將計(jì)算機(jī)強(qiáng)大的計(jì)算處理能力和一般硬件儀器的信號(hào)采集和控制能力結(jié)合在一起,從而實(shí)現(xiàn)一般示波器所不能實(shí)現(xiàn)的功能和友好的界面,彌補(bǔ)了傳統(tǒng)示波器功能單一、體積龐大、攜帶不便、價(jià)格昂貴的不足。隨著計(jì)算機(jī)技術(shù)的發(fā)展 ,對(duì)虛擬儀器的智能化和小型化的要求越來越高。嵌入式系統(tǒng)的發(fā)展使得基于嵌入式微處理器和實(shí)時(shí)操作系統(tǒng)的嵌入式虛擬儀器能夠滿足惡劣工作環(huán)境下的便攜虛擬儀器的需要。同時(shí),基于USB總線的儀器設(shè)備克服了現(xiàn)有PC總線虛擬儀器的不足,可滿足自動(dòng)化工業(yè)測(cè)量的要求,特別適合現(xiàn)場(chǎng)信號(hào)的測(cè)試。
常用的虛擬儀器多采用PCI或ISA插槽,然而采集卡的數(shù)量一般有限,因此在搭建系統(tǒng)的時(shí)候,只能指定特定的計(jì)算機(jī)或嵌入專門的采集卡,但有些設(shè)備根本就不支持PCI或ISA總線,這種內(nèi)置形式很容易受到PC機(jī)箱內(nèi)高頻干擾的影響,降低系統(tǒng)的采樣精度和穩(wěn)定性。如果能夠?qū)⒄麄€(gè)系統(tǒng)做成外置式,不僅能夠提高系統(tǒng)的采樣精度和穩(wěn)定性,還能增強(qiáng)系統(tǒng)的靈活性,同時(shí)還有利于系統(tǒng)的維護(hù)。
USB接口是實(shí)現(xiàn)虛擬儀器的一種更方便、更有效、更靈活的總線通訊式。USB總線是新一代總線技術(shù),使PC機(jī)配置新的硬件設(shè)備不用在打開機(jī)蓋,且支持熱插拔技術(shù),給使用者以極大的方便。USB總線具有傳輸速率高、支持異步和等時(shí)傳輸特點(diǎn),并且可同時(shí)掛接127個(gè)獨(dú)立的USB設(shè)備,適合于外登式中高速、高精度采樣系統(tǒng)。USB技術(shù)是非贏利性的規(guī)范,已得到了廣泛工業(yè)支持。
1 系統(tǒng)整體設(shè)計(jì)
嵌入式處理器是由C8051F020單片機(jī)和USB總線芯片CH375組成。C8051F020單片機(jī)作為系統(tǒng)的CPU擔(dān)任著邏輯控制、數(shù)據(jù)采集和存儲(chǔ)管理的工作,接收測(cè)試分析對(duì)象上傳的數(shù)據(jù)源信號(hào),通過信號(hào)調(diào)理模塊和模數(shù)轉(zhuǎn)換模塊等控制功能實(shí)時(shí)采集數(shù)據(jù),由USB總線芯片CH375作為與上位機(jī)通信的接口將數(shù)據(jù)傳送給上位機(jī)監(jiān)控模塊。系統(tǒng)結(jié)構(gòu)如圖1所示。
C8051F系列單片機(jī)是完全集成混合信號(hào)的系統(tǒng)級(jí)芯片,具有與8051兼容的控制器內(nèi)核,并與MCS-51指令集兼容;片內(nèi)還集成了數(shù)據(jù)采集和控制系統(tǒng)中常用的模擬部件和其他數(shù)字外設(shè)及功能部件。C8051F單片機(jī)采用流水線結(jié)構(gòu),機(jī)器周期由標(biāo)準(zhǔn)的12個(gè)系統(tǒng)時(shí)鐘降為1個(gè)系統(tǒng)時(shí)鐘,處理能力大大提高,峰值性能可 達(dá)25M IPS.C8051F單片機(jī)是能真正獨(dú)立工作的片上系統(tǒng)(SoC)。每個(gè)MCU都能有效地管理模擬外設(shè)和數(shù)字外設(shè),可以關(guān)閉單個(gè)或全部外設(shè)節(jié)省功耗。Flash存儲(chǔ)器還具有片上重新編程能力,可用于非易失性數(shù)據(jù)存儲(chǔ)。片內(nèi)JTAG調(diào)試支持觀察、修改儲(chǔ)存器和寄存器,支持?jǐn)帱c(diǎn)、單步、運(yùn)行、停機(jī)命令。調(diào)試時(shí)所有的模擬和數(shù)字外設(shè)都能全功能運(yùn)行。
C8051F最突出的改進(jìn)是引入了數(shù)字交叉開關(guān)。這是一個(gè)大的數(shù)字開關(guān)網(wǎng)絡(luò),允許將內(nèi)部數(shù)字系統(tǒng)資源分配給端口I/O 引腳。這種結(jié)構(gòu)可支持所有的功能組合,可通過設(shè)置交叉開關(guān)控制寄存器,將片內(nèi)的計(jì)數(shù)器 /定時(shí)器、串行總線、硬件中斷、ADC轉(zhuǎn)換啟動(dòng)輸入及微控制器內(nèi)部的其他數(shù)字信號(hào)配置在端口I/O引腳,這就允許用戶根據(jù)自己的特定應(yīng)用選擇通用端口I/O和所需數(shù)字資源的組合。
USB模塊CH375是一個(gè)USB總線的通用設(shè)備接口芯片,無需編寫驅(qū)動(dòng)程序,內(nèi)置有USB通訊中的底層協(xié)議,完全滿足USB1.1標(biāo)準(zhǔn)。該模塊具有8位數(shù)據(jù)總線(D0~D7)、地址輸入(A0)、讀(RDJHJ)、寫(WRJHJ)、片選控制線(CSJHJ),以及中斷輸出(INTJHJ)等功能,可以方便地掛接到單片機(jī)的數(shù)據(jù)總線上。當(dāng)A0為低電平時(shí)選擇數(shù)據(jù)端口,單片機(jī)通過8位并口對(duì)CH375進(jìn)行讀寫數(shù)據(jù);當(dāng)AO為高電平時(shí)選擇命令端口,可以向其寫入命令。
在本地端,單片機(jī)對(duì)CH375的操作是采用命令加數(shù)據(jù)的I/O 操作方式,任何操作都是先發(fā)命令給CH375,然后執(zhí)行數(shù)據(jù)輸入輸出。CH375接收到上位機(jī)發(fā)送的數(shù)據(jù)或者發(fā)送完給上位機(jī)的數(shù)據(jù)后,以中斷方式通知單片機(jī)。各通道的USB模塊CH375在計(jì)算機(jī)應(yīng)用層與其本地端單片機(jī)之間提供了端對(duì)端的連接,統(tǒng)一采用數(shù)據(jù)加應(yīng)答方式進(jìn)行通信,所有的通信都由計(jì)算機(jī)應(yīng)用層發(fā)起,然后以接收到單片機(jī)的應(yīng)答結(jié)束。
2 嵌入式軟件設(shè)計(jì)
嵌入式軟件設(shè)計(jì)采用模塊化的程序設(shè)計(jì)思想,主要由4個(gè)部分組成,即A/D轉(zhuǎn)換子程序、數(shù)據(jù)采集及存儲(chǔ)子程序、USB通信子程序,以及D/A轉(zhuǎn)換子程序,并由嵌入式處理器進(jìn)行統(tǒng)一調(diào)配。這里主要介紹數(shù)據(jù)采集和USB通信子程序。
該虛擬示波器中使用了2種傳輸方式:控制傳輸和數(shù)據(jù)報(bào)告??刂苽鬏斢脕韺?shí)現(xiàn)位于計(jì)算機(jī)上的USB總線驅(qū)動(dòng)程序及編寫的功能驅(qū)動(dòng)程序?qū)υO(shè)備的各種控制操作,根據(jù)計(jì)算機(jī)端軟件設(shè)定的增益、時(shí)基、觸發(fā)等參數(shù)控制數(shù)據(jù)采集模塊,需要計(jì)算機(jī)向單片機(jī)發(fā)送少量的控制信息。
數(shù)據(jù)報(bào)告用來完成將采集數(shù)據(jù)從設(shè)備傳送到計(jì)算機(jī)的功能,這屬于大批量數(shù)據(jù)的傳輸。如圖2所示,當(dāng)USB控制器從USB總線檢測(cè)到計(jì)算機(jī)啟動(dòng)的某一傳輸請(qǐng)求時(shí),USB控制器通過中斷方式將此請(qǐng)求通知單片機(jī)。單片機(jī)通過訪問USB控制器的狀態(tài)寄存器和數(shù)據(jù)寄存器獲得與此次傳輸有關(guān)的各種參數(shù),并根據(jù)具體傳輸參數(shù),對(duì)USB控制器的控制寄存器和數(shù)據(jù)寄存器進(jìn)行相應(yīng)的操作。如果是上傳(上傳緩沖區(qū)的數(shù)據(jù)被計(jì)算機(jī)成功讀取),則釋放當(dāng)前USB緩沖區(qū),然后退出中斷程序;如果是下傳(下傳緩沖區(qū)成功接收到計(jì)算機(jī)發(fā)送的數(shù)據(jù) ),則從數(shù)據(jù)下傳緩沖區(qū)讀取數(shù)據(jù)塊。在分析接收到的數(shù)據(jù)塊時(shí),如果是數(shù)據(jù)請(qǐng)求的上傳命令,則準(zhǔn)備應(yīng)答數(shù)據(jù)(采集數(shù)據(jù) );單片機(jī)將采集數(shù)據(jù)寫入數(shù)據(jù)上傳緩沖區(qū)中,然后退出中斷程序,完成計(jì)算機(jī)的傳輸請(qǐng)求。該通訊方式具有數(shù)據(jù)自動(dòng)同步、程序設(shè)計(jì)簡(jiǎn)單、交互性和可控性較好等優(yōu)點(diǎn)。
3 上位機(jī)軟件設(shè)計(jì)
上位機(jī)軟件主要功能是模擬一個(gè)示波器的界面,實(shí)現(xiàn)數(shù)據(jù)的顯示及滿足不同需要的分析功能,同時(shí)完成對(duì)數(shù)據(jù)采集硬件的參數(shù)設(shè)定。在這個(gè)設(shè)計(jì)中已實(shí)現(xiàn)了基本的功能,如圖3所示,包括波形顯示、數(shù)據(jù)保存、量程的自動(dòng)轉(zhuǎn)換和數(shù)據(jù)的深度分析(波形測(cè)量和頻譜分析),甚至能結(jié)合嵌入式系統(tǒng)硬件實(shí)現(xiàn)波形發(fā)生器等功能。
上位PC機(jī)的人機(jī)界面是虛擬示波器與用戶的接口,直接關(guān)系到系統(tǒng)的可用性和方便性。人機(jī)界面程序主要是使用戶能夠方便地控制整個(gè)虛擬示波器的工作,并通過數(shù)據(jù)分析,使用戶能夠方便地選擇通道,采集頻率、增益等。上位機(jī)的人機(jī)界面采用VC++語言開發(fā),在軟件中充分利用了類功能,將USB設(shè)備的啟動(dòng)函數(shù)、停止函數(shù)、數(shù)據(jù)讀取函數(shù)等各個(gè)函數(shù)全部整合到動(dòng)態(tài)鏈接庫(kù)USB.DLL中。將CH375芯片的驅(qū)動(dòng)程序、動(dòng)態(tài)鏈接庫(kù)拷貝到上位機(jī)中,利用CH375動(dòng)態(tài)鏈接庫(kù)DLL提供的API函數(shù)(設(shè)備管理API、數(shù)據(jù)傳輸API、中斷查詢API和直接控制API)對(duì)其進(jìn)行操作,數(shù)據(jù)傳輸API是最重要最常用的一組函數(shù),它提供了多種數(shù)據(jù)傳輸模式。
中斷查詢API一般用于USB設(shè)備使用到中斷傳輸?shù)膱?chǎng)合。直接控制API是用于CH375直接輸入輸出信號(hào),由設(shè)置、輸入和輸出3部分組成。這樣不但使軟件程序結(jié)構(gòu)清晰,方便閱讀,而且在需要時(shí)可以方便快捷地升級(jí)人機(jī)界面,無需大的改動(dòng)。使用動(dòng)態(tài)鏈接庫(kù)后,當(dāng)其他應(yīng)用軟件要使用該USB設(shè)備時(shí),也可方便聲明函數(shù),從而有效地控制USB設(shè)備工作,因此,該USB設(shè)備可以方便地用于其他場(chǎng)合,實(shí)現(xiàn)其他的功能。軟件充分利用了計(jì)算機(jī)強(qiáng)大的處理能力,可在控制USB設(shè)備的同時(shí)對(duì)16個(gè)信號(hào)進(jìn)行采集和顯示,并可根據(jù)用戶的需要測(cè)出不同信號(hào)的頻率、幅值、有效值等參數(shù)。軟件波形觀測(cè)界面如圖4所示。
4 結(jié)束語
根據(jù)嵌入式系統(tǒng)USB接口的虛擬示波器的硬件和軟件設(shè)計(jì)方案,實(shí)現(xiàn)了該虛擬示波器數(shù)據(jù)傳輸、算法控制、顯示調(diào)試等基本功能。實(shí)踐表明,該系統(tǒng)性能良好,功能強(qiáng)大,體積小巧,使用簡(jiǎn)便,價(jià)格低廉,適合多種場(chǎng)合應(yīng)用,能為使用者建立了一個(gè)良好的使用平臺(tái)。
推薦閱讀:
特別推薦
- 增強(qiáng)視覺傳感器功能:3D圖像拼接算法幫助擴(kuò)大視場(chǎng)
- PNP 晶體管:特性和應(yīng)用
- 使用IO-Link收發(fā)器管理數(shù)據(jù)鏈路如何簡(jiǎn)化微控制器選擇
- 用好 DMA控制器這兩種模式 MCU效率大大提高!
- 深入分析帶耦合電感多相降壓轉(zhuǎn)換器的電壓紋波問題
- Honda(本田)與瑞薩簽署協(xié)議,共同開發(fā)用于軟件定義汽車的高性能SoC
- 第13講:超小型全SiC DIPIPM
技術(shù)文章更多>>
- 利用高性能電壓監(jiān)控器提高工業(yè)功能安全合規(guī)性——第1部分
- 芯耀輝:從傳統(tǒng)IP到IP2.0,AI時(shí)代國(guó)產(chǎn)IP機(jī)遇與挑戰(zhàn)齊飛
- 解決模擬輸入IEC系統(tǒng)保護(hù)問題
- 當(dāng)過壓持續(xù)較長(zhǎng)時(shí)間時(shí),使用開關(guān)浪涌抑制器
- 用于狀態(tài)監(jiān)測(cè)的振動(dòng)傳感器
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
精密電阻
精密工具
景佑能源
聚合物電容
君耀電子
開發(fā)工具
開關(guān)
開關(guān)電源
開關(guān)電源電路
開關(guān)二極管
開關(guān)三極管
科通
可變電容
可調(diào)電感
可控硅
空心線圈
控制變壓器
控制模塊
藍(lán)牙
藍(lán)牙4.0
藍(lán)牙模塊
浪涌保護(hù)器
雷度電子
鋰電池
利爾達(dá)
連接器
流量單位
漏電保護(hù)器
濾波電感
濾波器