USB封包中的數(shù)據(jù)域類型
3.地址(Address,ADDR)數(shù)據(jù)域
ADDR數(shù)據(jù)域由7位組成,可用來尋址出達(dá)127個外圍設(shè)各。當(dāng)然每一個設(shè)各僅能對應(yīng)一個唯一的地址,而每當(dāng)新的外圍設(shè)各剛連接至USB接口時,擁有預(yù)設(shè)的地址0,其后再賦予新的地址。也因此,27-1(預(yù)設(shè)地址)=127外圍設(shè)備。
4.端點(diǎn)(Endpoint,EN?。㏄)數(shù)據(jù)域
ENDP數(shù)據(jù)域由4位組成,之前有提及過,端點(diǎn)是類似微管線的概念。通過這4位,可以定義出高達(dá)16個端點(diǎn)。但基本上,只使用15個端點(diǎn)。而通過端點(diǎn)描述符的設(shè)置,則最多可尋址出30個端點(diǎn)。這個ENDP數(shù)據(jù)域僅用在IN、OUT與SETUP令牌封包中。對于低速的設(shè)各可支持端點(diǎn)0以及端點(diǎn)1作為中斷傳輸模式(如CY7C63O/iXX微控制器系列),而全速設(shè)各則可以擁有15個輸人端點(diǎn)(IN)與15個輸出端點(diǎn)(OUT)共30個端點(diǎn)。Cypress USB微控制器的CY7C64213與CY7C64313系列則最多可支持31個端點(diǎn)(另外包含一個端點(diǎn)0)。
5.循環(huán)冗余檢驗(yàn)(Cycle Redundancy Checks,CRC)數(shù)據(jù)域
根據(jù)不同的封包類型,CRC數(shù)據(jù)域由不同數(shù)目的位組成。其中,最重要的數(shù)據(jù)封包采用CRC16的數(shù)據(jù)域(16位),而其余的封包類型則采用CRC5的數(shù)據(jù)域(5位)。其中的的循環(huán)冗余檢驗(yàn)CRC,是一種用來做數(shù)據(jù)錯誤檢測的技術(shù)。這是由于數(shù)據(jù)在做串行傳輸時,有時候會發(fā)生若干錯誤。因此,CRC可根據(jù)數(shù)據(jù)算出一個檢驗(yàn)值,然后依此判斷數(shù)據(jù)的正確性。
通過前面所介紹的5個數(shù)據(jù)域,即可構(gòu)成了大部分的封包類型,而以下再介紹其余特殊的數(shù)據(jù)域。
6.?dāng)?shù)據(jù)(data)欄
僅存于Data封包內(nèi),而根據(jù)不同的傳輸類型,擁有不同的字節(jié)大小,從0~1 024字節(jié)(僅能在等時傳輸時設(shè)置,USB 2.0規(guī)范)。而規(guī)范1。x則可設(shè)置0~1 023字節(jié)(僅能在等時傳輸時設(shè)置)。
7.幀號碼(frame number)數(shù)據(jù)域
僅存于SOF封包內(nèi),幀號碼數(shù)據(jù)域由11個位所組成。這對于等時傳輸是非常重要的信息數(shù)據(jù)。
8。閑置(idle)欄
閑置欄在每一個封包的結(jié)尾處,且當(dāng)D+與D-電位都為低電位時。
評論