基於嵌入式係統 USB接口的虛擬示波器的開發與實現
發布時間:2016-03-10 責任編輯:wenwei
【導讀】針對傳統示波器不便攜帶,傳統虛擬儀器不具有即插即用、熱插拔等功能的情況,提出了基於嵌入式係統USB接口的虛擬示波器的設計方案和具體實現方法。以單片機和USB芯片為核心構建虛擬示波器係統體係,應用嵌入式技術把示波器的硬件集成在嵌入式電路板上,將A/D轉換、D/A轉換,以及數字濾波和邏輯控製處理等外置於上位PC機ji,通tong過guo控kong製zhi傳chuan輸shu和he數shu據ju報bao告gao完wan成cheng數shu據ju通tong信xin和he監jian控kong顯xian示shi的de功gong能neng。實shi驗yan表biao明ming,設she計ji的de虛xu擬ni儀yi器qi具ju有you智zhi能neng化hua和he良liang好hao的de係xi統tong擴kuo展zhan性xing,是shi未wei來lai虛xu擬ni儀yi器qi發fa展zhan的de方fang向xiang。
虛xu擬ni示shi波bo器qi是shi將jiang計ji算suan機ji強qiang大da的de計ji算suan處chu理li能neng力li和he一yi般ban硬ying件jian儀yi器qi的de信xin號hao采cai集ji和he控kong製zhi能neng力li結jie合he在zai一yi起qi,從cong而er實shi現xian一yi般ban示shi波bo器qi所suo不bu能neng實shi現xian的de功gong能neng和he友you好hao的de界jie麵mian,彌mi補bu了le傳chuan統tong示shi波bo器qi功gong能neng單dan一yi、體積龐大、攜帶不便、價格昂貴的不足。隨著計算機技術的發展 ,duixuniyiqidezhinenghuahexiaoxinghuadeyaoqiuyuelaiyuegao。qianrushixitongdefazhanshidejiyuqianrushiweichuliqiheshishicaozuoxitongdeqianrushixuniyiqinenggoumanzueliegongzuohuanjingxiadebianxiexuniyiqidexuyao。tongshi,jiyuUSB總線的儀器設備克服了現有PC總線虛擬儀器的不足,可滿足自動化工業測量的要求,特別適合現場信號的測試。
常用的虛擬儀器多采用PCI或ISA插槽,然而采集卡的數量一般有限,因此在搭建係統的時候,隻能指定特定的計算機或嵌入專門的采集卡,但有些設備根本就不支持PCI或ISA總線,這種內置形式很容易受到PCjixiangneigaopinganraodeyingxiang,jiangdixitongdecaiyangjingduhewendingxing。ruguonenggoujiangzhenggexitongzuochengwaizhishi,bujinnenggoutigaoxitongdecaiyangjingduhewendingxing,hainengzengqiangxitongdelinghuoxing,tongshihaiyouliyuxitongdeweihu。
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模塊CH375zaijisuanjiyingyongcengyuqibendiduandanpianjizhijiantigongleduanduiduandelianjie,tongyicaiyongshujujiayingdafangshijinxingtongxin,suoyoudetongxindouyoujisuanjiyingyongcengfaqi,ranhouyijieshoudaodanpianjideyingdajieshu。
2 嵌入式軟件設計
嵌入式軟件設計采用模塊化的程序設計思想,主要由4個部分組成,即A/D轉換子程序、數據采集及存儲子程序、USB通信子程序,以及D/A轉換子程序,並由嵌入式處理器進行統一調配。這裏主要介紹數據采集和USB通信子程序。
該虛擬示波器中使用了2種傳輸方式:控製傳輸和數據報告。控製傳輸用來實現位於計算機上的USB總線驅動程序及編寫的功能驅動程序對設備的各種控製操作,根據計算機端軟件設定的增益、時基、觸發等參數控製數據采集模塊,需要計算機向單片機發送少量的控製信息。
數據報告用來完成將采集數據從設備傳送到計算機的功能,這屬於大批量數據的傳輸。如圖2所示,當USB控製器從USB總線檢測到計算機啟動的某一傳輸請求時,USB控製器通過中斷方式將此請求通知單片機。單片機通過訪問USB控製器的狀態寄存器和數據寄存器獲得與此次傳輸有關的各種參數,並根據具體傳輸參數,對USB控製器的控製寄存器和數據寄存器進行相應的操作。如果是上傳(上傳緩衝區的數據被計算機成功讀取),則釋放當前USB緩衝區,然後退出中斷程序;如果是下傳(下傳緩衝區成功接收到計算機發送的數據 ),則從數據下傳緩衝區讀取數據塊。在分析接收到的數據塊時,如果是數據請求的上傳命令,則準備應答數據(采集數據 );單片機將采集數據寫入數據上傳緩衝區中,然後退出中斷程序,完成計算機的傳輸請求。該通訊方式具有數據自動同步、程序設計簡單、交互性和可控性較好等優點。

3 上位機軟件設計
shangweijiruanjianzhuyaogongnengshimoniyigeshiboqidejiemian,shixianshujudexianshijimanzubutongxuyaodefenxigongneng,tongshiwanchengduishujucaijiyingjiandecanshusheding。zaizhegeshejizhongyishixianlejibendegongneng,rutu3所示,包括波形顯示、數據保存、量程的自動轉換和數據的深度分析(波形測量和頻譜分析),甚至能結合嵌入式係統硬件實現波形發生器等功能。

上位PCjiderenjijiemianshixunishiboqiyuyonghudejiekou,zhijieguanxidaoxitongdekeyongxinghefangbianxing。renjijiemianchengxuzhuyaoshishiyonghunenggoufangbiandikongzhizhenggexunishiboqidegongzuo,bingtongguoshujufenxi,shiyonghunenggoufangbiandixuanzetongdao,caijipinlv、增益等。上位機的人機界麵采用VC++語言開發,在軟件中充分利用了類功能,將USB設備的啟動函數、停止函數、數據讀取函數等各個函數全部整合到動態鏈接庫USB.DLL中。將CH375芯片的驅動程序、動態鏈接庫拷貝到上位機中,利用CH375動態鏈接庫DLL提供的API函數(設備管理API、數據傳輸API、中斷查詢API和直接控製API)對其進行操作,數據傳輸API是最重要最常用的一組函數,它提供了多種數據傳輸模式。
中斷查詢API一般用於USB設備使用到中斷傳輸的場合。直接控製API是用於CH375直接輸入輸出信號,由設置、輸入和輸出3部(bu)分(fen)組(zu)成(cheng)。這(zhe)樣(yang)不(bu)但(dan)使(shi)軟(ruan)件(jian)程(cheng)序(xu)結(jie)構(gou)清(qing)晰(xi),方(fang)便(bian)閱(yue)讀(du),而(er)且(qie)在(zai)需(xu)要(yao)時(shi)可(ke)以(yi)方(fang)便(bian)快(kuai)捷(jie)地(di)升(sheng)級(ji)人(ren)機(ji)界(jie)麵(mian),無(wu)需(xu)大(da)的(de)改(gai)動(dong)。使(shi)用(yong)動(dong)態(tai)鏈(lian)接(jie)庫(ku)後(hou),當(dang)其(qi)他(ta)應(ying)用(yong)軟(ruan)件(jian)要(yao)使(shi)用(yong)該(gai)USB設備時,也可方便聲明函數,從而有效地控製USB設備工作,因此,該USB設備可以方便地用於其他場合,實現其他的功能。軟件充分利用了計算機強大的處理能力,可在控製USB設備的同時對16個信號進行采集和顯示,並可根據用戶的需要測出不同信號的頻率、幅值、有效值等參數。軟件波形觀測界麵如圖4所示。

4 結束語
根據嵌入式係統USB接口的虛擬示波器的硬件和軟件設計方案,實現了該虛擬示波器數據傳輸、算法控製、xianshitiaoshidengjibengongneng。shijianbiaoming,gaixitongxingnenglianghao,gongnengqiangda,tijixiaoqiao,shiyongjianbian,jiagedilian,shiheduozhongchangheyingyong,nengweishiyongzhejianlileyigelianghaodeshiyongpingtai。
推薦閱讀:
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 邊緣AI的發展為更智能、更可持續的技術鋪平道路
- 每台智能體PC,都是AI時代的新入口
- IAR作為Qt Group獨立BU攜兩項重磅汽車電子應用開發方案首秀北京車展
- 構建具有網絡彈性的嵌入式係統:來自行業領袖的洞見
- 數字化的線性穩壓器
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索




