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

下載本文檔

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

文檔簡介

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

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

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

音頻、磁盤

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

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

溫馨提示

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

評論

0/150

提交評論