国产精品成人网站,精品人妻互换一区二区三区,大肉大捧一进一出视频免费的试看,婷婷激情综合网

產(chǎn)品推薦:水表|流量計|壓力變送器|熱電偶|液位計|冷熱沖擊試驗箱|水質(zhì)分析|光譜儀|試驗機|試驗箱


儀表網(wǎng)>技術(shù)中心>應(yīng)用設(shè)計>正文

歡迎聯(lián)系我

有什么可以幫您? 在線咨詢

基于CH371的USB接口虛擬示波器設(shè)計

   2012年04月16日 16:07  
  一、引言
  
  對于學(xué)校教學(xué)實驗以及某些特定需求來說,目前市場上的模擬及數(shù)字示波器也許并不適用,價格高昂、體積較大且很多專業(yè)功能并不實用。而現(xiàn)在電腦的普及程度也達到了相當(dāng)?shù)囊?guī)模,利用電腦以及附加的數(shù)采模塊實現(xiàn)一個靈活便捷的虛擬示波器能夠滿足大多數(shù)的工作、學(xué)習(xí)和開發(fā)需要,并且可以通過較低代價的硬件和軟件升級實現(xiàn)相當(dāng)復(fù)雜的信號處理功能,能夠以較低的成本、較小的體積實現(xiàn)配置靈活的智能儀器組合;*可以與便攜電腦結(jié)合,構(gòu)成便攜式檢測維修工作站。目前已經(jīng)有計算機并口通信的數(shù)據(jù)采集器,但是USB的應(yīng)用日趨廣泛和深入,如果將USB功能融合在里面則可以實現(xiàn)更高的數(shù)據(jù)傳輸率、更方便的使用方式,更為*的體現(xiàn)出虛擬儀器的性能。
  
  二、硬件設(shè)計
  
  此虛擬示波器的數(shù)據(jù)采集器由以下功能模塊組成:前端信號變換模塊、高速模數(shù)轉(zhuǎn)換模塊、高速數(shù)據(jù)緩沖模塊、單片機控制模塊、USB接口模塊和電源模塊。前端信號變換、高速數(shù)據(jù)采集有成熟的方案并且可根據(jù)需要的指標,譬如采樣率、量程控制、采樣深度等進行設(shè)計,我們這里主要討論USB接口部分的開發(fā)。
  
  USB接口的開發(fā)以往都是一個令人頭痛的問題,盡管很多設(shè)計者向往USB接口高速傳輸、自主供電、即插即用的優(yōu)點,但較難逾越它的協(xié)議固件開發(fā)和驅(qū)動程序開發(fā)的障礙。在這個方案里,筆者選用了一款不需要開發(fā)協(xié)議固件和驅(qū)動程序的USB總線接口芯片。
  
  南京沁恒公司()推出的CH371是一個USB總線的通用接口芯片,它利用硬件邏輯屏蔽了USB通訊中的所有協(xié)議,在計算機應(yīng)用層與本地端控制器之間提供端對端的連接。基于CH371,設(shè)計者不需要了解任何USB協(xié)議、固件程序以及驅(qū)動程序,可以輕松地將原來的并口、串口的產(chǎn)品升級到USB接口,以較低的風(fēng)險和成本享用USB接口帶來的*性。
  
  使用時在本地端,CH371具有8位數(shù)據(jù)總線和讀、寫、片選控制線以及中斷輸出,就像操作一般外設(shè)芯片一樣方便地掛接到DSP、MCU等控制器的系統(tǒng)總線上;在計算機端,CH371的配套軟件包括通用驅(qū)動程序以及應(yīng)用軟件包,提供了簡潔易用的操作接口,與本地端的單片機通訊就如同讀寫硬盤中的文件一樣簡單,可以使用VB、VC、C++Builder等語言進行開發(fā)。一般情況下,基于CH371設(shè)計USB產(chǎn)品不必考慮USB通訊協(xié)議、固件程序、驅(qū)動程序、配置過程、底層數(shù)據(jù)傳輸過程。設(shè)計者所要做的工作與設(shè)計并口、串口的產(chǎn)品一樣,包括兩件事:一是從計算機的應(yīng)用層發(fā)出數(shù)據(jù)傳輸請求并接收應(yīng)答;二是當(dāng)USB產(chǎn)品的控制器被通知有數(shù)據(jù)傳輸請求時,作出應(yīng)答。
  
  同時,CH371在提供了透明的USB協(xié)議的基礎(chǔ)上還提供了I2C器件的直接管理、16個地址的直接讀寫以及復(fù)位、看門狗等功能,本地端甚至不使用單片機就可完成簡單的控制功能,因此具有較強的功能適應(yīng)性,能夠滿足不同場合的需要,有效的降低系統(tǒng)成本。
  
  在本系統(tǒng)中使用的是SOP28封裝的產(chǎn)品,他的管腳定義如下表:
  
  根據(jù)不同的工作方式,芯片的接口類型可以有以下幾種:被動并行接口、I2C主接口、主控方式接口。其中被動并行接口是zui常用的方式,它提供單片機與計算機的連接,CH371作為單片機的一個被動外設(shè);I2C主接口是CH371在計算機端程序的控制下不經(jīng)過單片機直接讀寫一個EEPROM器件(譬如24C04等),經(jīng)常用于USB外設(shè)的產(chǎn)品信息紀錄;主控方式接口是不使用單片機,由計算機端程序直接控制CH371提供的16個地址的8位數(shù)據(jù)讀寫或者是十幾根IO口線,此方式主要用于完成相對簡單的外部控制任務(wù)。這幾種接口方式并非*對立的,可以根據(jù)需要靈活配置。在此虛擬示波器中則將其使用為單片機的一個外設(shè)器件,同時將A3~A0用于主控方式由計算機控制四只LED。
  
  單片機對于CH371的控制依靠對其內(nèi)部的16個寄存器的操作來實現(xiàn)。這16個寄存器的地址有兩種定義方式。一種是上電復(fù)位后默認為直接地址方式,A3~A0四個管腳為寄存器地址,這種方式較為簡單,但是需要使用單片機較多的IO口資源;另一種是當(dāng)CH371檢測到ALE腳上的上升沿信號后,切換到復(fù)用地址方式,寄存器地址由數(shù)據(jù)總線的D3~D0來控制,根據(jù)ALE的跳變來判斷是寄存器操作還是數(shù)據(jù)讀寫。在此設(shè)計中由于大容量數(shù)據(jù)緩沖需要使用到74373作為地址鎖存,所以即使使用直接地址方式也無需多占用單片機資源,但是為了將A3~A0節(jié)省出來驅(qū)動LED所以選用復(fù)用地址方式。
  
  根據(jù)系統(tǒng)的要求我們設(shè)計硬件如下。
  
  USB接口提供數(shù)據(jù)交換及電源供應(yīng)(經(jīng)適當(dāng)變換后供高速AD使用),CH371在12M晶振下倍頻工作,提供與單片機接口的同時提供看門狗復(fù)位輸出功能,I2C主控功能沒有使用,A3~A0可以由計算控制驅(qū)動4只LED作為工作顯示信號。單片機89C52的P1口組用于控制數(shù)據(jù)采集模塊,包括量程轉(zhuǎn)換控制、AD觸發(fā)信號、采集數(shù)據(jù)溢出信號等;高速緩存62256通過低功耗的CPLD控制存放高速AD采集的結(jié)果,單片機定時將其中數(shù)據(jù)讀出經(jīng)CH371傳送到計算機的數(shù)據(jù)顯示和分析軟件,實現(xiàn)虛擬示波器功能。單片機、CH371和RAM部分原理圖如下:
  
  圖三單片機、CH371和RAM部分原理圖
  
  三、軟件設(shè)計
  
  單片機端軟件:
  
  單片機端軟件主要完成數(shù)據(jù)采集控制、數(shù)據(jù)報告這兩個功能。其中數(shù)據(jù)采集控制根據(jù)計算機端軟件設(shè)定的增益、時基、觸發(fā)等參數(shù)控制數(shù)據(jù)采集模塊,這里面要用到計算機向單片機發(fā)送少量的控制信息;數(shù)據(jù)報告功能則需要單片機將緩存中的一個采集周期的所有數(shù)據(jù)傳送給計算機端軟件,這屬于大批量數(shù)據(jù)的傳輸。我們把介紹的重點放在單片機與計算機的通信上面。
  
  單片機與計算機通信是通過對CH371的寄存器操作實現(xiàn)的,有關(guān)其寄存器定義的具體情況請參考數(shù)據(jù)手冊。
  
  在應(yīng)用中需要注意的是,CH371提供的單片機接收緩沖區(qū)為8個字節(jié),多于8個字節(jié)的計算機下傳數(shù)據(jù)被切分;而單片機的發(fā)送緩沖區(qū)也是8個字節(jié),多于8個字節(jié)的上傳數(shù)據(jù)需要分多次上傳。另外,CH371的中斷包括了上傳及接受成功,中斷發(fā)生后具體的情況需要由傳輸狀態(tài)寄存器來辨別;同時其中斷電平是單穩(wěn)態(tài)的,一個事件發(fā)生后中斷信號跳變,但僅維持一個短暫的脈沖便恢復(fù),這是為了配合不同速度的處理器而作的處理。
  
  單片機與計算機的USB通信主要功能子程序示例如下:(請在使用時加入CH371的相應(yīng)寄存器的地址定義)
  
  file://**********CH371初始化程序******************************
  
  voidch371_init()
  
  {
  
  CH371_INT_SET=0;file://CH371中斷數(shù)據(jù)設(shè)定寄存器的地址偏移
  
  CH371_LENGTH=0X0F;file://置上傳數(shù)據(jù)長度寄存器為15,表示暫時沒有數(shù)據(jù)上傳
  
  save_length=0;file://保存下傳數(shù)據(jù)長度
  
  IT0=1;file://外部信號為下降沿觸發(fā)
  
  IE0=0;file://清中斷標志
  
  PX0=1;file://置高優(yōu)先級
  
  EX0=1;file://允許中斷
  
  }
  
  file://***********上傳數(shù)據(jù)子程序********************************
  
  voidch371_upload(unsignedcharlen)file://參數(shù)傳入數(shù)據(jù)長度
  
  {
  
  unsignedchari;
  
  unsignedchar*up_buf;
  
  unsignedchar*ch371_buf;
  
  if(len!=0)
  
  {
  
  up_buf=&ret_buffer;file://指向數(shù)據(jù)的地址
  
  ch371_buf=&CH371_BUFFER;file://指向數(shù)據(jù)緩沖區(qū)
  
  for(i=0;i{
  
  *ch371_buf=*up_buf;file://寫入上傳數(shù)據(jù)緩沖區(qū)
  
  ch371_buf++;up_buf++;
  
  }
  
  }
  
  CH371_LENGTH=len;file://寫入本次數(shù)據(jù)的長度
  
  }
  
  file://********中斷子程序使用中斷0寄存器組2********
  
  voidch371_inter()interrupt0using2{
  
  unsignedchar*down_buf;
  
  unsignedchar*ch371_buf;
  
  unsignedchari;
  
  IE0=0;file://清中斷標志
  
  if((CH371_STATUS&0x01)==0){
  
  file://讀取狀態(tài)信息寄存器,判斷數(shù)據(jù)傳輸狀態(tài)
  
  save_length=CH371_LENGTH;file://保持下傳數(shù)據(jù)長度
  
  down_buf=&save_buffer;
  
  ch371_buf=&CH371_BUFFER;
  
  for(i=0;ifile://判斷下傳數(shù)據(jù)長度并處理
  
  {
  
  *down_buf=*ch371_buf;file://讀取一字節(jié)的下傳數(shù)據(jù)
  
  down_buf++;ch371_buf++;
  
  }
  
  }
  
  elseCH371_LENGTH=0x0f;file://置上傳數(shù)據(jù)長度寄存器為15
  
  }
  
  計算機端軟件:
  
  計算機端軟件主要功能是模擬一個示波器的界面,實現(xiàn)數(shù)據(jù)的顯示以及滿足不同需要的分析功能,同時完成對數(shù)據(jù)采集硬件的參數(shù)設(shè)定。在這個設(shè)計中已經(jīng)實現(xiàn)了基本的功能,虛擬示波器的界面如下圖。進一步開發(fā)后可以實現(xiàn)量程的自動轉(zhuǎn)換、數(shù)據(jù)的深度分析(譬如波形測量、頻譜分析等),甚至可以結(jié)合硬件的升級實現(xiàn)波形發(fā)生器、邏輯分析儀、掃頻儀、網(wǎng)絡(luò)分析儀等功能。
  
  圖四虛擬儀器計算機軟件面板圖
  
  計算機端有關(guān)USB通信的開發(fā)不需要了解USB底層驅(qū)動,并且芯片生產(chǎn)商已經(jīng)以動態(tài)鏈接庫的形式封裝好了面向功能應(yīng)用的API函數(shù),可以在多種語言中調(diào)用,功能強大且靈活方便。CH371動態(tài)鏈接庫提供的API函數(shù)主要包括:設(shè)備管理API、數(shù)據(jù)傳輸API、中斷查詢API、I2C操作API和直接控制API。
  
  其中設(shè)備管理API對于一般產(chǎn)品開發(fā)不需要用到;數(shù)據(jù)傳輸API是zui重要zui常用的一組函數(shù),他提供了多種數(shù)據(jù)傳輸模式;中斷查詢API一般用于USB設(shè)備使用到中斷傳輸?shù)膱龊?,我們這里沒有用到;I2C操作API用于對CH371控制的I2C器件進行讀寫,一般用于存放產(chǎn)品信息,我們這里也沒有用到;直接控制API是用于CH371直接輸入輸出信號,包括設(shè)置、輸入和輸出三部分組成,我們使用這一組API實現(xiàn)對LED進行控制。
  
  在實際應(yīng)用中筆者使用VB6作為計算機端應(yīng)用軟件的開發(fā)平臺,首先要將沁恒公司提供的驅(qū)動程序、動態(tài)鏈接庫拷貝到計算機中,再將動態(tài)鏈接庫的訪問入口及函數(shù)定義入口添加至VB6項目中,就是將提供的VB6實例程序中的module功能模塊添加到自己的工程項目下即可。此時對USB設(shè)備的通信編程就幾乎和訪問本地硬盤中的文件差不多了,具體差別可以通過分析實例程序的句法來解決。下面給出計算機接收與發(fā)送數(shù)據(jù)的相關(guān)程序。
  
  OptionExplicit'變量定義
  
  DimmyReqAsDEMO_REQ
  
  DimmOpenAsInteger
  
  PrivateSubForm_Load()'窗口加載事件
  
  DimmLengthAsLong
  
  mIndex=0
  
  mOpen=CH371OpenDevice(mIndex)'窗體加載時打開設(shè)備
  
  IfmOpen=-1Then
  
  MsgBox"無法打開CH371設(shè)備"'加載失敗提示
  
  EndIf
  
  myReq.mCommand=&HFF'用戶定義命令
  
  myReq.mBuffer(0)=&H11'用戶定義數(shù)據(jù)
  
  myReq.mBuffer(1)=&H22'用戶定義數(shù)據(jù)
  
  mLength=Len(myReq)
  
  CH371WriteData(mIndex,myReq,mLength)'通過CH371發(fā)送命令數(shù)據(jù)
  
  ……
  
  CH371ReadData(mIndex,myReq,mLength)'通過CH371接收應(yīng)答數(shù)據(jù)
  
  ……
  
  EndSub
  
  四、結(jié)束語
  
  使用CH371設(shè)計的USB接口的虛擬示波器目前已完成基本功能的驗證,正在后期完善中,而且可以推出面向多種應(yīng)用的不同級別的系列產(chǎn)品。實踐表明其技術(shù)性能良好,功能強大、體積小巧、使用簡便、價格低廉,是廣大電子愛好者、的有力助手。

免責(zé)聲明

  • 凡本網(wǎng)注明“來源:儀表網(wǎng)”的所有作品,均為浙江興旺寶明通網(wǎng)絡(luò)有限公司-儀表網(wǎng)合法擁有版權(quán)或有權(quán)使用的作品,未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載、摘編或利用其它方式使用上述作品。已經(jīng)本網(wǎng)授權(quán)使用作品的,應(yīng)在授權(quán)范圍內(nèi)使用,并注明“來源:儀表網(wǎng)”。違反上述聲明者,本網(wǎng)將追究其相關(guān)法律責(zé)任。
  • 本網(wǎng)轉(zhuǎn)載并注明自其它來源(非儀表網(wǎng))的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或和對其真實性負責(zé),不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品第一來源,并自負版權(quán)等法律責(zé)任。
  • 如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
聯(lián)系我們

客服熱線: 15024464426

加盟熱線: 15024464426

媒體合作: 0571-87759945

投訴熱線: 0571-87759942

關(guān)注我們
  • 下載儀表站APP

  • Ybzhan手機版

  • Ybzhan公眾號

  • Ybzhan小程序

企業(yè)未開通此功能
詳詢客服 : 0571-87759942
日本欧美精品| 亚洲自慰在线观看| 国模精品无码一区二区三区| 久久精品国产亚洲av电影| 人妻视频一区| 免费无码不卡视频在线观看| 漂亮人妻洗澡被强BD中文| 欧美一区二区久久| 欧美日韩精品少妇视频一二三区 | 成人一区二区三区附近| 日本在线www| 色丁香av| 欧美高清在线精品一区| 亚洲欧美色图| 国产成人无码精品亚洲| 7777精品伊人久久久大香线蕉 | 97久久久久久| 久久天天躁狠狠躁夜夜不卡| 艳妇乳肉豪妇荡乳| 色哟哟网址| 中国GAY片男同志免费网站| 亚洲中文欧美日韩日本| 老子午夜精品888无码不卡秋霞| 欧美日韩图片小说| 67194熟妇在线观看| 免费男人下部进女人下部视频| 欧美少妇一区| 丰满人妻被黑人猛烈进入| 亚洲奇米| 亚洲午夜精品一区二区三区四区| 黑人人妻在线| 五月丁香五月天| 日韩高清不卡| 日韩有码一区| 国产一性一交一伦一| 午夜时刻免费入口| 色悠悠在线观看视频| 国产主播第一页| 国产精品美女WWW爽爽爽视频| 亚洲精品自拍偷拍| 久久久久99精品成人片毛片|