日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

高通搜网流程

發布時間:2023/12/2 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 高通搜网流程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

引言
樣機上電之后如何自動選擇合適的網絡進行附著,如何對選擇的小區確實是否可以駐守,本文將以高通平臺為例,講述從識別SIM開始,到注冊到合適的小區這整個流程。

架構
LTE協議棧基本分為NAS(Non-Access-stratum),AS(Access-stratum),PHY,在高通平臺中的基本架構如下圖:

其中 Call manager 為上層APP,這部分還包括識別SIM 的UIM 模塊等等

LTE NAS層包括ESM ,REG ,EMM

LTE AS層包括了RRC,PDCP,L1,RLC等等,重點關注RRC(Radio Resource Control)

選網搜網流程
下圖為LTE自動搜網撥號的簡易流程:

上層APP
自動搜網

對于NAS來說,整個搜網撥號的流程發起者為CM模塊,QXDM log 如下

[0005/0002]????????????? MSG????????????????????? ????Call Manager/High??????? [cmregprx.c?? 3261] =CMREGPRX= AS_ID=0, stack=0, addl 0, Send SERVICE_REQ

[0005/0002]????????????? MSG????????????????????? ????Call Manager/High????? ??[cmregprx.c?? 3275] =CMREGPRX= mode_pref 5????????? //LTE-ONLY

[0005/0002]????????????? MSG????????????????? ???????????Call Manager/High??????? [cmregprx.c?? 3282] =CMREGPRX= net_sel_mode 0????? // AUTOMATIC

[0005/0002]????????????? MSG??????????????????? ?????????Call Manager/High??????? [ cmregprx.c?? 3285] =CMREGPRX= srv_domain 3, req_id = 0? //CS+PS

[0005/0002]????????????? MSG??????????????? ???????????Call Manager/High ???????[??? cmwll.c??? 223] =CM= Send cmd 2 to REG?????????????????
手動搜網

CM發送NETWORK_LIST_REQ 到nas層進行搜網,然后再發送SERVICE_REQ進行駐網

[0005/0002] MSG Call Manager/High [ cmregprx.c 3874] =CMREGPRX= AS_ID=0, stack=0, Send NETWORK_LIST_REQ
[0005/0002] MSG Call Manager/High [ cmregprx.c 3877] =CMREGPRX= mode_pref 5
[0005/0002] MSG Call Manager/High [ cmregprx.c 3880] =CMREGPRX= band_pref 00
[0005/0002] MSG Call Manager/High [ cmwll.c 223] =CM= Send cmd 1 to REG
NAS層的結果:

[3010/0002/0003/0004] MSG NAS REG/High [ reg_state.c 8487] DS: SUB 1 =REG= CM_NETWORK_LIST_REQ
[3010/0002/0003/0004] MSG NAS REG/High [ reg_mode.c 4644] DS: SUB 1 =REG= Available PLMN Manual list (length = 3)
[3010/0002] MSG NAS REG/High [ reg_mode.c 1543] 0 460- 01 LTE PS_ONLY HPLMN H 87
[3010/0002] MSG NAS REG/High [ reg_mode.c 1548] 1 460- 00 F LTE PS_ONLY OTHER H 87
[3010/0002] MSG NAS REG/High [ reg_mode.c 1553] 2 460- 11 F LTE PS_ONLY OTHER H 100
下面的章節只講述自動搜網的過程

QXDM Filter : message packets/ call manager

NAS層
REG
REG最重要的功能就是PLMN(Public Land Mobile Network),RAT(radio access technology)的選擇,通俗點講就是根據sim的運營商,以及支持的制式去搜網。比如說插入一張聯通的LTE sim 卡,自動搜網的PLMN應該是 MCC 460 MNC 1/6/9/20,搜索到移動或者電信的基站不進行自動駐網。

所以REG模塊首先需要讀取SIM卡中的信息。那么需要熟悉以下概念:

RPLMN – Last Registered PLMN //記錄上一次注冊的PLMN

HPLMN – Home PLMN //本地PLMN,SIM內置

EHPLMN – Equivalent HPLMN //同等本地PLMN

VPLMN – Visitor PLMN

PPLMN – Preferred PLMN

OPLMN – Operator Preferred PLMN

UPLMN – User Preferred PLMN

FPLMN – Forbidden PLMN //拒絕注冊的PLMN

SIM卡里的信息可以使用讀卡器讀取,是以EFs存儲,具體如下

EFIMSI – IMSI

EFPLMNwAcT – User-controlled PLMN selector with Access Technology //PLMN RAT

EFHPPLMN – Higher-priority PLMN search period

EFFPLMN – Forbidden PLMNs // FPLMN

EFLOCI – Location information

EFOPLMNwACT – Operator-controlled PLMN selector with Access Technology

EFHPLMNwAcT – Home HPLMN selector with Access Technology ?//HPLMN RAT

EFEHPLMN – Equivalent HPLMN // EHPLMN

EFLRPLMNSI – Last RPLMN selection indication // RPLMN

EFPSLOCI – Packet-switched location information

EFEPSLOCI – EPS location information

除了EFs,REG模塊還需要從UE NV 以及UE EFS中拿到樣機的配置

NVs Used by the UE

NV 1190, NV_RPLMNACT_I – Stores the last RPLMN RAT information

NV 849, NV_NET_SEL_MODE_PREF_I – 手動選網還是自動選網

NV 850, NV_SERVICE_DOMAIN_PREF_I – Domain CS or PS

EFS Used by the UE

/sd/rat_acq_order :PLMN選擇中的rat 優先級列表(LTE UMTS GSM )

自動撥號中整個PLMN,RAT的選擇在REG中的流程如下:

從CM模塊知道,整個撥號過程的發起信號是CM_SERVICE_REQ,而REG模塊處理的函數就是reg_state_process_cm_service_req,代碼流程與上圖一致,具體可以看代碼,這邊不多講。最后將發送MMR_REG_REQ 將選擇的PLMN以及RAT發送給EMM

[3010/0002/0003/0004] MSG NAS REG/High [ reg_send.c 1585] DS: SUB 1 =REG= MMR_REG_REQ PLMN(460-1) RAT(LTE)
[3007/0002/0003/0004] MSG NAS MM/High [ emm_reg_handler.c 856] DS: SUB 1 =EMM= MMR_REG_REQ - Srv Domain 3, NW Sel Mode 0, Type 2 //CS+PS 自動搜網 normal
[3007/0002/0003/0004] MSG NAS MM/High [ emm_reg_handler.c 860] DS: SUB 1 =EMM= MMR_REG_REQ - Addtnl info 0x0
代碼路徑在:mmcp\nas\reg

入口函數 reg_main

QXDM Filter : message packets/UMTS/NAS

EMM
將REG的信號轉發給RRC

[3007/0002/0003/0004] MSG NAS MM/High [ emm_rrc_if.c 522] DS: SUB 1 EMM: Sent LTE_RRC_SERVICE_REQ scan_scope 0
?
代碼路徑在:mmcp\nas\mm

QXDM Filter : message packets/UMTS/NAS

AS層
AS層在搜網流程中的重點工作都集中在RRC(Radio Resource Control)層,整個入口即上面NAS層提到的LTE_RRC_SERVICE_REQ ,這個信號會將REG選擇的PLMN,RAT等信息都傳遞到RRC。

根據上圖,可以將RRC搜網過程分為以下步驟:

掃頻
搜索小區
獲取小區SIB
小區選擇
頻率掃描
有兩種類型的頻率掃描:

System scan, 部分頻率掃描
UE之前有過頻率掃描,會將掃描結果存儲在UE EFS acq db,包括erafcn,bw
如果acq db沒有掃描到,會掃描全頻帶除了acq db記錄的其他頻點(考慮UE移動導致環境變化)
Band scan, 全頻帶掃描
UE acq db中沒有值,需要在整個支持頻帶中掃描
Acq_db 可以通過EFS tool查看,路徑 nv/reg_files/modem/lte/rrc/csp

System scan
RRC層發起system scan,從以下log我們可以看到,acq db記錄了上次掃描的結果,earfcn 為450,1650的兩個cell,對應band 為1 和3

[9501/0002/0009] MSG LTE RRC/High [ lte_rrc_csp.c 7321] CSP:final system scan list for acd db = 450
[9501/0002/0009] MSG LTE RRC/High [ lte_rrc_csp.c 7321] CSP:final system scan list for acd db = 1650
[9501/0000/0009] MSG LTE RRC/Low [ lte_rrc_csp.c 7326] CSP: Found 2 systems to scan
[9501/0002/0015] MSG LTE RRC/High [ lte_rrc_llc.c 1206] Sent System Scan Request
PHY層收到 System Scan請求后,會在這兩個頻點進行掃描,最后得出兩個頻點上的能量強度

[9509/0002] MSG LTE ML1/High [ lte_ml1_sm_fs.c 5852] SM_fs: System Scan Results, num systems found 2
[9509/0002] MSG LTE ML1/High [ lte_ml1_sm_fs.c 5900] SM_fs: earfcn 1650 bw 100 scaled energy linear 0x22 dBm -96
[9509/0002] MSG LTE ML1/High [ lte_ml1_sm_fs.c 5900] SM_fs: earfcn 450 bw 100 scaled energy linear 0x10 dBm -99
[9509/0002] MSG LTE ML1/High [ lte_ml1_sm_fs.c 7818] SM FS :fscan object schedule/deschedule 0 min_act_window 0@ time 0x00000cb9f
之前我們也提到,這兩個頻點是已經掃描過的,所以將他們都看作是符合PLMN,RAT的選擇條件的。接下來RRC選擇信號強度更強的小區進行搜索,本例中也就是earfcn1650

[9501/0000/0009] MSG LTE RRC/Low [ lte_rrc_csp.c 4275] CSP: Acq requested on earfcn 1650
band scan
[9501/0002/0009] MSG LTE RRC/High [ lte_rrc_csp.c 6346] CSP: Zero entries in acquistion list
[9501/0002/0009] MSG LTE RRC/High [ lte_rrc_csp.c 9019] CSP: Acquisition list exhausted
[9501/0000/0009] MSG LTE RRC/Low [ lte_rrc_csp.c 4139] CSP: Sending 1 bands in band scan
[9501/0000/0009] MSG LTE RRC/Low [ lte_rrc_csp.c 4159] CSP: Band 1
[9501/0002/0009] MSG LTE RRC/High [ lte_rrc_csp.c 4174] CSP: Sent Band Scan Request
如果acq_db為空,RRC層發起band scan:log如下

[9501/0002/0009] MSG LTE RRC/High [ lte_rrc_csp.c 6346] CSP: Zero entries in acquistion list
[9501/0002/0009] MSG LTE RRC/High [ lte_rrc_csp.c 9019] CSP: Acquisition list exhausted
[9501/0000/0009] MSG LTE RRC/Low [ lte_rrc_csp.c 4139] CSP: Sending 1 bands in band scan
[9501/0000/0009] MSG LTE RRC/Low [ lte_rrc_csp.c 4159] CSP: Band 1
[9501/0002/0009] MSG LTE RRC/High [ lte_rrc_csp.c 4174] CSP: Sent Band Scan Request
搜索結果如下

[9509/0002] MSG LTE ML1/High [ lte_ml1_sm_fs.c 3338] SM_fs: Band 1 scan complete, num systems reported 14
[9509/0002] MSG LTE ML1/High [ lte_ml1_sm_fs.c 3350] SM_fs: System 1 earfcn 226 bw 25 energy norm dBm -65
[9509/0002] MSG LTE ML1/High [ lte_ml1_sm_fs.c 3350] SM_fs: System 2 earfcn 225 bw 25 energy norm dBm -65
[9509/0002] MSG LTE ML1/High [ lte_ml1_sm_fs.c 3350] SM_fs: System 3 earfcn 227 bw 25 energy norm dBm -65
[9509/0002] MSG LTE ML1/High [ lte_ml1_sm_fs.c 3350] SM_fs: System 4 earfcn 276 bw 25 energy norm dBm -65
[9509/0002] MSG LTE ML1/High [ lte_ml1_sm_fs.c 3350] SM_fs: System 5 earfcn 275 bw 25 energy norm dBm -65
[9509/0002] MSG LTE ML1/High [ lte_ml1_sm_fs.c 3350] SM_fs: System 6 earfcn 277 bw 25 energy norm dBm -66
[9509/0002] MSG LTE ML1/High [ lte_ml1_sm_fs.c 3350] SM_fs: System 7 earfcn 450 bw 100 energy norm dBm -68
[9509/0002] MSG LTE ML1/High [ lte_ml1_sm_fs.c 3350] SM_fs: System 8 earfcn 451 bw 100 energy norm dBm -68
[9509/0002] MSG LTE ML1/High [ lte_ml1_sm_fs.c 3350] SM_fs: System 9 earfcn 449 bw 100 energy norm dBm -68
[9509/0002] MSG LTE ML1/High [ lte_ml1_sm_fs.c 3350] SM_fs: System 10 earfcn 452 bw 100 energy norm dBm -68
[9509/0002] MSG LTE ML1/High [ lte_ml1_sm_fs.c 3350] SM_fs: System 11 earfcn 448 bw 100 energy norm dBm -68
[9509/0002] MSG LTE ML1/High [ lte_ml1_sm_fs.c 3350] SM_fs: System 12 earfcn 100 bw 100 energy norm dBm -75
[9509/0002] MSG LTE ML1/High [ lte_ml1_sm_fs.c 3350] SM_fs: System 13 earfcn 101 bw 100 energy norm dBm -75
[9509/0002] MSG LTE ML1/High [ lte_ml1_sm_fs.c 3350] SM_fs: System 14 earfcn 102 bw 100 energy norm dBm -75
[9509/0002] MSG LTE ML1/High [ lte_ml1_mgr_task.c 1609] HST DEBUG: received UMID 67241039
?? 從第一個頻點開始進行小區搜索

QXDM Filter : MESSAGE PACKETS/LTE/RRC&ML1

小區搜索
UE進行小區搜索的目的是

1、為了獲取小區物理ID和完成下行同步,其實就是對PSS(Primary Synchronization Signal),SSS(Secondary Synchronization Signal)的檢測。當UE檢測到PSS和SSS時,就能解碼出物理小區ID,同時根據PSS和SSS的位置,可以確定下行的子幀時刻,完成下行同步。

2、下行同步之后進行PBCH 解碼,獲取MIB(MasterInformationBlock),從而獲取RS(Reference Signal),為后續的獲取SIB(SystemInformationBlocks)提供解碼。

對于PSS 以及SSS的檢測,可以看做是小區在特定頻點范圍,特定時域位置的廣播信號

(1)時域上的位置

對于LTE-FDD制式,PSS周期的出現在時隙0和時隙10的最后一個OFDM符號上,SSS周期的出現在時隙0和時隙10的倒數第二個符號上。

對于LTE-TDD制式,PSS周期的出現在子幀1、6的第三個OFDM符號上,SSS周期的出現在子幀0、5的最后一個符號上。

如果UE在此之前并不知道當前是FDD還是TDD,那么可以通過這種位置的不同來確定制式。且SSS在兩個子幀中的序列不同,可以區分0時隙和10時隙

(2)頻域上的位置

PSS和SSS映射到整個帶寬中間的6個RB中,因為PSS和SSS都是62個點的序列,所以這兩種同步信號都被映射到整個帶寬(不論帶寬是1.4M還是20M)中間的62個子載波(或62個RE)中,即序列的每個點與RE一一對應。在62個子載波的兩邊各有5個子載波,不再映射其他數據。

確認了0時隙的位置,也就完成了下行同步,就可以確認MIB的位置。MIB的解析與搜網關系不大,這邊就不詳細說,需要知道的是只有解析了MIB,才能夠進行后續的SIB信息的解碼。

獲取SIB
SIB為UE提供了小區駐留、重傳、鏈路建立等等所需的若干參數, LTE的SIB類型有很多種,介紹部分類型,所有SIB中最重要的當屬SIB1,因為SIB1除攜帶了UE接入小區等所需的參數之外,還攜帶了其他SIB類型的調度信息。如果UE解碼不到SIB1,也就無法解碼其他類型的SIB。

SIB1:主要攜帶小區接入和小區選擇相關信息,以及LTE-TDD子幀配置、其他SIB塊的調度和窗口信息等。

MCC,MNC
CellIdentity
q-RxLevMin, q-RxLevMinOffset 小區接入最小接受強度
p-Max 最大功率
后續攜帶的其他SIB,以及對應的發送周期

SIB2:主要攜帶公共的無線資源配置相關信息,包括接入BAR信息、PRACH配置信息、上行頻點信息、MBSFN配置等。

SIB3:攜帶同頻、異頻、跨制式小區重選相關的公共信息。

SIB4:攜帶用于同頻小區重選的鄰區信息

SIB5:攜帶用于異頻小區重選的鄰區信息。

SIB6:攜帶用于跨制式(UTRA)小區重選的鄰區信息。

SIB7:攜帶用于跨制式(GERAN)小區重選的鄰區信息。

SIB8:攜帶用于跨制式(CDMA2000)小區重選的鄰區信息。

SIB9:攜帶HOME eNB(HNB)的相關信息。

QXDM Filter : LOG PACKETS(OTA)/LTE

小區選擇
經過上述的流程,UE已經對該小區的信息全面掌握,那么接下來需要確認該小區是否可以駐守,判斷條件有如下幾條:

  • 小區所在的PLMN需滿足SIM卡的PLMN

  • 小區沒有被禁止;

  • 小區滿足S準則,即小區搜索中的接收功率Srxlev> 0 dB且小區搜索中接收的信號質量Squal > 0 dB。

  • S準則需要滿足以下兩個條件:

    Srxlev?=?Qrxlevmeas?–?(qRxLevMin?+?qRxLevMinOffset)?–?pCompensation

    Qrxlevmeas : 測量小區的 RSRP 值。
    ?qRxLevMin:SIB1下發
    qRxLevMinOffset:SIB1下發
    ?pCompensation ?功率補償
    Squal?=?Qqualmeas?–?(qQualMin?+?qQualMinOffset)

    Qqualmeas?: 測量小區的 RSRQ 值。
    ?qQualMin?:SIB3下發
    qQualMinOffset:SIB1下發
    如下QXMDlog 顯示了該小區滿足S準則

    [9509/0002] MSG LTE ML1/High [ lte_ml1_sm_idle.c 4050] Cell (1650,43) Srxlev 18, rsrp -106 rsrq -14 qrx -124 qrx_off 0 pmax 23 pcomp 0
    [9509/0002] MSG LTE ML1/High [ lte_ml1_sm_idle.c 4141] Cell (1650,43) Squal 114, LL RSRQ -14 normalized rsrq -14 q_qual -128 q_qual_off 0
    ??? 之后開始駐守該小區,并通知NAS層

    [9501/0000/0009] MSG LTE RRC/Low [ lte_rrc_csp.c 17669] CSP: Camped on physical cell ID 43 on earfcn 1650
    [9501/0002/0009] MSG LTE RRC/High [ lte_rrc_csp.c 4714] CSP: Sending NAS Service I
    QXDM Filter : MESSAGE PACKETS/LTE/RRC&ML1

    注冊撥號流程
    NAS層收到駐守完成的信號后,EMM開始請求注冊,具體流程如下:

    RRC連接建立:

    [0xB0C0/012/014/002] OTA LOG UL_CCCH / RRCConnectionRequest Radio Bearer ID: 0, Freq: 1650, SFN: 0
    [0xB0C0/012/012/004] OTA LOG DL_CCCH / RRCConnectionSetup Radio Bearer ID: 0, Freq: 1650, SFN: 61
    [0xB0C0/012/015/005] OTA LOG UL_DCCH / RRCConnectionSetupComplete Radio Bearer ID: 1, Freq: 1650, SFN: 0
    [0xB0C0/012/013/008] OTA LOG DL_DCCH / UECapabilityEnquiry Radio Bearer ID: 1, Freq: 1650, SFN: 64
    [0xB0C0/012/015/008] OTA LOG UL_DCCH / UECapabilityInformation Radio Bearer ID: 1, Freq: 1650, SFN: 0
    空口報文:

    [0xB0ED] OTA LOG LTE NAS EMM Plain OTA Outgoing Message Attach request Msg
    [0xB0EC] OTA LOG LTE NAS EMM Plain OTA Incoming Message Identity request Msg
    [0xB0ED] OTA LOG LTE NAS EMM Plain OTA Outgoing Message Identity response Msg
    [0xB0EC] OTA LOG LTE NAS EMM Plain OTA Incoming Message Authentication request Msg
    [0xB0ED] OTA LOG LTE NAS EMM Plain OTA Outgoing Message Authentication response Msg
    [0xB0EC] OTA LOG LTE NAS EMM Plain OTA Incoming Message Security mode command Msg
    [0xB0ED] OTA LOG LTE NAS EMM Plain OTA Outgoing Message Security mode complete Msg
    [0xB0EC] OTA LOG LTE NAS EMM Plain OTA Incoming Message Attach accept Msg
    [0xB0E2] OTA LOG LTE NAS ESM Plain OTA Incoming Message Activate default EPS bearer context request Msg
    [0xB0ED] OTA LOG LTE NAS EMM Plain OTA Outgoing Message Attach complete Msg
    QXDM Filter : LOG PACKETS(OTA)/LTE
    ————————————————
    版權聲明:本文為CSDN博主「shawn4096」的原創文章,遵循CC 4.0 by-sa版權協議,轉載請附上原文出處鏈接及本聲明。
    原文鏈接:https://blog.csdn.net/u011212816/article/details/97394498

    總結

    以上是生活随笔為你收集整理的高通搜网流程的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。