基于USB的高速數(shù)據(jù)采集卡的設(shè)計(jì)_第1頁(yè)
基于USB的高速數(shù)據(jù)采集卡的設(shè)計(jì)_第2頁(yè)
基于USB的高速數(shù)據(jù)采集卡的設(shè)計(jì)_第3頁(yè)
基于USB的高速數(shù)據(jù)采集卡的設(shè)計(jì)_第4頁(yè)
基于USB的高速數(shù)據(jù)采集卡的設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第一章緒論課題背景口一般承受ISA、PCI、CPCI、1394等標(biāo)準(zhǔn),基于這些接口的產(chǎn)品,安裝麻煩,USB的消滅輸速率,可擴(kuò)展性好,承受總線供電,使用靈敏。它共有4種傳輸模式:把握傳輸、同步傳輸、中斷傳輸、批量傳輸,以適應(yīng)不同設(shè)備的需要。裝的簡(jiǎn)易性也成為人們關(guān)注的目標(biāo)。USB通訊技術(shù)的消滅,使高傳輸速度、強(qiáng)糾USB設(shè)備需要依據(jù)USB梁。驅(qū)動(dòng)程序以WDM為模型,以DDK為開(kāi)發(fā)工具,以IRP為消息傳播載體,來(lái)實(shí)現(xiàn)與Windows系統(tǒng)底層核心機(jī)制相交互的功能。課題的提出RS232越來(lái)越多的廠商和用戶所承受,消滅了USB打印機(jī)、攝像頭等產(chǎn)品。盡管目前USB接口的應(yīng)用主要集中在電腦的周邊外設(shè),但是USB產(chǎn)品進(jìn)入工控領(lǐng)域?qū)⑹潜囟–ypressCY7C6801389C51USB有確定的現(xiàn)實(shí)意義和經(jīng)濟(jì)意義的。USB通用串行總線(UniversalSerialBus,簡(jiǎn)稱USB)是康柏、微軟、IBM,DEC1995PCPCUSBUSB速度快。USB有全速和低速兩種方式,主模式為全速模式,速率為12Mbps,從而使一些要求高速數(shù)據(jù)的外設(shè),如:高速硬盤(pán)、攝像頭等,都能統(tǒng)一,USB1.5Mbps。480Mbps適應(yīng)各種不同類型的外設(shè)。表1-1USB使用分類表性能 應(yīng)用低速 鍵盤(pán)、鼠標(biāo)、玩耍棒

特性·交互設(shè)備·10-20kb/s中速·、音頻、壓縮視頻·500kb/s-10Mb/s

用性ISBN、PBX、POTS 低價(jià)格易用性動(dòng)態(tài)插拔、限定帶寬和延遲高速·音頻、磁盤(pán)·25-500Mb/s

音頻、磁盤(pán)

高帶寬、限定延遲、易用性來(lái)設(shè)置的外設(shè)。易于擴(kuò)展。USB使用的是一種易于擴(kuò)展的樹(shù)狀構(gòu)造,通過(guò)使用USBHub擴(kuò)展可連接多達(dá)127個(gè)外設(shè)。標(biāo)準(zhǔn)USB電纜長(zhǎng)度為3米(低速為5米)。通過(guò)Hub或中繼器可以使外設(shè)距離到達(dá)30米。使用靈敏。USB4種傳輸模式:把握傳輸(control),步傳輸需要。而USB設(shè)備則不需要,由于USB接口供給了內(nèi)置電源eUSB電源能向低壓設(shè)備供給最大5V,500mA的電源,從而降低了這些設(shè)備的本錢(qián)并提高了性價(jià)比。實(shí)現(xiàn)本錢(qián)低。USB對(duì)系統(tǒng)與PC的集成進(jìn)展了優(yōu)化,適合于開(kāi)發(fā)低本錢(qián)的外設(shè)。本文設(shè)計(jì)的基于USB總線的數(shù)據(jù)采集系統(tǒng)正是充分地利用了USB總線的上述優(yōu)高牢靠性、實(shí)時(shí)的數(shù)據(jù)采集,適用于對(duì)瞬態(tài)信號(hào)進(jìn)展采集和處理。主要工作本論文所設(shè)計(jì)的數(shù)據(jù)采集系統(tǒng)是在單片機(jī)89C51把握下進(jìn)展數(shù)據(jù)采集,并通過(guò)Cypress公司的EZ-USBFX2單片機(jī)CY7C68013上傳給PC機(jī)進(jìn)展分析、顯示和存盤(pán)。該系統(tǒng)用傳統(tǒng)的USB總線取代了RS232串行總線,通過(guò)對(duì)USB協(xié)議和設(shè)備構(gòu)架的充分理解,對(duì)以單片機(jī)89C51和USB接口芯片CY7C68013為主的數(shù)據(jù)采集系統(tǒng)進(jìn)展要解決的是CY7C68013充分了解D12的主要功能特點(diǎn),為滿足CY7C68013在USB上的最大傳輸速率而編寫(xiě)C51語(yǔ)言編寫(xiě):二是在充分了解WDM驅(qū)動(dòng)程序的根底上編寫(xiě)USB的設(shè)備體系概述

USB協(xié)議USB體系一般分為三局部:USB主機(jī)(USBHOST),USB集線器(usBUSB器上,只需用集線器(HUB)NODEUSB2-1USB2-1USBUSBUSBUSB.治理在主機(jī)和USB設(shè)備之間的把握流;.治理在主機(jī)和USB設(shè)備之間的數(shù)據(jù)流;.收集狀態(tài)和動(dòng)作信息;USB主機(jī)上USBUSB用,USB.設(shè)備編號(hào)和設(shè)置;.同步數(shù)據(jù)傳輸;.異步數(shù)據(jù)傳輸;.電源治理;.設(shè)備和總線治理信息。USBUSBUSB連接每個(gè)集線器的上游端口向主機(jī)方向進(jìn)展連接每個(gè)集線器的下游端口允許連接另外的集線器或功能部件,集線器可檢測(cè)每個(gè)下游端口的設(shè)備的安裝或拆卸,并可對(duì)下游端口的設(shè)備安排能源每個(gè)下游端口都具有獨(dú)立的力氣,不管高速或低速設(shè)備均可連接集線器可將低速和高速端口的信號(hào)分開(kāi)。 一個(gè)集線器包括兩局部:集線把握器(Controller)和集線放大器(Repeater).集線放大器游端口和下游端口之間的協(xié)議把握開(kāi)關(guān)而且硬件上支持復(fù)位掛起、喚醒的信號(hào)集線把握器供給了接口存放器用于與主機(jī)之間的通信而且集線把握器允許主機(jī)對(duì)其特定狀態(tài)和把握命令進(jìn)展設(shè)置,并監(jiān)視和把握其端口。USBUSBUSBUSBUSB連在其上。每個(gè)USB設(shè)備都包含設(shè)置信息,來(lái)描述該設(shè)備的性能和所需資源。主機(jī)要USB設(shè)USBUSBUSB鼠標(biāo)或光筆、鍵盤(pán)等。USB的互連一個(gè)USB系統(tǒng)主要被定義為三個(gè)局部:·USB·USB·USB以下幾方面:·總線的拓?fù)錁?gòu)造:USB層次;方式;·USB的調(diào)度:USB供給了一個(gè)共享的連接。對(duì)可以使用的連接進(jìn)展了調(diào)度以支持同步數(shù)據(jù)傳輸,并且避開(kāi)的優(yōu)先級(jí)判別的開(kāi)銷??偩€拓樸構(gòu)造包括四個(gè)重要的組成局部?!ぶ鳈C(jī)和設(shè)備:USB·USBUSB以及從應(yīng)用層看到的客戶軟件層的狀況。USB2-1。主機(jī)主機(jī)設(shè)備HUB設(shè)備復(fù)合設(shè)備HUBHUB設(shè)備設(shè)備設(shè)備設(shè)備2—1USBHubUSBUSB接點(diǎn)。為了防止環(huán)狀連接,承受星形連接來(lái)表達(dá)層次性,如圖4-5。這種連接的外形很像一棵樹(shù)。用于供給具體功能的設(shè)備叫應(yīng)用設(shè)備。很多不同功能的設(shè)備放在一起的內(nèi)部,供給具體功能的設(shè)備被永久地接到Hub上,而這個(gè)Hub被接到USBHubHub又被看作這個(gè)復(fù)合設(shè)備的內(nèi)部Hub。在主機(jī)看來(lái),這個(gè)復(fù)合設(shè)備和一個(gè)帶著假設(shè)干設(shè)備的單獨(dú)Hub是一樣的。圖中也標(biāo)出了一個(gè)復(fù)合設(shè)備??偩€規(guī)律拓樸構(gòu)造。在物理構(gòu)造上,設(shè)備通過(guò)Hub連到主機(jī)上。但在機(jī)上一樣。這個(gè)規(guī)律關(guān)系如圖2-2所示。與之對(duì)應(yīng)的物理構(gòu)造就是圖2-1Hub也是規(guī)律設(shè)備,但在圖2-2中,為了簡(jiǎn)化起見(jiàn),未被畫(huà)出,雖然USB系統(tǒng)中的工作都是從規(guī)律角度來(lái)對(duì)待的,但主機(jī)必需對(duì)物理構(gòu)造Hub被移去的狀況時(shí),當(dāng)一個(gè)Hub被移出,通過(guò)它與主機(jī)相連的設(shè)備也應(yīng)一起被移去,這是由其物理構(gòu)造打算的。主機(jī)主機(jī)規(guī)律設(shè)備圖2-2USB規(guī)律總線的拓?fù)淇蛻糗浖优c應(yīng)用層的關(guān)系USB應(yīng)用設(shè)備的客戶軟件只關(guān)心設(shè)備上與它相關(guān)的接口,客戶軟件必需通過(guò)2-3的關(guān)系的視圖。客戶軟件應(yīng)用客戶軟件客戶軟件應(yīng)用客戶軟件應(yīng)用客戶軟件應(yīng)用USB的主機(jī)

圖2-3客戶軟件和應(yīng)用間的關(guān)系USB主機(jī)概述2-4USB客戶客戶功能部件USBUSB系統(tǒng)USB設(shè)備主機(jī)把握器主機(jī)把握器USB總線接口規(guī)律的信息流實(shí)際的信息流規(guī)律的信息流實(shí)際的信息流2-4通信模型層次關(guān)系圖2-4USB之間存在規(guī)律的主機(jī)-設(shè)備信息流。主機(jī)上的客戶軟件和設(shè)備功能部件之間的通信是基于實(shí)際的應(yīng)用需求及設(shè)備所能供給的力氣。2-5客戶〔治理界面〕IRPS客戶〔治理界面〕IRPS配置信息〔到某一接口〕USB驅(qū)動(dòng)器主機(jī)軟件USB系統(tǒng)硬件定義主機(jī)把握器驅(qū)動(dòng)〔到缺省端口地址〕主機(jī)把握器硬件定義SIEUSB通道,代表相應(yīng)層圖2-5 主機(jī)通信圖主機(jī)在整個(gè)USB系統(tǒng)中是唯一的,它包括如下幾個(gè)層次?!SB·USB(USBSystem)·USB(Client)USBUSB連接。USB交互。這包括附加的USBUSBUSB系統(tǒng)資源,以使得客戶的訪問(wèn)成為可能。USB·主機(jī)把握器驅(qū)動(dòng)·USB·主機(jī)軟件進(jìn)展通信。USBHCDUSB間的接口稱為主機(jī)把握器驅(qū)動(dòng)接口(HostControllerDriverInterfaceUSBHCDI一特定通道來(lái)傳輸數(shù)據(jù)。另外,USBD為它的客戶供給一個(gè)簡(jiǎn)潔被支配及USBD擁有標(biāo)準(zhǔn)通道對(duì)設(shè)備USBD2-5)USBDI。能直接訪問(wèn)設(shè)備的硬件??偠灾?,主機(jī)可供給如下的功能:·USB·治理主機(jī)與設(shè)備之間的標(biāo)準(zhǔn)把握流?!ぶ卫碇鳈C(jī)與設(shè)備之間的數(shù)據(jù)流?!な占癄顟B(tài)及一些活動(dòng)的統(tǒng)計(jì)數(shù)字?!ぐ盐罩鳈C(jī)把握器與USB設(shè)備的電氣接口,包括供給有限的能源。USB驅(qū)動(dòng)(USBD)USBD供給了供操作系統(tǒng)組件特別是設(shè)備驅(qū)動(dòng)程序訪問(wèn)設(shè)備的一組接USB。USBDHCD,HCDUSBDUSBDUSBUSBDUSBD客戶供給兩組工具。命令工具和通道工具。USB命令工具供給了對(duì)設(shè)備標(biāo)準(zhǔn)通道的全部訪問(wèn)。道工具不允客戶直接訪問(wèn)設(shè)備的標(biāo)準(zhǔn)通道。通道通道接口2-6USBD通道通道接口信配問(wèn)設(shè)理總能息置備線量和管數(shù)設(shè)控流理?yè)?jù)備制訪管命令接口效勞主機(jī)把握 主機(jī)把握器驅(qū)動(dòng) 器驅(qū)動(dòng)主機(jī)把握器 主機(jī)把握器圖2-6 USB驅(qū)動(dòng)構(gòu)造USBDUSBUSBUSBUSB址被修改成一個(gè)唯一的地址。USBD的通道之間還存在確定的差異:·USBD·USBD是它們不能由客戶直接訪問(wèn)的。USBDUSBD·通過(guò)命令工具配置設(shè)備·通過(guò)命令工具及通道工具供給傳輸效勞·大事通知·狀態(tài)報(bào)告及錯(cuò)誤恢復(fù)USBDUSBD命令工具允許客戶訪問(wèn)設(shè)備。通常,這些命令允許客戶以讀寫(xiě)相關(guān)數(shù)據(jù)緩沖區(qū)或空緩沖區(qū)指針。USBD配置設(shè)施大局部使用是用命令傳輸。下面的是有關(guān)命令工具供給的功能:接口狀態(tài)把握USBD客戶必需能夠設(shè)置具體的接口。接口狀態(tài)的轉(zhuǎn)變使得全部與該或廢棄。通道狀態(tài)把握USBD·主機(jī)狀態(tài)?!し从车亩丝跔顟B(tài)。狀態(tài),且客戶能夠與端口交互以轉(zhuǎn)變它狀態(tài)。獵取描述碼USBD備類或者廠商定義的描述符的功能。取得當(dāng)前配置參數(shù)USBD供給取得任何設(shè)備當(dāng)前配置參數(shù)的描述符的功能。假設(shè)設(shè)備沒(méi)當(dāng)前配置的描述符。返回的配置信息中包括如下一些內(nèi)容:·返回接口的當(dāng)前的配置的描述符。柄。·接口當(dāng)前配置中的某一端口的最大允許包長(zhǎng)。大包長(zhǎng)的值的機(jī)制。增加設(shè)備器能通知USBD并能取得該USB設(shè)備的USBD標(biāo)識(shí)。USBD的任務(wù)包括安排設(shè)備地址并且為設(shè)備預(yù)備使用的標(biāo)準(zhǔn)通道。設(shè)備斷開(kāi)USBDIUSBD已斷開(kāi)。治理狀態(tài)功能。向設(shè)備發(fā)送與設(shè)備類有關(guān)的命令USBDUSBD種機(jī)制向設(shè)備送出一個(gè)或多個(gè)設(shè)備類命令。向設(shè)備發(fā)送特別的廠商定義的命令客戶使用USBDI令。更改接口配置空閑的。創(chuàng)立設(shè)備配置的數(shù)據(jù)緩沖區(qū)。USBD依據(jù)供給的配置信息為設(shè)備端口懇求資源。假設(shè)全部的資源懇求都得到滿足,USBD設(shè)置設(shè)備配置參數(shù),并且返回當(dāng)前設(shè)備置可使用缺省參數(shù)。設(shè)置描述符,USBDI允許升級(jí)設(shè)備上的描述符或者增加的描述符。USBD通道設(shè)施USBD的通道設(shè)施使客戶與設(shè)備之間高速的低附加信息的數(shù)據(jù)傳輸成直接。通道設(shè)施不允許訪問(wèn)設(shè)備的標(biāo)準(zhǔn)通道。USBDUSBD資源。當(dāng)特定的接口或通道空閑的時(shí)候,客戶可以更改配置。據(jù)的數(shù)量及質(zhì)量。依據(jù)所支持的數(shù)據(jù)傳輸類型,USBD共有四種通道類型:把握傳輸、同步數(shù)據(jù)傳輸、中斷傳輸、塊傳輸。USB設(shè)備USB·底層是傳送和接收數(shù)據(jù)包的總線接口結(jié)供給處或使用處,它可被看作數(shù)據(jù)源或數(shù)據(jù)接收端(Sink)·ISDNUSB設(shè)備狀態(tài)USB與主機(jī)(host)來(lái)說(shuō)是外USB2-1描述的就是這些外置狀態(tài)之間的轉(zhuǎn)化關(guān)系。表2-1外呈(可見(jiàn))的設(shè)備狀態(tài)連加缺編配掛說(shuō)明接電省址置起不_ 設(shè)備尚未連接至接口.其他特性無(wú)關(guān)是不__ 設(shè)備已連接至接口,但未加電.其他特性無(wú)關(guān).是是不 _ 位.是是是不 設(shè)備已連接至接口,已加電.并被復(fù)位.但尚未安排地址.設(shè)備在缺省地址處可尋址.是是是是不_配了唯一地址.尚未被配置.是是是是是不配了唯一地址,并被配置.設(shè)備功能可被使用.是是 是設(shè)備在至少3毫秒以內(nèi)探測(cè)不到總線活動(dòng),自動(dòng)進(jìn)如掛起.設(shè)備功能不行用.通用USB設(shè)備操作全部的USB設(shè)備支持通用的操作集,下面簡(jiǎn)要地描述這些操動(dòng)態(tài)插接與拔開(kāi)線器應(yīng)當(dāng)負(fù)責(zé)匯報(bào)端口的狀態(tài)轉(zhuǎn)變狀況。USB·USB·沒(méi)有被配置·初始狀態(tài)不是掛起效,并且通知主機(jī)設(shè)備已移去。地址安排個(gè)操作是在設(shè)備復(fù)位及端口使能操作以后。配置USB的話會(huì)選擇適宜的接口的備選設(shè)置。相關(guān)端結(jié)點(diǎn)通信的協(xié)議以及接口內(nèi)各端結(jié)點(diǎn)的目的可以作為一個(gè)設(shè)備類的一局部或者由廠商制定具體定義。GetInterface(接口懇求)與SetInterface(接口設(shè)置)懇求,來(lái)匯報(bào)及選擇指定的接口的設(shè)備選設(shè)置。數(shù)據(jù)傳送USB但一旦設(shè)置選定,傳送方式就選定了。電源治理USB總線電源是一個(gè)有限的資源,在設(shè)備標(biāo)識(shí)階段,主機(jī)估測(cè)電源的選擇那個(gè)配置。7USBUSB的遠(yuǎn)程喚醒力氣應(yīng)能被制止的。懇求處理SetAddress()懇求以外,在安裝完成返回ACK集線器端口的復(fù)位至少需10ms來(lái)完成。當(dāng)端口復(fù)位產(chǎn)生時(shí),SetPortFeature(PORT-RESET)懇求錯(cuò)誤傳輸階段或狀態(tài)交換階段返回一個(gè)說(shuō)明錯(cuò)誤的STALLPID信號(hào),一般在下一個(gè)數(shù)據(jù)傳輸返回更好,這樣可削減不必要的總線活動(dòng)。USB設(shè)備懇求USB這些懇求是通過(guò)使用把握傳輸來(lái)到達(dá)的,懇求及懇求的參數(shù)通過(guò)Setup包發(fā)向設(shè)備,由主機(jī)負(fù)責(zé)設(shè)置Setup包內(nèi)的每個(gè)域的值。每個(gè)Setup包有8個(gè)字節(jié)。見(jiàn)表2-2。表2-2Setup數(shù)據(jù)包的格式偏移量域大小值描述bmRequest1位圖懇求特征:TypeD7:傳輸方向0=主機(jī)至設(shè)備01=設(shè)備至主機(jī)D6..5:種類0=標(biāo)準(zhǔn)1=類2=廠商3=保存D4..0:承受者0=設(shè)備1=接口2=端點(diǎn)3=其他1bRequest1值4..31=保存具體懇求2wValue2值求含義轉(zhuǎn)變.4wIndex2索引或偏移求含義轉(zhuǎn)變.典型用于傳送索引或偏移.6wLength2為數(shù)據(jù)字節(jié)數(shù).USB的物理層USB的物理接口包括電氣特性和機(jī)械特性。USB通過(guò)一個(gè)四線電纜來(lái)傳輸信號(hào)與電源如圖2-7所示。圖2-7USB電纜定義和D-是一對(duì)差模的信號(hào)線而VBus和GND則供給了5V的電源它可以給一些設(shè)備(包括Hub)供電固然要有確定的條件限制。USB1.1供給了兩種數(shù)據(jù)傳輸率一種是12Mb的高速模式,另一種是USB速模式主要是為了降低要求不高的設(shè)備的本錢(qián),比方鼠標(biāo)、鍵盤(pán)等等。USB信號(hào)線在高速模式下必需使用帶有屏蔽的雙絞線,而且最長(zhǎng)不能能超過(guò)30m。這主要是由于信號(hào)衰減的限制,為了供給信號(hào)電壓保證以及低速設(shè)備。證了不會(huì)有非法的連接消滅。插頭與插座有兩個(gè)系列分別為A和B系列,A用于根本固定的外圍設(shè)備,而系列B用于常常拔插的設(shè)備,這兩個(gè)系列是不能互換的。USB數(shù)據(jù)流從規(guī)律上講USB數(shù)據(jù)的傳輸是通過(guò)管道進(jìn)展的。圖2-6描述了USB數(shù)據(jù)USB系統(tǒng)軟件通過(guò)缺省管道(與端點(diǎn)0接口(USBdriverinterface)的調(diào)用發(fā)出輸入輸出懇求(IRPI/ORequestPacket);USB驅(qū)動(dòng)程序接到懇求后,調(diào)用HCD接口(hostcontrollerdriverinterface),將IRP轉(zhuǎn)化為USB的IRP可以包含一個(gè)或多個(gè)USBHCD將USB傳輸分解為總由主機(jī)開(kāi)頭的,任何外設(shè)都無(wú)權(quán)開(kāi)頭一個(gè)傳輸。是由操作系統(tǒng)定義的,而USB傳輸與總線操作是USB標(biāo)準(zhǔn)定義的。為了進(jìn)一步說(shuō)明USB傳輸,我們引出幀(frame)的概念。幀:USB總線將1ms定義為一幀,每幀以一個(gè)SOF包為起始,在這1ms里,USB進(jìn)展一系列的總線操作。引入幀的概念主要是為了支持與時(shí)間有USB向、數(shù)據(jù)包涵量限制、總線訪問(wèn)限制等方面有著各自不同的特征。把握傳輸(ControlTransfer)通常用于配置/命令/狀態(tài)等情形;(setup)和狀態(tài)操作(status)的數(shù)據(jù)包,具有USB定義的構(gòu)造,因此把握傳輸只能通過(guò)消息管道進(jìn)展;支持雙向傳輸;應(yīng)用ClientSW治理一個(gè)接口應(yīng)用ClientSW治理一個(gè)接口X到一個(gè)接接口的集合口的通道束與接口無(wú)緩沖沒(méi)有USB有關(guān)USB格式USBSystemSW治理設(shè)備00USB規(guī)律設(shè)備缺省通道事務(wù)USB幀格式每個(gè)端USBUSB設(shè)備幀構(gòu)的USB幀格式的數(shù)據(jù)S接口點(diǎn)的數(shù)結(jié)器USB總線接口據(jù)數(shù)據(jù)事務(wù)USBSIE主機(jī)SIE物理設(shè)備USB電氣的,電氣的,的抽象。數(shù)據(jù)傳遞機(jī)制 被傳遞的數(shù)據(jù)2-8USB對(duì)于高速設(shè)備允許數(shù)據(jù)包最大容量為或64速設(shè)備只有8字節(jié)一種選擇;系統(tǒng)軟件會(huì)做出限制;同步傳輸(IsochronousTransfer)息的傳輸;數(shù)據(jù)沒(méi)有USB定義的構(gòu)造數(shù)據(jù)流管道;只能用于高速設(shè)備,數(shù)據(jù)包的最大容量可以從0到1023個(gè)字節(jié);幀傳輸一個(gè)數(shù)據(jù)包;沒(méi)有數(shù)據(jù)重發(fā)機(jī)制要求,具有確定的容錯(cuò)性;90%。中斷傳輸(InterruptTransfer)標(biāo)等;數(shù)據(jù)沒(méi)有USB定義的構(gòu)造數(shù)據(jù)流管道;只有輸入這一種傳輸方式,即外設(shè)到主機(jī);64字節(jié),對(duì)于低速設(shè)備只能小于或等于8字節(jié);具有最大效勞周期保證,即在規(guī)定時(shí)間內(nèi)保證有一次數(shù)據(jù)傳輸;與同步方式一起占用總線的時(shí)間不得超過(guò)一幀的90%;批傳輸(BulkTransfer)用于大量的對(duì)時(shí)間沒(méi)有要求的數(shù)據(jù)傳輸;數(shù)據(jù)沒(méi)有USB定義的構(gòu)造數(shù)據(jù)流管道;只能用于高速設(shè)備,允許數(shù)據(jù)包最大容量為8,16,32或64字節(jié);于把握傳輸;具有數(shù)據(jù)傳輸保證,在必要時(shí)可以重試,以保證數(shù)據(jù)的準(zhǔn)確性。一個(gè)同步傳送是一個(gè)或多個(gè)IN/OUT方向的數(shù)據(jù)事務(wù)。數(shù)據(jù)流類型IRP事務(wù)事務(wù)事務(wù)全部的傳送都是由一個(gè)或多個(gè)事務(wù)組成。一個(gè)IRP一個(gè)同步傳送是一個(gè)或多個(gè)IN/OUT方向的數(shù)據(jù)事務(wù)。數(shù)據(jù)流類型IRP事務(wù)事務(wù)事務(wù)全部的傳送都是由一個(gè)或多個(gè)事務(wù)組成。一個(gè)IRP又可由一個(gè)或多個(gè)傳送組成。把握傳送IRPSetup事務(wù)數(shù)據(jù)事務(wù)Status事務(wù)額外的把握傳送把握傳送首先是一個(gè)OUT方向的SetupINOUT方向的數(shù)據(jù)事務(wù),最終是一個(gè)中斷傳送IRP事務(wù)事務(wù)一個(gè)中斷傳送是一個(gè)或多個(gè)IN/OUT方向的數(shù)據(jù)事務(wù)。同步傳送IRP事務(wù)事務(wù)事務(wù)批傳送IRP事務(wù)事務(wù)批傳送IRP事務(wù)事務(wù)事務(wù)一個(gè)批傳送是一個(gè)或多個(gè)IN/OUT方向的數(shù)據(jù)事務(wù)。固件的開(kāi)發(fā)環(huán)境KeilC51KeilSoftware51C的優(yōu)勢(shì),因而易學(xué)易用。KeilC51軟件供給豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具,全WindowsKeilC51編代碼很緊湊,簡(jiǎn)潔理解。在開(kāi)發(fā)大型軟件時(shí)更能表達(dá)高級(jí)語(yǔ)言的優(yōu)勢(shì)。,uVisionC51forWindows的集成開(kāi)發(fā)環(huán)境(IDE),CC51A51標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51創(chuàng)立生成庫(kù)文件,也可以與庫(kù)文件一起經(jīng)L51(.ABS)ABSOH51HexdScope51tScope51EPROM承受FX2的固件設(shè)計(jì)固件編程的主要工作固件是FIREWARE可以承受C語(yǔ)言或是匯編語(yǔ)言.它的操作方式與硬件聯(lián)系嚴(yán)密,包括USB設(shè)備的連接USB協(xié)議、中斷處理等,它不是單純的軟件,而是軟件和硬件的結(jié)合,開(kāi)發(fā)者需要對(duì)端口、中斷和硬件構(gòu)造格外生疏。固件程序一般放入MCU中,當(dāng)把設(shè)備連一個(gè)最主要的目的就時(shí)讓W(xué)indows可以檢測(cè)和識(shí)別設(shè)備。USB固件程序程序由三局部組成:①初始化單片機(jī)和全部的外圍電路;②主循環(huán)局部,其任務(wù)是可以中斷的;③中斷效勞程序,其任務(wù)是對(duì)時(shí)間敏感的,必需馬上執(zhí)行。依據(jù)USB協(xié)議,任何傳輸都是由主機(jī)開(kāi)頭的。單片機(jī)作它的前臺(tái)工作,等待USB設(shè)備,F(xiàn)X2接收到令牌包后就給單片機(jī)發(fā)中斷。后執(zhí)行相應(yīng)的操作。在USB單片機(jī)程序中,要完成對(duì)各種令牌包的響應(yīng),其中比較難處理的是SETUP包,主要是端口0的編程。單片機(jī)與FX2的通信主要是靠單片機(jī)給FX2發(fā)命令和數(shù)據(jù)來(lái)實(shí)現(xiàn)的。FX2的命令字分為三種:初始化命令字、數(shù)據(jù)流命令字和通用命令字。FX2數(shù)據(jù)手冊(cè)給出了各種命令的代碼和地址。單片機(jī)先給FX2的命令地址發(fā)命令,依據(jù)不同命令的個(gè)命令,以后直接調(diào)用函數(shù)即可。第四章USB數(shù)據(jù)采集系統(tǒng)的硬件設(shè)計(jì)USB接口的設(shè)計(jì),這是本系統(tǒng)設(shè)計(jì)的重點(diǎn)局部。USB接口方案USB接口設(shè)計(jì)中有三種芯片選擇方案:第一種方案是選用設(shè)計(jì)成標(biāo)準(zhǔn)USB把握Cypress公司的CY7C63XXXUSBUSB通信功能的單片機(jī),例如Intel/Cypress的8X931,Cypress的EZ-USB,這些單片機(jī)承受開(kāi)發(fā)者生疏的構(gòu)造強(qiáng),構(gòu)成系統(tǒng)的電路簡(jiǎn)潔,調(diào)試便利,是目前常用的一種方Philps的PDIUSBDI1/12,NationalUSBN960X統(tǒng)的設(shè)計(jì)要求和實(shí)際狀況,在設(shè)計(jì)中選擇了第一種方案。USB接口的硬件設(shè)計(jì)EZ-USBFX2CY7C68013的特性介紹CypressSemiconductorEZ-USBFX2USB2.0SIE〔串行接口引擎〕8051把握器和可編程的外圍接口。FX2FX2SIEUSB1.1USB2.0USBGPIFATA、UTOPIA、EPP、PCMCIADSP2EZ-USBFX2128TQFP。CY7C68013USB2.0SIE〔串行接口引擎〕8051程序裝載:USBEEPROM通過(guò)外部存儲(chǔ)器設(shè)備。四個(gè)可編程BULK/INTERRUPT/ISOCHRONOUS端點(diǎn);可選雙、三和四緩沖816位外部數(shù)據(jù)接口通用可編程接口〔GPIF〕可以直接連接到并口,816位;可編程波形描述符和配置存放器;ReadyControl輸出。8051內(nèi)核,且具有以下增加特性:48MHz時(shí)鐘;每條指令占四個(gè)時(shí)鐘周期;USARTs;三個(gè)定時(shí)/計(jì)數(shù)器;擴(kuò)展的中斷系統(tǒng);兩個(gè)數(shù)據(jù)指針。3.3V電源系統(tǒng);智能串行引擎〔SIE〕;USB中斷;SETUPDATA包把握傳輸;I2C100400KHz;FIFOASICDSP等無(wú)縫連接;FIFOGPIF自動(dòng)矢量中斷;DSLModems、ATA接口、相機(jī)、HomePNA、WLAN、MP3播放器、網(wǎng)絡(luò)等。3、USB啟動(dòng)方式和枚舉I2CEEPROM中的第一個(gè)字節(jié)〔0xC0或0xC2〕0xC0,就會(huì)使用EEPROM中的VID/PID/DID來(lái)0xC2EEPROM中的內(nèi)容裝入到內(nèi)RAMEEPROM,F(xiàn)X2就會(huì)使用內(nèi)部存儲(chǔ)的描述符來(lái)枚舉。FX2VID/PID/DID0x04B4/0x8613/0xxxyy。USB時(shí),F(xiàn)X2USB電纜會(huì)自動(dòng)枚舉且下載固件和USB個(gè)步驟就叫做重枚舉,當(dāng)設(shè)備插入時(shí)它們就馬上執(zhí)行。4、程序/數(shù)據(jù)存儲(chǔ)器RAM〔LOW〕128、〔Upper〕128〔SFR〕128128RAM,SFRFX2外部程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器FX28KRAM0x0000-0x1FFF512ScratchRAM0xE000-0xE1FF。盡管ScratchRAMRAM數(shù)據(jù)地址空間作為把握/狀態(tài)存放器和端點(diǎn)緩沖器。留意:只有數(shù)據(jù)內(nèi)存空間保存,而程序內(nèi)存〔0xE000-0xFFFF〕并不保存。5、端點(diǎn)緩沖區(qū)FX23644K364EP0、EP1INEP1OUT。EP0INOUT。當(dāng)需要把握傳輸數(shù)據(jù)時(shí),F(xiàn)X2EP1INEP1OUT64,F(xiàn)X2BULK、INTERRUPTISOCHRONOUSEP0EP2EP4EP6EP8高帶寬、大緩沖區(qū)。它們可被配置成不同的方式來(lái)適應(yīng)帶寬的需求。6FIFOEP8〔480Mbits/s〕FIFOASICDSP從外部主內(nèi)部主34FX2FIFO“SlaveFIFO”模式和“GPIFMaster”模式。7、中斷資源11FX2中斷FX2中斷中斷來(lái)源中斷向量?jī)?yōu)先級(jí)IE0INT0Pin0x00031TF0Timer0Overflow0x000B2IE1INT1Pin0x00133TF1Timer1Overflow0x001B4RI_0&TI_0USART0Rx&Tx0x00235TF2Timer2Overflow0x002B6ResumeWAKEUP/WU2Pin0x00330RI_1&TI_1USART1Rx&Tx0x003B7USBINTUSB0x00438I2CINTI2CBUS0x004B9IE4GPIF/FIFOs/INT4Pin0x005310IE5INT5Pin0x005B11IE6INT6Pin0x00631227USBUSB,14FIFO/GPIFINT4。USB數(shù)據(jù)采集系統(tǒng)設(shè)備固件的編寫(xiě)keilc51AID模塊的數(shù)據(jù)采集;FX2PC;FX2芯片承受并處理(USBUSB1.1協(xié)議標(biāo)準(zhǔn)懇求):理把握采集模塊則用于對(duì)前端硬件的把握。這三個(gè)模塊都比較簡(jiǎn)潔。而USB通具體介紹。USB通信固件設(shè)計(jì)的目標(biāo)就是使FX2在USB上到達(dá)最大的傳輸速率。CPU忙于處理很多設(shè)備把握和數(shù)據(jù)處理等任務(wù),通信固件設(shè)計(jì)成完全的中斷驅(qū)動(dòng)方處理前臺(tái)任務(wù)時(shí),USB的傳輸可在后臺(tái)進(jìn)展。這就確保了最正確的傳ISR中斷效勞程序和前FX2的批量輸出端點(diǎn)可使用循環(huán)的數(shù)據(jù)緩沖區(qū),當(dāng)FX2USB收到一個(gè)數(shù)據(jù)包時(shí),就CPU產(chǎn)生一個(gè)中斷懇求,CPU馬上響應(yīng)中斷。在ISRFX2FX2的內(nèi)部緩沖區(qū),以使能接收的數(shù)據(jù)包。CPU可以連續(xù)它當(dāng)前的前臺(tái)任務(wù)直到完成。然后返回到主循環(huán)任務(wù)。任務(wù)安排器〔taskdispatcher〕VoidTD_Init(void)//該函數(shù)在框架初始化期間被調(diào)用。BOOLTD_Suspend(void)//該函數(shù)在框架進(jìn)入掛起狀態(tài)之前被調(diào)用。{Return(TRUE);}VoidTD_Resume(void)//該函數(shù)在設(shè)備被外部的喚醒大事喚醒且框架程序恢復(fù)處理后被調(diào)用{return(TRUE);}設(shè)備懇求〔devicerequest〕BoolDR_getdescription(void)//該函數(shù)在框架執(zhí)行g(shù)etdescription設(shè)備懇求之前被調(diào)用{return(TRUE);}booldr_setconfiguratian(void)//該函數(shù)在框架執(zhí)行setconfiguratian設(shè)備懇求之前被調(diào)用{configuration=SETUPDAT[2];return(TRUE);}bool dr_getconfiguratian(void)//該函數(shù)在框架執(zhí)行g(shù)etconfiguratian設(shè)備懇求之前被調(diào)用{EP0BUF[0]=configuration;EP0BCH=0;EP0BCL=1;return(TRUE);}booldr_setinterfane(void)//該函數(shù)在框架執(zhí)行setinterfane設(shè)備懇求之前被調(diào)用{alternatersetting=SETUPDAT[2];return(TRUE);}booldr_getinterfane(void)//該函數(shù)在框架執(zhí)行g(shù)etinterfane設(shè)備懇求之前被調(diào)用{EP0BUF[0]=alternatersetting;EP0BCH=0;EP0BCL=1;return(TRUE);}booldr_getstatus(void)//該函數(shù)在框架執(zhí)行g(shù)etstatus設(shè)備懇求之前被調(diào)用。{return(TRUE);}booldr_clearfeatuer(void)//clearfeatuer設(shè)備懇求之前被調(diào)用{return(TRUE);}booldr_setfeature(void)//該函數(shù)在框架執(zhí)行setfeature設(shè)備懇求之前被調(diào)用{return(TRUE);}booldr_vendorcmnd(void)//vendor設(shè)備懇求之前被調(diào)用{return(TRUE);}USB中斷〔USBinterrupt〕voidISR_sudav(void)interrupt0//該函數(shù)在設(shè)備收到setupdataavailable中斷時(shí),在中斷處理器內(nèi)部被調(diào)用{gotsud=true;ezusb_irq_clear;usbirq=bmsudav;}voidISR_sutok(void)interrupt0//該函數(shù)在設(shè)備收到setuptoken中斷時(shí),在中斷處理器內(nèi)部被調(diào)用{ezusb_irq_clear;usbirq=bmsutok;}voidISR_sof(void)interrupt0//該函數(shù)在設(shè)備收到startofframe中斷時(shí),在中斷處理器內(nèi)部被調(diào)用{ezusb_irq_clear;usbirq=bmsof;}voidISR_susp(void)interrupt0//該函數(shù)在設(shè)備收到usbsuspend中斷時(shí),在中斷處理器內(nèi)部被調(diào)用{sleep=true;ezusb_irq_clear;usbirq=bmsusp;}voidISR_ures(void)interrupt0//該函數(shù)在設(shè)備收到usbreset中斷時(shí),在中斷處理器內(nèi)部被調(diào)用{pconfigdscr=pfullspeedconfigdscr;((configdscrxdata*)pconfigdscr)->type=config_dscr;potherconfigdscr=phighspeedconfigdscr;((configdscrxdata*)potherconfigdscr)->type=otherspeed_dscr;ezusb_irq_clear;usbirq=bmures;}voidISR_highspeed(void)interrupt0//該函數(shù)在設(shè)備收到高速中斷時(shí),在中斷處理器內(nèi)部被調(diào)用{if(ezusb_highspeed){pconfigdscr=phighspeedconfigdscr;((configdscrxdata*)pconfigdscr)->type=config_dscr;potherconfigdscr=pfullspeedconfigdscr;((configdscrxdata*)potherconfigdscr)->type=otherspeed

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論