freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計(jì)]基于usb的高速數(shù)據(jù)采集卡的設(shè)計(jì)-預(yù)覽頁

2025-12-15 20:43 上一頁面

下一頁面
 

【正文】 接實(shí)現(xiàn)其功能。主機(jī)功能如下 : .檢測 USB 設(shè)備的安裝和拆卸 。 .提供能量給連接的 USB 設(shè)備。 .電源管理 。每個(gè)集線器將一個(gè)連接點(diǎn)轉(zhuǎn)化成許多的連接點(diǎn)。集線器可將低速和高速端口的信號(hào)分開。一個(gè)物理單元中可以有多個(gè)功能部件和一個(gè)內(nèi)置集線器,并利用一根 USB 電纜,這通常被稱為復(fù)合設(shè)備,即一個(gè)集線器連向主機(jī),并有一個(gè)或多個(gè)不可拆卸的 USB 設(shè)備連在其上。目前 USB 設(shè)備是 USB 總線中發(fā)展最快的部分,常見 USB 外設(shè)有 :鼠標(biāo)或光筆、鍵盤等。 USB 的主機(jī)。數(shù)據(jù)流模式:描述了數(shù)據(jù)在系統(tǒng)中通過 USB 從產(chǎn)生方到使用方的流動(dòng)方式; USB 系統(tǒng)中的設(shè)備與主機(jī)的連接方式采用的是星形連接, 如圖 21。這種連接的形狀很像一棵樹。所有這些設(shè)備及這個(gè) Hub被看作一個(gè)復(fù)合設(shè)備,而這個(gè) Hub又被看作這個(gè)復(fù)合 設(shè)備的內(nèi)部 Hub。 在物理結(jié)構(gòu)上,設(shè)備通過 Hub連到主機(jī)上。 Hub也是邏輯設(shè)備,但在圖 22中,為了簡化起見,未被畫出,雖然 USB系統(tǒng)中的工作都是從邏輯角度來看待的,但主機(jī)必須對物理結(jié)構(gòu)有個(gè)了解。這與另一些總線如 PCL, ELSA, PCMUA等不同,這些總線是直接訪問內(nèi)存或 I/O的。 圖 23客戶軟件和應(yīng)用間的關(guān)系 USB的主機(jī) USB主機(jī)概述 圖 24展示了 USB 通信模型之間基本的信息流與互連關(guān)系: 圖 24 通信模型層次關(guān)系圖 由圖 24 可見,主機(jī)與設(shè)備都被劃分成不同的層次。主機(jī)上的客戶軟件和設(shè)備功能部件之間的通信是基于實(shí)際的應(yīng)用需求及設(shè)備所能提供的能力。 USB 總線接口 由于主機(jī)在 USB 系統(tǒng)中的特殊性, USB 主機(jī)上的總線接口還必須具備主機(jī)控制器的功能,主機(jī)控制器具有一個(gè)內(nèi)集成的集線器 (根集線器 )提供與 USB 電纜的連接。這包括附加的 USB 信息,比如協(xié)議頭。 USB 驅(qū)動(dòng) 這層接口不能被客戶直接訪問,所以也不是由 USB 具體來完成的。作為這 種抽象的一部份, USBD 擁有標(biāo)準(zhǔn)通道對設(shè)備進(jìn)行一些標(biāo)準(zhǔn)的控制。 客戶層描述的是直接與 USB 設(shè)備進(jìn)行交互所需要的軟件包。檢測 USB 設(shè)備 的連接與斷開。管理主機(jī)與設(shè)備之間的數(shù)據(jù)流??刂浦鳈C(jī)控制器與 USB設(shè)備的電氣接口,包括提供有限的能源。一個(gè) USBD 可以訪問一個(gè)或多個(gè) HCD,而一個(gè) HCD 可能與一個(gè)或多個(gè)主機(jī)控制器相連。 USBD 為客戶提供兩組工具。 通道工具允許 USBD 客戶管理特定設(shè)備的數(shù)據(jù)和控制數(shù)據(jù)的傳輸。當(dāng) USB 系統(tǒng)初始化時(shí),USB 的管理信息被創(chuàng)建,其中包括缺省地址設(shè)備及它的標(biāo)準(zhǔn)通道。 (2) USBD 通道使用 通道是設(shè)備與主機(jī)的邏輯連結(jié)。 通過命令工具配置設(shè)備 通常,這些命令允許客戶以讀寫形式訪問某個(gè)設(shè)備數(shù)據(jù)及控制部份。 下面的是有關(guān)命令工具提供的功能: ( 1)接口狀態(tài)控制 USBD 客戶必須能夠設(shè)置具體的接口。主機(jī)狀態(tài)。 USBD 的客戶管理由 USBD 報(bào)告通道狀態(tài),且客戶能夠與端口交互以改變它狀態(tài)。當(dāng)客戶請求為設(shè)備設(shè)置特定的參數(shù)時(shí)也返回當(dāng)前配置的描述符。返回接口的當(dāng)前的配置的描述符。接口當(dāng)前配置中的某一端口的最大允許包長。 ( 6)設(shè)備斷開 USBDI 必須提供某種機(jī)制以便于集線器控制器通知 USBD 特定的設(shè)備已斷開。 ( 10)更改接口配置 USBDI 必須提供更改特定接口配置的機(jī)制。 USBD 根據(jù)提供的配置信息為設(shè)備端口請求資源。 3. USBD通道設(shè)施 USBD 的通道設(shè)施使客戶與設(shè)備之間高速的低附加信息的數(shù)據(jù)傳輸成為可能。 只有在 USB 及設(shè)備的配置都順利完成后,客戶才有可能進(jìn)行 USBD 的通道傳輸??蛻艨梢愿鶕?jù)返回的狀態(tài)信息判斷傳輸是否順利完成。 USB設(shè)備 USB 設(shè)備可被劃分三層: USB設(shè)備狀態(tài) USB設(shè)備有若干可能的狀態(tài),其中一些對于 USB與主機(jī) (host)來 說是外置的,而另外一些對 USB設(shè)備來說是內(nèi)置的,表 21描述的 就是這些外置狀態(tài)之間的轉(zhuǎn)化關(guān)系。對缺省 USB 地址發(fā)生響應(yīng) 3. 配置 USB 設(shè)備在正常被使用以前,必須被配置,由主機(jī)負(fù)責(zé)配置設(shè)備。一個(gè)接口是一組端結(jié)點(diǎn)集合,它們代表了設(shè)備向主機(jī)提 供的單一的功能或特性,用來與這組相關(guān)端結(jié)點(diǎn)通信的協(xié)議以及接口內(nèi)各端結(jié)點(diǎn)的目的可以作為一個(gè)設(shè)備類的一部分或者由廠商制定具體定義。 4. 數(shù)據(jù)傳送 數(shù)據(jù)可能以四種方式在 USB 設(shè)備端結(jié)點(diǎn)與主機(jī)之間傳送。如果電源的需求量超過 USB 總線所能提供的電量,主機(jī)軟件則不能選擇那個(gè)配置。遠(yuǎn)程喚醒能力參許一個(gè)被掛起的 USB 設(shè)備發(fā)達(dá)信號(hào)給處于掛起狀態(tài)的主機(jī) 。 6. 請求處理 除 SetAddress( )請求以外,在安裝完成返回 ACK 信號(hào)以后,設(shè)備就開始處理請求。當(dāng)端口復(fù)位產(chǎn)生時(shí),SetPortFeature(PORTRESET)請求就結(jié)束了。設(shè)備在下一個(gè)數(shù)據(jù)傳輸階段或狀態(tài)交換階段返回一個(gè)表明錯(cuò)誤的 STALL PID信號(hào),一般在下一個(gè)數(shù)據(jù)傳輸返回更好,這樣可減少不必要的總線活動(dòng)。見表 22。 12Mb的高速模式,另一種是,這兩種模式可以同時(shí)存在于一個(gè) USB系統(tǒng)中。這主要是由于信號(hào)衰減的限制,為了提供信號(hào)電壓保證以及與終端負(fù)載相匹配,在電纜的每一端都使用了不平衡的終端負(fù)載,這 種終端負(fù)載也保證了能夠檢測外設(shè)與端口的連接或分離,并且可以區(qū)分高速與低速設(shè)備。圖 26描述了 USB數(shù)據(jù)傳輸?shù)倪^程。 IRP是由操作系統(tǒng)定義的,而 USB傳輸與總 線操作是 USB規(guī)范定義的。為了滿足不同外設(shè)和用戶的要求, USB 提供了四種傳輸方式:控制傳輸、同步傳輸、中斷傳輸、批傳輸。 同步傳輸 (Isochronous Transfer) 1. 是一種周期的連續(xù)的傳輸方式,通常用于與時(shí)間有密切關(guān)系的信息的傳輸; 2. 數(shù)據(jù)沒有 USB 定義的結(jié)構(gòu)數(shù)據(jù)流管道; 3. 單向傳輸,如果一個(gè)外設(shè)需要雙向傳輸,則必須使用另一個(gè)端點(diǎn); 4. 只能用于高速設(shè)備,數(shù)據(jù)包的最大容量可以從 0到 1023個(gè)字節(jié); 5. 具有帶寬保證,并且保持?jǐn)?shù)據(jù)傳輸?shù)乃俾屎愣?,每個(gè)同步管道每幀傳輸一個(gè)數(shù)據(jù)包; 6. 沒有數(shù)據(jù)重發(fā)機(jī)制要求,具有一定的容錯(cuò)性; 7. 與中斷方式一起占用總線的時(shí)間不得超過一幀的 90%。 圖 27 USB 數(shù)據(jù)傳輸 一個(gè)同步傳送是一個(gè)或多個(gè) IN/OUT方向的數(shù)據(jù)事務(wù)。 中斷傳送 IRP 事務(wù) 事務(wù) 一個(gè)中斷傳送是一個(gè)或多個(gè) IN/OUT方向的數(shù)據(jù)事務(wù)。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到 Keil C51 生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。然后分別由 C51 及 A51 編譯器編譯生成目標(biāo)文件 (.OBJ)。固件程序一般放入 MCU中,當(dāng)把設(shè)備連接到主機(jī)上時(shí),上位機(jī)可以發(fā)現(xiàn)新設(shè)備,然后建立連接。單片機(jī)作它的前臺(tái)工作,等待中斷。 單片機(jī)與 FX2的通信主要是靠單片機(jī)給 FX2發(fā)命令和數(shù)據(jù)來實(shí)現(xiàn)的。因此,可以將每種命令做成函數(shù),用函數(shù)實(shí)現(xiàn)各個(gè)命令,以后直接調(diào)用函數(shù)即可。第三種方案是采用連接到一般微控制器的接口芯片,例如 Philps 的 PDIUSBD I 1 / 12 , National 半 導(dǎo)體公司的 USBN960X 等,它可用一般的單片機(jī)開發(fā)系統(tǒng)進(jìn)行開發(fā)。 FX2 這種獨(dú)創(chuàng)性結(jié) 構(gòu)可使數(shù)據(jù)傳輸率達(dá)到56Mbytes/s,即 允許的最大帶寬。它有三種封裝形式: 56SSOP, 100TQFP和 128TQFP。 ● 電源系統(tǒng); ● 智能串行引擎( SIE); ● 矢量 USB 中斷; ● 獨(dú)立的數(shù)據(jù)緩沖區(qū)供 SETUP 和 DATA 包控制傳輸; ● 集成 I2C 控制器,運(yùn)行速度可達(dá) 100 或 400KHz; ● 四個(gè) FIFO,可與 ASIC 和 DSP 等無縫連接; ● 專門的 FIFO 和 GPIF 自動(dòng)矢量中斷; ● 可用于 DSL Modems、 ATA 接口、相機(jī)、 Home PNA、 WLAN、 MP3播放器、網(wǎng)絡(luò)等。 當(dāng)首次插 入 USB 時(shí), FX2 通過 USB 電纜會(huì)自動(dòng)枚舉且下載固件和 USB描述符表;接下來, FX2 再次枚舉,這次主要通過下載的信息來定義設(shè)備。 外部程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器 FX2有 8K片上 RAM,位于 0x0000- 0x1FFF; 512字節(jié) Scratch RAM,位于 0xE000- 0xE1FF。 端點(diǎn)緩沖區(qū) FX2 包含 3 個(gè) 64 字節(jié)端點(diǎn)緩沖區(qū)和 4K 可配置成不同方式的緩沖,其中 3個(gè) 64字節(jié)的緩沖區(qū)為 EP0、 EP1IN 和 EP1OUT。這一點(diǎn)與大端點(diǎn)緩沖區(qū) EP EP EP6 和 EP8 不同,這四個(gè)端點(diǎn)緩沖區(qū)主要用來和片上或片外進(jìn)行高帶寬數(shù)據(jù)傳輸而無需固件的參與。它具有通用接口: Slave(從) FIFO(外部主)或 GPIF(內(nèi)部主) 、同步或異步時(shí)鐘、內(nèi)部或外部時(shí)鐘等。 Tx 0x0023 5 TF2 Timer2 Overflow 0x002B 6 Resume WAKEUP/WU2 Pin 0x0033 0 RI_1 amp。其主要功能是控制 AID模塊的數(shù)據(jù)采集 。設(shè)備上電后,初始化模塊對設(shè)備進(jìn)行初始化配置 :數(shù)據(jù)處理模塊主要負(fù)責(zé)前端采集數(shù)據(jù)的預(yù)處理,解釋主機(jī)請求,對請求進(jìn)行相應(yīng)處理控制采集模塊則用于對前端硬件的控 制。 CPU忙于處理許多設(shè)備控制和數(shù)據(jù)處理等任務(wù),通信固件設(shè)計(jì)成完全的中斷驅(qū)動(dòng)方式,當(dāng) CPU處理前臺(tái)任務(wù)時(shí), USB 的傳輸可在后臺(tái)進(jìn)行。 CPU 可以繼續(xù)它當(dāng)前的前臺(tái)任務(wù)直到完成。 BOOL TD_Suspend (void)//該函數(shù)在框架進(jìn)入掛起狀態(tài)之前被調(diào)用。 } bool dr_setconfiguratian (void) //該函數(shù)在框架執(zhí)行 set configuratian 設(shè)備請求之前被調(diào)用 { configuration=SETUPDAT[2]。 EP0BCL=1。 } bool dr_getinterfane(void) //該函數(shù)在框架執(zhí)行 get interfane 設(shè)備請求之前被調(diào)用 { EP0BUF[0]=alternatersetting。 } bool dr_getstatus(void) //該函數(shù)在框架執(zhí)行 get status 設(shè)備請求之前被調(diào)用。 } bool dr_vendorcmnd(void) //該函數(shù)在框架執(zhí)行 vendor 設(shè)備請求之前被調(diào)用 { return (TRUE)。 } void ISR_sutok(void) interrupt 0 //該函數(shù)在設(shè)備收到 setup token 中斷時(shí),在中斷處理器內(nèi)部被調(diào)用 { ezusb_irq_clear()。 } void ISR_susp(void) interrupt 0 //該函數(shù)在設(shè)備收到 usb suspend 中斷時(shí),在中斷處理器內(nèi)部被調(diào)用 { sleep=true。 ((configdscr xdata *)pconfigdscr)type=config_dscr。 usbirq=bmures。 ((configdscr xdata *)potherconfigdscr)type=otherspeed_dscr。可以用 2 種方式下載固件到 EZUSB FX2 芯片中。 EZUSB 軟件開發(fā)包提供一個(gè)固件下載驅(qū)動(dòng)程序的模板,即EZLoader Driver。 2 Visual C++ 以上版本。這里的目標(biāo)文件是指由 Windows DDK 產(chǎn)生的驅(qū)動(dòng)文件 (.sys)。 應(yīng)用程序 任何一個(gè)使用過 Windows 的人對窗口這個(gè)概念絕對不會(huì)陌生,窗口是Windows 應(yīng)用程序的基本操作單元,用戶通過它與應(yīng)用程序發(fā)生交互,例如輸入輸出操作等等,從程序的內(nèi)部工作原來來看,每一個(gè)窗口對應(yīng)一個(gè)消息處理隊(duì)列,應(yīng)用程序主要通過窗口消息處理函數(shù)對用戶的輸入操作進(jìn)行響應(yīng)與處理。句柄可以看成是對象的編號(hào),聯(lián)系上面的實(shí)例,那么一個(gè)實(shí)例句柄就可以看作是單個(gè)應(yīng)用程序在內(nèi)存中拷貝的唯一身份編號(hào),通常系統(tǒng)只能通過實(shí)例句柄去識(shí)別不同的應(yīng)用程序,或者是相同應(yīng)用程序的不同副本。 消息通常是由一系列的輸入操作觸發(fā)的,比如當(dāng)我按下鼠標(biāo)左鍵那么窗口消息處理函數(shù)就會(huì)收到一個(gè) WM_LBUTTONDOWN 的消息信號(hào)?;卣{(diào)函數(shù)的定義必須嚴(yán)格的按照 windows 標(biāo)準(zhǔn)進(jìn)行編寫。特別是由于 USB 的使用簡單、即插即用、熱插拔、開放性、高速 、穩(wěn)定、可靠性高等優(yōu)點(diǎn),它特別適用于儀器儀表、虛擬儀器、數(shù)據(jù)采集、數(shù)據(jù)采集設(shè)備、監(jiān)控設(shè)備和加密設(shè)備
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1