丁香婷婷网,黄色av网站裸体无码www,亚洲午夜无码精品一级毛片,国产一区二区免费播放

現(xiàn)在位置:范文先生網(wǎng)>理工論文>電子通信論文>基于USB2.0的同步高速數(shù)據(jù)采集器的設(shè)計(jì)

基于USB2.0的同步高速數(shù)據(jù)采集器的設(shè)計(jì)

時(shí)間:2023-02-20 22:34:16 電子通信論文 我要投稿
  • 相關(guān)推薦

基于USB2.0的同步高速數(shù)據(jù)采集器的設(shè)計(jì)

  摘要:介紹了一種基于USB2.0接口的同步高速數(shù)據(jù)采集的設(shè)計(jì)方案及其軟硬件的設(shè)計(jì)方法,對Cypress的USB2.0控制芯片CY7C68013和同步數(shù)據(jù)采集芯片AD7862的特性作了簡要說明,同時(shí)重點(diǎn)介紹CPIP及其驅(qū)動軟件的設(shè)計(jì)。
  關(guān)鍵詞:USB2.0EZ—USBFX2同步數(shù)據(jù)采集
  
  隨著計(jì)算機(jī)技術(shù)的迅速發(fā)展,對外部總線速度的要求越來越高。通用串行總線(UniversalSerialBus,即USB總線)憑借其即插即用、熱插拔以及較高的傳輸速率等優(yōu)點(diǎn),成為PC機(jī)與外設(shè)連接的普遍標(biāo)準(zhǔn)。在許多便攜式電腦上,已經(jīng)找不到RS-232接口。迄今為止,常用的USB總線標(biāo)準(zhǔn)有1998年發(fā)布的USBl.1版本和2000年發(fā)布的USB2.0版本。其中1.1版本支持兩種傳輸速率:1.5Mbps和12Mbps,主要應(yīng)用在低速傳輸要求的場合;而2.0版本面向高數(shù)據(jù)率傳輸?shù)膱龊,支?80Mbps的傳輸速度,并向下完全兼容USBl.1協(xié)議。在實(shí)際應(yīng)用中,通常會遇到一些突發(fā)信號,需要對其進(jìn)行高速采集,對數(shù)據(jù)進(jìn)行高速傳輸,所以USB2.0標(biāo)準(zhǔn)自然成為首選。以Cypress公司的EZ-USBFX2系列中的CY7C68013芯片作為核心控制器,設(shè)計(jì)開發(fā)了一套符合USB2.0標(biāo)準(zhǔn)的高速同步數(shù)據(jù)采集器。
  
  1CY7C68013芯片
  
  Cypress公司的EZ-USBFX2系列中的CY7C68013,是目前市面上比較少的符合USB2.0標(biāo)準(zhǔn)的USB控制器之一。與其它同類芯片相比,它提供了4KB的FIFO和一個(gè)功能十分強(qiáng)大的GPIF(GeneralProgrammableInterface)模塊。后者相當(dāng)于一個(gè)可編程狀態(tài)機(jī),正是由于它的存在,使得CY7C68013比其它同類芯片具有強(qiáng)大的互聯(lián)能力。圖1是CY7C68013芯片的結(jié)構(gòu)示意圖,其主要特點(diǎn)如下:
  
  ·CY7C68013內(nèi)部集成了一個(gè)增強(qiáng)型的51內(nèi)核,其指令集與標(biāo)準(zhǔn)的8051兼容,并且在多方面有所改進(jìn)。例如:最高工作頻率可達(dá)48MHz,一個(gè)指令周期為4個(gè)時(shí)鐘周期,兩個(gè)UART接口,三個(gè)定時(shí)計(jì)數(shù)器,一個(gè)I2C接口引擎等。
  
  ·CY7C68013提供了一個(gè)串行接口引擎(SIE),負(fù)責(zé)完成大部分USB2.0協(xié)議的處理工作,從而大大減輕了USB協(xié)議處理的工作量,并且提供了4KB的FIFO保證數(shù)據(jù)高速傳輸?shù)男枰?br />  
  ·為了滿足與各種不同類型外設(shè)的互聯(lián)需要,芯片中集成了一個(gè)GPIF模塊,讓用戶可以按照外設(shè)的時(shí)序進(jìn)行波形編輯,而不需要復(fù)雜的程序描述,就可以保證GPIF與內(nèi)部.FIFO的協(xié)調(diào)工作,實(shí)現(xiàn)芯片與高速外圍設(shè)備之間的邏輯連接和高速數(shù)據(jù)傳輸。這對于開發(fā)者來說是相當(dāng)友好的。筆者就是利用這一特性,實(shí)現(xiàn)數(shù)據(jù)的高速同步采集及傳輸。
  
  圖1
  
  2同步高速數(shù)據(jù)采集芯片AD7862
  
  2.1AD7862的結(jié)構(gòu)
  
  AD7862是AD公司推出的高速、低功耗、雙極性12位的A/D轉(zhuǎn)換芯片,其中包含了兩個(gè)獨(dú)立的快速ADC模塊(允許同時(shí)采樣和轉(zhuǎn)換兩路信號)、4路模擬輸入信號(VAl、VA2、VBl、VB2)、2.5V的內(nèi)部電壓基準(zhǔn)以及一個(gè)12位的高速并行接口。芯片正常運(yùn)行時(shí)功耗只有60mW,當(dāng)使用節(jié)電方式時(shí),只有50μW,對于自帶電源的USB設(shè)備這種低功耗無疑是一種優(yōu)點(diǎn)。該芯片的內(nèi)部結(jié)構(gòu)如圖2所示。每個(gè)ADC都有一個(gè)兩通道的多路選擇器,芯片通過地址信號A0分別選通VAl、VA2或VBl、VB2,當(dāng)一個(gè)CONVST信號到來時(shí),同時(shí)轉(zhuǎn)換地址A0選中的兩路信號。
  
  2.2AD7862的控制時(shí)序
  
  AD7862的控制時(shí)序如圖3所示。在USB2.0同步高速數(shù)據(jù)采集器中,利用GPIF實(shí)現(xiàn)圖3所示的時(shí)序控制。其中CONVST是轉(zhuǎn)換開始啟動信號,下降沿觸發(fā)兩路ADC開始裝換;BUSY信號在CONVST信號觸發(fā)后;變成并保持為高電子狀態(tài),直到兩路ADC轉(zhuǎn)換完畢,才又回到低電平;地址A0用于對兩路模擬信號的選擇,CS信號和RD信號分別是芯片使能信號以及讀允許信號。兩者第一次同為低電平時(shí),讀出第一組ADC轉(zhuǎn)換的數(shù)據(jù);在第二次為高電平時(shí),讀出第二組ADC轉(zhuǎn)換的數(shù)據(jù)。使用AD7862值得注意的一點(diǎn)是該芯片提供了電源管理功能,當(dāng)芯片將第二組數(shù)據(jù)讀出后,CONVST信號繼續(xù)保持低電平,芯片進(jìn)入休眠模式。這時(shí)芯片的功耗只有50μW。這一點(diǎn)對于現(xiàn)在的便攜式設(shè)備十分重要。
  
  3同步高速數(shù)據(jù)采集器的硬件設(shè)計(jì)
  
  傳統(tǒng)的高速數(shù)據(jù)采集卡一般都采用PCI總線設(shè)計(jì),但是筆記本電腦以及大部分便攜式設(shè)備是沒有PCI插槽的。利用USB2.0技術(shù),不僅保證了較高的數(shù)據(jù)傳輸率(傳輸率最大可以達(dá)到480Mbps),同時(shí)還具有便攜和無需外加電源等優(yōu)點(diǎn)。圖4是系統(tǒng)的結(jié)構(gòu)示意圖。它的工作原理是:在GPIF模塊的控制下,由AD7862對目標(biāo)進(jìn)行等間隔采樣,然后將采樣結(jié)果通過GPIF傳送到CY7C68013的內(nèi)部FIFO中緩存;當(dāng)采集一定量的數(shù)據(jù)后,CY7C68013自動將數(shù)據(jù)打包(不需要8051的介入),通過USB總線傳輸?shù)絇C機(jī)中進(jìn)行數(shù)據(jù)處理。由于有GPIF的硬件支持,CY7C68013中的8051內(nèi)核只是在很少的時(shí)間內(nèi),對控制進(jìn)行了輔助處理,大部分工作由GPIF硬件完成。這樣8051還可以與其他外設(shè)進(jìn)行互聯(lián)等工作。在高速數(shù)據(jù)采集器上附加了兩路
  
  
  
  RS-232接口,用于將GPS數(shù)據(jù)和高精度智能測深儀的數(shù)據(jù)中轉(zhuǎn)到主控計(jì)算機(jī)上,大大方便了新近推出的筆記本電腦與傳統(tǒng)外設(shè)之間的聯(lián)系。因?yàn)樾陆瞥龅墓P記本電腦大多不具有RS-232接口,而那些野外觀測儀器大多只能通過RS-232接口進(jìn)行數(shù)據(jù)交換。
  
  對于CY7C68013來說,其配置和固件都是軟的,存儲在外部的E2PROM中,上電時(shí)從I2C總線自動裝載到片內(nèi)RAM中,修改起來十分方便,便于固件升級。由于CY7C68013提供了豐富的I/O口,所以進(jìn)行功能擴(kuò)展也是很方便的,例如增加一個(gè)GPIB數(shù)據(jù)口等。
  
  4軟件設(shè)計(jì)
  
  USB設(shè)備的軟件設(shè)計(jì)包括三方面:固件設(shè)計(jì)、硬件驅(qū)動程序設(shè)計(jì)以及高級應(yīng)用程序的設(shè)計(jì)。
  
  4.1固件(firmware)設(shè)計(jì)
  
  Cypress公司為CY7C68013提供了一個(gè)開發(fā)框架,可以在KEILC51環(huán)境下開發(fā)。由于開發(fā)框架的引入,從而大大縮短了用戶的研發(fā)周期。該框架由以下幾部分組成:
  
  (1)FW.C中包含了程序框架的MAIN函數(shù),管理整個(gè)51內(nèi)核的運(yùn)行,因?yàn)镃ypress對這個(gè)部分的功能進(jìn)行了精心劃分,一般是不用改動的。
  
  圖3
  
  (2)用戶必須將PERIPH.C實(shí)例化,它負(fù)責(zé)系統(tǒng)周邊器件的互聯(lián)。固件的設(shè)計(jì)主要針對這個(gè)文件,用戶必須根據(jù)自己系統(tǒng)的需要,實(shí)例化這個(gè)文件,以實(shí)現(xiàn)自己的功能。在這個(gè)文件中有幾個(gè)函數(shù)是比較關(guān)鍵的,在這里做一下特別說明:
  
  ·TD_Init函數(shù),負(fù)責(zé)對USB端點(diǎn)進(jìn)行初始化設(shè)置。本設(shè)計(jì)中將端點(diǎn)6設(shè)置為1024個(gè)字節(jié),緩存深度為4級,模式設(shè)為自動輸入方式。
  
  ·TD_Poll函數(shù),負(fù)責(zé)系統(tǒng)中循環(huán)任務(wù)的處理。它主要是對各個(gè)端點(diǎn)的狀態(tài)進(jìn)行查詢,處理各種OUT或IN端點(diǎn)的交互。值得說明的一點(diǎn)是,這種處理只是輔助性質(zhì)的,大部分工作由硬件自動完成。
  
  ·DR_VendorCmnd函數(shù),主要負(fù)責(zé)用戶自定義命令的譯碼工作,用戶請求通過端點(diǎn)O傳輸給內(nèi)核。由于CY7C68013上SIE硬件的支持,用戶只需查詢固定地址單元即可獲得當(dāng)前的命令代碼。
  
  ·GPIFINIT.C,其中只有一個(gè)Gpiflnit函數(shù);它是GPIF模塊的初始化函數(shù),一般在TD_Init函數(shù)中調(diào)用。這個(gè)函數(shù)是由Cypress公司提供的一個(gè)GPIFDesigner開發(fā)工具根據(jù)用戶設(shè)計(jì)的波形生成的,用戶不需要自己設(shè)計(jì)波形查詢表,減輕了設(shè)計(jì)者的工作強(qiáng)度。
  
  ·DSCR.A51是描述表文件,負(fù)責(zé)USB設(shè)備的描述工作,CY7C68013在上電后自動利用其中的VID和PID取代默認(rèn)的VID和PID。
  
  ·兩個(gè)包含文件EZUSB.LIB和USBJMPTB.OBJ,前者是EZUSB函數(shù)庫的二進(jìn)制文件,后者是USB的中斷向量表。
  
  固件調(diào)試,使用Cypress提供的EZ-USBcontrolpanel,具體的操作讀者可以參考其自帶幫助。
  
  4.2驅(qū)動程序的設(shè)計(jì)
  
  驅(qū)動程序負(fù)責(zé)對底層硬件的訪問。在本設(shè)計(jì)的驅(qū)動程序開發(fā)中,使用的開發(fā)工具是Jungo公司的WinDriverv6.03,它支持多種操作系統(tǒng)。利用WinDriver開發(fā)的優(yōu)點(diǎn)是用戶不需要了解操作系統(tǒng)內(nèi)部的具體工作機(jī)理,同時(shí)也不需要了解各個(gè)系統(tǒng)DDK(DevelopingorDebugginginKernel)的開發(fā)工具,用戶只需使用WinDriver提供的開發(fā)平臺,即可完成驅(qū)動程序的設(shè)計(jì)工作,剩下的底層細(xì)節(jié)由WinDriver內(nèi)核統(tǒng)一處理,從而降低了對開發(fā)者編程能力的要求,同時(shí)也大大縮短了開發(fā)周期。下面就使用WinDriver開發(fā)驅(qū)動程序的步驟做一個(gè)簡要說明(以在Windows操作系統(tǒng)下的開發(fā)為例):
  
  (1)啟動WinDriver的DriverWizard工具;
  
  (2)利用DriverWizard檢測硬件是否正常;
  
  (3)在DriverWizard中選擇所使用的開發(fā)環(huán)境,這里使用VB6.0開發(fā)環(huán)境,并生成驅(qū)動程序代碼;
  
  (4)對生成的代碼進(jìn)行修改,使其符合系統(tǒng)的需要;
  
  (5)在WinDriver環(huán)境的用戶模式下,調(diào)試驅(qū)動程序;
  
  (6)如果程序需要內(nèi)核訪問,以提高驅(qū)動程序的效率,進(jìn)入內(nèi)核開發(fā)。
  
  4.3高級應(yīng)用程序的設(shè)計(jì)
  
  高級應(yīng)用程序建立在驅(qū)動程序之上,在本設(shè)計(jì)中,選用了VB6.0的開發(fā)環(huán)境來開發(fā)應(yīng)用程序。它以驅(qū)動程序?yàn)闃蛄,對USB設(shè)備進(jìn)行命令控制,處理USB設(shè)備傳回的數(shù)據(jù),例如波形顯示、頻譜分析等。開發(fā)者可以依據(jù)自己的實(shí)際需求,制作一個(gè)USB控制器的控件或數(shù)據(jù)包,在編寫應(yīng)用程序時(shí)連接或嵌入到應(yīng)用程序中。
  
  
  
  
  隨著筆記本電腦的迅速普及,高性能便攜式采集器將會倍受矚目,尤其是在RS-232接口已被大多數(shù)筆記本電腦擯棄的今天,對USB數(shù)據(jù)采集器的需求就變得更加迫切,并已顯示出了良好的市場前景。本文所述的基于USB2.0的高速同步數(shù)據(jù)采集器就其功能來說已不僅限于數(shù)據(jù)采集,應(yīng)該說是一個(gè)功能強(qiáng)大的混合信號處理器。經(jīng)過在水下機(jī)器人聲納和浙江深水網(wǎng)箱監(jiān)測設(shè)備中的使用表明數(shù)據(jù)吞吐量大、性能穩(wěn)定,達(dá)到了設(shè)計(jì)要求。只要搭配合適的傳感器以及相應(yīng)的信號調(diào)理電路,利用本文所述的高性能采集器,就可以對各種模擬量進(jìn)行采集和分析處理。如果再能夠配以合適的固件設(shè)計(jì),則完全可以構(gòu)成一個(gè)多功能控制系統(tǒng)。
  
  
  
  

【基于USB2.0的同步高速數(shù)據(jù)采集器的設(shè)計(jì)】相關(guān)文章:

基于USB2.0的高速同步數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)08-06

基于USB2.0總線的高速數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)08-06

基于Small RTOS51的數(shù)據(jù)采集器設(shè)計(jì)04-12

具有USB2.0接口的高速數(shù)據(jù)采集卡設(shè)計(jì)08-06

基于USB2.0的高速無線數(shù)傳接收設(shè)備的數(shù)據(jù)接收存儲方法08-06

基于TLC5540的高速數(shù)據(jù)采集卡設(shè)計(jì)08-06

基于USB總線的高速數(shù)據(jù)采集系統(tǒng)08-06

基于FPGA的USB2.0控制器設(shè)計(jì)08-06

USB2.0接口和DSP構(gòu)成的高速數(shù)據(jù)采集系統(tǒng)08-06