超級精簡系列之:高效且運行時間固定的內存池實現

原創 嵌入式Lee 2024-06-20 08:31

一.?前言

這里簡單提一下在RTOS環境開發中,比較容易出現的一個BUG為例,引出我們為什么要設計我們這個內存池的輪子。以FreeRTOS為例,堆管理mallocfree的實現是基于鏈表進行的,鏈表是一個全局的資源,且操作不是一個原子操作,涉及很多步驟,所以多處調用時就必須進行臨界段保護,否則操作到一半被打斷進行另外的操作就會導致資源被破壞。FreeRTOS的處理方式是關調度的方式來實現臨界段保護,關調度只能保證任務不會搶占,無法保證中斷搶占,所以中斷中不能調用FreeRTOSmallocfree接口。而有時驅動設計又必須使用動態內存管理,驅動很多都是中斷驅動的有時必須在中斷中調用堆管理接口,此時直接調用FreeRTOS的堆管理接口就會導致問題,上述問題很可能難以發現,并且不一定能測試出來,可能在某種湊巧時機,剛好中斷中打斷任務中的堆接口執行,并調用堆管理接口此時就會出現問題。這種問題很可能就會出現很大的隨機性導致了的調試的困難。知道了這個原因就可以避免類似的錯誤了,但是回到問題來,我們中斷中還是有動態內存的使用需求那怎么辦呢,最簡單的方式就是還是使用FreeRTOS提供的堆接口,把關調度改為關中斷,這樣就可以保證臨界段不被搶占,就不會有問題,但是這里會有一些副作用就是關中斷時間的增加,并且這個時間還是不確定的,我們下一節就進行了實測。當然堆管理還有碎片化等問題,所以不適合在驅動層和中斷時調用。所以我們還有一種方式就是使用內存池,這是很多中間件,驅動比較常見的方式,我們這一篇就是要來實現一個簡單高效的內存池,但是我們不滿足于此,我們還有更高的要求,畢竟是在驅動層甚至中斷中使用,我們希望它執行非常快,并且執行時間基本無波動,因為這兩個指標都是很重要的,很多系統甚至是必須要滿足的。

二.?堆管理接口執行時間測試

執行時間測試有很多種方式,一般使用硬件定時器。我們這里使用另一種實踐中也常用的方式,使用IO翻轉,示波器查看波形的方式測試,進入接口執行時翻轉IO,退出接口執行,再次翻轉IO,IO波形得脈寬即執行時間,這樣可以可視化觀察,疏密變化可以看出執行時間的抖動,脈寬可以看出執行時間,malocfree使用不同IO對比,還可以看出申請和釋放的時間分布等等,所以這是一種非常好的方式。

我這里實測某個平臺,freertos得malloc和free執行時間如下(注意執行時間硬件平臺不一樣也不一樣),可以看到時間抖動較大,時間也不短,4.6uS已經算很長了,比如中斷中做時序解析這個時間很可能就難以滿足需求。

后面我們對比修改為我們高效的內存池實現的對比測試,可以看到基本無抖動,且執行時間非常短(這里還未去掉翻轉IO函數本身的執行和IO響應時間)。從匯編代碼其實也可以看出指令很少了。

三.?內存池實現

常規設計

將一塊空間劃分為n個等大小的塊,前面用一個字段標記是否使用的標記,剩余部分作為有效存儲空間。初始化全部是空閑,標記都是0,需要申請時從頭開始搜索,搜索到標記為0的塊則可申請將標記改為1,釋放則直接匹配地址將對應的標記設置為0.

上述標記至少需要占用一個字節,并且插入到有效塊前會影響有效塊的對齊屬性,所以還可以優化,標記信息單獨使用bitmap記錄,如下所示,

有效塊可以按照需要的原始數據結構連續對齊,bitmap一個bit對應一個塊,為1表示該塊已分配為0表示空閑,bitmap也減少了空間占用。申請釋放算法和原來類似,申請只是變為了搜索bitmap的最低字節最低位開始的0的位置將其設置為1,獲取對應的塊地址,釋放則是根據地址計算bitmapbit索引將對應的bit設置為0.

高效無時間抖動設計

上述bitmap實現在存儲上已經優化了,但是在執行時間上因為要遍歷搜尋所以是有抖動的,那么要滿足我們的無時間抖動設計,目標就是要實現查找最低字節最低為開始的0的位置的算法時間固定。我們前面很多文章其實已經提到了矛盾的思想即,從矛盾的角度看問題,要解決一個問題可以看其對立面,因為往往矛盾是此消彼長的,算法的時間和空間就是矛盾體,要求時間那么我們就去看看是否能從空間的角度去考慮,一種常見的空間換時間的方法就是查表法,查表一方面時間固定一方面也高效。實際在uSOSII的實現中,查找最高就緒優先級就使用了該算法,我們直接拿過來使用并簡單介紹下其原理。

首先我們將bitmap按照矩陣排列,自然而然地想到以字節為列,bit0~7對應0~7列,多個字節對應多行。每個bit對應一個塊,bit1表示空閑,為0表示占用。

那么最低字節的最低位位1則是我們要找的空閑塊。那么如何快速找到這個bit呢,常規思想是從字節0開始找,如果全為0則繼續找字節1,找到不為0的字節,然后從bit0bit7找最開始出現的1的位置,那么這個bit在整個bit的索引就是(字節序號*8+位序號).

所以時間上可以分解為兩步,第一步是找字節位置,第二步找bit位置。

bit位置實際我們可以很快想到通過查表法實現。

8為數據有256種可能,每一種可能我們直接將其最低出現1的位置寫出來就行,實際就是構造一個256字節的數組表,其指定索引的值,就是這個索引對應的數字,其最先出現1bit位置。

比如

00000000 沒有1則最低最先出現1的位置是0,所以數組索引1的位置值為0

00000001 最先出現1的位置是bit0,所以數組索引1的位置值為0

00000010 最先出現1的位置是bit1,所以數組索引2的位置值為1

00000011 最先出現1的位置是bit0,所以數組索引3的位置值為0

00000100 最先出現1的位置是bit2,所以數組索引4的位置值為2

所以最終構造出如下表格


static uint8_t ?const ?s_unmaptbl[256] = {? ? 0, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, ? ? ? /* 0x00 to 0x0F ? ? ? ? ? ? ? ? ? ? ? ? ? ? */? ? 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, ? ? ? /* 0x10 to 0x1F ? ? ? ? ? ? ? ? ? ? ? ? ? ? */? ? 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, ? ? ? /* 0x20 to 0x2F ? ? ? ? ? ? ? ? ? ? ? ? ? ? */? ? 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, ? ? ? /* 0x30 to 0x3F ? ? ? ? ? ? ? ? ? ? ? ? ? ? */? ? 6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, ? ? ? /* 0x40 to 0x4F ? ? ? ? ? ? ? ? ? ? ? ? ? ? */? ? 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, ? ? ? /* 0x50 to 0x5F ? ? ? ? ? ? ? ? ? ? ? ? ? ? */? ? 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, ? ? ? /* 0x60 to 0x6F ? ? ? ? ? ? ? ? ? ? ? ? ? ? */? ? 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, ? ? ? /* 0x70 to 0x7F ? ? ? ? ? ? ? ? ? ? ? ? ? ? */? ? 7, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, ? ? ? /* 0x80 to 0x8F ? ? ? ? ? ? ? ? ? ? ? ? ? ? */? ? 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, ? ? ? /* 0x90 to 0x9F ? ? ? ? ? ? ? ? ? ? ? ? ? ? */? ? 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, ? ? ? /* 0xA0 to 0xAF ? ? ? ? ? ? ? ? ? ? ? ? ? ? */? ? 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, ? ? ? /* 0xB0 to 0xBF ? ? ? ? ? ? ? ? ? ? ? ? ? ? */? ? 6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, ? ? ? /* 0xC0 to 0xCF ? ? ? ? ? ? ? ? ? ? ? ? ? ? */? ? 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, ? ? ? /* 0xD0 to 0xDF ? ? ? ? ? ? ? ? ? ? ? ? ? ? */? ? 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, ? ? ? /* 0xE0 to 0xEF ? ? ? ? ? ? ? ? ? ? ? ? ? ? */? ? 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0 ? ? ? ?/* 0xF0 to 0xFF ? ? ? ? ? ? ? ? ? ? ? ? ? ? */};

現在查找字節最開始出現1的位置查表一步就得到了時間是固定的,那么查找字節按照前面介紹還是的從字節0開始查詢最開始不是0的字節。我們仔細思考一下,前面一個字節8bit一行的角度去查找最開始的1是對應的列,現在查找字節不就是對應的行嗎。

那么我們把每一行是否是0先記錄下來,再用一個bitmap來記錄這一行是否為0不就行了嗎。如下所示我們原來的bitmap8個字節,8行,那么我們再使用一個字節8bit就可以記錄這8個字節是否為0了,這個新增的bitmap我們叫做grp

如果原來bitmap的字節10grpbit00,否則為1表示這個字節中有1即有空閑塊。那么問題簡單了,查找這8個字節,最低字節不為0的字節,即查找這個grp的最低位最先出現的1,這樣問題歸一了,就是我們前面的查表。這樣要找最低字節的最低先出現的1就是兩步查表,先根據grp查找到字節位置,然后根據這個字節的值查找bit位置。最終的索引就是字節位置*8+bit位置

最終算法實現如下


y = s_unmaptbl[dev->grp];? ? x = s_unmaptbl[dev->tbl[y]];? ? index = (uint8_t)((y<<3) + x);

這里的dev->grp即我們上面的grp字節,

Dev->tblbitmap字節數組。

y即字節位置,xbit位置,indexbitmap的索引位置。

而找bitmap索引將對應的bit改為0即申請,操作如下,index>>3得到字節索引,~(1u<<(index & 0x07)是清除對應的bit。如果這個字節變為了0,則相應的grp字節的對應bit也要清零


? ? ? if(((dev->tbl[index>>3] &= (~(1u<<(index & 0x07)))) == 0))? ? ? ? {? ? ? ? ? ? dev->grp &= ~(1u<<(index>>3));? ? ? ? }

釋放則是將bitmap對應索引位置的bit置為1

? ? dev->grp |= 1u<<(index>>3);? ? dev->tbl[index>>3] |= 1u<<(index & 0x07);

舉例如下

Tbl2~7字節都非0所以,grpbit2~bit7都為1

tbl中最低字節最低位出現的1是字節2bit3.

計算過程如下,先grp=0xFC=252查表得到,索引252處的值為2,所以定位到字節2

Tbl[2]的值為0x08,查表得到該索引對應的值是3

所以最開始出現1的位置是字節2bit3,即2*8+3=19.

源碼如下

Mem_pool.c

#include "mem_pool.h"
static uint8_t ?const ?s_unmaptbl[256] = {? ? 0, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, ? ? ? /* 0x00 to 0x0F ? ? ? ? ? ? ? ? ? ? ? ? ? ? */? ? 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, ? ? ? /* 0x10 to 0x1F ? ? ? ? ? ? ? ? ? ? ? ? ? ? */? ? 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, ? ? ? /* 0x20 to 0x2F ? ? ? ? ? ? ? ? ? ? ? ? ? ? */? ? 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, ? ? ? /* 0x30 to 0x3F ? ? ? ? ? ? ? ? ? ? ? ? ? ? */? ? 6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, ? ? ? /* 0x40 to 0x4F ? ? ? ? ? ? ? ? ? ? ? ? ? ? */? ? 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, ? ? ? /* 0x50 to 0x5F ? ? ? ? ? ? ? ? ? ? ? ? ? ? */? ? 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, ? ? ? /* 0x60 to 0x6F ? ? ? ? ? ? ? ? ? ? ? ? ? ? */? ? 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, ? ? ? /* 0x70 to 0x7F ? ? ? ? ? ? ? ? ? ? ? ? ? ? */? ? 7, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, ? ? ? /* 0x80 to 0x8F ? ? ? ? ? ? ? ? ? ? ? ? ? ? */? ? 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, ? ? ? /* 0x90 to 0x9F ? ? ? ? ? ? ? ? ? ? ? ? ? ? */? ? 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, ? ? ? /* 0xA0 to 0xAF ? ? ? ? ? ? ? ? ? ? ? ? ? ? */? ? 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, ? ? ? /* 0xB0 to 0xBF ? ? ? ? ? ? ? ? ? ? ? ? ? ? */? ? 6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, ? ? ? /* 0xC0 to 0xCF ? ? ? ? ? ? ? ? ? ? ? ? ? ? */? ? 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, ? ? ? /* 0xD0 to 0xDF ? ? ? ? ? ? ? ? ? ? ? ? ? ? */? ? 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, ? ? ? /* 0xE0 to 0xEF ? ? ? ? ? ? ? ? ? ? ? ? ? ? */? ? 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0 ? ? ? ?/* 0xF0 to 0xFF ? ? ? ? ? ? ? ? ? ? ? ? ? ? */};
int mem_pool_init(mem_pool_st* dev, void* buffer, void* tbl, uint32_t itemsize, uint32_t itemnum){? ? #if MEM_POOL_PARAM_CHECK? ? ? ? if(dev == (mem_pool_st*)0)? ? ? ? {? ? ? ? ? ? return -1;? ? ? ? }? ? ? ? if((buffer == (void*)0) || (tbl == (void*)0))? ? ? ? {? ? ? ? ? ? return -1;? ? ? ? }? ? #endif? ? dev->buffer = buffer;? ? dev->itemnum = itemnum;? ? dev->itemsize = itemsize;? ? dev->grp = (uint8_t)0xFF;? ? dev->tbl = tbl;? ? for(uint32_t i=0; i< (dev->itemnum+7)/8; i++)? ? {? ? ? ? dev->tbl[i] = (uint8_t)0xFF;? ? }? ? return 0;}
uint8_t* mem_pool_malloc(mem_pool_st* dev){? ? /* 查找最靠前的,空閑的塊 */#if MEM_POOL_PARAM_CHECK? ? if(dev == (mem_pool_st*)0)? ? {? ? ? ? return (void*)0;? ? }? ? if((dev->buffer == (void*)0) || (dev->tbl == (uint8_t*)0))? ? {? ? ? ? return (void*)0;? ? }#endif
? ? uint8_t y;? ? uint8_t x;? ? uint8_t index;? ? y = s_unmaptbl[dev->grp];? ? x = s_unmaptbl[dev->tbl[y]];? ? index = (uint8_t)((y<<3) + x);? ? if((index == 0) && (dev->tbl[0]==0))? ? {? ? ? ? /* 找到的索引為0,且對應的tbl為0, 說明bitmap所有位都為0,即無空閑 */? ? ? ? return (void*)0;? ? }? ? else? ? {? ? ? ? /* 對應bit置0,表示已經占用 */? ? ? ? if(((dev->tbl[index>>3] &= (~(1u<<(index & 0x07)))) == 0))? ? ? ? {? ? ? ? ? ? dev->grp &= ~(1u<<(index>>3));? ? ? ? }? ? ? ? /* 返回對應的地址 */? ? ? ? return dev->buffer + dev->itemsize*index;? ? }}
int mem_pool_free(mem_pool_st* dev, uint8_t* buffer){#if MEM_POOL_PARAM_CHECK? ? if(dev == (mem_pool_st*)0)? ? {? ? ? ? return -1;? ? }? ? if((dev->buffer == (void*)0) || (dev->tbl == (uint8_t*)0))? ? {? ? ? ? return -1;? ? }#endif
#if MEM_POOL_ERR_CHECK? ? if(buffer == (void*)0)? ? {? ? ? ? return -2;? ? }#endif? ? uint8_t index;? ? index = (buffer - dev->buffer)/dev->itemsize;#if MEM_POOL_ERR_CHECK? ? if(((dev->grp & (1u<<(index>>3))) != 0) && ((dev->tbl[index>>3] & (1u<<(index & 0x07))) != 0))? ? {? ? ? ? /* 釋放空閑的塊 */? ? ? ? return -3;? ? }#endif? ? /* 設置對應bit位置為1表示空閑 */? ? dev->grp |= 1u<<(index>>3);? ? dev->tbl[index>>3] |= 1u<<(index & 0x07);? ? return 0;}

Mem_pool.h

#ifndef MEM_POOL_H#define MEM_POOL_H
#ifdef __cplusplusextern "C" {#endif? #include
#define MEM_POOL_PARAM_CHECK 1#define MEM_POOL_ERR_CHECK 1
typedef struct{? ? uint32_t ? grp;? ? uint32_t ? itemsize; /**< 區塊大小 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? */? ? uint32_t ? itemnum; ?/**< 總區塊數,8的倍數,最多256 ? ? ? ? ? ? ? ?*/? ? uint8_t* ? buffer; ? /**< 用戶提供的緩存區,大小為itemsize*itemnum ?*/? ? uint8_t* ? tbl;} mem_pool_st;
int mem_pool_init(mem_pool_st* dev, void* buffer, void* tbl, uint32_t itemsize, uint32_t itemnum);uint8_t* mem_pool_malloc(mem_pool_st* dev);int mem_pool_free(mem_pool_st* dev, uint8_t* buffer);
#ifdef __cplusplus}#endif
#endif

四.?實測

我們將其替換到我們某個驅動的實現中的mallocfree調用,測試功能OK,并按照二測試其時間抖動和執行時間,確認執行時間非常短,且基本無抖動。

初始化代碼如下

? #define TRANS_POOL_NUM 64? ? #define GROUP_POOL_NUM 64? ? static dma_trans_t s_trans_buffer[TRANS_POOL_NUM];? ? static uint8_t s_trans_bitmap_buffer[(TRANS_POOL_NUM+7)/8];? ? static mem_group_info_t s_group_buffer[GROUP_POOL_NUM];? ? static uint8_t s_group_bitmap_buffer[(GROUP_POOL_NUM+7)/8];
? ? mem_pool_st s_trans_mem_pool_dev;? ? mem_pool_st s_group_mem_pool_dev;? ? mem_pool_init(&s_trans_mem_pool_dev, s_trans_buffer, s_trans_bitmap_buffer, sizeof(dma_trans_t), TRANS_POOL_NUM);? ? mem_pool_init(&s_group_mem_pool_dev, s_group_buffer, s_group_bitmap_buffer, sizeof(mem_group_info_t), GROUP_POOL_NUM);

申請

trans = (dma_trans_t *)mem_pool_malloc(&s_trans_mem_pool_dev);

釋放

mem_pool_free(&s_trans_mem_pool_dev, trans);

五.?總結

以上我們借鑒uCOSII中的算法應用到我們自己設計的內存池輪子上,實現了高效且無時間抖動的內存池實現,是一個非常有用的輪子。這也提醒我們平常多注意借鑒參考別人的思想實現,并為己所用,不斷積累。

以上實際使用的是bitmap查表實現固定時間,使用二維bitmap來擴充容量,上述例子是支持最大塊數64個即8x8。如果要擴充更大的塊數怎么辦呢,自然想到得是增加二維的X/Y即可,即可將tblgrp8位改為16位,但是這存在一個問題,改為16位查表的表有2^16種情況,需要64k這在嵌入式中很可能是不可接受的。我們再來思考前面tbl擴展到grp,即X擴展到Y的過程,即一維擴展到二維的過程,我們是不是突然眼前一亮,拍案而起,甚至有點激動了,是的很自然的我們可以再增加一維變為三維,即對于體中點得位置,可以先找面,再找行,再找行中的bit點,就是這么簡單自然,所以只需要將grp也改為數組即可,再增加一個vol字節對grp數組進行記錄,vol一個bit 記錄grp一個字節是否為0。所以我們要從本質去理解一項技術才可能是正真得理解,比好比這個查表從維度擴充角度去思考這才是本質,懂了這個本質自然會擴充,并為己所用應用到其他場景,而不是糾結于查表等技術細節,糾結于這些實際并沒有理解本質,也僅僅會這個案例而已很難舉一反三,這也是我們為什么思考問題一定要思考到本質,為什么我一直強調思考技術問題一定要思考到背后的本質甚至哲學意義,背后的原理甚至哲學意義才是普適得本質原理。

我們通過增加維度實現擴充,這就是降維打擊,三階搜尋變為了三次查表,有點類似對數的本質是把乘除法降維成加減法,也許四維度空間生物看我們三維空間的生物是多么的藐視了。

不由的要感嘆世界的奇妙,也許只有造物主能做到,能夠降維實際也是一種普遍的現象,可能也是造物主雖然沒有讓我們活在高維世界但是給我們開了個后門,讓我們擁有了對高維進行降維分析的能力,對數降維,投影降維等都類似,可以讓我們從側面推測全貌,不知道能否從數學抽象角度來建立體系,證明具備何種屬性的空間具備可降維性,那么這就建立了一套分析高維的數理體系了。


評論
  • 01 量子光電實驗對高性能信號源的需求在量子光學實驗中,任意波形發生器(AWG)是連接數字控制與物理光場的重要信號平臺。無論是 AOD 驅動、聲光調制、光鑷陣列生成,還是原子搬運與動態重排,背后都離不開高精度、可編排、可同步的射頻信號輸出。相比傳統固定頻率源,AWG 的優勢在于其更高的靈活性:不僅能夠生成復雜波形,還能夠配合實驗時序實現多通道同步輸出、波形序列切換和動態過程控制,因此已成為量子實驗控制系統中的核心設備之一。但在面向 AOD 多束激光控制時,傳統 AWG 的使用方式也面臨
    虹科網絡基礎設施 2026-07-30 17:09 193瀏覽
  • 摘要在防爆電氣設計中,只參照芯數選型而忽略額定載流量,長期滿負荷運行會出現插頭發熱、接觸面氧化、IP67 密封受熱老化等問題。結合常用 3 針 3 孔、4 芯、5PIN、8PIN 圓形防爆連接器,制作分級電流參數對照表,區分冷壓免焊接、焊接兩種接線結構的安全載流數值,設置合理電流冗余系數,搭配使用環境修正參數,規范防爆接近開關連接器、防爆法蘭插座的選型計算方式。關鍵詞圓形防爆連接器,載流參數表,防爆法蘭插座,防爆端子接頭,IP67 防爆防水接插件1 產品概述圓形防爆連接器觸點載流能力由插針直徑、
    kyfbest科迎法電氣 2026-08-03 09:18 128493瀏覽
  • 電源圈里有一句話叫做:世界上最遙遠的距離不是語言差異無法溝通,而是公式擺在面前不會運用。公式不僅僅是數學或科學中的符號堆砌,它們往往是前人智慧和經驗的結晶,是對現實世界某種規律或現象的數學描述。下面,我將嘗試以一種較為通俗易懂的方式,解讀電源設計中的一些公式是如何得來的。充分地理解公式遠不止于記住它的形式和計算結果。真正的要義在于融會貫通,在于從掌握走向自如運用。1、濾波電容計算圖1.1 整流濾波電路及其波形(圖片來源于網絡)為了方便計算,我們取一個極端,假設電容一直處于放電狀態,那么圖1.1(
    愛上電路設計 2026-07-30 14:55 431瀏覽
  • ?摘要:低價大流量卡正全面退市,政策收緊已成定局。面對傳統號卡的不確定性,隨身WiFi憑借穩定連接、多設備共享、獨立設備和靈活套餐等優勢,成為務實可靠的備選方案。1、流量卡黃金時代要結束了通信行業正迎來一場前所未有的“地震式”調整——曾讓無數用戶追捧的低價大流量卡,正在全速退出各大平臺。這早已不是一次普通的競合,而是一場趨勢性的行業洗牌。回望過去,19元200G的神卡,那時真是“睡著都能笑醒”,便宜到不敢相信,爽到忍不住炫耀。那些日子,好像隨便刷、隨便看,流量自由觸手可及。可如今,回頭再看,那種
    愛上電路設計 2026-08-03 10:21 128685瀏覽
  • 摘要防爆自控系統同時布設本安信號、工業總線、動力供電三類線路,僅依靠標識標牌管控插接極易出現人為錯插問題,高壓動力回路竄入本安弱電回路會突破安全柵限能標準,產生點火風險。依托 A、D、K 標準化機械防呆編碼體系,搭配護套顏色區分管理,適配 3 針 3 孔免焊接冷壓增安型防爆航插、5PIN 總線防爆航空插頭、8 芯焊接防爆法蘭插座的選型使用,從物理結構層面杜絕防爆接近開關連接器、防爆傳感器航插接頭混用插接問題,補齊防爆系統被動安全防護體系。關鍵詞圓形防爆連接器,防呆編碼防爆航插,防爆航空插頭,防爆
    kyfbest科迎法電氣 2026-07-31 18:29 313瀏覽
  • 智能寵物用品這幾年快速普及,自動清理幾乎成了智能貓砂盆的標配。貓咪用完離場,設備自動翻轉清理,養寵家庭省去了每天彎腰清理的麻煩。但自動清理的第一步,是先準確判斷貓到底在不在盆里。這個看似簡單的問題,在小空間里并不容易做好。近場檢測的痛點:距離太遠反而誤事貓砂盆內部空間有限。如果傳感器的檢測距離設得偏大,盆外路過的貓、人甚至物品都會被誤判為貓在盆內,結果該清理時不清理、不該清理時亂清理,體驗直接崩壞。這類產品的核心訴求其實就一句話:近距離、小范圍、精準識別,不能有半點誤判。常規感應方案常因檢測距離
    唯創知音語音芯片 2026-07-31 16:51 243瀏覽
  • 在芯片總成本中占比不到 1%,卻可能因一處品質偏差導致整片晶圓報廢——半導體切割/研磨膠帶,正隨著先進封裝的爆發,成為封測產線選型中最謹慎對待的耗材之一。但鮮有人注意到,決定這層膠帶性能上限的,是上游一層更薄的基膜。這個長期由日本企業主導的隱形環節,正在出現國產突圍的信號。一、需求之變:先進封裝與“韜定律”重塑膠帶市場AI 算力芯片、HBM 高帶寬存儲、Chiplet 芯粒等先進封裝產品持續放量,國內封測產線擴產節奏不減。作為晶圓減薄與切割工序的必需耗材,晶圓膠帶的需求同步擴容。據 QYRese
    芯膜前沿 2026-07-31 16:35 300瀏覽
  •         很多人拆解醫療設備時,只會關注傳感器、主控芯片這類核心部件,卻忽略了電路板上不起眼的晶振。作為整個醫療系統的時間基準,晶振的精度、穩定性直接決定了測量數據的準確性、設備的運行安全性——比如監護儀的采樣頻率偏了1ppm,血氧、心率的讀數就會出現系統性偏差;膠囊內窺鏡的時鐘漂移超標,圖像傳輸就會出現丟包、花屏。不同醫療場景對晶振的要求天差地別,沒有一款晶振能通吃所有設備,每一類醫療設備背后,都有一套針對性的晶振選型邏輯。1. 家用便攜監測設備:
    TKD泰晶科技 2026-07-31 08:24 499瀏覽
  • 在EMC測試過程中,傳導發射(Conducted Emission,CE)超標是工程師最常遇到的問題之一。更令人頭疼的是,同樣的超標曲線背后,可能對應著完全不同的干擾機理:有的是差模噪聲沿電源回路傳播,有的是共模電流通過寄生路徑耦合,還有些問題甚至并非來自電源本身,而是負載、電纜布局或接地結構引起的連鎖反應。 · 150kHz~1MHz 超標:多為差模噪聲為主,干擾沿火線-零線回路傳輸。 · 1MHz~30MHz 超標:通常共模噪聲占主導,干擾通過火線/零線對地回路傳播。 如果條件允許,用電流探
    譽磁電磁兼容EMC 2026-07-31 18:45 375瀏覽
  • Synopsys 這次沒有再給行業看一條只能站在展臺邊圍觀的 demo。7 月 27 日,Synopsys 在 DAC 2026 期間公布兩條 autonomous EDA workflow:一條處理 debug closure,另一條處理 implementation and closure。客戶可以通過 Synopsys 申請在 Microsoft Discovery 上評估,AMD 正在評估這些工作流能否用于下一代產品開發。公告里最扎眼的是 25%–40%。Synopsys 稱
    麒芯說AI 2026-07-31 14:21 187瀏覽
  •     長期專注WiFi領域,也算是行業老兵了!同行閑聊中,時不時能提起我和我們!從疫情起,國產替代風生水起,起起落落,大浪淘沙,生存下來的都是強者!    WiFi模塊應用廣泛,對于高端市場和特定市場,要求WIFI模塊需要過CE/FCC之類的認證,也就是說沒有認證的模塊,不具備導入產品設計.接下來就和大家聊聊認證模塊選型參考!    WIFi模塊硬件方面主要考慮以下九點特性:    1
    納拓科技 2026-07-31 17:56 169瀏覽
  • 今年好幾個客戶都問過我同一件事。藍牙音頻產品到底用 WT2605 這種單芯片,還是老老實實 MCU 外掛藍牙模組。兩種方案我都落地過,說點實在的,WT2605 剛出來那陣我也犯嘀咕,怕是營銷噱頭,真拿來做完一版樣機才服氣。一、選型先看三個維度外圍數量。這是最直觀的。傳統做法是 MCU 加藍牙模組,再加音頻編解碼、功放、晶振和一堆阻容,板子上密密麻麻十幾二十顆料。WT2605 把藍牙、解碼、功放全收進一顆,外圍就剩少量被動件。開發周期。傳統方案得自己接藍牙協議棧,配網、A2DP 解碼、音頻通路一一
    唯創知音語音芯片 2026-07-31 16:35 395瀏覽
  • 行業痛點凸顯,飛凌嵌入式FET3572-C重磅登場工業4.0與AIoT發展下,嵌入式核心板作為設備“工業大腦”,面臨性能與功耗的雙重考驗——既要支撐復雜算法和多路數據處理,又要兼顧便攜設備、工業終端的低功耗需求,傳統核心板“高性能必高功耗”的困境制約設備升級。為此,飛凌嵌入式推出基于RK3572處理器的FET3572-C核心板,以2×Cortex-A73+6×Cortex-A53八核架構為核心,實現“性能翻倍、功耗減半”的突破,為中高端嵌入式場景提供優質算力底座。八核異構架構,解鎖性能功耗最優解
    飛凌嵌入式 2026-07-31 09:47 190瀏覽
  • 光芯片,正在從光模塊的“配角”逆襲為AI產業鏈的“命門”2026年3月,英偉達一紙公告震動整個光通信行業——分別向Lumentum和Coherent各投資20億美元,合計40億美元。這哪是什么財務投資,這是一次對AI基礎設施關鍵環節的“掐尖式”卡位。光芯片,這個曾經被市場當作光模塊BOM表里一個標準配套元器件的東西,正在成為AI產業鏈上“卡位”最強、話語權最硬的環節。一、為什么是光芯片?老黃早就把話挑明了英偉達CEO黃仁勛的原話是:數據傳輸速度已成為人工智能發展的新瓶頸。AI集群從萬卡級往十萬卡
    用戶1774416745629 2026-07-31 11:22 298瀏覽
我要評論
0
點擊右上角,分享到朋友圈 我知道啦
請使用瀏覽器分享功能 我知道啦
主站蜘蛛池模板: 广州杀人王之人皮日记| 义子乱的电影在线| 女神降临免费观看全集| 模范出租车电视剧第一季| 性治疗医生| 回复术士118集真人版免费| 青蛇免费| 奔跑吧兄弟第三季完整版免费| 法医秦明之无声的证词电视剧免费| 大耳朵图图5部全集| 我和我的家乡完整版免费高清| 潜龙轰天3野兽之腹| 圣佩罗特斯的姑娘们 | 双子星公主 第一部| 机器侠mp4下载| 牙医姐妹在线看完整版高清电影1986 | 日本混血大学生精油按摩| 电视剧锦衣之下| 男人女人愁愁在线观看| 动画片 葫芦娃| 激战丛林完整版在线观看| 欲望教师| 浴血狂沙国语版下载| 张百乔向小雪求婚| 花丝网花制作| 我的老婆是大神| 菜鸟总动员| 一树梨花压海棠完整版电影免费| 我的倾城时光| 《壮志凌云》法国版在线观看| 赘婿电视剧全集36集在线播放| 大奉打更人电视剧免费播放| 延禧攻略在线播放| 抓紧我放弃我电视剧| 售楼小姐的秘密完整版 | 我是特种兵2片尾曲叫什么| 爱我几何电影完整版在线播放免费观| 提防小手| 不良人第6季星辰影院观看| 做aj的电视剧大全国语| 熊出没回家过年| 《美丽妻子替弟还债》剧免费观看 | 曰本战狼六免费国语板| 男女电视剧演员表免费观看| 禁忌满天星| 爱的合体1982法国| 范丞丞奔跑吧搜空气| 巜人妻初次按摩2在线播放| 东北二人转魏三全集| 年轻的母亲2在线视频观看完整版| 红天鹅韩剧在哪里看| 庆余年2每集平均9个广告| 一起又看流星雨36| 爱我几何在线观看全集免费播放 | 尖刀班的五天五夜| 赤身跳舞全集免费观看| 刘也行 一站到底| 海关战线 电影| 需要爸爸播种子电视剧免费观看| 韩国电影教室爱欲| 少年方世玉张卫健高清| 坎佩奇在线播放免费观看| 人鬼神 电影| 喜气洋洋猪八戒| 女儿国满天星版 美国| 电影跳出去| 需要爸爸播种子类似电影| 电影欢乐英雄| totakka haya kirguzux的功能介绍 | 韩国电影伦理片需要爸爸的种子免费观看 | 我是警察电视剧| 泰国电视剧新娘| 学生的妈妈5字ID5中字| 简言的夏冬在线观看| 满天星超人女超人免费观看| 毛骨悚然撞鬼经2014| 年轻的母亲2免费版的完整版| 台剧浪漫女家教免费观看| 雷霆扫毒粤语百度影音| 白峰电影601免费观看完整版| 八戒看免费高清电视剧大全| 正在播放:最棒的小三沼泽 与不干涉工作和家庭、只有做爱理想关系的三上悠... | 电影 教室别恋| 花子vs倔强的驱魔| 爱我几何在线观看完整版免费高清| 千方百计爱上你国语版百度影音| 分享妈妈吧| 壮志凌云满天星免费看| 疯狂牧场3| 军火女王 第二季| 红苹果免费追剧| 牙医免费在线观看| 我的妻子韩剧电视剧免费观看| 色戒完整未删减版在线观看| 电影《千金》郝板丽免费播放| 《斗罗大陆剧场版 剑道尘心》| 一念永恒第三季在线免费观看| 销售员的销售秘密2免费观看| 半夏电视剧免费观看全集剧情| 《特殊的保险推销员》| 打工人电影免费观看中文版| 爱之涡电影普通话在线观看免费| 苹果浴室3分钟视频| 爱我几何在线观看免费高清| 我喜欢你电视剧第24集免费观看 | XL司令第二季无马赛第八集免费观看| 李安 逝去的爱| 魔力宝贝监狱 在线| 监狱高压免费完整版| 环太平洋迅雷下载| 迷茫管家与懦弱的我第二季| 《约定》台剧| 电视剧天地剑心| 《我的健身教练》中文版| 斯诺克虎牙4| 王多鱼打扑克免费软件| 父母爱情电视剧在线观看| 金莲外传2免费全集| 爱逢时短剧免费播放| 吗吗吗的朋友33| 豚鼠总动员| 葫芦娃成版人每天看一次| 《激情艳女》在线观看| 寄宿电影| 爱唯侦察2024年最新合集| 天天偷窥网| 电影《金悔瓶》徐少强叫什么名字就| 英菲尼迪车祸| 迷你妻子 第一季电视剧| 妖精的尾巴 oad| 铁血战士3| 成人色情电影喜爱夜| 不要向下看| 战狼5免费高清版999加拿大版| 恨锁金瓶在线观看3| 有求必应呼叫中心韩语中文| 上课时胸罩不小心掉下来的事| 胜女的代价中的歌曲| 电视剧我们俩的婚姻| 中国不会承认香港bno护照| 法国足球宝贝在线观看| 玛丽和乔治英剧在线观看| 空蝉之森海外版免费资源| 被我丢弃的你| 闯关东电视剧全集免费观看| 快乐星猫动漫| 三姐妹电影| Overflower在线观看第一季| 电视剧凤凰牡丹| 人猿泰山HR版未删减版下载| 老爸回家 电视剧| 战狼9姐弟完整版免费看| 红箭 电视剧| 《不当行为》经典| 12大战动漫免费观看 | 蜗居电视剧35剧情全集在线观看| 女超人满天星麦乐迪 | 电视剧神隐在线观看| 电影美国禁忌结局1- 4在线观看中文| 圆桌派最新一季2024| 生死决断在线观看秋瓷炫完整版| 坚如磐石在线观看免费高清国语电影| 法国版《女超人:麦乐迪》在线| 在厨房开车| 《美容院的特殊待遇》 | 爱我几何无删减在线免费观看| 爱本无罪| 奇妙发型屋2免费完整版神奇理发店 | 牛郎织女电视剧全集| 进错豪门嫁对郎短剧全集免费观看| 罗丽星克莱尔性迷宫片长| 《笑刃荒途》| 杨紫刘雨昕同台| 大宾的寝室免费在线观看| 大丫鬟结局| 蛋仔派对钩爪教程| 朋友的妈妈电影| 寡姐4K超清免费观看| 阿神的实况教室| 变形计施宁杰全集| 泽塔奥特曼动漫| 神魂颠倒三人行| 北上电视剧免费观看全集完整版| 明珠奇谭| 《我是歌手》第三季| 高清绝望写手 第五季未删减| the亲子伦| 十分钟免费观看完整版电影| 隐形的帽子在线观看免费高清| 家有仙妻电影| 法国私人航空电影免费播放在线观看中文| 湘北曾姨百家号| 《示范销售避孕套》剧情介| 福禄寿电影粤语| 《性迷宫》吴雪雯| 斯巴达克斯第四季| 老二人转正戏| 南京地铁事故| 99re6在线热播精品免费| 海天雄鹰电视连续剧免费播放| 仁心解码演员表| 电影需要爸爸接种子免费观看| 聊斋:兰若寺全集观看| 电影韩国密爱| 美容室特殊待遇 | 打扑克视频| 说出你的故事 金星| 饥饿站台2在线观看| 迷宫星莱克尔在线观看高清版| 免费热门总裁短剧| 破浪男女| 正在缩小的男人电影| 岛国中文字幕肉蔻之| 越淘越开心新还珠格格| 法国版《俄罗斯女子学院》| 《特殊的治疗》李采潭在线 | 斗罗大陆2绝世唐门10| 小人物在线观看| 醉酒的玫瑰高清在线观看| 樊振东爆冷出局事件| 国足vs乌兹别克斯坦| 女超人法国无删减版电影免费观看| 景区再度上演人从众| 遇龙电视剧完整版免费| 《部长来我家》日剧中文字幕| 亲爱的妈妈4免费观看韩剧| 周杰伦的歌东风破| 《法国风情农场》正片观看| 法国航空电影在线观看| 长空雄鹰电影| 高阳县| 小飞侠电影国语| 《放飞旅行团》| 行尸走肉第三季15集| 播放_爱我几何免费完整观看_在线观看_馒头影院 | 媚者无疆电视剧| 女版战狼免费观看| 釜山行2正片观看| 千年僵尸王国语版高清| 欧美成人版电影荣誉守则在线免费观看| 美丽的他第二季| 谁是真凶| 大话西游之大圣娶亲 电影| 我是余欢水 电视剧| 真实real| 痞幼吹笛6分钟是什么意思 | 露水夫妇| 卓仕琳七老板吞金| 《总统夫人》星克莱尔全电影 | 贴身情人之贴身恋| 《性/生活》4无删减版| 天注定在线观看免费完整版| 高清《燕双鹰》免费观看高清| 法国空乘5在线观看| 我将喜欢告诉了风电视剧免费观看| 有女不愁嫁| 张伟是混蛋网站| 路边新娘第二部| 烈火干柴1978版| 韩国女主播朴妮唛kw7142| 忽而今夏1| 爱我多深原版不剪辑| 荣誉守则成人版在线观看| 陈观泰电影| 斗罗大陆在线观看218| 张警官三部曲| 悬崖1到40集免费观看| 闺蜜的秘密| 金银悔1至5集免费普通话| 粉嫩小女生| 花与蛇 零| 《炽热吸引》全集在线观看| 娃娃脸4在线观看免费观看电视剧| 《丈夫邀部长来家吃饭》日剧中文版2. | 和老板一起出差| 天注定在线播放免费| 菠萝蜜BLM新区口| 《美容院5:特殊待遇》| 解放电影| 移动迷宫西瓜影音| 青海省| COATWEST| 龙胆虎威4下载| 华山论剑电视剧全集免费| 赤子板栗牙医在线观看 | 张钰 录像| 黑白配HD1080完整版高清一| BHHWTD年轻妈妈| 艋舺 电影| 赤色狂魔3普通话版| 冬天来了春天还会远吗是谁说的| 金瓶梅在线播放| 美女战争| 韩国维修工艳遇| 奥特银河格斗3命运的冲突| 火星西路7号| 韩国电影隐身帽子| 再生侠2| 船长哈洛克| 遇见璀璨的你免费观看| 农民伯伯2国语版免费播放| 办公室美剧| 加百列的地狱7全集免费观看| 电影《女子护卫队》在线观看| 新醉打金枝电视剧| 黑道大佬第2季免费观看| 庆余年28集| 《卖保险套的女销售》| 姚乐怡 三级| 焦裕禄电视剧| 瓜达卢佩的玫瑰2| 航拍下的浦东封控第一天| 我的妹妹不可能那么可爱h| 赤色狂魔3普通话版| 解放大西南下载| 奇妙的朋友 综艺| 地下交通站第三部| 魔镜号中文字幕| 星球大战原力释放| 《暴躁少女免费观看全集高清》电影免费在线观看完整版 - 光棍影院 | 一寸一寸进入小姪女| 普法栏目剧回家11| 农场主和他的女儿们电视剧完整版| 电影《灭火宝贝1》免费观看灭| 军人使命| 爱唯侦察| 高清《周年纪念日》电影| 《朋友夫妇:交换》3| 插曲痛30集高清全集下载| 大祠堂在线观看| 白晶晶手机在线| 野蛮人科南| 满天星《炸天小姐》完整版在线观看| 高清放飞旅行团未删减| 克隆丈夫| 勇者无惧剧情介绍| 爱探险的朵拉第三季2003| 功夫之王电影| 女侓师的堕落在线观看| 人世间在线| 花与蛇牙医免费观看完整版| 教室那一间| 秋瓷炫《生死决断》在线播放 | 从职员到老板:打工人逆袭全集免费 | 地下偶像sana未增删带翻译| 请好好疼爱第8集免费播放| 昆明小矮人村| 天外来客bt| 黑白配在线观看| 妹妹背着洋娃娃诡异版| 卡特教练| 廖学秋潘金莲| 奇袭机场电影免费观看| 小马宝莉第二季| 长歌行电视剧全49集完整版| 欧美寂寞影院| 急先锋免费观看完整版电视剧| 盗墓笔记藏海花| 跨越国界的爱| 灵幻少女外传最强驱魔师vs人面犬 | 丈夫犯错妻子偿还的电影如何观看| 嘻嘻哈哈四重奏| 苏炳添说对不起大家| 猪坚强已瘦骨嶙峋| 夫妇互换之木下凛凛子| 道士下山| 破产姐妹 第三季| 外出的目的电影| 新女员工部长的教育| 熊出没之过年动画| 向涟苍骑士献上纯洁| 壮志凌云满天星女版在线| 林正英的僵尸电影| 新世纪福音战士序| 致命对决 电影| 上流社会电影在线观看完整| 徐孺子年九岁 尝月下戏| 钟馗传说 电视剧| 聊斋艳谭第3集| 超狠插曲痛30集全集| 前门情思大碗茶原唱| 特殊保险公司推销员8中文| 大夏龙帝短剧免费观看| 大明风华在线观看免费| 坠落的女律师在线观看完整版| 东成西就国语版完整版免费观看| 强殖装甲动画| 八尺夫人满天星| 狼来了电视剧| 电影情劫| 偏偏喜欢你电视剧| 克劳迪娅科尔《情陷迷途》 | 还好 璀璨人生| 荥经县| 《从前的光景》| 婺源县| 万里归途电影完整版| 《白衣绳索牙医生》| 虎虎虎电影下载| 美丽的桃子第4季| 雪mm倒立| 史努比动画片| 电影《美容院的特殊待遇》男主开设| 仙逆全集免费观看完整版| 《越南被俘女兵》| 流星花园高清字幕版| 假日暖洋洋电视剧| 日剧《穿睡衣下楼取快递》 | 我是路人甲| 女邻居竟是绝色护士| 西游降魔篇罗志祥| 老婆11免费完整高清电视| 速度与激情7完整版dvd| 女朋友63中汉字| 破晓mv| 洪金宝再谈周星驰| 星克莱尔《总统》在线| 需要爸爸的种子伦理片在线播放 | 夺回千亿家产:私生女逆袭短剧全集 | 桃姐电影| 保罗1一4| 泰剧真爱无价女主角| 决战天门插曲| 锁定美军特使下载| 《黑白配》电影| 吴费曼恭喜吴镇宇金像奖颗粒无收| 年轻丰满的在线播放免费观看| 宋莲生坐堂| 战狼6免费完整高清版在线观看高清| 女人自己扒开荫道口| 芳华解说| 影星杰·凯利| 乳腺按摩电影中文字幕| 末日村庄电影| shoeplay| 柯南日语版| 战狼6免费下载高清资源| 火影忍者9 剧场版| 盟约电影免费完整版在线观看| 女儿的朋友7在观完整有限中字| 玄女心经3高清| 牛郎织女电视剧全集| 遍地狼烟在线观看| 暗处电视剧| 白峰国语版免费播放| 大叔的爱泰剧一共多少集| 新房里干了女销售电影| 似曾相识短剧免费观看| 美国版《灭火宝贝1》| 历年出生人口一览表| 合租男女1v1h| 女教师被学生强伦女教师| 厚颜无耻韩国动漫免费阅读观看| 以你的心诠释我的爱第二季电视剧| 电视剧铁在烧| 男人女人一愁愁愁电视剧| 恩师情深电影| 高清《时光与你都很甜》大结局| 笑功震武林粤语百度影音| 啄木鸟:女版《壮志凌云》在线观看| 年级的妈妈4电视剧| 男女电视剧演员表免费观看| 克宫:普京不打算祝贺特朗普胜选| 海绵宝宝全集免费| 法国私人女子监狱| 惠州核电站爆炸| 蓝色隐身帽子在线观看| 监狱兔第4季全集| 高压监狱3伦理| 那山那海电视剧免费播放全集| 千王之王 周星驰| 美国版荷尔蒙6日本版| 《25岁的女高中生》| 国家命脉| 火炬手小品| 特殊外卖员在线观看| 渡情原唱| 爱上你好姑娘| 西条琉璃在线| 诺比特电影免费观看完整版国语版| 舌尖上的中国第6集| 满天星HD版女超人在线| 白月梵星电视剧在线观看全集| 爱在春天电视剧免费观看| 悬崖电视剧在线观看免费完整版 | 朝云暮雨完整版免费观看电影| 海天雄鹰电视剧全集在线观看| 女朋友的母亲1| 明日战记电影免费观看完整版| 黑暗领域存档| 戴安琳恩《满天星》免费观看| 唐璜的回忆| 丰满的临时工BD| 毒液二普通话版| 满清十大刑酷电影| 尹律新剧《债务妻子》结局| 风之刀剧情| 大头儿子小头爸爸1| 台湾伦理电影浪漫女家教| 少年包青天2部| 东京不太热 在线播放| 在线维修工的艳遇| 新·福音战士新剧场版q| 高清《功夫梦:融合之道》电影| 金瓶梅 电影下载| 女销售员的秘密| 美国禁忌在线免费观看| 我的父亲母亲大结局剧情介绍| 兄弟姐妹第二季| 赛仑《渔夫的妻子》在线观看| 斗罗大陆208集免费观看完整版 | 阿凡达在线看| 无处藏身全集电视剧免费观看| 哈利波特1免费完整版在线观看| 妻子当社长秘书偿还债| 康体水疗电影免费观看高清版播放| 恋爱恐惧症| 印度人看中国高铁| 花子vs倔强驱魔无删减版立即播放| 向井蓝免费观看| 欲乱情迷电影| 微笑妈妈电视剧免费完整版| 熊出没之过年爱奇艺| 完美妻子满天星在线观看免费高清 | 甘南县| 《落魄贵族》1-4集免费观看 | 龙兄虎弟成龙| 吸血鬼偶像 电视剧| 不再说分手| 《需要爸爸播种子》免费观看在线播放_HD/无删减_1080P高清完整版电影 - 天堂 | 《女超人满天星版》麦乐迪| 五十八天| 重蓬:丈夫的下属是初恋前辈| 八佰免费| 人生路不熟高清| 性的暴行无删减版电影在线看| 孤岛飞鹰全集下载| 纯真博物馆全集观看| 喜羊羊与灰太狼之虎虎生| 《岸边露伴一动不动 忏悔室》| 需要爸爸| 祝英台与梁山伯的电视剧| 灿烂的电视剧在线观看| 青梅竹马是消防员无删1| 日本电影《律师坠落》的剧情简介魔| 亲爱的妈妈3韩国电影中文| 达州市| 长相思第二季电视剧| 无双电影在线观看免费版| 韩国理伦片驯服小峓2-手机看片免费在线观看-亚洲AV在线观看 | 难得有情人| 黑白配高清大全免费观看| 《隔山有眼3:起源》电影| 东京新爱人| 热情的邻居| 免费拗女稀缺资源观看| 执法女先锋满天星版3| 梦回鹿鼎记电视剧| 三叉戟2在线看| 爱人 下载| 和讨厌的部长一起去出差的女主是谁| 三国塔防 魏传| 永乐大帝电视剧全集免费观看 | 和男友打了一晚上扑克| 千机变3| 法国版魔力宝贝监狱| 少年阿凡提全集| 血誓电视剧全30集| 《角斗士满天星版》在线| 月球坠落| オアシス| 正在播放: JUL-975 没有我丈夫的五天,我被命令禁欲到第一个晚上,我的性岳父对 | 《氪金玩家》3d动漫在线观看| 安斋拉拉下雨天免费观看英文版| 赌石女王:帝王绿出全集免费| 大漠枪神电视剧全集| 高清《猫之茗》免费全集| 《法国空乘10》成人版| 我的大乳姐姐| 阿童木 电影| 当幸福来敲门美国版| 哇嘎国语高清在线观看视频| 儿女传奇变脸惊情| 《还在相爱吗》| 新生电影| 电视剧小白菜奇案| 爱情公寓3种子| 徐少强版《金悔瓶》2演员阵容是谁扮 | 黑金在线观看| 我的性肉欲继拇| 玉女心经3在线观看完整版免费版电视| 愉悦与苦痛下载| 天师钟馗94版| 怒海红尘| 凯莉布鲁克满天星三部曲是哪| 庆余年2每集平均9个广告| 老k是谁| 企业强人粤语版免费观看| 美国兽人免费观看完整版电影| 女警被黑人强伦轩电影| 安娜2019 电影| 年轻的母亲2在线观看木瓜网| 鱼夫淫史三级片| 慈禧秘史邱淑贞| 丛林总动员| 最近韩国电影免费观看高清版| 美容院5HD| 萌宝找妈咪:仙帝奶爸全集免费| 君心藏不住电视剧| 杀破狼在线观看完整版免费| 门源| 我爱几何电影在线免费观看| 岳母的幸福生活电视剧| 月升沧海在线观看免费完整版| 痕迹电视剧| 再来一次第48集| 都市战神短剧全集| 白话易经 南怀瑾| 那刻的怦然心动| 什么是常任理事国 | 将恋爱进行到底电视剧日剧免费观看| 活死人军团在线播放| 冬日行动电影免费观看| 月之晴天满天星完整版| 《法国空乘5》在线看| 血色玫瑰电视剧全集免费播放| 一只跳蚤的自传1976年版| 黑狐32| AJ视频电视剧| 电影爸爸,我需要你的种子免费在线| 电视剧繁花在线观看全集| 电影观看免费观看完整版高清| 第二名的逆袭电视剧免费观看完整版| 莫妮卡《爱我几何》哪里能看 | 世界第一等刘德华| 祝福的钟声动漫| 私人女性坚| 屠夫网电影免费观看影视大全| 奔跑吧第十一季免费观看| 车水马龙| 维修工的艳遇韩国电影| 大兵的寝室电影在线免费观看 | 跑男第二季在线观看| 巜生殖按摩》| 石家庄园博园地址| 三陪保姆电影| 疯狂的有夫之妇| 鞍海快客车祸| 年轻的瘦了8| 日语版九品芝麻官| 播放哪吒| 电视剧婚变| 恐怖片大全恐怖片免费完整版| 国产在线观看免费全集电视剧网站| 少女大人第一集免费观看| 秘密的爱| 《私人女性监狱》中文| 我的阿勒泰电视剧免费观看| 许我耀眼在线免费观看| 听说 彭于晏| 《法国空乘5》电影免费观看| 英雄祭电视剧| 重口味英剧| 安娜贝尔3| 死神356| 黑白配hd1080完整版在| 都市风水师全集| 金发梦露免费观看完整版| 小孩子玩具专卖店| 《谋杀的滋味》| 《丈夫叫妻子陪上司睡电影| 1dldss00361当我打电话叫应召女郎时,我发现了一个高傲的大胸秘书......在办公 | 我们的父辈完整版免费观看| 我们中文在线观看免费完整版| 丛林逃亡| 龙州县| 黛比| 大山的女儿电视剧| 咱们结婚吧第21集| 风灵玉秀第二季| 永生第四季海噬仙灵免费观看| 韩惠珍满天星三部曲免费阅读| 高清《女神宿舍的管理员》| 王保长新篇第一部| 监狱风云3国语完整版播放| 新泰市| 痴电汉5| 百变神龙| 我爱男保姆全集下载| 舞力对决国语| 吉吉电影| 苍老师100部经典电视剧免费观看| 寻你到天涯全集| 六一儿童节小朋友们好歌曲| 甩葱舞蹈视频原版| 越狱 电影| 维修师傅的艳遇(无码片)| 《鱿鱼游戏:真人挑战赛 第二季》| 暗算电视剧免费高清完整版在线观看| 淬火年代电视剧免费观看完整版| 安达莉子| 把儿媳妇变成花痴了第二季全集| 多巴安小精冈搞笑诡故事| 高清家用摄像头| 快乐星球全集| 刘天礼吉他教学| 分娩按摩| 跟部长出差的日子在线免费 | 《麦乐迪·:女超人》在线观看| 黑白配中文免费观看| 真心请按两次铃优酷| 一家人不说两家话| 向东是大海百度影音| 淮阳县| 销售的销售秘密3HD中字5土豆网 | 绝对权力剧情| 疯狂原始人1| 《啄木鸟:军事不当行为》| 战狼6高清免费播放观看| 我的好姐姐们| 电视连续剧西游记86版全集播放| 好事多磨19楼| 我们是中国记者!| 星克莱尔(啄木鸟)第一夫人| 17·3电影在线观看免费| 银魂175| 异动公告被取消?系误读| y行动和舒立克的其它冒险| 漂亮的妈妈7开头字| 女友妈妈双字id| 家有虎妻| 兵团岁月电视剧| 教官的小妖精又凶又残电视剧| 大决战之淮海战役免费| 新人类2毒医肥尸国语| 高清《刘三姐》电视剧| 卧龙6驴友收罚单| 我是黑社会全集| 无上神帝全集免费观看| 做做aj电视剧免费观看完整版| 50岁大胸继拇5中文| 高清危情蜻蜓未删减| 士兵突击电视剧全集免费| 霹雳红唇| 木下檀檩子电影2024免费观看 | 电视剧与狼共舞2| 超异能族韩剧| 女飞行员2满天星免费观看| 插曲的痛免费播放电影| 高空飞行| 河东狮吼插曲| 天若有情刘德华| 落花时节| 巜商务旅行女老板戴绿色帽的 | 《落魄贵族琉璃川》动漫免费| 高清《新三国》| 绿灯侠:翡翠骑士| 德国最强大脑| 美人电影在线观看| 爸爸的种子免费全集电视剧| 德川幕府刑罚史记水月篇完整版| 美食的俘虏374| 韩国电影医生高清完整版在线观看 | 《爸爸种子2》在线| 了不起的麦瑟尔夫人第二季在线观看| 电视剧22条婚规| 恩爱两不疑在哪里看完整版| 《蓝帽子》朴亚珍| 林正英僵尸全集国语| 《公的浮之手中字》免费| 东陵大盗电影全集| 私密按摩师电影在线观看中字| 铿钢锵锵锵锵锵好多少视频| 十天十夜| 替天行道之杀兄电影高清完整| 天下第一大结局| 《初代奥特曼》在线观看| 美丽的小樱桃| 电影《爱上女闺蜜》播放| 电影亮剑完整版免费观看| 爆旋陀螺粤语| 内蒙古高考状元| 灯火阑珊专业网络电视直播| 21世纪爱情指南在线免费看| 斑马电影街桥矿| 沧元图动漫在线观看免费全集高清| 灿烂的花园综艺免费观看高清| 马大姐新传| 少年派高清下载| 特殊保险公司推销员8| 敌营芳翠| 西川ゆい在线播放西川结衣| 两个妻子剧情介绍| 以家人之名电视剧全集免费| 高唐县| 妈妈爱上儿子同学完整版电影免费观| 崛起之第三帝国| 迪迦奥特曼大全集| 不可思议的录像带| 《通往你的地图》| 快递员的特殊待遇2| 我的世界十大恐怖事件| 在线看古装电视剧| 日本电影漂亮的售楼小姐| 大秦赋在线观看免费全集完整版| 疫情期间我和母亲完整版一| 王杰2001香港演唱会 | 去有风的地方电视剧免费观看超清| 克隆人的进攻| 洮南市| 正在播放: 解决学生的性爱烦恼不穿内衣裤的美波老师硬硬教学 波汐里 中文本幕 | 冰封世界电影完整版| 甜蜜家园免费观看| 囧妈免费观看完整版| 女军长1984年意大利版角色介绍| 怀念中国| 越狱兔前传| 猎狐电视剧| 向风而行免费观看全集| 双乳丰满的女学生在线| 电影在线完整免费版| 车手电影国语免费| 南男北女在线| 美姐妹牙医电影完整观看视频在线| 电视剧爱了散了| 西部通缉令无删减版免费观看| 许我耀眼在线| 三叉戟2在线观看| 英雄本色2| 欧美1-5美国普通话| 电影V酒店| 韩剧《我是谁》免费观看| 《借种》电影| 加勒比海盗 电影| 战狼6欧式少女全部视频苹果| 十大满清酷刑2| 中央台2024开学第一课| 盯住你不放| 我的漂亮小瘦子3免费| 《公共事务》在线观看完整版| 郑成月去世| 电影 毕业生| 完美女人满天星版| overflow樱花| 授她以柄结局| 小生怕怕2008| 圣杯之战游戏| 七擒萌货| 宇崎学妹要想玩| 白峰电影免费看最新章节| 坎贝奇《品味人生》第二部|