在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

偶數分頻、奇數分頻、半整數分頻和小數分頻詳解

CHANBAEK ? 來源:數字IC與好好生活的兩居室 ? 作者:除夕之夜啊 ? 2023-03-29 11:38 ? 次閱讀

初學 Verilog 時許多模塊都是通過計數與分頻完成設計,例如 PWM 脈寬調制、頻率計等。而分頻邏輯往往通過計數邏輯完成。本節主要對偶數分頻、奇數分頻、半整數分頻以及小數分頻進行簡單的總結。

偶數分頻

采用觸發器反向輸出端連接到輸入端的方式,可構成簡單的 2 分頻電路。

以此為基礎進行級聯,可構成 4 分頻,8 分頻電路。

電路實現如下圖所示,用 Verilog 描述時只需使用簡單的取反邏輯即可。

圖片

如果偶數分頻系數過大,就需要使用對分頻系數 N 循環計算的方法進行分頻。在計數達到分頻系數中間數值 N/2 時進行時鐘翻轉,可保證分頻后時鐘的占空比為 50%。因為是偶數分頻,也可以對分頻系數中間數值 N/2 進行循環計數。

兩種偶數分頻的 Verilog 描述如下。

module even_divisor
  # (parameter DIV_CLK = 10 )
    (
    input               rstn ,
    input               clk,
    output              clk_div2,
    output              clk_div4,
    output              clk_div10
    );


   //2 分頻
   reg                  clk_div2_r ;
   always @(posedge clk or negedge rstn) begin
      if (!rstn) begin
         clk_div2_r     <= 'b0 ;
      end
      else begin
         clk_div2_r     <= ~clk_div2_r ;
      end
   end
   assign       clk_div2 = clk_div2_r ;


   //4 分頻
   reg                  clk_div4_r ;
   always @(posedge clk_div2 or negedge rstn) begin
      if (!rstn) begin
         clk_div4_r     <= 'b0 ;
      end
      else begin
         clk_div4_r     <= ~clk_div4_r ;
      end
   end
   assign clk_div4      = clk_div4_r ;


   //N/2 計數
   reg [3:0]            cnt ;
   always @(posedge clk or negedge rstn) begin
      if (!rstn) begin
         cnt    <= 'b0 ;
      end
      else if (cnt == (DIV_CLK/2)-1) begin
         cnt    <= 'b0 ;
      end
      else begin
         cnt    <= cnt + 1'b1 ;
      end
   end


   //輸出時鐘
   reg                  clk_div10_r ;
   always @(posedge clk or negedge rstn) begin
      if (!rstn) begin
         clk_div10_r <= 1'b0 ;
      end
      else if (cnt == (DIV_CLK/2)-1 ) begin
         clk_div10_r <= ~clk_div10_r ;
      end
   end
   assign clk_div10 = clk_div10_r ;
endmodule

testbench 中只需給入激勵時鐘等信號即可,這里不再列出。

仿真結果如下。

圖片

奇數分頻

奇數分頻如果不要求占空比為 50%,可按照偶數分頻的方法進行分頻。即計數器對分頻系數 N 進行循環計算,然后根據計數值選擇一定的占空比輸出。

如果奇數分頻輸出時鐘的高低電平只差一個 cycle ,則可以利用源時鐘雙邊沿特性并采用“與操作”或“或操作”的方式將分頻占空比調整到 50%。

或操作調整占空比

采用“或操作”產生占空比為 50% 的 3 分頻時序圖如下所示。

利用源時鐘上升沿分頻出高電平為 1 個 cycle、低電平為 2 個 cycle 的 3 分頻時鐘。

利用源時鐘下降沿分頻出高電平為 1 個 cycle、低電平為 2 個 cycle 的 3 分拼時鐘。

兩個 3 分頻時鐘應該在計數器相同數值、不同邊沿下產生,相位差為一個時鐘周期。然后將 2 個時鐘進行“或操作”,便可以得到占空比為 50% 的 3 分頻時鐘。

圖片

同理,9 分頻時,則需要在上升沿和下降沿分別產生 4 個高電平、5 個低電平的 9 分頻時鐘,然后再對兩個時鐘做“或操作”即可。Verilog 描述如下。

module odo_div_or
  #(parameter DIV_CLK = 9)
   (
    input               rstn ,
    input               clk,
    output              clk_div9
    )


   //計數器
   reg [3:0]            cnt ;
   always @(posedge clk or negedge rstn) begin
      if (!rstn) begin
         cnt    <= 'b0 ;
      end
      else if (cnt == DIV_CLK-1) begin
         cnt    <= 'b0 ;
      end
      else begin
         cnt    <= cnt + 1'b1 ;
      end
   end


   //在上升沿產生9分頻
   reg                  clkp_div9_r ;
   always @(posedge clk or negedge rstn) begin
      if (!rstn) begin
         clkp_div9_r <= 1'b0 ;
      end
      else if (cnt == (DIV_CLK>>1)-1 ) begin //計數4-8位低電平
        clkp_div9_r <= 0 ;
      end
      else if (cnt == DIV_CLK-1) begin //計數 0-3 為高電平
        clkp_div9_r <= 1 ;
      end
   end

   //在下降沿產生9分頻
   reg                  clkn_div9_r ;
   always @(negedge clk or negedge rstn) begin
      if (!rstn) begin
         clkn_div9_r <= 1'b0 ;
      end
      else if (cnt == (DIV_CLK>>1)-1 ) begin 
        clkn_div9_r <= 0 ;
      end
      else if (cnt == DIV_CLK-1) begin 
        clkn_div9_r <= 1 ;
      end
   end


   //或操作,往往使用基本邏輯單元庫
   // or (clk_div9, clkp_div9_r, clkn_div9_r) ;
   assign clk_div9 = clkp_div9_r | clkn_div9_r ;


endmodule

仿真結果如下。

圖片

與操作調整占空比

采用“與操作”產生占空比為 50% 的 3 分頻時序圖如下所示。

利用源時鐘上升沿分頻出高電平為 2 個 cycle、低電平為 1 個 cycle 的 3 分頻時鐘。

利用源時鐘下降沿分頻出高電平為 2 個 cycle、低電平為 1 個 cycle 的 3 分拼時鐘。

兩個 3 分頻時鐘應該在計數器相同數值、不同邊沿下產生,相位差為一個時鐘周期。然后將 2 個時鐘進行“與操作”,便可以得到占空比為 50% 的 3 分頻時鐘。

圖片

同理,9 分頻時,則需要在上升沿和下降沿分別產生 5 個高電平、4 個低電平的 9 分頻時鐘,然后再對兩個時鐘做“與操作”即可。Verilog 描述如下。

module odo_div_and
   #( parameter DIV_CLK = 9 )
   (
    input               rstn ,
    input               clk,
    output              clk_div9
    );


   //計數器
   reg [3:0]            cnt ;
   always @(posedge clk or negedge rstn) begin
      if (!rstn) begin
         cnt    <= 'b0 ;
      end
      else if (cnt == DIV_CLK-1) begin
         cnt    <= 'b0 ;
      end
      else begin
         cnt    <= cnt + 1'b1 ;
      end
   end


   //在上升沿產生9分頻
   reg                  clkp_div9_r ;
   always @(posedge clk or negedge rstn) begin
      if (!rstn) begin
         clkp_div9_r <= 1'b0 ;
      end
      else if (cnt == (DIV_CLK>>1) ) begin //計數5-8位低電平
        clkp_div9_r <= 0 ;
      end
      else if (cnt == DIV_CLK-1) begin //計數 0-4 為高電平
        clkp_div9_r <= 1 ;
      end
   end


   //在下降沿產生9分頻
   reg                  clkn_div9_r ;
   always @(negedge clk or negedge rstn) begin
      if (!rstn) begin
         clkn_div9_r <= 1'b0 ;
      end
      else if (cnt == (DIV_CLK>>1) ) begin 
        clkn_div9_r <= 0 ;
      end
      else if (cnt == DIV_CLK-1) begin 
        clkn_div9_r <= 1 ;
      end
   end


   //與操作,往往使用基本邏輯單元庫
   //and (clk_div9, clkp_div9_r, clkn_div9_r) ;
   assign clk_div9 = clkp_div9_r & clkn_div9_r ;


endmodule

仿真結果如下。

圖片

半整數分頻

利用時鐘的雙邊沿邏輯,可以對時鐘進行半整數的分頻,但是無論再怎么調整,半整數分頻的占空比不可能是 50%。半整數分頻的方法有很多,這里只介紹一種和計數分頻調整占空比類似的方法。

(1) 例如進行 3.5 倍分頻時,計數器循環計數到 7,分別產生 4 個和 3 個源時鐘周期的分頻時鐘。從 7 個源時鐘產生了 2 個分頻時鐘的角度來看,該過程完成了 3.5 倍的分頻,但是每個分頻時鐘并不是嚴格的 3.5 倍分頻。

(2) 下面對周期不均勻的分頻時鐘進行調整。一次循環計數中,在源時鐘下降沿分別產生 4 個和 3 個源時鐘周期的分頻時鐘。相對于第一次產生的 2 個周期不均勻的時鐘,本次產生的 2 個時鐘相位一個延遲半個源時鐘周期,一個提前半個源時鐘周期。

(3) 將兩次產生的時鐘進行“或操作”,便可以得到周期均勻的 3.5 倍分頻時鐘。分頻波形示意圖如下所示。

圖片

3.5 倍時鐘分頻的 Verilog 描述如下。

module half_divisor(
    input               rstn ,
    input               clk,
    output              clk_div3p5
    );


   //計數器
   parameter            MUL2_DIV_CLK = 7 ;
   reg [3:0]            cnt ;
   always @(posedge clk or negedge rstn) begin
      if (!rstn) begin
         cnt    <= 'b0 ;
      end
      else if (cnt == MUL2_DIV_CLK-1) begin //計數2倍分頻比
         cnt    <= 'b0 ;
      end
      else begin
         cnt    <= cnt + 1'b1 ;
      end
   end


   reg                  clk_ave_r ;
   always @(posedge clk or negedge rstn) begin
      if (!rstn) begin
         clk_ave_r <= 1'b0 ;
      end
      //first cycle: 4 source clk cycle
      else if (cnt == 0) begin
         clk_ave_r <= 1 ;
      end
      //2nd cycle: 3 source clk cycle
      else if (cnt == (MUL2_DIV_CLK/2)+1) begin
         clk_ave_r <= 1 ;
      end
      else begin
         clk_ave_r <= 0 ;
      end
   end


   //adjust
   reg                  clk_adjust_r ;
   always @(negedge clk or negedge rstn) begin
      if (!rstn) begin
         clk_adjust_r <= 1'b0 ;
      end
      //本次時鐘只為調整一致的占空比
      else if (cnt == 1) begin
         clk_adjust_r <= 1 ;
      end
      //本次時鐘只為調整一致的精確分頻比
      else if (cnt == (MUL2_DIV_CLK/2)+1 ) begin
         clk_adjust_r <= 1 ;
      end
      else begin
         clk_adjust_r <= 0 ;
      end
   end


   assign clk_div3p5 = clk_adjust_r | clk_ave_r ;
endmodule

仿真結果如下。

圖片

小數分頻

基本原理

不規整的小數分頻不能做到分頻后的每個時鐘周期都是源時鐘周期的小數分頻倍,更不能做到分頻后的時鐘占空比均為 50%,因為 Verilog 不能對時鐘進行小數計數。和半整數分頻中第一次分頻時引入的“平均頻率”概念類似,小數分頻也是基于可變分頻和多次平均的方法實現的。

例如進行 7.6 倍分頻,則保證源時鐘 76 個周期的時間等于分頻時鐘 10 個周期的時間即可。此時需要在 76 個源時鐘周期內進行 6 次 8 分頻,4 次 7 分頻。再例如進行 5.76 分頻,需要在 576 個源時鐘周期內進行 76 次 6 分頻,24 次 5 分頻。

下面闡述下這些分頻參數的計算過程。

當進行 7 分頻時,可以理解為 70 個源時鐘周期內進行 10 次 7 分頻。在 76 個源時鐘周期內仍然進行 10 次分頻,相當于將多余的 6 個源時鐘周期增加、分配到 70 個源時鐘周期內,即完成了 7.6 倍分頻操作。分頻過程中必然有 6 個分頻時鐘是 8 分頻得到的,剩下的 4 個分頻時鐘則仍然會保持原有的 7 分頻狀態。

很多地方給出了計算這些分頻參數的兩元一次方程組,如下所示。其原理和上述分析一致,建議掌握上述計算過程。

7N + 8M = 76

N + M = 10

其中 7 為整數分頻,N 整數分頻的次數;8 與 M 為整數加一的分頻系數及其分頻次數。

平均原理

以 7.6 倍分頻為例,7 分頻和 8 分頻的實現順序一般有以下 4 種:

(1) 先進行 4 次 7 分頻,再進行 6 次 8 分頻;

(2) 先進行 6 次 8 分頻,再進行 4 次 7 分頻;

(3) 將 4 次 7 分頻平均的插入到 6 次 8 分頻中;

(4) 將 6 次 8 分頻平均的插入到 4 次 7 分頻中。

前兩種方法時鐘頻率不均勻,相位抖動較大,所以一般會采用后兩種平均插入的方法進行小數分頻操作。

平均插入可以通過分頻次數差累計的方法實現,7.6 分頻的實現過程如下:

(1) 第一次分頻次數差值為 76-10*7 = 6 < 10,第一次進行 7 分頻。

(2) 第二次差值累積結果為 6+6=12 > 10,第二次使用 8 分頻,同時差值修改為 12-10=2。

(3) 第三次差值累積結果為 2+6=8 < 10,第三次使用 6 分頻。

(3) 第四次差值累積結果為 8+6=14 > 10,第四次使用 8 分頻,差值修改為 14-10=4。

以此類推,完成將 6 次 8 分頻平均插入到 4 次 7 分頻的過程。

下表展示了平均插入法的分頻過程。

分頻次數 差值累加 差值修改 分頻周期
1 6 6 7
2 6+6=12 2 8
3 2+6=8 8 7
4 8+6=14 4 8
5 4+6=10 0 8
6 6 6 7
7 6+6=12 2 8
8 2+6=8 8 7
9 8+6=14 4 8
10 4+6=10 0 8

設計仿真

基于上述分析實現方法的 Verilog 描述如下。

module frac_divisor
  #(
   parameter            SOURCE_NUM = 76 , //cycles in source clock
   parameter            DEST_NUM   = 10  //cycles in destination clock
   )
   (
    input               rstn ,
    input               clk,
    output              clk_frac
    );

   //7分頻參數、8分頻參數、次數差值
   parameter    SOURCE_DIV = SOURCE_NUM/DEST_NUM ; 
   parameter    DEST_DIV   = SOURCE_DIV + 1; 
   parameter    DIFF_ACC   = SOURCE_NUM - SOURCE_DIV*DEST_NUM ;


   reg [3:0]            cnt_end_r ;  //可變分頻周期
   reg [3:0]            main_cnt ;   //主計數器
   reg                  clk_frac_r ; //時鐘輸出,高電平周期數為1
   always @(posedge clk or negedge rstn) begin
      if (!rstn) begin
         main_cnt    <= 'b0 ;
         clk_frac_r  <= 1'b0 ;
      end
      else if (main_cnt == cnt_end_r) begin
         main_cnt    <= 'b0 ;
         clk_frac_r  <= 1'b1 ;
      end
      else begin
         main_cnt    <= main_cnt + 1'b1 ;
         clk_frac_r  <= 1'b0 ;
      end
   end
   //輸出時鐘
   assign       clk_frac        = clk_frac_r ;
   //差值累加器使能控制
   wire         diff_cnt_en     = main_cnt == cnt_end_r ;


   //差值累加器邏輯
   reg [4:0]            diff_cnt_r ;
   wire [4:0]           diff_cnt = diff_cnt_r >= DEST_NUM ?
                                   diff_cnt_r -10 + DIFF_ACC : 
                                   diff_cnt_r + DIFF_ACC ;                                
   always @(posedge clk or negedge rstn) begin
      if (!rstn) begin
         diff_cnt_r <= 0 ;
      end
      else if (diff_cnt_en) begin
         diff_cnt_r <= diff_cnt ;
      end
   end


   //分頻周期變量的控制邏輯
   always @(posedge clk or negedge rstn) begin
      if (!rstn) begin
         cnt_end_r      <= SOURCE_DIV-1 ;
      end
      //差值累加器溢出時,修改分頻周期
      else if (diff_cnt >= 10) begin
         cnt_end_r      <= DEST_DIV-1 ;
      end
      else begin
         cnt_end_r      <= SOURCE_DIV-1 ;
      end
   end


endmodule

仿真結果如下。

圖片

分頻小結

偶數分頻不使用時鐘雙邊沿邏輯即可完成占空比為 50% 的時鐘分頻,是最理想的分頻狀況。

奇數分頻如果要產生 50% 占空比的分頻時鐘,則需要使用時鐘的雙邊沿邏輯。如果不要求占空比的話,實現方法和偶數分頻類似。

半整數分頻屬于特殊的小數分頻,可以用雙邊沿邏輯進行設計。通過一定邏輯將兩個雙邊沿時鐘信號整合為最后的一路輸出時鐘時,建議不要使用選擇邏輯。因為容易出現毛刺現象,電路中又會增加一定的不確定性。例如下面描述是不建議的。

assign clk_div3p5 = (cnt == 1 || cnt ==2) ? clk_ave_r 
                                          : clk_adjust_r ;

小數分頻的基本思想是,輸出時鐘在一段時間內的平均頻率達到分頻要求即可。但是考慮到相位抖動,還需要對可變的分頻邏輯進行平均操作。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • PWM
    PWM
    +關注

    關注

    114

    文章

    5186

    瀏覽量

    213957
  • Verilog
    +關注

    關注

    28

    文章

    1351

    瀏覽量

    110101
  • 時鐘
    +關注

    關注

    10

    文章

    1733

    瀏覽量

    131485
  • 觸發器
    +關注

    關注

    14

    文章

    2000

    瀏覽量

    61158
  • 分頻電路
    +關注

    關注

    7

    文章

    45

    瀏覽量

    35947
收藏 人收藏

    評論

    相關推薦

    奇數分頻如何得到呢? 解讀奇數分頻和邏輯分析儀(ILA)的使用

    前言: 偶數分頻容易得到:N倍偶數分頻,可以通過由待分頻的時鐘觸發計數器計數,當計數器從0計數到N/2-1時,輸出時鐘進行翻轉,并給計數器一個復位信號,使得下一個時鐘從零開始計數。以此循環下去
    的頭像 發表于 12-28 15:49 ?2950次閱讀

    小數分頻鎖相環的工作原理

    議程PLL介紹及小數分頻鎖相環的優點小數分頻鎖相環的錯誤使用小數分頻鎖相環詳解參考雜散及如何減少雜散總結
    發表于 05-28 14:58 ?0次下載

    小數分頻技術及其實現

    給出了一種小數分頻技術的實現方法, 并在實驗的基礎上進一步證實了小數分頻的可行性該法通過微機控制,
    發表于 02-22 14:58 ?45次下載
    <b class='flag-5'>小數分頻</b>技術及其實現

    分頻器的作用是什么 整數分頻器原理圖分析

    分頻器主要分為偶數分頻奇數分頻整數分頻小數分頻,如果在設計過程中采用參數化設計,就可以隨
    發表于 02-01 01:28 ?1.8w次閱讀
    <b class='flag-5'>分頻</b>器的作用是什么 <b class='flag-5'>半</b><b class='flag-5'>整數分頻</b>器原理圖分析

    基于復雜可編程邏輯器件和VHDL語言實現整數分頻器的設計

    在數字系統設計中,根據不同的設計需要,經常會遇到偶數分頻奇數分頻整數分頻等,有的還要求等占空比。在基于cpld(復雜可編程邏輯器件)的數字系統設計中,很容易實現由計數器或其級聯構
    發表于 06-26 09:36 ?1080次閱讀
    基于復雜可編程邏輯器件和VHDL語言實現<b class='flag-5'>半</b><b class='flag-5'>整數分頻</b>器的設計

    奇數分頻器的介紹和實現

    因為偶數分頻器過于簡單,所以我們從奇數分頻器開始說起8 01 奇數分頻器 ? ? 假設我們要實現一個2N+1分頻分頻器,就需要高電平占N+
    的頭像 發表于 03-12 15:44 ?6461次閱讀
    <b class='flag-5'>奇數分頻</b>器的介紹和實現

    基于CPLD/FPGA的整數分頻器設計方案

    基于CPLD/FPGA的整數分頻器設計方案
    發表于 06-17 09:37 ?21次下載

    小數分頻資料分享

    有關小數分頻的資料,用于時鐘芯片設計,十分經典。
    發表于 10-24 11:48 ?0次下載

    偶數分頻器的設計

    所謂“分頻”,就是把輸入信號的頻率變成成倍數地低于輸入頻率的輸出信號。數字電路中的分頻器主要是分為兩種:整數分頻小數分頻。其中整數分頻又分
    的頭像 發表于 03-23 15:06 ?1882次閱讀
    <b class='flag-5'>偶數分頻</b>器的設計

    奇數分頻器的設計

    上一篇文章介紹了偶分頻,今天來介紹一下奇數分頻器的設計。
    的頭像 發表于 03-23 15:06 ?1086次閱讀
    <b class='flag-5'>奇數分頻</b>器的設計

    小數分頻器的設計

    前面分別介紹了偶數奇數分頻(即整數分頻),接下來本文介紹小數分頻
    的頭像 發表于 03-23 15:08 ?1188次閱讀
    <b class='flag-5'>小數分頻</b>器的設計

    基于Verilog的分數分頻電路設計

    上一篇文章時鐘分頻系列——偶數分頻/奇數分頻/分數分頻,IC君介紹了各種分頻器的設計原理,其中分數分頻
    的頭像 發表于 04-25 14:47 ?1811次閱讀
    基于Verilog的分<b class='flag-5'>數分頻</b>電路設計

    分頻器之小數分頻設計

    對于要求相位以及占空比嚴格的小數分頻,建議采用模擬電路實現。而使用數字電路實現只能保證盡量均勻,在長時間內進行分頻
    的頭像 發表于 06-05 17:20 ?1619次閱讀
    <b class='flag-5'>分頻</b>器之<b class='flag-5'>小數分頻</b>設計

    FPGA學習-分頻器設計

    是用于滿足設計的需求。 分頻:產生比板載時鐘小的時鐘。 倍頻:產生比板載時鐘大的時鐘。 二:分頻器的種類 對于分頻電路來說,可以分為整數分頻小數分
    的頭像 發表于 11-03 15:55 ?1953次閱讀
    FPGA學習-<b class='flag-5'>分頻</b>器設計

    鎖相環整數分頻小數分頻的區別是什么?

    鎖相環整數分頻小數分頻的區別是什么? 鎖相環(PLL)是一種常用的電子電路,用于將輸入的時鐘信號與參考信號進行同步,并生成輸出信號的一種技術。在PLL中,分頻器模塊起到關鍵作用,可以實現整數
    的頭像 發表于 01-31 15:24 ?3313次閱讀
    主站蜘蛛池模板: se94se欧美| 久久精品福利| 2019偷偷狠狠的日日| 国产精品丝袜在线观看| 澳门色视频| 伊人电影综合网| 久久综合九九亚洲一区| 日本一本在线视频| 免费看的黄视频| 免费视频一区二区性色| 手机看片福利久久| 久久精品网站免费观看| 免费欧美黄色网址| 久久精品久久久久| 亚洲最大色网| 国产成年美女毛片80s| 亚洲综合在线最大成人| 四虎在线观看| 伊人天天操| 久久人人干| 91在线视频观看| 日本三级香港三级人妇网站| 午夜影院h| 男人j进入女人免费视频| 美女全黄网站免费观看| 国内久久精品| 五月天婷婷色图| 午夜一区二区在线观看| 日本卡一卡2卡3卡4精品卡无人区| 女人被狂躁视频网站免费| 噜噜噜动态图超猛烈| 亚洲九色| 一区二区精品| 久久久久久毛片免费播放| 激情五月五月婷婷| 视频免费在线| 亚洲人成电影综合网站色| 94在线| 欧美丝袜一区| 国产精品资源手机在线播放| 人人澡人人澡碰人人看软件|