你的位置:首頁(yè) > 測(cè)試測(cè)量 > 正文
基于嵌入式系統(tǒng) USB接口的虛擬示波器的開(kāi)發(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ī),通過(guò)控制傳輸和數(shù)據(jù)報(bào)告完成數(shù)據(jù)通信和監(jiān)控顯示的功能。實(shí)驗(yàn)表明,設(shè)計(jì)的虛擬儀器具有智能化和良好的系統(tǒng)擴(kuò)展性,是未來(lái)虛擬儀器發(fā)展的方向。
虛擬示波器是將計(jì)算機(jī)強(qiáng)大的計(jì)算處理能力和一般硬件儀器的信號(hào)采集和控制能力結(jié)合在一起,從而實(shí)現(xiàn)一般示波器所不能實(shí)現(xiàn)的功能和友好的界面,彌補(bǔ)了傳統(tǒng)示波器功能單一、體積龐大、攜帶不便、價(jià)格昂貴的不足。隨著計(jì)算機(jī)技術(shù)的發(fā)展 ,對(duì)虛擬儀器的智能化和小型化的要求越來(lái)越高。嵌入式系統(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è)備不用在打開(kāi)機(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),通過(guò)信號(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ù)字交叉開(kāi)關(guān)。這是一個(gè)大的數(shù)字開(kāi)關(guān)網(wǎng)絡(luò),允許將內(nèi)部數(shù)字系統(tǒng)資源分配給端口I/O 引腳。這種結(jié)構(gòu)可支持所有的功能組合,可通過(guò)設(shè)置交叉開(kāi)關(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è)備接口芯片,無(wú)需編寫驅(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ī)通過(guò)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)告??刂苽鬏斢脕?lái)實(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)告用來(lái)完成將采集數(shù)據(jù)從設(shè)備傳送到計(jì)算機(jī)的功能,這屬于大批量數(shù)據(jù)的傳輸。如圖2所示,當(dāng)USB控制器從USB總線檢測(cè)到計(jì)算機(jī)啟動(dòng)的某一傳輸請(qǐng)求時(shí),USB控制器通過(guò)中斷方式將此請(qǐng)求通知單片機(jī)。單片機(jī)通過(guò)訪問(wèn)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è)虛擬示波器的工作,并通過(guò)數(shù)據(jù)分析,使用戶能夠方便地選擇通道,采集頻率、增益等。上位機(jī)的人機(jī)界面采用VC++語(yǔ)言開(kāi)發(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ī)界面,無(wú)需大的改動(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é)束語(yǔ)
根據(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)。
推薦閱讀:
特別推薦
- AMTS 2025展位預(yù)訂正式開(kāi)啟——體驗(yàn)科技驅(qū)動(dòng)的未來(lái)汽車世界,共迎AMTS 20周年!
- 貿(mào)澤電子攜手安森美和Würth Elektronik推出新一代太陽(yáng)能和儲(chǔ)能解決方案
- 功率器件熱設(shè)計(jì)基礎(chǔ)(六)——瞬態(tài)熱測(cè)量
- 貿(mào)澤開(kāi)售Nordic Semiconductor nRF9151-DK開(kāi)發(fā)套件
- TDK推出用于可穿戴設(shè)備的薄膜功率電感器
- 日清紡微電子GNSS兩款新的射頻低噪聲放大器 (LNA) 進(jìn)入量產(chǎn)
- 中微半導(dǎo)推出高性價(jià)比觸控 MCU-CMS79FT72xB系列
技術(shù)文章更多>>
- 意法半導(dǎo)體推出首款超低功耗生物傳感器,成為眾多新型應(yīng)用的核心所在
- 是否存在有關(guān) PCB 走線電感的經(jīng)驗(yàn)法則?
- 智能電池傳感器的兩大關(guān)鍵部件: 車規(guī)級(jí)分流器以及匹配的評(píng)估板
- 功率器件熱設(shè)計(jì)基礎(chǔ)(八)——利用瞬態(tài)熱阻計(jì)算二極管浪涌電流
- AHTE 2025展位預(yù)訂正式開(kāi)啟——促進(jìn)新技術(shù)新理念應(yīng)用,共探多行業(yè)柔性解決方案
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
生產(chǎn)測(cè)試
聲表諧振器
聲傳感器
濕度傳感器
石英機(jī)械表
石英石危害
時(shí)間繼電器
時(shí)鐘IC
世強(qiáng)電訊
示波器
視頻IC
視頻監(jiān)控
收發(fā)器
手機(jī)開(kāi)發(fā)
受話器
數(shù)字家庭
數(shù)字家庭
數(shù)字鎖相環(huán)
雙向可控硅
水泥電阻
絲印設(shè)備
伺服電機(jī)
速度傳感器
鎖相環(huán)
胎壓監(jiān)測(cè)
太陽(yáng)能
太陽(yáng)能電池
泰科源
鉭電容
碳膜電位器