《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > 基于USB2.0的同步高速數據采集器的設計

基于USB2.0的同步高速數據采集器的設計

2008-08-11
作者:梁鴻翔 王潤田

??? 摘 要: 介紹了一種基于USB2.0接口的同步高速數據采集的設計方案及其軟硬件的設計方法,對Cypress的USB2.0控制芯片CY7C68013和同步數據采集芯片AD7862的特性作了簡要說明,同時重點介紹GPIF及其驅動軟件的設計。
??? 關鍵詞: USB2.0? EZ-USB FX2? 同步數據采集

?

??? 隨著計算機技術的迅速發展,對外部總線速度的要求越來越高。通用串行總線(Universal Serial Bus,即USB總線)憑借其即插即用、熱插拔以及較高的傳輸速率等優點,成為PC機與外設" title="外設">外設連接的普遍標準。在許多便攜式電腦上,已經找不到RS-232接口。迄今為止,常用的USB總線標準有1998年發布的USB1.1版本和2000年發布的USB2.0版本。其中1.1版本支持兩種傳輸速率:1.5Mbps和12Mbps,主要應用在低速傳輸要求的場合;而2.0版本面向高數據率傳輸的場合,支持480Mbps的傳輸速度,并向下完全兼容USB1.1協議。在實際應用中,通常會遇到一些突發信號,需要對其進行高速采集,對數據進行高速傳輸,所以USB2.0標準自然成為首選。以Cypress公司的EZ-USB FX2系列中的CY7C68013芯片作為核心控制器,設計開發了一套符合USB2.0標準的高速同步數據采集器" title="數據采集器">數據采集器。
1 CY7C68013芯片
??? Cypress公司的EZ-USB FX2系列中的CY7C68013,是目前市面上比較少的符合USB2.0標準的USB控制器之一。與其它同類芯片相比,它提供了4KB的FIFO和一個功能十分強大的GPIF(General Programmable Interface)模塊。后者相當于一個可編程狀態機,正是由于它的存在,使得CY7C68013比其它同類芯片具有強大的互聯" title="互聯">互聯能力。圖1是CY7C68013芯片的結構示意圖,其主要特點如下:
??? ·CY7C68013內部集成了一個增強型的51內核,其指令集與標準的8051兼容,并且在多方面有所改進。例如:最高工作頻率可達48MHz,一個指令周期為4個時鐘周期,兩個UART接口,三個定時計數器,一個I2C接口引擎等。
??? ·CY7C68013提供了一個串行接口引擎(SIE),負責完成大部分USB2.0協議的處理工作,從而大大減輕了USB協議處理的工作量,并且提供了4KB的FIFO保證數據高速傳輸的需要。
??? ·為了滿足與各種不同類型外設的互聯需要,芯片中集成了一個GPIF模塊,讓用戶可以按照外設的時序進行波形編輯,而不需要復雜的程序描述,就可以保證GPIF與內部FIFO的協調工作,實現芯片與高速外圍設備之間的邏輯連接和高速數據傳輸。這對于開發者來說是相當友好的。筆者就是利用這一特性,實現數據的高速同步采集及傳輸。

?


2 同步高速數據采集芯片AD7862
2.1? AD7862的結構

??? AD7862是AD公司推出的高速、低功耗、雙極性12位的A/D轉換芯片,其中包含了兩個獨立的快速ADC模塊(允許同時采樣和轉換兩路信號)、4路模擬輸入信號(VA1、VA2、VB1、VB2)、2.5V的內部電壓基準以及一個12位的高速并行接口。芯片正常運行時功耗只有60mW,當使用節電方式時,只有50μW,對于自帶電源的USB設備這種低功耗無疑是一種優點。該芯片的內部結構如圖2所示。每個ADC都有一個兩通道的多路選擇器,芯片通過地址信號A0分別選通VA1、VA2 或 VB1、VB2,當一個CONVST信號到來時,同時轉換地址A0選中的兩路信號。

?


2.2? AD7862的控制時序
??? AD7862的控制時序如圖3所示。在USB2.0同步高速數據采集器中,利用GPIF實現圖3所示的時序控制。其中CONVST是轉換開始啟動信號,下降沿觸發兩路ADC開始裝換;BUSY信號在CONVST信號觸發后,變成并保持為高電平狀態,直到兩路ADC轉換完畢,才又回到低電平;地址A0用于對兩路模擬信號的選擇,CS信號和RD信號分別是芯片使能信號以及讀允許信號。兩者第一次同為低電平時,讀出第一組ADC轉換的數據;在第二次為高電平時,讀出第二組ADC轉換的數據。使用AD7862值得注意的一點是該芯片提供了電源管理功能,當芯片將第二組數據讀出后,CONVST信號繼續保持低電平,芯片進入休眠模式。這時芯片的功耗只有50μW。這一點對于現在的便攜式設備十分重要。

?


3 同步高速數據采集器的硬件設計
??? 傳統的高速數據采集卡一般都采用PCI總線設計,但是筆記本電腦以及大部分便攜式設備是沒有PCI插槽的。利用USB2.0技術,不僅保證了較高的數據傳輸率(傳輸率最大可以達到480Mbps),同時還具有便攜和無需外加電源等優點。圖4是系統的結構示意圖。它的工作原理是:在GPIF模塊的控制下,由AD7862對目標進行等間隔采樣,然后將采樣結果通過GPIF傳送到CY7C68013的內部FIFO中緩存;當采集一定量的數據后,CY7C68013自動將數據打包(不需要8051的介入),通過USB總線傳輸到PC機中進行數據處理。由于有GPIF的硬件支持,CY7C68013中的8051內核只是在很少的時間內,對控制進行了輔助處理,大部分工作由GPIF硬件完成。這樣8051還可以與其他外設進行互聯等工作。在高速數據采集器上附加了兩路RS-232接口,用于將GPS數據和高精度智能測深儀的數據中轉到主控計算機上,大大方便了新近推出的筆記本電腦與傳統外設之間的聯系。因為新近推出的筆記本電腦大多不具有RS-232接口,而那些野外觀測儀器大多只能通過RS-232接口進行數據交換。

?


??? 對于CY7C68013來說,其配置和固件" title="固件">固件都是軟的,存儲在外部的E2PROM中,上電時從I2C總線自動裝載到片內RAM中,修改起來十分方便,便于固件升級。由于CY7C68013提供了豐富的I/O口,所以進行功能擴展也是很方便的,例如增加一個GPIB數據口等。
4 軟件設計
??? USB 設備的軟件設計包括三方面:固件設計、硬件驅動程序設計以及高級應用程序" title="應用程序">應用程序的設計。
4.1 固件(firmware)設計
??? Cypress公司為CY7C68013提供了一個開發框架,可以在 KEIL C51環境下開發。由于開發框架的引入,從而大大縮短了用戶的研發周期。該框架由以下幾部分組成:
??? (1)FW.C中包含了程序框架的MAIN函數,管理整個51內核的運行,因為Cypress對這個部分的功能進行了精心劃分,一般是不用改動的。
??? (2)用戶必須將PERIPH.C實例化,它負責系統周邊器件的互聯。固件的設計主要針對這個文件,用戶必須根據自己系統的需要,實例化這個文件,以實現自己的功能。在這個文件中有幾個函數是比較關鍵的,在這里做一下特別說明:
??? ·TD_Init 函數,負責對USB端點進行初始化設置。本設計中將端點6設置為1024個字節,緩存深度為4級,模式設為自動輸入方式。
??? ·TD_Poll 函數,負責系統中循環任務的處理。它主要是對各個端點的狀態進行查詢,處理各種 OUT或IN端點的交互。值得說明的一點是,這種處理只是輔助性質的,大部分工作由硬件自動完成。
??? ·DR_VendorCmnd 函數,主要負責用戶自定義命令的譯碼工作,用戶請求通過端點0傳輸給內核。由于CY7C68013上SIE硬件的支持,用戶只需查詢固定地址單元即可獲得當前的命令代碼。
??? ·GPIFINIT.C ,其中只有一個GpifInit函數,它是GPIF模塊的初始化函數,一般在TD_Init 函數中調用。這個函數是由Cypress公司提供的一個GPIF Designer開發工具根據用戶設計的波形生成的,用戶不需要自己設計波形查詢表,減輕了設計者的工作強度。
??? ·DSCR.A51是描述表文件,負責USB設備的描述工作,CY7C68013在上電后自動利用其中的VID和PID取代默認的VID和PID。
??? ·兩個包含文件EZUSB.LIB和USBJMPTB.OBJ,前者是EZUSB函數庫的二進制文件,后者是USB的中斷向量表。
??? 固件調試,使用Cypress提供的EZ-USB control panel,具體的操作讀者可以參考其自帶幫助。
4.2 驅動程序的設計
??? 驅動程序負責對底層硬件的訪問。在本設計的驅動程序開發中,使用的開發工具是Jungo公司的WinDriver v6.03,它支持多種操作系統。利用WinDriver開發的優點是用戶不需要了解操作系統內部的具體工作機理,同時也不需要了解各個系統DDK (Developing or Debugging in Kernel)的開發工具,用戶只需使用WinDriver提供的開發平臺,即可完成驅動程序的設計工作,剩下的底層細節由WinDriver內核統一處理,從而降低了對開發者編程能力的要求,同時也大大縮短了開發周期。下面就使用WinDriver開發驅動程序的步驟做一個簡要說明(以在Windows操作系統下的開發為例):
??? (1)啟動 WinDriver的DriverWizard工具;
??? (2)利用 DriverWizard 檢測硬件是否正常;
??? (3)在DriverWizard 中選擇所使用的開發環境,這里使用VB6.0開發環境,并生成驅動程序代碼;
??? (4)對生成的代碼進行修改,使其符合系統的需要;
??? (5)在WinDriver環境的用戶模式下,調試驅動程序;
??? (6)如果程序需要內核訪問,以提高驅動程序的效率,進入內核開發。
4.3? 高級應用程序的設計
??? 高級應用程序建立在驅動程序之上,在本設計中,選用了VB6.0的開發環境來開發應用程序。它以驅動程序為橋梁,對USB設備進行命令控制,處理USB設備傳回的數據,例如波形顯示、頻譜分析等。開發者可以依據自己的實際需求,制作一個USB控制器的控件或數據包,在編寫應用程序時連接或嵌入到應用程序中。
?? ?隨著筆記本電腦的迅速普及,高性能便攜式采集器將會倍受矚目,尤其是在RS-232接口已被大多數筆記本電腦擯棄的今天,對USB數據采集器的需求就變得更加迫切,并已顯示出了良好的市場前景。本文所述的基于USB2.0的高速同步數據采集器就其功能來說已不僅限于數據采集,應該說是一個功能強大的混合信號處理器。經過在水下機器人聲納和浙江深水網箱監測設備中的使用表明數據吞吐量大、性能穩定,達到了設計要求。只要搭配合適的傳感器以及相應的信號調理電路,利用本文所述的高性能采集器,就可以對各種模擬量進行采集和分析處理。如果再能夠配以合適的固件設計,則完全可以構成一個多功能控制系統。
參考文獻
1 Cypress Semiconductor Corporation. EZ-USB FX2 Manual?Technical Reference Version 2.1. Copyright (c) 2000, 2001
2 Anchor Chips, Inc. Anchor EZ-USB Frameworks. Copyright?(c) 1998
3 Jungo Ltd. WinDriver v6.03 User's Guide. 2003

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 120秒在线观看免费 128tv在线观看 | 成人片在线视频 | 无遮挡1000部拍拍拍免费观看 | 亚洲热久久| 一级黄色片欧美 | 小优视频在线观看网 | 国产黄色高清视频 | 亚洲成人黄色在线观看 | 青草视频在线观看视频 | 美妇乱人伦小说目录 | 欧美成人免费午夜全 | www日韩在线 | 午夜视频免费观看黄 | 91短视频在线观看免费最新 | 黄色香蕉网站 | 免费观看黄色a一级视频播放 | 亚洲综合在线网 | 深夜释放自己糖心vlog | 国产高清网站 | 波多野结衣视频在线观看 | 亚洲欧美日产综合一区二区三区 | 亚洲无砖砖区免费 | 日本不卡二区 | 亚洲精品午夜国产va久久 | 黄色毛片网站 | 性xxx视频在线观看 性国产videofree另类 | 欧美人成片免费看视频不卡 | 中国免费毛片 | 一个人晚上在线观看的免费视频 | 成人免费大片黄在线观看com | 欧美激情精品久久久久久不卡 | 第一福利官方导航大全 | 一区二区在线观看视频 | 久久精品香蕉视频 | 国产成人精品一区二三区2022 | 嗯啊在线观看免费影院 | 欧美极品欧美精品欧美视频 | 成人欧美网站 | 天天爱添天天爱添天天爱添 | 久久久99精品免费观看精品 | 黄污视频|