- 相關推薦
基于CH371的USB接口虛擬示波器設計
摘要:本文介紹一款USB接口的虛擬示波器的設計方案,重點介紹了USB總線接口芯片CH371的原理及應用,降低了USB系統開發的門檻,并達到令人滿意的效果。關鍵詞:USB接口,虛擬示波器,CH371,高速數據采集
一、引言
對于學校教學實驗以及某些特定需求來說,目前市場上的模擬及數字示波器也許并不適用,價格高昂、體積較大且很多專業功能并不實用。而現在電腦的普及程度也達到了相當的規模,利用電腦以及附加的數采模塊實現一個靈活便捷的虛擬示波器能夠滿足大多數的工作、學習和開發需要,并且可以通過較低代價的硬件和軟件升級實現相當復雜的信號處理功能,能夠以較低的成本、較小的體積實現配置靈活的智能儀器組合;完全可以與便攜電腦結合,構成便攜式檢測維修工作站。目前已經有計算機并口通信的數據采集器,但是USB的應用日趨廣泛和深入,如果將USB功能融合在里面則可以實現更高的數據傳輸率、更方便的使用方式,更為優越的體現出虛擬儀器的性能。
二、硬件設計
此虛擬示波器的數據采集器由以下功能模塊組成:前端信號變換模塊、高速模數轉換模塊、高速數據緩沖模塊、單片機控制模塊、USB接口模塊和電源模塊。前端信號變換、高速數據采集有成熟的方案并且可根據需要的指標,譬如采樣率、量程控制、采樣深度等進行設計,我們這里主要討論USB接口部分的開發。
USB接口的開發以往都是一個令人頭痛的問題,盡管很多設計者向往USB接口高速傳輸、自主供電、即插即用的優點,但較難逾越它的協議固件開發和驅動程序開發的障礙。在這個方案里,筆者選用了一款不需要開發協議固件和驅動程序的USB總線接口芯片。
南京沁恒公司()推出的CH371是一個USB總線的通用接口芯片,它利用硬件邏輯屏蔽了USB 通訊中的所有協議,在計算機應用層與本地端控制器之間提供端對端的連接。基于CH371,設計者不需要了解任何USB協議、固件程序以及驅動程序,可以輕松地將原來的并口、串口的產品升級到USB接口,以較低的風險和成本享用USB接口帶來的優越性。
使用時在本地端,CH371具有8位數據總線和讀、寫、片選控制線以及中斷輸出,就像操作一般外設芯片一樣方便地掛接到DSP、MCU等控制器的系統總線上;在計算機端,CH371的配套軟件包括通用驅動程序以及應用軟件包,提供了簡潔易用的操作接口,與本地端的單片機通訊就如同讀寫硬盤中的文件一樣簡單,開發者可以使用VB、VC、C Builder等高級語言進行開發。一般情況下,基于CH371設計USB產品不必考慮USB通訊協議、固件程序、驅動程序、配置過程、底層數據傳輸過程。設計者所要做的工作與設計并口、串口的產品一樣,包括兩件事:一是從計算機的應用層發出數據傳輸請求并接收應答;二是當USB 產品的控制器被通知有數據傳輸請求時,作出應答。
同時,CH371在提供了透明的USB協議的基礎上還提供了I2C器件的直接管理、16個地址的直接讀寫以及復位、看門狗等功能,本地端甚至不使用單片機就可完成簡單的控制功能,因此具有較強的功能適應性,能夠滿足不同場合的需要,有效的降低系統成本。
在本系統中使用的是SOP28封裝的產品,他的管腳定義如下表:
根據不同的工作方式,芯片的接口類型可以有以下幾種:被動并行接口、I2C主接口、主控方式接口。其中被動并行接口是最常用的方式,它提供單片機與計算機的連接,CH371作為單片機的一個被動外設;I2C主接口是CH371在計算機端程序的控制下不經過單片機直接讀寫一個EEPROM器件(譬如24C04等),經常用于USB外設的產品信息紀錄;主控方式接口是不使用單片機,由計算機端程序直接控制CH371提供的16個地址的8位數據讀寫或者是十幾根IO口線,此方式主要用于完成相對簡單的外部控制任務。這幾種接口方式并非完全對立的,可以根據需要靈活配置。在此虛擬示波器中則將其使用為單片機的一個外設器件,同時將A3~A0用于主控方式由計算機控制四只LED。
單片機對于CH371的控制依靠對其內部的16個寄存器的操作來實現。這16個寄存器的地址有兩種定義方式。一種是上電復位后默認為直接地址方式,A3~A0四個管腳為寄存器地址,這種方式較為簡單,但是需要使用單片機較多的IO口資源;另一種是當CH371檢測到ALE腳上的上升沿信號后,切換到復用地址方式,寄存器地址由數據總線的D3~D0來控制,根據ALE的跳變來判斷是寄存器操作還是數據讀寫。在此設計中由于大容量數據緩沖需要使用到74373作為地址鎖存,所以即使使用直接地址方式也無需多占用單片機資源,但是為了將A3~A0節省出來驅動LED所以選用復用地址方式。
根據系統的要求我們設計硬件如下。
USB接口提供數據交換及電源供應(經適當變換后供高速AD使用),CH371在12M晶振下倍頻工作,提供與單片機接口的同時提供看門狗復位輸出功能,I2C主控功能沒有使用,A3~A0可以由計算控制驅動4只LED作為工作顯示信號。單片機89C52的P1口組用于控制數據采集模塊,包括量程轉換控制、AD觸發信號、采集數據溢出信號等;高速緩存62256通過低功耗的CPLD控制存放高速AD采集的結果,單片機定時將其中數據讀出經CH371傳送到計算機的數據顯示和分析軟件,實現虛擬示波器功能。單片機、CH371和RAM部分原理圖如下:
圖三 單片機、CH371和RAM部分原理圖
三、軟件設計
單片機端軟件:
單片機端軟件主
【基于CH371的USB接口虛擬示波器設計】相關文章:
基于UDP的網絡虛擬示波器設計03-07
基于USB接口的數據采集系統設計03-18
USB總線接口芯片CH371及其應用03-18
虛擬示波器的研究與設計03-07
基于FT245BM的簡易USB接口開發03-20
帶USB接口的電子巡更系統的設計03-18
基于USB接口的數據采集系統-GSM功率測量VC++03-08
基于USB接口的心電信號數據采集系統03-19
低軾耗數據采集系統的USB接口設計03-18