浓毛老太交欧美老妇热爱乱,蜜臀性色av免费,妺妺窝人体色www看美女,久久久久久久久久久大尺度免费视频,麻豆人妻无码性色av专区

位置:51電子網(wǎng) » 技術(shù)資料 » 接口電路

USB封包中的數(shù)據(jù)域類型

發(fā)布時(shí)間:2008/12/17 0:00:00 訪問(wèn)次數(shù):642

  usb接口是以令牌封包為主(token based)的總線協(xié)議,而且pc主機(jī)掌握了這個(gè)總線的一切主控權(quán)。換而言之,一切的溝通都由pc主機(jī)來(lái)負(fù)責(zé)激活與執(zhí)行。再加上,由于usb不占用任何pc的中斷向量、dma或是任何輸人/輸出的資源,因此,必須通過(guò)嚴(yán)謹(jǐn)?shù)膮f(xié)議才能與外圍設(shè)各達(dá)成通信的目的,進(jìn)而執(zhí)行各項(xiàng)傳輸?shù)拿。?dāng)然,在usb的通信協(xié)議中,不僅只有令牌封包而已,還包含了數(shù)據(jù)封包、握手封包以及特殊封包等。因此,就必須先介紹usb封包類型中的各種數(shù)據(jù)域的格式,并加以說(shuō)明。

  不同的封包類型,含有不同數(shù)量與形態(tài)的數(shù)據(jù)域。以下依序介紹各種數(shù)據(jù)域的規(guī)范與結(jié)構(gòu)。而通過(guò)不同形態(tài)的數(shù)據(jù)域的組成,即可構(gòu)成所要的封包類型。

  封包內(nèi)所包含的信息數(shù)據(jù)位于1~3 074字節(jié)之間。第1個(gè)字節(jié)總是封包標(biāo)識(shí)符(pid),用來(lái)定義其余的信息字節(jié)所要表達(dá)的意義。而封包的最后一部分,則是封包結(jié)束eop(end-of-packet)標(biāo)識(shí)符。

  但應(yīng)注意,usb的串行傳輸是先送出最低位lsb,然后再依序送出,直到最高位msb為止,如圖1所示。而pid[0:3]與pid[0:3]的意義稍后會(huì)再加以解釋。

  圖1 封包格式

  首先,介紹第一個(gè),也是每一種封包都含有的數(shù)據(jù)域:同步列數(shù)據(jù)域。

  1.同步列(synchronization sequence,sync)數(shù)據(jù)域

  sync字段由8位組成,作為每一個(gè)數(shù)據(jù)封包的前導(dǎo),用來(lái)產(chǎn)生同步,將會(huì)起始pll。因此,它的數(shù)值固定為:00000001。這個(gè)字段僅可以在閑置時(shí),作傳輸之用。封包的起始是由總線從j狀態(tài)轉(zhuǎn)換成k狀態(tài)的變化所產(chǎn)生設(shè)置的。大部分的傳送過(guò)程是由傳送器在下一個(gè)可用的位時(shí)間所驅(qū)動(dòng)的,并用來(lái)產(chǎn)生一個(gè)sync序列。而另一端的接收器即可利用此序列,將其所接收到時(shí)鐘與所接收到的數(shù)據(jù)傳輸過(guò)程,兩者加以調(diào)和,如此即可確保封包的信息部分是可靠地接收到。這個(gè)sync序列以2個(gè)k狀態(tài)來(lái)結(jié)束,且在下一個(gè)位時(shí)間,開始傳遞封包的信息。

  此外,若針對(duì)高速傳輸,sync序列將會(huì)由pc主機(jī)所產(chǎn)生,且其中包含了09位的sync(kj kjkj…kjkk)。雖然這些sync序列將會(huì)由于集線器的阻隔而消耗若干信號(hào),但在最后末端的設(shè)備至少可以收到12位sync序列。而這已足夠去鎖住接收的時(shí)鐘,并用來(lái)產(chǎn)生pll。但對(duì)低速/全速的設(shè)備來(lái)說(shuō),僅需使用8位sync序列。

  2.封包標(biāo)識(shí)符(packet identifier,pid)數(shù)據(jù)域

  pid字段緊隨在sync字段后面,用來(lái)表示數(shù)據(jù)封包的類型。pid字段由一個(gè)4位的標(biāo)識(shí)符欄以及一個(gè)互為補(bǔ)碼的檢查欄組成。在表3,2中,列出了封包的類型,其可分為令牌、數(shù)據(jù)、握手或特殊等4種封包類型。這4種類型可由pid[0:1]2個(gè)位來(lái)定義。此外,在每一種的封包類型中,還可通過(guò)pid[2:3]2個(gè)位來(lái)定義出不同的封包格式。例如,在令牌封包中,又可細(xì)分為out、in、setup與sof等4種封包格式。如此,可推類至其余的封包類型。但在2.0規(guī)范中,新增了幾個(gè)封包標(biāo)識(shí)符,其中,數(shù)據(jù)封包類型新添了data2與data3兩個(gè)封包標(biāo)識(shí)符。

  表 各種封包的類型與規(guī)范

續(xù)表

  3.地址(address,addr)數(shù)據(jù)域

  addr數(shù)據(jù)域由7位組成,可用來(lái)尋址出達(dá)127個(gè)外圍設(shè)各。當(dāng)然每一個(gè)設(shè)各僅能對(duì)應(yīng)一個(gè)唯一的地址,而每當(dāng)新的外圍設(shè)各剛連接至usb接口時(shí),擁有預(yù)設(shè)的地址0,其后再賦予新的地址。也因此,27-1(預(yù)設(shè)地址)=127外圍設(shè)備。

  4.端點(diǎn)(endpoint,en。﹑)數(shù)據(jù)域

  endp數(shù)據(jù)域由4位組成,之前有提及過(guò),端點(diǎn)是類似微管線的概念。通過(guò)這4位,可以定義出高達(dá)16個(gè)端點(diǎn)。但基本上,只使用15個(gè)端點(diǎn)。而通過(guò)端點(diǎn)描述符的設(shè)置,則最多可尋址出30個(gè)端點(diǎn)。這個(gè)endp數(shù)據(jù)域僅用在in、out與setup令牌封包中。對(duì)于低速的設(shè)各可支持端點(diǎn)0以及端點(diǎn)1作為中斷傳輸模式(如cy7c63o/ixx微控制器系列),而全速設(shè)各則可以擁有15個(gè)輸人端點(diǎn)(in)與15個(gè)輸出端點(diǎn)(out)共30個(gè)端點(diǎn)。cypress usb微控制器的cy7c64213與cy7c64313系列則最多可支持31個(gè)端點(diǎn)(另外包含一個(gè)端點(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,是一種用來(lái)做數(shù)據(jù)錯(cuò)誤檢測(cè)的技術(shù)。這是由于數(shù)據(jù)在做串行傳輸時(shí),有時(shí)候會(huì)發(fā)生若干錯(cuò)誤。因此,crc可根據(jù)數(shù)據(jù)算出一個(gè)檢驗(yàn)值,然后依此判斷數(shù)據(jù)的正確性。

  通過(guò)前面所介紹的5個(gè)數(shù)據(jù)域,即可構(gòu)成了大部分的封包類型,而以下再介紹其余特殊

  usb接口是以令牌封包為主(token based)的總線協(xié)議,而且pc主機(jī)掌握了這個(gè)總線的一切主控權(quán)。換而言之,一切的溝通都由pc主機(jī)來(lái)負(fù)責(zé)激活與執(zhí)行。再加上,由于usb不占用任何pc的中斷向量、dma或是任何輸人/輸出的資源,因此,必須通過(guò)嚴(yán)謹(jǐn)?shù)膮f(xié)議才能與外圍設(shè)各達(dá)成通信的目的,進(jìn)而執(zhí)行各項(xiàng)傳輸?shù)拿。?dāng)然,在usb的通信協(xié)議中,不僅只有令牌封包而已,還包含了數(shù)據(jù)封包、握手封包以及特殊封包等。因此,就必須先介紹usb封包類型中的各種數(shù)據(jù)域的格式,并加以說(shuō)明。

  不同的封包類型,含有不同數(shù)量與形態(tài)的數(shù)據(jù)域。以下依序介紹各種數(shù)據(jù)域的規(guī)范與結(jié)構(gòu)。而通過(guò)不同形態(tài)的數(shù)據(jù)域的組成,即可構(gòu)成所要的封包類型。

  封包內(nèi)所包含的信息數(shù)據(jù)位于1~3 074字節(jié)之間。第1個(gè)字節(jié)總是封包標(biāo)識(shí)符(pid),用來(lái)定義其余的信息字節(jié)所要表達(dá)的意義。而封包的最后一部分,則是封包結(jié)束eop(end-of-packet)標(biāo)識(shí)符。

  但應(yīng)注意,usb的串行傳輸是先送出最低位lsb,然后再依序送出,直到最高位msb為止,如圖1所示。而pid[0:3]與pid[0:3]的意義稍后會(huì)再加以解釋。

  圖1 封包格式

  首先,介紹第一個(gè),也是每一種封包都含有的數(shù)據(jù)域:同步列數(shù)據(jù)域。

  1.同步列(synchronization sequence,sync)數(shù)據(jù)域

  sync字段由8位組成,作為每一個(gè)數(shù)據(jù)封包的前導(dǎo),用來(lái)產(chǎn)生同步,將會(huì)起始pll。因此,它的數(shù)值固定為:00000001。這個(gè)字段僅可以在閑置時(shí),作傳輸之用。封包的起始是由總線從j狀態(tài)轉(zhuǎn)換成k狀態(tài)的變化所產(chǎn)生設(shè)置的。大部分的傳送過(guò)程是由傳送器在下一個(gè)可用的位時(shí)間所驅(qū)動(dòng)的,并用來(lái)產(chǎn)生一個(gè)sync序列。而另一端的接收器即可利用此序列,將其所接收到時(shí)鐘與所接收到的數(shù)據(jù)傳輸過(guò)程,兩者加以調(diào)和,如此即可確保封包的信息部分是可靠地接收到。這個(gè)sync序列以2個(gè)k狀態(tài)來(lái)結(jié)束,且在下一個(gè)位時(shí)間,開始傳遞封包的信息。

  此外,若針對(duì)高速傳輸,sync序列將會(huì)由pc主機(jī)所產(chǎn)生,且其中包含了09位的sync(kj kjkj…kjkk)。雖然這些sync序列將會(huì)由于集線器的阻隔而消耗若干信號(hào),但在最后末端的設(shè)備至少可以收到12位sync序列。而這已足夠去鎖住接收的時(shí)鐘,并用來(lái)產(chǎn)生pll。但對(duì)低速/全速的設(shè)備來(lái)說(shuō),僅需使用8位sync序列。

  2.封包標(biāo)識(shí)符(packet identifier,pid)數(shù)據(jù)域

  pid字段緊隨在sync字段后面,用來(lái)表示數(shù)據(jù)封包的類型。pid字段由一個(gè)4位的標(biāo)識(shí)符欄以及一個(gè)互為補(bǔ)碼的檢查欄組成。在表3,2中,列出了封包的類型,其可分為令牌、數(shù)據(jù)、握手或特殊等4種封包類型。這4種類型可由pid[0:1]2個(gè)位來(lái)定義。此外,在每一種的封包類型中,還可通過(guò)pid[2:3]2個(gè)位來(lái)定義出不同的封包格式。例如,在令牌封包中,又可細(xì)分為out、in、setup與sof等4種封包格式。如此,可推類至其余的封包類型。但在2.0規(guī)范中,新增了幾個(gè)封包標(biāo)識(shí)符,其中,數(shù)據(jù)封包類型新添了data2與data3兩個(gè)封包標(biāo)識(shí)符。

  表 各種封包的類型與規(guī)范

續(xù)表

  3.地址(address,addr)數(shù)據(jù)域

  addr數(shù)據(jù)域由7位組成,可用來(lái)尋址出達(dá)127個(gè)外圍設(shè)各。當(dāng)然每一個(gè)設(shè)各僅能對(duì)應(yīng)一個(gè)唯一的地址,而每當(dāng)新的外圍設(shè)各剛連接至usb接口時(shí),擁有預(yù)設(shè)的地址0,其后再賦予新的地址。也因此,27-1(預(yù)設(shè)地址)=127外圍設(shè)備。

  4.端點(diǎn)(endpoint,en。﹑)數(shù)據(jù)域

  endp數(shù)據(jù)域由4位組成,之前有提及過(guò),端點(diǎn)是類似微管線的概念。通過(guò)這4位,可以定義出高達(dá)16個(gè)端點(diǎn)。但基本上,只使用15個(gè)端點(diǎn)。而通過(guò)端點(diǎn)描述符的設(shè)置,則最多可尋址出30個(gè)端點(diǎn)。這個(gè)endp數(shù)據(jù)域僅用在in、out與setup令牌封包中。對(duì)于低速的設(shè)各可支持端點(diǎn)0以及端點(diǎn)1作為中斷傳輸模式(如cy7c63o/ixx微控制器系列),而全速設(shè)各則可以擁有15個(gè)輸人端點(diǎn)(in)與15個(gè)輸出端點(diǎn)(out)共30個(gè)端點(diǎn)。cypress usb微控制器的cy7c64213與cy7c64313系列則最多可支持31個(gè)端點(diǎn)(另外包含一個(gè)端點(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,是一種用來(lái)做數(shù)據(jù)錯(cuò)誤檢測(cè)的技術(shù)。這是由于數(shù)據(jù)在做串行傳輸時(shí),有時(shí)候會(huì)發(fā)生若干錯(cuò)誤。因此,crc可根據(jù)數(shù)據(jù)算出一個(gè)檢驗(yàn)值,然后依此判斷數(shù)據(jù)的正確性。

  通過(guò)前面所介紹的5個(gè)數(shù)據(jù)域,即可構(gòu)成了大部分的封包類型,而以下再介紹其余特殊

相關(guān)IC型號(hào)

熱門點(diǎn)擊

 

推薦技術(shù)資料

耳機(jī)放大器
    為了在聽音樂(lè)時(shí)不影響家人,我萌生了做一臺(tái)耳機(jī)放大器的想... [詳細(xì)]
版權(quán)所有:51dzw.COM
深圳服務(wù)熱線:13692101218  13751165337
粵ICP備09112631號(hào)-6(miitbeian.gov.cn)
公網(wǎng)安備44030402000607
深圳市碧威特網(wǎng)絡(luò)技術(shù)有限公司
付款方式


 復(fù)制成功!