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

        ?

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

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

        ,,,,,

        (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ǔ)上才可開展性能驗(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í)別來概括介紹一下這些基本概念。同時(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è)備類型歸為不同的USB類。下面分別介紹USB的域、包、事務(wù)、傳輸和類。圖1是USB通信單元的關(guān)系分層圖。

        圖1 USB通信單元分層圖

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

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

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

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

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

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

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

        1.2 USB的枚舉過程

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

        圖3 USB枚舉過程

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

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

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

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

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

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

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

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

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

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

        FAT32文件系統(tǒng)是一種比較常見的文件系統(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ū)的大小和起始地址可通過DBR中的相關(guān)信息確定。FAT區(qū)包括了兩個(gè)完全相同的FAT表,F(xiàn)AT表中按4字節(jié)一個(gè)表項(xiàng)劃分。通過FAT表項(xiàng)可以描述簇的狀態(tài)及表明文件或目錄的下一簇的簇號(hào)。

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

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

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

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

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

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

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

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

        ③ Read Format Capacity:獲取U盤格式化容量信息。

        ④ Read Capacity:獲取U盤容量信息。

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

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

        圖5 U盤SCSI指令處理流程圖

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

        本次目標(biāo)是驗(yàn)證USB的批量傳輸,并不需要涉及到存儲(chǔ)的操作,所以這里的U盤文件系統(tǒng)被枚舉掛載的是虛擬U盤。U盤掛載到PC之后,PC對(duì)U盤的數(shù)據(jù)讀取操作是從MCU固定RAM地址讀取固定數(shù)據(jù),PC對(duì)U盤的數(shù)據(jù)寫入操作直接被MCU丟棄。虛擬U盤文件系統(tǒng)之所以能在PC上顯示出已格式化的磁盤設(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盤FAT32文件系統(tǒng)的流程圖。

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

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

        圖7 U盤DBR獲取方法示意圖

        2.3 測(cè) 試

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

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

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

        結(jié) 語

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

        猜你喜歡
        枚舉描述符U盤
        基于理解性教學(xué)的信息技術(shù)教學(xué)案例研究
        速讀·上旬(2022年2期)2022-04-10 16:42:14
        基于結(jié)構(gòu)信息的異源遙感圖像局部特征描述符研究
        一種高效的概率圖上Top-K極大團(tuán)枚舉算法
        采用U盤文件冗余方案實(shí)現(xiàn)TSP系統(tǒng)的可靠裝載
        Linux單線程并發(fā)服務(wù)器探索
        利用CNN的無人機(jī)遙感影像特征描述符學(xué)習(xí)
        基于太陽影子定位枚舉法模型的研究
        U盤“鬧肚子”
        USB開發(fā)中易混淆的概念剖析
        一招鑒定擴(kuò)容u盤
        国产精品亚洲片夜色在线 | 久久久久人妻一区精品| 一本大道久久东京热无码av| 免费看欧美日韩一区二区三区| 国产自产在线视频一区| 日本久久久精品免费免费理论| 制服丝袜一区二区三区| 99精品国产丝袜在线拍国语| 精品少妇ay一区二区三区| 欧美1区二区三区公司| 无码任你躁久久久久久| 中出人妻希奇杰卡西av| 国产成人av在线影院无毒| 三上悠亚久久精品| 成年女人粗暴毛片免费观看| 国语精品视频在线观看不卡| 日韩二三区| 亚洲综合久久久中文字幕| 国产熟女一区二区三区不卡| 国产av麻豆mag剧集| 亚洲学生妹高清av| 亚洲人成影院在线高清| 毛片精品一区二区二区三区| 国产黄色看三级三级三级| 免费a级毛片无码a∨免费| av在线免费观看麻豆| 久久久久夜夜夜精品国产| 永久免费看啪啪网址入口| 国产精品女同一区二区| 国产麻豆一精品一AV一免费软件| 日本一区二区三区啪啪| 一区二区在线观看视频高清| s级爆乳玩具酱国产vip皮裤| 婷婷综合缴情亚洲| 岛国视频在线无码| 日韩精品一区二区亚洲专区| 国产91清纯白嫩初高中在线观看| 初女破初的视频| 二区久久国产乱子伦免费精品| 国产精品高清国产三级国产av| 99在线精品视频在线观看|