国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

千兆以太網(wǎng)傳輸層 UDP 協(xié)議原理與 FPGA 實現(xiàn)(UDP接收)

這篇具有很好參考價值的文章主要介紹了千兆以太網(wǎng)傳輸層 UDP 協(xié)議原理與 FPGA 實現(xiàn)(UDP接收)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

相關(guān)文章:
(1)千兆以太網(wǎng)網(wǎng)絡(luò)層 ARP 協(xié)議的原理與 FPGA 實現(xiàn)
(2)千兆以太網(wǎng)硬件設(shè)計及鏈路層 MAC 協(xié)議格式
(3)CRC校驗原理及實現(xiàn)
(4)RGMII 與 GMII 轉(zhuǎn)換電路設(shè)計
(5)千兆以太網(wǎng)網(wǎng)絡(luò)層 IP 協(xié)議介紹與 IP 校 驗和算法實現(xiàn)
(6)千兆以太網(wǎng)傳輸層 UDP 協(xié)議原理與 FPGA 實現(xiàn)(UDP發(fā)送)
(7)千兆以太網(wǎng)傳輸層 UDP 協(xié)議原理與 FPGA 實現(xiàn)(UDP接收)
(8)千兆以太網(wǎng)傳輸層 UDP 協(xié)議原理與 FPGA 實現(xiàn)(UDP回環(huán))
(9)以太網(wǎng)初始化設(shè)計(MDIO 控制器)
(10)添加基于 OV2640 的以太網(wǎng) RGMII 圖像傳輸系統(tǒng)設(shè)計


前言

在前面我們對以太網(wǎng) UDP 幀格式做了講解,UDP 幀格式包括前導(dǎo)碼+幀界定符、以太網(wǎng)頭部數(shù)據(jù)、IP 頭部數(shù)據(jù)、UDP 頭部數(shù)據(jù)、UDP 數(shù)據(jù)、FCS 數(shù)據(jù),以太網(wǎng)接收模塊同樣是按照該格式接收數(shù)據(jù)。

提示:任何文章不要過度深思!萬事萬物都經(jīng)不起審視,因為世上沒有同樣的成長環(huán)境,也沒有同樣的認知水平,更「沒有適用于所有人的解決方案」 ;不要急著評判文章列出的觀點,只需代入其中,適度審視一番自己即可,能「跳脫出來從外人的角度看看現(xiàn)在的自己處在什么樣的階段」才不為俗人 。怎么想、怎么做,全在乎自己「不斷實踐中尋找適合自己的大道」

心得體會

(1)UDP接收數(shù)據(jù),無論是MAC地址,還是IP地址,或者UDP端口,其源端口都為計算機;
(2)在接收數(shù)據(jù)時不關(guān)心源端口(計算機)的MAC地址,還是IP地址,或者UDP端口,只關(guān)心目的地址,也就是說接收數(shù)據(jù)時可以將源端口MAC地址,IP地址,UDP端口全部置 0;
(3)驗證時一定要弄清目的地址(開發(fā)板)的MAC和IP地址,這里與UDP發(fā)送中目的MAC、IP(計算機)是相反的,此處需要注意;
(4)本實驗針對千兆網(wǎng),注意查看電腦是否支持。

一、 UDP 協(xié)議簡單回顧

以太網(wǎng) UDP 幀的用戶數(shù)據(jù)是打包在 UDP 協(xié)議中,而 UDP 協(xié)議又是基于 IP 協(xié)議之上的,IP 協(xié)議又是走 MAC 層發(fā)送的,即從包含關(guān)系來說:MAC 幀中的數(shù)據(jù)段為 IP 數(shù)據(jù)報文,IP 報文中的數(shù)據(jù)段為 UDP 報文,UDP 報文中的數(shù)據(jù)段為用戶希望傳輸?shù)臄?shù)據(jù)內(nèi)容下圖為使用 UDP 協(xié)議發(fā)送數(shù)據(jù)的層層打包示意圖。
fpga 以太網(wǎng) 接收,FPGA代碼分享,udp,fpga開發(fā),單片機,fpga,網(wǎng)絡(luò),緩存,網(wǎng)絡(luò)協(xié)議
其中,和以太網(wǎng)幀、IP 報文具有幀頭一樣,UDP 數(shù)據(jù)報也包含了一個 UDP 報頭部分,與 UDP 協(xié)議相關(guān)的一些信息如端口號,數(shù)據(jù)包長度等會被打包進 UDP 報頭中,然后再與需要傳輸?shù)?UDP 報文數(shù)據(jù)一起,作為 IP 報文的數(shù)據(jù)段送往 IP 層發(fā)送。

二、UDP接收實現(xiàn)

GMII 接口信號連接關(guān)系及各信號的介紹如下。
fpga 以太網(wǎng) 接收,FPGA代碼分享,udp,fpga開發(fā),單片機,fpga,網(wǎng)絡(luò),緩存,網(wǎng)絡(luò)協(xié)議
(注:表格中的方向是站在 MAC 側(cè)角度看的)

fpga 以太網(wǎng) 接收,FPGA代碼分享,udp,fpga開發(fā),單片機,fpga,網(wǎng)絡(luò),緩存,網(wǎng)絡(luò)協(xié)議
此處給出GMII 接口信號連接關(guān)系及各信號的介紹,是為了明確UDP發(fā)送與接收需要什么輸入與輸出。

下面將對各個狀態(tài)的實現(xiàn)及功能進行簡要介紹。

  1. IDLE
    空閑狀態(tài),當(dāng)產(chǎn)生接收數(shù)據(jù)有效信號時,進入PREAMBLE_CODE狀態(tài),否則處于 IDLE 狀態(tài),代碼如下所示:
 IDLE:     begin
							    GMII_RX_DONE <= 0;
							    crc_en <= 0;
								if(GMII_DV_reg1 && !GMII_DV_reg2)
									begin
										  curr_state <= PREAMBLE_CODE;
										  
									end
								else
								  curr_state <= curr_state;
							end

上述代碼中的GMII_DV_reg1 信號是將接收數(shù)據(jù)有效信號GMII_DV寄存之后打一拍得到的,GMII_DV_reg2 信號是將GMII_DV_reg1信號打一拍得到的,將GMII_DV_reg2 信號取反與
GMII_DV_reg1 相與得到接收數(shù)據(jù)有效脈沖,得到該信號之后,進入到PREAMBLE_CODE 狀態(tài),
fpga 以太網(wǎng) 接收,FPGA代碼分享,udp,fpga開發(fā),單片機,fpga,網(wǎng)絡(luò),緩存,網(wǎng)絡(luò)協(xié)議

GMII_DV_reg1 信號和GMII_DV_reg2 信號的實現(xiàn)代碼如下所示,代碼中對GMII_TXD 信號也進行了寄存和打拍操作,

//輸入數(shù)據(jù)寄存
	always @ (posedge clk125m_o  or  negedge reset_n)
		if(!reset_n)
			begin
				GMII_ER_reg <= 0;
				GMII_DV_reg <= 0;
				GMII_TXD_reg<= 0;
			end
		else begin
		        GMII_ER_reg <= GMII_ER;
				GMII_DV_reg <= GMII_DV;
				GMII_TXD_reg<= GMII_TXD;
		     end
			
	
	
	
	//數(shù)據(jù)打兩拍判斷接收起始
	always @ (posedge clk125m_o  or negedge reset_n)
	    if(!reset_n)
			begin
			
				GMII_DV_reg1 <= 0;
				GMII_DV_reg2 <= 0;
				
				GMII_TXD_reg1<= 0;
				GMII_TXD_reg2<= 0;
				crc_data        <= 0;
			
			end
		else
			begin
					GMII_DV_reg1 <= GMII_DV_reg;
					GMII_DV_reg2 <= GMII_DV_reg1;
					
					GMII_TXD_reg1<= GMII_TXD_reg;
					GMII_TXD_reg2<= GMII_TXD_reg1;
					crc_data     <= GMII_TXD_reg2;  
					
			end
	
  1. PREAMBLE_CODE 狀態(tài)
    處于 PREAMBLE_CODE狀態(tài)的時候,當(dāng)以太網(wǎng)接收到幀界定符(D5)和 7 個的前導(dǎo)碼(55)
    時,進入到ETH_HEADER 狀態(tài),代碼如下所示:
PREAMBLE_CODE:
								begin
									crc_init <= 0;
									if(cnt_preamble == 4'd7)
									  begin
										  curr_state <= ETH_HEADER;
										  cnt_preamble <= 0;
									  end
									  
									
									else
										begin
											cnt_preamble <= cnt_preamble + 1'b1;
											curr_state <= curr_state;
										end
                                end
  1. ETH_HEADER
    處于 ETH_HEADER 狀態(tài)時,接收以太網(wǎng)頭部數(shù)據(jù),當(dāng)接收完 14 個以太網(wǎng)頭部數(shù)據(jù)之后,進入到 IP_HEADER 狀態(tài),如果接收不是7個55和一個D5,則表明此時數(shù)據(jù)接收錯誤,進入 IDLE 狀態(tài),然后當(dāng)處于該狀態(tài)的時候,根據(jù) cnt_eth_header 的值,依次得到 14 個字節(jié)的以太網(wǎng)頭部數(shù)據(jù),分別是 MAC 目的地址(6 個字節(jié))、MAC 源地址(6 個字節(jié))和以太網(wǎng)類型(2 個字節(jié)),代碼如下所示:
 ETH_HEADER:begin
								crc_en <= 1;
								if(cnt_eth_header == 4'd13)
									begin
										curr_state <= IP_HEADER;
										cnt_eth_header <= 0;
									end
								else if((cnt_eth_header == 4'd0) && (preamble_code_check_ok == 1'b0))
									begin
										curr_state <= IDLE;
										cnt_eth_header <= 0;
									end	
								else
									begin
										cnt_eth_header <= cnt_eth_header + 1'b1;
										curr_state <= curr_state;
									end
								
								case(cnt_eth_header)
									 
									  4'd0 :dst_mac_reg[47:40] <= GMII_TXD_reg2;   
									  4'd1 :dst_mac_reg[39:32] <= GMII_TXD_reg2;
									  4'd2 :dst_mac_reg[31:24] <= GMII_TXD_reg2;
									  4'd3 :dst_mac_reg[23:16] <= GMII_TXD_reg2;
									  4'd4 :dst_mac_reg[15:8]  <= GMII_TXD_reg2;
									  4'd5 :dst_mac_reg[7:0]   <= GMII_TXD_reg2;

									  4'd6 :src_mac_reg[47:40] <= GMII_TXD_reg2;
									  4'd7 :src_mac_reg[39:32] <= GMII_TXD_reg2;
									  4'd8 :src_mac_reg[31:24] <= GMII_TXD_reg2;
									  4'd9 :src_mac_reg[23:16] <= GMII_TXD_reg2;
									  4'd10:src_mac_reg[15:8]  <= GMII_TXD_reg2;
									  4'd11:src_mac_reg[7:0]   <= GMII_TXD_reg2;

									  4'd12:eth_type[15:8] <= GMII_TXD_reg2;
									  4'd13:eth_type[7:0]  <= GMII_TXD_reg2;
									  default: ;	
									
								endcase
						    end

其中preamble_code_check_ok為:文章來源地址http://www.zghlxwxcb.cn/news/detail-765863.html

always @ (posedge clk125m_o  or negedge reset_n)
		if(!reset_n)
			preamble_code_check_ok <= 1'b0;
		else if((GMII_TXD_reg2 == 8'hd5) && (cnt_preamble == 4'd7))
			preamble_code_check_ok <= 1'b1;
		else
			preamble_code_check_ok <= 1'b0;
  1. IP_HEADER
    (1)接收以太網(wǎng) IP 頭部數(shù)據(jù)狀態(tài)IP_HEADER,首先得對接收的以太網(wǎng) IP 頭部數(shù)據(jù)進行計數(shù),定義一個計數(shù)器 cnt_ip_header,當(dāng)處于該狀態(tài)的時候進行計數(shù),否則清零,
    (2)然后當(dāng)處于 IP_HEADER 狀態(tài)時,獲取以太網(wǎng) IP 頭部數(shù)據(jù),根據(jù) cnt_ip_header 的值,一共需要獲取 20 個字節(jié)的數(shù)據(jù),分別為 IP 版本(ip_ver)、首部長度(ip_hdr_len)、服務(wù)類型(ip_tos)、數(shù)據(jù)報總長度(total_len)、標(biāo)識主機發(fā)送的每一份數(shù)據(jù)報(ip_id)、標(biāo)志位(ip_rsv、ip_df、ip_mf)、段偏移量(ip_frag_offset)、生存期(ip_ttl)、IP 的協(xié)議封裝類型(ip_protocol)、頭部校驗和(ip_check_sum)、源 IP 地址(src_ip)和目的 IP 地址(dst_ip),代碼如下所示:
IP_HEADER:begin
									if(cnt_ip_header == 5'd19)
									    begin
										    curr_state <= UDP_HEADER;
											udp_data_length_reg <= ip_total_len - 16'd20 - 16'd8;
											cnt_ip_header <= 5'd0;
											ip_cal_en     <= 1;
											
										end
									else if(cnt_ip_header >= 5'd1 && eth_header_check_ok == 1'b0)
									    begin
											curr_state <= IDLE;
											cnt_ip_header <= 0;
											
										end
									else
										begin
											cnt_ip_header <= cnt_ip_header + 1'b1;
											curr_state <= curr_state;
										end
									case (cnt_ip_header)
										          5'd0:   {
   ip_ver,ip_hdr_len}                       <= GMII_TXD_reg2;
												  5'd1:   ip_tos                                    <= GMII_TXD_reg2;
												  5'd2:   ip_total_len[15:8]                        <= GMII_TXD_reg2;
												  5'd3:   ip_total_len[7:0]                         <= GMII_TXD_reg2;
												  5'd4:   ip_id[15:8]                               <= GMII_TXD_reg2;
												  5'd5:   ip_id[7:0]                                <= GMII_TXD_reg2;
												  5'd6:   {
   ip_rsv,ip_df,ip_mf,ip_frag_offset[12:8]} <= GMII_TXD_reg2;
												  5'd7:   ip_frag_offset[7:0]                       <= GMII_TXD_reg2;
												  5'd8:   ip_ttl                                    <= GMII_TXD_reg2;
												  5'd9:   ip_protocol                               <= GMII_TXD_reg2;
												  5'd10:  ip_check_sum[15:8]                        <= GMII_TXD_reg2;
												  5'd11:  ip_check_sum[7:0]                         <= GMII_TXD_reg2;
												  5'd12:  src_ip_reg[31:24]                         <= GMII_TXD_reg2;
												  5'd13:  src_ip_reg[23:16]                         <= GMII_TXD_reg2;
												  5'd14:  src_ip_reg[15:8]                          <= GMII_TXD_reg2;
												  5'd15:  src_ip_reg[7:0]                           <= GMII_TXD_reg2;
												  5'd16:  dst_ip_reg[31:24]                         <= GMII_TXD_reg2;
												  5'd17:  dst_ip_reg[23:16]                         <= GMII_TXD_reg2;
												  5'd18:  dst_ip_reg[15:8]                          <= GMII_TXD_reg2;
												  5'd19:  dst_ip_reg[7:0]                           <= GMII_TXD_reg2;      
												  defaul

到了這里,關(guān)于千兆以太網(wǎng)傳輸層 UDP 協(xié)議原理與 FPGA 實現(xiàn)(UDP接收)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • FPGA-以太網(wǎng)基礎(chǔ)知識-MII接口-RMII接口-GMII接口-RGMII接口-MAC協(xié)議-UDP協(xié)議

    FPGA-以太網(wǎng)基礎(chǔ)知識-MII接口-RMII接口-GMII接口-RGMII接口-MAC協(xié)議-UDP協(xié)議

    記錄學(xué)習(xí)FPGA以太網(wǎng)基礎(chǔ)知識、包括MII接口-RMII接口-GMII接口-RGMII接口-MAC協(xié)議、UDP協(xié)議 由上圖可得,以太網(wǎng)傳輸流程 : 1、一塊fpga的pcb板子以太網(wǎng)部分,包括FPGA芯片、PHY以太網(wǎng)芯片、網(wǎng)口接口。 2、FPGA芯片包括UDP層、IP層、MAC層,即FPGA封裝好了這些硬件模塊也叫IP核(這里的

    2024年02月08日
    瀏覽(28)
  • FPGA驅(qū)動千兆以太網(wǎng)PHY但電腦只顯示百兆

    FPGA驅(qū)動千兆以太網(wǎng)PHY但電腦只顯示百兆

    前兩天公司做了個新板子,ZYNQ7035 + RTL8211E,拿給我測,于是寫邏輯代碼測試一下數(shù)據(jù)回環(huán),沒想到電腦端網(wǎng)絡(luò)適配器一直顯示是百兆網(wǎng)。查了多方原因,差點想手動配置寄存器了,但是想想又覺得不對,F(xiàn)PGA邏輯驅(qū)動以太網(wǎng)PHY芯片是不用配置寄存器的,只要PHY芯片外部引腳上

    2024年02月16日
    瀏覽(25)
  • FPGA高端項目:圖像采集+GTP+UDP架構(gòu),高速接口以太網(wǎng)視頻傳輸,提供2套工程源碼加QT上位機源碼和技術(shù)支持

    FPGA高端項目:圖像采集+GTP+UDP架構(gòu),高速接口以太網(wǎng)視頻傳輸,提供2套工程源碼加QT上位機源碼和技術(shù)支持

    FPGA高端項目:圖像采集+GTP+UDP架構(gòu),高速接口以太網(wǎng)視頻傳輸,提供2套工程源碼加QT上位機源碼和技術(shù)支持 沒玩過圖像處理、GT高速接口、UDP網(wǎng)絡(luò)通信,都不好意思說自己玩兒過FPGA,這是CSDN某大佬說過的一句話,鄙人深信不疑。。。GT資源是Xilinx系列FPGA的重要賣點,也是做

    2024年02月05日
    瀏覽(26)
  • FPGA高端項目:圖像采集+GTX+UDP架構(gòu),高速接口以太網(wǎng)視頻傳輸,提供2套工程源碼加QT上位機源碼和技術(shù)支持

    FPGA高端項目:圖像采集+GTX+UDP架構(gòu),高速接口以太網(wǎng)視頻傳輸,提供2套工程源碼加QT上位機源碼和技術(shù)支持

    FPGA高端項目:圖像采集+GTX+UDP架構(gòu),高速接口以太網(wǎng)視頻傳輸,提供2套工程源碼加QT上位機源碼和技術(shù)支持 沒玩過圖像處理、GT高速接口、UDP網(wǎng)絡(luò)通信,都不好意思說自己玩兒過FPGA,這是CSDN某大佬說過的一句話,鄙人深信不疑。。。GT資源是Xilinx系列FPGA的重要賣點,也是做

    2024年02月05日
    瀏覽(25)
  • FPGA高端項目:圖像縮放+GTX+UDP架構(gòu),高速接口以太網(wǎng)視頻傳輸,提供2套工程源碼加QT上位機源碼和技術(shù)支持

    FPGA高端項目:圖像縮放+GTX+UDP架構(gòu),高速接口以太網(wǎng)視頻傳輸,提供2套工程源碼加QT上位機源碼和技術(shù)支持

    FPGA高端項目:圖像縮放+GTX+UDP架構(gòu),高速接口以太網(wǎng)視頻傳輸,提供2套工程源碼加QT上位機源碼和技術(shù)支持 沒玩過圖像處理、GT高速接口、UDP網(wǎng)絡(luò)通信,都不好意思說自己玩兒過FPGA,這是CSDN某大佬說過的一句話,鄙人深信不疑。。。GT資源是Xilinx系列FPGA的重要賣點,也是做

    2024年03月14日
    瀏覽(23)
  • FPGA高端項目:圖像縮放+GTP+UDP架構(gòu),高速接口以太網(wǎng)視頻傳輸,提供2套工程源碼加QT上位機源碼和技術(shù)支持

    FPGA高端項目:圖像縮放+GTP+UDP架構(gòu),高速接口以太網(wǎng)視頻傳輸,提供2套工程源碼加QT上位機源碼和技術(shù)支持

    FPGA高端項目:圖像縮放+GTP+UDP架構(gòu),高速接口以太網(wǎng)視頻傳輸,提供2套工程源碼加QT上位機源碼和技術(shù)支持 沒玩過圖像處理、GT高速接口、UDP網(wǎng)絡(luò)通信,都不好意思說自己玩兒過FPGA,這是CSDN某大佬說過的一句話,鄙人深信不疑。。。GT資源是Xilinx系列FPGA的重要賣點,也是做

    2024年02月05日
    瀏覽(24)
  • 千兆以太網(wǎng)芯片88E1111 RGMII模式的FPGA驅(qū)動實現(xiàn)

    千兆以太網(wǎng)芯片88E1111 RGMII模式的FPGA驅(qū)動實現(xiàn) 在網(wǎng)絡(luò)應(yīng)用領(lǐng)域,千兆以太網(wǎng)已經(jīng)成為主流,而88E1111作為一款先進的千兆以太網(wǎng)芯片,其驅(qū)動實現(xiàn)對于網(wǎng)絡(luò)設(shè)備的性能和穩(wěn)定性有著至關(guān)重要的影響。本文將介紹在RGMII模式下,如何實現(xiàn)88E1111芯片在FPGA上的驅(qū)動。 一、準(zhǔn)備工作

    2024年01月22日
    瀏覽(26)
  • FPGA - 以太網(wǎng)UDP通信(一)

    FPGA - 以太網(wǎng)UDP通信(一)

    ?以太網(wǎng)是一種計算機局域網(wǎng)技術(shù)。IEEE組織的IEEE 802.3標(biāo)準(zhǔn)制定了以太網(wǎng)的技術(shù)標(biāo)準(zhǔn),它規(guī)定了包括物理層的連線、電子信號和介質(zhì)訪問層協(xié)議的內(nèi)容。 ? 以太網(wǎng)是現(xiàn)實世界中最普遍的一種計算機網(wǎng)絡(luò)。以太網(wǎng)有兩類:第一類是經(jīng)典以太網(wǎng),第二類是交換式以太網(wǎng),使用了一

    2024年04月18日
    瀏覽(21)
  • FPGA 以太網(wǎng)傳輸ov5640視頻

    FPGA 以太網(wǎng)傳輸ov5640視頻

    使用 DFZU4EV MPSoC 開發(fā)板及雙目 OV5640 攝像頭其中一個攝像頭實現(xiàn)圖像采集,并通過開發(fā)板上的以太網(wǎng)接口發(fā)送給上位機實時顯示。 時鐘模塊用于為 I2C 驅(qū)動模塊、以太網(wǎng)頂層模塊和開始傳輸控制模塊提供驅(qū)動時鐘;I2C 驅(qū)動模塊和 I2C 配置模塊用于初始化 OV5640 圖像傳感器;攝像

    2024年04月10日
    瀏覽(18)
  • ZYNQ AXI_DMA_UDP以太網(wǎng)傳輸(二)問題記錄

    ZYNQ AXI_DMA_UDP以太網(wǎng)傳輸(二)問題記錄

    上一篇文章只是簡單的記錄一下調(diào)試成功的代碼 但調(diào)試成功這個過程很痛苦,踩了很多坑,特此記錄,留眼以后查看 參考博客 xilinx dma調(diào)試筆記 ZYNQ AXI DMA調(diào)試細節(jié) 在調(diào)試過程中出現(xiàn)這類問題基本上都是這一句代碼出了問題: 再往里面跳可以看見這樣一個函數(shù),在正點原子提

    2024年03月14日
    瀏覽(36)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包