接入碼有三種類(lèi)型:Channel Access Code(CAC)、Device Access Code(DAC)和Inquiry Access Code(IAC)。CAC用于標(biāo)識(shí)一個(gè)Piconet,所有在該P(yáng)iconet中傳送的分組都包含CAC;DAC用于特殊的信令過(guò)程,如尋呼和響應(yīng)尋呼;IAC又分為General(GIAC)和Dedicated(DIAC)兩類(lèi):GIAC對(duì)該區(qū)域內(nèi)所有設(shè)備都是一樣的,用于發(fā)現(xiàn)其它的藍(lán)牙單元;DIAC用于根據(jù)某種特性劃分特定用戶(hù)群。
分組頭包含鏈路控制信息,由6個(gè)字段組成:3比特的AM-ADDR、4比特的TYPE、1比特的FLOW、1比特的ARQN、1比特的SEQN、8比特的HEC,一共18個(gè)比特;再加速率為1/3的FEC,編碼保護(hù)后一共是54比特。在主節(jié)點(diǎn)與從節(jié)點(diǎn)通信時(shí),需要區(qū)分不同的從節(jié)點(diǎn),用AM-ADDR來(lái)表示激活的從節(jié)點(diǎn)地址。全“0”地址用于廣播,顯然3比特的編碼最多可以支持的激活從節(jié)點(diǎn)數(shù)為7(扣除全0)。4比特的TYPE字段可以區(qū)分16種不同類(lèi)型的分組,詳細(xì)情況見(jiàn)本節(jié)第3點(diǎn)。FLOW字段用于ACL鏈路上的流量控制:如果接收端緩存滿(mǎn),則FLOW=0指示發(fā)端停止發(fā)送數(shù)據(jù);如果緩存清空,則FLOW=1指示發(fā)端繼續(xù)發(fā)送。ARQN=0時(shí)表示NAK;ARQN=1時(shí)表示ACK,用于對(duì)負(fù)載傳送正確性的確認(rèn)。SEQN比特在每發(fā)送一個(gè)新的分組時(shí)翻轉(zhuǎn)一次,因?yàn)樗{(lán)牙采用無(wú)編號(hào)ARQ機(jī)制,所以SEQN對(duì)于重傳是必需的,這樣可以避免由于 ACK的去失而造成分組重復(fù)接收。分組頭用8比特的校驗(yàn)碼以檢查分組頭的正確性。
3.分組類(lèi)型
在16種分組中,有4種是公共的;另外12種根據(jù)SCO和ACL不同鏈路而不同。
(1)公共分組
ID分組:由DAC或IAC組成,長(zhǎng)度固定為68比特,用于尋呼、探詢(xún)、響應(yīng)。
NULL分組:僅包含 CAC和分組頭,沒(méi)有負(fù)載,長(zhǎng)度固定為126比特。NULL分組用于通過(guò)ARQN、FLOW等字段將鏈路信息返回給發(fā)送端。NULL分組無(wú)需確認(rèn)。
POLL分組:POLL分組與NULL分組類(lèi)似,也沒(méi)有負(fù)載字段,但是需要接收端的確認(rèn)。當(dāng)從節(jié)點(diǎn)收到POLL分組后,必須響應(yīng),即使當(dāng)時(shí)沒(méi)有數(shù)據(jù)信息需要發(fā)送。
FHS分組:是一種特殊的控制分組,它宣告發(fā)端的設(shè)備地址和時(shí)鐘信息,以實(shí)現(xiàn)跳頻同步。負(fù)載字段包含144個(gè)信息比特加16比特的CRC校驗(yàn)碼,然后用速率為2/3的FEC保護(hù),最終長(zhǎng)度為240比特。FHC的結(jié)構(gòu)比較復(fù)雜,限于篇幅不作介紹。
DM1分組:DM代表Data Medium rate,該分組僅攜帶數(shù)據(jù)信息,負(fù)載包含18個(gè)信息字節(jié)和16比特的CRC校驗(yàn)