《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 解決方案 > 基于GUI 軟件配置UCD3138 數字電源 PMBUS 命令

基于GUI 軟件配置UCD3138 數字電源 PMBUS 命令

2013-07-01
作者:Neil Li, Sundy Xu
來源:China Telecom Application Team

    可與數字電源UCD3138 配套使用的Fusion Digital Power Designer 軟件擁有Graphical User Interface (GUI) 界面,用戶可在其上編輯數據并通過對應的PMBUS 命令與UCD3138 的軟件交互。在GUI 界面中,用戶可以靈活的增加GUI 軟件支持的PMBUS 命令,亦可以刪除,因此大幅提高了GUI 的靈活性。本文通過兩個實例,詳細分析了如何增加和刪除GUI 軟件可以支持的PMBUS 命令。

1 數字電源GUI 軟件及其配置功能

    數字電源GUI 軟件運行于用戶計算機,可以借助PMBUS 總線與UCD3138 數字電源通信,完成配置、設計和監控等功能。用戶可以靈活的在界面中添加PMBUS 命令支持的信息,亦可以在其中刪除。

1.1 數字電源GUI 軟件

     圖1 所示的是與UCD3138 數字電源芯片配套使用,可用來對基于UCD3138 數字電源進行配置,設計及監控的GUI 軟件:Fusion Digital Power。該軟件安裝并運行于用戶的計算機上,通過PMBUS 總線與UCD3138 的軟件進行交互。

1:數字電源GUI 軟件

該軟件主要包含以下功能:

1)配置:通過PMBUS 命令對數字電源的參數進行配置,如輸入電壓的欠壓保護點(對應的PMBUS 命令為VIN_ON 和VIN_OFF),輸出電流的過流保護(對應的PMBUS 命令為IOUT_OC_FAULT_LIMIT)。

2)設計:主要是對數字電源的環路參數進行設計和模擬。

3)監控:可以實時監控輸入電壓,輸入電流和溫度等諸多信息。

4)狀態:可以顯示電源板輸入和輸出等狀態,告知用戶當前是否存在故障。

1.2 GUI 軟件的配置功能

    圖1 所示的是GUI 的配置界面,其顯示的每一條信息都對應一條PMBUS 命令,可以在用戶計算機與UCD3138 之間傳遞。例如制造商的位置信息(MFR_LOCATION ),對應的便是PMBUS 命令MFR_LOCATION (0x9C),借助PMBUS 總線GUI 軟件可以將UCD3138 中存貯的信息讀取并顯示出來。用戶也可以自行重新編輯該信息,新信息會傳遞到UCD3138 芯片中并進行存儲。

    在實際應用中,不同的用戶會關注不同的參數信息。為提高靈活性,GUI 軟件支持用戶添加和刪除PMBUS 命令支持的參數信息。下面將詳細介紹如何在GUI 中進行相關操作。

2 增加輸出過流保護點信息

    輸出過流保護點對應的PMBUS 命令為IOUT_OC_FAULT_LIMIT,可以用來配置系統的輸出過流保護點。本節詳細介紹如何在GUI 中添加信息欄來接收用戶的輸入,同時修改UCD3138 的軟件來對用戶的輸入信息進行處理并最終調整相應模擬比較器的閾值電壓。

2.1 解除對PMBUS 命令的屏蔽

    在UCD3138 軟件中,定義了CMD_DCDC_NONPAGED 變量,保存了每一個PMBUS 命令的狀態:用0和1 表征屏蔽還是未屏蔽,如下代碼所示。而“ 輸出過流保護點” 對應的PMBUS 命令是IOUT_OC_FAULT_LIMIT (0x46),需要首先在UCD3138 的軟件中去掉對該命令的屏蔽。

#define CMD_DCDC_NONPAGED \

{0x00, 0x00, \

0x00, 0x00, \

0x00, 0x00, \

0x00, 0x00, \

0x02, 0x00, \

0x00, 0x00, \

0x00, 0x00, \

0x00, 0x00, \

0x00, 0x00, \

0x00, 0xFE, \

0x00, 0x00, \

0x00, 0x00, \

0x00, 0x00, \

0x00, 0x40, \

0x3D, 0x00, \

0x00, 0x14 \

}

Fusion Digital Designer 提供了Bitmask tool,用來快速生成新的CMD_DCDC_NONPAGED 變量。具體操作如下。

 

1)  如圖2,在菜單“Tools”中點擊Isolated GUI Bitmask Generator Tool;

2:運行Isolated GUI Bitmask Generator

2)如圖3,在隨后打開的界面中,勾選“PMBUS_CMD_IOUT_OC_FAULT_LIMIT”,即使能命令IOUT_OC_FAULT_LIMIT。此時界面右側的數據會有變化,該PMBUS 對應的位由0 變為了1。

3:勾選相應PMBUS 命令并復制輸數據

3)將圖3 右側紅色圖內的數據復制到UCD3138 的軟件中,覆蓋原來的CMD_DCDC_NONPAGED 變量。

2.2 GUI 中增加新的信息欄

    將上述新生成的軟件編譯后燒錄到UCD3138 中,此時通過Fusion Digital Designer 與UCD3138 建立連接后,會發現,GUI 中新增了一條信息輸入欄,見圖

4 中的紅色框

    該信息欄的名稱為“IOUT_OC_FAULT_LIMIT”,代碼為0x46,上述為固定信息,是由GUI 軟件自身設定,用戶無法修改。后面的“Value/Edit”值則用來輸入用戶設定的過流保護點。

4GUI 出現新增信息輸入欄

2.3 UCD3138 軟件中的數據處理

    截止到上節,用戶可以在GUI 中新增一條信息欄并輸入數據,然后通過對應的PMBUS 命令,將該數據傳輸到UCD3138 中。但為了使UCD3138 接收該數據并調整相應的模擬比較器閾值,還需要修改UCD3138 的軟件。

1、定義變量和結構體

     如下代碼,定義了新的結構體變量PMBUS_DCDC_CONFIG,包含成員iout_oc_fault_limit 和reserved。隨后定義了該結構體類型的外部變量pmbus_dcdc_config 和pmbus_dcdc_config_translated,分別用于接收和保存GUI 傳輸到UCD3138 的數據和格式轉換后的數據。

typedef struct

{

Uint16 iout_oc_fault_limit;

Uint16 reserved;

}PMBUS_DCDC_CONFIG; //must be even number of int16

EXTERN PMBUS_DCDC_CONFIG     pmbus_dcdc_config[1];

EXTERN PMBUS_DCDC_CONFIG     pmbus_dcdc_config_translated[1];

 

2、創建新的PMBUS 讀與寫函數

 

由于從GUI 傳輸過來的數據的首個字節是對應的PMBUS 命令的代碼,如0x46,并會存放在pmbus_buffer[0]中。因此,可以在函數pmbus_write_message()中創建新的case 語句,并返回一個新創建的函數pmbus_write_iout_oc_fault_limit(),該新函數用來處理接收到的數據。這樣就實現了一旦UCD3138 接收到新的數據后,且該數據是用戶重新編輯的“輸出過流保護點”信息,則就會調用pmbus_write_iout_oc_fault_limit()函數進行處理。

switch (pmbus_buffer[0])

{

case 0x46:

return pmbus_write_iout_oc_fault_limit();

}

同時,也需要在函數pmbus_read_message() 中創建新的case 語句,并返回一個新創建的函數pmbus_read_iout_oc_fault_limit(),用來返回接收到的信息到GUI 中,以確保信息傳輸正確。這種讀取后再返回驗證的操作是PMBUS 協議的規定。

switch (pmbus_buffer[0])

{

case 0x46:

return pmbus_read_iout_oc_fault_limit();

}

 

3、數據處理函數的設計

◎接收數據處理函數pmbus_write_iout_oc_fault_limit()

該函數用來接收來自GUI 的數據,并將該數據的格式由Linear Data Format 轉換為浮點型數據,最后強制轉換為整數型賦給模擬比較器。關鍵代碼分析如下:

上文提到,來自GUI 的數據的首字節是對應的PMBUS 命令代碼。隨后的兩個字節便是Linear Data 格式的數據。將該數據保存在pmbus_dcdc_config 結構體的iout_oc_fault_limit 成員中,如下代碼所示。

Pmbus_dcdc_config[0].iout_oc_fault_limit = pmbus_buffer[1] + (pmbus_buffer[2] << 8);

下面代碼是調用格式轉換函數linear11_to_float(),將上面接收到的數據轉換為浮點型數據。

local_variable = linear11_to_float(pmbus_dcdc_config[0].iout_oc_fault_limit);

由于轉換后的浮點型數據與最終需要賦給模擬比較器閾值的數據存在一定的比例,需要一個轉換系數(scaler)??s放后存放在pmbus_dcdc_config_tanslated 結構體的iout_oc_fault_limit 成員中。

pmbus_dcdc_config_translated[0].iout_oc_fault_limit = (int)(local_variable*2.54);

 

最終該值賦給模擬比較器的閾值,用來做快速保護。

FaultMuxRegs.ACOMPCTRL0.bit.ACOMP_B_THRESH=pmbus_dcdc_config_translated[0].iout_oc_fault_limit;

 

◎返回數據處理函數pmbus_read_iout_oc_fault_limit

該函數用來返回UCD3138 軟件接收的數據到GUI 中,以使GUI 將寫入和讀取的數據做比較(比較判斷等操作在GUI 軟件中完成),保證數據正確。該函數調用pmbus_read_two_byte_handler() 將保存在Pmbus_dcdc_config[0].iout_oc_fault_limit 的數據返回到GUI。關鍵代碼如下:

pmbus_read_two_byte_handler(pmbus_dcdc_config[0].iout_oc_fault_limit);

而在pmbus_read_two_byte_handler()函數中的關鍵代碼為:

pmbus_buffer[1] = value >> 8;

pmbus_buffer[0] = value & 0xff;

pmbus_buffer 字節中的數據會最終上傳到GUI 軟件中。

 

4、數據轉換函數的設計

 

◎Linear Data Format 數據格式

上文提到,來自GUI 的數據遵循PMBUS 協議,其格式為Linear Data Format。如圖5,其低11 位為“尾數”,以補碼形式保存;高5 位為“指數”,亦是以補碼形式保存。該數據與實際數據的關系為:X=Y× 2N 。

5PMBUS 協議中的Linear Data Format

◎ARM 編譯器中的浮點型數據

如圖6,為ARM 編譯器中對單精度浮點型數據的存儲格式。其最高位為符號位,接下的8 位為指數,后面的23 位為尾數。在編譯器中定義的浮點數據,將以該格式存儲在硬件存儲空間。

6ARM 編譯器中的浮點型數據格式

◎定義結構體和聯合體

如下,定義了結構體FLOAT_ELEMENTS ,用以保存上文提到的浮點型數據。還定義了聯合體FLOAT_OPEN,成員包括浮點型數據“all”和結構體類型數據“bit”,用以保存轉換完畢的浮點型數據。

struct FLOAT_ELEMENTS {

Uint32 SIGN:1;

Uint32 EXPONENT:8;

Uint32 MANTISSA:23;

};

 

union FLOAT_OPEN {

float                         all;

struct FLOAT_ELEMENTS     bit;

Uint32                       word;

};

 

◎轉換函數linear11_to_float()

該函數完成將來自GUI 的Linear Data Format 格式的數據轉換為浮點型數據,并作為返回值返回。包含的關鍵代碼如下。

定義變量,包括整型“mantissa”和“exponent”及結構體變量“final”。

int16 mantissa, exponent;

union FLOAT_OPEN final;

 

下面代碼完成對輸入參數的分析,并擴展到16 位。如果輸入參數的尾數是負值,前5 位補1;如果是正值,前5 位補0。

if(linear11 & 0x0400)// if mantissa is negative

{ mantissa = linear11 | 0xfc00; //put it in there at minimum mantissa }

else

{ mantissa = linear11 & 0x07FF; }

 

下面代碼首先是將mantissa 左移16 位(16+16=32),以使其數據長度符合單精度浮點型數據的長度,然后exponent 減去16,保證了原始數據的大小沒有變化。

final.all = ((int32)mantissa) << 16; //set it up for minimum exponent.

exponent = (linear11 >> 11) - 16; //get exponent to match shifted value

 

下面代碼首先判斷單精度浮點型的指數是否為負。如果是負,則改寫其為零,原因是對應的“輸出過流保護點”不會出現負值;如果是正,則將指數信息放置在單精度浮點型數據的指數位置。

if((final.bit.EXPONENT + exponent) < 0)//if it's so low it will wrap

{ final.bit.EXPONENT = 0; }

else

{ final.bit.EXPONENT = final.bit.EXPONENT + exponent; }

 

上述操作完畢后,final.all 中就保存了轉換后的浮點型數據,因此可以作為返回值返回。

return final.all;

 

2.4 操作流程圖

上述所有操作的流程圖見圖7。

7UCD3138 接收信息流程圖

3 刪除GUI 信息欄

用戶亦可以自行刪除GUI 中多余的信息欄,操作過程主要包括對應PMBUS 命令的屏蔽,UCD3138 軟件對應接收處理函數的刪除等。如圖8,以刪除紅色框內的信息欄為例。查看其對應的PMBUS 命令代碼是0xFA,故首先在CMD_DCDC_NONPAGED 變量中屏蔽對應的位,可以使用Bit Mask Tool。

8:刪除GUI 中的信息欄

此時重新編譯軟件并下載到UCD3138 后,GUI 中將不再會出現該信息欄,見圖4。但UCD3138 軟件中依然保留有對該PMBUS 命令的接收、轉換和處理等函數,亦需要刪除,在此不再贅述。

4 小結

通過上文兩個實例的分析可知,用戶在GUI 軟件中可以靈活的添加或刪除PMBUS 命令對應的信息欄,提高了GUI 的靈活性。該操作主要包括PMBUS 命令的使能或屏蔽及UCD3138 軟件添加或刪除相應處理函數等兩大部分。

5 參考文獻

1. UCD3138 datasheet, Texas Instruments Inc., 2011

2. PMBus_Specification_Part_I_Rev_1, 2007

3. PMBus_Specification_Part_II_Rev_1, 2010

4. ARM Optimizing C/C++ Compiler, v4.9, User's Guide, Texas Instruments, 2011

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          一本色道久久综合| 你懂的亚洲视频| 亚洲在线国产日韩欧美| 欧美专区福利在线| 亚洲国产精品悠悠久久琪琪| 中文精品在线| 蜜臀久久99精品久久久画质超高清| 欧美日韩国产成人在线观看| 欧美区在线观看| 欧美精品成人一区二区在线观看| 久久激情婷婷| 亚洲综合色婷婷| 亚洲女人小视频在线观看| 国产一二精品视频| 日韩视频一区二区三区在线播放| 欧美激情精品久久久久久蜜臀| 欧美区亚洲区| 欧美激情一区二区久久久| 在线观看久久av| 亚洲尤物在线| 欧美一区二区三区免费大片| 蜜臀91精品一区二区三区| 裸体一区二区| 香蕉av777xxx色综合一区| 欧美一区永久视频免费观看| 欧美乱人伦中文字幕在线| 激情伊人五月天久久综合| 亚洲午夜精品福利| 久久午夜羞羞影院免费观看| 欧美综合二区| 久久久精品五月天| 一区二区欧美在线| 欧美日本亚洲视频| 国产精品国产三级国产专区53| 黑人一区二区| 香蕉乱码成人久久天堂爱免费| 国模私拍一区二区三区| 女人色偷偷aa久久天堂| 欧美a一区二区| 欧美国产乱视频| 亚洲一区二区三区色| 国产精品videossex久久发布| 欧美精品电影| 好吊一区二区三区| 欧美激情综合在线| 蜜桃av一区二区在线观看| 久久午夜色播影院免费高清| 亚洲一区二区成人| 久久久美女艺术照精彩视频福利播放| 国产精品一区在线播放| 国产欧美欧洲在线观看| 欧美日一区二区三区在线观看国产免| 欧美日韩一区精品| 亚洲国产91精品在线观看| 欧美激情亚洲综合一区| 亚洲在线一区二区| 国产精品日韩精品欧美在线| 国产精品亚洲аv天堂网| 午夜精品福利电影| 欧美日韩中文字幕精品| 国产精品美女久久福利网站| 午夜精品视频在线观看一区二区| 欧美在线播放高清精品| 国产欧美三级| 在线观看亚洲| 欧美另类99xxxxx| 久久精品最新地址| 欧美亚男人的天堂| 亚洲精品在线免费观看视频| 亚洲久久一区| 欧美激情精品久久久| 欧美资源在线观看| 一本久久综合亚洲鲁鲁五月天| 欧美日韩精品不卡| 91久久视频| 亚洲综合国产| 亚洲图片在线观看| 亚洲二区在线| 久久久www成人免费精品| 久久久久久香蕉网| 亚洲日本一区二区三区| 亚洲人成毛片在线播放女女| 亚洲桃色在线一区| 欧美激情性爽国产精品17p| 欧美成人自拍| 欧美影院精品一区| 亚洲激情不卡| 国产精品美女久久久免费| 一本色道婷婷久久欧美| 欧美一区二区三区播放老司机| 欧美一级欧美一级在线播放| 欧美日韩成人精品| 久久青青草原一区二区| 免费在线亚洲欧美| 欧美一级夜夜爽| 日韩视频免费观看高清完整版| 欧美日韩精品一区二区三区四区| 免费在线播放第一区高清av| 亚洲精品免费电影| 亚洲视频自拍偷拍| 欧美视频你懂的| 欧美日本亚洲| 国产精品久久久久9999| 卡通动漫国产精品| 国产视频亚洲精品| 久久久777| 欧美激情精品久久久久久| 亚洲高清在线视频| 欧美有码在线观看视频| 亚洲三级电影全部在线观看高清| 亚洲精品日韩综合观看成人91| 亚洲一区二区三区免费观看| 国产精品久久久一区二区三区| 在线观看欧美| 99视频国产精品免费观看| 欧美日韩国产在线播放网站| 国产一区二区三区四区hd| 影音先锋中文字幕一区| 欧美极品一区二区三区| 欧美精品在线播放| 亚洲免费视频中文字幕| 亚洲高清视频一区| 久久gogo国模裸体人体| 精品1区2区3区4区| 免费在线欧美黄色| 欧美一区深夜视频| 欧美精品在线观看一区二区| 欧美a级片网| 欧美伦理影院| 午夜精品一区二区三区电影天堂| 国产日韩一区二区三区在线| 午夜精品电影| 欧美成人按摩| 欧美电影打屁股sp| 国产视频在线观看一区二区| 国产一区二区无遮挡| 久久精品国产亚洲一区二区三区| 国内激情久久| 一色屋精品视频免费看| 亚洲欧美在线看| 国产中文一区二区三区| 国产女主播一区二区| 国产真实久久| 国产女主播一区二区三区| 欧美日韩中文字幕综合视频| 亚洲欧美制服另类日韩| 免费91麻豆精品国产自产在线观看| 激情久久婷婷| 亚洲国产精品传媒在线观看| 国产日产欧美a一级在线| 久久精品成人一区二区三区蜜臀| 嫩草伊人久久精品少妇av杨幂| 亚洲国产精彩中文乱码av在线播放| 亚洲图片欧美一区| 激情国产一区| 在线精品在线| 午夜欧美精品久久久久久久| 欧美二区在线观看| 欧美成人免费全部| 亚洲女人小视频在线观看| 亚洲麻豆国产自偷在线| 激情综合色综合久久| 欧美一区二区三区四区在线观看| 欧美成人综合| 亚洲精品国产精品久久清纯直播| 久久riav二区三区| 国产精品日韩精品欧美在线| 欧美激情综合网| 狠狠做深爱婷婷久久综合一区| 欧美黄色片免费观看| 久久www成人_看片免费不卡| 国内揄拍国内精品少妇国语| 欧美日韩精品一本二本三本| 久久久噜噜噜久久中文字幕色伊伊| 欧美午夜国产| 国产精品色婷婷| 在线观看日韩国产| 久久这里只有| 99人久久精品视频最新地址| 国产一级一区二区| 一区二区日韩伦理片| 欧美一区二区免费| 日韩午夜电影av| 国产精品制服诱惑| 免费欧美日韩国产三级电影| 亚洲欧美日韩一区二区在线| 国产一区二区三区免费观看| 精品动漫一区二区| 亚洲一区二区av电影| 亚洲精品国产视频| 欧美三级日韩三级国产三级| 亚洲综合日韩| 一区二区三区欧美在线观看| 久久久久高清| 日韩一区二区福利| 国产精品视区| 亚洲在线第一页| 一本大道av伊人久久综合| 欧美一级日韩一级| 中文精品视频一区二区在线观看| 亚洲高清久久网| 国产精品护士白丝一区av| 国产精品一页| 一本色道**综合亚洲精品蜜桃冫| 亚洲人成在线观看网站高清| 国产精品久久久久国产精品日日| 国产农村妇女毛片精品久久莱园子| 欧美一级片在线播放| 亚洲曰本av电影| 国产偷自视频区视频一区二区| 欧美精品一区二区在线观看| 欧美一级久久久久久久大片| 在线免费观看欧美| 国产日韩欧美在线看| 欧美精品一区二区三区在线播放| 欧美视频免费在线观看| 欧美性jizz18性欧美| 欧美一区二区观看视频| 国产精品天天摸av网| 亚洲精品永久免费精品| 久久精品九九| 91久久精品久久国产性色也91| 久久久精品午夜少妇| 一本色道久久88综合日韩精品| 免费观看在线综合色| 欧美日韩91| 午夜一区不卡| 欧美巨乳在线观看| 欧美日韩不卡合集视频| 久久尤物电影视频在线观看| 国产精自产拍久久久久久| 欧美一区网站| 欧美美女bb生活片| 午夜在线视频一区二区区别| 亚洲国产精品第一区二区| 国产欧美一二三区| 亚洲黄色免费| 精品成人一区| 欧美日韩国产成人在线观看| 伊人精品在线| 欧美日韩国产一区精品一区| 在线成人激情视频| 欧美精品成人在线| 国产综合色产| 亚洲第一综合天堂另类专| 亚洲精品视频免费在线观看| 洋洋av久久久久久久一区| 欧美夫妇交换俱乐部在线观看| 裸体素人女欧美日韩| 欧美日韩1区2区| 欧美日本在线播放| 一区二区三区免费看| 亚洲精品在线免费观看视频| 亚洲在线视频网站| 亚洲伦理精品| 嫩模写真一区二区三区三州| 欧美成人xxx| 亚洲人成在线播放网站岛国| 欧美综合77777色婷婷| 夜夜嗨网站十八久久| 国产精品v欧美精品v日韩精品| 久久这里只有| 亚洲一区二区三区三| 欧美中在线观看| 欧美日韩精品免费| 国产欧美精品日韩区二区麻豆天美| 噜噜噜在线观看免费视频日韩| 国产三级精品三级| 国产精品国产三级国产普通话99| 久久色在线播放| 欧美一区二区三区在线| 在线精品国精品国产尤物884a| 免费观看在线综合| 亚洲尤物视频在线| 国产精品久久久一区麻豆最新章节| 欧美日韩另类一区| 一区二区三区无毛| 欧美日韩精品一区二区三区四区| 亚洲精品乱码久久久久久久久| 久久免费观看视频| 欧美91福利在线观看| 国产精品视频网站| 欧美激情区在线播放| 一区二区三区日韩欧美精品| 国产伦精品一区二区| 欧美久久久久中文字幕| 国产精品视频午夜| 国产精品久久久久久户外露出| 亚洲欧美日韩一区| 性欧美长视频| 午夜亚洲福利| 亚洲精品永久免费精品| 国模私拍视频一区| 国产日韩欧美中文| 欧美日本韩国| 亚洲男人第一网站| 久久一区精品| 国产精品日韩久久久久| 久久精品国产亚洲一区二区| 久久伊人免费视频| 激情综合亚洲| 亚洲欧美日韩成人高清在线一区| 亚洲一品av免费观看| 亚洲电影视频在线| 亚洲私人影吧| 欧美国产日韩xxxxx| 欧美日韩国内| 国产精品区一区二区三区| 日韩亚洲综合在线| 欧美日韩亚洲一区在线观看| 欧美日韩直播| 亚洲女同在线| 国产美女在线精品免费观看| 91久久久一线二线三线品牌| 久久蜜桃香蕉精品一区二区三区| 欧美日韩亚洲一区二区三区四区| 久久久久久久久久久久久女国产乱| 欧美日韩国产成人在线91| 欧美一区二区三区在| 亚洲免费黄色| 欧美一区精品| 欧美午夜精品久久久久久人妖| 欧美一级播放| 韩国一区二区在线观看| 国产精品国产三级国产aⅴ入口| 亚洲国产精品一区| 国产亚洲欧洲997久久综合| 夜夜嗨av色综合久久久综合网|