




已閱讀5頁(yè),還剩34頁(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)介
基于三菱M16C%2f6N系列單片機(jī)的CAN%2fUSB協(xié)議轉(zhuǎn)換器 中北大學(xué)學(xué)位論文11研究背景第一章緒論隨著控制、計(jì)算機(jī)、通信、網(wǎng)絡(luò)等技術(shù)的發(fā)展,信息交換溝通的領(lǐng)域正在迅速覆蓋從工廠的現(xiàn)場(chǎng)設(shè)備層到控制、管理的各個(gè)層次。 尤其信息技術(shù)的飛速發(fā)展,引起了自動(dòng)化系統(tǒng)結(jié)構(gòu)的變革,逐步形成以網(wǎng)絡(luò)集成化系統(tǒng)為基礎(chǔ)的企業(yè)信息系統(tǒng)。 同時(shí),隨著個(gè)人電腦的大面積普及以及USB接口已經(jīng)逐漸成為計(jì)算機(jī)的標(biāo)準(zhǔn)配置,微機(jī)中心與現(xiàn)場(chǎng)設(shè)備之間運(yùn)用傳統(tǒng)的控制方式如基地式氣動(dòng)儀表控制、電動(dòng)單元組合式模擬儀表控制、集中式數(shù)字控制、集散控制等已經(jīng)完全跟不上信息時(shí)代的發(fā)展了。 上述控制方式不論在控制規(guī)模、傳輸速率以及傳輸?shù)目煽啃缘确矫娑济黠@比不上新的一種控制方式現(xiàn)場(chǎng)總線控制。 現(xiàn)場(chǎng)總線是應(yīng)用在生產(chǎn)現(xiàn)場(chǎng)、在微機(jī)化測(cè)量控制設(shè)備之間實(shí)現(xiàn)雙向串行多點(diǎn)數(shù)字通信的系統(tǒng),也被稱為開放式、數(shù)字化、多點(diǎn)通信的底層控制網(wǎng)絡(luò)。 現(xiàn)場(chǎng)總線控制主要概括有五種基金會(huì)現(xiàn)場(chǎng)總線控制、LonWorks、PROFIBUS、CAN、HART。 尤其CAN總線控制,通信協(xié)議層少、通信距離遠(yuǎn)等優(yōu)點(diǎn)足以和USB通信相互補(bǔ)充。 唯一不足的是,當(dāng)其相互通信時(shí),兩者之間的通信格式與通信速率不匹配。 基于此問(wèn)題,本論文設(shè)計(jì)了一個(gè)CANUSB協(xié)議轉(zhuǎn)換器來(lái)解決。 12CAN總線技術(shù)121CAN總線介紹CAN全稱為“Controller AreaNetwork”,即控制器局域網(wǎng),是國(guó)際上應(yīng)用最廣泛的現(xiàn)場(chǎng)總線之一。 最初,CAN被設(shè)計(jì)作為汽車環(huán)境中的微控制器通訊,在車載各電子控制裝置ECU之間交換信息,形成汽車電子控制網(wǎng)絡(luò)。 在一個(gè)由cAN總線構(gòu)成的單一網(wǎng)絡(luò)中,理論上可以掛接無(wú)數(shù)個(gè)節(jié)點(diǎn)。 實(shí)際應(yīng)用中,節(jié)點(diǎn)數(shù)目受網(wǎng)絡(luò)硬件的電氣特性所限制。 例如,當(dāng)使用TJAl050作為CAN收發(fā)器時(shí),同一網(wǎng)絡(luò)中1中北大摯學(xué)位論文允許掛接Ii0個(gè)節(jié)點(diǎn)。 CAN可提供高達(dá)iMbits的數(shù)據(jù)傳輸速率,這使得實(shí)時(shí)通訊變得非常容易。 另外,硬件的錯(cuò)誤檢定特性也增強(qiáng)了CAN的抗電磁干擾能力。 CAN是一種多主方式的串行通訊總線,基本設(shè)計(jì)規(guī)范要求有高的位速率,高抗電磁干擾性,而且能夠檢測(cè)出總線上產(chǎn)生的任何錯(cuò)誤。 當(dāng)信號(hào)傳輸距離達(dá)到10公里時(shí),CAN仍可提供高達(dá)5Kbits的數(shù)據(jù)傳輸速率。 122cAN總線協(xié)議CAN串行通訊協(xié)議,能有效的支持具有很高安全等級(jí)的分布式實(shí)時(shí)控制。 CAN總線規(guī)范按照識(shí)別符的范圍分可以分為兩種,11位標(biāo)志符的CAN2OA協(xié)議(標(biāo)準(zhǔn)格式)和29位標(biāo)志符的CAN2OB協(xié)議(擴(kuò)展模式)。 擴(kuò)展模式完全是在標(biāo)準(zhǔn)模式的基礎(chǔ)上的改進(jìn),其定義的地址范圍更寬,系統(tǒng)設(shè)計(jì)者將從考慮良好的結(jié)構(gòu)命名方案中得到解放。 由于標(biāo)準(zhǔn)協(xié)議和擴(kuò)展協(xié)議的基本結(jié)構(gòu)是一樣的,所以,本文以標(biāo)準(zhǔn)協(xié)議來(lái)討論。 同時(shí),本文也使用CAN2OA(標(biāo)準(zhǔn)協(xié)議)CAN被細(xì)分為以下不同的層次 (1)CAN對(duì)象層(the objectlayer) (2)CAN傳輸層(the transferlayer) (3)物理層(the phyicallayer)對(duì)象層和傳輸層包括所有由OSI模型定義的數(shù)據(jù)鏈路層的服務(wù)和功能。 對(duì)象層的作用范圍包括 (1)查找被發(fā)送的報(bào)文。 (2)確定由實(shí)際要使用的傳輸層接收哪一個(gè)報(bào)文。 (3)為應(yīng)用層相關(guān)硬件提供接口。 傳輸層的作用主要是傳送規(guī)則,也就是控制幀結(jié)構(gòu)、執(zhí)行仲裁、錯(cuò)誤檢測(cè)、出錯(cuò)標(biāo)定、故障界定。 總線上什么時(shí)候開始發(fā)送新報(bào)文以及什么時(shí)候開始接收?qǐng)?bào)文,均在傳輸層里確定。 位定時(shí)的一些普通功能也可以看作是傳輸層的一部分。 當(dāng)然,傳輸層的修改是受到限制的。 2中北大學(xué)學(xué)位論文物理層的作用是在不同節(jié)點(diǎn)之間根據(jù)所有的電氣屬性進(jìn)行位信息的實(shí)際傳輸。 當(dāng)然,同一網(wǎng)絡(luò)內(nèi),物理層對(duì)于所有的節(jié)點(diǎn)必須是相同的。 CAN節(jié)點(diǎn)的層結(jié)構(gòu)如表(11)所示。 (1)物理層定義實(shí)際信號(hào)的傳輸方法。 (2)傳輸層是CAN協(xié)議的核心。 它把接收到的報(bào)文提供給對(duì)象層,以及接收對(duì)象層的報(bào)文。 傳輸層負(fù)責(zé)位定時(shí)及同步、報(bào)文分幀、仲裁、應(yīng)答、錯(cuò)誤檢測(cè)和標(biāo)定、故障界定。 (3)對(duì)象層的功能是報(bào)文濾波以及狀態(tài)和報(bào)文的處理。 應(yīng)用層對(duì)象層報(bào)文過(guò)濾報(bào)文和狀態(tài)的處理傳輸層故障界定錯(cuò)誤檢測(cè)和標(biāo)定報(bào)文檢驗(yàn)應(yīng)答仲裁報(bào)文分析傳輸速率和定時(shí)物理層信號(hào)電平和位表示傳輸媒體表11cAN節(jié)點(diǎn)的層結(jié)構(gòu)表傳輸層主要負(fù)責(zé)信息的仲裁、傳送、應(yīng)答,在整個(gè)系統(tǒng)設(shè)計(jì)中起很重要的作用,其規(guī)則的確定對(duì)軟件設(shè)計(jì)影響很大,因此,本文重點(diǎn)討論一下傳輸層。 3中北大學(xué)學(xué)位論文報(bào)文傳輸由以下4個(gè)不同的幀類型表示和控制 (1)數(shù)據(jù)幀數(shù)據(jù)幀攜帶數(shù)據(jù)從發(fā)送器至接收器。 (2)遠(yuǎn)程幀總線單元發(fā)出遠(yuǎn)程幀,請(qǐng)求發(fā)送具有同一識(shí)別符的數(shù)據(jù)幀。 (3)錯(cuò)誤幀任何單元檢測(cè)到總線錯(cuò)誤就發(fā)出錯(cuò)誤幀。 (4)過(guò)載幀過(guò)載幀用以在先行的和后續(xù)的數(shù)據(jù)幀(或遠(yuǎn)程幀)之間提供一附加的延時(shí)。 1數(shù)據(jù)幀數(shù)據(jù)幀由7個(gè)不同的位場(chǎng)組成,包括幀起始、仲裁場(chǎng)、控制場(chǎng)、數(shù)據(jù)場(chǎng)、CRC場(chǎng)、應(yīng)答場(chǎng)、幀結(jié)尾。 數(shù)據(jù)場(chǎng)的長(zhǎng)度可以為0。 (1)幀起始它標(biāo)志數(shù)據(jù)幀和遠(yuǎn)程幀的起始,由一個(gè)單獨(dú)的“顯性” (0)位組成。 (2)仲裁場(chǎng)仲裁場(chǎng)包括識(shí)別符和遠(yuǎn)程發(fā)送請(qǐng)求位(RTR)。 識(shí)別符識(shí)別符的長(zhǎng)度為119_。 這些位的發(fā)送順序是從IDlO到ID一0。 最低位是ID-O。 最高的7位(ID-IO至IjID-4)必須不能全是“隱性”。 RTR位該位在數(shù)據(jù)幀中必須為“顯性”,而在遠(yuǎn)程幀里必須為“隱性”。 (3)控制場(chǎng)控制場(chǎng)由6個(gè)位組成,包括數(shù)據(jù)長(zhǎng)度代碼和兩個(gè)將來(lái)作為擴(kuò)展用的保留位。 所發(fā)送的保留位必須為“顯性”。 接收器接收所有由“顯性”和“隱性”組合在一起的位。 數(shù)據(jù)長(zhǎng)度代碼指示了數(shù)據(jù)場(chǎng)中字節(jié)數(shù)量。 數(shù)據(jù)長(zhǎng)度代碼為4個(gè)位,在控制場(chǎng)里被發(fā)送。 (4)數(shù)據(jù)場(chǎng)數(shù)據(jù)場(chǎng)由數(shù)據(jù)幀中的發(fā)送數(shù)據(jù)組成。 它可以為08個(gè)字節(jié),每字節(jié)包含了8個(gè)位,首先發(fā)送數(shù)據(jù)頭信息lsB。 (5)CRC場(chǎng)cRc場(chǎng)包括CRC序列(CRCSEQUENCE),其后是CRC界定符(CRCDELIMITER)。 CRC場(chǎng)主要是對(duì)錯(cuò)誤進(jìn)行界定。 (6)應(yīng)答場(chǎng)應(yīng)答場(chǎng)長(zhǎng)度為2個(gè)位,包含應(yīng)答間隙(ACK SLOT)和應(yīng)答界定符(ACKDELIMITER)。 在應(yīng)答4中北大學(xué)學(xué)位論文場(chǎng)里,發(fā)送站發(fā)送兩個(gè)“隱性”位。 當(dāng)接收器正確地接收到有效的報(bào)文,接收器就會(huì)在應(yīng)答間隙(kCK SLOT)期間(發(fā)送ACK信號(hào))向發(fā)送器發(fā)送一“顯性”位以示應(yīng)答。 應(yīng)答間隙所有接收到匹配CRe序列(CRCSEQUENCE)的站會(huì)在應(yīng)答間隙(ACK SLOT)期間用一“顯性”位寫入發(fā)送器的“隱性”位來(lái)回答。 ACK界定符ACK界定符是ACK場(chǎng)的第二個(gè)位,并且是一個(gè)必須為“隱性”的位。 因此,應(yīng)答間隙(AcK SLOT)被兩個(gè)“隱性”的位所包圍,也就是CRC界定符(CRCDELIMITER)和ACK界定符(ACKDELIMITER)。 (7)幀結(jié)尾每一個(gè)數(shù)據(jù)幀和遠(yuǎn)程幀均由一標(biāo)志序列界定。 這個(gè)標(biāo)志序列由7個(gè)“隱性”位組成。 2遠(yuǎn)程幀通過(guò)發(fā)送遠(yuǎn)程幀,作為某數(shù)據(jù)接收器的站通過(guò)其資源節(jié)點(diǎn)對(duì)不f司的數(shù)據(jù)傳送進(jìn)行初始化設(shè)置。 遠(yuǎn)程幀由6個(gè)不同的位場(chǎng)組成幀起始、仲裁場(chǎng)、控制場(chǎng)、CRC場(chǎng)、應(yīng)答場(chǎng)、幀末尾。 與數(shù)據(jù)幀相反,遠(yuǎn)程幀的RTR位是“隱性”的。 它沒有數(shù)據(jù)場(chǎng),數(shù)據(jù)長(zhǎng)度代碼的數(shù)值是不受制約的(可以標(biāo)注為容許范圍里08的任何數(shù)值)。 此數(shù)值是相應(yīng)于數(shù)據(jù)幀的數(shù)據(jù)長(zhǎng)度代碼。 RTR位的極性表示了所發(fā)送的幀是一數(shù)據(jù)幀(RTR位“顯性”)還是一遠(yuǎn)程幀(RTR“隱性”)。 3錯(cuò)誤幀錯(cuò)誤幀由兩個(gè)不同的場(chǎng)組成。 第一個(gè)場(chǎng)用作為不同站提供的錯(cuò)誤標(biāo)志(ERRORFLAG)的疊加。 第二個(gè)場(chǎng)是錯(cuò)誤界定符。 為了能正確地終止錯(cuò)誤幀,一“錯(cuò)誤被動(dòng)”的節(jié)點(diǎn)要求總線至少有長(zhǎng)度為3個(gè)位時(shí)間的總線空閑(如果“錯(cuò)誤被動(dòng)”的接收器有本地錯(cuò)誤的話)。 因此,總線的載荷不應(yīng)為100。 有兩種形式的錯(cuò)誤標(biāo)志,主動(dòng)錯(cuò)誤標(biāo)志(Active errorflag)和被動(dòng)錯(cuò)誤標(biāo)志(Passive errorflag)。 主動(dòng)錯(cuò)誤標(biāo)志由6個(gè)連續(xù)的“顯性”位組成。 被動(dòng)錯(cuò)誤標(biāo)志由6個(gè)連續(xù)的“隱性”的位組成,除非被其他節(jié)點(diǎn)的“顯性”位重寫。 檢測(cè)到錯(cuò)誤條件的“錯(cuò)誤主動(dòng)”的站通過(guò)發(fā)送主動(dòng)錯(cuò)誤標(biāo)志來(lái)指示錯(cuò)誤。 錯(cuò)誤標(biāo)志的形式破壞了從幀起始到cRc界定符的位填充規(guī)則,或者破壞了應(yīng)答場(chǎng)或幀末尾場(chǎng)的固定形式。 所有其他的站由此檢測(cè)到錯(cuò)誤條件并與此同時(shí)開始發(fā)送錯(cuò)誤標(biāo)志。 因此,“顯性”位(此“顯性”位可以在總線上監(jiān)視)的序列導(dǎo)致一個(gè)結(jié)果,這個(gè)結(jié)果就是把各個(gè)單獨(dú)站發(fā)送的不同的錯(cuò)誤標(biāo)志疊加在一起。 這個(gè)順序的總長(zhǎng)度最小為6個(gè)位,最太為12個(gè)位。 檢測(cè)到錯(cuò)誤條件的“錯(cuò)誤被動(dòng)”5中北大孥學(xué)位論文的站試圖通過(guò)發(fā)送被動(dòng)錯(cuò)誤標(biāo)志,以指示錯(cuò)誤。 “錯(cuò)誤被動(dòng)”的站等待6個(gè)相同極性的連續(xù)位(這6個(gè)位處于被動(dòng)錯(cuò)誤標(biāo)志的開始)。 當(dāng)這6個(gè)相同的位被檢測(cè)到時(shí),被動(dòng)錯(cuò)誤標(biāo)志的發(fā)送就完成了。 錯(cuò)誤界定符包括8個(gè)“隱性”的位。 錯(cuò)誤標(biāo)志傳送了以后,每一站就發(fā)送“隱性”的位,并一直監(jiān)視總線直到檢測(cè)出一個(gè)“隱性”的位為止。 然后就開始發(fā)送7位以上的“隱性”位。 4過(guò)載幀過(guò)載幀包括兩個(gè)位場(chǎng)過(guò)載標(biāo)志和過(guò)載界定符。 有兩種過(guò)載條件都會(huì)導(dǎo)致過(guò)載標(biāo)志的傳送 (1)接收器的內(nèi)部條件(此接收器對(duì)于下一數(shù)據(jù)幀或遠(yuǎn)程幀需要有一延時(shí))。 (2)間歇場(chǎng)期間檢測(cè)到一“顯性”位。 由過(guò)載條件 (1)而引發(fā)的過(guò)載幀只允許起始于所期望的間歇場(chǎng)的第一個(gè)位時(shí)間開始。 而由過(guò)載條件 (2)引發(fā)的過(guò)載幀應(yīng)起始于所檢測(cè)到“顯性”位之后的位。 通常為了延時(shí)下一個(gè)數(shù)據(jù)幀或遠(yuǎn)程幀,兩個(gè)過(guò)載幀都會(huì)產(chǎn)生過(guò)載標(biāo)志。 (1)過(guò)載標(biāo)志由6個(gè)“顯性”的位組成。 過(guò)載標(biāo)志的所有形式和主動(dòng)錯(cuò)誤標(biāo)志的一樣。 過(guò)載標(biāo)志的形式破壞了間歇場(chǎng)的固定形式。 因此,所有其他的站都檢測(cè)到過(guò)載條件并與此同時(shí)發(fā)出過(guò)載標(biāo)志。 (2)過(guò)載界定符過(guò)載界定符包括8個(gè)“隱性”的位。 過(guò)載界定符的形式和錯(cuò)誤界定符的形式一樣。 過(guò)載標(biāo)志被傳送后,站就一直監(jiān)視總線直到檢測(cè)到一個(gè)從“顯性”位到“隱性”位的發(fā)送。 此時(shí),總線上的每一個(gè)站完成了過(guò)載標(biāo)志的發(fā)送,并開始同時(shí)發(fā)送7個(gè)以上的“隱性”位。 13USB總線通信131USB總線簡(jiǎn)介USB(Universal SerialBus)是一種通用串行總線。 隨著技術(shù)水平的提高和計(jì)算機(jī)的廣泛應(yīng)用,人們對(duì)串行通信提出了更高的要求。 開發(fā)一種兼容低速和高速的技術(shù),從而為廣6中北大孝學(xué)位論文大用戶提供一種可共享的、可擴(kuò)充的、使用方便的串行總線成為眾多廠商的共同目標(biāo)。 為了實(shí)現(xiàn)整個(gè)計(jì)算機(jī)系統(tǒng)中總線的一致性,rhPAO、INTEL、MICROSOFT和NEC等公司共同開發(fā)的一種新的、快速的、雙向的、同步傳輸?shù)牟⒖蔁岵灏蔚臄?shù)據(jù)傳輸總線,簡(jiǎn)稱USB總線。 132通信結(jié)構(gòu)USB協(xié)議所說(shuō)的通信指的是USB設(shè)備和USB主機(jī)之間的通信。 物理上,總線上的設(shè)備通過(guò)一條物理連線和主機(jī)通信,所有的設(shè)備共享這條物理鏈路。 邏輯上,主機(jī)給每個(gè)設(shè)備提供了一條邏輯的連接,每個(gè)設(shè)備都有這樣一條點(diǎn)對(duì)點(diǎn)的連接。 USB通信邏輯上分為三層信號(hào)層、協(xié)議層和數(shù)據(jù)傳輸層。 信號(hào)層用來(lái)實(shí)現(xiàn)在USB設(shè)備和主機(jī)物理連接之間傳輸為信息流的信息。 邏輯層用來(lái)實(shí)現(xiàn)在USB設(shè)備和USB主機(jī)短的協(xié)議軟件之間傳輸包字節(jié)流的信息。 數(shù)據(jù)傳輸層用來(lái)實(shí)現(xiàn)在IJSB主機(jī)段的客戶驅(qū)動(dòng)程序和設(shè)備段的功能接口之間傳輸有一定意義的信息,這些信息在協(xié)議層被打包成包格式。 協(xié)議邏輯上將設(shè)備分成了三層實(shí)體總線接口、端點(diǎn)和功能接口。 11圖顯示了USB主機(jī)和USB設(shè)備通信的邏輯結(jié)構(gòu)和媒體層的邏輯通道。 數(shù)據(jù)傳輸層USB設(shè)備=接El(Interface)USB主機(jī)協(xié)議層I=端,點(diǎn)(Endpoint)I信號(hào)層。 u5B總線接口(物理接口l=邏輯通信+物理通信圖11USB通信的邏輯結(jié)構(gòu)7中北大季學(xué)位論文133傳輸?shù)幕締卧?編碼方式USB系統(tǒng)采用反向不歸零(NRZI)的信號(hào)方式。 2包的組成USB包m5個(gè)部分組成同步字段(SYNC)、包標(biāo)示符字段(PID)、數(shù)據(jù)字段、循環(huán)冗余校驗(yàn)字段(CRC)和冗余校驗(yàn)字段(CRC)。 圖12顯示了包的基本格式。 同步字段PID字段數(shù)據(jù)字段CRC字段包結(jié)尾字段I(SYNC)(EOP)圖12USB數(shù)據(jù)包結(jié)構(gòu) (1)同步字段(SYNC)同步字段用于數(shù)據(jù)包同步,由8個(gè)數(shù)據(jù)位組成,目的是使USB設(shè)備與總線的包傳輸率同步。 (2)包標(biāo)示符字段(PID)PID是USB包的必要組成部分,任何一個(gè)USB包的第二個(gè)字節(jié)都必須為該包的PID。 報(bào)標(biāo)識(shí)符長(zhǎng)度為一個(gè)字節(jié),由4個(gè)位的包類型字段和4個(gè)位的校驗(yàn)字段構(gòu)成。 (3)數(shù)據(jù)字段數(shù)據(jù)字段用來(lái)攜帶主機(jī)與設(shè)備之間傳遞的信息,其內(nèi)容與長(zhǎng)度根據(jù)標(biāo)識(shí)符、傳輸類型的不同而不同。 在USB包中,數(shù)據(jù)字段可以包含設(shè)備地址、端點(diǎn)好、幀序列號(hào)積極數(shù)據(jù)內(nèi)容。 (4)循環(huán)冗余校驗(yàn)字段(CRC)CRC字段是用來(lái)對(duì)包中的數(shù)據(jù)信息進(jìn)行錯(cuò)誤保護(hù)的,它是以包中數(shù)據(jù)字段的存在而存在的,PID字段有自己的校驗(yàn)方式,不再CRC的校驗(yàn)范圍之中。 CRC字段包括數(shù)據(jù)CRC和令牌CRC兩種。 (5)包結(jié)尾字段(EOP)包結(jié)尾字段由差分線路的兩根數(shù)據(jù)線保持2LL特低位時(shí)問(wèn)和1比特空閑位時(shí)間組成。 USB主機(jī)和USB設(shè)備根據(jù)EOP判斷數(shù)據(jù)包的結(jié)束。 8中北大摯學(xué)位論文134包的類型l_令牌包當(dāng)數(shù)據(jù)包中的PID類型為令牌類型時(shí),該數(shù)據(jù)包被稱為令牌包。 在USB系統(tǒng)中,所有的事務(wù)處理都始于令牌包,它是由USB主機(jī)唯一的發(fā)送到總線上的。 根據(jù)PID的不同,令牌包又分4種起始令牌包(SOF)、輸入令牌包(IN),輸出令牌包(OUT)和用于控制傳輸?shù)脑O(shè)置令牌包(SETUP)。 (1)起始令牌(SOF)當(dāng)數(shù)據(jù)包的PID為SOF時(shí),該數(shù)據(jù)包被稱為幀起始令牌包。 (2)設(shè)置令牌包(SETUP)當(dāng)令牌包的PID為SETUP時(shí),該數(shù)據(jù)包被稱為設(shè)置令牌包。 (3)輸入令牌包(IN)當(dāng)令牌包的PID為IN時(shí),該數(shù)據(jù)包被稱為輸入令牌包。 (4)輸出令牌包(OUT)當(dāng)令牌包的PID為OUT時(shí),該數(shù)據(jù)包被稱為輸出令牌包。 2數(shù)據(jù)包當(dāng)數(shù)據(jù)包中的PID類型為數(shù)據(jù)類型時(shí),該數(shù)據(jù)包被稱為令牌包。 數(shù)據(jù)包中裝有主機(jī)和設(shè)備之傳輸?shù)臄?shù)據(jù)信息。 3握手包(Handshake Packet)當(dāng)數(shù)據(jù)包中的PID類型為握手類型時(shí),該數(shù)據(jù)包被稱為握手包。 握手包應(yīng)用于事務(wù)處理的最后時(shí)相(Phase),用來(lái)報(bào)告事務(wù)處理過(guò)程中接受的狀態(tài)。 4前導(dǎo)包當(dāng)USB數(shù)據(jù)包的PID為PRE時(shí),該數(shù)據(jù)包被稱為前導(dǎo)包。 前導(dǎo)包是為了使傳統(tǒng)系統(tǒng)區(qū)分全速傳輸和低速傳輸而產(chǎn)生的,它的目的是為了提醒USB集線器系統(tǒng)要傳輸?shù)南乱粋€(gè)包是一個(gè)低速包。 13,5事務(wù)處理在USB上數(shù)據(jù)信息的次接收或發(fā)送的處理過(guò)程稱為事務(wù)處理,事務(wù)處理的類型包括輸入事務(wù)處理、輸出事務(wù)處理、設(shè)置事務(wù)處理和幀起始、幀結(jié)尾等類型。 9中北大孥學(xué)位論文1輸入事務(wù)處理輸入事務(wù)處理表示USB主機(jī)從總線上的某個(gè)USB設(shè)備接收一個(gè)數(shù)據(jù)包的過(guò)程。 輸入事務(wù)處理包括以下幾種典型情況 (1)數(shù)據(jù)的正確輸入過(guò)程。 (2)數(shù)據(jù)包發(fā)送錯(cuò)誤。 (3)設(shè)備未準(zhǔn)備好數(shù)據(jù)。 (4)設(shè)備出錯(cuò)。 (5)實(shí)時(shí)傳輸?shù)妮斎胧聞?wù)處理。 2輸出事務(wù)處理輸出事務(wù)處理表示USB主機(jī)向總線上的某個(gè)USB設(shè)備發(fā)送一個(gè)數(shù)據(jù)包的過(guò)程。 3設(shè)置事務(wù)處理設(shè)置事務(wù)處理僅在控制傳輸中使用,表示USB主機(jī)向某個(gè)USB設(shè)備發(fā)送控制命令。 4幀起始事務(wù)處理幀起始事務(wù)處理的過(guò)程只有令牌時(shí)相,用于傳輸幀起始令牌包。 主機(jī)通過(guò)此過(guò)程通知所有設(shè)備新的一幀的開始,它不要求設(shè)備返回任何握手信息。 5幀結(jié)尾事務(wù)處理幀結(jié)尾事務(wù)處理表示一幀的結(jié)束,有USB主機(jī)控制器廣播發(fā)出。 L幀的定義從時(shí)間單位上看,一幀的長(zhǎng)度為lms,系統(tǒng)中所有的事務(wù)處理過(guò)程都是在一個(gè)個(gè)以幀為單位的時(shí)問(wèn)周期內(nèi)完成的。 從長(zhǎng)度上來(lái)看,一幀的數(shù)據(jù)長(zhǎng)度為12000lL特,如果所有的事務(wù)處理不能占滿整個(gè)幀長(zhǎng)時(shí),主機(jī)會(huì)填充空閑位。 一幀可以容納四種傳輸類型的許多事務(wù)處理過(guò)程,圖13顯示了幀、事務(wù)處理和包的關(guān)系。 10囂淼B一卿舭蜘剛腳艄黼號(hào)位比特信總。 賄絮巍嬲稍耨n的n一一一一一渺刪桫一剛3中北大擎學(xué)位論文 (2)如果總線傳輸出現(xiàn)錯(cuò)誤,傳送失敗,可進(jìn)行重發(fā)。 (3)有確認(rèn)的數(shù)據(jù)傳輸,但不保證傳輸?shù)膸捄脱舆t。 (4)只有當(dāng)獲得空閑的帶寬時(shí),批量傳輸才會(huì)發(fā)生。 2控制傳輸控制傳輸是USB協(xié)議中唯一傳輸U(kuò)SB命令函數(shù)的傳輸類型,命令函數(shù)是EhOSB主機(jī)發(fā)起的,旨在完成對(duì)系統(tǒng)中的USB設(shè)備進(jìn)行系統(tǒng)配置、狀態(tài)查詢和管理等操作。 控制傳輸具有以下特點(diǎn) (1)控制傳輸由以下幾個(gè)事務(wù)處理組成建立聯(lián)系,把請(qǐng)求信息從主機(jī)傳到它的應(yīng)用設(shè)備;零個(gè)或多個(gè)數(shù)據(jù)傳送的事務(wù)處理,按照命令中指明的方向傳送數(shù)據(jù);狀態(tài)信息回傳。 (2)用于控制傳輸?shù)脑O(shè)備的端點(diǎn)是雙向的,既可以接收數(shù)據(jù)包又可以發(fā)送數(shù)據(jù)包,相應(yīng)的控制管道也是雙向的。 (3)所有的設(shè)備必須有至少一個(gè)控制端點(diǎn),且端點(diǎn)號(hào)為0。 (4)是可靠的數(shù)據(jù)傳輸,支持錯(cuò)誤檢測(cè)和數(shù)據(jù)重傳,并盡可能滿足主機(jī)和設(shè)備的同步。 (5)控帝4機(jī)制提供訪問(wèn)設(shè)備描述符和命令操作的機(jī)制。 (6)系統(tǒng)沒有為控制傳輸指定訪問(wèn)總線的頻率和帶寬,一般由usB協(xié)議軟件從全局優(yōu)先角度來(lái)考慮。 3中斷傳輸中斷傳輸是為這樣一類設(shè)備設(shè)計(jì)的,他們只發(fā)送或接收少量的數(shù)據(jù),而且并不經(jīng)常進(jìn)行數(shù)據(jù)傳輸,但他們有一個(gè)確定的傳輸周期,每隔一定的周期要求傳輸一次。 使用這種傳輸方式的設(shè)備有鍵盤、鼠標(biāo)、游戲桿等。 中斷傳輸具有以下特點(diǎn) (1)中斷傳輸管道的晶大服務(wù)周期必須得到保證。 (2)由于錯(cuò)誤而引起的數(shù)據(jù)重傳將在下-N務(wù)周期進(jìn)行。 (3)數(shù)據(jù)的結(jié)尾也是通過(guò)預(yù)報(bào)的最大傳輸字節(jié)數(shù)來(lái)確定。 (4)設(shè)備中用于中斷傳輸?shù)亩它c(diǎn)可用來(lái)為某些實(shí)時(shí)傳輸傳達(dá)其速率的反饋信息,例如音頻設(shè)備。 4實(shí)時(shí)傳輸12中北大孥學(xué)位論文實(shí)時(shí)傳輸主要用于與時(shí)間緊密相關(guān)的信息傳輸,時(shí)間的信息存在于實(shí)時(shí)傳輸?shù)陌Y(jié)構(gòu)中。 它能保證設(shè)備與USB主機(jī)之間恒定的數(shù)據(jù)傳輸速率,確保發(fā)送方與接收方的速率匹配。 是一種周期性數(shù)據(jù)傳輸方式。 實(shí)時(shí)傳輸具有以下特點(diǎn) (1)數(shù)據(jù)傳輸有固定的時(shí)間延遲。 (2)允許有一定的誤碼率。 138USB傳輸?shù)慕研?數(shù)據(jù)傳輸中的同步USB提供了一種機(jī)制來(lái)保證數(shù)據(jù)發(fā)送端和接收端之間的多個(gè)事務(wù)處理中數(shù)據(jù)序列的同步,即同步切換技術(shù)。 這種機(jī)制也保證了數(shù)據(jù)發(fā)送端和接收端都能正確地解釋事務(wù)處理的握手時(shí)相。 2錯(cuò)誤檢測(cè)和恢復(fù)除了實(shí)時(shí)傳輸外,USB是一種允許物理上產(chǎn)生錯(cuò)誤信號(hào)的可靠的端到端的通信方式,這主要取決于協(xié)議可靠的錯(cuò)誤檢測(cè)能力和對(duì)事務(wù)處理的出錯(cuò)恢復(fù)能力。 13中北大擎學(xué)位論文第二章協(xié)議轉(zhuǎn)換器的硬件設(shè)計(jì)21協(xié)議轉(zhuǎn)換器的整體設(shè)計(jì)211協(xié)議轉(zhuǎn)換器的通信原理協(xié)議轉(zhuǎn)換器兩端連接好設(shè)備與Pc機(jī)后,Pc機(jī)向下發(fā)送對(duì)設(shè)備的各種控制命令及數(shù)據(jù),這些命令和數(shù)據(jù)進(jìn)入U(xiǎn)SB全速節(jié)點(diǎn)控制器USB9604的FIFO中,收到命令或數(shù)據(jù)的同時(shí),節(jié)點(diǎn)控制器向CPU發(fā)出接收成功中斷,CPU響應(yīng)中斷讀取FIFO中的數(shù)據(jù)或命令并譯碼,然后,將譯碼后的數(shù)據(jù)或命令與預(yù)設(shè)的ID組合成一組報(bào)文所要求的格式后寫入CAN控制器的某個(gè)發(fā)信箱。 最后,這些數(shù)據(jù)和命令經(jīng)過(guò)CAN總線發(fā)送到現(xiàn)場(chǎng)設(shè)備。 現(xiàn)場(chǎng)設(shè)備向上發(fā)送設(shè)備狀態(tài)的過(guò)程類似。 首先,CAN控制器的某個(gè)報(bào)箱通過(guò)CAN總線接收設(shè)備上傳信息,同時(shí)向CPU發(fā)出接收成功中斷,CPU響應(yīng)中斷從該報(bào)箱中讀取數(shù)據(jù)信息并組合成一個(gè)完整的USB包,然后經(jīng)單片機(jī)外部數(shù)據(jù)線將USB數(shù)據(jù)包寫入到節(jié)點(diǎn)控制器的FIFO中,再經(jīng)USB總線發(fā)送到PC機(jī)。 一次完整的接收發(fā)送通信過(guò)程完成。 212協(xié)議轉(zhuǎn)換器的整體設(shè)計(jì)協(xié)議轉(zhuǎn)換器的核心部分采用單片機(jī)來(lái)控制,負(fù)責(zé)接收和發(fā)送USB接口和CAN接口分別與上位機(jī)和現(xiàn)場(chǎng)設(shè)備的通信信息。 由于目前還沒有即內(nèi)置有USB接口又內(nèi)置有CAN接口的單片機(jī)系列,因而此單片機(jī)可選擇三菱Mi6C6N系列單片機(jī)M306NBFCTFP協(xié)議轉(zhuǎn)換器的核心,其內(nèi)置的CAN控制器支持CAN20協(xié)議的A部分和B部分。 另外,單片機(jī)外接一個(gè)USB控制器。 本設(shè)計(jì)選擇National Semiconductor公司的USB9604芯片,負(fù)責(zé)接收上位機(jī)向下發(fā)送的命令或數(shù)據(jù)信息,同時(shí),設(shè)備向上傳送的數(shù)據(jù)信息經(jīng)芯片返回到上位機(jī)。 同時(shí),作為單片機(jī)周邊電路設(shè)計(jì),協(xié)議轉(zhuǎn)換器還應(yīng)有一個(gè)RS232接口以便直接與Pc進(jìn)行串行通信以及一個(gè)ADC接口,負(fù)責(zé)接收現(xiàn)場(chǎng)設(shè)備的模擬信號(hào)等。 14中北大摯學(xué)位論文22CANUSB協(xié)議轉(zhuǎn)換器的硬件設(shè)計(jì)221概述CANUSB協(xié)議轉(zhuǎn)換的硬件電路原理框圖如圖21所示。 本原理圖根據(jù)CANUSB協(xié)議轉(zhuǎn)換器的整體設(shè)計(jì)規(guī)格設(shè)計(jì),并參照了三菱M166N系列單片機(jī)的DataSheet,以及National Semiconductor公司的全速USB節(jié)點(diǎn)控制器芯片USBN9604的data Sheet。 其它參考資料包括 (1)USBl1協(xié)議; (2)CAN2OB協(xié)議; (3)PHilips的高速CAN收發(fā)器TJAl050說(shuō)明書; (4)MaxiIll的RS232電平轉(zhuǎn)換器MAX202E的Data Sheet;圖21協(xié)議轉(zhuǎn)換器的硬件電路框圖三菱116C6N系列單片機(jī)M306NBFCTFP作為整個(gè)系統(tǒng)的核心,內(nèi)置的全速CAN控制器支持CAN20協(xié)議的A部分和8部分,外擴(kuò)高速CAN收發(fā)器TJAl050T與CAN總線接口,構(gòu)成本IFBOX的CAN接臼。 USB控制器采用Natioilal SeffJicondUetor公司的USBN9604或9603芯片,15中北大孚學(xué)位論文其內(nèi)置的串行接口引擎(SIE)可以與USB總線直接接13,構(gòu)成本IFBOX的USB接口。 單片機(jī)M306NBFCTFP內(nèi)置的UARTl外擴(kuò)電平轉(zhuǎn)換器MAX232A構(gòu)成RS232接口,用于調(diào)試和在線編程目的。 當(dāng)單片機(jī)工作于標(biāo)準(zhǔn)串行IO模式(StandarSerial io Mode)時(shí)可以使用軟件編程器對(duì)單片機(jī)內(nèi)部的flash ROM區(qū)進(jìn)行編程。 下面幾節(jié)對(duì)各部分的電原理給出詳細(xì)說(shuō)明。 包括 (1)USB接口 (2)CAN接口 (3)RS232(ISP)接口并對(duì)一些附屬電路進(jìn)行附帶說(shuō)明。 222協(xié)議轉(zhuǎn)換器的硬件構(gòu)成本設(shè)計(jì)除三菱M306NBFCTFP單片機(jī)及其外擴(kuò)的高速CAN總線收發(fā)器TJAl050T外,USB控制器采用National Semiconductor公司的全速USB節(jié)點(diǎn)控制器USB9604,它支持DMA數(shù)據(jù)傳輸。 此外,協(xié)議轉(zhuǎn)換器還有一些補(bǔ)充電路,如復(fù)位電路、時(shí)鐘發(fā)生電路等。 另外,為方便調(diào)試和在線編程,單片機(jī)內(nèi)置的UART接口還外擴(kuò)了電平轉(zhuǎn)換器MAX232A構(gòu)成RS232接口。 CANUSB協(xié)議轉(zhuǎn)換器電路原理圖如圖22所示16中北大摯學(xué)位論文圖22協(xié)議轉(zhuǎn)換器電路原理圖(protocol transitioner)附21三菱M306NBFCTFP單片機(jī)的主要特性1存儲(chǔ)器容量Flash ROM128KB,RAM5KB,存儲(chǔ)器擴(kuò)展4MB最大2最短指令周期625ns(16MHz主時(shí)鐘,不使用軟件等待)lOOns(20MHz主時(shí)鐘12預(yù)分頻,不使用軟件等待)3外部數(shù)據(jù)總線寬度一一8位16位可選4供電電壓4255VDC5中斷29個(gè)內(nèi)部中斷源,9個(gè)外部中斷源,4個(gè)軟件中斷源,7個(gè)中斷優(yōu)先級(jí)6串行110口4個(gè)通道(3個(gè)UART或時(shí)鐘同步,一個(gè)僅時(shí)鐘同步)7DMA控制器2個(gè)通道(23個(gè)觸發(fā)源)8AD轉(zhuǎn)換器10bit,26個(gè)模擬量輸入9DA轉(zhuǎn)換器8bit,2個(gè)模擬輸出10Watchdog定時(shí)器15bi t17中北大拿學(xué)位論文配置11可編程io口87根12輸入口l根,P85與NMI(不可屏蔽中斷輸入)引腳共用13片選輸出4根14時(shí)鐘發(fā)生電路2個(gè)片內(nèi)時(shí)鐘發(fā)生電路,主時(shí)鐘和子時(shí)鐘15CAN模塊1個(gè)通道,符合BOSCH2OB CAN協(xié)議規(guī)范,并具有以下 (1)報(bào)文Mailbox16個(gè)(每個(gè)。 16字節(jié)) (2)收信濾波屏蔽寄存器3個(gè),(每個(gè)5字節(jié)),1個(gè)用于全局,2個(gè)用于局部屏蔽 (3)特殊功能寄存器9個(gè),包括控制寄存器,狀態(tài)寄存器,mailbox狀態(tài)寄存器,中斷控制寄存器,擴(kuò)展ID寄存器,配置寄存器,收信和發(fā)信錯(cuò)誤計(jì)數(shù)寄存器,時(shí)問(wèn)標(biāo)簽寄存器中斷 (4)中斷4個(gè),包括成功接收和發(fā)送中斷,傳輸錯(cuò)誤中斷,喚醒223接口1接口一覽序號(hào)接口名功能描述lUSB通過(guò)USB接口與主機(jī)通信2RS232調(diào)試用串行接口;ISP編程接口3CANCAN通信4ADC預(yù)留兩個(gè)接口,接收外設(shè)模擬信號(hào)2接口詳細(xì)USB接口處理要求(規(guī)格)USB規(guī)范V11版本Chapter718中北大孥學(xué)位論文CANUSB接口整體設(shè)計(jì)規(guī)格信號(hào)一覽USl3葉差分信號(hào)+USB D一差分信號(hào)一VBUSUSB總線+5VGNDRS232接口處理要求RS232規(guī)范兼容CANUSB接口整體設(shè)計(jì)規(guī)格信號(hào)一覽RXD-一收信數(shù)據(jù)Tx卜發(fā)信數(shù)據(jù)GND幀構(gòu)成起始位1,數(shù)據(jù)位8,校驗(yàn)位N,停止位1通訊速度9600bps57600bpsCAN接口處理要求CAN總線規(guī)范V20版本B部分TJM050T全速CAN收發(fā)器Data SheetCANUSB接口整體設(shè)計(jì)規(guī)格信號(hào)一覽CANH差分信號(hào)HCANL差分信號(hào)LGND19中北大孥學(xué)位論文ADC接口處理要求CANUS8接13整體設(shè)計(jì)規(guī)格分辨率lOBit變換方式6通道掃描信號(hào)一覽外設(shè)電平輸入 (1)USB接口USB接口由全速節(jié)點(diǎn)控制器芯片USBN9604通過(guò)分時(shí)復(fù)用的數(shù)據(jù)地址總線與單片機(jī)M306NB相連而組成,并附加了一些控制信號(hào)線,以及些附屬的保護(hù)電路。 單片機(jī)方面,BYTE引腳與VCC相連,以選擇外部數(shù)據(jù)總線的寬度為8位。 外部地址總線的寬度通過(guò)固件設(shè)置為16位,其中低8位與數(shù)據(jù)總線分時(shí)復(fù)用,高8位懸空不用。 圖23為USB硬件接口電路圖圖23USB接口硬件結(jié)構(gòu)USBN9604方面,通過(guò)將MODEO引腳與VCC相連、MODEl引腳與Vss相連20中北大摯學(xué)位論文選擇芯片工作于分時(shí)復(fù)用總線模式,與單片機(jī)配合。 USBN9604也可以選擇為分立總線模式,但CPU對(duì)其讀寫時(shí)須分次進(jìn)行,先寫入地址,再讀出寫入數(shù)據(jù),速度會(huì)更慢,也會(huì)帶來(lái)編程上的不便。 在分時(shí)復(fù)用的總線模式下,CPU對(duì)USBN9604的讀寫需要使用的控制信號(hào)包括 (1)ALE地址鎖存信號(hào),上升沿時(shí),CPU從總線輸出地址,下降沿時(shí),USBN9604將地址鎖存在內(nèi)部ADDR寄存器; (2)面“讀”信號(hào),低電平有效;wR“寫”信號(hào),低電平有效;麗“片選”信號(hào),低電平有效。 CPU攤片乳S3-VCSOCS2不用)INTR中斷申請(qǐng)信號(hào)。 為了與麗的INTO配合,設(shè)置為下降沿有效。 CLKout時(shí)鐘輸出,為單片機(jī)提供子時(shí)鐘源(可由固件選擇),此信號(hào)不是控制信號(hào),與CPU讀寫操作無(wú)關(guān)。 USBN9604還支持DMA操作,本設(shè)計(jì)未用,百麗F(DMA應(yīng)答)接VCC,DRO(DMA請(qǐng)求)懸空。 其它附屬電路 (1)復(fù)位電路簡(jiǎn)單的R-C電路,單片機(jī)與USBN9604共用; (2)總線供電濾波電路L形濾波; (3)保護(hù)電路簡(jiǎn)單串接18歐姆電阻,和10u H電感。 附22全速USB節(jié)點(diǎn)控制器USBN9604的主要特性 (1)集成USB收發(fā)器和內(nèi)部33V穩(wěn)壓器。 (2)可編程時(shí)鐘發(fā)生器 (3)串行接口引擎包含物理層接口,媒體訪問(wèn)控制器,與USB11規(guī)范兼容 (4)內(nèi)置控制狀態(tài)寄存器陣列21中北大摯學(xué)位論文 (5)七個(gè)基于FIF0的端點(diǎn)(End Point)1個(gè)雙向控制端點(diǎn)(8字節(jié))3個(gè)單向發(fā)信端點(diǎn)(每個(gè)64字節(jié))3個(gè)單向收信端點(diǎn)(每個(gè)64字節(jié)) (6)8位并行接口,具有兩種可選模式分時(shí)復(fù)用非分時(shí)復(fù)用 (7)增強(qiáng)的DMA支持 (8)MICROWIREPLUS接口 (9)低EMI,低待機(jī)電流 (10)具有異步喚醒的全靜態(tài)停機(jī)模式。 (對(duì)總線供電操作) (11)ESD Rating45KV(人體模型,通過(guò)15kQ電阻lOOpF放電) (2)CAN接口圖24CAN接口電原理圖單片機(jī)內(nèi)置的CAN控制器模塊,通過(guò)TJAl050高速CAN收發(fā)器與CAN物理總線接口,附加一些保護(hù)器件,構(gòu)成CAN接口。 附23TJAl050高速CAN收發(fā)器的主要性能 (1)與“Is011898”標(biāo)準(zhǔn)完全兼容 (2)速度高(最高可達(dá)1M波特) (3)低電磁輻射(EME) (4)帶有寬輸入范圍的差動(dòng)接收器,可抗電磁干擾(EMI) (5)沒有上電的節(jié)點(diǎn)不會(huì)對(duì)總線造成干擾中北大學(xué)學(xué)位論文 (6)發(fā)送數(shù)據(jù)(TXD)控制超時(shí)功能 (7)發(fā)送禁止時(shí)的靜音模式 (8)在靜態(tài)時(shí)自動(dòng)對(duì)總線引腳進(jìn)行保護(hù) (9)輸入級(jí)與33V裝置兼容 (10)熱保護(hù),對(duì)電源和地的防短路功能 (11)連接至少110個(gè)節(jié)點(diǎn) (3)RS232(ISP)接口圖25RS232(ISP)接口電原理圖單片機(jī)內(nèi)置的串行IO模塊UARTl通過(guò)RS232一TTLCMOS電平轉(zhuǎn)換器MAX202A芯片,附加4只電容,構(gòu)成RS232串行接口,用于調(diào)試和在線編程目的。 跳線開關(guān)K8和K9短路時(shí),MAX202的電源接通,串行口工作。 跳線開關(guān)K10和K12短路時(shí)將單片機(jī)復(fù)位,則CPU工作于標(biāo)準(zhǔn)串行模式,可以通過(guò)串行口下載CPU的固件到單片機(jī)內(nèi)部的用戶flash ROM區(qū),完成在線編程功能。 一些商用軟件(例如MITSUBI SitI公司開發(fā)的FlashSta)可用于串行編程。 中北大學(xué)學(xué)位論文主時(shí)鐘的l6MHz晶體振蕩器簡(jiǎn)單的R-C復(fù)位電路與USBN9604共用 (4)ADC接口圖26ADC接口第三章軟件設(shè)計(jì)31固件設(shè)計(jì)固件設(shè)計(jì)的目標(biāo)就是使協(xié)議轉(zhuǎn)換器在USB上達(dá)到最大的傳輸速率。 它是轉(zhuǎn)換器運(yùn)行的核心部分,用匯編語(yǔ)言編寫。 3,11USB總線枚舉枚舉過(guò)程指的是以一系列的USB包和響應(yīng)主機(jī)的SetupInOut標(biāo)記所產(chǎn)生的相應(yīng)的設(shè)備狀態(tài),設(shè)置和管理設(shè)備狀態(tài)變化需求。 枚舉過(guò)程在主機(jī)端完成,旦集線器檢測(cè)到有設(shè)中北大拿學(xué)位論文備接入,主機(jī)開始設(shè)備枚舉過(guò)程i主機(jī)發(fā)送一個(gè)Getdescriptor請(qǐng)求來(lái)知道控制端點(diǎn)的最大包的大小Setup階段主機(jī)一設(shè)備bmRequestType=80HbRequest=GetDescriptor=06HwValue=DesprotTypeDescriptorIndex=O100HwIndex=Zero orLanguage ID=0000HwLengthng=DescriptorLength=0040H數(shù)據(jù)階段設(shè)備一主機(jī),返回設(shè)備DescriptorbLength=18B=12H08H(描述符長(zhǎng)度,18個(gè)字節(jié))可以只返回前8個(gè)字節(jié)bDescriptorType=Constant=OiH(描述符類型)Ol是設(shè)備的描述符bcdUSB=BCD=OI10H(兼容的USB規(guī)范版本號(hào)I10)bDeviceClass=Class=OOH(設(shè)備類代碼)bDeviceSubclass=Subclass=OOB(設(shè)備子類代碼)bDeviceProtoc01=Protoc01=ooH(類協(xié)議代碼)bMaxPacketSizeO=Number=08H(端點(diǎn)0的最大包尺寸)idVendor=ID=070AH(VID)idproduct=ID-7FOlH(PID)r外部設(shè)計(jì)規(guī)格書1o中規(guī)定iserialNumber=Index=00H(描述產(chǎn)品系列號(hào)的串描述符索引)bNumconfigurations=Number=O州(可能的配置數(shù))狀態(tài)階段主機(jī)一設(shè)備(一個(gè)0長(zhǎng)度的OUT包)2主機(jī)分配一個(gè)地址給設(shè)備Setup階段主機(jī)一設(shè)備bmRequestType=OOHbRequest=S“一Address-05H(請(qǐng)求類型)(請(qǐng)求號(hào))中北大學(xué)學(xué)位論文wValue=DeviceAddress=?(設(shè)備地址1127,由主機(jī)分配)wIndex=00HwLength=OOH數(shù)據(jù)階段無(wú)狀態(tài)階段設(shè)備一主機(jī),設(shè)備接收到一個(gè)IN標(biāo)記后以0長(zhǎng)度包響應(yīng)。 3主機(jī)知道了設(shè)備的能力(新地址) (1)aGet_Descriptor(查詢配置描述符)Setup階段主機(jī)一設(shè)備bmRequestType=80HbRequest=GetDescriptor=06HwValueDescriptorType=0200H(描述符類型0200H是配置描述符串索引為0)wIndex=0000HwLength=DescriptorLength=?(描述符的長(zhǎng)度,由主機(jī)定義)數(shù)據(jù)階段設(shè)備一主機(jī)配置描述符+接口描述符+端點(diǎn)描述符1+端點(diǎn)描述符2+十端點(diǎn)描述符6$配置描述符bLength=09H(配置描述符的長(zhǎng)度,以字節(jié)數(shù)表示)bDescriprtorType=Constant-02H(配置描述符類型=02H)wTotalLength=60=003cH(總長(zhǎng)度)bNumInterface=01H(接口數(shù))bconfigurationValue=00H01H(配置值)按Get configuration中的描述,OOIl表示未配置。 iConfigurationValue=OOH(描述該配置的串描述將索引)bmAttributes=1010000b=coH(配置的特性總線供電D6-O,支持遠(yuǎn)程喚醒D5=I)MaxPower=32H(mh數(shù)=lOOMa=32H2mA)接口描述符中北大擎學(xué)位論文bLength09H(接口描述符的長(zhǎng)度)bDescriptorType=04H(接口描述符類型=04H)bInterfaceNumber=00H(接口號(hào))bAlternatesetting=00H(該接口的設(shè)置選項(xiàng)號(hào))bNumEndDoints=06H(該接口的端點(diǎn)數(shù))bInterfaceclass=FFH(類代碼)FFH=Vendor SpecificbInterfacesubclass=00H(子類代碼)bInterfaceprotocol=OOH(協(xié)議代碼)iInterface=OOH(該接口的串描述符索引)端點(diǎn)描述符X(x=l6)bLength=07H(端點(diǎn)描述符長(zhǎng)度)bDescriptorType=05H(端點(diǎn)描述符類型05H)bEndDointAddress=8lH02H83H04H85H06H(端點(diǎn)號(hào)和方向)bmAttributes=02H(傳輸類型,02=Bulk)wMaxPacketSize=0040H(最大包尺寸,64B)bInterval=OlH(間隙ms,對(duì)Bulk無(wú)效)查詢配置GetConfiguration請(qǐng)求 (2)Setup階段主機(jī)一設(shè)備bmRequestType=80H(請(qǐng)求類型)bRequest=Getofigwration=08HwValue=0000HwIndex=0000HwLength=O001H數(shù)據(jù)階段設(shè)備一主機(jī)ConfigurationValue=ooH未配置(Address State)OlH已配置(Configuration State)27中北大學(xué)學(xué)位論文狀態(tài)階段主機(jī)一設(shè)備查詢接口GetInfreface請(qǐng)求Setup階段主機(jī)一設(shè)備bmRequestType=81HbRequest=GetInterface=OAHwValue=OOOOHwIndex=0000HwLength=o001H數(shù)據(jù)階段設(shè)備一主機(jī)Aler Setting=OOH狀態(tài)階段主機(jī)一設(shè)備(接口號(hào))(當(dāng)前該接口所選的設(shè)置號(hào)) (3)查詢?cè)O(shè)備接n端點(diǎn)狀態(tài)GetStatus請(qǐng)求bmRequestType=80H81H82H(請(qǐng)求類型,接收者設(shè)備接N端點(diǎn))bRequest=00HwYalue=OOOOHooooH0000H0006H(設(shè)備接口端點(diǎn))wIndex=O000HwLength=0002H數(shù)據(jù)階段設(shè)備一主機(jī)Device Status=O002H(總線供電,支持遠(yuǎn)程喚醒)orInterfaceStatus=0000HorEndpointStatus=00001Hnot Halt000lHlalt (4)清除特性ClearFeature請(qǐng)求Setup階段主機(jī)一設(shè)備bmRequestType=00H0lH02H(清除“設(shè)備接n端點(diǎn)”的特性)bRequest=ClearFeature=Olit中北大學(xué)學(xué)位論文wValue=0001H接口?0000H(清除“設(shè)備的遠(yuǎn)程喚醒特性接口?端點(diǎn)的Halt特性”)wlndex=OOOOH0000H0000H0006H(設(shè)備接口號(hào)端點(diǎn)號(hào))數(shù)據(jù)階段無(wú)狀態(tài)階段設(shè)備一主機(jī) (5)設(shè)置設(shè)備接n端點(diǎn)的特性Set_Feature請(qǐng)求Setup階段主機(jī)一設(shè)備bmRequestType=00H0lH02HbRequest=S亂一Feature=03HwValueO001H接口?0000H(設(shè)備的遠(yuǎn)程喚醒接口?端點(diǎn)的Halt特性)wIndex=0000H0000H0000H“0006H(設(shè)備接口號(hào)端點(diǎn)號(hào))wLength=0000H數(shù)據(jù)階段無(wú)狀態(tài)階段設(shè)備一主機(jī)設(shè)置配置Set_Configuration請(qǐng)求Setup階段主機(jī)一設(shè)備bmRequestType=OOHbRequest=SET-configuration=09HwValue=ConfigurationValue=OoooH置為Address State000l卜一置為當(dāng)前配置wIndex=0000HwLength=0000H數(shù)據(jù)階段無(wú)狀態(tài)階段設(shè)備一主機(jī)設(shè)備接口SetInterface請(qǐng)求Setup階段主機(jī)一設(shè)備29中北大摯學(xué)位論文bmRequestType=01HbReouest=Set Interface=OBHwValue=Alcernat Setting=0000HwIndex=Interface=0000HwLength=0000H數(shù)據(jù)階段無(wú)狀態(tài)階段設(shè)備一主機(jī) (6)Set Descroptor設(shè)置描述符請(qǐng)求Setup階段主機(jī)一設(shè)備bmRequestType=OOHbRequest=SET_Descriptor=07HwValue=DescriptorType&Index=OlOOH-設(shè)備描述符0200卜配置描述符wIndex=0000HLength=OescriptorLength=0012H(描述符長(zhǎng)度、設(shè)備配置)數(shù)據(jù)階段主機(jī)一設(shè)備a設(shè)備描述符(當(dāng)wValue=OlOOH時(shí))bLength=12H(設(shè)備描述符的長(zhǎng)度,預(yù)期值)bDescroptorType=0lH(設(shè)備描述符類型,固定為OUt)bcd USB=01IOH(USBl10版本)bDeviceclass=OOH(設(shè)備類代碼)bDeviceSubclass=OOH(設(shè)備子類代碼)bDeviceProtocol=OOH(類協(xié)議代碼)bMaxPaketSi zeO=08H(EPO的最大包尺寸)idVendor=07DAH(VID)idProduct=7F01H(PID)中北大學(xué)學(xué)位論文bcdDevice=xxxxHiManufaceturer=00HiProduct=00HiSetialNumber=00HbNumConfiguration=01H或b配置描述符wValue=0200H時(shí)bLength=09HbDescriptorType=02HwTotalLength=003CHbNumInterface=OlHbConfigurationValue=OIHiConfiguration=OOHbnttributes=lOl00000b=COHMaxpower=32H磅妾口描述符bLength=09HbDescriptorType=04HbImterface
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 橋面鋪裝激光整平機(jī)技術(shù)解析與應(yīng)用
- 腫瘤抗體研究與應(yīng)用進(jìn)展
- 2024年福建廈門市蘇頌醫(yī)院補(bǔ)充工作人員招聘105人筆試考點(diǎn)考試題庫(kù)與答案
- 春節(jié)節(jié)前安全檢查與假日安全提示
- 2024年高考押題-歷史
- 收費(fèi)站月工作總結(jié)
- 直腸惡性腫瘤疾病查房
- 腫瘤放療護(hù)理查房
- 2025社區(qū)獲得性肺炎防治進(jìn)展
- 支原體肺炎院感防控要點(diǎn)
- 大學(xué)生醫(yī)學(xué)健康科普演講
- 2025國(guó)開電大《管理英語(yǔ)1》綜合測(cè)試形考任務(wù)答案
- 冶金天車作業(yè)安全培訓(xùn)
- 廣東省深圳市2021-2022學(xué)年高一下學(xué)期英語(yǔ)期末調(diào)研考試(含答案)
- 《馬克思主義基本原理概論》課后思考題及答案
- 2025屆成都市新都一中高三一診考試英語(yǔ)試卷含答案
- 煤炭行業(yè)的企業(yè)戰(zhàn)略布局與資源整合考核試卷
- 電動(dòng)二輪車租賃合同協(xié)議
- 電梯維保合同分包協(xié)議
- 靜脈血液標(biāo)本采集指南
- fca外貿(mào)合同協(xié)議
評(píng)論
0/150
提交評(píng)論