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