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

正文內(nèi)容

基于pci和usb總線的開放式運(yùn)動控制器開發(fā)-資料下載頁

2025-06-22 01:42本頁面
  

【正文】 相同,只是在第三個(gè)數(shù)據(jù)期中由從設(shè)備連續(xù)插入了三個(gè)等待周期。時(shí)鐘5處傳輸雙方均插入了等待周期。FRAME信號撤消必須要以IRDY發(fā)出為前提。另外,主設(shè)備在時(shí)鐘5處因撤消了IRDY而插入等待周期,表明要寫的數(shù)據(jù)延遲發(fā)送,但此時(shí),字節(jié)使能信號不受等待周期的影響,不得延遲發(fā)送。圖32 PCI總線寫交易時(shí)序 Writing transaction sequential of PCI bus USB總線USB是Universal Serial Bus的縮寫,即通用串行總線。它是一種電纜總線,是電腦系統(tǒng)連接外圍設(shè)備的新的輸入/輸出標(biāo)準(zhǔn),而USB協(xié)議是USB總線的通信協(xié)議。目前,USB總線己經(jīng)成為PC機(jī)主板上的標(biāo)準(zhǔn)配置,USB作為一種新型的接口以其較快的傳輸速率和方便的連接等優(yōu)勢受到用戶的青睞。到目前為止,USB己經(jīng)在PC機(jī)的多種外設(shè)上得到應(yīng)用[25]。 USB的優(yōu)點(diǎn)USB的優(yōu)點(diǎn)主要包括以下幾個(gè)方面: 1.即插即用,支持熱插拔和操作系統(tǒng)的自動配置。當(dāng)USB設(shè)備第一次接入PC時(shí),操作系統(tǒng)可以自動檢測到該設(shè)備的接入,并進(jìn)行配置,如果是HID等設(shè)備接入PC系統(tǒng)甚至可以自動為其安裝驅(qū)動程序。2.廣泛的軟硬件支持。軟件和操作系統(tǒng)對于USB的支持越來越強(qiáng)大,Windows, Linux等操作系統(tǒng)對USB的各種設(shè)備的支持越來越完備,硬件和半導(dǎo)體廠家所能提供的USB解決方案和外設(shè)產(chǎn)品越來越多。3.可選擇的多種速度模。:低速()、全速(12Mbps)和高速(480Mbps)。低速設(shè)備可以用在鼠標(biāo),鍵盤等對傳輸速度要求不高,卻嚴(yán)格要求低成本的外設(shè)產(chǎn)品上。高速設(shè)備則可以在大容量移動硬盤,光驅(qū)和視頻傳輸?shù)鹊阮I(lǐng)域內(nèi)大顯身手,成本也略微高一些。而全速設(shè)備則可以用在更為廣闊的領(lǐng)域內(nèi)。4.多種設(shè)備類。從音頻設(shè)備、大容量存儲設(shè)備Mass Storage到人機(jī)接口設(shè)備HID等等,幾乎各種計(jì)算機(jī)外設(shè)都可以在USB中找到相應(yīng)的支持。5.硬件結(jié)構(gòu)標(biāo)準(zhǔn)化。USB協(xié)議規(guī)定了A型和B型2種標(biāo)準(zhǔn)的接插件,其中A型是下行端口,而B型則用于上行端口。這樣,不同的USB設(shè)備之間就有了統(tǒng)一的硬件接插件,為整個(gè)USB拓?fù)浣Y(jié)構(gòu)的實(shí)現(xiàn)奠定了基礎(chǔ)。 USB系統(tǒng)的分層結(jié)構(gòu)USB規(guī)范參照網(wǎng)絡(luò)中的OSI模型(Open System Interconnect Reference Model,開放系統(tǒng)互聯(lián)參考模型)的分層結(jié)構(gòu),也采用了分層描述[26]。USB規(guī)范把USB系統(tǒng)分為三層,即接口層、設(shè)備層和功能層,如圖33所示。用戶軟件和USB設(shè)備驅(qū)動程序功能單元USB系統(tǒng)軟件USB 邏輯設(shè)備USB主控制器USB總線接口功能層設(shè)備層接口層主機(jī)互連物理設(shè)備實(shí)際數(shù)據(jù)流邏輯數(shù)據(jù)流圖33 USB系統(tǒng)的分層結(jié)構(gòu) Structure of USB systemUSB總線接口層涉及的是具體的物理層,主要實(shí)現(xiàn)物理信號和數(shù)據(jù)包的交互,也就是在主機(jī)端的USB主控制器和設(shè)備端的USB總線接口之間傳輸實(shí)際的數(shù)據(jù)流。USB主控制器芯片提供USB的收發(fā)物理層,實(shí)現(xiàn)USB電纜上差模信號和數(shù)字信號的轉(zhuǎn)換并提供端點(diǎn)的物理存儲機(jī)制,還能根據(jù)USB傳輸機(jī)制自動管理各個(gè)端點(diǎn)的存儲與數(shù)據(jù)交換。設(shè)備層主要提供USB基本的協(xié)議棧,執(zhí)行通用的USB的各種操作和請求命令,從邏輯上講,就是USB系統(tǒng)軟件與USB邏輯設(shè)備之間的數(shù)據(jù)交換。USB系統(tǒng)軟件包括USB核心驅(qū)動程序和主控制器驅(qū)動程序。核心驅(qū)動程序負(fù)責(zé)解釋USB設(shè)備驅(qū)動程序發(fā)來的命令并將其劃分為一系列的USB事務(wù),然后發(fā)送給主控制器驅(qū)動程序;主控制器驅(qū)動程序負(fù)責(zé)最底層的驅(qū)動任務(wù),控制和管理硬件底層,負(fù)責(zé)將USB事務(wù)發(fā)送給USB主控制器芯片,并最終將數(shù)據(jù)發(fā)送到電纜上。這兩種驅(qū)動程序由支持USB的操作系統(tǒng)提供。USB邏輯設(shè)備的功能一般由USB接口芯片完成。功能層提供每個(gè)USB設(shè)備所需的特定功能,主機(jī)端包括用戶軟件和設(shè)備驅(qū)動程序,設(shè)備端的功能由功能單元來實(shí)現(xiàn),他們之間的聯(lián)系看作是邏輯上的數(shù)據(jù)流。由上述分析可知,對于運(yùn)動控制器的開發(fā),需要自己開發(fā)的主要有用戶軟件,設(shè)備驅(qū)動程序和用于實(shí)現(xiàn)設(shè)備端功能的下位機(jī)程序。 USB數(shù)據(jù)通訊結(jié)構(gòu)在串行通信中,由于信息在一個(gè)方向上傳輸,只占用一根(根據(jù)數(shù)據(jù)編碼的不同,可能采用兩根或多根)通訊線,因此這根線既作數(shù)據(jù)線又作聯(lián)絡(luò)線,也就是說要在一根傳輸線上既傳輸數(shù)據(jù)信息,又傳輸聯(lián)絡(luò)控制信息,這是串行通信的首要特點(diǎn)。為了在串行傳輸?shù)臄?shù)據(jù)流中識別出哪一部分是聯(lián)絡(luò)信號,哪一部分是數(shù)據(jù)信號,需要引入串行通行的一系列約定,即通行協(xié)議。因此串行通信的第二個(gè)特點(diǎn)就是他的信息格式有固定的要求。 傳輸(Transfer) USB規(guī)范定義傳輸為產(chǎn)生和執(zhí)行一個(gè)通信請求的過程。應(yīng)用程序可以調(diào)用一個(gè)標(biāo)準(zhǔn)API函數(shù)(如WriteFile, ReadFile)來向USB設(shè)備驅(qū)動程序請求傳輸數(shù)據(jù),啟動一個(gè)傳輸。傳輸請求被USB組織成IRPs(I/O Requests,I/O請求包)的形式往下傳遞給USB系統(tǒng)軟件,最后由主機(jī)控制器把IRPs劃分為事務(wù)送到總線上去執(zhí)行。最后的執(zhí)行結(jié)果返回給系統(tǒng)軟件,再由系統(tǒng)軟件返回給應(yīng)用程序。共有四種傳輸類型:控制傳輸、中斷傳輸、批量傳輸、和同步傳輸。傳輸由事務(wù)組成,事務(wù)由包組成,包又由域組成。他們之間關(guān)系如圖34所示。 事務(wù)(Transaction) 每一個(gè)傳輸包括一個(gè)或多個(gè)事務(wù)。USB規(guī)范定義事務(wù)為到一個(gè)設(shè)備終端的服務(wù)傳遞。共有三種事務(wù)類型:IN事務(wù)、OUT事務(wù)和SETUP事務(wù)。 傳輸輸出事務(wù)設(shè)置事務(wù)輸入事務(wù)數(shù)據(jù)包 令牌包握手包數(shù)據(jù)域校驗(yàn)域標(biāo)識域圖34 傳輸、事物、包和域之間的關(guān)系 Relation among transfer, transaction, packet and fieldSETUP事務(wù)發(fā)送控制傳輸請求給一個(gè)設(shè)備,只能用于控制傳輸;IN事務(wù)從一個(gè)設(shè)備接收數(shù)據(jù)到主機(jī),OUT事務(wù)從一個(gè)主機(jī)發(fā)送數(shù)據(jù)到一個(gè)設(shè)備他們可用于所有的傳輸類型。每個(gè)事物都包含一個(gè)設(shè)備地址和終端地址。每個(gè)事務(wù)包括識別、錯(cuò)誤檢測、狀態(tài)和控制信息,還有要被交換的數(shù)據(jù)。一個(gè)事務(wù)是一個(gè)單個(gè)通信,他必須被無中斷的完成。 包(Packet)和域(Field)每個(gè)事務(wù)由一個(gè)或多個(gè)包組成。包共有四種類型,即令牌包、數(shù)據(jù)包、握手包和特殊包。每個(gè)包有多個(gè)域組成。域可分為七種類型:同步域、標(biāo)識域(PID)、地址域、端點(diǎn)域、楨號域、數(shù)據(jù)域和校驗(yàn)域。每個(gè)包都以同步域開始,后面是一個(gè)包含了識別信息的PID開始,根據(jù)事務(wù)類型,在PID之后可能是一個(gè)地址、端點(diǎn)、數(shù)據(jù)、狀態(tài)信息或一個(gè)幀的編號,還有錯(cuò)誤校驗(yàn)位(CRC位)。表31是四類十種包及其標(biāo)識域信息。其中,USB 的數(shù)據(jù)包是按DATA0/1 的順序交替發(fā)送的。表31 包的類型及其標(biāo)識域信息Table 31 Type of packets and PID information數(shù)據(jù)包類型數(shù)據(jù)包名稱標(biāo)識域值(十六進(jìn)制)標(biāo)識域意義令牌包輸出包(OUT)0x87啟動一個(gè)方向?yàn)橹鳈C(jī)到設(shè)備的數(shù)據(jù)傳輸,并且包含了設(shè)備的地址和端點(diǎn)號輸入包(IN)0x96啟動一個(gè)方向?yàn)樵O(shè)備到主機(jī)的數(shù)據(jù)傳輸,并且包含了設(shè)備的地址和端點(diǎn)號楨起始包(SOF)0xA5表示一個(gè)楨的開始,并且包含了相應(yīng)楨號設(shè)置包(SETUP)0xB4啟動一個(gè)通過控制管道進(jìn)行設(shè)置的數(shù)據(jù)傳輸,并且包含了設(shè)備的地址和端點(diǎn)號數(shù)據(jù)包數(shù)據(jù)包0(DATA0)0xC3偶數(shù)據(jù)包數(shù)據(jù)包1(DATA1)0xD2奇數(shù)據(jù)包握手包確認(rèn)包(ACK)0x4B接收到?jīng)]有錯(cuò)誤的數(shù)據(jù)包無效包(NAK)0x5A接收端無法接收或發(fā)送端無法發(fā)送數(shù)據(jù)錯(cuò)誤包(STALL)0x78端點(diǎn)被禁止或不支持控制管道請求特殊包前導(dǎo)包(PRE)0x3C啟動下行端口的低速設(shè)備的數(shù)據(jù)傳輸 USB的控制傳輸與中斷傳輸用USB四種傳輸方式可以完成各種類型的數(shù)據(jù)傳輸。比如不可間斷的數(shù)據(jù)流的傳輸主要用同步傳輸方式來完成,大容量的數(shù)據(jù)傳輸可以用批量傳輸方式進(jìn)行,像鼠標(biāo)等數(shù)據(jù)傳輸量小的設(shè)備采用中斷傳輸方式,控制傳輸是USB枚舉階段最主要的數(shù)據(jù)交換方式。當(dāng)USB設(shè)備初次連接到主機(jī)后,就是通過控制傳輸來交信息、設(shè)備地址和讀取設(shè)備的描述符。這樣主機(jī)才能識別該設(shè)備并安裝相應(yīng)的驅(qū)動程序,其余三種傳輸方式才能夠應(yīng)用。通過對幾種傳輸方式性能的比較,在控制器中除了用控制傳輸外,采用中斷傳輸進(jìn)行上下位機(jī)之間信息的傳遞。下面主要對這兩種傳輸方式進(jìn)行介紹[27]。 中斷傳輸 中斷傳輸(Interrupt Transfer)由IN事務(wù)或OUT事務(wù)組成。這里“中斷”的意義只是表示傳輸要在規(guī)定時(shí)間內(nèi)盡快完成,因此可以保證傳輸?shù)膶?shí)時(shí)性。中斷傳輸支持錯(cuò)誤檢測和處理,中斷傳輸也使用數(shù)據(jù)循環(huán)校驗(yàn),確保沒有數(shù)據(jù)丟失,可以保證傳輸?shù)臏?zhǔn)確性。其結(jié)構(gòu)如圖45所示。中斷讀中斷寫令牌包階段INOUT數(shù)據(jù)包階段NAKSTALL 握手包階段ACKSTALLNAKACK空閑空閑空閑數(shù)據(jù)錯(cuò)誤由主機(jī)發(fā)送由設(shè)備發(fā)送DATA0/DATA1DATA0/DATA1圖35 中斷傳輸IN、OUT事務(wù)結(jié)構(gòu) IN/OUT transaction structure of interrupt transfer數(shù)據(jù)錯(cuò)誤1.令牌包階段。主機(jī)通過發(fā)送輸入包IN來啟動一個(gè)IN事務(wù);發(fā)送輸出包OUT,啟動一個(gè)OUT事務(wù)。2.?dāng)?shù)據(jù)包階段。IN事務(wù)中,設(shè)備首先對接收到的令牌包進(jìn)行解析,并有可能進(jìn)行三種動作:如果設(shè)備沒有準(zhǔn)備接受新的數(shù)據(jù),返回?zé)o效包NAK,事務(wù)就提前結(jié)束了,總線進(jìn)入空閑狀態(tài),主機(jī)將不斷地重試這個(gè)事務(wù);如果相應(yīng)的設(shè)備端點(diǎn)被禁止,設(shè)備就發(fā)送錯(cuò)誤包STALL,事務(wù)也提前結(jié)束,總線直接進(jìn)入空閑狀態(tài);如果設(shè)備端點(diǎn)正常,并且設(shè)備準(zhǔn)備新的中斷處理,則設(shè)備就會按主機(jī)的要求發(fā)送所需的數(shù)據(jù)。OUT事務(wù)中主機(jī)將緊接著按照DATA0和DATA1數(shù)據(jù)包交替觸發(fā)的順序來發(fā)送數(shù)據(jù)。3.握手包階段。IN事務(wù)中,如果主機(jī)正確的接受到了數(shù)據(jù),那么就會給設(shè)備發(fā)送ACK;如果數(shù)據(jù)包在傳輸過程中被破壞了,那么設(shè)備就直接將總線轉(zhuǎn)入空閑狀態(tài),等待下一次傳輸。OUT事務(wù)的握手包階段較為復(fù)雜,同IN事務(wù)的數(shù)據(jù)包階段相似。 控制傳輸 控制傳輸?shù)暮诵氖荢ETUP事務(wù),USB定義了較為復(fù)雜的控制傳輸?shù)慕Y(jié)構(gòu),將其分為初始設(shè)置步驟、可選數(shù)據(jù)步驟和狀態(tài)信息步驟。這三個(gè)步驟按順序依次進(jìn)行,“可選數(shù)據(jù)步驟”是可選的,如果沒有數(shù)據(jù)需要發(fā)送該步驟省略。后兩個(gè)步驟都是進(jìn)行數(shù)據(jù)的傳輸,其原理與中斷傳輸類似,下面重點(diǎn)介紹初始設(shè)置步驟,其結(jié)構(gòu)如圖36所示。令牌包階段:主機(jī)發(fā)送SETUP令牌包。數(shù)據(jù)包階段:主機(jī)發(fā)送固定為8個(gè)字節(jié)的DATA0包,并且有確定的結(jié)構(gòu)。通過這些命令信息,主機(jī)就能夠通知設(shè)備提供哪些數(shù)據(jù),依次來進(jìn)行配置。這些命令有些是要發(fā)送給設(shè)備數(shù)據(jù)的,比如設(shè)置地址信息;有些是要從設(shè)備讀取數(shù)據(jù),比如讀取設(shè)備的提取電流屬性;有些則不需要讀取讀/寫數(shù)據(jù),而這些讀/寫的數(shù)據(jù)都是要在接下來的“可選數(shù)據(jù)步驟”中來交換的??刂谱x/寫令牌包階段數(shù)據(jù)包階段握手包階段DATA0ACK空閑空閑由主機(jī)發(fā)送由設(shè)備發(fā)送SETUP圖36 控制傳輸?shù)摹俺跏荚O(shè)置步驟”結(jié)構(gòu) “Initial setup step”structure of control transfer握手包階段:設(shè)備在接受到主機(jī)的命令信息后,返回ACK。此后,總線進(jìn)入空閑狀態(tài),并準(zhǔn)備“可選數(shù)據(jù)步驟”的開始。 USB軟件編程基礎(chǔ) 標(biāo)準(zhǔn)USB設(shè)備請求命令 控制傳輸?shù)摹俺跏荚O(shè)置步驟”中包含了1個(gè)8字節(jié)的DATA0數(shù)據(jù)包,這個(gè)數(shù)據(jù)包是主機(jī)用來發(fā)送控制階段中的請求命令的,這些請求命令是主機(jī)配置USB設(shè)備的關(guān)鍵。將這8個(gè)字節(jié)分配給5種命令信息,即1個(gè)字節(jié)的請求命令類型bmRequestType、1字節(jié)的請求命令代碼bRequest、2字節(jié)的命令信息wValue、2字節(jié)的索引信息wIndex和2字節(jié)的傳輸數(shù)據(jù)大小信息wLength。標(biāo)準(zhǔn)USB設(shè)備請求命令共有表32所示的11種。表32 標(biāo)準(zhǔn)USB設(shè)備請求命令及其意義Table 32 Standard USB device request mands and their meaning請求命令名稱bRequest值命令意義GET_STATUS0返回特定接收者如端點(diǎn)、接口等的狀態(tài)信息CLEAR_FEATURE1清除或禁用端點(diǎn)、接口等接受者的特定信息SET_FEATURE3啟用或激活命令接受者的的某些特性SET_ADDRESS5主機(jī)給設(shè)備分配地址GET_DESCRIPTOR6主機(jī)獲取設(shè)備的特定描述符SET_DESCRIPTOR7主機(jī)修改設(shè)備中的描述符或增加新的描述符GET_CONFIGURATION8主機(jī)獲取設(shè)備當(dāng)前的配置值SET_CONFIGURATION9主機(jī)指示設(shè)備采用要求的配置GET_INTERFACE10主機(jī)獲取當(dāng)前某個(gè)接口的描述符編號SET_INTERFACE11主機(jī)要求設(shè)備用某個(gè)接口描述符描述接口SYNCH_FRAME12用于設(shè)備設(shè)置和報(bào)告一個(gè)端點(diǎn)的同步楨 標(biāo)準(zhǔn)USB描述符 描述符是描述USB 設(shè)備的格式化的信息塊,被保存在設(shè)備的某一存儲區(qū)域里。USB 設(shè)備有多種標(biāo)準(zhǔn)描述符:設(shè)備、配置、接口、端點(diǎn)和字符串描述符等。在設(shè)備的枚舉過程中,主機(jī)要用Get_Descriptor 命令請求這些描述符,根據(jù)這些描述符中的信息對設(shè)備進(jìn)行配置[28]。所有的USB 設(shè)備必須響應(yīng)主機(jī)對標(biāo)準(zhǔn)描述符的請求。USB 設(shè)備只有一個(gè)設(shè)備描述符。設(shè)備描述符從總體上描述設(shè)備的基本信息,它是設(shè)備連接上后主機(jī)讀取的第一個(gè)描述符。設(shè)備描述符包括設(shè)備描述符本身的信息(描述符長度和類型)、設(shè)備信息(USB 版本號、銷售商ID、
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1