Thiết kế module thực hiện chức năng LTE RLC

Một phần của tài liệu Nghiên cứu phát triển phần mềm trên modem 4g lte chức năng lte rlc và pdcp (Trang 43)

Module RLC được đặc tả kỹ thuật trong 3GPP [TS.36.322], và bao gồm 3 chế độ hoạt động khác nhau của RLC: Mode trong suốt - Transparent Mode (TM), Mode không có phản hồi - Unacknowledge Mode (UM), Mode phản hồi - Acknowledged Mode (AM). Phần sau đây của tài liệu sẽ trình bày mô hình kiến trúc lớp RLC và PDCP, các module trong RLC và PDCP.

40

5.1. Kiến trúc module lớp RLC và PDCP

Mô hình tổ chức thiết kế module RLC bao gồm mỗi một phân lớp tương ứng với mỗi một chế độ hoạt động của RLC. Hình dưới mô tả kiến trúc mô hình của PDCP, RLC và mối liên hệ với các module khác trong cùng chồng giao thức ngăn xếp LTE lớp 2.

Hình 16. Mô hình kiến trúc của PDCP, RLC và mối quan hệ với MAC và các module khác trên UE

Trong hình trên module RLC có 03 chế độ AM, UM và TM tương ứng với 03 file mã nguồn lte-rlc-am.cc/h, lte-rlc-tm.cc/h, lte-rlc-um.cc/h, trong đó rlc tm chủ yếu được sử dụng trong mục đích điều khiển, thông tin được truyền trong suốt trên các kênh logic BCCH, PCCH và CCCH, rlc am chủ yếu được sử dụng trong truyền tải thông tin báo hiệu kênh vô tuyến SBR xuất phát từ RRC và NAS, chúng được truyền tải trên các kênh logic DCCH và DTCH, rlc um chủ yếu được sử dụng cho các nhu cầu truyền thông tin trên các kênh logic DTCH, MCCH hoặc MTCH.

Tương ứng với mỗi thể hiện của rlc um và rlc am, phía trên sẽ có một thể hiện của pdcp (lte-pdcp.cc/h). Trong hình 16 phía trên không vẽ thể hiện của các hàm nguyên thủy trong mặt cắt điều khiển RlcCSapProvider, RlcCSapUser, PdcpCSapProvider,

41

PdcpCSapUser giống như của lớp MAC vì bản chất các lớp trên chỉ cần 2 hàm điều khiển duy nhất là thiết lập cấu hình kênh mang vô tuyến và hủy bỏ cấu hình kênh mang vô tuyến bao gồm cả kênh báo hiệu SRB và kênh dữ liệu DRB. Phần sau đây của tài liệu sẽ trình bày mặt cắt giao tiếp, cơ chế cấu hình điều khiển, các dịch vụ nguyên thủy và các chế độ hoạt động của RLC, PDCP.

5.2. Cấu hình điều khiển RLC và PDCP

Mỗi khi lớp trên (RRC) thực hiện thiết lập kết nối, nó sẽ cấu hình các kênh mang vô tuyến bao gồm cả kênh báo hiệu SRB và kênh dữ liệu DRB.

Hình 17. Tham số cấu hình kênh mang vô tuyến trong RLC và PDCP

Hình 17 phía trên mô tả ví dụ về cấu trúc của một bản tin cấu hình các kênh mang vô tuyến trong RLC và cấu hình lớp PDCP (được bắt giữ trên máy test trong quá trình test thử modem 4G LTE).

Phần “Config RLC for SRB” là các thông tin cấu hình cho kênh mang vô tuyến sử dụng SRB2 (sử dụng RLC ở chế độ mặc định – AM và kênh truyền tải là kênh mặc định – DCCH)

42

Phần “Config RLC for DRB” là các thông số liên quan đến kênh mang dữ liệu vô tuyến cần thiết lập trong đó quy định sử dụng rlc am và các tham số ul-AM-RLC cho hướng uplink:

- t-PollRetransmit: là giá trị timer truyền lại ACK = 80 mili giây - pollPDU: kích thước bộ đệm = 128 PDU

- pollByte: kích thước bộ đệm tính theo byte: 128 Kb - maxRetxThreshold: số lần truyền lại tối đa= 4 lần dl-AM-RLC là cấu hình của RLC hướng downlink:

- t-Reordering: thời gian RLC đợi và phát hiện mất gói = 80 mili giây

- t-StatusProhibit: thời gian đợi và cấm truyền STATUS PDU = 60 mili giây

Khi RRC thiết lập một kết nối vô tuyến, nó sẽ gọi đến các hàm ConfigRlc, ConfigPdcp hàm này sẽ khởi động một thể hiện mới của module RLC, PDCP (tạo 2 thread mới tương ứng với RLC và PDCP) theo cấu hình được cung cấp bởi RRC và gọi dịch vụ từ lớp MAC để bổ xung thêm kênh logic vào bộ ghép/tách kênh. Tương tự như vậy khi RRC chấm dứt kế nối, nó sẽ gọi hàm DeleteRlc, DeletePdcp để xóa thể hiện của RLC, PDCP đã được khởi động lúc trước.

Phần tiếp theo sẽ trình bày về mặt cắt giao tiếp của RRC và các dịch vụ nguyên thủy của RRC được cung cấp tại các mặt cắt.

5.3. Mặt cắt giao tiếp RLC

Giao tiếp dịch vụ RLC được chia thành 2 phần:

- RlcSapProvider: được cung cấp bởi lớp RLC và được sử dụng bởi lớp PDCP phía trên

- RlcSapUser: được cung cấp bởi lớp PDCP trên và sử dụng bởi lớp RLC.

Cả hai chế độ UM và AM RLC đều cung cấp chung một giao tiếp dịch vụ RLC cho lớp PDCP trên, trong khi đó TM cung cấp thẳng cho lớp RRC trên LTE lớp 3.

Dịch vụ nguyên thủy RLC

Danh sách dưới liệt kê các dịch vụ nguyên thủy được cung cấp bởi giao tiếp dịch vụ RLC cho các module khác trong chồng giao thức thông qua các hàm API:

43 - RlcSapProvider::TransmitPdcpPdu

o PDCP sử dụng để gửi một PDCP PDU đến RLC thấp hơn khi phát thông tin đi đến bộ RLC phía đầu xa

- RlcSapUser::ReceivePdcpPdu

o RLC sử dụng để gửi một PDCP PDU đến lớp RDCP phía trên khi có dữ liệu đến trên các kênh logic cần phân phát đến lớp PDCP.

Giao tiếp dịch vụ MAC

Giao tiếp dịch vụ MAC được chi làm 2 phần:

- MacSapProvider: được cung cấp bởi lớp MAC và sử dụng bởi lớp RLC để gửi dữ liệu từ các kênh logic xuống bộ đệm của các kênh logic trong lớp MAC.

- MacSapUser: phần này cung cấp bởi lớp RLC được sử dụng bởi lớp MAC khi lớp MAC phân phát dữ liệu lên các kênh logic trong lớp RLC

Danh sách dưới chỉ thị các dịch vụ nguyên thủy được cung cấp bởi MAC:  MacSapProvider::TransmitPdu

o RLC sử dụng để gửi một RLC PDU từ các kênh logic xuống bộ đệm của các kênh logic nằm trong lớp MAC (MAC controller sẽ sử dụng timer TTI để xử lý ghép kênh và truyền đi theo các thủ tục của lớp MAC).

 MacSapProvider::BufferStatusReport

o RLC sử dụng báo cáo kích thước của bộ đệm của RLC cho MAC nhằm kích hoạt các thủ tục Buffer Status Reporting của lớp MAC để MAC thông báo với eNodeB nhằm cấp phát và duy trì tài nghuyên vô tuyến trên kênh UL- SCH.

 MacSapUser::NotifyTxOpportunity

o MAC sử dụng cái này để thông báo cho RLC bắt đầu truyền tải dữ liệu. MAC sẽ gọi chức năng này của RLC sau các thủ tục truy nhập ngẫu nhiên thành công hoặc sau khi được cấp phát tài nguyên uplink.

 MacSapUser::ReceivePdu

o MAC sử dụng gửi một RLC PDU khi lớp MAC phân phát dữ liệu lên các kênh logic trong lớp RLC.

44

RLC có 03 chế độ hoạt động là RLC AM, RLC UM và RLC TM, phần sau sẽ trình bày các chế độ hoạt động của RLC.

5.4. AM RLC

Quá trình xử lý dữ liệu truyền trong Mode phản hồi (AM) RLC được làm rõ trong phần 5.1.3 của [TS.36.322]. Trong phần này, sẽ mô tả một số thông tin chi tiết khi xây dựng mã nguồn thực thi chức năng này của RLC.

Bộ đệm cho các hoạt động phát

AM RLC duy trì 3 bộ đệm cho các hoạt động truyền phát:

Transmission Buffer: là hàng đợi RLC SDU. Khi AM RLC nhận được một SDU

trong dịch vụ nguyên thủy TransmitPdcpPdu từ các module PDCP bên trên, hàng module RLC sẽ xếp hàng SDU vào hàng đợi trong bộ đệm phát (Transmission Buffer). RLC sẽ đặt một giới hạn trên cho kích thước bộ đệm RLC và loại bỏ SDU (không ghi vào bộ đệm phát) nếu bộ đệm bị đầy. Lưu ý RLC khi loại bỏ SDU mà không cần phải thông báo gì cho PDCP.

Transmitted PDUs Buffer: là một hàng đợi của các RLC PDU đã phát nhưng

chưa nhận được ACK/NACK. Khi AM RLC gửi một PDU tới MAC, nó cũng lưu lại 1 bản ghi của PDU vào Transmitted PDUs Buffer.

Retransmission Buffer: là một hàng đợi của các RLC PDU được xem xét để phát

lại (đã có NACK). AM RLC di chuyển các PDU đến bộ đệm truyền lại (Retransmission Buffer), khi nó truyền lại một PDU từ bộ đệm truyền (Transmitted Buffer).

Hoạt động truyền trong downlink

Sơ đồ trình tự dưới mô tả lại mối tương tác giữa module (RRC, PDCP, AM RLC, MAC và bộ lập lịch MAC (MAC Scheduler)) của eNB trong downlink đến giao tiếp dữ liệu.

45

Hình 18 là sơ đồ trình tự của dữ liệu PDU truyền trong downlink chỉ thị cách thức lớp trên truyền dữ liệu PDUs và luồng dữ liệu được xử lý bởi các thực thể/dịch vụ khác nhau của giao thức ngăn xếp LTE.

Hình 18. Sơ đồ trình tự của truyền dữ liệu PDU trong downlink

PDCP gọi Transmit_PDCP_PDU service primitive để gửi dữ liệu PDU. AM RLC xử lý dịch vụ nguyên thủy theo các thủ thuật truyền dữ liệu AM được định nghĩa trong phần 5.1.3 của [3GPP TS.36.322].

Khi Transmit_PDCP_PDU được gọi, AM RLC thực hiện theo quy trình:  Đưa dữ liệu SDU vào bộ đệm truyền Transmission Buffer.

 Tính kích thước của bộ đệm (cách thức tính được làm rõ sau).

 Gọi Report_Buffer_Status của eNB MAC để thông báo eNB MAC kích thước bộ đệm của AM RLC. Sau đó, eNB MAC cập nhật trạng thái trong bộ lập lịch MAC, sử dụng SchedDlRlcBufferReq (dịch vụ nguyên thủy của FF MAC Scheduler API theo quy chuẩn API của Femtocell [3]). Trên môi trường UE, Report_Buffer_Status

46

sẽ thông báo cho MAC để thực hiện các thủ tục truyền dữ liệu hướng uplink như đã mô tả trong phần thiết kế của MAC.

Sau đó, khi bộ lập biểu MAC quyết định dữ liệu có thể gửi, MAC thông báo đến RLC, gọi lệnh Notify_Tx_Opportunity dịch vụ nguyên thủy, sau đó AM RLC thực hiện các bước:

 Tạo dữ liệu đơn PDU bằng cách chia và/hoặc tiếp thep SDUs trong Transmission Buffer.

 Di chuyển dữ liệu PDU từ Transmission Buffer đến Transmitted PDUs Buffer.  Cập nhật trạng thái theo yêu cầu trong 5.1.3.1.1 của [3GPP.TS.36.322].

 Gọi Transmit_PDU primitive để gửi dữ liệu PDU đến MAC.

Trên UE, MAC sẽ gọi Notify_Tx_Opportunity khi thực hiện các thủ tục truy nhập ngẫu nhiên thành công trong trạng thái trước đó cảu MAC là Idle.

Truyền lại trong downlink

Trong hình 19 dưới trình bày trình tự của truyền lại dữ liệu PDU trong downlink

chỉ ra tương tác giữa các thực thể khác nhau (AM RLCm MAC và bộ lập lịch MAC) của eNB trong downlink khi các PDU phải truyền lại bởi AM RLC

47

Việc truyền AM RLC có thể nhận được STATUS PDU từ thực thể AM RLC ngang cấp (AM RLC phía đầu xa). STATUS PDU được gửi theo yêu cầu của mục 5.3.2 của [3GPP.TS.36.322] và quy trình xử lý nhận được thực hiện theo 5.2.1 của [3GPP.TS.36.322].

Khi dữ liệu PDU được truyền lại từ Transmitted PDUs Buffer, nó được di chuyển tới Restranmission Buffer.

Quá trình truyền trong uplink

Hình dưới mô tả Sơ đồ trình tự của quá trình truyền dữ liệu PDU trong uplink, nó

mô tả các mối tương tác giữa các thực thể khác nhau của UE (RRC, PDCP, RLC và MAC)

và eNB (MAC và bộ lập lịch MAC) trong uplink khi dữ liệu PDUs được gửi bởi các lớp trên.

48

Cũng giống như sơ đồ trình tự trong downlink; khác biệt chính là trong trường hợp này Report_Buffer_Status được gửi từ UE MAC tới bộ lập lịch MAC trong eNB qua giao diện vô tuyến thông qua kênh điều khiển.

Truyền lại trong uplink

Hình dưới trình bày sơ đồ trình tự của quá trình truyền lại dữ liệu PDU trong

uplink cùng với các mối tương tác giữa các thực thể khác nhau của EU (AM RLC và

MAC) và eNB (MAC) trong uplink khi dữ liệu PDU phải truyền lại bởi AM RLC.

Hình 21. Sơ đồ trình tự của truyền lại dữ liệu PDU trong uplink

Tính toán kích thước bộ đệm

Bộ đệm truyền (Transmission Buffer) bao gồm các RLC SDUs. Một RLC PDU là một hoặc nhiều hơn các phân đoạn SDU cộng thêm với một RLC header. Kích thước của RLC header của một RLC PDU phụ thuộc vào số lượng của phân đoạn SDU mà PDU có. Tiêu chuẩn 3GPP (phần 6.1.3.1 của [TS.36.321]) nói rõ rằng, với uplink, RLC và MAC header không được xem xét trong kích thước bộ đệm, được báo cáo như một phần của Buffer Status Report. Với downlink, các thao tác không được làm rõ. [FFAPI] cũng không

49

làm rõ điều này. Trong phạm vi của bản thiết kế này luận văn đã sử dụng ngay cơ chế tính toán trong trường hợp RLC uplink và áp dụng luôn cho Downlink.

Việc chọn như vậy sẽ ảnh hưởng đến hoạt động tương tác với bộ lập lịch MAC, vì vậy trong xử lý đáp ứng lại Notify_Tx_Opportunity, RLC sẽ tạo ra một PDU với kích thước không lớn hơn kích thước yêu cầu bởi MAC (bao gồm cả RLC overhead). Do đó, sự phân mảnh không cần thiết có thể diễn ra nếu MAC thông báo Notify_Tx_Opportunity với kích thước đúng bằng với kích thước bộ đệm được báo cáo trước đó bởi RLC. Chúng ta có thể giả định rằng bộ lập biểu (Scheduler) thực hiện một chiến lược thông mình trong việc lựa chọn kích thước truyền trong Notify_Tx_Opportunity, để tránh phân mảnh không cần thiết.

Ghép nối và phân đoạn

AM RLC phát ra và gửi chính xác một RLC PDU cho mỗi cơ hội truyền nếu nó nhỏ hơn kích thước báo cáo bởi cơ hội truyền. Ví dụ, nếu STATUS PDU được gửi, sau đó chỉ có PDU đó được gửi trong cơ hội truyền.

Phân đoạn và ghép nối cho hàng đợi SDU của AM RLC tuân theo các quy tắc của UM RLC nhưng có các biến trạng thái mới (xem [3GPP.TS.36.322] mục 7.1) vốn chỉ có trong AM RLC

Ghi chú theo thông số kỹ thuật của 3GPP, không có cơ chế ghép nối naod được áp

dụng cho bộ đệm truyền lại (Restransmission Buffer)

Tái phân đoạn

Mô hình thiết kế hiện tại của AM RLC, luận văn không hỗ trợ cơ chế tái phân đoạn cho bộ đệm truyền lại. Thay vào đó AM RLC chỉ đợi để nhận một cơ hội truyền đủ lớn để truyền đi.

Các tính năng không hỗ trợ trong phiên bản thiết kế này:

Trong phạm vi của luận văn này, sẽ không hỗ trợ các thủ tục (mang tính lựa chọn - optional) của [TS.36.322] được liệt kê như bên dưới đây:

50

 “Gửi một chỉ thị của gửi thành công RLC SUD -Send an indication of successful delivery of RLC SDU” (xem mục 5.1.3.1.1 trong TS.36.322)

 “Chỉ thị tới lớp trên rằng đã đạt đến số lần truyền lại tối đa - Indicate to upper layers that max retransmission has been reached” (xem mục 5.2.1 trong TS.36.322)  “Thủ tục Hủy SDU - SDU discard procedures” (xem mục 5.3 trong TS.36.322)  “Thủ tục Tái thiết lập - Re-establishment procedure” (xem mục 5.4 trong

TS.36.322)

Không hỗ trợ bất kì dịch vụ nguyên thủy nào của RLC SAP cho AM RLC, gồm:  Không thông báo cho PDCP khi hủy bỏ SDU.

 Không thông báo truyền thành công/thất bại bởi AM RLC đến PDCP.

5.5. UM RLC

Phần này của luận văn mô tả việc thực hiên RLC UM không phản hồi (UM RLC).

Hoạt động truyền trong downlink

Hoạt động truyền của UM RLC là giống với hoạt động truyền của AM RLC đã mô tả trước đó trong mục Hoạt động truyền trong downlink trong phần AM RLC, tuy nhiên nó chỉ có một vài thông số khác biệt theo như mô tả trong [TS.36.322]: truyền lại là không được thực hiện, và không có STATUS PDU.

Hoạt động truyền trong uplink

Hoạt động truyền trong uplink là giống với hoạt động truyền trong downlink, với khác biệt chính là Report_Buffer_Status được gửi từ UE MAC tới bộ lập lịch MAC trong eNB qua giao diện vô tuyến bằng việc sử dụng điều khiển

Tính toán kích thước bộ đệm

Tính toán kích thước bộ đệm cho RM RLC được thực hiện tương tự với AM RLC, tham khảo thêm phần Tính kích thước bộ đệm cho các mô tả tương ứng của AM RLC

51

5.6. TM RLC

Phần này trình bày cơ chế thực hiện TM RLC - thực hiện truyền trong suốt

Hoạt động truyền trong downlink

Trong mô hình thiết kế này, TM RLC vẫn cung cấp cho lớp trên (RRC) các giao tiếp dịch vụ giống như được cung cấp bởi AM và EM RLC đến lớp PDCP; trong thực tế, giao tiếp này được sử dụng bởi một RRC (không phải PDCP) cho việc truyền đi các RLC SDU.

Sở dĩ luận văn thực hiện lựa chọn này là vì xuất phát từ thực tế dịch vụ cung cấp bởi TM RLC đến các lớp trên theo [3GPP TS.36.322] là một tập con của các dịch vụ cung cấp bởi UM và AM RLC đến lớp PDCP, do đó tái sử dụng giao tiếp để đơn giản hóa và không phải mất công xây dựng.

Hoạt động truyền trong downlink được thực hiện theo các bước sau. Khi

Một phần của tài liệu Nghiên cứu phát triển phần mềm trên modem 4g lte chức năng lte rlc và pdcp (Trang 43)