亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        MCU芯片驗(yàn)證中的USB模塊批量傳輸驗(yàn)證

        2018-10-15 06:08:20,,,,,
        關(guān)鍵詞:枚舉描述符U盤(pán)

        ,,,,,

        (1.北京智芯微電子科技有限公司 國(guó)家電網(wǎng)公司重點(diǎn)實(shí)驗(yàn)室 電力芯片設(shè)計(jì)分析實(shí)驗(yàn)室,北京 100192;2.北京智芯微電子科技有限公司 北京市電力高可靠性集成電路設(shè)計(jì)工程技術(shù)研究中心)

        引 言

        在芯片驗(yàn)證中,一般針對(duì)芯片內(nèi)每一個(gè)模塊都會(huì)做相應(yīng)的功能驗(yàn)證和性能驗(yàn)證。其中功能驗(yàn)證是最基本的驗(yàn)證內(nèi)容,只有在功能驗(yàn)證的基礎(chǔ)上才可開(kāi)展性能驗(yàn)證。本文研究的一款MCU中包含了USB模塊,在嵌入式MCU中,USB協(xié)議相對(duì)于其他一些基本的傳輸協(xié)議較為復(fù)雜,USB模塊驗(yàn)證工作自然也是重點(diǎn)和難點(diǎn)。本文即對(duì)USB的基本協(xié)議內(nèi)容和部分驗(yàn)證方法做了闡述。

        1 基本概念

        USB規(guī)范中定義了USB主機(jī)和USB設(shè)備。主機(jī)作為通信的發(fā)起方,在整個(gè)通信中占有主導(dǎo)地位。下面就USB通信的數(shù)據(jù)流、主機(jī)與設(shè)備之間的識(shí)別來(lái)概括介紹一下這些基本概念。同時(shí)為了方便介紹后面的測(cè)試方法,這里還對(duì)FAT32進(jìn)行簡(jiǎn)單介紹。

        1.1 USB通信的數(shù)據(jù)流組成

        USB—通用串行總線,顧名思義其傳輸?shù)臄?shù)據(jù)是由一位一位的串行二進(jìn)制構(gòu)成的。若干位二進(jìn)制構(gòu)成了USB域,若干個(gè)域組合構(gòu)成USB包,兩個(gè)或三個(gè)包組合構(gòu)成事務(wù),一個(gè)或多個(gè)事務(wù)組成傳輸,在應(yīng)用層面還把實(shí)現(xiàn)不同功能的USB設(shè)備類(lèi)型歸為不同的USB類(lèi)。下面分別介紹USB的域、包、事務(wù)、傳輸和類(lèi)。圖1是USB通信單元的關(guān)系分層圖。

        圖1 USB通信單元分層圖

        ① 域是USB的最小單位,由若干位組成,可分為7種類(lèi)型:同步域、標(biāo)識(shí)域、地址域、端點(diǎn)域、幀號(hào)域、數(shù)據(jù)域、校驗(yàn)域。

        ② 包由若干域構(gòu)成,分為4種類(lèi)型,分別是令牌包、數(shù)據(jù)包、握手包和特殊包,不同類(lèi)的包又分成幾種具體的包(見(jiàn)圖1)。

        ③ USB事務(wù)是指向端點(diǎn)傳遞的服務(wù),通常是由令牌包、可選的數(shù)據(jù)包和可選的握手包組成。

        ④ USB傳輸是在客戶軟件程序及其功能設(shè)備之間移動(dòng)信息的一個(gè)或多個(gè)USB事務(wù),分為控制傳輸、中斷傳輸、同步(等時(shí))傳輸、批量傳輸4種傳輸類(lèi)型。這里說(shuō)一下批量傳輸,批量傳輸可通過(guò)錯(cuò)誤檢測(cè)和重試的方法保證數(shù)據(jù)在主機(jī)和設(shè)備之間無(wú)錯(cuò)誤的傳輸。批量傳輸包括了三個(gè)階段:令牌、數(shù)據(jù)和握手。圖2所示是批量傳輸事務(wù)流程的示意圖(PING和NYET包只能在高速操作的設(shè)備中使用)。

        圖2 批量傳輸事務(wù)流程的示意圖

        圖4 FAT32文件系統(tǒng)結(jié)構(gòu)

        ⑤ 類(lèi)不屬于通信單元,是在應(yīng)用的層面把USB加以區(qū)分,USB類(lèi)的數(shù)據(jù)通信由一種或幾種傳輸完成,比如常用的U盤(pán)設(shè)備是大容量存儲(chǔ)類(lèi)(Mass Storage Class,MSC),鍵盤(pán)/鼠標(biāo)設(shè)備是人機(jī)接口類(lèi)(Human Interface Devices,HID)。

        1.2 USB的枚舉過(guò)程

        USB總線由VBUS、D-、D+、GND四根線構(gòu)成,USB的數(shù)據(jù)傳送依靠D+、D-這對(duì)差分信號(hào)線。在USB設(shè)備接入U(xiǎn)SB主機(jī)時(shí),主機(jī)通過(guò)D+或D-上的電平變化來(lái)檢測(cè)設(shè)備的接入;識(shí)別到有USB設(shè)備后,USB主機(jī)采用USB標(biāo)準(zhǔn)請(qǐng)求獲取USB設(shè)備的相關(guān)信息并作相應(yīng)的設(shè)置,配置完成USB的枚舉過(guò)程。圖3是USB枚舉過(guò)程流程圖。

        圖3 USB枚舉過(guò)程

        ① USB主機(jī)復(fù)位,USB總線獲得一個(gè)確定的總線狀態(tài);

        ② USB主機(jī)通過(guò)默認(rèn)0地址獲取USB設(shè)備的設(shè)備描述符(前8字節(jié),從而知道端點(diǎn)0的最大包長(zhǎng));

        ③ USB主機(jī)再次復(fù)位USB總線;

        ④ USB主機(jī)給USB設(shè)備分配一個(gè)地址;

        ⑤ USB主機(jī)通過(guò)分配的地址獲取USB設(shè)備的設(shè)備描述符(全部);

        ⑥ USB主機(jī)獲取USB設(shè)備的配置描述符(前8字節(jié));

        ⑦ USB主機(jī)獲取USB設(shè)備的配置描述符集合(配置描述符、接口描述符、類(lèi)特殊描述符、端點(diǎn)描述符);

        ⑧ USB主機(jī)獲取USB設(shè)備的字符串描述符和語(yǔ)言描述符;

        ⑨ USB主機(jī)設(shè)置USB設(shè)備的配置(因?yàn)榕渲每赡懿恢挂粋€(gè),由主機(jī)控制使用哪個(gè)配置)。

        1.3 FAT32文件系統(tǒng)簡(jiǎn)介

        FAT32文件系統(tǒng)是一種比較常見(jiàn)的文件系統(tǒng),其內(nèi)部結(jié)構(gòu)組成如圖4所示,包括保留區(qū)、FAT區(qū)和數(shù)據(jù)區(qū)。

        保留區(qū)中包含了DBR(系統(tǒng)引導(dǎo)扇區(qū))和FSINFO,DBR在文件系統(tǒng)的0扇區(qū)處,其包含了文件系統(tǒng)的各種配置信息(文件系統(tǒng)大小、FAT區(qū)起始地址、FAT區(qū)大小、數(shù)據(jù)起始地址等)。FSINFO記錄文件系統(tǒng)剩余簇的數(shù)量及下一個(gè)可用簇的簇號(hào)信息。

        FAT區(qū)的大小和起始地址可通過(guò)DBR中的相關(guān)信息確定。FAT區(qū)包括了兩個(gè)完全相同的FAT表,F(xiàn)AT表中按4字節(jié)一個(gè)表項(xiàng)劃分。通過(guò)FAT表項(xiàng)可以描述簇的狀態(tài)及表明文件或目錄的下一簇的簇號(hào)。

        數(shù)據(jù)區(qū)是真正用于數(shù)據(jù)存儲(chǔ)的區(qū)域。數(shù)據(jù)區(qū)下包含了目錄和文件,文件系統(tǒng)的第一個(gè)目錄被稱(chēng)為根目錄。目錄下包含了一條條的目錄項(xiàng),記錄著此目錄下文件的以下信息:文件大小、文件創(chuàng)建時(shí)間、文件修改時(shí)間、文件的起始地址等。

        文件系統(tǒng)在被PC識(shí)別時(shí)首先獲取DBR信息,解析DBR計(jì)算出FAT區(qū)和數(shù)據(jù)區(qū)的地址和大小,并定位根目錄起始地址。通過(guò)目錄中的目錄項(xiàng)獲取文件的起始位置,若文件大于一個(gè)簇,PC會(huì)通過(guò)FAT表找到存儲(chǔ)文件的下一個(gè)簇的地址。至此,PC即可訪問(wèn)整個(gè)文件系統(tǒng)的文件。

        2 USB模塊批量傳輸?shù)臏y(cè)試

        測(cè)試MCU的USB模塊是依照上述介紹的內(nèi)容將MCU實(shí)現(xiàn)成為了一個(gè)虛擬的U盤(pán),虛擬U盤(pán)的文件系統(tǒng)采用FAT32。通過(guò)測(cè)試虛擬U盤(pán)來(lái)測(cè)試USB模塊的功能。

        2.1 USB部分的實(shí)現(xiàn)

        U盤(pán)是一個(gè)大容量存儲(chǔ)的USB設(shè)備,使用的是批量傳輸,其指令采用了SCSI指令集。在按照上述內(nèi)容實(shí)現(xiàn)了USB的枚舉和讀寫(xiě)的同時(shí),還需要實(shí)現(xiàn)SCSI指令集的處理,其處理過(guò)程如圖5所示。下面是相應(yīng)的指令解釋。

        ① Test Unit Ready:用于監(jiān)測(cè)U盤(pán)是否處于準(zhǔn)備好的狀態(tài),對(duì)于可移除磁盤(pán),PC會(huì)每秒發(fā)送一次此指令。

        ② Inquiry:獲取U盤(pán)設(shè)備的一些基本信息,如是否為可移除磁盤(pán)、ISO版本號(hào)、ANSI版本號(hào)等內(nèi)容。

        ③ Read Format Capacity:獲取U盤(pán)格式化容量信息。

        ④ Read Capacity:獲取U盤(pán)容量信息。

        ⑤ Read10:讀取U盤(pán)內(nèi)容的指令,可根據(jù)指定地址讀取相應(yīng)存儲(chǔ)空間的信息。

        ⑥ Write10:寫(xiě)U盤(pán)指令,可以向指定的地址空間寫(xiě)入相應(yīng)的數(shù)據(jù)。

        圖5 U盤(pán)SCSI指令處理流程圖

        2.2 虛擬U盤(pán)FAT32文件系統(tǒng)部分的實(shí)現(xiàn)

        本次目標(biāo)是驗(yàn)證USB的批量傳輸,并不需要涉及到存儲(chǔ)的操作,所以這里的U盤(pán)文件系統(tǒng)被枚舉掛載的是虛擬U盤(pán)。U盤(pán)掛載到PC之后,PC對(duì)U盤(pán)的數(shù)據(jù)讀取操作是從MCU固定RAM地址讀取固定數(shù)據(jù),PC對(duì)U盤(pán)的數(shù)據(jù)寫(xiě)入操作直接被MCU丟棄。虛擬U盤(pán)文件系統(tǒng)之所以能在PC上顯示出已格式化的磁盤(pán)設(shè)備,是因?yàn)槠湓赑C讀取對(duì)應(yīng)的FAT32文件系統(tǒng)保留區(qū)、FAT區(qū)、數(shù)據(jù)區(qū)地址內(nèi)容時(shí)返回了相應(yīng)的文件系統(tǒng)數(shù)據(jù)。圖6是PC識(shí)別U盤(pán)FAT32文件系統(tǒng)的流程圖。

        圖6 PC識(shí)別U盤(pán)FAT32文件系統(tǒng)流程圖

        虛擬U盤(pán)的文件系統(tǒng)掛載是為了測(cè)試USB模塊的批量傳輸,不必要具體參與DBR、FAT、數(shù)據(jù)區(qū)內(nèi)容的編輯。本驗(yàn)證通過(guò)格式化一個(gè)普通U盤(pán),使用WinHex軟件獲取相應(yīng)文件系統(tǒng)區(qū)域的內(nèi)容和對(duì)應(yīng)地址。圖7是通過(guò)WinHex軟件獲取文件系統(tǒng)關(guān)鍵區(qū)域的方法,按照此方法依次獲取DBR、FAT區(qū)和數(shù)據(jù)區(qū)的地址和內(nèi)容,將獲取的數(shù)據(jù)應(yīng)用在圖6所示的流程圖對(duì)應(yīng)的程序段中。

        圖7 U盤(pán)DBR獲取方法示意圖

        2.3 測(cè) 試

        首先,可以通過(guò)上述方式實(shí)現(xiàn)U盤(pán)功能,能夠枚舉并且掛載磁盤(pán),已經(jīng)可以說(shuō)明USB通路的通信是能正常運(yùn)行的。

        其次,在U盤(pán)正常枚舉之后可以通過(guò)U盤(pán)測(cè)試軟件測(cè)試其速度性能。圖8是MCU USB作為U盤(pán)時(shí)的讀寫(xiě)性能測(cè)試結(jié)果(寫(xiě)為20.1 MB/s,讀為23.7 MB/s)。

        最后,可通過(guò)PC軟件長(zhǎng)時(shí)間不間斷地對(duì)U盤(pán)進(jìn)行讀寫(xiě),測(cè)試USB通信功能的穩(wěn)定性。

        結(jié) 語(yǔ)

        圖8 虛擬U盤(pán)速度測(cè)試結(jié)果

        猜你喜歡
        枚舉描述符U盤(pán)
        基于理解性教學(xué)的信息技術(shù)教學(xué)案例研究
        速讀·上旬(2022年2期)2022-04-10 16:42:14
        基于結(jié)構(gòu)信息的異源遙感圖像局部特征描述符研究
        一種高效的概率圖上Top-K極大團(tuán)枚舉算法
        采用U盤(pán)文件冗余方案實(shí)現(xiàn)TSP系統(tǒng)的可靠裝載
        Linux單線程并發(fā)服務(wù)器探索
        利用CNN的無(wú)人機(jī)遙感影像特征描述符學(xué)習(xí)
        基于太陽(yáng)影子定位枚舉法模型的研究
        U盤(pán)“鬧肚子”
        USB開(kāi)發(fā)中易混淆的概念剖析
        一招鑒定擴(kuò)容u盤(pán)
        av日韩高清一区二区| 国产原创精品视频| 一区二区av日韩免费| av在线播放亚洲天堂| 成人午夜福利视频| 九九九精品成人免费视频小说| 日韩av中出在线免费播放网站| 国产成人av区一区二区三| 99国产精品99久久久久久| 国产精品久久久久久52avav | 人妻av一区二区三区av免费| 五十路在线中文字幕在线中文字幕 | 国产精品美女久久久久久| 日本无遮挡真人祼交视频| 欧洲熟妇色xxxx欧美老妇多毛| 国产乱子乱人伦电影在线观看| 最新国产成人在线网站| 成人黄色片久久久大全| 久久精品国产亚洲av无码偷窥| 亚洲精品国产福利一二区| 久久久久成人精品免费播放网站| 蜜桃噜噜一区二区三区| 色综合久久中文娱乐网| 国产一区二区三区av在线无码观看| 国产精品毛片99久久久久| 99久久精品一区二区国产| 人与禽性视频77777| 最新国产拍偷乱偷精品| av网站在线观看二区| 99久久99久久精品国产片| 婷婷午夜天| 无码av永久免费大全| 国产一区二区三区av免费| 成人午夜福利视频镇东影视| 精品无码av不卡一区二区三区| 白白在线免费观看视频| 国产极品女主播国产区| 最近日本免费观看高清视频| 亚洲激情人体艺术视频| 中文字日产幕码三区做法| 老师露出两个奶球让我吃奶头|