版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、RW BLE COF記錄傳輸信道BLE的傳輸信道在2.4G頻段有40個channel。包括2種物理信道:播送信道和數(shù)據(jù)信 道。數(shù)據(jù)幀中設(shè)置 Access Address用于標識該信道,防止信道碰撞。Channel MAP如下:RF ChannelRF Center FrtqirtncyChatml TypeDjts Channel IndexAdvairti&irioCh-3 nnel lnd«x02402 MHzAdvertising channell3712404 MM2Du til dmmrD22+D6 MHzDaU charnel1 Datu cbanneifi111
2、2424 MHzDala channel101224?B MHzAdveiiisinq channel3G用g MHzDjU dvwiwJ11u240 MHzDate channel12Ckito channHs3U24/EJ MHzDaia channel36392480 MHzAdverUsing chcinnel38TMe 1 ?'of Rf Channel fo Ctwef (nrfex -vurf 切曲粘呵腫耐上疋數(shù)據(jù)幀通信藍牙幀結(jié)構(gòu)如下:LSBMSBFr&annfaltAccew AddressPDUCRC(1 ociet)(4 octets)(2 to 3&
3、; odels(3 octets hyure 2.1. jL/nfc packet fonratPreamble :根據(jù) Access Address而定,假設(shè) AA的LSB最右bitbit為1,那么前導(dǎo) 便是10101010b,反之那么為 01010101b。Access Address :播送幀的 AA為:0x8E89BED6其他情況可以是一個 32bit的隨機數(shù)。 AA需滿足以下條件不超過連續(xù)6個1或者0。與播送幀的 AA不同bit超過1個。不能4byte 一樣。 0 1跳變不能超過24次 MSB 6bit 0 1 跳變超過 2次。以下逐個介紹PDUAdvertising Channel
4、 PDU藍牙播送幀幀結(jié)構(gòu)LSBMSBflGbds)(as per tie Length ield in the Header)其中Header的幀格式如下:LSBMSBFDU TypeRFUTxAcMRxAddLenothRFU(4 bns)(SbPtsi(1 bit)(1f6bns)其中,a、播送幀類型PDU Type分為以下幾類:PWJ rypfi 2俺屁DCODADV NDK®1心 DIRECT 1HOQO1BASV NQbCOHN INDDC11D1DD01D1COWECTREaD1WSCM 賂IDgjiil-fill? ADV_IND: connectable undire
5、cted advertising event? ADV_DIRECT_IND: connectable directed advertising event? ADV_NONCONN_IND: non-connectable undirected advertising event? ADV_SCANND: scannable undirected advertising eventb、Length : 337bytes播送幀分為很多種, 分別闡釋:其區(qū)別就是payload所代表的意義不同,以下分別對幾種播送幀作1、ADV_INDADV_IND的 payload 格式如下:Payloadoct
6、ets)AdvA octets在播送幀幀頭中的 TxAdd位是播送地址的標示位:TxAdd=0: AdvA地址為公用地址;TxAdd=1: AdvA地址為隨機地址。AdvData那么是播送HOS啲播送數(shù)據(jù)。2、ADV_DIRECT_IND這種幀用于直接接入的播送事件。ADV_DIRECT_IND勺 payload 幀格式如下:$ MtSlSInitA廟 octets;其中AdvA的意義與 ADV_IND樣。InitA為播送發(fā)起者地址:RxAdd=0:發(fā)起者地址是公用地址;RxAdd=1:發(fā)起者地址是隨機地址。注意:該幀不包含任何 HOST數(shù)據(jù)。3、ADV_NONCONN_INDA<hrA
7、6 ociets. 0*31 octeijj用于不可接入不直達non-connectable undirected的網(wǎng)絡(luò)。其 payload意義與ADV_IND類似。4、ADV_SCAN_IND用于可掃描不直達網(wǎng)絡(luò)。Payload意義與ADV_IND類似。PtaylDiad01 CK 問 |、Scaning PDUs1) SCAN_REQ這是掃描請求幀,處于播送狀態(tài)的接收設(shè)備接收這種幀。PayloadSwnA (6 octets iAdvA 6 曲(S)此處,Sca nA為掃描者的地址,其地址由TxAdd控制是公共地址還是隨機地址。AdvA為該掃描幀的目的地址。由RxAdd控制意義。2) SC
8、AN_RSPAdvA (6 octetsScanRspDaiaAdvA地址掃描確認。處于播送狀態(tài)的設(shè)備在收到掃描請求后,需要回復(fù)掃描確認幀。 意義由TxAdd確定。ScanRspData為播送端的附帶數(shù)據(jù)。三、Initiating PDU該局部為連接發(fā)起協(xié)議。發(fā)起的幀格式僅一種:CONNECT_REQh發(fā)起方發(fā)送該幀,廣播方接收該幀。1) CONNECT_REQ connect_rEQ格 式如下:-LData(22 octets*Pay Io adInitAMvA.(6 octets: 6 octetsTxAdd確認InitA地址為公共地址還是隨機地址;RxAdd確認AdvA地址為公共地址還是
9、隨機地址。LLData的數(shù)據(jù)格式如下:LLDataAA(4 octote)CRCInit (3 OCIOtS)WirtSizft (1 ociot)Win Offset (2 OCtOIS)Intfirvali(2 octo1 aiency (2 ocots)Tlmeoiit2 octo isChM(5 OCtOlS)Hop 5 bits)SCA (3 bits)AA AccessAddressCRCInit : CRC校驗的初始值,它應(yīng)該是 LinkLayer產(chǎn)生的一個隨機值。Win Size :發(fā)送窗長度參數(shù)。tran smitWi ndowSize=Wi nSize*1.25ms。Win
10、Offset :發(fā)送窗起始偏移量。TransmitWindowOffset=WinOffset*1.25ms 上述兩個 window意義如下:胞辭 < ;* i ls Wow on LL connociior ootup tvj曲 a non zoro tranmmdowOffotInterval :確定 connect interval 的時間長度。connlnterval = Interval * 1.25 ms Latency : connSlaveLatency =Latency 。TimeOut: connSupervisionTimeout= Timeout * 10 ms
11、i00ms32s之間,當(dāng)兩幀數(shù) 據(jù)之間的時間間隔超過 6*connlnterval 或者connSupervisionTimeout時,那么認為 連接喪失。ChM即ChannelMAP, 共036個信道。LSB代表channel0,哪一個是1,那么哪一個信道 有效。Channel 3739 保存。Hop: 516之間的隨機值,用于設(shè)置Hoplncrement。用于計算不使用的信道編號。unm appedCha nnel = ( lastU nm appedCha nnel + hop In creme nt) mod 37如果計算結(jié)果是屬于保存信道,那么通過下式計算:remapp ingln
12、dex = unm appedCha nnel mod nu mUsedCha nn elsSCA設(shè)置Master睡眠時鐘準確度的最大值。對應(yīng)表如下:SCAmiasterSCjfli0251 ppm to 5QQ ppm1151 ppm to 250 ppm2101 ppm to 150 ppm376 ppm to 100 ppm461 ppm to 75 ppm531 ppm to &0 ppm621 ppm to M perm70 ppm to 2D ppm四、Data Channel PDU數(shù)據(jù)信道的幀格式如下:MSBMIC(32 brsLsaneaterPayload(16眄M
13、IC。其中包括16bit Header ,長度可變的Payload,和一個信號完整性確認字段1、關(guān)于 Header 和 MICHeader的數(shù)據(jù)格式如下:HeaderLLJDNESNSNMDRFULengthRFU(2 bit駅Mbit)(1 Wiwt(3 Mt*(5 bits時 bllsr每個字段的意義如下:FivldH4m«DncripelonLLIDNESNTh* lLiQi jFHllwrtw >/twth#r IfwI» an LL Qflia PU or an LL 匚cntmPDU.DOb =良ewrz&dD1b»bL D«l
14、a PDU.茁肝崢I(yè)Ht M腫他毎 MH齬游.MMPDU.Wb-u p«1i PDU SMft or M 其岷 耐Qr aIL2CAP 時卅sag&no tnagmertaeiDn1ib = LLCcntnDlPDU啊車科Squtn* 制urr取<Sequincs NumberMDmsLenigflliTlwLwiglhUWnHdl&MtsitwsJw.InqcWi. offwPeyioedand MiUW inoudMi.MIC字段使用的時候,有兩個條件:1、不能使用于非加密的數(shù)據(jù)幀;2、數(shù)據(jù)幀payload長度不能為0。字長為4byte 。2、關(guān)于 Payl
15、oadPayload 分為兩類,LL Data PDU 和 LL Control PDU LLID=11b。LL Data PDU 里面 又分為兩類,一類是完整數(shù)據(jù)幀或幀碎片起始幀 LLID=10b,另一類是幀碎片LLID=01b。 其中,幀碎片幀的幀長度可以為 0,而完整起始幀的長度不可以為 0。下面具體介紹LL Con trol PDU :LL Co ntrol PDU 的幀格式如下:Payload1 octet0-22 octets >其幀長度不能為 0,其中包含兩個字段:Opcode和CtrData 。Opcode用于確定控制幀類型:OpcodeControl PDU Nmth(
16、MX)LL_C0NNECT10N_UPDATE_REaCM01ll_chawnel_mapjreqLL_TERMINATENDLL_EMC_REQ0*04ll_enc_rspLL.START 上LLJ5 伽 r_ElMC_RSF007U. UNKNOWN RSPOxUHLL_FLATURE_RLQLL_FEATURE_F?SPLL_PAUSEElMC_RE<iOwflBLL_PAJUSE_EMC_«$POhdcLL_YERSICN_«ND(NODLl .REJECT IND| 0>OE-OiFFReserved for Fulire Lhe假設(shè)收到的LLC PD
17、U格式不支持或者是無用幀,那么回復(fù)LL_UNKNOWN_RSPU此時的Type 字段需設(shè)置成收到的無用的opcode。LL_CONNECTION_UPDATA_REQ該幀的幀格式如下:CtTDGtaWnSize (1 octet)Wri Offset2 octets)Interval (2 octete)Latency (2 odtete)Timeout(2 octete)liibtarrl (2 actEb)這些信息的意義在下一章的四中有詳述。LL_CHANNEL_MAP_REQCtrCfltiChM(5 ocrets)InMnnf (2 octets iLL_TERMINATE_IND:C
18、trDaitaError Code (1 Kiel)這個ErrorCode在藍牙協(xié)議中有具體制定意義。Vol2 Part DLL_ENC_REQ:CtrDdluRand(8 octets)EDIV(2 octets JSKDm(B octets)(Vm(4 oeteis)和加密相關(guān)的請求幀LL_ENC_RSP:CtrDataSKDs (9 oclsls)IVs (4和加密相關(guān)的回復(fù)幀LL_START_ENC_REQ: 沒有CtrData字段 LL_START_ENC_RSP: 沒有CtrData字段 LL_UNKNOWN_RSP:CtrDataUnknoMiType(1 udHi)LL_FEA
19、TURE_REQ:Cti Ddla (0 oci&ei)LL_FEATURE_RSP:CtrDaiFeatuireSei(S octe怎)LL_PAUSE_ENC_REQ: 沒有CtrData字段 LL_PAUSE_ENC_RSP: 沒有CtrData字段 LL_VERSION_IND:CtrDataVerNr (1Campkl (2 OCteB)SubVsrsNr (2 octets)LL_REJECT_IND:關(guān)于藍牙通信協(xié)議的理解、時鐘要求Active 狀態(tài)下小于± 50ppm。 Sleep Mode 下小于± 500ppm。二、設(shè)備過濾除了僅支持不可連接的播
20、送系統(tǒng) non-connectable advertising ,其他模式均需支持 設(shè)備過濾。 播送、掃描、連接發(fā)起均具有各自獨立的過濾機制。 如果芯片不支持這幾種模式 的話,那就可以不支持設(shè)備過濾。設(shè)備過濾是為了盡量減少不必要的數(shù)據(jù)通信。設(shè)備過濾時需要具備一個白,白容包括不過濾設(shè)備的地址和地址類型公共或隨機白容由HOST設(shè)置。以下對各種過濾模式作一個介紹:1、播送過濾支持過濾方式如下,一次僅支持一種方式:播送設(shè)備僅處理來自白的設(shè)備的掃描、連接請求。播送設(shè)備處理一切設(shè)備的掃描、連接請求。復(fù)位值播送設(shè)備處理所有設(shè)備的掃描請求,僅處理白的連接請求。播送設(shè)備處理所有設(shè)備的連接請求,僅處理白的掃描請求
21、。2、掃描過濾支持過濾方式如下:掃描設(shè)備僅處理來自白設(shè)備的播送幀。掃描設(shè)備處理一切設(shè)備的播送幀。假設(shè)播送方已經(jīng)過濾該掃描設(shè)備的話,通信不能成功。3、發(fā)起過濾支持過濾方式如下:被發(fā)起設(shè)備處理來自白所有設(shè)備的連接發(fā)起請求。被發(fā)起設(shè)備忽略白,僅處理host給出設(shè)備的連接發(fā)起請求。三、非連接狀態(tài)簡述1、standbyStandby是復(fù)位后的芯片初始狀態(tài),由它可以進入播送、掃描和連接狀態(tài)。2、advertisingadvertis ing event進入播送狀態(tài)后,便開始發(fā)送播送幀。在發(fā)送完一幀播送幀以后, 將被關(guān)閉,來適應(yīng)其他功能。播送事件有以下幾種類型:-a connectable undirect
22、ed* a conr»ctabl« directed avani* a non-connectable undirected event* a fiunriab ft undirected 6'.rant第一幀播送幀應(yīng)該在cha nnel in dex中的最低的播送信道發(fā)送。播送事件是否有回復(fù)幀由播送幀類型決定,具體如下表:Advertising Event TypaPDU u«cd inthis advcrtisirig event typ«Allowable rssponse POUtfor adverting eventSCAhl_REQC
23、ONNECT_REacometlable Undk ireded EventADV_INDYESYESConnectable Rirnc-tnd FwctADV_DIRECT_INDNOYES*Non-ronnectnb Ib Undirected EventADV_NOWCONN INL)NONOScanraNft I indi imeted FvnmtADV_SCAM_INnYESNO當(dāng)收到錯誤的返回幀時,播送端會在下一個播送信道發(fā)送播送幀,或直接停止播送事件。播送事件間隔必須是 625us的倍數(shù),圍在 20ms10.24s,其設(shè)置方式如下:T_advEve nt = adv In ter
24、val + advDelayscannable undirected 和 non-connectable undirected 事件,advIntervai 長度必 須大于 100ms; connectable undirected 事件,advInterval 長度必須大于等于 20ms。 advDelay是010ms的偽隨機數(shù)。連續(xù)播送幀發(fā)送示意圖如下:Adwflisng EventE'*w<-Mverrsing EvwiLT iidbtwriiy血Ei的1 Tyhgire 4 1 AvertisinQ ev曲的pe曲肋M 祈f腫誠唱妙陽byaConn ectable Un
25、directed Event TypeADVJ®ADVJNDAOVJHD.卜口TJFa 10阿j亠Aa uh i: 37t=>'£Aflv da 土 捕1S4汎出iUiHrtKngia radsunwrlT4 3 CdEhctaW?adkiprftsin event unth SQAtJ_RFd anr, CAiti RP P匚Lis intiie mrddfc of an jd'fbstnq eventW_INDQ/_HD心KJWN.PEG3&WJ«Fsio屮*蘭334*活1t1JF1aortstartedAdMvbMCMP* se
26、isedRyu.if 4.4. G*也比3畑 L-ii'Jn-Jtrd 沁記血trigA'itH SCA.N REQ uni SCAf i_RSP p-jtreis jthe end of an dvertj&ng ewenF砂亡 4 d Gonneciab undjcted Mrerfrsin叮 eve/# dunnq wtrch o C0NNLC1 隆 <J POU 陽DVJND ID msewrt< taring如圖4.5接收到CONNECT_REQ后,播送方便退出播送狀態(tài),進入Slave狀態(tài)。bConnectable Directed Event T
27、ypeADV CIRECTJMD戶匚甘DREL i-iniAEV IFECTlew >d> Ifl*D¥ CIRECTImDQiWfaosM SiQnegAcveft min» cv«rtKiWMNote: Connectable directed advertising Is designed fcr cases n which fastink |凋3卻0敝W3J毎爵期1規(guī)仗4孔卿0険她 It'S a po'er and bandwidth intensive advertising scheme th戲 should only be
28、 usd whn 佰気 亡onn白亡tian 盂Etui: is required.cScann able Un directed Event TypeADT_X*NINDADVSCANINDA3V_9CANINC門托il(ig evertAdvising 9verr ClQ5ft1rgr 4 / ,'>annoW(? undtredcd<t(tvcftf3incj event 詢? ttrify ori/wf取ng POt/sFjtju.re 4. 3j Scannibje andircled adVErtisinq everir mt+? &CAN fxEQan
29、d SCAN RSP PDJs /ri tfie nw'dtffe of an ac/verfxsr'ngi 亡尼nfA£_ 5£噸 IkD£ 10 meM"也»羯38ArawiHirigE*rcdAJ'< - IF.ND*hg'dre 申 9: iscannai>Je undirected advertsrig eventarjtf SCAf 1 H由 PDUc a!忖ieetui of an advitisingdNon-conn ectable Un directed Event Type1、s
30、ca nning檢測狀態(tài)是用來監(jiān)聽播送幀的,其狀態(tài)由HOST控制,分為主動掃描和被動掃描。掃描狀態(tài)下有兩個參數(shù) scanWindow scanlnterval 用于設(shè)置一次掃描的時間。掃描 時間不能長與 10.24s,scanWindow<scanlnterval 。被動掃描Passive Scanning :只接收幀,不發(fā)送幀。主動掃描Active Scanning :監(jiān)聽播送幀,根據(jù)播送幀格式,回復(fù)相應(yīng)幀。ADV_IND/ADV_SCAN_IND -> SCAN_REQADV_DIRECT_IND PDU/ADV_NONCON不回ND SCAN_REQ掃描需進展退避操作。具體看
31、文檔吧,就不貼進來了。2、in itiat ingin itiat ing沒有channel index 的限制。當(dāng)收到一個在過濾白的ADV_IND或ADV_DIRECT_IND發(fā)起者將會發(fā)送一個 CONNECT_R給播送方。發(fā)送完 CONNECT_R后退出發(fā)起狀態(tài),進入連接狀態(tài)。四、連接狀態(tài)簡述:當(dāng)發(fā)起者發(fā)送CONNECT_PDU者播送方收到 CONNECT_RE那么認為連接被創(chuàng)立,但此 時并非認為已經(jīng)建立連接。只有當(dāng)正式開始數(shù)據(jù)通信后,才認為連接已經(jīng)被建立。連接建立后,連接中有兩個角色:Master和Slave。 Master主控conn ection eve nt的時序。每次 conn
32、ection event便是Master和Slave的一次同步結(jié)點。1、連接事件Connection Events 一次連接時間,使用同一個cha nnel in dex 。每次連接至少進展一次數(shù)據(jù)傳輸。Slave端在接收到來自 Master的數(shù)據(jù)幀后,無論 CRC是否正確,均需要回復(fù)數(shù)據(jù),除非屢次連續(xù)CRC不正確。Master也是不管Slave發(fā)過來的幀是否正確, 均需回復(fù)數(shù)據(jù), 沒有除非。無論 CRC是否正確,我們都認為 Header是對的。Master收不到來自Slave的數(shù)據(jù),那么關(guān)閉 connection event 。 Master 和 Slave 都能關(guān)閉此次 connectio
33、n 。連接事件持續(xù)時間長度由 connInterval 和 connSlaveLatency 決定。 每次連接事件的起始點稱作 anchor point 。在 anchor point , Master 開始發(fā)送數(shù)據(jù), Slave 開始接收數(shù)據(jù)。 connInterval 便是本次連接的持續(xù)時間。 Master 必須確保本次連 接時間在下次 anchor point 之前間隔 T_IFS 的時間關(guān)閉。 connInterval 長度必須是 1.25ms 的倍數(shù),長度在 7.5ms4.0s 不等。 connInterval 由發(fā)起者通過 CONNNECT_REQ 傳送給播送方。connSlave
34、Latency 是 Slave 端允許的監(jiān)聽延時時間,其長度圍如下: 0( connSupervisionTimeout / connInterval ) - 1) 且必須小于 500。 也就是說,假設(shè) connSlaveLatency =0,那么 Slave 需要在每個 anchor point 時刻監(jiān)聽。 沒收到設(shè)置 connSlaveLatency 的幀時,亦如是。Master 和 Slave 均有一個 I6bit 的計數(shù)器 conn Eve ntCou nter 每有一次 conn ection eve nt,計數(shù)器就加一,假設(shè)溢出那么循環(huán)。它是用于Lin kLayer作同步時用。Sl
35、ave在等待connSlaveLatency 時,該計數(shù)器亦計數(shù)。2、連接超時 Supervision Timeout 藍牙系統(tǒng)為了檢測連接喪失,便設(shè)置了一個Supervisi on Timeout 計數(shù)器 TLLconnSupervision 。每次接收到數(shù)據(jù)幀,那么計數(shù)器清零。 Supervision Time 超過以下幾 個圍那么認為超時:大于 6 * connlnterval大于 conn Supervisi on Timeoutconn Supervisi on Timeout 為 10ms的倍數(shù),圍是 iooms32s,并且小于(1 + connSlaveLatency ) * c
36、onnlnterval 。Timeout 以后,設(shè)備停止發(fā)送,進入 Standby 狀態(tài),并且上報中斷。3、發(fā)送窗 Transmit Window Tran smit Win dow 的信息包含在CONNECT_REQ,傳送給發(fā)起者。發(fā)送窗起始是在收到 CONNECT_REQ后 transmitWindowOffset + 1.25ms , transmitWindowSize 定義發(fā)送窗的寬度。transmitWindowOffset 圍 1.25ms的倍數(shù),0 msconnlnterval 。transmitWindowSize 圍 1.25ms 的倍數(shù), 1.25ms10ms|connl
37、nterval - 1.25 ms 。4、主設(shè)備 Master Role 建立連接后,發(fā)起的一方成為 Master 。連接狀態(tài)建立以后, Master 重新設(shè)置 TLLconnSupervision , LinkLayer 確認連接已經(jīng)建立。 隨后Master在transmit window 時間開始發(fā)送第一個數(shù)據(jù)幀,Master的第一幀長度可以超過transmit window 。Master 決定第一個 anchor point,下一個 anchor point=以下是一個例子:connln terval +first an chor poi nt。Figure 4 11 Mssfef a
38、,能料 or LL carrredkw) aetup kvtfi a2vro z仙就靦皿5、從設(shè)備Sl ave Role建立連接后,播送的一方成為Slave。Slave 一方也一樣,重新設(shè)置 TLLconnSupervision , LinkLayer確認連接已經(jīng)建立。連接建立后的第一幀,無論 CR是否收對,都把它作為第一次連接事件的an chor eve nt 。假設(shè)第一個transmit window沒有收到數(shù)據(jù)幀,那么準備在下一個transmit window下接收數(shù)據(jù),而此時事件同步計數(shù)器conn Eve ntCou nt亦加一。Figure 4 丁3 5/ave dosng LL c
39、onnection setup in ff)e second LL connectton event6、關(guān)閉連接事件Clos ing Co nn ection Events Header中的MD位標識是否該次事件之后還有數(shù)據(jù)發(fā)送。假設(shè)MD置位,那么Master接著發(fā),Slave接著收。任何一方收不到對方的幀了,均關(guān)閉連接事件。連續(xù)兩次收到數(shù)據(jù) CRC不對,也關(guān)閉連接事件??偨Y(jié)如下:MatterMD = 0MD = 1Slav*袖DsQMjstcr sluN rvjtsx'nd .Nhur packet, t losing thetion eventSlav*ml need tooftr
40、r 'nclnr; Its pnei刃mjy <onlinue The connec (km evenlSlav should listsendingrls pack&lMaste-r may continue the 匚Qii- nectiom eventSlave stiould listen after SfEdung rts packet.Master may cOTtinde the conhet tm eventSlari/e should listen aifter sefiding rts packet殆加 4 2 "D bit申窗牡 fcr制血
41、聞cmnecfon芒回商7、發(fā)送窗拓寬Window Widening由于發(fā)送端接收端都存在晶振頻偏,所以可能會導(dǎo)致Slave端anchor point 不同步,因此Slave每次接收完一個數(shù)據(jù)幀,均需同步一次anchor point 。接收端需要根據(jù)發(fā)送端的頻偏MasterSCA和接收端頻偏SlaveSCA來計算接收端的接收窗拓寬參數(shù),以保證數(shù)據(jù)成功接收。計算方式如下:片祝MMTi能nirrg = fnasrerSCA + Sira:'e5CXi / 1000000' tAnc/ior其值應(yīng)小于(connlnterval /2) - T_IFS us)。假設(shè)到達這個值,那么認為
42、連接丟 失。8、 信道列表選擇Data Cha nnel In dex Selectio nMaster端需要給此次連接的信道分類:使用信道和不使用信道。使用信道最少為兩個。 信道分類由 HOST產(chǎn)生。而 Slave的Channel Map通過CONNECT_R幀接收到本地。連續(xù)的 conn ection event 每次需要獲取兩個參數(shù) unm appedCha nnel和 lastUnmappedChannel。前者是此次連接沒有使用過的信道列表,后者是前一次連接未用過的信道編號。未用信道編號計算方法如下:unm appedCha nne= ( lastU nm appedCha nnel
43、 + hop In creme nt) mod 37 假設(shè)unmappedChannel為used Channel的話,那么此次的 Channel Index 那么根據(jù) 這個 unmappedChanne得至U該次 connection 所使用的 Channel。假設(shè) unmappedChannel為 unused Channel,那么 根據(jù)下 面公式 計算得 到一個 remappinglndex。remapp ingln dex = unm appedCha nnel mod nu mUsedCha nn els總結(jié)如以下圖:9、確認機制和數(shù)據(jù)流控制Ackn owledgeme nt and
44、 Flow Co ntrol數(shù)據(jù)確實認依靠 transmitSeqNumSN和 nextExpectedSeqNumNESN 來控制。NESN用于確認前一幀是否接收正確,是否需要重發(fā)。剛剛進入連接狀態(tài),SN和NESN均需設(shè)置成0。控制方式如以下圖:NESN在一種情況下不會被更新,就是接收BUFFER不夠的情況。這會使發(fā)送端重傳該幀, 如此實現(xiàn)數(shù)據(jù)流控制。五、LinkLayer 控制描述LLCRLinkLayer Control Protocol是用來控制兩個 LinkLayer 之間的控制和協(xié)商的。 其中包括連接控制,加密控制等等。1、LinkLayer 連接更新和 ChannelMap更新每
45、次進入連接狀態(tài)后,設(shè)備均需更新connlnterval , connSlaveLatency 和connSupervisionTimeout。Master 通過發(fā)送 LL_CONNECTION_UPDATE幀RE實現(xiàn)參 數(shù)更新,Slave不能發(fā)送這種格式的幀,它通過使用L2CAP言道回復(fù)更新確認來確認參數(shù)更新。 參數(shù)更新之前使用老的參數(shù),更新之后使用新參數(shù)。Slave 端收至U LL_CONNECTION_UPDATE之REQ假設(shè)conn Eve ntCo unt mod 65535 小于 32767,并且不等于本地的 conn Eve ntCo unt,此時它需 監(jiān)聽所有的Conn ecti
46、on Event ,直到確認 Master收到自己的REQ ACK Slave在確認兩邊 conn Eve ntCou nt相等之前的Conn ection Eve nt均需要監(jiān)聽。假設(shè)conn Eve ntCou nt mod 65535大于32767,那么Slave認為與Master喪失連接,回到 Stan dby狀態(tài),并上報主機。Master這邊,需要在第一個 Transmit Window發(fā)送數(shù)據(jù),它發(fā)送的這幀數(shù)據(jù)作為此次Conn ection 的 an chor poi nt 。 Master 在這個 an chor poi nt 以后更新它的 connln terval,并 清零
47、TLLconnSupervision 計數(shù)。假設(shè)使用自動發(fā)送 LL_CONNECTION_UPDATE_RE么Timeout參數(shù)不跟新,與前次LL_CONNECTION_UPDATENNECT_F設(shè)置時一樣。其他參數(shù)亦如是。自動更新機制用于Master由于其他需求,需要更改anchor point時間。ChannelMap的更新由 LL_CHANNEL_MAP_REQ2、加密加密參數(shù)設(shè)置通過LL_ENC_REQLL_ENC_RSP開始加密:LL_START_ENC_REQ ll_start_enc_rsp完畢加密:LL_PAUSE_ENC_REQ or LL_TERMINATE_IND PDU
48、sEmpty PDUs or LL_PAUSE_ENC_RSP orLL_TERMINATE_IND3、Feature Set Exchange進入連接狀態(tài)以后,藍牙設(shè)備之間需要交換各自所支持的功能參數(shù)。該過程通過LL_FEATURE_REQ PDULL_FEATURE_RSP P交換信息。數(shù)據(jù)幀交換時間關(guān)系如下:apfiniTntefval覽cannlrrtaffvai具體的Feature對應(yīng)位如以下圖所示:Bit positionLink Layei rValid from Control er toHostVdliJ fiam Hv&l to Control hrValid fr
49、txm Control kr to Control l«r0LE EncryptionYY¥1 63RFU4、Version ExchangeLL_VERSIO NND來交換信息。其主從之間交換設(shè)備所支持的藍牙協(xié)議版本信息,通過 信息包括:VersNr :所支持的藍牙協(xié)議Compld:認證信息SubVersNr: Controller的實現(xiàn)版本號。5、Termination Procedure終止通信,通過 LL_TERMINATE_IN睞交換信息。IP架構(gòu)iFigure 2 1 "Jhows the top Jewel block diagram of the
50、RW BILE foi巴 along with the main urioundlug blocks when It h integerinto an ASIC以下是幾個理解上的難點:、關(guān)于 ExchangeTable 禾口 ControlStructureExchangeMemory是一個動態(tài)的存儲器件,其中包括了 ExchangeTabel、ControlStructure T/RxDescriptor 、T/RxBuffer,它們之間的連接都是由指針完成。關(guān)系大概如下:OUDQU1QUOI r CH»DCviTrzA*TF 3iT'g-.tng-l 5-Ht 4 Jb if rwl &尸'ESontrEd STjrare 衍 7ArTTEi JT'UCTirf* *Tr IS
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 商務(wù)合同范本
- 兩人股份合作合同范本
- 中藥材種苗購銷合同
- 目標決定未來
- 房屋買賣合同協(xié)議書26609
- 房產(chǎn)買賣中介合同
- 吊籃設(shè)備租賃合同書
- 中級財務(wù)會計案例講課教案
- 風(fēng)電項目主吊車裝拆方案
- 基于CiteSpace的AED配置國內(nèi)外研究現(xiàn)狀與進展的可視化分析
- 新員工三級安全教育考試試題參考答案
- 35kV輸變電工程(變電站、輸配電線路建設(shè))技術(shù)方案
- 數(shù)學(xué)史簡介課件可編輯全文
- 中學(xué)安全辦2024-2025學(xué)年工作計劃
- 2024年山東省東營市中考數(shù)學(xué)試題 (解析版)
- 2024年鄉(xiāng)村振興(產(chǎn)業(yè)、文化、生態(tài))等實施戰(zhàn)略知識考試題庫與答案
- 網(wǎng)絡(luò)安全基礎(chǔ)知識入門教程
- AI智慧物流園區(qū)整體建設(shè)方案
- 2024年遼寧鐵道職業(yè)技術(shù)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 無痛人工流產(chǎn)術(shù)課件
- 心力衰竭業(yè)務(wù)學(xué)習(xí)護理課件
評論
0/150
提交評論