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

正文內(nèi)容

精品]基于usb總線的高速數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)(編輯修改稿)

2024-12-13 22:53 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 USB 設(shè)備的連接與斷開。 管理主機(jī)與設(shè)備之間的標(biāo)準(zhǔn)控制流。 管理主機(jī)與設(shè)備之間的數(shù)據(jù)流。 收集狀態(tài)及一些活動(dòng)的統(tǒng)計(jì)數(shù)字。 控制主機(jī)控制器與 USB設(shè)備的電氣接口,包括提供有限的能源。 USB驅(qū)動(dòng) (USBD) USBD 提供了供操作系統(tǒng)組件特別是設(shè)備驅(qū)動(dòng)程序訪問設(shè)備的一組接口。這些操作系統(tǒng)組件只能通過 USBD 來訪問 USB。 USBD 的具體實(shí)現(xiàn)基于不同的操作系統(tǒng)。一個(gè) USBD 可以訪問一個(gè)或多個(gè) HCD,而一個(gè) HCD 可能與一個(gè)或多個(gè)主機(jī)控制器相連。某些操作系統(tǒng)可能允許對(duì) USBD 的初始化進(jìn)行一些設(shè)置。從客戶的觀點(diǎn)來看,與客戶進(jìn)行通信的 USBD 管理著所有連接著的 USB 設(shè)備。 1. USBD 概況 USBD 的客戶直接命令設(shè)備或從通道直接輸入和輸出數(shù)據(jù)流。 USBD 為客戶提供兩組工具。命令工具和通道工具。 命令工 具允許客戶配置和控制 USBD 操作同時(shí)配置及控制 USB 設(shè)備。命令工具提供了對(duì)設(shè)備標(biāo)準(zhǔn)通道的所有訪問。 通道工具允許 USBD 客戶管理特定設(shè)備的數(shù)據(jù)和控制數(shù)據(jù)的傳輸。通道工具不允客戶直接訪問設(shè)備的標(biāo)準(zhǔn)通道。 圖 26 給出了 USBD 的總體框架。 圖 26 USB 驅(qū)動(dòng)結(jié)構(gòu) (1) USBD 初始化 具體的 USBD 初始化工作是與操作系統(tǒng)有關(guān)的。當(dāng) USB 系統(tǒng)初始化時(shí), USB 的管理信息被創(chuàng)建,其中包括缺省地址設(shè)備及它的標(biāo)準(zhǔn)通道。 當(dāng)一個(gè)設(shè)備連上 USB 時(shí),它響應(yīng)特殊的缺省地址,直 到他的唯一地址由主機(jī)給出。為了讓 USB系統(tǒng)能與新的設(shè)備進(jìn)行通信,設(shè)備在剛連上總線時(shí),設(shè)備的卻省地址必須是可用的。在設(shè)備的初始化期間,設(shè)備的缺省地址被修改成一個(gè)唯一的地址。 (2) USBD 通道使用 通道是設(shè)備與主機(jī)的邏輯連結(jié)。一個(gè)通道由且僅由一個(gè)客戶所擁有。雖然通道的基本屬性不因通道的擁有者而改變,但在兩類不同客戶所擁有的通道之間還存在一定的差異: 服務(wù) 通道接口 命令接口 信息和流通道 配置管理 設(shè)備數(shù)據(jù)訪問 總線設(shè)備管理 能量控制 主機(jī)控制器驅(qū)動(dòng) 主機(jī)控制器驅(qū)動(dòng) 主 機(jī)控制器 主機(jī)控制器 標(biāo)準(zhǔn)通道 他們由 USBD 擁有和管理。 其他的通道 它們由 USBD 的客戶擁有和管理。 雖然標(biāo)準(zhǔn)通道經(jīng)常用于完成一些客戶通過命令接口所傳遞的請(qǐng)求, 但是它們不能由客戶直接訪問的。 (3) USBD 服務(wù)功能 USBD 提供如下種類的服務(wù): 通過命令工具配置設(shè)備 通過命令工具及通道工具提供傳輸服務(wù) 事件通知 狀態(tài)報(bào)告及錯(cuò)誤恢復(fù) 2. USBD 命令工具功能 USBD 命令工具允許客戶訪問設(shè)備。通常,這些命令允許客戶以讀寫形式訪問某個(gè)設(shè)備數(shù)據(jù)及控制部份。客戶要做的僅是提供設(shè)備的標(biāo)識(shí)碼和相關(guān)數(shù)據(jù)緩沖區(qū)或空緩沖區(qū)指針。 USBD 命令傳輸時(shí)并不需要 USB 設(shè)備是已被配置好。 USBD 提供的設(shè)備配置設(shè)施大部分 使用是用命令傳輸。 下面的是有關(guān)命令工具提供的功能: ( 1)接口狀態(tài)控制 USBD 客戶必須能夠設(shè)置具體的接口。接口狀態(tài)的改變使得所有與該接口相連的通道都進(jìn)入新的狀態(tài)。另外接口的所有通道都能夠被重新設(shè)置或廢棄。 ( 2)通道狀態(tài)控制 USBD 通道狀態(tài)由兩部份組成 主機(jī)狀態(tài)。 反映的端口狀態(tài)。 通道狀態(tài)值總是包含上述兩部份。 USBD 的客戶管理由 USBD 報(bào)告通道狀態(tài),且客戶能夠與端口交互以改變它狀態(tài)。 ( 3)獲取描述碼 USBD 提供取得標(biāo)準(zhǔn)設(shè)備描述符,設(shè)備配置描述 符,字串描述符和設(shè)備類或者廠商定義的描述符的功能。 ( 4)取得當(dāng)前配置參數(shù) USBD 提供取得任何設(shè)備當(dāng)前配置參數(shù)的描述符的功能。如果設(shè)備沒有被配置,則不返回描述符。當(dāng)客戶請(qǐng)求為設(shè)備設(shè)置特定的參數(shù)時(shí)也返回當(dāng)前配置的描述符。返回的配置信息中包括如下一些內(nèi)容: 所有存放在設(shè)備上的配置描述符,包括接口的所有其他可替換配置。 返回接口的當(dāng)前的配置的描述符。 接口當(dāng)前配置中的某一端口 (一個(gè)接口可能具有多個(gè)端口 )的通道句柄。 接口當(dāng)前配置中的某一端口的最大允許包長(zhǎng)。 另外,對(duì)于任一 通道, USBDI 必須提供返回該通道的當(dāng)前正使用的最大包長(zhǎng)的值的機(jī)制。 ( 5)增加設(shè)備 USBDI 必須提供某種機(jī)制以便于當(dāng)增加新的設(shè)備的時(shí)候,集成器驅(qū)動(dòng)器能通知 USBD 并能取得該新 USB 設(shè)備的 USBD 標(biāo)識(shí)。 USBD 的任務(wù)包括分配設(shè)備地址并且為設(shè)備準(zhǔn)備使用的標(biāo)準(zhǔn)通道。 ( 6)設(shè)備斷開 USBDI 必須提供某種機(jī)制以便于集線器控制器通知 USBD 特定的設(shè)備已斷開。 ( 7)管理狀態(tài) USBDI 必須提供取得和清除設(shè)備或接口或通道上與設(shè)備有關(guān)的狀態(tài)的功能。 ( 8)向設(shè)備發(fā)送與設(shè)備類有關(guān)的命令 USBD 的客戶,特別是特定類的和自適應(yīng)的驅(qū)動(dòng)器使用 USBD 提供的該種機(jī)制向設(shè)備送出一個(gè)或多個(gè)設(shè)備類命令。 ( 9)向設(shè)備發(fā)送特殊的廠商定義的命令 客戶使用 USBDI 提供的該種機(jī)制向設(shè)備送出一到多個(gè)廠商定義的命令。 ( 10)更改接口配置 USBDI 必須提供更改特定接口配置的機(jī)制。修改了配置后,接口的新通道句柄替換了舊的通道句柄。在上述的請(qǐng)求執(zhí)行的過程中,接口必須是空閑的。 ( 11)創(chuàng)建設(shè)備配置 配置軟件向 USBD 提出進(jìn)行設(shè)備配置的請(qǐng)求時(shí)提供一個(gè)包含配置信息的數(shù)據(jù)緩沖區(qū)。USBD 根據(jù)提供 的配置信息為設(shè)備端口請(qǐng)求資源。如果所有的資源請(qǐng)求都得到滿足, USBD設(shè)置設(shè)備配置參數(shù),并且返回當(dāng)前設(shè)備所有活躍態(tài)接口句柄和與該接口中的某一端口相連的通道句柄。接口的設(shè)置可使用缺省參數(shù)。 ( 12)設(shè)置描述符 對(duì)于支持該項(xiàng)行為的設(shè)備, USBDI允許升級(jí)設(shè)備上的描述符或者增加新的描述符。 3. USBD通道設(shè)施 USBD 的通道設(shè)施使客戶與設(shè)備之間高速的低附加信息的數(shù)據(jù)傳輸成為可能。數(shù)據(jù)傳輸?shù)母咝阅苁峭ㄟ^將 USBD的一部份通道管理任務(wù)轉(zhuǎn)交給客戶來實(shí)現(xiàn)的。所以通道設(shè)施比 USBD命令設(shè)施所提供的數(shù)據(jù)傳輸服務(wù)更直 接。通道設(shè)施不允許訪問設(shè)備的標(biāo)準(zhǔn)通道。 只有在 USB 及設(shè)備的配置都順利完成后,客戶才有可能進(jìn)行 USBD 的通道傳輸。當(dāng)設(shè)備被配置的時(shí)候 USBD 根據(jù)配置參數(shù)為設(shè)備的所有通道請(qǐng)求資源。當(dāng)特定的接口或通道空閑的時(shí)候,客戶可以更改配置。 客戶為輸出的通道提供一個(gè)滿的數(shù)據(jù)緩沖區(qū),并且在請(qǐng)求完成以后取得傳輸狀態(tài)信息??蛻艨梢愿鶕?jù)返回的狀態(tài)信息判斷傳輸是否順利完成。 客戶為輸入通道提供空的數(shù)據(jù)緩沖區(qū),并且在請(qǐng)求完成以后得到一個(gè)具有數(shù)據(jù)的緩沖區(qū)及傳輸?shù)臓顟B(tài)信息??蛻艨筛鶕?jù)該狀態(tài)信息判斷傳輸數(shù)據(jù)的數(shù)量及 質(zhì)量。 根據(jù)所支持的數(shù)據(jù)傳輸類型, USBD共有四種通道類型 :控制傳 輸、同步數(shù)據(jù)傳輸、中斷傳輸、塊傳輸。 USB設(shè)備 USB 設(shè)備可被劃分三層: 底層是傳送和接收數(shù)據(jù)包的總線接口 中間層處理總線接口與不同端點(diǎn)之間的數(shù)據(jù)路由端節(jié)點(diǎn)是數(shù)據(jù)的終結(jié)提供處或使用處,它可被看作數(shù)據(jù)源或數(shù)據(jù)接收端 (Sink) 最上層的功能由串行總線設(shè)備提供,比如鼠標(biāo),或 ISDN 接口。 USB設(shè)備狀態(tài) USB設(shè)備有若干可能的狀態(tài),其中一些對(duì)于 USB與主機(jī) (host)來 說是外置的,而另外一些對(duì) USB設(shè) 備來說是內(nèi)置的,表 21描述的 就是這些外置狀態(tài)之間的轉(zhuǎn)化關(guān)系。 表 21外呈 (可見 )的設(shè)備狀態(tài) 連接 加電 缺省 編址 配置 掛起 說 明 不 _ __ __ __ __ 設(shè)備尚未連接至接口 .其他特性無關(guān) 是 不 _ _ __ __ 設(shè)備已連接至接口,但未加電 . 其他特性無關(guān) . 是 是 不 __ _ __ 設(shè)備已連接至接口,并且已加電 .但尚未被復(fù)位 . 是 是 是 不 __ __ 設(shè)備已連接至接口,已加電 . 并被復(fù)位 . 但尚未分配地址 .設(shè)備在缺省地址處可尋址 . 是 是 是 是 不 _ 設(shè)備已連接至接口,已加電 . 并被復(fù)位 .且分配了唯一地址 .尚未被配置 . 是 是 是 是 是 不 設(shè)備已連接至接口,已加電 . 并被復(fù)位 .且分配了唯一地址,并被配置 .設(shè)備功能可被使用 . 是 是 __ __ __ 是 設(shè)備在至少 3 毫秒以內(nèi)探測(cè)不到總線活動(dòng),自動(dòng)進(jìn)如掛起 .設(shè)備功能不可用 . 通用 USB設(shè)備操作 所有的 USB 設(shè)備支持通用的操作集,下面簡(jiǎn)要地描述這些操 1. 動(dòng)態(tài)插接與拔開 USB 設(shè)備必須在任意時(shí)刻允許被插接與拔開。提供連接點(diǎn)或端口的集線器應(yīng)當(dāng)負(fù)責(zé)匯報(bào)端口的狀態(tài)改變情況。 當(dāng)主機(jī)探測(cè)到連接操作后,會(huì)使得所連的集線器端口生效,設(shè)備也會(huì)因此而復(fù)位,一個(gè)被復(fù)位了的 USB 設(shè)備有如下特性: 對(duì)缺省 USB 地址發(fā)生響應(yīng) 沒有被配置 初始狀態(tài)不是掛起 當(dāng)設(shè)備從一個(gè)集線器端口移去時(shí),集線器會(huì)使得原來連接的端口失效,并且通知主機(jī)設(shè)備已移去。 2. 地址分配 當(dāng) USB 設(shè)備連接以后,由主機(jī)負(fù)責(zé)給此設(shè)備分配一個(gè)唯一的地址,這個(gè)操作是在設(shè)備復(fù)位及端口使能操作以后。 3. 配置 USB 設(shè)備在正常被使用以前,必須被配置,由主機(jī)負(fù)責(zé)配置設(shè)備。主機(jī)一般 會(huì)從 USB設(shè)備獲取配置信息后再準(zhǔn)定此設(shè)備有哪些功能。 作為配置操作的一部分,主機(jī)會(huì)設(shè)置設(shè)備的配置值,并且,如果必要的話會(huì)選擇合適的接口的備選設(shè)置。 只須一個(gè)簡(jiǎn)單配置,一個(gè)設(shè)備可能支持多重接口。一個(gè)接口是一組端結(jié)點(diǎn)集合,它們代表了設(shè)備向主機(jī)提供的單一的功能或特性,用來與這組相關(guān)端結(jié)點(diǎn)通信的協(xié)議以及接口內(nèi)各端結(jié)點(diǎn)的目的可以作為一個(gè)設(shè)備類的一部分或者由廠商制定具體定義。 另外,一個(gè)配置中的結(jié)口可能有備選設(shè)置。這些備選設(shè)置會(huì)重定義相關(guān)端結(jié)點(diǎn)的數(shù)目或特性。如果是這樣的話,設(shè)備必須支持 GetInterface(接口請(qǐng)求 )與 Set Interface(接口設(shè)置 )請(qǐng)求,來匯報(bào)及選擇指定的接口的設(shè)備選設(shè)置。 4. 數(shù)據(jù)傳送 數(shù)據(jù)可能以四種方式在 USB 設(shè)備端結(jié)點(diǎn)與主機(jī)之間傳送。四種傳送方式參見第五章。在不同設(shè)置下,一個(gè)終端結(jié)點(diǎn)可能被用于不同的傳輸方式,但一旦設(shè)置選定,傳送方式就選定了。 5. 電源管理 USB 總線電源是一個(gè)有限的資源,在設(shè)備標(biāo)識(shí)階段,主機(jī)估測(cè)電源的需求。如果電源的需求量超過 USB 總線所能提供的電量,主機(jī)軟件則不能選擇那個(gè)配置。 USB 設(shè)備應(yīng)將電源需求量限制在一個(gè)單 元以下,直到被配置。中止 (掛起 )的設(shè)備,不管是否已經(jīng)配置過了,應(yīng)將總線耗電降到第 7章定義的標(biāo)準(zhǔn)以下。視接到設(shè)備的端口電源負(fù)載能力而定, USB 設(shè)備在配置了以后可從 VBus 汲取達(dá) 5個(gè)單元的電量。遠(yuǎn)程喚醒能力參許一個(gè)被掛起的 USB 設(shè)備發(fā)達(dá)信號(hào)給處于掛起狀態(tài)的主機(jī)。這個(gè)信號(hào)會(huì)使得主機(jī)醒來,處理觸發(fā)事件。 USB 設(shè)備通過配置描述來向主機(jī)匯報(bào)其遠(yuǎn)程喚醒的能力。 USB 設(shè)備的遠(yuǎn)程喚醒能力應(yīng)能被禁止的。 6. 請(qǐng)求處理 除 SetAddress( )請(qǐng)求以外,在安裝完成返回 ACK 信號(hào)以后,設(shè)備就開始處理請(qǐng)求。在某一狀態(tài)成 功結(jié)束以前,設(shè)備應(yīng)當(dāng)“完成”對(duì)請(qǐng)求的處理。許多請(qǐng)求費(fèi)時(shí)較多,像這樣的請(qǐng)求,該設(shè)備類應(yīng)定義一個(gè)方法而不是等待交換狀態(tài)信息階段的結(jié)束來表示該操作已經(jīng)完成。像這樣的操作有:集線器端口的復(fù)位至少需 10ms 來完成。當(dāng)端口復(fù)位產(chǎn)生時(shí),SetPortFeature(PORTRESET)請(qǐng)求就結(jié)束了。當(dāng)端口狀態(tài)改變并表明此端口已經(jīng)生效時(shí),一個(gè)信號(hào)就會(huì)產(chǎn)生表明復(fù)位信號(hào)已經(jīng)結(jié)束。這種技術(shù)可以防止當(dāng)主機(jī)知道某一個(gè)請(qǐng)求費(fèi)時(shí)較長(zhǎng)的情況一直探測(cè)此請(qǐng)求是否已完成。 7. 請(qǐng)求錯(cuò)誤 如果一設(shè)備收到一個(gè)請(qǐng)求,它或是在設(shè)備中無定義,或是不適 用于當(dāng)前設(shè)置,或是數(shù)值不對(duì),這時(shí)就會(huì)產(chǎn)生一個(gè)請(qǐng)求錯(cuò)誤。設(shè)備在下一個(gè)數(shù)據(jù)傳輸階段或狀態(tài)交換階段返回一個(gè)表明錯(cuò)誤的 STALL PID信號(hào),一般在下一個(gè)數(shù)據(jù)傳輸返回更好,這樣可減少不必要的總線活動(dòng)。 USB設(shè)備請(qǐng)求 所有的 USB設(shè)備在“設(shè)備的缺省控制通道 ”處對(duì)主機(jī)的請(qǐng)求發(fā)出響應(yīng)。這些請(qǐng)求是通過使用控制傳輸來 達(dá)到的,請(qǐng)求及請(qǐng)求的參數(shù)通過 Setup包發(fā)向設(shè)備,由主機(jī)負(fù)責(zé)設(shè)置 Setup包內(nèi)的每個(gè)域的值。每個(gè) Setup包有 8個(gè)字節(jié)。見表 22。 表 22 Setup數(shù)據(jù)包的格式 偏移量 域 大小 值 描述 0
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1