久久久无码精品亚洲日韩片,国模无码视频http://www.sxjlrobot.com/直流穩(wěn)壓電源,高頻開關(guān)電源,高壓直流電源,大功率直流電源_直流電源廠家- C語言預(yù)處理命令http://www.sxjlrobot.com/hangyexinwen/582.html<p>預(yù)處理(或稱預(yù)編譯)是指在進(jìn)行編譯的第一遍掃描(詞法掃描和語法分析)之前所作的工作。預(yù)處理指令指示在程序正式編譯前就由編譯器進(jìn)行的操作,可放在程序中任何位置。</p><p><br/></p><p>預(yù)處理是C語言的一個重要功能,它由預(yù)處理程序負(fù)責(zé)完成。當(dāng)對一個源文件進(jìn)行編譯時,系統(tǒng)將自動引用預(yù)處理程序?qū)υ闯绦蛑械念A(yù)處理部分作處理,處理完畢自動進(jìn)入對源程序的編譯。</p><p><br/></p><p>C語言提供多種預(yù)處理功能,主要處理#開始的預(yù)編譯指令,如宏定義(#define)、文件包含(#include)、條件編譯(#ifdef)等。合理使用預(yù)處理功能編寫的程序便于閱讀、修改、移植和調(diào)試,也有利于模塊化程序設(shè)計。</p><p><br/></p><p>二 宏定義</p><p><br/></p><p>C語言源程序中允許用一個標(biāo)識符來表示一個字符串,稱為“宏”。被定義為宏的標(biāo)識符稱為“宏名”。在編譯預(yù)處理時,對程序中所有出現(xiàn)的宏名,都用宏定義中的字符串去代換,這稱為宏替換或宏展開。</p><p><br/></p><p>宏定義是由源程序中的宏定義命令完成的。宏替換是由預(yù)處理程序自動完成的。</p><p><br/></p><p>在C語言中,宏定義分為有參數(shù)和無參數(shù)兩種。下面分別討論這兩種宏的定義和調(diào)用。</p><p><br/></p><p>2.1 無參宏定義</p><p><br/></p><p>無參宏的宏名后不帶參數(shù)。其定義的一般形式為:</p><p><br/></p><p>#define 標(biāo)識符 字符串</p><p><br/></p><p>其中,“#”表示這是一條預(yù)處理命令(以#開頭的均為預(yù)處理命令)?!癲efine”為宏定義命令。“標(biāo)識符”為符號常量,即宏名?!白址笨梢允浅?shù)、表達(dá)式、格式串等。</p><p><br/></p><p>宏定義用宏名來表示一個字符串,在宏展開時又以該字符串取代宏名。這只是一種簡單的文本替換,預(yù)處理程序?qū)λ蛔魅魏螜z查。如有錯誤,只能在編譯已被宏展開后的源程序時發(fā)現(xiàn)。</p><p><br/></p><p>注意理解宏替換中“換”的概念,即在對相關(guān)命令或語句的含義和功能作具體分析之前就要進(jìn)行文本替換。</p><p><br/></p><p>【例1】定義常量:</p><p><br/></p><p>#define MAX_TIME 1000</p><p><br/></p><p>若在程序里面寫if(time < MAX_TIME){.........},則編譯器在處理該代碼前會將MAX_TIME替換為1000。</p><p><br/></p><p>注意,這種情況下使用const定義常量可能更好,如const int MAX_TIME = 1000;。因為const常量有數(shù)據(jù)類型,而宏常量沒有數(shù)據(jù)類型。編譯器可以對前者進(jìn)行類型安全檢查,而對后者只進(jìn)行簡單的字符文本替換,沒有類型安全檢查,并且在字符替換時可能會產(chǎn)生意料不到的錯誤。</p><p><br/></p><p>【例2】反例:</p><p><br/></p><p>#define pint (int*)</p><p>pint pa, pb;</p><p> </p><p>本意是定義pa和pb均為int型指針,但實際上變成int* pa,pb;。pa是int型指針,而pb是int型變量。本例中可用typedef來代替define,這樣pa和pb就都是int型指針了。</p><p><br/></p><p>因為宏定義只是簡單的字符串代換,在預(yù)處理階段完成,而typedef是在編譯時處理的,它不是作簡單的代換,而是對類型說明符重新命名,被命名的標(biāo)識符具有類型定義說明的功能。</p><p><br/></p><p>typedef的具體說明見附錄6.4。</p><p><br/></p><p>無參宏注意事項:</p><p><br/></p><p>宏名一般用大寫字母表示,以便于與變量區(qū)別。宏定義末尾不必加分號,否則連分號一并替換。宏定義可以嵌套。</p><p><br/></p><p>可用#undef命令終止宏定義的作用域。</p><p><br/></p><p>使用宏可提高程序通用性和易讀性,減少不一致性,減少輸入錯誤和便于修改。如數(shù)組大小常用宏定義。預(yù)處理是在編譯之前的處理,而編譯工作的任務(wù)之一就是語法檢查,預(yù)處理不做語法檢查。宏定義寫在函數(shù)的花括號外邊,作用域為其后的程序,通常在文件的最開頭。字符串" "中永遠(yuǎn)不包含宏,否則該宏名當(dāng)字符串處理。</p><p>宏定義不分配內(nèi)存,變量定義分配內(nèi)存。</p><p><br/></p><p>2.2 帶參宏定義</p><p><br/></p><p>C語言允許宏帶有參數(shù)。在宏定義中的參數(shù)稱為形式參數(shù),在宏調(diào)用中的參數(shù)稱為實際參數(shù)。</p><p><br/></p><p>對帶參數(shù)的宏,在調(diào)用中,不僅要宏展開,而且要用實參去代換形參。</p><p><br/></p><p>帶參宏定義的一般形式為:</p><p>#define 宏名(形參表) 字符串</p><p><br/></p><p>在字符串中含有各個形參。</p><p><br/></p><p>帶參宏調(diào)用的一般形式為:</p><p>宏名(實參表);</p><p><br/></p><p>在宏定義中的形參是標(biāo)識符,而宏調(diào)用中的實參可以是表達(dá)式。</p><p><br/></p><p>在帶參宏定義中,形參不分配內(nèi)存單元,因此不必作類型定義。而宏調(diào)用中的實參有具體的值,要用它們?nèi)ゴ鷵Q形參,因此必須作類型說明,這點與函數(shù)不同。函數(shù)中形參和實參是兩個不同的量,各有自己的作用域,調(diào)用時要把實參值賦予形參,進(jìn)行“值傳遞”。而在帶參宏中只是符號代換,不存在值傳遞問題。</p><p><br/></p><p>【例3】</p><p><br/></p><p> #define INC(x) x+1 //宏定義</p><p> y = INC(5); //宏調(diào)用</p><p><br/></p><p>在宏調(diào)用時,用實參5去代替形參x,經(jīng)預(yù)處理宏展開后的語句為y=5+1。</p><p><br/></p><p>【例4】反例:</p><p><br/></p><p>#define SQ(r) r*r</p><p> </p><p>上述這種實參為表達(dá)式的宏定義,在一般使用時沒有問題;但遇到如area=SQ(a+b);時就會出現(xiàn)問題,宏展開后變?yōu)閍rea=a+b*a+b;,顯然違背本意。</p><p><br/></p><p>相比之下,函數(shù)調(diào)用時會先把實參表達(dá)式的值(a+b)求出來再賦予形參r;而宏替換對實參表達(dá)式不作計算直接地照原樣代換。因此在宏定義中,字符串內(nèi)的形參通常要用括號括起來以避免出錯。</p><p><br/></p><p>進(jìn)一步地,考慮到運算符優(yōu)先級和結(jié)合性,遇到area=10/SQ(a+b);時即使形參加括號仍會出錯。因此,還應(yīng)在宏定義中的整個字符串外加括號,</p><p><br/></p><p>綜上,正確的宏定義是#define SQ(r) ((r)*(r)),即宏定義時建議所有的層次都要加括號。</p><p><br/></p><p>【例5】帶參函數(shù)和帶參宏的區(qū)別:</p><p><br/></p><p> #define SQUARE(x) ((x)*(x))</p><p><br/></p><p> int Square(int x){</p><p><br/></p><p> return (x * x); //未考慮溢出保護(hù)</p><p><br/></p><p>}</p><p><br/></p><p>int main(void){</p><p><br/></p><p> int i = 1;</p><p><br/></p><p> while(i <= 5)</p><p><br/></p><p> printf("i = %d, Square = %d\n", i, Square(i++));</p><p><br/></p><p> int j = 1;</p><p><br/></p><p> while(j <= 5)</p><p><br/></p><p> printf("j = %d, SQUARE = %d\n", j, SQUARE(j++));</p><p> return 0;</p><p><br/></p><p> }</p><p><br/></p><p>執(zhí)行后輸出如下:</p><p><br/></p><p>i = 2, Square = 1</p><p><br/></p><p>i = 3, Square = 4</p><p><br/></p><p>i = 4, Square = 9</p><p><br/></p><p>i = 5, Square = 16</p><p><br/></p><p>i = 6, Square = 25</p><p><br/></p><p>j = 3, SQUARE = 1</p><p><br/></p><p>j = 5, SQUARE = 9</p><p><br/></p><p>j = 7, SQUARE = 25</p><p><br/></p><p>本例意在說明,把同一表達(dá)式用函數(shù)處理與用宏處理兩者的結(jié)果有可能是不同的。</p><p><br/></p><p>調(diào)用Square函數(shù)時,把實參i值傳給形參x后自增1,再輸出函數(shù)值。因此循環(huán)5次,輸出1~5的平方值。調(diào)用SQUARE宏時,SQUARE(j++)被代換為((j++)*(j++))。在第一次循環(huán)時,表達(dá)式中j初值為1,兩者相乘的結(jié)果為1。相乘后j自增兩次變?yōu)?,因此表達(dá)式中第二次相乘時結(jié)果為3*3=9。同理,第三次相乘時結(jié)果為5*5=25,并在此次循環(huán)后j值變?yōu)?,不再滿足循環(huán)條件,停止循環(huán)。</p><p><br/></p><p>從以上分析可以看出函數(shù)調(diào)用和宏調(diào)用二者在形式上相似,在本質(zhì)上是完全不同的。</p><p><br/></p><p>帶參宏注意事項:</p><p><br/></p><p>宏名和形參表的括號間不能有空格。</p><p>宏替換只作替換,不做計算,不做表達(dá)式求解。</p><p>函數(shù)調(diào)用在編譯后程序運行時進(jìn)行,并且分配內(nèi)存。宏替換在編譯前進(jìn)行,不分配內(nèi)存。</p><p>函數(shù)只有一個返回值,利用宏則可以設(shè)法得到多個值。</p><p>宏展開使源程序變長,函數(shù)調(diào)用不會。</p><p>宏展開不占用運行時間,只占編譯時間,函數(shù)調(diào)用占運行時間(分配內(nèi)存、保留現(xiàn)場、值傳遞、返回值)。</p><p>為防止無限制遞歸展開,當(dāng)宏調(diào)用自身時,不再繼續(xù)展開。</p><p>如:#define TEST(x) (x + TEST(x))被展開為1 + TEST(1)。</p><p><br/></p><p>2.3 實踐用例</p><p><br/></p><p>包括基本用法(及技巧)和特殊用法(#和##等)。</p><p><br/></p><p>#define可以定義多條語句,以替代多行的代碼,但應(yīng)注意替換后的形式,避免出錯。宏定義在換行時要加上一個反斜杠”\”,而且反斜杠后面直接回車,不能有空格。</p><p><br/></p><p>2.3.1 基本用法</p><p>1. 定義常量:</p><p><br/></p><p>#define PI 3.1415926</p><p>將程序中出現(xiàn)的PI全部換成3.1415926。</p><p><br/></p><p>2. 定義表達(dá)式:</p><p> #define M (y*y+3*y)</p><p><br/></p><p>編碼時所有的表達(dá)式(y*y+3*y)都可由M代替,而編譯時先由預(yù)處理程序進(jìn)行宏替換,即用(y*y+3*y)表達(dá)式去置換所有的宏名M,然后再進(jìn)行編譯。</p><p><br/></p><p>注意,在宏定義中表達(dá)式(y*y+3*y)兩邊的括號不能少,否則可能會發(fā)生錯誤。如s=3*M+4*M在預(yù)處理時經(jīng)宏展開變?yōu)閟=3*(y*y+3*y)+4*(y*y+3*y),如果宏定義時不加括號就展開為s=3*y*y+3*y+4*y*y+3*y,顯然不符合原意。因此在作宏定義時必須十分注意。應(yīng)保證在宏替換之后不發(fā)生錯誤。</p><p><br/></p><p>3. 得到指定地址上的一個字節(jié)或字:</p><p><br/></p><p>#define MEM_B(x) (*((char *)(x)))</p><p> #define MEM_W(x) (*((short *)(x)))</p><p><br/></p><p>4. 求最大值和最小值:</p><p><br/></p><p>#define MAX(x, y) (((x) > (y)) ? (x) : (y))</p><p>#define MIN(x, y) (((x) < (y)) ? (x) : (y))</p><p><br/></p><p>以后使用MAX (x,y)或MIN (x,y),就可分別得到x和y中較大或較小的數(shù)。</p><p><br/></p><p>但這種方法存在弊病,例如執(zhí)行MAX(x++, y)時,x++被執(zhí)行多少次取決于x和y的大??;當(dāng)宏參數(shù)為函數(shù)也會存在類似的風(fēng)險。所以建議用內(nèi)聯(lián)函數(shù)而不是這種方法提高速度。不過,雖然存在這樣的弊病,但宏定義非常靈活,因為x和y可以是各種數(shù)據(jù)類型。</p><p><br/></p><p>以下給出MAX宏的兩個安全版本(源自linux/kernel.h):</p><p><br/></p><p> #define MAX_S(x, y) ({ \</p><p><br/></p><p> const typeof(x) _x = (x); \</p><p><br/></p><p> const typeof(y) _y = (y); \</p><p><br/></p><p> (void)(&_x == &_y); \</p><p><br/></p><p> _x > _y ? _x : _y; })</p><p><br/></p><p><br/></p><p> #define TMAX_S(type, x, y) ({ \</p><p><br/></p><p> type _x = (x); \</p><p><br/></p><p> type _y = (y); \</p><p><br/></p><p> _x > _y ? _x: _y; })</p><p><br/></p><p>Gcc編譯器將包含在圓括號和大括號雙層括號內(nèi)的復(fù)合語句看作是一個表達(dá)式,它可出現(xiàn)在任何允許表達(dá)式的地方;復(fù)合語句中可聲明局部變量,判斷循環(huán)條件等復(fù)雜處理。而表達(dá)式的最后一條語句必須是一個表達(dá)式,它的計算結(jié)果作為返回值。MAX_S和TMAX_S宏內(nèi)就定義局部變量以消除參數(shù)副作用。</p><p><br/></p><p>MAX_S宏內(nèi)(void)(&_x == &_y)語句用于檢查參數(shù)類型一致性。當(dāng)參數(shù)x和y類型不同時,會產(chǎn)生” comparison of distinct pointer types lacks a cast”的編譯警告。</p><p><br/></p><p>注意,MAX_S和TMAX_S宏雖可避免參數(shù)副作用,但會增加內(nèi)存開銷并降低執(zhí)行效率。若使用者能保證宏參數(shù)不存在副作用,則可選用普通定義(即MAX宏)。 </p><p><br/></p><p>5. 得到一個成員在結(jié)構(gòu)體中的偏移量(lint 545告警表示"&用法值得懷疑",此處抑制該警告):</p><p><br/></p><p> #define FPOS(type, field) \</p><p> /*lint -e545 */ ((int)&((type *)0)-> field) /*lint +e545 */</p><p><br/></p><p>6. 得到一個結(jié)構(gòu)體中某成員所占用的字節(jié)數(shù):</p><p><br/></p><p>#define FSIZ(type, field) sizeof(((type *)0)->field)</p><p><br/></p><p>7. 按照LSB格式把兩個字節(jié)轉(zhuǎn)化為一個字(word):</p><p><br/></p><p>#define FLIPW(arr) ((((short)(arr)[0]) * 256) + (arr)[1])</p><p><br/></p><p>8. 按照LSB格式把一個字(word)轉(zhuǎn)化為兩個字節(jié):</p><p><br/></p><p>#define FLOPW(arr, val) \</p><p> (arr)[0] = ((val) / 256); \</p><p> (arr)[1] = ((val) & 0xFF)</p><p><br/></p><p>9. 得到一個變量的地址:</p><p><br/></p><p>#define B_PTR(var) ((char *)(void *)&(var))</p><p>#define W_PTR(var) ((short *)(void *)&(var))</p><p><br/></p><p>10. 得到一個字(word)的高位和低位字節(jié):</p><p><br/></p><p>#define WORD_LO(x) ((char)((short)(x)&0xFF))</p><p>#define WORD_HI(x) ((char)((short)(x)>>0x8))</p><p><br/></p><p>11. 返回一個比X大的最接近的8的倍數(shù):</p><p><br/></p><p>#define RND8(x) ((((x) + 7) / 8) * 8)</p><p><br/></p><p>12. 將一個字母轉(zhuǎn)換為大寫或小寫:</p><p><br/></p><p>#define UPCASE(c) (((c) >= 'a' && (c) <= 'z') ? ((c) + 'A' - 'a') : (c))</p><p>#define LOCASE(c) (((c) >= 'A' && (c) <= 'Z') ? ((c) + 'a' - 'A') : (c))</p><p><br/></p><p>注意,UPCASE和LOCASE宏僅適用于ASCII編碼(依賴于碼字順序和連續(xù)性),而不適用于EBCDIC編碼。</p><p><br/></p><p>13. 判斷字符是不是10進(jìn)值的數(shù)字:</p><p><br/></p><p> #define ISDEC(c) ((c) >= '0' && (c) <= '9')</p><p><br/></p><p>14. 判斷字符是不是16進(jìn)值的數(shù)字:</p><p><br/></p><p> #define ISHEX(c) (((c) >= '0' && (c) <= '9') ||\</p><p><br/></p><p> ((c) >= 'A' && (c) <= 'F') ||\</p><p><br/></p><p> ((c) >= 'a' && (c) <= 'f'))</p><p><br/></p><p><br/></p><p>15. 防止溢出的一個方法:</p><p><br/></p><p> #define INC_SAT(val) (val = ((val)+1 > (val)) ? (val)+1 : (val))</p><p>16. 返回數(shù)組元素的個數(shù):</p><p><br/></p><p>#define ARR_SIZE(arr) (sizeof((arr)) / sizeof((arr[0])))</p><p><br/></p><p>17. 對于IO空間映射在存儲空間的結(jié)構(gòu),輸入輸出處理:</p><p><br/></p><p> #define INP(port) (*((volatile char *)(port)))</p><p><br/></p><p> #define INPW(port) (*((volatile short *)(port)))</p><p><br/></p><p> #define INPDW(port) (*((volatile int *)(port)))</p><p><br/></p><p> #define OUTP(port, val) (*((volatile char *)(port)) = ((char)(val)))</p><p><br/></p><p> #define OUTPW(port, val) (*((volatile short *)(port)) = ((short)(val)))</p><p><br/></p><p> #define OUTPDW(port, val) (*((volatile int *)(port)) = ((int)(val)))</p><p><br/></p><p>18. 使用一些宏跟蹤調(diào)試:</p><p><br/></p><p>ANSI標(biāo)準(zhǔn)說明了五個預(yù)定義的宏名(注意雙下劃線),即:__LINE__、__FILE __、__DATE__、__TIME__、__STDC __。</p><p><br/></p><p>若編譯器未遵循ANSI標(biāo)準(zhǔn),則可能僅支持以上宏名中的幾個,或根本不支持。此外,編譯程序可能還提供其它預(yù)定義的宏名(如__FUCTION__)。</p><p><br/></p><p>__DATE__宏指令含有形式為月/日/年的串,表示源文件被翻譯到代碼時的日期;源代碼翻譯到目標(biāo)代碼的時間作為串包含在__TIME__中。串形式為時:分:秒。</p><p><br/></p><p>如果實現(xiàn)是標(biāo)準(zhǔn)的,則宏__STDC__含有十進(jìn)制常量1。如果它含有任何其它數(shù),則實現(xiàn)是非標(biāo)準(zhǔn)的。</p><p><br/></p><p>可以借助上面的宏來定義調(diào)試宏,輸出數(shù)據(jù)信息和所在文件所在行。如下所示:</p><p><br/></p><p> #define MSG(msg, date) printf(msg);printf(“[%d][%d][%s]”,date,__LINE__,__FILE__)</p><p> </p><p>19. 用do{…}while(0)語句包含多語句防止錯誤:</p><p><br/></p><p>#define DO(a, b) do{\</p><p> a+b;\</p><p> a++;\</p><p> }while(0)</p><p><br/></p><p>20. 實現(xiàn)類似“重載”功能</p><p><br/></p><p>C語言中沒有swap函數(shù),而且不支持重載,也沒有模板概念,所以對于每種數(shù)據(jù)類型都要寫出相應(yīng)的swap函數(shù),如:</p><p><br/></p><p>IntSwap(int *, int *); </p><p><br/></p><p>LongSwap(long *, long *); </p><p><br/></p><p>StringSwap(char *, char *); </p><p><br/></p><p>可采用宏定義TSWAP (t,x,y)或SWAP(x, y)交換兩個整型或浮點參數(shù):</p><p><br/></p><p> </p><p>#define TSWAP(type, x, y) do{ \</p><p><br/></p><p> type _y = y; \</p><p><br/></p><p> y = x; \</p><p><br/></p><p> x = _y; \</p><p><br/></p><p> }while(0)</p><p><br/></p><p> #define SWAP(x, y) do{ \</p><p><br/></p><p> x = x + y; \</p><p><br/></p><p> y = x - y; \</p><p><br/></p><p> x = x - y; \</p><p><br/></p><p> }while(0)</p><p><br/></p><p><br/></p><p> int main(void){</p><p><br/></p><p> int a = 10, b = 5;</p><p><br/></p><p> TSWAP(int, a, b);</p><p><br/></p><p> printf(“a=%d, b=%d\n”, a, b);</p><p><br/></p><p> return 0;</p><p><br/></p><p>}</p><p><br/></p><p>21. 1年中有多少秒(忽略閏年問題) :</p><p><br/></p><p> #define SECONDS_PER_YEAR (60UL * 60 * 24 * 365)</p><p><br/></p><p>該表達(dá)式將使一個16位機(jī)的整型數(shù)溢出,因此用長整型符號L告訴編譯器該常數(shù)為長整型數(shù)。</p><p><br/></p><p>注意,不可定義為#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL,否則將產(chǎn)生(31536000)UL而非31536000UL,這會導(dǎo)致編譯報錯。</p><p><br/></p><p>以下幾種寫法也正確:</p><p><br/></p><p> #define SECONDS_PER_YEAR 60 * 60 * 24 * 365UL</p><p><br/></p><p> #define SECONDS_PER_YEAR (60UL * 60UL * 24UL * 365UL)</p><p><br/></p><p> #define SECONDS_PER_YEAR ((unsigned long)(60 * 60 * 24 * 365))</p><p>}</p><p><br/></p><p>22. 取消宏定義:</p><p><br/></p><p>#define [MacroName] [MacroValue] //定義宏</p><p><br/></p><p>#undef [MacroName] //取消宏</p><p><br/></p><p><br/></p><p>宏定義必須寫在函數(shù)外,其作用域為宏定義起到源程序結(jié)束。如要終止其作用域可使用#undef命令:</p><p><br/></p><p> #define PI 3.14159</p><p><br/></p><p> int main(void){</p><p> //……</p><p> }</p><p><br/></p><p> #undef PI</p><p> int func(void){</p><p> //……</p><p> }</p><p><br/></p><p>表示PI只在main函數(shù)中有效,在func1中無效。</p><p><br/></p><p>2.3.2 特殊用法</p><p><br/></p><p>主要涉及C語言宏里#和##的用法,以及可變參數(shù)宏。</p><p><br/></p><p>2.3.2.1 字符串化操作符#</p><p><br/></p><p>在C語言的宏中,#的功能是將其后面的宏參數(shù)進(jìn)行字符串化操作(Stringfication),簡單說就是將宏定義中的傳入?yún)?shù)名轉(zhuǎn)換成用一對雙引號括起來參數(shù)名字符串。#只能用于有傳入?yún)?shù)的宏定義中,且必須置于宏定義體中的參數(shù)名前。例如:</p><p><br/></p><p> #define EXAMPLE(instr) printf("The input string is:\t%s\n", #instr)</p><p> #define EXAMPLE1(instr) #instr</p><p><br/></p><p>當(dāng)使用該宏定義時,example(abc)在編譯時將會展開成printf("the input string is:\t%s\n","abc");string str=example1(abc)將會展成string str="abc"。</p><p><br/></p><p> 又如下面代碼中的宏:</p><p><br/></p><p> define WARN_IF(exp) do{ \</p><p><br/></p><p> if(exp) \</p><p><br/></p><p> fprintf(stderr, "Warning: " #exp"\n"); \</p><p><br/></p><p> } while(0)</p><p><br/></p><p>則代碼WARN_IF (divider == 0)會被替換為:</p><p><br/></p><p>do{</p><p> if(divider == 0)</p><p> </p><p> fprintf(stderr, "Warning" "divider == 0" "\n");</p><p> } while(0)</p><p><br/></p><p>這樣,每次divider(除數(shù))為0時便會在標(biāo)準(zhǔn)錯誤流上輸出一個提示信息。</p><p><br/></p><p>注意#宏對空格的處理:</p><p><br/></p><p>忽略傳入?yún)?shù)名前面和后面的空格。如str= example1( abc )會被擴(kuò)展成 str="abc"。</p><p>當(dāng)傳入?yún)?shù)名間存在空格時,編譯器會自動連接各個子字符串,每個子字符串間只以一個空格連接。如str= example1( abc def)會被擴(kuò)展成 str="abc def"。</p><p><br/></p><p>2.3.2.2 符號連接操作符##</p><p><br/></p><p> ##稱為連接符(concatenator或token-pasting),用來將兩個Token連接為一個Token。注意這里連接的對象是Token就行,而不一定是宏的變量。例如:</p><p> #define PASTER(n) printf( "token" #n " = %d", token##n)</p><p><br/></p><p> int token9 = 9;</p><p><br/></p><p>則運行PASTER(9)后輸出結(jié)果為token9 = 9。</p><p><br/></p><p>又如要做一個菜單項命令名和函數(shù)指針組成的結(jié)構(gòu)體數(shù)組,并希望在函數(shù)名和菜單項命令名之間有直觀的、名字上的關(guān)系。那么下面的代碼就非常實用:</p><p><br/></p><p>struct command{</p><p><br/></p><p> char * name;</p><p><br/></p><p> void (*function)(void);</p><p><br/></p><p> };</p><p><br/></p><p>#define COMMAND(NAME) {NAME, NAME##_command}</p><p><br/></p><p>然后,就可用一些預(yù)先定義好的命令來方便地初始化一個command結(jié)構(gòu)的數(shù)組:</p><p><br/></p><p> struct command commands[] = {</p><p><br/></p><p> COMMAND(quit),</p><p><br/></p><p> COMMAND(help),</p><p><br/></p><p> //...</p><p><br/></p><p> }</p><p><br/></p><p>COMMAND宏在此充當(dāng)一個代碼生成器的作用,這樣可在一定程度上減少代碼密度,間接地也可減少不留心所造成的錯誤。</p><p><br/></p><p>還可以用n個##符號連接n+1個Token,這個特性是#符號所不具備的。如:</p><p><br/></p><p> #define LINK_MULTIPLE(a, b, c, d) a##_##b##_##c##_##d</p><p><br/></p><p> typedef struct record_type LINK_MULTIPLE(name, company, position, salary);</p><p><br/></p><p>這里這個語句將展開為typedef struct record_type name_company_position_salary。</p><p><br/></p><p>注意:</p><p><br/></p><p>當(dāng)用##連接形參時,##前后的空格可有可無。</p><p>連接后的實際參數(shù)名,必須為實際存在的參數(shù)名或是編譯器已知的宏定義。</p><p>凡是宏定義里有用'#'或'##'的地方,宏參數(shù)是不會再展開。如:</p><p><br/></p><p> #define STR(s) #s</p><p><br/></p><p> #define CONS(a,b) int(a##e##b)</p><p><br/></p><p>則printf("int max: %s\n", STR(INT_MAX))會被展開為printf("int max: %s\n", "INT_MAX")。其中,變量INT_MAX為int型的最大值,其值定義在<climits.h>中。printf("%s\n", CONS(A, A))會被展開為printf("%s\n", int(AeA)),從而編譯報錯。</p><p><br/></p><p>INT_MAX和A都不會再被展開,多加一層中間轉(zhuǎn)換宏即可解決這個問題。加這層宏是為了把所有宏的參數(shù)在這層里全部展開,那么在轉(zhuǎn)換宏里的那一個宏(如_STR)就能得到正確的宏參數(shù)。</p><p><br/></p><p>#define _STR(s) #s </p><p><br/></p><p>#define STR(s) _STR(s) // 轉(zhuǎn)換宏</p><p><br/></p><p>#define _CONS(a,b) int(a##e##b)</p><p><br/></p><p>#define CONS(a,b) _CONS(a,b) // 轉(zhuǎn)換宏</p><p><br/></p><p>則printf("int max: %s\n", STR(INT_MAX))輸出為int max: 0x7fffffff;而printf("%d\n", CONS(A, A))輸出為200。</p><p><br/></p><p>這種分層展開的技術(shù)稱為宏的Argument Prescan,參見附錄6.1。</p><p><br/></p><p><br/></p><p><br/></p><p>2.3.2.3 字符化操作符@#</p><p><br/></p><p>@#稱為字符化操作符(charizing),只能用于有傳入?yún)?shù)的宏定義中,且必須置于宏定義體的參數(shù)名前。作用是將傳入的單字符參數(shù)名轉(zhuǎn)換成字符,以一對單引號括起來。</p><p><br/></p><p> #define makechar(x) #@x</p><p> a = makechar(b);</p><p><br/></p><p>展開后變成a= 'b'。 </p><p><br/></p><p>2.3.2.4 可變參數(shù)宏</p><p><br/></p><p>在C語言宏中稱為Variadic Macro,即變參宏。C99編譯器標(biāo)準(zhǔn)允許定義可變參數(shù)宏(Macros with a Variable Number of Arguments),這樣就可以使用擁有可變參數(shù)表的宏。</p><p><br/></p><p>可變參數(shù)宏的一般形式為:</p><p><br/></p><p>#define DBGMSG(format, ...) fprintf (stderr, format, __VA_ARGS__)</p><p><br/></p><p>省略號代表一個可以變化的參數(shù)表,變參必須作為參數(shù)表的最右一項出現(xiàn)。使用保留名__VA_ARGS__ 把參數(shù)傳遞給宏。在調(diào)用宏時,省略號被表示成零個或多個符號(包括里面的逗號),一直到到右括號結(jié)束為止。當(dāng)被調(diào)用時,在宏體(macro body)中,那些符號序列集合將代替里面的__VA_ARGS__標(biāo)識符。當(dāng)宏的調(diào)用展開時,實際的參數(shù)就傳遞給fprintf ()。</p><p><br/></p><p>注意:可變參數(shù)宏不被ANSI/ISO C++所正式支持。因此,應(yīng)當(dāng)檢查編譯器是否支持這項技術(shù)。 </p><p><br/></p><p>在標(biāo)準(zhǔn)C里,不能省略可變參數(shù),但卻可以給它傳遞一個空的參數(shù),這會導(dǎo)致編譯出錯。因為宏展開后,里面的字符串后面會有個多余的逗號。為解決這個問題,GNU CPP中做了如下擴(kuò)展定義:</p><p><br/></p><p>#define DBGMSG(format, ...) fprintf (stderr, format, ##__VA_ARGS__)</p><p><br/></p><p>若可變參數(shù)被忽略或為空,##操作將使編譯器刪除它前面多余的逗號(否則會編譯出錯)。若宏調(diào)用時提供了可變參數(shù),編譯器會把這些可變參數(shù)放到逗號的后面。</p><p><br/></p><p>同時,GCC還支持顯式地命名變參為args,如同其它參數(shù)一樣。如下格式的宏擴(kuò)展:</p><p><br/></p><p>#define DBGMSG(format, args...) fprintf (stderr, format, ##args)</p><p><br/></p><p>這樣寫可讀性更強(qiáng),并且更容易進(jìn)行描述。</p><p><br/></p><p>用GCC和C99的可變參數(shù)宏, 可以更方便地打印調(diào)試信息,如:</p><p><br/></p><p> #ifdef DEBUG</p><p><br/></p><p> #define DBGPRINT(format, args...) \</p><p><br/></p><p> fprintf(stderr, format, ##args)</p><p><br/></p><p> #else</p><p><br/></p><p> #define DBGPRINT(format, args...)</p><p><br/></p><p> #endif</p><p><br/></p><p>這樣定義之后,代碼中就可以用dbgprint了,例如dbgprint ("aaa [%s]", __FILE__)。</p><p><br/></p><p>結(jié)合第4節(jié)的“條件編譯”功能,可以構(gòu)造出如下調(diào)試打印宏:</p><p> </p><p> #ifdef LOG_TEST_DEBUG</p><p><br/></p><p> /* OMCI調(diào)試日志宏 */</p><p><br/></p><p> //以10進(jìn)制格式日志整型變量</p><p><br/></p><p> #define PRINT_DEC(x) printf(#x" = %d\n", x)</p><p><br/></p><p> #define PRINT_DEC2(x,y) printf(#x" = %d\n", y)</p><p><br/></p><p> //以16進(jìn)制格式日志整型變量</p><p><br/></p><p> #define PRINT_HEX(x) printf(#x" = 0x%-X\n", x)</p><p><br/></p><p> #define PRINT_HEX2(x,y) printf(#x" = 0x%-X\n", y)</p><p><br/></p><p> //以字符串格式日志字符串變量</p><p><br/></p><p> #define PRINT_STR(x) printf(#x" = %s\n", x)</p><p><br/></p><p> #define PRINT_STR2(x,y) printf(#x" = %s\n", y)</p><p><br/></p><p><br/></p><p> //日志提示信息</p><p><br/></p><p> #define PROMPT(info) printf("%s\n", info)</p><p><br/></p><p> //調(diào)試定位信息打印宏</p><p><br/></p><p> #define TP printf("%-4u - [%s<%s>]\n", __LINE__, __FILE__, __FUNCTION__);</p><p><br/></p><p> //調(diào)試跟蹤宏,在待日志信息前附加日志文件名、行數(shù)、函數(shù)名等信息</p><p><br/></p><p> #define TRACE(fmt, args...)\</p><p><br/></p><p> do{\</p><p><br/></p><p> printf("[%s(%d)<%s>]", __FILE__, __LINE__, __FUNCTION__);\</p><p><br/></p><p> printf((fmt), ##args);\</p><p><br/></p><p> }while(0)</p><p><br/></p><p> #else</p><p><br/></p><p> #define PRINT_DEC(x)</p><p><br/></p><p> #define PRINT_DEC2(x,y)</p><p><br/></p><p> #define PRINT_HEX(x)</p><p><br/></p><p> #define PRINT_HEX2(x,y)</p><p><br/></p><p> #define PRINT_STR(x)</p><p><br/></p><p> #define PRINT_STR2(x,y)</p><p><br/></p><p> #define PROMPT(info)</p><p><br/></p><p> #define TP</p><p><br/></p><p> #define TRACE(fmt, args...)</p><p><br/></p><p> #endif</p><p> </p><p><br/></p><p>三 文件包含</p><p><br/></p><p>文件包含命令行的一般形式為:</p><p><br/></p><p>#include "文件名"</p><p><br/></p><p>通常,該文件是后綴名為"h"或"hpp"的頭文件。文件包含命令把指定頭文件插入該命令行位置取代該命令行,從而把指定的文件和當(dāng)前的源程序文件連成一個源文件。</p><p><br/></p><p>在程序設(shè)計中,文件包含是很有用的。一個大程序可以分為多個模塊,由多個程序員分別編程。有些公用的符號常量或宏定義等可單獨組成一個文件,在其它文件的開頭用包含命令包含該文件即可使用。這樣,可避免在每個文件開頭都去書寫那些公用量,從而節(jié)省時間,并減少出錯。</p><p><br/></p><p>對文件包含命令要說明以下幾點:</p><p><br/></p><p>包含命令中的文件名可用雙引號括起來,也可用尖括號括起來,如#include "common.h"和#include<math.h>。但這兩種形式是有區(qū)別的:使用尖括號表示在包含文件目錄中去查找(包含目錄是由用戶在設(shè)置環(huán)境時設(shè)置的include目錄),而不在當(dāng)前源文件目錄去查找;</p><p><br/></p><p>使用雙引號則表示首先在當(dāng)前源文件目錄中查找,若未找到才到包含目錄中去查找。用戶編程時可根據(jù)自己文件所在的目錄來選擇某一種命令形式。</p><p><br/></p><p>一個include命令只能指定一個被包含文件,若有多個文件要包含,則需用多個include命令。文件包含允許嵌套,即在一個被包含的文件中又可以包含另一個文件。</p><p> </p><p><br/></p><p>四 條件編譯</p><p><br/></p><p>一般情況下,源程序中所有的行都參加編譯。但有時希望對其中一部分內(nèi)容只在滿足一定條件才進(jìn)行編譯,也就是對一部分內(nèi)容指定編譯的條件,這就是“條件編譯”。有時,希望當(dāng)滿足某條件時對一組語句進(jìn)行編譯,而當(dāng)條件不滿足時則編譯另一組語句。</p><p><br/></p><p>條件編譯功能可按不同的條件去編譯不同的程序部分,從而產(chǎn)生不同的目標(biāo)代碼文件。這對于程序的移植和調(diào)試是很有用的。</p><p><br/></p><p>條件編譯有三種形式,下面分別介紹。</p><p><br/></p><p>4.1 #ifdef形式</p><p><br/></p><p>#ifdef 標(biāo)識符 (或#if defined標(biāo)識符)</p><p><br/></p><p> 程序段1</p><p><br/></p><p>#else</p><p><br/></p><p> 程序段2</p><p><br/></p><p>#endif</p><p><br/></p><p><br/></p><p>如果標(biāo)識符已被#define命令定義過,則對程序段1進(jìn)行編譯;否則對程序段2進(jìn)行編譯。如果沒有程序段2(它為空),#else可以沒有,即可以寫為:</p><p><br/></p><p>#ifdef 標(biāo)識符 (或#if defined標(biāo)識符)</p><p><br/></p><p> 程序段</p><p><br/></p><p>#endif</p><p><br/></p><p>這里的“程序段”可以是語句組,也可以是命令行。這種條件編譯可以提高C源程序的通用性。</p><p><br/></p><p>【例6】</p><p><br/></p><p>#define NUM OK</p><p><br/></p><p> int main(void){</p><p><br/></p><p> struct stu{</p><p><br/></p><p> int num;</p><p><br/></p><p> char *name;</p><p><br/></p><p> char sex;</p><p><br/></p><p> float score;</p><p><br/></p><p> }*ps;</p><p><br/></p><p> ps=(struct stu*)malloc(sizeof(struct stu));</p><p><br/></p><p> ps->num = 102;</p><p><br/></p><p> ps->name = "Zhang ping";</p><p><br/></p><p> ps->sex = 'M';</p><p><br/></p><p> ps->score = 62.5;</p><p><br/></p><p> #ifdef NUM</p><p><br/></p><p> printf("Number=%d\nScore=%f\n", ps->num, ps->score); /*--Execute--*/</p><p><br/></p><p> #else</p><p><br/></p><p> printf("Name=%s\nSex=%c\n", ps->name, ps->sex);</p><p><br/></p><p> #endif</p><p><br/></p><p> free(ps);</p><p><br/></p><p> return 0;</p><p><br/></p><p> }</p><p> </p><p>由于在程序中插入了條件編譯預(yù)處理命令,因此要根據(jù)NUM是否被定義過來決定編譯哪個printf語句。而程序首行已對NUM作過宏定義,因此應(yīng)對第一個printf語句作編譯,故運行結(jié)果是輸出了學(xué)號和成績。</p><p><br/></p><p>程序首行定義NUM為字符串“OK”,其實可為任何字符串,甚至不給出任何字符串,即#define NUM也具有同樣的意義。只有取消程序首行宏定義才會去編譯第二個printf語句。</p><p><br/></p><p>4.2 #ifndef 形式</p><p><br/></p><p>#ifndef 標(biāo)識符</p><p><br/></p><p> 程序段1</p><p><br/></p><p>#else</p><p><br/></p><p> 程序段2</p><p><br/></p><p>#endif</p><p><br/></p><p><br/></p><p>如果標(biāo)識符未被#define命令定義過,則對程序段1進(jìn)行編譯,否則對程序段2進(jìn)行編譯。這與#ifdef形式的功能正相反。</p><p><br/></p><p>“#ifndef 標(biāo)識符”也可寫為“#if !(defined 標(biāo)識符)”。</p><p><br/></p><p>4.3 #if形式</p><p><br/></p><p>#if 常量表達(dá)式</p><p><br/></p><p> 程序段1</p><p><br/></p><p>#else</p><p><br/></p><p> 程序段2</p><p><br/></p><p>#endif</p><p><br/></p><p>如果常量表達(dá)式的值為真(非0),則對程序段1 進(jìn)行編譯,否則對程序段2進(jìn)行編譯。因此可使程序在不同條件下,完成不同的功能。</p><p><br/></p><p>【例7】輸入一行字母字符,根據(jù)需要設(shè)置條件編譯,使之能將字母全改為大寫或小寫字母輸出。</p><p><br/></p><p>#define CAPITAL_LETTER 1</p><p><br/></p><p> int main(void){</p><p><br/></p><p> char szOrig[] = "C Language", cChar;</p><p><br/></p><p> int dwIdx = 0;</p><p><br/></p><p> while((cChar = szOrig[dwIdx++]) != '\0')</p><p><br/></p><p> {</p><p><br/></p><p> #if CAPITAL_LETTER</p><p><br/></p><p> if((cChar >= 'a') && (cChar <= 'z')) cChar = cChar - 0x20;</p><p><br/></p><p> #else</p><p><br/></p><p> if((cChar >= 'A') && (cChar <= 'Z')) cChar = cChar + 0x20;</p><p><br/></p><p> #endif</p><p><br/></p><p> printf("%c", cChar);</p><p><br/></p><p> }</p><p> return 0;</p><p> }</p><p><br/></p><p>在程序第一行定義宏CAPITAL_LETTER為1,因此在條件編譯時常量表達(dá)式CAPITAL_LETTER的值為真(非零),故運行后使小寫字母變成大寫(C LANGUAGE)。</p><p><br/></p><p>本例的條件編譯當(dāng)然也可以用if條件語句來實現(xiàn)。但是用條件語句將會對整個源程序進(jìn)行編譯,生成的目標(biāo)代碼程序很長;而采用條件編譯,則根據(jù)條件只編譯其中的程序段1或程序段2,生成的目標(biāo)程序較短。如果條件編譯的程序段很長,采用條件編譯的方法是十分必要的。</p><p><br/></p><p>4.4 實踐用例</p><p><br/></p><p>1. 屏蔽跨平臺差異</p><p><br/></p><p>在大規(guī)模開發(fā)過程中,特別是跨平臺和系統(tǒng)的軟件里,可以在編譯時通過條件編譯設(shè)置編譯環(huán)境。</p><p><br/></p><p>例如,有一個數(shù)據(jù)類型,在Windows平臺中應(yīng)使用long類型表示,而在其他平臺應(yīng)使用float表示。這樣往往需要對源程序作必要的修改,這就降低了程序的通用性??梢杂靡韵碌臈l件編譯:</p><p><br/></p><p> #ifdef WINDOWS</p><p><br/></p><p> #define MYTYPE long</p><p><br/></p><p> #else</p><p><br/></p><p> #define MYTYPE float</p><p><br/></p><p> #endif</p><p><br/></p><p>如果在Windows上編譯程序,則可以在程序的開始加上#define WINDOWS,這樣就編譯命令行 #define MYTYPE long;</p><p><br/></p><p>如果在這組條件編譯命令前曾出現(xiàn)命令行#define WINDOWS 0,則預(yù)編譯后程序中的MYTYPE都用float代替。這樣,源程序可以不必作任何修改就可以用于不同類型的計算機(jī)系統(tǒng)。</p><p><br/></p><p>2. 包含程序功能模塊</p><p><br/></p><p>例如,在程序首部定義#ifdef FLV:</p><p><br/></p><p> #ifdef FLV</p><p><br/></p><p> include"fastleave.c"</p><p><br/></p><p> #endif</p><p><br/></p><p>如果不許向別的用戶提供該功能,則在編譯之前將首部的FLV加一下劃線即可。</p><p><br/></p><p>3. 開關(guān)調(diào)試信息</p><p><br/></p><p>調(diào)試程序時,常常希望輸出一些所需的信息以便追蹤程序的運行。而在調(diào)試完成后不再輸出這些信息。可以在源程序中插入以下的條件編譯段:</p><p><br/></p><p> #ifdef DEBUG</p><p><br/></p><p> printf("device_open(%p)\n", file);</p><p><br/></p><p> #endif</p><p><br/></p><p> 如果在它的前面有以下命令行#define DEBUG,則在程序運行時輸出file指針的值,以便調(diào)試分析。調(diào)試完成后只需將這個define命令行刪除即可,這時所有使用DEBUG作標(biāo)識符的條件編譯段中的printf語句不起作用,即起到“開關(guān)”一樣統(tǒng)一控制的作用。 </p><p><br/></p><p>4. 避開硬件的限制。</p><p><br/></p><p>有時一些具體應(yīng)用環(huán)境的硬件不同,但限于條件本地缺乏這種設(shè)備,可繞過硬件直接寫出預(yù)期結(jié)果:</p><p><br/></p><p>#ifndef TEST</p><p><br/></p><p> i = dial(); //程序調(diào)試運行時繞過此語句</p><p><br/></p><p> #else</p><p><br/></p><p> i = 0;</p><p><br/></p><p> #endif</p><p><br/></p><p>調(diào)試通過后,再屏蔽TEST的定義并重新編譯即可。 </p><p><br/></p><p>5. 防止頭文件重復(fù)包含</p><p><br/></p><p>頭文件(.h)可以被頭文件或C文件包含。由于頭文件包含可以嵌套,C文件就有可能多次包含同一個頭文件;或者不同的C文件都包含同一個頭文件,編譯時就可能出現(xiàn)重復(fù)包含(重復(fù)定義)的問題。</p><p><br/></p><p>在頭文件中為了避免重復(fù)調(diào)用(如兩個頭文件互相包含對方),常采用這樣的結(jié)構(gòu):</p><p><br/></p><p> #ifndef <標(biāo)識符></p><p><br/></p><p> #define <標(biāo)識符></p><p><br/></p><p> //真正的內(nèi)容,如函數(shù)聲明之類</p><p><br/></p><p> #endif</p><p><br/></p><p><標(biāo)識符>可以自由命名,但一般形如__HEADER_H,且每個頭文件標(biāo)識都應(yīng)該是唯一的。</p><p><br/></p><p>事實上,不管頭文件會不會被多個文件引用,都要加上條件編譯開關(guān)來避免重復(fù)包含。 </p><p><br/></p><p>6. 在#ifndef中定義變量出現(xiàn)的問題(一般不定義在#ifndef中)。</p><p><br/></p><p> </p><p>#ifndef PRECMPL</p><p><br/></p><p> #define PRECMPL</p><p><br/></p><p> int var;</p><p> </p><p> #endif</p><p><br/></p><p>其中有個變量定義,在VC中鏈接時會出現(xiàn)變量var重復(fù)定義的錯誤,而在C中成功編譯。</p><p><br/></p><p>(1) 當(dāng)?shù)谝粋€使用這個頭文件的.cpp文件生成.obj時,var在里面定義;當(dāng)另一個使用該頭文件的.cpp文件再次(單獨)生成.obj時,var又被定義;然后兩個obj被第三個包含該頭文件.cpp連接在一起,會出現(xiàn)重復(fù)定義。</p><p><br/></p><p>(2) 把源程序文件擴(kuò)展名改成.c后,VC按照C語言語法對源程序進(jìn)行編譯。在C語言中,遇到多個int var則自動認(rèn)為其中一個是定義,其他的是聲明。</p><p><br/></p><p>(3) C語言和C++語言連接結(jié)果不同,可能是在進(jìn)行編譯時,C++語言將全局變量默認(rèn)為強(qiáng)符號,所以連接出錯。C語言則依照是否初始化進(jìn)行強(qiáng)弱的判斷的(僅供參考)。</p><p><br/></p><p>解決方法:</p><p><br/></p><p>(1) 把源程序文件擴(kuò)展名改成.c。</p><p><br/></p><p> (2) .h中只聲明 extern int var;,在.cpp中定義(推薦)</p><p><br/></p><p>//<x.h></p><p><br/></p><p> #ifndef __X_H</p><p><br/></p><p> #define __X_H</p><p><br/></p><p> extern int var;</p><p><br/></p><p> #endif</p><p><br/></p><p> //<x.c></p><p><br/></p><p> int var = 0;</p><p><br/></p><p>綜上,變量一般不要定義在.h文件中。</p><p><br/></p><p><br/></p><p>五 小結(jié)</p><p><br/></p><p>預(yù)處理功能是C語言特有的功能,它是在對源程序正式編譯前由預(yù)處理程序完成的。程序員在程序中用預(yù)處理命令來調(diào)用這些功能。</p><p><br/></p><p>宏定義是用一個標(biāo)識符來表示一個字符串,這個字符串可以是常量、變量或表達(dá)式。在宏調(diào)用中將用該字符串代換宏名。</p><p><br/></p><p>宏定義可以帶有參數(shù),宏調(diào)用時是以實參代換形參。而不是“值傳遞”。</p><p>為了避免宏替換時發(fā)生錯誤,宏定義中的字符串應(yīng)加括號,字符串中出現(xiàn)的形式參數(shù)兩邊也應(yīng)加括號。</p><p><br/></p><p>文件包含是預(yù)處理的一個重要功能,它可用來把多個源文件連接成一個源文件進(jìn)行編譯,結(jié)果將生成一個目標(biāo)文件。</p><p><br/></p><p>條件編譯允許只編譯源程序中滿足條件的程序段,使生成的目標(biāo)程序較短,從而減少了內(nèi)存的開銷并提高了程序的效率。</p><p><br/></p><p>使用預(yù)處理功能便于程序的修改、閱讀、移植和調(diào)試,也便于實現(xiàn)模塊化程序設(shè)計。</p><p> </p><p><br/></p><p>六 附錄</p><p>6.1 Argument Prescan</p><p>(摘自http://gcc.gnu.org/onlinedocs/cpp/Argument-Prescan.html)</p><p><br/></p><p>Macro arguments are completely macro-expanded before they are substituted into a macro body, unless they are stringified or pasted with other tokens. After substitution, the entire macro body, including the substituted arguments, is scanned again for macros to be expanded. The result is that the arguments are scanned twice to expand macro calls in them.</p><p><br/></p><p>宏參數(shù)被完全展開后再替換入宏體,但當(dāng)宏參數(shù)被字符串化(#)或與其它子串連接(##)時不予展開。在替換之后,再次掃描整個宏體(包括已替換宏參數(shù))以進(jìn)一步展開宏。結(jié)果是宏參數(shù)被掃描兩次以展開參數(shù)所(嵌套)調(diào)用的宏。</p><p><br/></p><p>若帶參數(shù)宏定義中的參數(shù)稱為形參,調(diào)用宏時的實際參數(shù)稱為實參,則宏的展開可用以下三步來簡單描述(該步驟與gcc摘錄稍有不同,但更易操作):</p><p><br/></p><p>1) 用實參替換形參,將實參代入宏文本中;</p><p><br/></p><p>2) 若實參也是宏,則展開實參;</p><p><br/></p><p>3) 繼續(xù)處理宏替換后的宏文本,若宏文本也包含宏則繼續(xù)展開,否則完成展開。</p><p><br/></p><p>其中第一步將實參代入宏文本后,若實參前遇到字符“#”或“##”,即使實參是宏也不再展開實參,而當(dāng)作文本處理。</p><p><br/></p><p>上述展開步驟示例如下:</p><p><br/></p><p>#define TO_STRING(x) _TO_STRING(x)</p><p><br/></p><p>#define _TO_STRING(x) #x</p><p><br/></p><p>#define FOO 4</p><p><br/></p><p>則_TO_STRING(FOO)展開為”FOO”;TO_STRING(FOO)展開為_TO_STRING(4),進(jìn)而展開為”4”。相當(dāng)于借助_TO_STRING這樣的中間宏,先展開宏參數(shù),延遲其字符化。</p><p><br/></p><p>6.2 宏的其他注意事項</p><p><br/></p><p>1. 避免在無作用域限定(未用{}括起)的宏內(nèi)定義數(shù)組、結(jié)構(gòu)、字符串等變量,否則函數(shù)中對宏的多次引用會導(dǎo)致實際局部變量空間成倍放大。</p><p><br/></p><p> 2. 按照宏的功能、模塊進(jìn)行集中定義。即在一處將常量數(shù)值定義為宏,其他地方通過引用該宏,生成自己模塊的宏。嚴(yán)禁相同含義的常量數(shù)值,在不同地方定義為不同的宏,即使數(shù)值相同也不允許(維護(hù)修改后極易遺漏,造成代碼隱患)。</p><p><br/></p><p>3. 用只讀變量適當(dāng)替代(類似功能的)宏,例如將#define PIE 3.14改為const float PIE = 3.14。</p><p><br/></p><p>這樣做的好處如下:</p><p><br/></p><p>1) 預(yù)編譯時用宏定義值替換宏名,編譯時報錯不易理解;</p><p><br/></p><p>2) 跟蹤調(diào)試時顯示宏值,而不是宏名;</p><p><br/></p><p>3) 宏沒有類型,不能做類型檢查,不安全;</p><p><br/></p><p>4) 宏自身沒有作用域;</p><p><br/></p><p>5) 只讀變量和宏的效率同樣高。</p><p><br/></p><p>注意,C語言中只讀變量不可用于數(shù)組大小、變量(包括數(shù)組元素)初始化值以及case表達(dá)式。</p><p><br/></p><p>4. 用inline函數(shù)代替(類似功能的)宏函數(shù)。好處如下:</p><p><br/></p><p>1) 宏函數(shù)在預(yù)編譯時處理,編譯出錯信息不易理解;</p><p><br/></p><p>2) 宏函數(shù)本身無法單步跟蹤調(diào)試,因此也不要在宏內(nèi)調(diào)用函數(shù)。但某些編譯器(為了調(diào)試需要)可將inline函數(shù)轉(zhuǎn)成普通函數(shù);</p><p><br/></p><p>3) 宏函數(shù)的入?yún)]有類型,不安全;</p><p><br/></p><p>5) inline函數(shù)會在目標(biāo)代碼中展開,和宏的效率一樣高;</p><p><br/></p><p>注意,某些宏函數(shù)用法獨特,不能用inline函數(shù)取代。當(dāng)不想或不能指明參數(shù)類型時,宏函數(shù)更合適。</p><p><br/></p><p>5. 不帶參數(shù)的宏函數(shù)也要定義成函數(shù)形式,如#define HELLO( ) printf(“Hello.”)。</p><p><br/></p><p>括號會暗示閱讀代碼者該宏是一個函數(shù)。</p><p><br/></p><p>6. 帶參宏內(nèi)定義變量時,應(yīng)注意避免內(nèi)外部變量重名的問題:</p><p><br/></p><p> typedef struct{</p><p><br/></p><p> int d;</p><p><br/></p><p> }T_TEST;</p><p><br/></p><p> T_TEST gtTest = {0};</p><p><br/></p><p> #define ASSIGN1(_d) do{ \</p><p><br/></p><p> T_TEST t = {0}; \</p><p><br/></p><p> t.d = _d; \</p><p><br/></p><p> gtTest = t; \</p><p><br/></p><p> }while(0)</p><p><br/></p><p> #define ASSIGN2(_p) do{ \</p><p><br/></p><p> int _d; \</p><p><br/></p><p> _d = 5; \</p><p><br/></p><p> (_p) = _d; \</p><p><br/></p><p> }while(0)</p><p><br/></p><p>若宏參數(shù)名或宏內(nèi)變量名不加前綴下劃線,則ASSIGN1(c)將會導(dǎo)致編譯報錯(t.d被替換為t.c),ASSIGN2(d)會因宏內(nèi)作用域而導(dǎo)致外部的變量d值保持不變(而非改為5)。</p><p><br/></p><p>7. 不要用宏改寫語言。例如:</p><p><br/></p><p>#define FOREVER for ( ; ; )</p><p><br/></p><p> #define BEGIN {</p><p><br/></p><p> #define END }</p><p><br/></p><p>C語言有完善且眾所周知的語法。試圖將其改變成類似于其他語言的形式,會使讀者混淆,難于理解。</p><p><br/></p><p>6.3 do{…}while(0)妙用</p><p><br/></p><p>1. 函數(shù)中使用do{…}while(0)可替代goto語句。例如:</p><p><br/></p><p>goto寫法</p><p><br/></p><p>替代寫法</p><p><br/></p><p>bOk = func1();</p><p><br/></p><p>if(!bOk) goto errorhandle; </p><p><br/></p><p>bOk = func2();</p><p><br/></p><p>if(!bOk) goto errorhandle; </p><p><br/></p><p>bOk = func3();</p><p><br/></p><p>if(!bOk) goto errorhandle;</p><p><br/></p><p> </p><p><br/></p><p>//… …</p><p><br/></p><p>//執(zhí)行成功,釋放資源并返回</p><p><br/></p><p>delete p; </p><p><br/></p><p>p = NULL;</p><p><br/></p><p>return true;</p><p><br/></p><p> </p><p><br/></p><p>errorhandle:</p><p><br/></p><p>delete p; </p><p><br/></p><p>p = NULL;</p><p><br/></p><p>return false;</p><p><br/></p><p>do{</p><p><br/></p><p> //執(zhí)行并進(jìn)行錯誤處理</p><p><br/></p><p> bOk = func1();</p><p><br/></p><p> if(!bOk) break; </p><p><br/></p><p> bOk = func2();</p><p><br/></p><p> if(!bOk) break; </p><p><br/></p><p> bOk = func3();</p><p><br/></p><p> if(!bOk) break;</p><p><br/></p><p> </p><p><br/></p><p> // ..........</p><p><br/></p><p> }while(0);</p><p><br/></p><p> </p><p><br/></p><p> //釋放資源</p><p><br/></p><p> delete p; </p><p><br/></p><p> p = NULL;</p><p><br/></p><p> return bOk;</p><p><br/></p><p><br/></p><p>2. 宏定義中使用do{…}while(0)的原因及好處:</p><p><br/></p><p>1) 避免空的宏定義產(chǎn)生warning,如 #define DUMMY( ) do{}while(0)。</p><p><br/></p><p>2) 存在一個獨立的代碼塊,可進(jìn)行變量定義,實現(xiàn)比較復(fù)雜的邏輯處理。</p><p><br/></p><p>注意,該代碼塊內(nèi)(即{…}內(nèi))定義的變量其作用域僅限于該塊。此外,為避免宏的實參與其內(nèi)部定義的變量同名而造成覆蓋,最好在變量名前加上_(基于如下編程慣例:除非是庫,否則不應(yīng)定義以_開始的變量)。</p><p><br/></p><p>3) 若宏出現(xiàn)在判斷語句之后,可保證作為一個整體來實現(xiàn)。</p><p><br/></p><p>如#define SAFE_DELETE(p) delete p; p = NULL;,則以下代碼</p><p><br/></p><p> if(NULL != p)</p><p><br/></p><p> SAFE_DELETE(p)</p><p><br/></p><p> else</p><p><br/></p><p> DUMMY( );</p><p><br/></p><p>就有兩個問題:</p><p><br/></p><p>a) 因為if分支后有兩條語句,else分支沒有對應(yīng)的if,編譯失?。?lt;/p><p><br/></p><p>b) 假設(shè)沒有else,則SAFE_DELETE中第二條語句無論if判斷是否成立均會執(zhí)行,這顯然違背程序設(shè)計的原始目的。</p><p><br/></p><p>那么,為了避免這兩個問題,將宏直接用{}括起來是否可以?如:</p><p><br/></p><p>#define SAFE_DELETE(p) {delete p; p = NULL;}</p><p><br/></p><p>的確,上述問題不復(fù)存在。但C/C++編程中,在每條語句后加分號是約定俗成的習(xí)慣,此時以下代碼</p><p><br/></p><p> if(NULL != p)</p><p><br/></p><p> SAFE_DELETE(p);</p><p><br/></p><p> else</p><p><br/></p><p> DUMMY( );</p><p><br/></p><p>其else分支就無法通過編譯(多出一個分號),而采用do{…}while(0)則毫無問題。</p><p><br/></p><p>使用do{...} while(0)將宏包裹起來,成為一個獨立的語法單元,從而不會與上下文發(fā)生混淆。同時因為絕大多數(shù)編譯器都能夠識別do{...}while(0)這種無用的循環(huán)并優(yōu)化,所以該法不會導(dǎo)致程序的性能降低。</p><p><br/></p><p>6.4 類型定義符typedef</p><p><br/></p><p>C語言不僅提供了豐富的數(shù)據(jù)類型,而且還允許由用戶自己定義類型說明符,也就是說允許由用戶為數(shù)據(jù)類型取“別名”。類型定義符typedef即可用來完成此功能。</p><p><br/></p><p>typedef定義的一般形式為:</p><p><br/></p><p> typedef 原類型名 新類型名</p><p><br/></p><p>其中原類型名中含有定義部分,新類型名一般用大寫表示,以便于區(qū)別。 </p><p><br/></p><p>例如,有整型量int a,b。其中int是整型變量的類型說明符。int的完整寫法為integer,為增加程序的可讀性,可把整型說明符用typedef定義為typedef int INTEGER。此后就可用INTEGER來代替int作整型變量的類型說明,如INTEGER a,b等效于int a,b。</p><p><br/></p><p>用typedef定義數(shù)組、指針、結(jié)構(gòu)等類型將帶來很大的方便,不僅使程序書寫簡單而且意義更為明確,因而增強(qiáng)了可讀性。</p><p><br/></p><p>例如,typedef char NAME[20]表示NAME是字符數(shù)組類型,數(shù)組長度為20。然后可用NAME 說明變量,如NAME a1,a2,s1,s2完全等效于:char a1[20],a2[20],s1[20],s2[20]。</p><p><br/></p><p>又如:</p><p><br/></p><p> typedef struct{</p><p><br/></p><p> char name[20];</p><p><br/></p><p> int age;</p><p><br/></p><p> char sex;</p><p><br/></p><p> }STU;</p><p><br/></p><p>然后可用STU來定義結(jié)構(gòu)變量:STU body1,body2;</p><p><br/></p><p>有時也可用宏定義來代替typedef的功能,但是宏定義是由預(yù)處理完成的,而typedef則是在編譯時完成的,后者更為靈活方便。</p><p><br/></p><p>此外,采用typedef重新定義一些類型,可防止因平臺和編譯器不同而產(chǎn)生的類型字節(jié)數(shù)差異,方便移植。如:</p><p><br/></p><p><br/></p><p> typedef unsigned char boolean; /* Boolean value type. */</p><p><br/></p><p> typedef unsigned long int uint32; /* Unsigned 32 bit value */</p><p><br/></p><p> typedef unsigned short uint16; /* Unsigned 16 bit value */</p><p><br/></p><p> typedef unsigned char uint8; /* Unsigned 8 bit value */</p><p><br/></p><p> typedef signed long int int32; /* Signed 32 bit value */</p><p><br/></p><p> typedef signed short int16; /* Signed 16 bit value */</p><p><br/></p><p> typedef signed char int8; /* Signed 8 bit value */</p><p><br/></p><p><br/></p><p><br/></p><p> //下面的不建議使用</p><p><br/></p><p> typedef unsigned char byte; /* Unsigned 8 bit value type. */</p><p><br/></p><p> typedef unsigned short word; /* Unsinged 16 bit value type. */</p><p><br/></p><p> typedef unsigned long dword; /* Unsigned 32 bit value type. */</p><p><br/></p><p> typedef unsigned char uint1; /* Unsigned 8 bit value type. */</p><p><br/></p><p> typedef unsigned short uint2; /* Unsigned 16 bit value type. */</p><p><br/></p><p> typedef unsigned long uint4; /* Unsigned 32 bit value type. */</p><p><br/></p><p> typedef signed char int1; /* Signed 8 bit value type. */</p><p><br/></p><p> typedef signed short int2; /* Signed 16 bit value type. */</p><p><br/></p><p> typedef long int int4; /* Signed 32 bit value type. */</p><p><br/></p><p> typedef signed long sint31; /* Signed 32 bit value */</p><p><br/></p><p> typedef signed short sint15; /* Signed 16 bit value */</p><p><br/></p><p> typedef signed char sint7; /* Signed 8 bit value */</p><p><br/></p>Sat, 15 Feb 2020 16:42:06 +0800
- 如何降低直流穩(wěn)壓電源輸出 “紋波與噪聲” ?http://www.sxjlrobot.com/hangyexinwen/581.html<p> 紋波主要在五個方面:輸入低頻紋波、高頻紋波、寄生參數(shù)引起的共模紋波噪聲、功率器件開關(guān)過程中產(chǎn)生的超高頻諧振噪聲和閉環(huán)調(diào)節(jié)控制引起的紋波噪聲。</p><p> 1低頻紋波是與輸出電路的濾波電容容量相關(guān)。電容的容量不可能無限制地增加,導(dǎo)致輸出低頻紋波的殘留。交流紋經(jīng) DC/DC 變換器衰減后,在直流穩(wěn)壓電源輸出端表現(xiàn)為低頻噪聲,其大由 DC/DC 變換器的變比和控制系統(tǒng)的增益決定。電流型控制 DC/DC 變換器的紋波抑制比電壓型稍有提高。但其輸出端的低頻交流紋波仍較大。若要實現(xiàn)直流穩(wěn)壓電源的低紋波輸出,則必須對低頻電源紋波采取濾波措施。可采用前級預(yù)穩(wěn)壓和增大 DC/DC 變換器閉環(huán)增益來消除。</p><p> 低頻紋波抑制的幾種常用的方法:</p><p> a、加大輸出低頻濾波的電感,電容參數(shù),使低頻紋波降低到所需的指標(biāo)。</p><p> b、采用前饋控制方法,降低低頻紋波分量。</p><p> 2高頻紋波噪聲來源于高頻功率開關(guān)變換電路,在電路中,通過功率器件對輸入直流電壓進(jìn)行高頻開關(guān)變換而后整流濾波再實現(xiàn)穩(wěn)壓輸出的,在其輸出端含有與開關(guān)工作頻率相同頻率的高頻紋波,其對外電路的影響大小主要和直流穩(wěn)壓電源的變換頻率、輸出濾波器的結(jié)構(gòu)和參數(shù)有關(guān),設(shè)計中盡量提高功率變換器的工作頻率,可以減少對高頻開關(guān)紋波的濾波要求。</p><p> 高頻紋波抑制的目的是給高頻紋波提供通路,常用的方法有以下幾種:</p><p> a、提高直流穩(wěn)壓電源工作頻率,以提高高頻紋波頻率,有利于抑制輸出高頻紋波</p><p> b、加大輸出高頻濾波器,可以抑制輸出高頻紋波。</p><p> C、采用多級濾波。</p><p> 3由于功率器件與散熱器底板和變壓器原、副邊之間存在寄生電容,導(dǎo)線存在寄生電感,因此當(dāng)矩形波電壓作用于功率器件時,直流穩(wěn)壓電源的輸出端因此會產(chǎn)生共模紋波噪聲。減小與控制功率器件、變壓器與機(jī)殼地之間的寄生電容,并在輸出側(cè)加共模抑制電感及電容,可減小輸出的共模紋波噪聲。</p><p> 減小輸出共模紋波噪聲的常用方法:</p><p> a、輸出采用專門設(shè)計的 EMI 濾波器。</p><p> b、降低開關(guān)毛刺幅度。</p><p> 4超高頻諧振噪聲主要來源于高頻整流二極管反向恢復(fù)時二極管結(jié)電容、功率器件開關(guān)時功率器件結(jié)電容與線路寄生電感的諧振,頻率一般為 1-10MHz,通過選用軟恢復(fù)特性二極管、結(jié)電容小的開關(guān)管和減少布線長度等措施可以減少超高頻諧振噪聲。</p><p> 直流穩(wěn)壓電源都需對輸出電壓進(jìn)行閉環(huán)控制,調(diào)節(jié)器參數(shù)設(shè)計的不適當(dāng)也會引起紋波。當(dāng)輸出端波動時通過反饋網(wǎng)絡(luò)進(jìn)入調(diào)節(jié)器回路,可能導(dǎo)致調(diào)節(jié)器的自激振蕩,引起附加紋波。此紋波電壓一般沒有固定的頻率。在開關(guān)直流電源中,往往因調(diào)節(jié)器參數(shù)選擇不適當(dāng)會引起輸出紋波的增大。</p><p> 這部分紋波可通過以下方法進(jìn)行抑制:</p><p> a、在調(diào)節(jié)器輸出增加對地的補償網(wǎng)絡(luò),調(diào)節(jié)器的補償可抑制調(diào)節(jié)器自激引起的紋波增大。</p><p> b、合理選擇閉環(huán)調(diào)節(jié)器的開環(huán)放大倍數(shù)和閉環(huán)調(diào)節(jié)器的參數(shù),開環(huán)放大倍數(shù)過大有時會引起調(diào)節(jié)器的振蕩或自激,使輸出紋彼含量增加,過小的開環(huán)放大倍數(shù)使輸出電壓穩(wěn)定性變差及紋波含量增加.所以調(diào)節(jié)器的開環(huán)放大倍數(shù)及閉環(huán)調(diào)節(jié)器的參數(shù)要合理選取,調(diào)試中要根據(jù)負(fù)載狀況進(jìn)行調(diào)節(jié)。</p><p> c、在反饋通道中不增加純滯后濾波環(huán)節(jié).使延時滯后降到最小.以增加閉環(huán)調(diào)節(jié)的快速性和及時性,對抑制輸出電壓紋波是有益的。</p><p><br/></p>Sat, 15 Feb 2020 16:40:07 +0800
- 如何實現(xiàn)外界擾動下孤立交大功率直流電源混合微電網(wǎng)功率的自主平衡,并提高系統(tǒng)應(yīng)對擾動沖擊的抵御能力?http://www.sxjlrobot.com/hangyexinwen/580.html<p>為實現(xiàn)外界擾動下孤立交大功率直流電源混合微電網(wǎng)系統(tǒng)功率的自主平衡,其雙向AC/DC換流器的控制應(yīng)同時考慮交流側(cè)頻率和大功率直流電源側(cè)電壓的運行狀態(tài),現(xiàn)有研究尚未闡明全網(wǎng)功率成比例分配時,交流頻率和大功率直流電源電壓與雙向AC/DC換流器傳輸功率需滿足的平衡關(guān)系。與此同時,在孤立混合微電網(wǎng)系統(tǒng)中,母線電壓由于沒有大電網(wǎng)的支撐而易于受到功率擾動的影響。因此,研究適用于雙向AC/DC換流器的內(nèi)外環(huán)控制策略,可以實現(xiàn)外界擾動下孤立交大功率直流電源混合微電網(wǎng)功率的自主分配,并顯著提高系統(tǒng)應(yīng)對擾動沖擊的抵御能力。</p><p>2</p><p><br/></p><p>論文所解決的問題及意義 </p><p>本文通過對孤立混合微網(wǎng)中雙向AC/DC換流器交流側(cè)和大功率直流電源側(cè)的有功功率下垂控制方程進(jìn)行整合,將功率分配原則擴(kuò)展至整個交大功率直流電源混合微網(wǎng)中,提出了基于全網(wǎng)功率成比例分配原則的雙向AC/DC換流器外環(huán)功率控制策略,實現(xiàn)了孤立混合微電網(wǎng)功率的自主平衡;同時在對雙向AC/DC換流器進(jìn)行電壓波動分析的基礎(chǔ)上,提出了抑制電壓波動的雙向AC/DC換流器改進(jìn)內(nèi)環(huán)控制策略,在無需額外傳感器的情況下快速跟蹤系統(tǒng)的等效電流干擾并進(jìn)行抑制,增強(qiáng)了系統(tǒng)抗外界干擾的能力。</p><p>3</p><p><br/></p><p>論文重點內(nèi)容 </p><p>(1)孤立交大功率直流電源混合微電網(wǎng)雙向AC/DC換流器外環(huán)功率控制策略</p><p><br/></p><p>在采用下垂控制的混合微電網(wǎng)中,對于通過雙向AC/DC換流器連接到交大功率直流電源母線上的交流和大功率直流電源子微網(wǎng)來說,可以分別將其看作為“交流整合電源”和“大功率直流電源整合電源”(如圖1所示),與其余并聯(lián)在母線上的分布式電源一樣,所整合電源通過雙向AC/DC換流器根據(jù)交流頻率/大功率直流電源電壓來確定其向?qū)?cè)子微網(wǎng)傳輸有功功率的大?。魅牖蛄鞒觯?lt;/p><p><br/></p><p><img src="http://www.sxjlrobot.com/zb_users/upload/2020/02/202002151581755068256763.png" title="如何實現(xiàn)外界擾動下孤立交大功率直流電源混合微電網(wǎng)功率的自主平衡,并提高系統(tǒng)應(yīng)對擾動沖擊的抵御能力?" alt="如何實現(xiàn)外界擾動下孤立交大功率直流電源混合微電網(wǎng)功率的自主平衡,并提高系統(tǒng)應(yīng)對擾動沖擊的抵御能力?" width="400" height="127" border="0" vspace="0" style="width: 400px; height: 127px;"/></p><p>圖1 孤立混合微電網(wǎng)等效模型</p><p><br/></p><p>進(jìn)而可以推導(dǎo)出全網(wǎng)功率成比例分配的平衡關(guān)系式為:</p><p><br/></p><p>基于該平衡關(guān)系式的雙向AC/DC換流器有功控制策略可以在外界擾動下充分發(fā)揮交大功率直流電源兩側(cè)功率的快速支撐能力,無論功率波動發(fā)生在交流還是大功率直流電源側(cè),所有分布式電源共同參與功率平衡以避免單個電源過載情況的發(fā)生。同時該策略自主調(diào)節(jié)交流和大功率直流電源母線間有功功率的流動方向,無需在多種控制方式之間切換,可以滿足不同運行方式的需求。</p><p><br/></p><p>(2)孤立交大功率直流電源混合微電網(wǎng)雙向AC/DC換流器電壓擾動抑制策略</p><p>在雙向AC/DC換流器常規(guī)雙環(huán)控制中,內(nèi)環(huán)參考電流由外環(huán)功率的參考值給出。當(dāng)發(fā)生外界功率突變引起換流器母線電壓產(chǎn)生偏差后,功率的參考值才會相應(yīng)地變化以調(diào)整其傳輸功率的大小,因而會對換流器電壓造成較大的沖擊??赏茖?dǎo)得出如下的換流器電壓響應(yīng)方程:</p><p><br/></p><p>利用干擾觀測環(huán)節(jié)(DOL)可以估計輸出電流的擾動大小,其應(yīng)用無需增加額外傳感器以及其他分布式電源或負(fù)載的電氣信息,減少了設(shè)備投資和通信成本,便于分布式電源的即插即用功能。擾動電流的觀測方程為:</p><p><br/></p><p>通過增加擾動觀測環(huán)節(jié)來快速跟蹤系統(tǒng)的等效負(fù)載電流干擾,進(jìn)而提出了基于擾動補償?shù)慕淮蠊β手绷麟娫椿旌衔㈦娋W(wǎng)雙向AC/DC換流器的內(nèi)環(huán)電壓波動抑制策略,控制框圖如圖2所示。</p><p><br/></p><p><img src="http://www.sxjlrobot.com/zb_users/upload/2020/02/202002151581755087627423.png" title="如何實現(xiàn)外界擾動下孤立交大功率直流電源混合微電網(wǎng)功率的自主平衡,并提高系統(tǒng)應(yīng)對擾動沖擊的抵御能力?" alt="如何實現(xiàn)外界擾動下孤立交大功率直流電源混合微電網(wǎng)功率的自主平衡,并提高系統(tǒng)應(yīng)對擾動沖擊的抵御能力?" width="400" height="382" border="0" vspace="0" style="width: 400px; height: 382px;"/></p><p>圖2 基于擾動補償?shù)碾p向AC/DC換流器改進(jìn)內(nèi)環(huán)控制策略</p><p>4</p><p><br/></p><p>結(jié)論</p><p>本文針對孤立運行的交大功率直流電源混合微電網(wǎng),提出了基于全網(wǎng)功率成比例分配原則的雙向AC/DC換流器外環(huán)控制策略,以及抑制電壓波動的改進(jìn)內(nèi)環(huán)控制策略,得出的結(jié)論如下:</p><p>(1)本文提出的雙向AC/DC換流器外環(huán)功率控制策略以交流頻率和大功率直流電源電壓為輸入,充分發(fā)揮了外界擾動下交大功率直流電源兩側(cè)功率的快速支撐能力,實現(xiàn)了混合微電網(wǎng)的功率平衡和自主分配;</p><p>(2)本文提出的改進(jìn)內(nèi)環(huán)控制可以在無需額外傳感器的情況下快速跟蹤系統(tǒng)的等效電流干擾并對其進(jìn)行抑制,在保證理想穩(wěn)態(tài)性能的同時提高了外界干擾沖擊下微電網(wǎng)的動態(tài)性能;</p><p>(3)本文所提出的雙向AC/DC換流器功率控制策略依據(jù)各分布式電源的額定容量進(jìn)行功率分配,針對未來熱電聯(lián)供的復(fù)雜微電網(wǎng)能源系統(tǒng),考慮發(fā)電效率、制熱效率、環(huán)境懲罰以及市場政策等眾多因素對系統(tǒng)功率進(jìn)行綜合管控,是下一步的研究方向。</p>Sat, 15 Feb 2020 16:23:00 +0800
- 作為高壓直流穩(wěn)壓電源電路設(shè)計工程師的你分得清什么是諧波、紋波、噪聲?http://www.sxjlrobot.com/hangyexinwen/579.html<p><span style="color: #FF0000;"><strong><span style="font-size: 16px;">紋波</span></strong></span></p><p><span style="font-size: 16px;">紋波:是附著于直流電平之上的包含周期性與隨機(jī)性成分的雜波信號。指在額定輸出電壓、電流的情況下,輸出電壓中的交流電壓的峰值。狹義上的紋波電壓,是指輸出直流電壓中含有的工頻交流成分。</span></p><p><span style="color: #FF0000;"><strong><span style="font-size: 16px;">噪聲</span></strong></span></p><p><span style="font-size: 16px;">噪聲:對于電子線路中所標(biāo)稱的噪聲,可以概括地認(rèn)為,它是對目的信號以外的所有信號的一個總稱。最初人們把造成收音機(jī)這類音響設(shè)備所發(fā)出噪聲的那些電子信號,稱為噪聲。但是,一些非目的的電子信號對電子線路造成的后果并非都和聲音有關(guān),因而,后來人們逐步擴(kuò)大了噪聲概念。例如,把造成視屏幕有白斑條紋的那些電子信號也稱為噪聲。可能以說,電路中除目的的信號以外的一切信號,不管它對電路是否造成影響,都可稱為噪聲。例如,電源電壓中的紋波或自激振蕩,可對電路造成不良影響,使音響裝置發(fā)出交流聲或?qū)е码娐氛`動作,但有時也許并不導(dǎo)致上述后果。對于這種紋波或振蕩,都應(yīng)稱為電路的一種噪聲。又有某一頻率的無線電波信號,對需要接收這種信號的接收機(jī)來講,它是正常的目的信號,而對另一接收機(jī)它就是一種非目的信號,即是噪聲。在電子學(xué)中常使用干擾這個術(shù)語,有時會與噪聲的概念相混淆,其實,是有區(qū)別的。噪聲是一種電子信號,而干擾是指的某種效應(yīng),是由于噪聲原因?qū)﹄娐吩斐傻囊环N不良反應(yīng)。而電路中存在著噪聲,卻不一定就有干擾。在數(shù)字電路中。往往可以用示波器觀察到在正常的脈沖信號上混有一些小的尖峰脈沖是所不期望的,而是一種噪聲。但由于電路特性關(guān)系,這些小尖峰脈沖還不致于使數(shù)字電路的邏輯受到影響而發(fā)生混亂,所以可以認(rèn)為是沒有干擾。</span></p><p><span style="font-size: 16px;">當(dāng)一個噪聲電壓大到足以使電路受到干擾時,該噪聲電壓就稱為干擾電壓。而一個電路或一個器件,當(dāng)它還能保持正常工作時所加的最大噪聲電壓,稱為該電路或器件的抗干擾容限或抗擾度。一般說來,噪聲很難消除,但可以設(shè)法降低噪聲的強(qiáng)度或提高電路的抗擾度,以使噪聲不致于形成干擾。</span></p><p><span style="color: #FF0000;"><strong><span style="font-size: 16px;">諧波</span></strong></span></p><p><span style="font-size: 16px;">諧波:是指電流中所含有的頻率為基波的整數(shù)倍的電量,一般是指對周期性的非正弦電量進(jìn)行傅里葉級數(shù)分解,其余大于基波頻率的電流產(chǎn)生的電量。從廣義上講,由于交流電網(wǎng)有效分量為工頻單一頻率,因此任何與工頻頻率不同的成分都可以稱之為諧波。</span></p><p><span style="font-size: 16px;">諧波產(chǎn)生的原因:由于正弦電壓加壓于非線性負(fù)載,當(dāng)電流流經(jīng)負(fù)載時,與所加的電壓不呈線性關(guān)系,基波電流發(fā)生畸變就形成非正弦電流,即電路中有諧波產(chǎn)生。主要非線性負(fù)載有UPS、高壓直流穩(wěn)壓電源、整流器、變頻器、逆變器等。</span></p><p><span style="font-size: 16px;">今天此篇文章主要講解高壓直流穩(wěn)壓電源中的紋波和噪聲</span></p><p><span style="font-size: 16px;">高壓直流穩(wěn)壓電源(包括AC/DC轉(zhuǎn)換器、DC/DC轉(zhuǎn)換器、AC/DC模塊和DC/DC模塊)與線性電源相比較,最突出的優(yōu)點是轉(zhuǎn)換效率高,一般可達(dá)80%~85%,高的可達(dá)90%~97%;其次,高壓直流穩(wěn)壓電源采用高頻變壓器替代了笨重的工頻變壓器,不僅重量減輕,體積也減小了,因此應(yīng)用范圍越來越廣。但高壓直流穩(wěn)壓電源的缺點是由于其開關(guān)管工作于高頻開關(guān)狀態(tài),輸出的紋波和噪聲電壓較大,一般為輸出電壓的1%左右(低的為輸出電壓的0.5%左右),最好產(chǎn)品的紋波和噪聲電壓也有幾十mV;而線性電源的調(diào)整管工作于線性狀態(tài),無紋波電壓,輸出的噪聲電壓也較小,其單位是μV。</span></p><p><span style="font-size: 16px;">簡單地介紹高壓直流穩(wěn)壓電源產(chǎn)生紋波和噪聲的原因和測量方法、測量裝置、測量標(biāo)準(zhǔn)及減小紋波和噪聲的措施。</span></p><p><span style="color: #FF0000;"><strong><span style="font-size: 16px;">紋波和噪聲產(chǎn)生的原因</span></strong></span></p><p><span style="font-size: 16px;">高壓直流穩(wěn)壓電源輸出的不是純正的直流電壓,里面有些交流成分,這就是紋波和噪聲造成的。紋波是輸出直流電壓的波動,與高壓直流穩(wěn)壓電源的開關(guān)動作有關(guān)。每一個開、關(guān)過程,電能從輸入端被“泵到”輸出端,形成一個充電和放電的過程,從而造成輸出電壓的波動,波動頻率與開關(guān)的頻率相同。紋波電壓是紋波的波峰與波谷之間的峰峰值,其大小與高壓直流穩(wěn)壓電源的輸入電容和輸出電容的容量及品質(zhì)有關(guān)。</span></p><p><span style="font-size: 16px;">噪聲的產(chǎn)生原因有兩種,一種是高壓直流穩(wěn)壓電源自身產(chǎn)生的;另一種是外界電磁場的干擾(EMI),它能通過輻射進(jìn)入高壓直流穩(wěn)壓電源或者通過電源線輸入高壓直流穩(wěn)壓電源。</span></p><p><span style="font-size: 16px;">高壓直流穩(wěn)壓電源自身產(chǎn)生的噪聲是一種高頻的脈沖串,由發(fā)生在開關(guān)導(dǎo)通與截止瞬間產(chǎn)生的尖脈沖所造成,也稱為開關(guān)噪聲。噪聲脈沖串的頻率比開關(guān)頻率高得多,噪聲電壓是其峰峰值。噪聲電壓的振幅很大程度上與高壓直流穩(wěn)壓電源的拓?fù)洹㈦娐分械募纳鸂顟B(tài)及PCB的設(shè)計有關(guān)。</span></p><p><span style="font-size: 16px;">利用示波器可以看到紋波和噪聲的波形,如圖1所示。紋波的頻率與開關(guān)管頻率相同,而噪聲的頻率是開關(guān)管的兩倍。紋波電壓的峰峰值和噪聲電壓的峰峰值之和就是紋波和噪聲電壓,其單位是mVp-p。</span></p><p><img src="http://www.sxjlrobot.com/zb_users/upload/2020/02/202002101581321391398365.png" title="作為高壓直流穩(wěn)壓電源電路設(shè)計工程師的你分得清什么是諧波、紋波、噪聲?" alt="作為高壓直流穩(wěn)壓電源電路設(shè)計工程師的你分得清什么是諧波、紋波、噪聲?" width="400" height="73" border="0" vspace="0" style="width: 400px; height: 73px;"/></p><p><span style="font-size: 16px;">圖1 紋波和噪聲的波形</span></p><p><span style="color: #FF0000;"><strong><span style="font-size: 16px;">紋波和噪聲的測量方法</span></strong></span></p><p><span style="font-size: 16px;">紋波和噪聲電壓是高壓直流穩(wěn)壓電源的主要性能參數(shù)之一,因此如何精準(zhǔn)測量是一個十分重要問題。目前測量紋波和噪聲電壓是利用寬頻帶示波器來測量的方法,它能精準(zhǔn)地測出紋波和噪聲電壓值。</span></p><p><span style="font-size: 16px;">由于高壓直流穩(wěn)壓電源的品種繁多(有不同的拓?fù)?、工作頻率、輸出功率、不同的技術(shù)要求等),但是各生產(chǎn)廠家都采用示波器測量法,僅測量裝置上不完全相同,因此各廠對不同高壓直流穩(wěn)壓電源的測量都有自己的標(biāo)準(zhǔn),即企業(yè)標(biāo)準(zhǔn)。</span></p><p><span style="font-size: 16px;">用示波器測量紋波和噪聲的裝置的框圖如圖2所示。它由被測高壓直流穩(wěn)壓電源、負(fù)載、示波器及測量連線組成。有的測量裝置中還焊上電感或電容、電阻等元件。</span></p><p><img src="http://www.sxjlrobot.com/zb_users/upload/2020/02/202002101581321404156932.png" title="作為高壓直流穩(wěn)壓電源電路設(shè)計工程師的你分得清什么是諧波、紋波、噪聲?" alt="作為高壓直流穩(wěn)壓電源電路設(shè)計工程師的你分得清什么是諧波、紋波、噪聲?" width="400" height="205" border="0" vspace="0" style="width: 400px; height: 205px;"/></p><p><span style="font-size: 16px;">圖2 示波器測量框圖</span></p><p><span style="font-size: 16px;">從圖2來看,似乎與其他測波形電路沒有什么區(qū)別,但實際上要求不同。測紋波和噪聲電壓的要求如下:</span></p><p><br/></p><p><span style="font-size: 16px;">● 要防止環(huán)境的電磁場干擾(EMI)侵入,使輸出的噪聲電壓不受EMI的影響;</span></p><p><span style="font-size: 16px;">● 要防止負(fù)載電路中可能產(chǎn)生的EMI干擾;</span></p><p><span style="font-size: 16px;">● 對小型開關(guān)型模塊電源,由于內(nèi)部無輸出電容或輸出電容較小,所以在測量時要加上適當(dāng)?shù)妮敵鲭娙荨?lt;/span></p><p><br/></p><p><span style="font-size: 16px;">為滿足第1條要求,測量連線應(yīng)盡量短,并采用雙絞線(消除共模噪聲干擾)或同軸電纜;一般的示波器探頭不能用,需用專用示波器探頭;并且測量點應(yīng)在電源輸出端上,若測量點在負(fù)載上則會造成極大的測量誤差。為滿足第2點,負(fù)載應(yīng)采用阻性假負(fù)載。</span></p><p><br/></p><p><span style="font-size: 16px;">經(jīng)常有這樣的情況發(fā)生,用戶買回的高壓直流穩(wěn)壓電源或模塊電源,在測量紋波和噪聲這一性能指標(biāo)時,發(fā)現(xiàn)與產(chǎn)品技術(shù)規(guī)格上的指標(biāo)不符,大大地超過技術(shù)規(guī)格上的性能指標(biāo)要求,這往往是用戶的測量裝置不合適,測量的方法(測量點的選擇)不合適或采用通用的測量探頭所致</span></p><p><span style="color: #FF0000;"><strong><span style="font-size: 16px;">幾種測量裝置</span></strong></span></p><p><span style="font-size: 16px;">1雙絞線測量裝置</span></p><p><span style="font-size: 16px;">雙絞線測量裝置如圖3所示。采用300mm(12英寸)長、#16AWG線規(guī)組成的雙絞線與被測高壓直流穩(wěn)壓電源的+OUT及-OUT連接,在+OUT與-OUT之間接上阻性假負(fù)載。在雙絞線末端接一個4TμF電解電容(鉭電容)后輸入帶寬為50MHz(有的企業(yè)標(biāo)準(zhǔn)為20MHz)的示波器。在測量點連接時,一端要接在+OUT上,另一端接到地平面端。</span></p><p><img src="http://www.sxjlrobot.com/zb_users/upload/2020/02/202002101581321417286374.png" title="作為高壓直流穩(wěn)壓電源電路設(shè)計工程師的你分得清什么是諧波、紋波、噪聲?" alt="作為高壓直流穩(wěn)壓電源電路設(shè)計工程師的你分得清什么是諧波、紋波、噪聲?" width="400" height="160" border="0" vspace="0" style="width: 400px; height: 160px;"/></p><p><span style="font-size: 16px;">圖3 雙絞線測量裝置</span></p><p><br/></p><p><span style="font-size: 16px;">這里要注意的是,雙絞線接地線的末端要盡量的短,夾在探頭的地線環(huán)上。</span></p><p><span style="font-size: 16px;">2 平行線測量裝置</span></p><p><span style="font-size: 16px;">平行線測量裝置如圖4所示。圖4中,C1是多層陶瓷電容(MLCC),容量為1μF,C2是鉭電解電容,容量是10μF。兩條平行銅箔帶的電壓降之和小于輸出電壓值的2%。該測量方法的優(yōu)點是與實際工作環(huán)境比較接近,缺點是較容易撿拾EMI干擾。</span></p><p><img src="http://www.sxjlrobot.com/zb_users/upload/2020/02/202002101581321432469267.png" title="作為高壓直流穩(wěn)壓電源電路設(shè)計工程師的你分得清什么是諧波、紋波、噪聲?" alt="作為高壓直流穩(wěn)壓電源電路設(shè)計工程師的你分得清什么是諧波、紋波、噪聲?" width="400" height="190" border="0" vspace="0" style="width: 400px; height: 190px;"/></p><p><span style="font-size: 16px;">圖4 平行線測量裝置</span></p><p><span style="font-size: 16px;">3 專用示波器探頭</span></p><p><span style="font-size: 16px;">圖5所示為一種專用示波器探頭直接與波測電源靠接。專用示波器探頭上有個地線環(huán),其探頭的尖端接觸電源輸出正極,地線環(huán)接觸電源的負(fù)極(GND),接觸要可靠。</span></p><p><img src="http://www.sxjlrobot.com/zb_users/upload/2020/02/202002101581321446844792.png" title="作為高壓直流穩(wěn)壓電源電路設(shè)計工程師的你分得清什么是諧波、紋波、噪聲?" alt="作為高壓直流穩(wěn)壓電源電路設(shè)計工程師的你分得清什么是諧波、紋波、噪聲?" width="400" height="162" border="0" vspace="0" style="width: 400px; height: 162px;"/></p><p><span style="font-size: 16px;">圖5 示波器探頭的接法</span></p><p><span style="font-size: 16px;">這里順便提出,不能采用示波器的通用探頭,因為通用示波器探頭的地線不屏蔽且較長,容易撿拾外界電磁場的干擾,造成較大的噪聲輸出,虛線面積越大,受干擾的影響越大,如圖6所示。</span></p><p><img src="http://www.sxjlrobot.com/zb_users/upload/2020/02/202002101581321459675078.png" title="作為高壓直流穩(wěn)壓電源電路設(shè)計工程師的你分得清什么是諧波、紋波、噪聲?" alt="作為高壓直流穩(wěn)壓電源電路設(shè)計工程師的你分得清什么是諧波、紋波、噪聲?" width="400" height="175" border="0" vspace="0" style="width: 400px; height: 175px;"/></p><p><span style="font-size: 16px;">圖6 通用探頭易造成干擾</span></p><p><span style="font-size: 16px;">4 同軸電纜測量裝置</span></p><p><span style="font-size: 16px;">這里介紹兩種同軸電纜測量裝置。圖7是在被測電源的輸出端接R、C電路后經(jīng)輸入同軸電纜(50Ω)后接示波器的AC輸入端;圖8是同軸電纜直接接電源輸出端,在同軸電纜的兩端串接1個0.68μF陶瓷電容及1個47Ω/1w碳膜電阻后接入示波器。T形BNC連接器和電容電阻的連接如圖9所示。</span></p><p><img src="http://www.sxjlrobot.com/zb_users/upload/2020/02/202002101581321473142657.png" title="作為高壓直流穩(wěn)壓電源電路設(shè)計工程師的你分得清什么是諧波、紋波、噪聲?" alt="作為高壓直流穩(wěn)壓電源電路設(shè)計工程師的你分得清什么是諧波、紋波、噪聲?" width="400" height="150" border="0" vspace="0" style="width: 400px; height: 150px;"/></p><p><span style="font-size: 16px;">圖7 同軸電纜測量裝置1</span></p><p><img src="http://www.sxjlrobot.com/zb_users/upload/2020/02/202002101581321486489488.png" title="作為高壓直流穩(wěn)壓電源電路設(shè)計工程師的你分得清什么是諧波、紋波、噪聲?" alt="作為高壓直流穩(wěn)壓電源電路設(shè)計工程師的你分得清什么是諧波、紋波、噪聲?" width="400" height="241" border="0" vspace="0" style="width: 400px; height: 241px;"/></p><p><span style="font-size: 16px;">圖8 同軸電纜測量裝置2</span></p><p><img src="http://www.sxjlrobot.com/zb_users/upload/2020/02/202002101581321501531040.jpg" title="作為高壓直流穩(wěn)壓電源電路設(shè)計工程師的你分得清什么是諧波、紋波、噪聲?" alt="作為高壓直流穩(wěn)壓電源電路設(shè)計工程師的你分得清什么是諧波、紋波、噪聲?" width="400" height="232" border="0" vspace="0" style="width: 400px; height: 232px;"/></p><p><span style="font-size: 16px;">圖9 T形BNC連接器和電容電阻的連接</span></p><p><span style="color: #FF0000;"><strong><span style="font-size: 16px;">紋波和噪聲的測量標(biāo)準(zhǔn)</span></strong></span></p><p><span style="font-size: 16px;">以上介紹了多種測量裝置,同一個被測電源若采用不同的測量裝置,其測量的結(jié)果是不相同的,若能采用一樣的標(biāo)準(zhǔn)測量裝置來測,則測量的結(jié)果才有可比性。</span></p><p><img src="http://www.sxjlrobot.com/zb_users/upload/2020/02/202002101581321512233649.png" title="作為高壓直流穩(wěn)壓電源電路設(shè)計工程師的你分得清什么是諧波、紋波、噪聲?" alt="作為高壓直流穩(wěn)壓電源電路設(shè)計工程師的你分得清什么是諧波、紋波、噪聲?" width="400" height="196" border="0" vspace="0" style="width: 400px; height: 196px;"/></p><p><span style="font-size: 16px;">圖10 測量標(biāo)準(zhǔn)的測量裝置</span></p><p><span style="font-size: 16px;">國家標(biāo)準(zhǔn)規(guī)定在被測電源輸出正、負(fù)端小于150mm處并聯(lián)兩個電容C2及C3,C2為22μF電解電容,C3為0.47μF薄膜電容。在這兩個電容的連接端接負(fù)載及不超過1.5m長的50Ω同軸電纜,同軸電纜的另一端連接一個50Ω的電阻R和串接一個4700pF的電容C1后接入示波器,示波器的帶寬為100MHz。同軸電纜的兩端連接線應(yīng)盡可能地短,以防止撿拾輻射的噪聲。另外,連接負(fù)載的線若越長,則測出的紋波和噪聲電壓越大,在這情況下有必要連接C2及C3。若示波器探頭的地線太長,則紋波和噪聲的測量不可能精確。</span></p><p><span style="font-size: 16px;">另外,測試應(yīng)在溫室條件下,被測電源應(yīng)輸入正常的電壓,輸出額定電壓及額定負(fù)載電流。</span></p><p><span style="color: #FF0000;"><strong><span style="font-size: 16px;">減小紋波和噪聲電壓的措施</span></strong></span></p><p><span style="font-size: 16px;">高壓直流穩(wěn)壓電源除開關(guān)噪聲外,在AC/DC轉(zhuǎn)換器中輸入的市電經(jīng)全波整流及電容濾波,電流波形為脈沖,如圖11所示(圖a是全波整流、濾波電路,b是電壓及電流波形)。電流波形中有高次諧波,它會增加噪聲輸出。良好的高壓直流穩(wěn)壓電源(AC/DC轉(zhuǎn)換器)在電路增加了功率因數(shù)校正(PFC)電路,使輸出電流近似正弦波,降低高次諧波,功率因數(shù)提高到0.95左右,減小了對電網(wǎng)的污染。電路圖如圖12所示。</span></p><p><img src="http://www.sxjlrobot.com/zb_users/upload/2020/02/202002101581321526686887.png" title="作為高壓直流穩(wěn)壓電源電路設(shè)計工程師的你分得清什么是諧波、紋波、噪聲?" alt="作為高壓直流穩(wěn)壓電源電路設(shè)計工程師的你分得清什么是諧波、紋波、噪聲?" width="400" height="168" border="0" vspace="0" style="width: 400px; height: 168px;"/></p><p><span style="font-size: 16px;">圖11 高壓直流穩(wěn)壓電源整流波形</span></p><p><img src="http://www.sxjlrobot.com/zb_users/upload/2020/02/202002101581321541584953.png" title="作為高壓直流穩(wěn)壓電源電路設(shè)計工程師的你分得清什么是諧波、紋波、噪聲?" alt="作為高壓直流穩(wěn)壓電源電路設(shè)計工程師的你分得清什么是諧波、紋波、噪聲?" width="400" height="201" border="0" vspace="0" style="width: 400px; height: 201px;"/></p><p><span style="font-size: 16px;">圖12 高壓直流穩(wěn)壓電源PFC電路</span></p><p><span style="font-size: 16px;">高壓直流穩(wěn)壓電源或模塊的輸出紋波和噪聲電壓的大小與其電源的拓?fù)洌鞑糠蛛娐返脑O(shè)計及PCB設(shè)計有關(guān)。例如,采用多相輸出結(jié)構(gòu),可有效地降低紋波輸出。現(xiàn)在的高壓直流穩(wěn)壓電源的開關(guān)頻率越來越高;低的是幾十kHz,一般是幾百kHz,而高的可達(dá)1MHz以上。因此產(chǎn)生的紋波電壓及噪聲電壓的頻率都很高,要減小紋波和噪聲最簡單的辦法是在電源電路中加無源低通濾波器。</span></p><p><span style="font-size: 16px;">1 減少EMI的措施</span></p><p><span style="font-size: 16px;">可以采用金屬外殼做屏蔽減小外界電磁場輻射干擾。為減少從電源線輸入的電磁干擾,在電源輸入端加EMI濾波器,如圖13所示(EMI濾波器也稱為電源濾波器)。</span></p><p><img src="http://www.sxjlrobot.com/zb_users/upload/2020/02/202002101581321557491837.png" title="作為高壓直流穩(wěn)壓電源電路設(shè)計工程師的你分得清什么是諧波、紋波、噪聲?" alt="作為高壓直流穩(wěn)壓電源電路設(shè)計工程師的你分得清什么是諧波、紋波、噪聲?" width="400" height="225" border="0" vspace="0" style="width: 400px; height: 225px;"/></p><p><span style="font-size: 16px;">圖13 高壓直流穩(wěn)壓電源加EMI濾波</span></p><p><span style="font-size: 16px;">2 在輸出端采用高頻性能好、ESR低的電容</span></p><p><span style="font-size: 16px;">采用高分子聚合物固態(tài)電解質(zhì)的鋁或鉭電解電容作輸出電容是最佳的,其特點是尺寸小而電容量大,高頻下ESR阻抗低,允許紋波電流大。它最適用于高效率、低電壓、大電流降壓式DC/DC轉(zhuǎn)換器及DC/DC模塊電源作輸出電容。例如,一種高分子聚合物鉭固態(tài)電解電容為68μF,其在20℃、100kHz時的等效串聯(lián)電阻(ESR)最大值為25mΩ,最大的允許紋波電流(在100kHz時)為2400mArms,其尺寸為:7.3mm(長)×4.3mm(寬)×1.8mm(高),其型號為10TPE68M(貼片或封裝)。</span></p><p><br/></p><p><span style="font-size: 16px;">紋波電壓ΔVOUT為:</span></p><p><span style="font-size: 16px;">ΔVOUT=ΔIOUT×ESR (1)</span></p><p><span style="font-size: 16px;">若ΔIOUT=0.5A,ESR=25mΩ,則ΔVOUT=12.5mV。</span></p><p><span style="font-size: 16px;">若采用普通的鋁電解電容作輸出電容,額定電壓10V、額定電容量100μF,在20℃、120Hz時的等效串聯(lián)電阻為5.0Ω,最大紋波電流為70mA。它只能工作于10kHz左右,無法在高頻(100kHz以上的頻率)下工作,再增加電容量也無效,因為超過10kHz時,它已成電感特性了。</span></p><p><span style="font-size: 16px;">某些開關(guān)頻率在100kHz到幾百kHz之間的電源,采用多層陶電容(MLCC)或鉭電解電容作輸出電容的效果也不錯,其價位要比高分子聚合物固態(tài)電解質(zhì)電容要低得多。</span></p><p><span style="font-size: 16px;">3 采用與產(chǎn)品系統(tǒng)的頻率同步</span></p><p><span style="font-size: 16px;">為減小輸出噪聲,電源的開關(guān)頻率應(yīng)與系統(tǒng)中的頻率同步,即高壓直流穩(wěn)壓電源采用外同步輸入系統(tǒng)的頻率,使開關(guān)的頻率與系統(tǒng)的頻率相同。</span></p><p><span style="font-size: 16px;">4 避免多個模塊電源之間相互干擾</span></p><p><span style="font-size: 16px;">在同一塊PCB上可能有多個模塊電源一起工作。若模塊電源是不屏蔽的、并且靠的很近,則可能相互干擾使輸出噪聲電壓增加。為避免這種相互干擾可采用屏蔽措施或?qū)⑵溥m當(dāng)遠(yuǎn)離,減少其相互影響的干擾。</span></p><p><span style="font-size: 16px;">5 增加LC濾波器</span></p><p><span style="font-size: 16px;">為減小模塊電源的紋波和噪聲,可以在DC/DC模塊的輸入和輸出端加LC濾波器,如圖14所示。圖14左圖是單輸出,圖14右圖是雙輸出。</span></p><p><img src="http://www.sxjlrobot.com/zb_users/upload/2020/02/202002101581321581515147.png" title="作為高壓直流穩(wěn)壓電源電路設(shè)計工程師的你分得清什么是諧波、紋波、噪聲?" alt="作為高壓直流穩(wěn)壓電源電路設(shè)計工程師的你分得清什么是諧波、紋波、噪聲?" width="400" height="57" border="0" vspace="0" style="width: 400px; height: 57px;"/></p><p><span style="font-size: 16px;">圖14 在DC/DC模塊中加入LC濾波器</span></p><p><span style="font-size: 16px;">在表1及表2中列出1W DC/DC模塊的VIN端和VOUT端在不同輸出電壓時的電容值。要注意的是,電容量不能過大而造起動問題,LC的諧振頻率必須與開關(guān)頻率要錯開以避免相互干擾,L采用μH極的,其直流電阻要低,以免影響輸出電壓精度。</span></p><p><br/></p><p><img src="http://www.sxjlrobot.com/zb_users/upload/2020/02/202002101581321596988697.png" style="width: 400px; height: 191px;" title="作為高壓直流穩(wěn)壓電源電路設(shè)計工程師的你分得清什么是諧波、紋波、噪聲?" width="400" height="191" border="0" vspace="0" alt="作為高壓直流穩(wěn)壓電源電路設(shè)計工程師的你分得清什么是諧波、紋波、噪聲?"/></p><p><img src="http://www.sxjlrobot.com/zb_users/upload/2020/02/202002101581321596175790.png" style="width: 400px; height: 191px;" title="作為高壓直流穩(wěn)壓電源電路設(shè)計工程師的你分得清什么是諧波、紋波、噪聲?" width="400" height="191" border="0" vspace="0" alt="作為高壓直流穩(wěn)壓電源電路設(shè)計工程師的你分得清什么是諧波、紋波、噪聲?"/></p><p><span style="font-size: 16px;">表1和表2</span></p><p><span style="font-size: 16px;">6 增加LDO</span></p><p><span style="font-size: 16px;">在高壓直流穩(wěn)壓電源或模塊電源輸出后再加一個低壓差線性穩(wěn)壓器(LDO)能大幅度地降低輸出噪聲,以滿足對噪聲特別有要求的電路需要(見圖15),輸出噪聲可達(dá)μV級。</span></p><p><img src="http://www.sxjlrobot.com/zb_users/upload/2020/02/202002101581321617416336.png" title="作為高壓直流穩(wěn)壓電源電路設(shè)計工程師的你分得清什么是諧波、紋波、噪聲?" alt="作為高壓直流穩(wěn)壓電源電路設(shè)計工程師的你分得清什么是諧波、紋波、噪聲?" width="400" height="178" border="0" vspace="0" style="width: 400px; height: 178px;"/></p><p><span style="font-size: 16px;">圖15 在電源中加入LDO</span></p><p><span style="font-size: 16px;">由于LDO的壓差(輸入與輸出電壓的差值)僅幾百mV,則在高壓直流穩(wěn)壓電源的輸出略高于LDO幾百mV就可以輸出標(biāo)準(zhǔn)電壓了,并且其損耗也不大。</span></p><p><span style="font-size: 16px;">7 增加有源EMI濾波器及有源輸出紋波衰減器</span></p><p><span style="font-size: 16px;">有源EMI濾波器可在150kHz~30MHz間衰減共模和差模噪聲,并且對衰減低頻噪聲特別有效。在250kHz時,可衰減60dB共模噪聲及80dB差模噪聲,在滿載時效率可達(dá)99%。</span></p><p><span style="font-size: 16px;">輸出紋波衰減器可在1~500kHz范圍內(nèi)減低電源輸出紋波和噪聲30dB以上,并且能改善動態(tài)響應(yīng)及減小輸出電容。</span></p><p><span style="font-size: 16px;">很多人在測試紋波和噪聲時往往會出現(xiàn)上百mv,或者幾百mv,遠(yuǎn)遠(yuǎn)比說明書提供的紋波值大很多,這主要是測試方法不正確造成的。造成對紋波測試的幾點誤區(qū)。</span></p><p><span style="font-size: 16px;">誤區(qū)一:測試帶寬的選擇,帶寬越大測試越準(zhǔn)確</span></p><p><span style="font-size: 16px;">這種認(rèn)為是不正確的。輸出紋波的頻率和電源的開關(guān)頻率相同,而開關(guān)頻率目前一般從幾十KHZ到幾MHZ,另外由開關(guān)器件所造成的干擾也小于20MHZ,帶寬限制在20MHZ,也是避免外界的高頻噪聲影響紋波的測試。一般情況下,模塊使用說明書都會提到該模塊在測試紋波時所選用的示波器測試帶寬。通常沒有特殊說明,紋波測試的帶寬一般設(shè)定為20MHZ。目前市面上的示波器都有20MHZ帶寬限制功能。</span></p><p><span style="font-size: 16px;">誤區(qū)二:測試方法的選擇</span></p><p><span style="font-size: 16px;">測試方法的選擇在目前是存在較大爭議的,同一個模塊采用不同的測試方法會得到不同的結(jié)果。目前行業(yè)內(nèi)普遍流行的有靠測法、雙絞線法、平行線法、50歐同軸電纜測試四種方法,其目的只有一個,就是真實客觀的測試模塊的輸出紋波。而用戶在使用中因為種種客觀因素一般采用的是甩線法,就是拿示波器探頭、地線夾直接接在模塊的輸出管腳測試,這種方法不能說不正確,但會對測試結(jié)果帶來很大的不同,一般可達(dá)到上百或者幾百毫伏的紋波。 </span></p><p><span style="font-size: 16px;">示波器探頭的地線長度約13cm,自身電感約為80nH,共模電流會在地線夾子上產(chǎn)生一定量不可忽略的尖峰電壓。在實際測試時,地線夾通常會以環(huán)形出現(xiàn),所以很容易接收到空間輻射。測試端子和地線夾構(gòu)成的環(huán)路就像天線一樣在工作,地線環(huán)的面積越大,開關(guān)過程中獲取的噪聲就越大,影響到紋波的正確測試。為減小地線夾過長所造成的影響,探頭應(yīng)該直接靠在輸出管腳兩端,這樣信號和地相連處的地線環(huán)面積就很小了,這就是靠測法。測試時去掉示波器探頭的地線夾和探頭帽子,直接靠在輸出管腳上進(jìn)行測試,如果輸出管腳間距稍大,示波器探頭不能直接靠上,可以用自制地線環(huán)進(jìn)行測試,如下圖所示。</span></p><p><img src="http://www.sxjlrobot.com/zb_users/upload/2020/02/202002101581321696750555.png" style="width: 400px; height: 152px;" title="作為高壓直流穩(wěn)壓電源電路設(shè)計工程師的你分得清什么是諧波、紋波、噪聲?" width="400" height="152" border="0" vspace="0" alt="作為高壓直流穩(wěn)壓電源電路設(shè)計工程師的你分得清什么是諧波、紋波、噪聲?"/></p><p><img src="http://www.sxjlrobot.com/zb_users/upload/2020/02/202002101581321696580550.jpg" style="width: 400px; height: 175px;" title="作為高壓直流穩(wěn)壓電源電路設(shè)計工程師的你分得清什么是諧波、紋波、噪聲?" width="400" height="175" border="0" vspace="0" alt="作為高壓直流穩(wěn)壓電源電路設(shè)計工程師的你分得清什么是諧波、紋波、噪聲?"/></p><p><span style="font-size: 16px;">(左)使用地線夾直接測試 (右)采用靠測法測試</span></p><p><span style="font-size: 16px;">對于一些需要低紋波輸出的特定場合,需要采取特定的設(shè)計方案,采用甩線法測試也能得到比較小的紋波。西安偉京電子制造有限公司推出了兩款輸入16VDC—40VDC,輸出5VDC、12VDC、15VDC、±5VDC、±12VDC、±15VDC 六種輸出電壓,輸出功率15W,內(nèi)置輸入濾波器輸出低紋波的高可靠軍用電源模塊,一種采用全金屬氣密性封裝,一種采用優(yōu)良導(dǎo)熱灌封膠的五面體金屬結(jié)構(gòu),兩種模塊采用甩線法測試20MHZ帶寬,紋波在20—50mv,并且該模塊不用外加濾波器可以通過GJB151-97中CE102的要求。</span></p><p><span style="color: #FF0000;"><strong><span style="font-size: 16px;">關(guān)于測試帶寬高壓直流穩(wěn)壓電源電路設(shè)計工程師的問答</span></strong></span></p><p><span style="font-size: 16px;">高壓直流穩(wěn)壓電源電路設(shè)計工程師疑問</span></p><p><span style="font-size: 16px;">測試電源紋波和噪聲的時候,選擇20MHZ的帶寬是為了測試電源自身是否滿足要求,對于電源這種低頻信號而言,20MHZ帶寬已經(jīng)足夠了。有一疑問:為什么不在示波器上選擇全帶寬?選擇全帶寬是怕受到高頻信號的干擾,而無法測試出電源本身的問題?但是電源對于電路板而言很重要,如果高頻信號也對此有大的干擾,那么電路板就不能正常工作,是不是也應(yīng)當(dāng)測試高頻信號對電源的干擾?</span></p><p><span style="font-size: 16px;">我個人認(rèn)為,為了準(zhǔn)確的測量電源紋波信號,就需要把直流以上的噪聲完全測試出來,所以不進(jìn)行帶寬限制是最好的,不知道我這個觀點是否正確?我的問題的出發(fā)點就是想盡量準(zhǔn)確的把IC端電源噪聲測量出來。如果來一個20M的 帶寬限制,其測試到的結(jié)果明顯偏小,就反應(yīng)不了真實的情況。此時,很有可能隨著IC的門電路的翻轉(zhuǎn),電源上有20M以上,且幅度比較大的噪聲存在,這個噪聲有可能使IC的輸出特性變差。如果我測不到這個噪聲,我就可能無法找出合適的電容來把這個噪聲濾掉,從而不能解決電源噪聲引起的問題。不知我的這個理解是否正確?</span></p><p><span style="font-size: 16px; color: #00B0F0;">高壓直流穩(wěn)壓電源電路設(shè)計工程師1</span></p><p><span style="font-size: 16px;">選擇20M的目的只是要將紋波測試出來,這個是電源的指標(biāo)。但是對于單板來講,測試電壓的紋波還是需要使用全帶寬去測試,驗證單板電源的穩(wěn)定性。</span></p><p><span style="font-size: 16px; color: #00B0F0;">高壓直流穩(wěn)壓電源電路設(shè)計工程師2</span></p><p><span style="font-size: 16px;">因為電源的紋波和噪聲主要來自開關(guān)管,而電源的開關(guān)管工作在40多KHz,所以選擇20MHz的帶寬來測試。</span></p><p><span style="font-size: 16px; color: #00B0F0;">高壓直流穩(wěn)壓電源電路設(shè)計工程師3</span></p><p><span style="font-size: 16px;">擾在電路板中主要指的是EMI問題,從能量的角度考慮,電源的能量是最強(qiáng)的,它可以產(chǎn)生很強(qiáng)的磁場,對其它信號的干擾最大,而高頻信號的電壓一般在700mv左右,且信號能產(chǎn)生的磁場很弱,相對于電源而言,對電源的影響很小,可以不計。</span></p><p><span style="font-size: 16px; color: #00B0F0;">高壓直流穩(wěn)壓電源電路設(shè)計工程師4</span></p><p><span style="font-size: 16px;">對于電源紋波和噪聲,個人認(rèn)為電源紋波應(yīng)該使用20MHz的帶寬來測試,而測試噪聲的時候,要使用全帶寬的來測試。原因是:對于紋波來講,是電源輸出的時候,電源自身的開關(guān)頻率引起的,而在測試的時候使用20MHz的帶寬,就是為了把高頻的噪聲去掉,為了抓到真實的紋波。而對噪聲來講,要分選取的測試點,一般測試芯片的電源輸入的是放在芯片的接收端,在接受端測試實際的電源噪聲,一般是有一定的范圍要求的,如果超過這個要求,也是需要處理的。而在問題中擔(dān)心高頻噪聲在電源自身有影響,這個基本不用擔(dān)心,在電源的輸出端一般都是有小的濾波電容進(jìn)行濾除高頻的噪聲,如果測試電源輸出端有很大的噪聲,建議需要處理一下,用小電容將這部分濾掉。</span></p><p><span style="font-size: 16px; color: #00B0F0;">高壓直流穩(wěn)壓電源電路設(shè)計工程師5</span></p><p><span style="font-size: 16px;">要把紋波和噪聲分開來看,紋波是由電容的充放電,PWM調(diào)解產(chǎn)生(當(dāng)然,這里也有一部分低頻噪聲),一次電源的波紋還和50HZ的工頻有關(guān)。就像問題中所說的那樣,電源的頻率很低,20MHZ保證測出來的是電源本身的問題,而不是高頻干擾。而在噪聲的測試中,是要求把示波器打到全帶寬的,這樣來捕獲全帶寬下高壓直流穩(wěn)壓電源的噪聲。而在定義噪聲的指標(biāo)時,一般要考慮噪聲和直流壓降一起對后端用電芯片的影響,也就是說,噪聲要占用直流壓降的工作范圍。因此,的確要測試高頻信號對后端用電芯片的影響,而這一影響,就用噪聲來體現(xiàn)。以上是我對紋波噪聲的理解,里面會有一錯誤和遺漏的地方,請指出,謝謝!</span></p><p><span style="font-size: 16px; color: #00B0F0;">高壓直流穩(wěn)壓電源電路設(shè)計工程師6</span></p><p><span style="font-size: 16px;">對于電源噪聲,我認(rèn)為在單獨的對電源電路進(jìn)行測試時,需要進(jìn)行20MHz限制,這樣可以發(fā)現(xiàn)電源本身有沒有問題,整版的測試需要在電源OK的基礎(chǔ)上進(jìn)行。一般情況下,我們會在IC的power腳都會加0.1uF進(jìn)行退耦處理,這個處理其實就是對耦合到電源上的高頻雜波的濾除。當(dāng)然,如果可以在全帶寬的情況通過spec要求,這個就更好了。其實談到0.1uF的退耦,我有個疑惑,為什么目前電路速度越來越快,但是0.1uF雷打不動?0.1uF究竟對哪個頻段工作最有效?在整版都跑1G/2.5G甚至10G的情況下,有沒有必要將這顆電容值減???期待得到你的幫助,謝謝!</span></p><p><span style="font-size: 16px; color: #00B0F0;">高壓直流穩(wěn)壓電源電路設(shè)計工程師7</span></p><p><span style="font-size: 16px;">紋波和噪聲的測試首選使用同軸電纜紋波需要選擇20M帶寬,噪聲的測試需要使用全頻帶,因為有時信號需要以電源平面作為參考面走線,必要時 使用頻譜分析儀分析高頻噪聲的頻段。</span></p><p><span style="font-size: 16px; color: #00B0F0;">高壓直流穩(wěn)壓電源電路設(shè)計工程師8</span></p><p><span style="font-size: 16px;">示波器在模擬前端和數(shù)字化過程中會存在垂直噪聲,示波器是測量儀器,示波器帶寬越寬,垂直噪聲就越大,而嚴(yán)重的垂直噪聲會影響如下幾點: </span></p><p><span style="font-size: 16px;">1.引入幅度測量誤差; </span></p><p><span style="font-size: 16px;"> 2.引入sin(x)/x波形重建不確定度; </span></p><p><span style="font-size: 16px;">3.引入作為輸入信號沿壓擺率函數(shù)的定時誤差(抖動); </span></p><p><span style="font-size: 16px;">4.造成可觀測到的不良胖波形;</span></p><p><span style="font-size: 16px;">因此,不將示波器設(shè)置成全帶寬,恰恰是避免,示波器的本底噪聲加入到電源中。 </span></p><p><span style="font-size: 16px;"> 我覺得,高頻信號不會對電源產(chǎn)生干擾,電源或者更多的是地,會是高頻信號串?dāng)_的一個載體。電路設(shè)計中,會在電源出,并上10uf、1uf并聯(lián)起來的電容,正式為了避免高頻信號通過電源串?dāng)_到電路其他地方。</span></p><p><span style="font-size: 16px; color: #00B0F0;">高壓直流穩(wěn)壓電源電路設(shè)計工程師9</span></p><p><br/></p><p><span style="font-size: 16px;">一般認(rèn)為5M以下為電源紋波,這個紋波主要是電源的貢獻(xiàn)(關(guān)于這塊,我認(rèn)同問題中說法)。對于紋波的要求一般是1%以下; 5M以上一般認(rèn)為是噪聲,也就是問題中說的高頻信號,對于噪聲一般是要求3%~5%。個人認(rèn)為噪聲主要是來自板上器件,這個噪聲主要還是針對電源網(wǎng)絡(luò)而言。 </span></p><p><span style="font-size: 16px;">所以個人認(rèn)為示波器設(shè)置20M測試的紋波測的是電源模塊輸出電源的質(zhì)量,而示波器的全帶寬測的是整個電源網(wǎng)絡(luò)的電源質(zhì)量,所以對電源質(zhì)量要求比較高的器件(如鎖相環(huán),A/D等)全帶寬的測試也是有必要的。</span></p><p><span style="font-size: 16px; color: #00B0F0;">高壓直流穩(wěn)壓電源電路設(shè)計工程師10</span></p><p><br/></p><p><span style="font-size: 16px;">示波器測量電源紋波時,因為使用接地線很長的示波器探針、或者讓由探針和接地線形成的回路靠近功率變壓器和開關(guān)元件等情況,使示波器耦合進(jìn)了一些高頻干擾,這是由示波器本身的原因引入的,并不是電源輸出的紋波成分,為了測量準(zhǔn)確,所以要將對帶寬有所限制,不能選擇全帶寬。 </span></p><p><span style="font-size: 16px;">選擇全帶寬是怕受到高頻信號的干擾,而無法測試出電源本身的問題。 </span></p><p><span style="font-size: 16px;">為了保證電路板和電源正常工作,根據(jù)實際情況一般要采取在電源輸出端或(和)電路板輸入端加低通濾波、關(guān)鍵部件屏蔽等措施。電源的抗干擾能力最終也是通過測量紋波和噪聲反映出來</span></p><p><span style="font-size: 16px; color: #00B0F0;">高壓直流穩(wěn)壓電源電路設(shè)計工程師11</span></p><p><span style="font-size: 16px;">這個疑問很有道理的,在我們測試中,我們知道電源板內(nèi)基本都是低頻信號, 最高頻莫過于控制芯片的時鐘。當(dāng)然不可否定電源其他干擾源的影響,這些在EMC實驗中都會做實驗的;另外,電源輸出測試,我們也測試20M帶寬、200M帶寬下信號和紋波,這我們都有標(biāo)準(zhǔn)的, 兩個帶寬下得測試只是在示波器帶寬切換而已,非常容易,測試一下,但也無妨。</span></p><p><span style="font-size: 16px; color: #00B0F0;">高壓直流穩(wěn)壓電源電路設(shè)計工程師12</span></p><p><br/></p><p><span style="font-size: 16px;">關(guān)于電源(模塊電源)噪聲和紋波的測量: </span></p><p><span style="font-size: 16px;">測試方法是:紋波測試是采用20MHZ限制帶寬測試,時間格設(shè)置在高壓直流穩(wěn)壓電源PWM頻率左右。紋波是抓高壓直流穩(wěn)壓電源輸出電壓的波動。噪聲測試必須采用全帶寬測試,要求時間格在200nS/DIV;一般是抓比開關(guān)頻率高的雜波或者余波。 </span></p><p><span style="font-size: 16px;">在系統(tǒng)板卡的模塊上一般來說,紋波影響芯片的基本性能和穩(wěn)定性。噪聲影響收發(fā)數(shù)據(jù)可靠性,丟包,錯包概率。</span></p><p><span style="font-size: 16px; color: #00B0F0;">高壓直流穩(wěn)壓電源電路設(shè)計工程師13</span></p><p><br/></p><p><span style="font-size: 16px;">我對這一次的問題很感興趣,因為我在測我電路板上的高壓直流穩(wěn)壓電源的時候 就發(fā)現(xiàn)開關(guān)噪聲很大,這種噪聲不同于紋波,在開關(guān)狀態(tài)變化時均會出現(xiàn), 通過很多努力,均未能消除。后來,采用接地環(huán)測試,也就是縮短試波器探 頭的接地線之后,發(fā)現(xiàn)測量到的開關(guān)噪聲就減小了很多。由此判斷,我之前 測到的噪聲應(yīng)該是高壓直流穩(wěn)壓電源的空間干擾。后來聽別人說,測紋波是要把示波 器的帶寬調(diào)到20MHz, 我想可能是因為,測試電源時主要是測其電路上的指 標(biāo),故使用20MHz帶寬,可濾除空間干擾。 </span></p><p><span style="font-size: 16px;">不知道是這個原因嗎?</span></p><p><span style="font-size: 16px; color: #00B0F0;">高壓直流穩(wěn)壓電源電路設(shè)計工程師14</span></p><p><span style="font-size: 16px;">關(guān)于這個問題,我的看法是:選擇全帶寬是怕受到高頻信號的干擾,而無法測試出電源本身的問題。但這個高頻信號是從場空間通過示波器探頭耦合進(jìn)去的,并不是電源自身產(chǎn)生的。所以電源供電的電路板可以正常工作,測試電源時也無須測試高頻信號對電源的干擾。但是現(xiàn)在有的高壓直流穩(wěn)壓電源為了提高效率,單位功率等指標(biāo),將開關(guān)頻率做得很高,如Vicor的電源好多開關(guān)頻率都在1MHz左右,此時對電臺等對頻段敏感的應(yīng)用,就需要全波段考查,否則會引起頻段混疊,電臺收發(fā)出錯。</span></p><p><span style="font-size: 16px; color: #00B0F0;">高壓直流穩(wěn)壓電源電路設(shè)計工程師15</span></p><p><span style="font-size: 16px;">業(yè)界一般都是使用20MHz帶寬測量的電源模塊/DC-DC等主供電設(shè)備電源輸出噪聲的,如果測量IC管腳處的噪聲,則另當(dāng)別論。電源噪聲(紋波): 噪聲包含很多種的成分(底噪,文波等),是一個籠統(tǒng)的說法。紋波代表有固定頻率的波, 在電源里主要是開關(guān)頻率對應(yīng)的噪聲(紋波),故有時電源噪聲和紋波通用。一點個人見解,未必準(zhǔn)確。</span></p><p><span style="font-size: 16px; color: #00B0F0;">高壓直流穩(wěn)壓電源電路設(shè)計工程師16</span></p><p><br/></p><p><span style="font-size: 16px;">其實在實際的工程開發(fā)測試在中,測試是更有針對性的,所以,以下觀點我不是很贊同。實際的測試中會包括兩部分:紋波測試機(jī)噪聲測試。而噪聲測試就是你所提到的不做帶寬限制,最大可能獲取真實情況。</span></p><p><span style="font-size: 16px; color: #00B0F0;">高壓直流穩(wěn)壓電源電路設(shè)計工程師17</span></p><p><br/></p><p><span style="font-size: 16px;">您好!我前幾天在公司內(nèi)組織過一次紋波測試方面的討論,感覺精確的測量紋波對操作者的要求比較高,需要考慮的因素很多,導(dǎo)致測試的一致性較差。同樣的一個電路,換個人測,結(jié)果偏差就會較大,花了很大力氣測出來的結(jié)果卻不能讓人信服! </span></p><p><span style="font-size: 16px;">我想問個問題,網(wǎng)上有人提到日本的一個紋波測量標(biāo)準(zhǔn) JEITA-RC9131A,它的適用性怎么樣?謝謝!</span></p><p><span style="font-size: 16px; color: #00B0F0;">高壓直流穩(wěn)壓電源電路設(shè)計工程師18</span><span style="font-size: 16px;">(來自三星)</span></p><p><br/></p><p><span style="font-size: 16px;">大家知道,對于電源系統(tǒng)來說(PDS),主要包括Source端(VRM) 和Sink端 (Chip)對于Source端來講,我們測試的是電源輸出的紋波,示波器選擇20MHZ的原因是在Source端有很多電源本身的Noise Source,比如說FET,還有電感,如果用全帶寬的話,幾乎大部分Noise Source都會耦合到探頭上面來,這樣的話我們根本測試不到真正電源輸出紋波。 對于Sink端來講,相對就比較負(fù)責(zé),我們不僅要考慮電源模塊本身的Noise,還要考慮PDS中的其他因素,比如Power Plane的諧振,比如其他noise(VDC之類)耦合到Power Plane,比如芯片本身的SSN等等,這個時候如果我們用20MHZ帶寬的話,反而會遺漏掉很多電源NOISE,從而影響PI效果。 </span></p><p><span style="font-size: 16px;">所以,我覺得在Power Source端,應(yīng)該用20MHZ帶寬去測試,而在SINK端得PI測試,則需要全帶寬去測試(當(dāng)然,也不能用太高的帶寬,從經(jīng)驗來看,1GHz~2.5GHz的示波器比較合適。</span></p><p><span style="font-size: 16px; color: #00B0F0;">高壓直流穩(wěn)壓電源電路設(shè)計工程師19</span><span style="font-size: 16px;">(來自ZTE)</span></p><p><br/></p><p><span style="font-size: 16px;">對于單純的電源產(chǎn)品,20MHz已經(jīng)足夠了,這是因為電源主要的功能是輸出一個恒定的電壓,基本上是一個直流環(huán)境,過程中不會涉及到更高速的電路;對于數(shù)字電路板上的電源,我個人還是覺得高一點帶寬比較好。我們可以從設(shè)計角度想一下,隨著用電器件內(nèi)驅(qū)動、接收開關(guān)變化,電源網(wǎng)絡(luò)上的電流也會隨之變化,電流的變化也引起了電壓的波動,這一部分的噪聲占電源噪聲的很大比重。為了抑制這種噪聲,我們會在電源網(wǎng)絡(luò)上放置一定規(guī)格、數(shù)量的去耦電容,來保證這個電源網(wǎng)絡(luò)的阻抗在有效頻率內(nèi)是低于目標(biāo)阻抗的,從而確保電源噪聲是滿足要求的,這個要求是兩維的。對應(yīng)的,電源噪聲也應(yīng)該是兩維的:噪聲大小和有效頻率。這個有效頻率設(shè)置到多大沒有定論,但是目前主流的數(shù)字電路板上去耦一般會設(shè)計到百兆數(shù)量級,我個人覺得數(shù)字電路板上的電源噪聲測試帶寬應(yīng)該是與此一個數(shù)量級。</span></p><p><span style="font-size: 16px; color: #00B0F0;">高壓直流穩(wěn)壓電源電路設(shè)計工程師20</span><span style="font-size: 16px;">(來自ZTE)</span></p><p><br/></p><p><span style="font-size: 16px;">看了郵件,覺得電源噪聲說法太籠統(tǒng),看文章的內(nèi)容,題目應(yīng)該是:PDN的?I噪聲測量。有兩層含義:其一,測試點在非理想電源地平面上,非電源模塊側(cè);其二,噪聲來源應(yīng)該是IC的開關(guān)造成的。 要把評價電源模塊噪聲特性與評價PDN的概念區(qū)分開來。 </span></p><p><span style="font-size: 16px;">電源噪聲/電源紋波的說法容易產(chǎn)生歧義,電源工程師關(guān)心的是電源模塊本身的噪聲與紋波指標(biāo),SI/PI工程師更關(guān)注PDN(電源分配網(wǎng)絡(luò))的噪聲指標(biāo),這個噪聲是由于IC的開關(guān)造成的,業(yè)界也稱為?I噪聲,有個經(jīng)典的公式說明PDN的噪聲來源:其一是dI,其二是供電回路電感L(在回路非理想時,阻抗不為零,電感是一定有的),PI設(shè)計就是盡可能控制這個L。 </span></p><p><span style="font-size: 16px;">PDN的測試結(jié)果應(yīng)該是含高壓直流穩(wěn)壓電源模塊噪聲的,高壓直流穩(wěn)壓電源本身的噪聲在頻域和?I噪聲是可以區(qū)分開來的。</span></p>Mon, 10 Feb 2020 15:47:41 +0800
- 高頻開關(guān)電源這二十多個指標(biāo)你都了解嗎?http://www.sxjlrobot.com/hangyexinwen/578.html<p>高頻開關(guān)電源并不是一個簡單的小盒子,它相當(dāng)于有源器件的心臟,源源不斷的向元器件提供能量。 高頻開關(guān)電源的好壞,直接影響到元器件的性能。高頻開關(guān)電源的設(shè)計、制造及品質(zhì)管理等測試需要精密的電子儀器設(shè)備來模擬高頻開關(guān)電源供應(yīng)器實際工作時之各項特性(亦即為各項規(guī)格),并驗證通過后才能投入使用。</p><p>工程師在設(shè)計或者測評高頻開關(guān)電源時須知考慮以下要素:</p><p><img src="http://www.sxjlrobot.com/zb_users/upload/2020/02/202002101581320597878512.jpg" title="高頻開關(guān)電源這二十多個指標(biāo)你都了解嗎?" alt="高頻開關(guān)電源這二十多個指標(biāo)你都了解嗎?" width="400" height="196" border="0" vspace="0" style="width: 400px; height: 196px;"/></p><p>一. 描述輸入電壓影響輸出電壓幾個指標(biāo)形式</p><p> 1. 絕對穩(wěn)壓系數(shù)</p><p> A.絕對穩(wěn)壓系數(shù):表示負(fù)載不變時,穩(wěn)壓高頻開關(guān)電源輸出直流變化量△U0與輸入電網(wǎng)變化量△Ui之比。即:K=△U0/△Ui。</p><p> B. 相對穩(wěn)壓系數(shù):表示負(fù)載不變時,穩(wěn)壓器輸出直流電壓△Uo的相對變化量△Uo與輸出電網(wǎng) Ui 的相對變化量Ui之比。即:S=△Uo/Uo /△Ui/Ui。</p><p> 2. 電網(wǎng)調(diào)整率</p><p>它表示輸入電網(wǎng)電壓由額定值變化±10%時,穩(wěn)壓高頻開關(guān)電源輸出電壓的相對變化量,有時也以絕對值表示。</p><p> 3. 電壓穩(wěn)定度</p><p> 負(fù)載電流保持為額定范圍內(nèi)的任何值,輸入電壓在規(guī)定的范圍內(nèi)變化所引起的輸出電壓相對變化△Uo/Uo百分值),稱為穩(wěn)壓器的電壓穩(wěn)定度。</p><p>二. 負(fù)載對輸出電壓影響的幾種指標(biāo)形式</p><p><br/></p><p>1. 負(fù)載調(diào)整率(也稱電流調(diào)整率)</p><p> 在額定電網(wǎng)電壓下,負(fù)載電流從零變化到最大時,輸出電壓的最大相對變化量,常用百分?jǐn)?shù)表示,有時也用絕對變化量表示。</p><p> 2. 輸出電阻(也稱等效內(nèi)阻或內(nèi)阻)</p><p> 在額定電網(wǎng)電壓下,由于負(fù)載電流變化△IL引起輸出電壓變化△Uo,則輸出電阻為Ro=|△Uo/△IL| 歐。</p><p>三. 紋波電壓的幾個指標(biāo)形式</p><p> 1. 最大紋波電壓</p><p> 在額定輸出電壓和負(fù)載電流下,輸出電壓的紋波(包括噪聲)的絕對值的大小,通常以峰峰值或有效值表示。</p><p> 2. 紋波系數(shù) Y(%)</p><p> 在額定負(fù)載電流下,輸出紋波電壓的有效值Urms與輸出直流電壓 Uo 之比,即y=Umrs/Uo x100%</p><p> 3. 紋波電壓抑制比</p><p> 在規(guī)定的紋波頻率(例如 50Hz)下,輸出電壓中的紋波電壓 Ui~與輸出電壓中的紋波電壓 Uo~之比,即:紋波電壓抑制比=Ui~/Uo~ 。</p><p> 這里聲明一下:噪聲不同于紋波。紋波是出現(xiàn)在輸出端子間的一種與輸入頻率和開關(guān)頻率同步的成分,用峰-峰(peak to peak)值表示,一般在輸出電壓的 0.5%以下;噪聲是出現(xiàn)在輸出端子間的紋波以外的一種高頻成分,也用峰-峰(peak to peak)值表示,一般在輸出電壓的 1%左右。紋波噪聲是二者的合成,用峰-峰(peak to peak)值表示,一般在輸出電壓的 2%以下。</p><p>四. 沖擊電流</p><p> 沖擊電流是指輸入電壓按規(guī)定時間間隔接通或斷開時,輸入電流達(dá)到穩(wěn)定狀態(tài)前所通過的最大瞬間電流。一般是 20A——30A。</p><p>五. 過流保護(hù)</p><p> 過流保護(hù)是一種高頻開關(guān)電源負(fù)載保護(hù)功能,以避免發(fā)生包括輸出端子上的短路在內(nèi)的過負(fù)載輸出電流對高頻開關(guān)電源和負(fù)載的損壞。過流的給定值一般是額定電流的 110%——130%。</p><p>六. 過壓保護(hù)</p><p> 過壓保護(hù)是一種對端子間過大電壓進(jìn)行負(fù)載保護(hù)的功能。一般規(guī)定為輸出電壓的 130%——150%。</p><p>七. 輸出欠壓保護(hù)</p><p> 當(dāng)輸出電壓在標(biāo)準(zhǔn)值以下時,檢測輸出電壓下降或為保護(hù)負(fù)載及防止誤操作而停止高頻開關(guān)電源并發(fā)出報警信號,多為輸出電壓的 80%——30%左右。</p><p>八. 過熱保護(hù)</p><p> 在高頻開關(guān)電源內(nèi)部發(fā)生異?;蛞蚴褂貌划?dāng)而使高頻開關(guān)電源溫升超標(biāo)時停止高頻開關(guān)電源的工作并發(fā)出報警信號。</p><p>九. 溫度漂移和溫度系數(shù)</p><p> 溫度漂移:環(huán)境溫度的變化影響元器件的參數(shù)的變化,從而引起穩(wěn)壓器輸出電壓變化。常用溫度系數(shù)表示溫度漂移的大小。</p><p> 絕對溫度系數(shù):溫度變化1攝氏度引起輸出電壓值的變化△UoT,單位是 V/℃或毫伏每攝氏度。</p><p> 相對溫度系數(shù):溫度變化 1 攝氏度引起輸出電壓相對變化△UoT/Uo,單位是 V/℃。</p><p>十. 漂移</p><p> 穩(wěn)壓器在輸入電壓、負(fù)載電流和環(huán)境溫度保持一定的情況下,元件參數(shù)的穩(wěn)定性也會造成輸出電壓的變化,慢變化叫漂移,快變化叫噪聲,介于兩者之間叫起伏。</p><p> 表示漂移的方法有兩種:</p><p> 1. 在指定的時間內(nèi)輸出電壓值的變化△Uot。</p><p> 2. 在指定時間內(nèi)輸出電壓的相對變化△Uot/Uo。</p><p> 考察漂移的時間可以定為 1 分鐘、10 分鐘、1 小時、8 小時或更長。只在精度較高的穩(wěn)壓器中,才有溫度系數(shù)和溫漂兩項指標(biāo)。</p><p>十一. 響應(yīng)時間</p><p> 響應(yīng)時間是指負(fù)載電流突然變化時,穩(wěn)壓器的輸出電壓從開始變化到達(dá)新的穩(wěn)定值的一段調(diào)整時間。在直流穩(wěn)壓器中,則是用在矩形波負(fù)載電流時的輸出電壓波形來表示這個特性,稱為過度特。</p><p>十二. 失真</p><p> 失真這是交流穩(wěn)壓器特有的。是指輸出波形不是正 波形,產(chǎn)生波形畸變,稱為畸變。</p><p>十三. 噪聲</p><p> 按30Hz——18kHZ 的可聽頻率規(guī)定,這對高頻開關(guān)電源的轉(zhuǎn)換頻率不成問題,但對帶風(fēng)扇的高頻開關(guān)電源要根據(jù)需要加以規(guī)定。</p><p><br/></p><p>十四. 輸入噪聲</p><p> 為使高頻開關(guān)電源工作保持正常狀態(tài),要根據(jù)額定輸入條件,按由允許輸入外并疊加于工業(yè)用頻率的脈沖狀電壓(0——peak)制定輸入噪聲指標(biāo)。一般外加脈沖寬度為 100——800us,外加電壓 1000V。</p><p>十五. 浪涌</p><p> 這是在輸入電壓,以 1 分鐘以上的間隔按規(guī)定次數(shù)加一種浪涌電壓,以避免發(fā)生絕緣破壞、閃絡(luò)、電弧等異常現(xiàn)象。通信設(shè)備等規(guī)定的數(shù)值為數(shù)千伏,一般為 1200V。</p><p>十六. 靜電噪聲</p><p> 指在額定輸入條件下,外加到高頻開關(guān)電源框體的任意部分時,全輸出電路能保持正常工作狀態(tài)的一種重復(fù)脈沖狀的靜電。一般保證 5——10KV 以內(nèi)。</p><p>十七. 穩(wěn)定度</p><p> 允許使用條件下,輸出電壓最大相對變化△Uo/Uo。</p><p>十八. 電氣安全要求(GB 4943-90)</p><p> 1. 高頻開關(guān)電源結(jié)構(gòu)的安全要求</p><p> 1) 空間要求</p><p> UL、CSA、VDE 安全規(guī)范強(qiáng)調(diào)了在帶電部分之間和帶電部分與非帶電金屬部分之間的表面、空間的距離要求。UL、CSA要求:極間電壓大于等于 250VAC 的高壓導(dǎo)體之間,以及高壓導(dǎo)體與非帶電金屬部分之間(這里不包括導(dǎo)線間),無論在表面間還是在空間,均應(yīng)有 0.1 英寸的距離;VDE 要求交流線之間有 3mm 的徐變或 2mm 的凈空隙;IEC 要求:交流線間有 3mm 的凈空間隙及在交流線與接地導(dǎo)體間的 4mm 的凈空間隙。另外,VDE、IEC要求在高頻開關(guān)電源的輸出和輸入之間,至少有 8mm 的空間間距。</p><p> 2) 電介質(zhì)實驗測試方法(打高壓:輸入與輸出、輸入和地、輸入 AC 兩級之間)</p><p> 3) 漏電流測量</p><p> 漏電流是流經(jīng)輸入側(cè)地線的電流,在高頻開關(guān)電源中主要是通過靜噪濾波器的旁路電容器泄露電流。UL、CSA 均要求暴露的不帶電的金屬部分均應(yīng)與大地相接,漏電流測量是通過將這些部分與大地之間接一個 1.5K 歐的電阻,其漏電流應(yīng)該不大于 5 毫安。VDE 允許:用 1.5K 歐的電阻與 150nP 電容并接。并施加 1.06倍額定使用電壓,對數(shù)據(jù)處理設(shè)備,漏電流應(yīng)不大于 3.5 毫安。一般是 1 毫安左右。</p><p> 4) 絕緣電阻測試</p><p> VDE 要求:輸入和低電壓輸出電路之間應(yīng)有 7M 歐的電阻,在可接觸到的金屬部分和輸入之間,應(yīng)有 2M 歐的電阻或加 500V 直流電壓持續(xù) 1 分鐘。</p><p> 5) 印制電路板要求</p><p> 要求是 UL 認(rèn)證的 94V-2 材料或比此更好的材料。</p><p> 2. 對高頻開關(guān)電源變壓器結(jié)構(gòu)的安全要求</p><p> 1) 變壓器的絕緣</p><p> 變壓器的繞組使用的銅線應(yīng)為漆包線,其他金屬部分應(yīng)涂有瓷、漆等絕緣物質(zhì)。</p><p> 2) 變壓器的介電強(qiáng)度</p><p> 在實驗中不應(yīng)出現(xiàn)絕緣層破裂和飛弧現(xiàn)象。</p><p> 3) 變壓器的絕緣電阻</p><p> 變壓器繞組間的絕緣電阻至少為 10M 歐,在繞組與磁心、骨架、屏蔽層間施加 500 伏直流電壓,持續(xù) 1 分鐘,不應(yīng)出現(xiàn)擊穿、飛弧現(xiàn)象。</p><p> 4) 變壓器濕度電阻</p><p> 變壓器必須在放置于潮濕的環(huán)境之后,立即進(jìn)行絕緣電阻和介電強(qiáng)度實驗,并滿足要求。潮濕環(huán)境一般是:相對濕度為 92%(公差為 2%),溫度穩(wěn)定在 20 到 30 攝氏度之間,誤差允許 1%,需在內(nèi)放置至少 48 小時之后,立即進(jìn)行上述實驗。此時變壓器的本身溫度不應(yīng)該較進(jìn)入潮濕環(huán)境之前測試高出 4 攝氏度。</p><p> 5) VDE 關(guān)于變壓器溫度特性的要求</p><p> 6) UL、CSA 關(guān)于變壓器溫度特性的要求。</p><p> 注:IEC——International ElectrotechnICal Commission</p><p> VDE——Verbandes Deutcher ElectrotechnICer</p><p> UL——Underwriters’ Laboratories</p><p> CSA——CANadian Standards Association</p><p> FCC—— Federal CommunICations Commission</p><p>十九. 無線電騷擾(按照 GB 9254-1998 測試)</p><p> 1. 高頻開關(guān)電源端子騷擾電壓限值</p><p> 2. 輻射騷擾限值</p><p>二十.電磁兼容性試驗</p><p> 電磁兼容性試驗(electromagnetIC compatiblity EMC)</p><p> 電磁兼容性是指設(shè)備或系統(tǒng)在共同的電磁環(huán)境中能正常工作且不對該環(huán)境中 任何事物構(gòu)成不能承受的電磁干擾的能力。</p><p> 電磁干擾波一般有兩種傳播途徑,要按各個途徑進(jìn)行評價。一種是以波長長的頻帶向高頻開關(guān)電源線傳播,給發(fā)射區(qū)以干擾的途徑,一般在 30MHz 以下。這種波長長的頻率在附屬于電子設(shè)備的高頻開關(guān)電源線的長度范圍內(nèi)還不滿 1 個波長,其輻射到空間的量也很少,由此可掌握發(fā)生于高頻開關(guān)電源線上的電壓,進(jìn)而可充分評估干擾的大小,這種噪聲叫做傳導(dǎo)噪聲。</p><p> 當(dāng)頻率達(dá)到 30MHz 以上,波長也會隨之變短。這時如果只對發(fā)生于高頻開關(guān)電源線的噪聲源電壓進(jìn)行評價,就與實際干擾不符。因此,采用了通過直接測定傳播到空間的干擾波評價噪聲大小的 方法,該噪聲就叫做輻射噪聲。測定輻射噪聲的方法有上述按電場強(qiáng)度對傳播空間的干擾波進(jìn)行直接測定的方法和測定泄露到高頻開關(guān)電源線上的功率的方法。</p><p> 電磁兼容性試驗包括以下試驗:</p><p> ?、?磁場敏感度:(抗擾性)設(shè)備、分系統(tǒng)或系統(tǒng)暴露在電磁輻射下的不希望有的響應(yīng)程度。敏感度電平越小,敏感性越高,抗擾性越差。固定頻率、峰峰值的磁場</p><p> ?、?靜電放電敏感度:具有不同靜電電位的物體相互靠近或直接接觸引起的電荷轉(zhuǎn)移。300PF 電容充電到-15000V,通過 500 歐電阻放電??沙睿磐旰笠?。數(shù)據(jù)傳遞、儲存,不能丟</p><p> ③ 高頻開關(guān)電源瞬態(tài)敏感度:包括尖峰信號敏感度(0.5us 10us 2 倍)、電壓瞬態(tài)敏感度(10%-30%,30S 恢復(fù))、頻率瞬態(tài)敏感度(5%-10%,30S 恢復(fù))。</p><p> ④ 輻射敏感度:對造成設(shè)備降級的輻射干擾場的度量。(14K-1GHz,電場強(qiáng)度為 1V/M)</p><p> ?、?傳導(dǎo)敏感度:當(dāng)引起設(shè)備不希望有的響應(yīng)或造成其性能降級時,對在高頻開關(guān)電源、控制或信號線上的干擾信號或電壓的度量。(30Hz-50KHZ 3V ,50K-400M 1V)</p><p> ⑥ 非工作狀態(tài)磁場干擾:包裝箱 4.6m 磁通密度小于 0.525uT,0.9m 0.525Ut。</p><p> ?、?工作狀態(tài)磁場干擾:上、下、左、右交流磁通密度小于 0.5mT。</p><p> ?、?傳導(dǎo)干擾:沿著導(dǎo)體傳播的干擾。10KHz-30MHz 60(48)dBuV。</p><p> ⑨ 輻射干擾:通過空間以電磁波形式傳播的電磁干擾。10KHz-1000MHz 30 屏蔽室60(54)uV/m。</p><p>二十一.環(huán)境實驗</p><p> 環(huán)境試驗是將產(chǎn)品或材料暴露到自然或人工環(huán)境中,從而對它們在實際上可能遇到的貯存、運輸和使用條件下的性能作出評價。包括低溫、 高溫、恒定濕熱、交變濕熱、 沖撞(沖擊和碰撞)、振動、恒加速、貯存、長霉、腐蝕大氣(例如鹽霧)、砂塵、空氣壓力(高壓或低壓)、溫度變化、可燃性、密封、水、輻射(太陽或核)、 錫焊、接端強(qiáng)度、噪聲(微打65DB)等。</p><p><br/></p>Mon, 10 Feb 2020 15:42:39 +0800
- 作為大功率直流電源電路設(shè)計工程師知道電阻的噪聲嗎?http://www.sxjlrobot.com/hangyexinwen/577.html<p>電阻器的固有噪聲,是指其自身產(chǎn)生的噪聲,包括熱噪聲和過剩噪聲。<br/></p><p>熱噪聲</p><p>電阻器的熱噪聲電壓可以表示為:</p><p><img src="http://www.sxjlrobot.com/zb_users/upload/2020/02/202002101581320348710680.png" title="作為大功率直流電源電路設(shè)計工程師知道電阻的噪聲嗎?" alt="作為大功率直流電源電路設(shè)計工程師知道電阻的噪聲嗎?" width="400" height="60" border="0" vspace="0" style="width: 400px; height: 60px;"/></p><p>R是電阻,T是絕對溫度,B是頻率帶寬,k是玻爾茲曼常數(shù)。在一定的溫度和阻值之下,就產(chǎn)生了熱噪聲。</p><p>熱噪聲屬于電阻器的本征噪聲,無法避免也無法消除。</p><p>電阻的戴維寧噪聲模型由噪聲電壓源和純電阻構(gòu)成,如圖1所示。</p><p><img src="http://www.sxjlrobot.com/zb_users/upload/2020/02/202002101581320363884132.jpg" title="作為大功率直流電源電路設(shè)計工程師知道電阻的噪聲嗎?" alt="作為大功率直流電源電路設(shè)計工程師知道電阻的噪聲嗎?" width="400" height="298" border="0" vspace="0" style="width: 400px; height: 298px;"/></p><p> </p><p>噪聲電壓大小與電阻阻值,帶寬和溫度(開爾文)的平方根成比例關(guān)系。大功率直流電源電路設(shè)計工程師通常會量化其每1Hz帶寬內(nèi)的噪聲,也就是其頻譜密度。電阻噪聲在理論上是一種“白噪聲”,即噪聲大小在帶寬內(nèi)是均等的,在每個相同帶寬內(nèi)的噪聲都是相同的。</p><p><br/></p><p>總噪聲等于每個噪聲的平方和再開平方。大功率直流電源電路設(shè)計工程師常常提到的頻譜密度的單位是 V/root-Hz 。對于1Hz帶寬,這個數(shù)值就等于噪聲大小。對于白噪聲,頻譜密度與帶寬開方后的數(shù)值相乘,可以計算出帶寬內(nèi)總白噪聲的大小。為了測量和量化總噪聲,需要限制帶寬。如果不知道截止頻率,就不知道應(yīng)該積分到多寬的頻帶。</p><p><img src="http://www.sxjlrobot.com/zb_users/upload/2020/02/202002101581320391723341.jpg" title="作為大功率直流電源電路設(shè)計工程師知道電阻的噪聲嗎?" alt="作為大功率直流電源電路設(shè)計工程師知道電阻的噪聲嗎?" width="400" height="157" border="0" vspace="0" style="width: 400px; height: 157px;"/></p><p>大功率直流電源電路設(shè)計工程師都知道頻譜圖是以頻率的對數(shù)為x軸的伯德圖。在伯德圖上,同樣寬度右側(cè)的帶寬比左側(cè)要大得多。從總噪聲來看,伯德圖的右側(cè)或許比左側(cè)更重要。</p><p><br/></p><p>電阻噪聲服從高斯分布,高斯分布是描述振幅分布的概率密度函數(shù)。服從高斯分布是因為電阻噪聲是由大量的小的隨機(jī)事件產(chǎn)生的。中央極限定理解釋了它是如何形成高斯分布的。交流噪聲的均方根電壓幅值等于高斯分布在±1σ范圍內(nèi)分布的振幅。對于均方根電壓為1V的噪聲,瞬時電壓在±1V范圍內(nèi)的概率為68% (±1σ) 。人們常常認(rèn)為白噪聲和高斯分布之間有某種關(guān)聯(lián),事實上它們沒有關(guān)聯(lián)。比如,濾波電阻的噪聲,不是白噪聲但仍然服從高斯分布。二進(jìn)制噪聲不服從高斯分布,但卻是白噪聲。電阻噪聲既是白噪聲也同時服從高斯分布。</p><p><img src="http://www.sxjlrobot.com/zb_users/upload/2020/02/202002101581320410154334.jpg" title="作為大功率直流電源電路設(shè)計工程師知道電阻的噪聲嗎?" alt="作為大功率直流電源電路設(shè)計工程師知道電阻的噪聲嗎?" width="400" height="184" border="0" vspace="0" style="width: 400px; height: 184px;"/></p><p>純理論研究者會認(rèn)為高斯噪聲并沒有定義峰峰值,而它是無窮的。這是對的,高斯分布曲線兩側(cè)是無限伸展的,因此任何電壓峰值都是有可能的。實際中,很少有電壓尖峰超過±3倍的均方根電壓值。許多人用6倍的均方根電壓值來近似峰峰值的大小。為了留有足夠的裕度,甚至可以用8倍的均方根電壓值來近似峰峰值的大小。</p><p><br/></p><p>一個有趣的問題是,兩個電阻串聯(lián)的噪聲之和等于這兩個電阻和的噪聲。相似的,兩個電阻并聯(lián)的噪聲之和等于這兩個電阻并聯(lián)后電阻的噪聲。如果不是這樣,那么在串聯(lián)或者并聯(lián)電阻時就會出問題。還好它確實是這樣的。</p><p><br/></p><p>一個高阻值電阻不會因為自身噪聲電壓而產(chǎn)生電弧和火花。電阻的寄生電容并聯(lián)在電阻兩端,將限制其帶寬和端電壓。相似的,你可以想象絕緣體上產(chǎn)生的高噪聲電壓也會被其寄生電容和周圍的導(dǎo)體分流。</p><p><br/></p><p>過剩噪聲</p><p>實際電阻的固有噪聲往往遠(yuǎn)大于熱噪聲,超過熱噪聲幅度的噪聲稱為過剩噪聲。與熱噪聲不同,過剩噪聲來源于電阻內(nèi)部結(jié)構(gòu)不連續(xù)性和非完整性,與電阻類型有非常大的關(guān)系。</p><p>線繞電阻內(nèi)部為體金屬,不連續(xù)性很小,是過剩噪聲最小的電阻;</p><p>合成材料的電阻內(nèi)部結(jié)構(gòu)不連續(xù),是過剩噪聲最大電阻;</p><p>固有噪聲:線繞 優(yōu)于 金屬氧化膜 優(yōu)于 金屬膜 優(yōu)于 碳膜 優(yōu)于 玻璃釉 優(yōu)于 合成膜 優(yōu)于 合成實心</p>Mon, 10 Feb 2020 15:33:16 +0800
- 高壓直流穩(wěn)壓電源內(nèi)部元器件結(jié)構(gòu)如何?http://www.sxjlrobot.com/hangyexinwen/576.html<p>高壓直流穩(wěn)壓電源不像處理器,可以看規(guī)格知性能;高壓直流穩(wěn)壓電源也不像顯卡,由一顆關(guān)鍵的GPU來決定檔次。一款好的高壓直流穩(wěn)壓電源除了滿足功率需求以外,還必須考量穩(wěn)定、節(jié)能、靜音、安全等多方面的因素。在沒有專業(yè)設(shè)備進(jìn)行檢測的情況下,我們只有了解一些高壓直流穩(wěn)壓電源的基本原理和元器件知識,才能做到對高壓直流穩(wěn)壓電源“一目了然”。</p><p><br/></p><p>抓住關(guān)鍵,不再眼暈</p><p><br/></p><p>從外面看起來,高壓直流穩(wěn)壓電源的個頭也就比一塊“板磚”大一點,但它“肚子”里裝的東西可著實不少。拆開外殼,我們能看到數(shù)以百計的、各式各樣的電子元器件和復(fù)雜交錯的線纜,不免讓人眼暈。俗話說“擒賊先擒王”,在觀察高壓直流穩(wěn)壓電源時,我們也應(yīng)該著重留意以下幾個部分。</p><p><br/></p><p>某高壓直流穩(wěn)壓電源的內(nèi)部結(jié)構(gòu)圖,序號1~6分別標(biāo)識出了大家應(yīng)該著重觀察的部分。</p><p><br/></p><p>一、二級EMI濾波電路。這部分的作用是將外部電網(wǎng)進(jìn)入的市電進(jìn)行過濾,得到比較純凈的交流電供后續(xù)使用。</p><p>PFC電路。它的作用是在交流電轉(zhuǎn)換成直流電的過程中減少諧波,降低對室內(nèi)電網(wǎng)和市電電網(wǎng)的干擾,減少市電損耗。</p><p>高壓濾波電容。它的作用是凈化高壓直流電,為后續(xù)的高低壓轉(zhuǎn)換提供相對“純凈”的電流。</p><p>高壓直流穩(wěn)壓電源拓?fù)洹M負(fù)渚褪侵父邏褐绷鞣€(wěn)壓電源的整體結(jié)構(gòu),它直接影響到高壓直流穩(wěn)壓電源的轉(zhuǎn)換效率。</p><p>低壓濾波電路的電感線圈。其作用是穩(wěn)定輸出端的電壓和電流,與電腦硬件系統(tǒng)的穩(wěn)定使用有直接的關(guān)系。</p><p>散熱片。在變壓器和開關(guān)電路進(jìn)行電壓轉(zhuǎn)換時,會產(chǎn)生大量的熱量,因此需要散熱片迅速轉(zhuǎn)移熱量。</p><p><br/></p><p>二級EMI濾波電路</p><p><br/></p><p>國家3C認(rèn)證強(qiáng)制要求上市的高壓直流穩(wěn)壓電源必須通過EMI防電磁輻射認(rèn)證,因此合格的高壓直流穩(wěn)壓電源都應(yīng)該具有EMI濾波電路。</p><p><br/></p><p>一級EMI濾波電路位于高壓直流穩(wěn)壓電源接口處,做工更好的電路還具有獨立PCB板和電感線圈。</p><p><br/></p><p>二級EMI濾波電路通常在高壓直流穩(wěn)壓電源的主PCB板上,由電感線圈和電容等元器件組成。</p><p><br/></p><p>某劣質(zhì)高壓直流穩(wěn)壓電源上的二級EMI濾波電路唱了“空城計”</p><p>不過低端高壓直流穩(wěn)壓電源往往只有一級EMI濾波電路,稍好一點的高壓直流穩(wěn)壓電源都應(yīng)該具有完整的一、二級EMI濾波電路。</p><p><br/></p><p>PFC電路</p><p><br/></p><p>PFC電路分為被動式和主動式兩種,現(xiàn)在大部分高壓直流穩(wěn)壓電源都是采用的主動式PFC。</p><p><img src="http://www.sxjlrobot.com/zb_users/upload/2019/11/201911011572595306268344.png" title="高壓直流穩(wěn)壓電源內(nèi)部元器件結(jié)構(gòu)如何?" alt="高壓直流穩(wěn)壓電源內(nèi)部元器件結(jié)構(gòu)如何?" width="400" height="260" border="0" vspace="0" style="width: 400px; height: 260px;"/></p><p>被動式PFC均采用這種“大個頭”的電感</p><p><br/></p><p><br/></p><p>主動式PFC的電感線圈往往位于高壓濾波電容的前方</p><p><br/></p><p>被動式PFC的功率因數(shù)普遍在0.7左右,主動式PFC的功率因數(shù)則高達(dá)0.9以上,明顯優(yōu)于被動式PFC。兩者的分辨也相當(dāng)容易。</p><p><br/></p><p>高壓濾波電容</p><p><br/></p><p>哪些是高壓濾波電容?很簡單,高壓直流穩(wěn)壓電源里面最高、最大的電容即是(1~2顆)。比較電容時,原則上只能與同類型的高壓直流穩(wěn)壓電源相比,因為在相同功率下,被動式PFC高壓直流穩(wěn)壓電源所需的電容容量比主動式要大。在同級比較時,我們可以看到高壓濾波電容的容量、耐壓值和耐溫值,理論上這三項數(shù)值越大越好。</p><p><br/></p><p>高壓直流穩(wěn)壓電源采用主動式PFC,因此使用容量為330μF的高壓濾波電容就能滿足需求。該電容的耐壓值為400V,耐溫值為85℃。</p><p><br/></p><p>高壓直流穩(wěn)壓電源拓?fù)?lt;/p><p>簡單說來,在前幾年高壓直流穩(wěn)壓電源的拓?fù)淇煞譃榘霕蚴胶驼な絻煞N,現(xiàn)在基本以正激式為主。半橋式是傳統(tǒng)的高壓直流穩(wěn)壓電源結(jié)構(gòu),通常轉(zhuǎn)換效率不高;而正激式結(jié)構(gòu)轉(zhuǎn)換效率容易做到80%以上。</p><p><br/></p><p>傳統(tǒng)的半橋式拓?fù)?lt;/p><p><br/></p><p>正激式拓?fù)溆兄谔岣咿D(zhuǎn)換效率</p><p><br/></p><p>在進(jìn)行分辨時,我們不妨采用排除法:在半橋式高壓直流穩(wěn)壓電源的中央,必定有三個變壓器,并且一大兩小,排成一條直線;如果你的高壓直流穩(wěn)壓電源不是這種結(jié)構(gòu),那么恭喜你,這多半是正激式高壓直流穩(wěn)壓電源。</p><p><br/></p><p>低壓慮波電路的電感線圈</p><p><br/></p><p>在低壓濾波電路部分,我們主要看電感線圈的大小、匝數(shù)和顏色。自然是線圈越大、匝數(shù)越多越好;至于顏色,理論上從優(yōu)到劣分別為灰色、黑色、淺綠色和黃色,電感越好損耗越小。</p><p><br/></p><p>低壓濾波電路部分主要看電感線圈</p><p><br/></p><p>散熱片</p><p><br/></p><p>散熱片的作用不需多說,發(fā)熱量較大的開關(guān)管和肖特基管都常常安裝在散熱片上。目前市售高壓直流穩(wěn)壓電源普遍采用鋁質(zhì)散熱片,通常越厚越好;同時為了在有限的空間內(nèi)擴(kuò)大散熱面積,大部分散熱片都開有鰭片,理論上鰭片越多越好。</p>Fri, 01 Nov 2019 16:01:15 +0800
- 可程控直流穩(wěn)壓電源的壽命到底是誰來決定的?http://www.sxjlrobot.com/hangyexinwen/575.html<p>可程控直流穩(wěn)壓電源的壽命就如同人的壽命一樣是無法預(yù)知準(zhǔn)確的年限,但是很多大數(shù)據(jù)分析報告中有平均壽命的概念??沙炭刂绷鞣€(wěn)壓電源也一樣,影響其壽命的因數(shù)很多,所以一般可程控直流穩(wěn)壓電源的壽命都是以平均無故障時間來衡量的</p><p><br/></p><p>可程控直流穩(wěn)壓電源的壽命主要由內(nèi)部元器件和PCB的使用壽命以及整個焊接和裝配的工藝確定的。在設(shè)計上要保證可程控直流穩(wěn)壓電源元器件的參數(shù)選擇,在生產(chǎn)上要保證整個焊接和裝配的一致性及可操作性。這樣可以從源頭保證了可程控直流穩(wěn)壓電源的穩(wěn)定性和可靠性。</p><p><br/></p><p>保證可程控直流穩(wěn)壓電源壽命的關(guān)鍵環(huán)節(jié)!</p><p><br/></p><p>我們要減少故障發(fā)生的可能性,來保證可程控直流穩(wěn)壓電源長期穩(wěn)定的工作。那就需要把控好可程控直流穩(wěn)壓電源生命周期中的兩個重要環(huán)節(jié):可程控直流穩(wěn)壓電源的研發(fā)、可程控直流穩(wěn)壓電源的生產(chǎn)??沙炭刂绷鞣€(wěn)壓電源研發(fā)需要保證可程控直流穩(wěn)壓電源的性能滿足我們的規(guī)格書要求,保證在可程控直流穩(wěn)壓電源正常生命周期中的可程控直流穩(wěn)壓電源性能指標(biāo)。可程控直流穩(wěn)壓電源模塊類產(chǎn)品對生產(chǎn)流程及工藝管控要求很高,需要高品質(zhì)的生產(chǎn)設(shè)備及管理,才能達(dá)到預(yù)期的產(chǎn)品品質(zhì)。</p><p><br/></p><p>保證可程控直流穩(wěn)壓電源壽命的關(guān)鍵物料!</p><p><br/></p><p>可程控直流穩(wěn)壓電源壽命與使用元器件之間也滿足木桶效應(yīng),必須所有器件壽命都達(dá)到規(guī)定壽命才能保證可程控直流穩(wěn)壓電源的最終使用壽命。一般關(guān)鍵器件受到的電應(yīng)力大,發(fā)熱量高,機(jī)器內(nèi)部溫度上升快,溫度對器件壽命影響較大,所以對器件的壽命最終評估尤為重要。那么我們可程控直流穩(wěn)壓電源里有哪些關(guān)鍵器件需要尤為關(guān)注呢?</p><p><br/></p><p>1. 電解電容器</p><p><br/></p><p>電解電容在可程控直流穩(wěn)壓電源器件中是對溫度最為敏感的器件,從這個角度講,電解電容器的好壞也一定程度上決定了可程控直流穩(wěn)壓電源裝置的壽命,AC-DC可程控直流穩(wěn)壓電源產(chǎn)品表現(xiàn)的最為突出。</p><p><br/></p><p>2. 初級開關(guān)管(MOS管)</p><p><br/></p><p>此類開關(guān)器件,處于高速開關(guān)狀態(tài),所受電壓應(yīng)力及電流應(yīng)力較高。開關(guān)損耗導(dǎo)致的發(fā)熱也會是器件加速老化,同時也容易受到外部高壓干擾而擊穿損壞。</p><p><br/></p><p>3. 高頻功率變壓器</p><p><br/></p><p>高頻變壓器在能量傳輸時,內(nèi)部的損耗會導(dǎo)致其發(fā)熱,散發(fā)的熱量也會影響變壓器材料的壽命。常見的變壓器故障有絕緣層擊穿、繞組燒毀、銅線斷裂等。</p><p><br/></p><p>4. 多層陶瓷電容</p><p><br/></p><p>貼片陶瓷電容最容易出現(xiàn)問題的地方是電容的焊點處,其可能會由于一些應(yīng)力作用而崩裂。為了盡量減少發(fā)生的可能性,建議盡量避免多個陶瓷電容的并聯(lián)使用?! ?lt;/p><p><br/></p><p>5. 輸出整流二極管</p><p><br/></p><p>二極管主要承受兩大電應(yīng)力,包括反向耐壓及正向電流,同時二極管也是發(fā)熱器件。為了保證此器件的使用壽命,我們會在設(shè)計時流出足夠的裕量,最終保證可程控直流穩(wěn)壓電源的批量性能。</p><p><br/></p><p>6. 光電耦合器</p><p><br/></p><p>電流傳輸比(CTR)隨著時間的推移會逐漸減少,為了保持環(huán)路穩(wěn)定,發(fā)光二極管的電流會不斷增大,最終會達(dá)到其極限值,導(dǎo)致光耦損壞。</p><p><br/></p><p>綜上所述,可程控直流穩(wěn)壓電源模塊的價值不在與模塊本身,而在于保證批量品質(zhì)的工藝水平。消費者所需要的也是可程控直流穩(wěn)壓電源的安全可靠性,從而減少產(chǎn)品的生產(chǎn)及維護(hù)成本。</p><p><br/></p>Fri, 01 Nov 2019 15:59:46 +0800
- 同步整流可改善反激式高頻開關(guān)電源的交叉調(diào)整率http://www.sxjlrobot.com/hangyexinwen/574.html<p>當(dāng)選擇一個可從單高頻開關(guān)電源產(chǎn)生多輸出的系統(tǒng)拓?fù)鋾r,反激式高頻開關(guān)電源是一個明智的選擇。由于每個變壓器繞組上的電壓與該繞組中的匝數(shù)成比例,因此可以通過匝數(shù)來輕松設(shè)置每個輸出電壓。在理想情況下,如果調(diào)節(jié)其中一個輸出電壓,則所有其他輸出將按照匝數(shù)進(jìn)行縮放,并保持穩(wěn)定。</p><p><br/></p><p>然而,在現(xiàn)實情況中,寄生元件會共同降低未調(diào)節(jié)輸出的負(fù)載調(diào)整。在本高頻開關(guān)電源小貼士中,我將進(jìn)一步探討寄生電感的影響,以及如何使用同步整流代替二極管來大幅提高反激式高頻開關(guān)電源的交叉調(diào)整率。</p><p><br/></p><p>例如,一個反激式高頻開關(guān)電源可分別從一個48V輸入產(chǎn)生兩個1 A的12V輸出,如圖1的簡化仿真模型所示。理想的二極管模型具有零正向壓降,電阻可忽略不計。變壓器繞組電阻可忽略不計,只有與變壓器引線串聯(lián)的寄生電感才能建模。這些電感是變壓器內(nèi)的漏電感,以及印刷電路板(PCB)印制線和二極管內(nèi)的寄生電感。當(dāng)設(shè)置這些電感時,兩個輸出相互跟蹤,因為當(dāng)二極管在開關(guān)周期的1-D部分導(dǎo)通時,變壓器的全耦合會促使兩個輸出相等。</p><p><br/></p><p><img src="http://www.sxjlrobot.com/zb_users/upload/2019/11/201911011572595036637284.jpg" title="同步整流可改善反激式高頻開關(guān)電源的交叉調(diào)整率" alt="同步整流可改善反激式高頻開關(guān)電源的交叉調(diào)整率" width="400" height="293" border="0" vspace="0" style="width: 400px; height: 293px;"/></p><p>圖1該反激式簡化模型模擬了漏電感對輸出電壓調(diào)節(jié)的影響。</p><p> </p><p>現(xiàn)在考慮一下,當(dāng)您將100 nH的漏電感引入變壓器的兩根二次引線,并且將3μH的漏電與初級繞組串聯(lián)時,將會發(fā)生什么。這些電感可在電流路徑中建立寄生電感,其中包括變壓器內(nèi)部的漏電感以及PCB和其他元件中的電感。</p><p><br/></p><p>當(dāng)初始場效應(yīng)晶體管(FET)關(guān)斷時,初始漏電感仍然有電流流動,而次級漏電感開啟初始條件為0 A的1-D周期。變壓器磁芯上出現(xiàn)基座電壓,所有繞組共用。該基座電壓使初級漏電中的電流斜降至0 A,并使次級漏電電流斜升以將電流傳輸?shù)截?fù)載。</p><p><br/></p><p><br/></p><p><img src="http://www.sxjlrobot.com/zb_users/upload/2019/11/201911011572595051184379.jpg" title="同步整流可改善反激式高頻開關(guān)電源的交叉調(diào)整率" alt="同步整流可改善反激式高頻開關(guān)電源的交叉調(diào)整率" width="400" height="406" border="0" vspace="0" style="width: 400px; height: 406px;"/></p><p>圖2</p><p><br/></p><p>當(dāng)兩個重載輸出時,電流在整個1-D周期持續(xù)流動,輸出電壓平衡良好,如圖2所示。然而,當(dāng)一個重載輸出和另一個輕載輸出時,輕載輸出上的輸出電容傾向于從該基座電壓發(fā)生峰值充電;因為電流迅速回升到零,其輸出二極管將停止導(dǎo)通,。請參見圖3中的波形。這些寄生電感的峰值充電交叉調(diào)節(jié)影響通常比整流器正向壓降單獨引起的要差得多。</p><p> </p><p>圖2當(dāng)對兩個輸出施加重載時,在整個1-D周期內(nèi),次級繞組電流在兩個次級繞組中流動。您可以看到上方紅色跡線上的基座電壓。</p><p> </p><p><br/></p><p><img src="http://www.sxjlrobot.com/zb_users/upload/2019/11/201911011572595067134230.jpg" title="同步整流可改善反激式高頻開關(guān)電源的交叉調(diào)整率" alt="同步整流可改善反激式高頻開關(guān)電源的交叉調(diào)整率" width="400" height="405" border="0" vspace="0" style="width: 400px; height: 405px;"/></p><p>圖3重載次級1和輕載次級2?;妷簩Υ渭?的輸出電容器進(jìn)行峰值充電。</p><p> </p><p>無論負(fù)載如何,同步整流器有助于通過在整個1-D周期內(nèi)強(qiáng)制電流流入兩個繞組來減輕此問題。圖4顯示了具有與圖3相同負(fù)載條件的波形,但用理想的同步整流器代替了理想的二極管。由于同步整流器在基座電壓降低后保持良好狀態(tài),因此即使出現(xiàn)嚴(yán)重不平衡的負(fù)載,兩個輸出電壓也能很好地相互跟蹤。</p><p><br/></p><p>雖然次級2的平均電流非常小,但均方根(RMS)含量仍然可以相當(dāng)高。這是因為,與圖3中的理想二極管不同,同步整流器在整個1-D周期期間可強(qiáng)制連續(xù)電流流動。有趣的是,電流在這一周期的大部分時間內(nèi)必須是負(fù)的,以保證低平均電流。</p><p><br/></p><p>顯然,您犧牲更佳的調(diào)節(jié)以實現(xiàn)更高的循環(huán)電流。然而,這并不一定意味著總損耗會更高。同步整流器的正向壓降通常遠(yuǎn)低于二極管,因此同步整流器在較高負(fù)載下的效率通常要好得多。</p><p> </p><p><img src="http://www.sxjlrobot.com/zb_users/upload/2019/11/201911011572595085906305.jpg" title="同步整流可改善反激式高頻開關(guān)電源的交叉調(diào)整率" alt="同步整流可改善反激式高頻開關(guān)電源的交叉調(diào)整率" width="400" height="404" border="0" vspace="0" style="width: 400px; height: 404px;"/></p><p>圖4 用同步整流器代替二極管以強(qiáng)制電流在兩個次級繞組中流動,并消除基座電壓的峰值充電。</p><p> </p><p>您可以在圖5中看到對交叉調(diào)節(jié)的影響。1號輸出上的負(fù)載在1A時保持穩(wěn)定,而2號輸出上的負(fù)載則在10 mA到1A之間起伏。在低于100 mA的負(fù)載下,當(dāng)使用二極管時,由于基座電壓峰值充電的影響,交叉調(diào)節(jié)嚴(yán)重降低。</p><p>請記住,您之所以只看到漏電感的影響,是因為在這些模擬中使用的是理想的二極管和理想的同步整流器。當(dāng)考慮電阻和整流器的正向壓降影響時,使用同步整流器的優(yōu)勢會進(jìn)一步凸顯。</p><p><br/></p><p>因此,為了在多輸出反激式高頻開關(guān)電源中實現(xiàn)卓越的交叉調(diào)節(jié)效果,請考慮使用同步整流器。此外,您還可能提高高頻開關(guān)電源的效率。查看TI用于PoE應(yīng)用參考設(shè)計的40V至60V輸入40W雙輸出隔離反激式轉(zhuǎn)換器(4.33A時6V)和3類雙輸出隔離反激式轉(zhuǎn)換器,以作為使用同步整流器的反激式高頻開關(guān)電源示例。</p><p> </p><p><img src="http://www.sxjlrobot.com/zb_users/upload/2019/11/201911011572595111787566.jpg" title="同步整流可改善反激式高頻開關(guān)電源的交叉調(diào)整率" alt="同步整流可改善反激式高頻開關(guān)電源的交叉調(diào)整率" width="400" height="283" border="0" vspace="0" style="width: 400px; height: 283px;"/></p><p>圖5</p><p><br/></p><p>圖5該圖顯示了兩個輸出之間的交叉調(diào)節(jié),其中1號輸出上的1-A負(fù)載保持穩(wěn)定,而2號輸出上的負(fù)載不斷變化,從而凸顯了同步整流器如何減輕漏電感的影響。</p>Fri, 01 Nov 2019 15:55:45 +0800
- 如何治理配電臺區(qū)三相不平衡?http://www.sxjlrobot.com/hangyexinwen/573.html<p>傳統(tǒng)配電臺區(qū)治理三相不平衡時,忽視了換相對負(fù)荷的影響,換相開關(guān)壽命以及配電臺區(qū)的經(jīng)濟(jì)性等問題。針對上述問題,本文提出了一種基于負(fù)荷預(yù)測的配電臺區(qū)三相不平衡治理方法。采用K-means算法對歷史日負(fù)荷進(jìn)行聚類,利用支持向量機(jī)對已經(jīng)做過統(tǒng)計歸類處理的歷史數(shù)據(jù)進(jìn)行短期負(fù)荷預(yù)測,并計算對應(yīng)配電變壓器運行時三相負(fù)荷電流的不平衡度。建立了以配電臺區(qū)三相電流不平衡度最小,換相開關(guān)切換次數(shù)最少為目標(biāo)的最優(yōu)換相數(shù)學(xué)模型,通過遺傳算法獲得最優(yōu)換相方案。</p><p><br/></p><p>該方法有效減少了線損、降低了三相負(fù)荷不平衡度以及緩解了配電臺區(qū)三相負(fù)荷不平衡問題。</p><p><br/></p><p><br/></p><p>我國配電網(wǎng)自動化程度低,單相負(fù)荷多,尤其農(nóng)村地區(qū),電力用戶繁雜且疏于規(guī)劃,單相負(fù)荷分配不均衡,配電臺區(qū)存在嚴(yán)重的三相負(fù)荷不平衡問題。</p><p><br/></p><p>當(dāng)前,國內(nèi)外治理三相負(fù)荷不平衡問題的方法主要有:①無功補償裝置投切電容器組;②相間電容轉(zhuǎn)移有功功率;③換相開關(guān)裝置調(diào)整負(fù)荷等。其中,靜止無功發(fā)生器和相間跨接電力電容器等無功補償裝置,沒有從根本上解決三相負(fù)荷不平衡問題;負(fù)荷自動調(diào)相裝置價錢昂貴且控制終端與換相開關(guān)之間通信復(fù)雜,難以在配電臺區(qū)中推廣應(yīng)用;人工調(diào)相操作具有一定的延時和滯后性。配電臺區(qū)三相不平衡治理存在運維成本高,時間滯后等問題。</p><p><br/></p><p>隨著科學(xué)技術(shù)的進(jìn)步,智能算法發(fā)展逐漸成熟,支持向量機(jī)(support vector machine, SVM)算法廣泛應(yīng)用在小樣本、系統(tǒng)非線性等復(fù)雜的情況下,同時克服了神經(jīng)網(wǎng)絡(luò)經(jīng)驗風(fēng)險最小化的局限。K- means算法的聚類效果與同類內(nèi)氣象數(shù)據(jù)的相似度成正比,與類間的相似度成反比關(guān)系,同時收斂速度快,實現(xiàn)容易。</p><p><br/></p><p>遺傳算法具有強(qiáng)魯棒性和自適應(yīng)性,高搜索能力和對目標(biāo)函數(shù)依賴程度低的優(yōu)點,適合解決換相最優(yōu)解的問題?;诰垲惙治龊椭С窒蛄繖C(jī)算法的負(fù)荷預(yù)測可以精確預(yù)測出未來一段時間內(nèi)負(fù)荷的用電數(shù)據(jù);遺傳算法在電力系統(tǒng)最優(yōu)方案篩選方面的應(yīng)用更為廣泛。然而這些技術(shù)在三相不平衡負(fù)荷調(diào)整方面卻鮮有應(yīng)用。</p><p><br/></p><p>綜上所述,本文提出一種新的配電臺區(qū)三相負(fù)荷不平衡治理方法?;谪?fù)荷預(yù)測結(jié)果,對三相不平衡問題嚴(yán)重的配電臺區(qū),利用目標(biāo)函數(shù)搭建最優(yōu)換相數(shù)學(xué)模型,然后采用改進(jìn)遺傳算法篩選得出配電臺區(qū)負(fù)荷最優(yōu)換相方案,最大限度降低配電臺區(qū)三相電流不平衡度的同時盡可能縮小開關(guān)調(diào)整次數(shù),提高配電臺區(qū)供電經(jīng)濟(jì)性和安全性以及換相裝置的使用壽命,從根源上治理三相不平衡問題。</p><p><br/></p><p><img src="http://www.sxjlrobot.com/zb_users/upload/2019/10/201910091570588554263307.png" title="如何治理配電臺區(qū)三相不平衡?" alt="如何治理配電臺區(qū)三相不平衡?" width="500" height="584" border="0" vspace="0" style="width: 500px; height: 584px;"/></p><p>圖1 負(fù)荷預(yù)測流程圖</p><p><br/></p><p><img src="http://www.sxjlrobot.com/zb_users/upload/2019/10/201910091570588566484808.png" title="如何治理配電臺區(qū)三相不平衡?" alt="如何治理配電臺區(qū)三相不平衡?" width="500" height="751" border="0" vspace="0" style="width: 500px; height: 751px;"/></p><p>圖2 遺傳算法換相尋優(yōu)流程圖</p><p><br/></p><p>總結(jié)</p><p>本文提出了基于負(fù)荷預(yù)測的三相負(fù)荷不平衡治理方法。通過負(fù)荷預(yù)測獲得各時刻的三相電流不平衡度,確定需提前進(jìn)行負(fù)荷調(diào)整的時刻,采用改進(jìn)遺傳算法獲得負(fù)荷最優(yōu)調(diào)整方案。案例分析結(jié)果表明該方法可以提前調(diào)整負(fù)荷所在相序,避免了由于未能及時調(diào)整負(fù)荷所帶來的加劇三相負(fù)荷不平衡程度的后果,同時減少了線路損耗,延長了換相開關(guān)的使用壽命,提高了配電臺區(qū)的經(jīng)濟(jì)性及供電可靠性。</p>Wed, 09 Oct 2019 10:34:15 +0800
99精品人妻一区二区三区蜜桃_国产精品99视频_亚洲AV久播在线播放青青尤物电_国产亚洲第一精品_精品午夜久久_在线视频一区亚洲欧美_国产一区精品在线免费_在线亚洲日产一区二区_亚洲高清中文无码_免费精品国产自产拍观看
欧美日韩一区二区视频免费看|
亚洲欧美在线高清|
伊人久久综合精品欧美|
国产成人久久精品亚洲小说|
免费在线视频a|
男人插女人的视频高潮|
国产视频久久久|
国产伦精品一区二区三区网站|
国产午夜福利在线播放视频|
中文字幕在线观看亚洲伊人|
日韩欧美国产亚洲|
亚洲欧美日韩另类小说|
亚洲午夜福利精品|
欧美日本道免费二区三区|
国产精品九九视频|
加勒比高清不卡一区|
国产午夜免费精品一区二区三区
|
亚洲精品6久久久久中文字幕|
国产在线精品成人一区二区三区|
国产毛片一区二区|
免费中文字幕视频在线|
精品国产一区二区三区四|
久青免费在线视频|
精品国产片亚洲第一av|
国产欧美日韩在线观看一区二区视频|
精品国产亚洲国产麻豆|
亚洲乱码一二三四区国产|
亚洲中文字幕日韩人妻无码专区|
欧美日韩一区二区三区色综合|
亚洲精品免费av大香伊蕉|
亚洲av午夜精品人妻|
亚洲一区二区三区播放在线|
精品91一区二区三区|
被侵犯内射的人妻中文字幕|
日韩精品a级黄色毛片|
国产成人综合95精品视频免费|
亚洲天堂avav|
中文字幕精品三区|
久久丝袜精品一区国产91|
国产精品一区二区av|
国产视频网站在线|
日韩中文字幕视频在线看中文|
亚洲中文字幕丝袜熟女久久|
99热这里只有的精品国产|
日韩精品欧美国产精品亚|
久久精品国产亚洲7777小说|
亚洲精品国产第1页|
国产真人三级小视频在线观看|
国产肉丝精品视频一区二区|
亚洲无码高清免费视频亚洲|
精品91自产拍在线|
亚洲黄色小视频|
国产一区二区三区影院|
日韩在线精品亚洲专区|
亚洲伊人精品综合在合线|
www国产成人在线观看|
91亚洲成人福利|
一区二区三区免费在线|
成人午夜福利网站在线观看|
国产精品无大码|
蜜芽亚洲AV无码精品色午夜|
国产精品调教视频免费看|
亚洲AVAv电影AV天堂18禁|
麻豆国产精品久久天堂|
欧美色欧美亚洲另类久久二区
|
久久精品99精品国产亚洲性色|
中文字幕内射人妻在线|
中文字幕无码区一区二区|
亚洲欧美一区二区久久|
久久成人精品|
99久久精品免费看国产|
999精品视频在线观看|
18禁止午夜福利体验区|
亚国产亚洲亚洲精品视频|
日韩欧美一区二区三区视频|
日韩在线一区高清在线|
国内精品免费|
亚洲精品美女久久av|
成年免费看片在线观看|
热久久精品亚洲精品|
午夜亚洲国产理论片二级港台二级|
熟女精品国产一区二区三区|
最近国产精品|
日韩二三区|
国产成人小视频|
国产免费综合色视频|
亚洲片国产免费看|
中文字幕高清av在线|
成人午夜精品久久|
亚洲欧美日本久久综合网|
亚洲AV永久无码精品一福利|
中文字幕在线观看网站|
亚洲欧美一区二区三区孕妇写真|
人妻乱码亚洲视频|
精品国免费一区二区三区|
多人内射av免费在线观看|
天堂网av在线|
欧美日韩国产第二区|
色欲av无码在线观看|
午夜福利二三区免费看|
久久国产精品久精国产|
欧美日韩亚洲国产激情在线|
精品一区二区国产激情视频|
国产精品久久久久AV福利动漫|
久久久中文字幕人妻|
日韩精品亚洲第一页|
国产亚洲欧洲国产综合一区|
午夜久久观看|
久久久91精品国产一区二区三区
|
亚洲男人的天堂视频|
亚洲免费a视频|
人妻字幕久久|
亚洲欧洲一区二区|
国产精品视频永久免费播放|
多人内射av免费在线观看|
91麻豆久久久|
国产精品1234不卡|
国产精品久久久久久一区二区三区|
国产激情一区在线视频|
国内精品久久久久影|
亚洲日韩国产精品视频|
亚洲国产一区在线免费观看|
日韩欧美在线视频观看不卡视频|
国产精品视频成人|
精品久久性爱视频|
亚洲另类丝袜诱惑|
久久精品亚洲热综合一本奇米|
人妻丰满熟妇av无码区版|
亚洲最大网站免费在线观看|
91欧美亚洲中文字幕|
亚洲欧洲久久久精品|
亚洲欧美视频网站|
欧美专区亚洲精品|
欧美第一页在线|
亚洲欧美日韩国产精品久久|
精品人妻一区二区三区夜夜精品|
精品人妻视频在线|
亚洲AV久播在线播放青青尤物电|
久久国产超薄丝袜脚久久|
韩国福利影视一区二区三区|
欧美日韩小视频二区|
草久视频在线免费观看|
成人xx免费无码|
一级av一片久久免费观看|
国精品在亚洲_欧美|
久久精品国产屋|
成人午夜精品无码区|
爱色av一区二区三区|
国产欧美精品专区一区二区|
国产v欧美Ⅴ日韩v在线观看|
国产人成激情视频在线观看|
性色AV网站在线观看|
国产在线一区二区三区精|
亚洲欧美日韩在线一区|
久久丝袜国产精品|
国产成人免费观看|
91中文字幕在线视频|
a激情视频永久免费观看|
在线播放一区二区三区|
国产精品久久久久久影院|
91麻豆精品视频|
欧美日韩成人精品久久二区|
国产一区二区福利久久|
一本久久中文字幕|
亚洲精品aⅴ无码精品|
av成人在线国产精品播放|
狠狠色丁香婷婷综合精品视频|
欧美在线视频不卡第一页|
久久麻豆精亚洲av品国产小说|
亚洲第一综合色|
国产美女久久久久不卡|
日本三级一区二区三区|
亚洲欧美国产第一区|
一级毛片a级免费看|
97精品视频共享总站|
丝袜高跟在线一区|
思99re久久这里只有精品首页|
国产精品成人av综合一区二区三区|
韩国三级亚洲精品|
无码专区中文字幕无码野|
国产亚洲曝欧美精品一区|
美女国产在线精品|
国产日韩一区二区|
久久精品国产久精国产80cm|
日韩中文网|
中文字幕免费成人av电影|
亚洲免费在线看|
国内福利在线视频|
在线看的亚洲av|
久久婷婷国产综合日韩欧美|
熟女激情国产精品|
91在线丨亚洲|
亚洲免费二区三区|
国产日韩欧美视频二区|
久久精品亚洲美女一区|
国产免费av片在线无码免费|
三级午夜三级午夜a影院|
欧洲一级做a爱在线观看|
亚洲综合色区无码专区|
国产99视频精品免视看7|
男女午夜福利国产视频|
精品人妻aV中文字幕乱码|
亚洲男人天堂888|
免费精品国产自产拍在线观看|
亚洲自拍自偷成人网|
亚洲精品国产精品国自产小说|
国产精品伦视频|
一区二区黄色视频小说|
亚洲色大成网站www国产|
亚久久伊人精品青青草原2020|
天天天综合网|
国产精品对白一区二区三区|
国产午夜精品1区2区3福利|
亚洲综合色视频免费在线播放|
国产视频一区二区美女|
都市亚洲国产欧美自拍另类|
欧美日韩综合在线视频免费看
|
成人免费视频一区二区|
av不卡在线看高清专区|
国产成人免费在线电影av|
欧美亚洲一区二区三区导航|
日本阿v精品视频在线观看|
91中文字幕在线视频|
亚洲欧美日韩精品久久亚洲区色播
|
久久综合国产乱子伦精免费|
国产美女被强网站|
亚洲精品不卡的av|
日本一区二区不卡视频|
国产成人精品免费视频|
亚洲色图中文激情在线播放|
日韩中文视频|
欧美日韩视频一区二区在线观看|
亚洲av手机网|
亚洲综合一区av|
亚洲精品中文字幕乱码三区|
国产成人精品综合|
国产男女精品啪啪视频|
国产亚洲AV手机在线观看|
国产精品三级手机在线|
国产精品日产无码av永久不卡|
国产欧美日韩在线播放|
在线观看不卡av免费|
国产91中文字幕|
亚洲精品专区第一页|
亚洲综合一二三区|
欧美少妇乱码|
中文字幕精品亚洲无线码|
国产精品主播视频欧美日韩|
国产在线一区二区视频|
日本激情视频一区二区三区|
蜜桃中文字幕久久|
国产又大又黄的免费视频|
国产男人天堂视频网站|
伊人久久无码中文字幕|
日本精品一区二区三区在线视频一|
91麻豆精品国自产拍在线|
国产成人综合自拍|
亚洲va欧美ⅴa国产va影院|
国产精品三级av|
国产精品二区av|
香蕉久久一区二区不卡无毒影院|
一区二区免费视频观看|
精品国产爽香蕉在线观看|
亚洲午夜不卡视频|
亚洲av午夜福利精品一区不卡|
日韩精品免费视频|
久久久这里只有精品加勒比|
亚洲中文字幕熟女久久yuhg|
国产精品国产三级专|
国产AⅤ无码专区亚洲A∨综合网
|
av免费在线观看国产|
国产精品一区二区在线播放|
色综合久久天天综线观看|
亚洲成a人片在线观看网|
欧美一区精品二区|
国产精品成人无人区|
国产sm重味一区二区三区|
免费观看国产精品福利永久|
97免费在线视频|
亚洲日本中文字幕天天更新|
亚洲AV永久无码精品导航|
久久只有这里最精品|
国产日韩一区二区三区免费观看|
亚洲欧洲精品一区二区|
亚洲视频在线观看中文字幕|
久久亚洲日韩丝袜|
狼友视频网站|
欧美老熟妇乱子伦|
92视频在线精品国自产拍
|
少妇无遮挡十八禁网站|
中文字幕亚洲人妻视频|
女同久久另类99精品国产|
久青草影院在线观看国产|
国产精品亚洲综合一区在线观看|
精品国产成人在线|
九九热在线精品|
亚洲欧美在线一区激情|
久久久国产精品免费|
91成人欧美日韩|
国产毛片精品高清一区二区|
欧美日韩亚洲精品综合网|
亚洲成人无码一区|
美女祼身18禁网站|
久久精品久久蜜桃|
日韩av免费观看网址|
天码人妻一区二区三区|
亚洲专区日韩|
亚洲av无线码|
欧美日韩激情在线一区二区|
国产精品高清在线观看地址|
在线天堂中文在线资源网|
天堂网国产|
久久综合九色欧美婷婷98|
国产午夜亚洲精品不卡福利
|
亚洲超欲av在线|
AV无码精品国产一区三区|
国产亚洲精品国看不卡|
欧美亚洲综合久久精品|
国产精品91在线|
91亚洲精品丁香在线观看|
丁香午夜婷婷综合|
亚洲精品在线播放视频|
中文字幕在线观看国产|
国产精品视频中文字幕91|
亚洲视频在线不卡观看|
国产亚洲一本大道中文在线|
新99热超碰国产精品|
国产人成网在线播放VA免费|
国产在线无码视频一区二区三区|
免费一区二区三区日韩欧美|
亚洲av成人一区二区国产精品|
av无码天堂一区二区三区App|
国产精品精品视频一区二区三区|
乱p人妻视频精品|
午夜福利区一区二区|
99热这里只有是精品在线观看|
欧美精品一二区|
国产免费一区二区三区视频|
国产日韩av免费在线观看|
在线观看中文精品无码|
亚洲偷摸自拍|
国产高清吃奶成免费视频网站|
欧美激情在线播放一区二区三区|
欧美一级日韩一级亚洲一级va|
久久99精品免费视频|
国产免费福利片在线不卡av|
成人午夜视频在线播放|
亚洲绝美精品一区二区|
欧美一区二区激情视频|
精品人妻在一区二区三区四区|
av一本高清在线观看不卡|
亚洲国产欧美日韩精品一区二|
精品国产av电影|
国产一区二区三区视频网|
久久亚洲三级|
国产 综合 人 综合|
在线精品无码中文字幕|
亚洲人成无码网站久久99热国产|
中文字幕亚洲人妻视频
|
久久亚洲国产欧洲精品一|
99久久精品视香蕉蕉er热资源
|
在线观看免费av肉片网站|
精品视频一区二区在线看|
日本福利片秋霞国产午夜|
日本免费不卡视频一区二区三区|
日韩欧美国产二区|
精品亚洲熟妇少妇|
欧美亚洲日本91|
2020国产微拍精品一区二区|
99无码中文字幕视频|
国产午夜无码专区喷水|
国产又黄又刺激无遮挡|
欧美精品成人一区二区视频一
|
在线播放亚洲国产一区二区三|
国产av色网站|
亚洲春色第一页|
国产精品高清视亚洲乱码
|
国产精品欧美精品日韩|
亚洲欧洲一区二区三区久久|
国产在线无码AV|
日韩欧美在线视频二|
五月婷婷久久综合色|
亚洲av色婷婷在线观看|
日韩视频中文字幕视频一区
|
久久久国产成人精品|
亚洲精品免费视频|
中文字幕丰满人妻|
很黄很爽无遮挡免费|
亚洲精品成人a在线观看|
国产精品综合色高清在线|
久久中文字幕精品视频|
亚洲欧美国产精品综合一区|
久久99中文字幕伊人|
亚洲av免费影院|
久久99视频热频国产精品|
国产激情视频网站|
国产一二区内射视频在线观看|
毛片av免费在线|
91人妻人人澡人人爽人精品|
欧美亚洲精品国产字幕在线观看|
欧美日韩成人精品一区二区网址
|
国产精品黄片aaa级在线观看
|
精品国产一区二区|
国产日韩av免费在线观看|
亚洲综合色无极久久|
亚洲综合视频在线|
久久亚洲三级|
日韩av中文字幕第一页乱码|
国产在线视频专区|
av免费观看精品一区二区|
日韩欧美99噜噜|
亚洲欧美精品在线影院|
午夜性刺激视频网站|
日本免费一区二区在线视频|
精品一区欧美激情|
97人妻碰碰碰|
色哟哟国产精品网站|
欧美一级成人一区二区三区
|
亚洲欧洲日韩aⅴ|
国产欧美亚洲三区久在线观看
|
麻豆色婷婷综合在线播放|
手机看片国产日韩高清|
自拍视频亚洲综合在线精品|
一区二区精品视频国产|
亚洲精品网站免费|
成人中文字幕影院|
精品无码免费专区午夜|
国产精品一区二区综合|
97国产视频|
亚洲欧美韩在线|
亚洲人妻av在线不卡|
日韩欧美精品在线一区二区|
99久久精品国产一区二区成人|
亚洲最新a在线观看|
av免费在线观看男人得区的天堂|
中文字幕AV免费专区|
亚洲日本精品污污污在线|
在线观看亚洲欧美日本专区|
亚洲国产精品热久久2022|
久久精品人人看人人做综合|
国产精品免费综合一区视频|
一区二区三区四区国产|
国产精品女主播自在线拍|
日韩欧美中文字幕一本|
国产成人精品免费大全|
国产不卡av片在线播放|
亚洲免费熟女|
国产精品综合色区在线观看|
国内免费视频成人精品|
中国一级毛片在线免费观看|
天天综合天天影视色香欲俱全|
欧美日韩成人精品久久二区|
一本色道久久综合狠狠躁|
激情另类亚洲欧美|
欧美精品一区二区三区视频|
国产午夜av不卡|
亚洲av极品尤物在线观看|
国产精品调教视频免费看|
亚洲精品在线观看免费av|
亚洲综合精品在线|
亚洲欧美日韩在线精品一区二区|
91日韩欧美精品|
国产精品亚洲精品影院|
国产美女视频福利网|
在线a免费观看|
久久综合精品免费视频|
久久这里只有精品电国产|
日韩va亚洲va欧美|
麻豆av无码精品一区二|
国产免费一区二区三区|
老汉色老汉首页a亚洲|
久久99国产精品视频|
国产内射大片999|
国产婷婷一区二区在线观看|
亚洲av禁片在线观看|
亚洲精品在线成人|
99久久做夜夜爱天天做精品|
中文有码在线观看|
亚洲七七久久综合桃花|
av观看不卡高清|
日韩午夜影院一区二区三区|
色婷婷综合在线视频最新|
久久99精品费看|
亚洲精品国产福利在线观看|
激情婷婷综合欧美|
亚洲中文字幕黑丝av|
国产色综合一区二区三区|
爱色av一区二区三区|
成人无码久久久一区二区|
国产精品专区免费视频|
九九热免费在线视频|
日韩免费一级|
麻豆激情久久av|
亚洲国产中文字幕在线|
日韩视频中文字幕视频一区|
国精品日韩欧美一区二区三区
|
中文乱码字幕av在线|
国产精品日本天堂|
九九热在线精品|
久久成人网国产一区|
91麻豆精品视频|
日本被强制侵犯亚洲系列播放|
欧亚熟女手机视频|
久久国产精品国产精品99|
久久精品亚洲牛牛影视|
国产成人欧美一区二区三区的|
国产二区视频在线观看免费|
亚洲欧洲日本精品|
狠狠色丁香婷婷综合欧美|
日韩中文字幕丝袜|
亚洲国产成人久久综合三区|
日本熟女久久|
国产婷婷综合在线视频|
国产精品一区二区三区直播
|
欧美日韩福利视频一区二区三区
|
国产精品推荐天天看天天爽|
国产精品国产三级国区|
亚洲男人噜噜噜|
国产精品日韩欧美一区二区|
亚洲国产国产综合一区首页|
欧美国产日本精品一区二区三区|
日韩欧美国产激情在线观看|
精品丰满熟妇高潮一区|
国产精品无码一区二区三区观看|
久久青青草原精品国产app|
精品少妇熟女|
国产性猛交久久熟女|
日韩在线视频第一页|
国产色婷婷免费视频|
一本久久a久久精品免费不|
亚洲AV无码一区二区三区动漫|
一区二区在线免费视频|
337p欧洲亚大胆精品|
中文字幕日韩欧美在线网|
亚洲无码高潮|
精品无码一区二区在线观看|
婷婷亚洲综合一区二区|
亚洲综合久久久|
欧美一区二区成人午夜|
婷婷激情av|
久久av男人的天堂综合|
99久久无色码中文字幕免费|
成人午夜免费国产|
亚洲aⅴ精品|
久久久精品波多野结衣|
h版欧美一区二区三区四区|
亚洲精品在线观看免费av|
国产一国产精品一级毛片视频|
日韩一欧美中文字幕|
成人在线视频国产|
大香伊蕉av在线|
精品久久嫩草影院|
亚洲v欧美v国产v|
欧美日韩成人综合网站|
亚洲每日免费在线播放|
多人内射av免费在线观看|
国产欧美二区三区|
国产午夜久久精品|
国产精品福利社区|
精品视频在线观看一区二区三区|
午夜国产成人精品在线|
精品人妻一区二区三个区|
亚洲综合av一|
一本久久大综合|
亚洲1000部在线观看|
国产乱码在线精品可播放|
黄国产不卡在线观看|
国产日本一区二区三区|
精品国产免费久久久久久|
国产精品视频一区二区三区|
亚洲国产精品高清在线一区|
a级国产乱理论片在线观看看|
97久久精品国产麻豆|
中文字幕日韩在线欧美|
亚洲av乱码在线|
在线播放真实国产乱子伦|
91人妻无码成人精品一区91|
亚洲欧美日本久久网站|
在线视频免费无码专区|
亚洲av成人一区久久|
国产色婷婷精品综合在线|
亚洲aⅴ精品|
天堂在线www天堂中文在线|
日韩精品专区AV无码|
精品一区二区在线观看|
欧美精品第一区|
热re91久久精品国产91热|
亚洲欧美日韩高清专区一区|
欧美日韩国产欧美|
免费精品国产日韩热久久|
国产婷婷综合在线视频中|
久久制服中文字幕|
欧美日韩一区二区在线视频播放
|
亚洲日本va中文字幕婷婷|
免费精品国产自产拍|
日本国产成人精品亚洲欧美在线|
中文字幕精品亚洲无线码一区|
亚洲国产精品乱码在线观看97
|
欧美精品成人专区|
日本免费一区二区久久人人澡|
久久亚洲不卡一区二区|
亚洲欧美国产日本|
欧美日本一二三区|
中文字幕亚洲综合久久蜜桃|
久热中文字幕播放互動交流|
久热99精品在线播放|
日韩中文字幕精品免费视频|
精品日韩欧美国产一区二区三区|
久久亚洲精品香蕉视频|
亚洲蜜芽在线精品一区|
精品精品国产自在久久|
精品91自产拍在线观看一区
|
未满十四周岁A毛片在线|
欧美亚洲综合网|
中文字幕无码人妻丝袜|
久久人妻少妇嫩草|
国产精品不卡视频一区二区|
一区二区欧美日韩在线观看免费|
亚洲狠狠狠一区二区三区
|
亚洲字幕av在线|
大香伊蕉av在线|
日本在线视频一区二区|
亚洲日本一区二区|
国产最新无码视频|
午夜福利在线亚洲|
国产精品白丝喷水在线观看|
国产精品自在在线香蕉|
亚洲熟妇AV一区二区三区下载|
东京热无码国产精品|
亚洲精品人中文字幕高潮|
精品亚洲永久免费|
国产xxxx成人精品免费视频|
国产精品不卡无毒在线观看|
国产日韩精品欧美一区喷|
欧美国产亚洲精品综合久久|
欧美日韩亚洲激情中文字幕|
日韩欧美亚洲123|
国产原创久久精品|
亚洲一二三在线|
亚洲国产迪丽热巴精品久久
|
欧美风情第一页|
激情综合网麻豆精品视频|
亚洲欧美日韩偷|
欧美日本中文国产一区发布|
国产精品久久久久久免费|
国产午夜精品在线播放|
日韩人妻精品一区2区三区|
国产96在线|亚洲|
欧美一区国产精品|
成人全黄三级视频在线观看
|
亚洲欧洲久久久精品|
久久狠狠丁香婷婷综合|
精品国产午夜|
国产av午夜福利电影|
国产成人免费视频|
日韩成人国产精品视频
|
精品少妇人妻av无码久久|
在线亚洲人成人影院观看|
国产在线一区二区三区精|
日本精品一二三区|
国产毛片不卡野外视频|
91中文字幕一区二区|
99久久婷婷国产综合精品免费|
中文字幕久久精品资源|
99精品人妻一区二区三区蜜桃|
国产综合精品久久久久成人|
久久综合九色综合97婷婷女人|
国产在线不卡一区|
久久免午夜视频|
a级国产乱理论片在线观看看|
国产啪亚洲国产精品无码69堂|
欧美日韩一区二区精彩视频|
国产毛片一区二区三区女|
日本在线视频一区二区|
日韩无码不卡一区二区|
97久久精品国产麻豆|
亚洲精品中文字幕av在线|
国产三区视频在线观看|
午夜精品不卡|
国产福利在线永久视频|
日韩欧美亚洲国产|
亚洲欧美精品久久|
a天堂在线中文网资源|
欧美激情噜噜噜|
精品国免费一区二区三区|
国产精品白浆流出在线观看|
欧美成人一区二区在线看|
精品午夜视频|
99国内视频在线|
久久91这里精品国产2020|
成人免费视频一区二区|
国产欧美日韩综合精品一区二区亚洲|
国产精品123区|
午夜激情av网站|
一区二区三区国产高清在线观看
|
亚洲一区二区中文字幕|
欧美va亚洲|
国产一区二区三区视频在线观看|
亚洲一区二区无码视频|
色婷婷最新视频|
日韩欧美一区二区三区不卡|
亚洲欧美日韩三区|
国产精品女同久久免费观看|
亚洲av乱码一区二区三区夜夜|
欧美日韩一区二区在线视频播放
|
亚洲国内日韩精品|
香蕉国产综合久久|
成人午夜精品|
97久久精品亚洲中文字幕无码|
亚洲а∨天堂久久精品喷水|
狠狠色婷婷狠狠狠亚洲综合
|
亚洲最大成人中文|
精品一区二区三区免费视频|
国产综合在线色|
热伊人99re久久精品最新地|
日韩电影av在线播放|
欧美午夜精品|
欧美熟女另类一区二区|
国产精品欧美日韩|
欧美午夜久久精品另类|
欧美另类日韩|
亚洲av永久在线观看更新|
国产亚洲欧美人成|
亚洲综合色自拍一区|
精品欧美日韩国产日漫一区不卡|
国产精品一区av污在线观看|
男人的天堂91精品|
亚洲欧美一区二区三区二厂|
国产精品一亚洲AV日韩AV欧|
亚洲精品午夜国产va久久成人|
亚洲视频日韩视欧美视频|
欧美午夜免费看爽爽爽|
精品国产成人三级在线观看|
国产91久久精品|
av网站国产日韩|
一级特黄aa大片一又好看|
国产成人精品在线高清|
日本在线一区|
九九九热在线精品免费全部|
国产免费av片在线观看麻豆|
国产黄色视频一区在线观看|
精品欧美熟妇久久99|
国产精品视频一区二区三区综合|
国产精品日韩欧美在线观看|
国产日韩欧美在线视频免费观看|
99久久精品国产综合一区|
精品日韩第一页?|
欧美日韩亚洲精品国产色|
亚洲在线精品视频|
亚洲欧美国产精品久久久|
99在线热免费视频精品97|
久久影院国产综合|
人妻中文字幕网在线|
中文字幕av一区二区三区人妻少妇
|
精品处破视频在线观看|
国产在线一二三精品观看|
久久精品这里精品|
国产伦精品一区二区三区在线观看|
午夜不卡亚洲视频|
亚洲国产91在线|
亚洲国产av韩国乱线|
国产精品福利av|
午夜精品一级毛片|
亚洲国产精品综合网|
精品成人在线观看|
色偷偷狠狠色综合网|
亚洲精品美女黄片|
精品高清无码视频|
色女Av免费在线|
午夜国产成人精品aaa视频|
国内精品一区二区三区视频|
一区二区欧美视频|
欧美久久黑人一区二区|
av免费观看精品一区二区|
亚洲欧美日韩国产|
亚洲一区二区三区在线免费观看
|
国产九九视频一区二区三区|
成人国产亚洲|
国产一级不卡视频|
妇女自拍偷自拍亚洲精品|
精品久久首页|
日韩午夜影院一区二区三区|
亚洲欧美一区二区三区电影|
国产第一二三区日韩在线观看|
在线亚洲欧美日韩|
成人福利在线视频|
日韩免费不卡视频|
国产福利不卡视频在免费播放|
久久国产精品亚洲大片|
亚洲精品免费看|
欧美另类日韩|
日韩精品在线一区|
亚洲欧美日韩在线|
av网址免费永久在线观看|
精品国产美女在线观看午夜
|
亚洲视频无码|
国产精久久一区二区三区
|
免费黄色视频永久观看|
亚洲女人久久精品蜜桃|
国产精品自拍av在线播放
|
最新免费国产中文无码黄色网站|
久久人妻少妇综合40p|
国产第一页久久亚洲欧美国产
|
亚洲女人久久精品蜜桃|
99国产午夜精品|
日韩毛片在线免费观看|
亚洲一区二区三区中文字幕|
国产精品玖玖玖香蕉在线观看|
人成在线观看视频无码|
日韩AⅤ精品国内在线|
日韩精品一区二区三区视频|
亚洲一区二区欧美|
亚洲AV无码乱码国产精品FC2|
欧美第一页在线|
怡红院亚洲视频|
国产成人亚洲无码淙合青草|
亚洲精品成人手机在线观看|
久久精品视频免费|
亚洲欧美日韩在线专区|
蜜芽亚洲AV无码精品国产|
国产亚洲精品线观看99|
天堂69亚洲精品中文字幕|
国产亚洲欧美日韩综合综合二区|
国产综合精品亚洲777|
一区在线播放|
av免费观看一级毛片|
国产日韩欧美精品在线观看|
国产天堂网站麻豆|
中文字幕乱码人妻综合二区三区|
√8天堂资源地址中文在线|
黄色国产在线观看|
18禁止午夜福利体验区|
日本国产精品|
91嫩草国产线免费观看|
日韩久久精品|
国产免费播放一区二区|
久久久无码精品亚洲日韩按摩|
国产在线男人的天堂|
亚洲欧美一区二区色图|
精品午夜在线播放视频在线
|
av天堂精品在线|
在线99精品视频|
一区不卡在线观看视频|
好看不卡免费高清av|
欧美精品在线三区|
国产性猛交久久熟女|
精品国产亚洲一区二区三区|
亚洲国产精品一区二区在线|
国产精品综合色区在线观看|
99精品国产一区二区三区伊|
四虎国产精品永久一区|
少妇系列中文字幕一区|
日韩精品中文字幕一区|
欧美一区在线观看视频|
免费在线视频a|
免费在线视频一区|
久久国产原创精品|
激情在线观看不卡视频|
96人妻精品一区二区三区|
国产亚洲精久久久久久无码浪潮|
亚洲综合av系列|
免费国产真人视频|
亚洲欧美丝袜91|
午夜电影精品|
亚洲精品天堂久久网|
亚洲欧美电影在线一区二区|
亚洲国产美女精品久久久久
|
精品国产亚洲av制服丝袜高跟|
久99久视频精品免费|
日韩AV无码免费|
国产成人丝袜在线无码|
亚洲97香蕉|
国产精品一区二区在线免费|
天天躁日日躁夜夜躁狠狠躁|
一区二区三区精品乱国产精品|
日韩国产一区在线播放|
久久成人精品一区二区五区|
国产伦一区二区三区四区久久|
亚洲一级中文字幕在线|
亚洲av成熟国产精品一区二区|
精品视频亚洲|
永久免费无码日韩视频|
久久久久亚洲AV成人片一区|
最新天堂中文资源在线8|
一级做a爰片久久精品毛片|
欧美国产精品久久综合|
高跟丝袜色搞精品三区|
日本免费久久久久久久网站|
欧美无遮挡一区二区三区|
久久不卡国产精品|
亚洲韩国在线精品|
在线观看精品国产入口|
国产内射视频一级片|
午夜av一区二区三区在线观看|
免费av在线播放一区二区|
日韩精品内射视频免费看|
另类中文字幕第一页|
欧美极品午夜|
视频一区二区三区自拍|
日本一区二区三区啪啪视频|
国产亚洲欧美日韩综合一区|
九九久久国产精品免费视频|
国产精品日韩欧美在线观看|
国产精品视频a播放|
久久精品亚洲欧美日韩久久|
国产精品久久二区|
日本免费高清一区|
啪啪视频中文字幕一区二区三区四区|
秋霞7777鲁丝伊人久久影院|
午夜福利区一区二区|
亚洲中文字幕天堂av|
av天堂麻豆精品|
在线观看欧美亚洲日本专区|
欧美成人精品欧美一级乱黄|
亚洲精品视频区|
亚洲日本韩国在线|
久久99婷婷国产综合精品青草|
国模一区二区三区四区视频|
欧美一区二区三区久久综合|
中文字幕欧美亚洲|
国产成人高清亚洲一区久久|
成人av大片免费在线观看|
国产亚洲综合网曝门系列|
亚洲品质自拍视频网站|
国产99久久精品区一区二|
天堂波多野结衣一区二区|
香蕉国产综合久久|
亚洲国产乱码在线精品|
国产激情一区二区三区在线蜜臀|
欧美色区视频|
男人又粗又硬桶女人免费|
婷婷亚洲国产成人精品性色|
99视频在线官网|
国产av官网国产|
国产欧美日韩不卡|
亚洲国产一区二区三区波多野结衣|
久久成人青青草|
无码av免费一区二区三区试看|
亚洲五月婷婷|
亚洲网址在线观看|
在线观看国产视频999av|
国产精品久久久久久一区二区三区
|
国产精品视频一区二区三区无码|
av成人在线国产精品播放|
国产成人精品免费直播大全|
国产成人久久久精品一区二区三区|
精品一区日韩欧美|
蜜臀久久精品久久宅男|
中文字幕欧美亚洲|
国产专区在线观看视频|
99精品久久只有精品|
亚洲高清中文无码|
国产成人国产在线观看入口|
另类日韩欧美国产|
亚洲国产一区二区精品区|
精品亚洲国产中文自在线|
欧美亚洲中日韩中文字幕在线|
99视频一区二区三区观看|
成人久久亚洲欧美|
国产精品美女久久久av|
亚洲狠狠久久综合一区二区|
久久一区视频|
九九热免费精品视频在线观看4|
亚洲欧美一区二区三区另类|
欧美日韩国产91|
丰满人妻熟妇乱又伦精品看|
国产黄色视频一区在线观看|
久久亚洲av毛片精品二区|
亚洲一区精品在线|
69综合网|
日本一区二区三区在线看|
亚洲中文在线看片|
日韩久久亚洲区|
久久精品这里只有精99品|
欧美午夜久久蜜桃|
99久久伊人精品综合观看|
免费国产在线无码|
亚洲一区二区三区在线免费观看|
无码人妻中文字幕精品专区|
天天爽夜夜爽精品免费|
欧美亚洲日韩另类中文字幕麻豆|
尤物国午夜精品福利网站|
精品人妻一区二区三区四区在线|
亚洲午夜香蕉久久精品b|
国产在线日韩在线|
日韩欧美三级三区|
免费无遮挡毛片中文字幕|
99这里是99在线视频|
国产综合另类小说色区色噜噜|
亚洲欧美综合网|
国产成人免费片在线视频观看|
亚洲精品在线视频免费观看|
亚洲永久免费福利视频|
国产高清精品在线91|
国产三级毛片大全|
欧美精品一区二|
一区二区三区国产高清在线观看|
中美日韩亚洲中文专区小说|
日韩欧美在线观看视频网站|
国产精品日韩欧美一区二区|
亚洲av手机网|
成年人午夜视频在线观看网站|
日韩欧美综合在线制服|
成人自拍网|
日日夜夜精品免费视频|
久久成人香蕉|
国产av自拍一区|
国语自产免费精品视频一区二区|
久久9精品|
国产高潮精品久久AV无码|
日韩av网站在线看|
国内精品一区二区2021在线|
亚洲av高清在线观看不卡|
精品久久久久亚洲|
国产一区二区在线视频|
国产男女猛烈无遮挡91|
97人妻一区二区精品免费视频|
欧美成人一区二|
色综合久久久无码中文字幕
|
国产在线无码AV|
2022亚洲国产成人精品|
亚洲精品无码白丝喷白浆在线|
日韩亚洲欧美字幕|
久久人妻少妇嫩草|
国产精品福利一区二区久久|
精品久久亚洲一级α|
少妇av在线|
伊人久久婷婷丁香六月综合基地|
欧美日韩在线一区播放|
国产亚洲欧美日韩综合一区|
国产三级国产精品|
日本高清一区二区三区不卡免费|
少妇人妻上班偷人精品免费|
91不卡在线精品国产|
国产做a爰片久久毛片95|
中文字幕精品国产|
欧美视频在线一区|
免费国产三级a在线观看|
潮喷在线无码白浆|
国产毛片不卡野外视频|
久久免费精品视频|
亚洲中文字幕成人影院|
久久中文综合字幕|
亚洲综合网国产福利精品一区|
精品亚洲熟女一区二区三区|
午夜欧美久久网|
久久久久久夜精品精品免费啦|
欧洲日韩av网站|
国产成人亚洲系列毛片|
无码av一区二区三区免费播放|
国产不卡免费69av|
久久网欧美|
亚洲精品中文字幕乱码三区|
欧美精品一区二区精品久久|
国产在线播放成人免费|
国产成人手机视频|
国产精品操美女|
国产欧美一区二区精品秋霞影院|
亚洲成人福利在线观看|
最近国产精品|
精品99在线观看|
清纯亚洲精品a在线|
亚洲国产精品一|
久久精品国产99国产精品|
91在线黄色片|
午夜亚洲福利在线播放|
国产亚洲欧美在线观看的|
亚洲第一区二区快射影院|
欧美成人一区二区免费|
在线99精品视频|
永久免费AⅤ无码网站国产|
久久亚洲国产欧洲精品一|
99久久精品国产亚洲精品|
最新无码国产在线视频202|
99热精品免费|
国产福利在线观看视频|
成人国内精品久久久久影|
精品一精品国产精品|
一本无码人妻在中文字幕|
精品国产欧美一区二区三区四区|
一区二区视频网|
精品亚洲va在线va天堂|
亚洲五月激情综合图片区|
极品国模av在线|
亚洲欧美日韩精品第一区|
99国产精品久久|
一区二区三区中文字幕|
久久精品国产亚洲av麻豆密芽|
久热99精品在线播放|
欧美高清国产日本a在线|
国产91久久精品|
国产最新精品福利在线观看|
欧美成人精品区网站|
99精品欧美一区二区三区视频|
国产精品高清视亚洲乱码|
亚洲国产综合网|
欧美精品一区二区三区百|
亚洲熟女久久国产|
国产av色婷婷|
中文字幕亚洲精品区|
国产亚洲天堂久久|
91国内在线视频|
综合在线成人一区亚洲|
国产成人久久久精品一区二区三区|
欧美精品一区二区在线观看|
一级做a级爰片性色毛片视频|
国产精品黄片亚洲|
国产亚洲精品激情在线|
国产一区二区三区免费不卡视频|
亚洲精品第二区|
亚洲日韩国产中文字幕|
久久久久亚洲AV无码专区首视色|
综合精品二区国产中文字幕|
国产精品高清视亚洲乱码有限公司|
国产高清在线视频一区二区三区|
91国自产精品中文字幕亚洲|
视频一区国产精品|
亚洲欧美制服丝袜一区二区三区
|
中文字幕视频二区|
亚洲午夜激情在线观看|
日韩亚洲一中文字幕|
午夜精品视频在线观看|
国产做a视频免费观看|
国产永久福利在线视频|
99久久久精品免费观看国产|
亚洲国产精品成人久久|
精品一区二区三区在线观看
|
亚洲国产成人无码a在线播放|
国产欧美精品一区二区三区|
欧美亚洲网|
97se狠狠狠综合亚洲狠狠|
国产精品久久一区二区三区|
国产男女无遮挡猛进猛出|
高清国产在线播放成人
|
久久亚洲精品无码AV大香|
免费国产精品视频|
亚洲一区二区三区免费在线观看
|
一区二区三区国产在线视频|
日韩三级亚洲三级|
一级大片免费观看久久99|
日韩电影一区二区网站|
亚洲一级av不卡毛片观看|
色偷偷综合亚洲av78|
国产精品视频分类视频2|
国产小视频免费观看|
国产美女久久久久不卡|
亚洲字幕av在线播放|
国产盗摄一区二区三区视频|
伊人久久综合影院首页|
日日夜夜免费精品视频|
久草国产在线播放|
91麻豆精品成人|
精品久久久久久中文字幕女|
欧美精品一区二区老熟女|
性色av婷婷久久一区二区三区|
国产美女午夜福利久久|
国产日产亚洲精品系|
亚洲av制服丝袜诱惑在线|
亚洲国产精品综合久久2007|
久久精品国产精品青草图片|
女人18毛片水真多国产|
国产人成网在线播放VA免费|
日韩国产欧美一线|
欧美日韩精品一区二区三区0|
丝袜人妻中文字幕久久|
国产欧美一区二区精品久久久|
久久午夜精品2区|
亚洲欧美日韩中文高清一|
国产真实乱子伦精品视手机观看|
免费视频成人国产精品网站|
国产亚洲精品综合久久|
亚洲欧洲一区二区|
国产精品国产a|
亚洲国产情侣BBW|
福利视频香蕉免费一区二区在线|
成人在线国产一区二区|
国产一区在线欧美日韩|
国产精品天天看大片特色视频|
亚洲欧美日韩www|
久久99热成人精品国产|
少妇午夜福利一区二区三区|
久久精品国产三级|
欧美日韩电影在线播放网|
久久精品66|
亚洲精品在线免费播放|
日韩福利电影一区二区|
亚洲精品色婷婷在线观看69|
久久99国产一区二区三区|
日韩欧美中文乱码视频|
国产午夜视频免费在线观看|
丝袜诱惑中文字幕二区|
亚洲欧美在线视频免费|
久久亚洲AV无码精品色午夜麻豆
|
国产精品亚洲无套在线观看|
欧美亚洲综合一区|
亚洲aⅴ精品|
国产高清无码麻豆精品|
亚洲人成在线看|
精品国产av一区二区三区6|
一本一道久久综合狠狠老|
亚洲国产日韩在线人成电影|
日韩欧美中文字幕幕|
日韩精品一区二区亚洲av观看下|
精品国产日韩亚洲一区在线|
男人天堂视频精品|
久久一级片视频|
日本一区二区视频|
中文字幕高清免费不卡视频|
欧美国产日韩亚洲综合|
欧美日韩中文国产一区二区三区|
久久久久久久一线毛片|
网友自拍视频精品区|
国产麻豆黄页av免费|
亚洲狠狠婷婷综合久久久久图片|
国产白浆久久精品一区二区三区
|
亚洲中文字幕熟女久久yuhg|
亚洲欧美日韩中文字幕一区二区三区
|
久久免费99精品国产自在现线|
在线亚洲v日韩v|
欧美精品国产成人|
国产午夜精品一区二区视频|
国产欧美日韩haodiaose|
国产高跟丝袜av|
麻豆婷婷久久五月综合|
美女隐私视频黄www在线看|
亚洲国产精品精品国产亚洲综合|
波多野结衣在线观看成人一区二区|
成人影院中文字幕|
91精品一区二区三区综合在线爱|
高潮毛片高清免费|
欧美日韩一区二区三区四区在线观看
|
免费国产黄网站在线看|
久久人妻少妇嫩妻|
97国产婷婷视频|
w色综合久久精品中文字幕|
美女人妻中文字幕av|
国产一区二区精品在线观看|
亚洲中文欧美日韩在线人|
欧美日韩亚洲国产激情在线|
午夜福利久久精品|
国产精品亚洲给色区久久99国产|
欧美日韩一区二区三区视频|
在线亚洲国产日韩欧美|
国产精品大屁股1区二区三区|
国产二级一片内射视频播放|
玩弄人妻一区二区|
欧美精品国产一区性色|
国产超级黄色视频在线观看|
久久久久亚洲|
欧美日韩在线一区播放|
亚洲欧美日本另类|
亚洲av在在线|
亚洲人成无码网站久久99热国产|
高跟丝袜色搞精品三区|
91精品国产麻豆国产在线观看|
中文字幕蜜桃久久|
久久亚洲精品成人av无|
亚洲美女成人久久|
国产精品国产a|
日韩中文字幕乱码免费|
亚洲欧洲一区二区三区在线|
日韩人妻中文字幕在线视频|
免费无码国产一级AV片|
国产女主播在线播放一区二区|
亚洲日本精品一区久久精品|
欧美综合区自拍亚洲综合图区|
在线无码中文字幕|
久久综合九色综合97免费下载|
亚洲福利av片中文字幕|
亚洲美女视频精品|
精品国产三级网站|
99亚洲精品高清一二区|
在线播放亚洲国产一区二区三|
成人全黄三级视频在线观看|
欧美成人v片一区二区三区激情
|
午夜福利啪啪精品|
亚洲精品小久久|
人妻少妇精品一区二区三区视频|
国产精品亚洲无套在线观看|
国产啪精品视频网站丝袜|
在线观看国产视频一区二区三区|
无码窝视频在线看|
欧美日韩视频|
不卡av在线播放|
成人亚洲午夜国产精品区在线观看|
亚洲av在想观看|
国产精品丝袜在线|
亚洲国产成人久久精品一区|
精品肉处视频在线|
九九久久亚洲综合久久久|
在线视频中文字幕在线一区|
国内a级毛片|
色综合久久精品国产|
精品精品在线视频|
色综合久久中文综合网|
99精品这里只有精品|
亚洲另类欧美综合久久图片区|
一线国产精品中文字幕|
国产精品第一区二区三区在线观看|
男女午夜特黄毛片免费|
亚洲中文字幕永久在线播放|
亚洲欧美一区二区三区在线|
欧美国产一区二区二区|
亚洲成人av一二三四区|
中文字幕无码视频在线第一页|
亚洲国产日韩欧美在线看片|
亚洲高清无码网站|
亚洲制服丝袜自拍中文字幕|
国产成人久久精品亚洲小说|
亚洲欧美日韩一区二区在线|
在线观看日本1区|
亚洲系列国产系列|
日韩国产成人精品视频人|
中文字幕亚洲精品第一页|
久久精品亚洲欧美日韩久久|
亚洲精品91在线|
欧美成人专区在线|
一级有乳奶水毛片免费|
成人精品国产亚洲|
亚洲人片在线|
日韩有码专区视频|
99国产精品久久|
亚洲精品国产专区91在线|
午夜三级在线|
亚洲丝袜综合中文字幕|
亚洲综合在线观看视频|
欧美日韩一区二区不卡三区|
黑丝袜美女国产一区|
亚洲一本到无码av中文字幕|
国产精品女主播自在线拍|
午夜精品爱爱福利视频不卡|
国产在线无码免费一区二区|
国产亚洲人成网站观看|
四虎精品成人免费观看|
亚洲一区二区在线观看av|
国产精品无大码|
久久精品国产亚洲AV成人片|
国产精品久久久久一区二区三区
|
欧美在线观看不卡|
日韩毛片精品|
av永久网址在线观看|
亚洲国产成人无码a在线播放|
香蕉伊大在线中字色中文|
国产日韩av高清在线观看|
亚洲精品综合网|
中文字幕亚洲综合久久蜜桃|
欧美视频一区二区三区在线观看|
亚洲三级不卡视频|
秋霞一区二区三区在线观看|
国产中文字幕精品在线观看|
亚洲国产精品久1区2区3区|
国产精品亚洲综合一区|
99精品国产成人一区二区|
亚洲中文字幕精品第三区|
久久精品久久蜜桃|
黑人欧美一级在线视频|
日韩在线亚洲综合|
99国内精品久久久久久久|
精品视频一区二区三区四区
|
狠狠色丁香九九婷婷综合五月|
久久精品99久久无色中文|
99热精品成人免费观看|
精品久久久亚洲|
国产色综合一区二区三区|
亚洲精品欧美综合四区|
日韩欧美视频一区在线观看|
免费在线观看香蕉av|
手机在线观看免费av永久免费|
亚洲国产中文精品|
久久激情影院|
av免费在线观看国产|
国产精品亚洲二线在线播放|
国产精品99精品一区二区三区∴|
国产成人综合95精品视频免费|
亚洲欧洲国产综合一区二区|
久99久视频精品|
在线观看国产一区二区精品|
国产精品国产三级国产aⅴ原创|
精品视频在线一区二区三区|
亚洲91福利在线观看|
欧美日韩一区二区三区在线视频|
97精品高清一区二区三区|
久久久久国产亚洲日本|
国产伦精品一区二区三区女
|
亚洲综合久久一区二区三区|
国产日韩欧美在线视频免费观看|
亚洲国产一区二区在线|
青青人亚洲AV永久无码精品无|
国产伦理李宗瑞麻豆91|
另类中文字幕第一页|
亚洲国产乱码最新视频|
亚洲日韩精品欧美一区二区一|
国产欧美日韩每日|
精品免费一区二区在线观看|
亚洲av成人一区二区国产精品|
国内美女国产三级视频|
精品一区二区国产欧美|
欧美激情噜噜噜|
欧美日韩视频免费观看一区二区三区|
久久麻豆精亚洲av品国产拍拍|
男人的天堂网页av中文字幕|
免费观看在线综合色|
在线日韩欧美国产一区|
久久亚洲免费av|
中文字幕精品人妻在线
|
中文字幕无码视频91|
国产在线天堂av|
国产av一区二区三区最新精品|
国产av无码乱码国产精品
|
国产手机在线αⅴ片无码观看|
日本高清免费不卡视频|
久久五月女厕所一区二区|
99久久无色码中文字幕|
国产在线看不卡一区二区|
国产午夜人做人免费视频中文|
欧美日韩一区二区不卡三区|
国产精品福利在线观看免费不卡
|
女人国产香蕉久久精品三级|
亚洲国产成人精品影院|
欧美日韩导航|
精品国内视频|
欧美成人一区二区久久|
欧美日本一区亚洲欧美一区|
99亚洲精品高清一二区|
国产高清一区二区|
亚洲色无码自慰|
久久夜色成人免费视频|
人妻精品久久中文字幕|
99精品人妻|
国产青青草原在线|
色爱区综合激月婷婷激情五月|
一区二区日韩欧美|
人成午夜免费大片在线观看|
青椒影视少妇av春色|
国产精品成人午夜电影一区二区|
欧美日韩亚洲精品国产|
国产情侣对白呻吟高潮视频|
亚洲精品在线专区|
igao视频国产|
久久精品国产亚洲精品|
午夜三级理论在线观看无码|
国产精品五区在线|
中文字幕成人乱码熟女免费|
国产男女福利在线视频|
国产精品二区高清在线|
狼狼色丁香久久婷婷综合五月|
久久精品一区二区无码AV|
久久丝袜精品一区国产91|
欧美一区二区三区在线网|
视频一区二区视频专区小说|
国产香港av|
丝袜中文字幕天堂|
国产亚洲精品岁国产微拍精品|
中文字幕欧美亚洲|
久久99国产综合精品1|
亚洲综合另类色区色偷偷txt|
亚洲高清在线观看精品|
欧美一区二区手机在线观看视频|
91久久精品国产91久久|
亚国产欧美在线人成|
99久久精品免费官网宅男|
亚洲国产精品毛片av在线下载|
日韩国产成人精品视频人|
日韩在线精品|
亚洲精品无线码在线|
亚洲国产精品成人网|
精品午夜福利在线|
日韩毛片在线免费观看|
国产午夜精品视频一区|
在线精品亚洲欧美日韩|
先锋影音中文字幕日韩欧美|
一区二区三区免费电影|
亚洲国产福利成人一区二区|
色哟哟精品一区二区三区|
国产成人啪精品午夜在线观看|
美女视频一区二区三区
|
中文字幕在线精品视频站app|
久久综合综合久久狠狠狠97色|
亚洲欧美国产成人综合不卡|
久久一区二区av|
国产不卡高清在线观看视频|
久久无码精品亚洲日韩|
欧美专区亚洲精品|
亚洲精品成人网久久久久久|
国产在线天堂av|
国产亚洲av综合人人精品|
高清av不卡免费在线观看|
国产日韩精品视频|
911亚洲精品无码视频|
亚洲国产色在线精品观看|
欧美一区二区国产精品日韩|
国产三级一区|
欧美日韩字幕在线|
国产成人精品欧美一区|
国产啪亚洲国产精品无码69堂|
亚洲丝袜综合中文字幕|
中文一区二区字幕欧美|
久久综合色之久久综合|
亚洲精品有码电影|
亚洲国产欧美精品|
国产精选人成视频在线观看
|
国产亚洲欧美日韩国产片|
亚洲A∨午夜成人片精品网站|
亚洲国产欧美v区|
亚洲欧美在线视频|
999国产精品视频免费观看|
久久麻豆精亚洲av品国产小说|
欧美日韩亚洲精品国产色|
亚洲综合色视频免费在线播放|
国产欧美日韩每日更新在线精品|
在线精品国内视频秒播|
四虎国产精品免费久久|
91人妻人人澡人人爽人精品|
久久国产成人精品一区|
亚洲综合av一|
久草精品在线|
中文天堂字幕av|
日韩国产在线一区二区|
国产成人精品婷婷|
国产一区二区在线免费观看|
亚洲美女av二区在线观看|
日韩欧美国产亚洲|
国产精品一区理论片|
麻豆av网站在线|
亚洲欧美中文字幕日韩一区91|
久久精品99精品国产亚洲性色|
亚洲国产欧美一区|
青青草一区二区免费精品|
超碰人妻福利在线2|
少妇乱子伦精品区|
久久人妻少妇嫩草av一区|
色屁屁二区|
国产亚洲天堂91|
亚洲黄在线观看|
国产精品日本亚洲|
精品一区二区久久|
一级做a爰片久久精品毛片|
国产一区二区三区精品视频|
国产三级精品三级在线精品一|
国产男女无遮挡猛进猛出|
国产视频a区|
欧美日韩一区二区三区免费不卡|
精品国产亚洲一区二区三区大结局|
一区二区三区日韩免费播放|
国产a视频精品免费观看|
男人的天堂亚洲网|
亚洲人妻中文字幕视频|
久久综合成人网|
香蕉国产成人免费精品视频|
国产精品高清久久久久久久|
av2017久久男人天堂|
久久96国产精品久久久|
亚洲天堂精品国产|
久久精品国产香蕉亚洲|
久久精品人妻少妇|
欧美一级夜夜爽视频|
手机在线观看免费av永久免费
|
国产欧美视频色版在线观看|
国内精品久久国产|
亚洲av网站在线网站|
www成人国产高清内射|
在线播放一区二区精品产|
国产丝袜女久久|
狠狠综合视频精品播放|
国产精品成人综合影院|
亚洲国内欧美在线|
国产l精品国产亚洲区久久|
无遮国产成人免费视频在线观看|
国产精品黄网站|
亚洲精品第一国产综合精品5|
久操视频在线免费观看|
国产精品国产三级国产av尤物|
午夜精品一区二区国产|
国产精品视频一区二区三区|
一区二区三区久久国产|
伊人无码一区二区三区久久|
国产又色又色视频|
国产成人一区二区精品视频|
国产欧美日产激情视频|
日韩精品一区二区在线观看|
日韩av大片在线播放|
视频二区中文字幕|
国产亚洲精品国产|
中文字幕av极品|
国产真实二区一区在线亚洲|
欧美日本一区亚洲欧美一区|
国产精品午夜a毛片一级|
日韩人妻中文无码一区二区|
国产成人欧美一区二区三区的|
999国内免费精品视频|
欧洲AV无码乱码国产精品|
亚洲伊人色欲综合网|
欧美日本国产在线网站|
国产精品亚洲综合第一页|
国产在线视频专区|
国产黄片免费在线观看视频|
国产精品视频中文字幕91|
亚洲国产97在线精品一区|
国产成人三级欧美在线|
久久亚洲一区二区|
欧美精品一区二区精品久久
|
亚洲综合激情另类专区|
夜夜夜夜曰天天天天拍国产|
亚洲a级毛片在线|
日本精品久久久中文字幕|
久久久亚洲精品蜜桃臀|
国产麻豆激情婷婷视频|
国产日韩一区二区三区在线|
欧美亚洲综合在线国产|
国产成人小视频|
亚洲无av中文字幕|
在线免费观看黄色视频不卡|
国产精品久久久免费视频|
国产高清在线精品一区αpp|
免费亚洲va|
日韩欧美亚洲精品国产|
国产成人精品久久一区二区三区|
国产香蕉尹人综合在线观|
精品国产综合成人亚洲区|
亚洲欧美一区二区丝袜另类|
丝袜久久剧情精品国产|
国产精品一区二区aa毛片|
国产精品自在在线香蕉|
国产精品久久久久久影院|
97久久超碰成人精品网站|
亚洲精品国产福利|
亚洲国产日韩在线人成电影|
日韩精品视频在线播放|
国产亚洲欧美一区二区|
国产av一区二区久久蜜臀|
国产1区2区3区精品|
成人国产精品免费|
亚洲欧美一区二区三区在线观看|
久久精选视频|
国产成年女一区二区三区|
日韩中文字幕欧美一区二区|
国产高清精品免费在线|
久久亚洲中文字幕丝袜长腿|
中文字幕欧美亚洲|
国产精品视频国产永久视频|
亚洲天天做日日做天天欢毛片|
欧美日韩一区二区黑人综合|
久久精品国产亚洲成人|
亚洲av成人精品三区|
国产精品国产亚洲伊人久久|
亚洲无码视频91|
成人午夜免费视频免费看|
337p欧洲亚大胆精品|
国产婷婷综合在线视频中|
国产香港av|
人妻伦理被视频一区二区三区|
无码一区二区三区av在线播放|
中美日韩亚洲中文专区小说|
天堂最新资源在线|
国产精品成人免费|
久久激情影院|
伊人久久大香线蕉影院|
一区二区三区不卡免费视频97|
欧美日韩中文国产一区二区三区|
91精品欧美综合在线观看|
精品人妻二区三区|
一线国产精品中文字幕|
中文字幕蜜桃久久|
亚洲人成色9999精品久久|
国产亚洲欧美国产亚洲欧美|
欧美日韩国产精品第一页|
国产av午夜影院|
麻豆精品新a v视频中文字幕|
亚洲无码高清免费视频亚洲|
天堂资源地址在线|
精品国产福利|
无码av免费不卡在线观看|
亚洲精品无码不卡在|
国产激情久久|
国产视频亚洲一区|
国产精品免费在线一区二区|
97精品国产高清自在线看超|
国产精品热久久无码av|
手机在线观看免费av永久免费|
欧美性爱一区|
亚洲国产欧美人成|
亚洲一区精品在线国产|
中文字幕精品亚洲无线码|
亚洲天堂麻豆av网|
国产成人一区二区啪免费视频|
亚洲av加勒比啪啪|
97婷婷亚洲|
蜜臀久久精品久久宅男|
尤物国午夜精品福利网站|
欧美成人午夜精品免费福利|
精品国产一区二区三区麻豆小说|
午夜精品一区二区三区在线观看|
日韩最新视频一区二区三|
亚洲欧美中文日韩综合|
亚洲品质自拍视频网站|
亚洲精品视频二区|
久久久噜噜噜久久久精品|
91亚洲精品久久|
精品中文字幕久久久|
在线播放真实国产乱子伦|
国产av一区三区|
成人欧美精品一区二区电影|
老司机精品福利视频一区|
日本午夜亚洲|
国产美女精品视频免费看|
亚洲精品欧美精品日韩精品|
91日本在线视频|
911亚洲精品国内自产|
香蕉久久av一区二区三区|
国产一级内射片在线观看|
99久久无色码中文字幕人妻蜜柚|
久久精品亚洲经典|
亚洲av之国产精品|
亚洲欧美日韩视频观看|
亚洲高清有码中文字幕|
国产偷国产偷亚洲高清午夜|
国产偷人伦激情在线观看|
亚洲欧洲精品成人久久曰不卡|
国产免亚洲费在线观看|
亚洲国产精品99久久6松岛枫|
亚洲激情欧美一区|
日韩精品高清视频永久|
综合久久一区二区三区|
99久久精品国内|
91精品国产无线乱码在线|
精品久久国产影视|
午夜福利av片|
欧美成人一区二区三区|
日韩免费无码一区二区视频|
五月天婷婷在线视频国产在线|
亚洲无吗视频在线|
99国产粉嫩在线观看|
亚洲av真人在线播放|
欧美日韩精品国产一区二区|
亚洲综合精品一区|
国产91成人精品|
日本高清一区在线视频|
欧美日韩一区二区在线视频播放|
国产成人拍国产亚洲精品稀缺
|
自拍亚洲区|
精品一区二区国产激情视频|
精品69久久久久久99|
韩国三级2022国产精品|
日本精品视频一区|
亚洲国产精品热久久2022|
国产一区二区三区欧美激情|
人妻精品99|
国产呦精品系列在线|
国产特级毛片aaaaaa|
亚洲AV无码中文久久久久|
国产av午夜影院|
国产精品成人一区二区三区av|
亚洲精品123区|
99re亚洲无码高清|
av激情影院在线看|
欧美视频在线一区二区三区|
亚洲欧美综合网站|
亚洲国语精品自产拍在线观看|
免费av播播观看|
久久精品一区二区三区中文字幕|
精品无码国产拍自产拍在线|
日韩中文字幕欧美一区二区|
国产福利在线视频尤物tv|
亚洲aⅴ精品|
久久精品国产亚洲影院|
日本一区二区中文字幕|
久久久精品午夜福利|
99国产综合亚洲精品|
国产伦一区二区三区四区久久|
国产成人yy免费视频|
香蕉精品网在线|
亚洲精品自拍视频在线|
日本乱偷人妻中文字幕在线|
男女午夜福利国产视频|
亚洲一区二区三区在线免费观看|
精品视频人妻少妇一区二区三区|
久久精品高清中文字幕|
国产成人啪精品午夜在线观看|
91在线精品老司机免费播放|
免费日韩av网站|
国产一区二区视频在线观看|
国产亚洲福利|
久久精品中文字|
色窝综合网|
激情国产在线|
欧美一区二区三区婷婷月色|
日韩欧美中文字幕在线观看视频网站|
五月婷婷久久综合色|
黄色一及毛片|
国产精品一区二区三区aaaa|
国产精品第一区在线观看|
高清亚洲中文综合|
欧美视频在线第一页|
国产真实二区一区在线亚洲|
在线免费观看国产精品黄片|
免费国产h视频在线观看|
久久精品第一区|
一区二区三区四区国产精品|
国产在线2024精品|
亚洲高清有码中文字幕|
91亚洲精品久久|
中文字幕人妻久久一区二区三区
|
午夜免费成人在线视频|
欧美在线观看不卡|
午夜福利免费一区二区|
日本一区不卡在线|
欧美老熟妇乱子伦|
日韩精品专区AV无码|
亚洲欧美一区三区|
亚洲国产乱码最新视频|
国产中文字幕精品在线观看|
免费在线观看亚洲视频|
亚洲精品aⅴ在线观看|
午夜小视频在线播放|
午夜福利在线观看一区二区三区|
亚洲免费视频一区二区三区|
久久成人av不卡|
欧美yw精品日本国产精品|
一区二区三区在线免费观看视频|
成人精品免费视频|
亚洲欧美色中文字幕|
国产欧美一区二区三区免费|
国产午夜av不卡|
亚洲伊人久久大香线蕉苏妲己
|
国内精品一区二区在线观看
|
岛国AV一区二区三区在线观看
|
欧美日韩一区二区不卡|
亚洲天堂精品国产|
日本激情一区二区三区|
欧美老司机海量高清视频福利|
韩国精品一区二区久久|
国产精品欧美系列|
午夜视频一区二区|
色综合合久久天天给综看|
中文字幕在线人妻av|
亚洲一区二区免费视频|
午夜av福利免费在线观看|
狠狠色丁香婷婷综合欧美|
国产福利一区在线观看视频|
女人国产香蕉久久精品三级|
国产福利不卡视频在免费|
仙女白丝jk小脚夹得我好爽|
99综合久久|
国产精品天堂网av|
另类日韩欧美亚洲专区|
欧美激情在线精品一区二区|
免费观看国产在线不卡av|
国产成人精品aaaa视频一区|
久久国产综合精品亚洲|
欧美精品亚洲精品日韩已满十八|
亚洲另类色区欧美日韩|
好看的亚洲av日韩av在线播放|
久久久久国产熟女精品|
精品国偷自产在线不卡短视频|
四虎久久影院|
91年精品国产福利线观看久久|
亚洲成a人片在线观看网|
亚洲成人国产综合|
综合色亚洲|
亚洲欧美精品日韩专区|
久久青青草原国产免费收看|
国产精品特黄一级国产大片
|
色噜噜狠狠色综合网图区|
免费国免费国产在线538视频|
亚洲成人av综合一区|
国产亚洲欧洲在线区|
国产精品亚洲三级|
精品国产AⅤ无码一区二区|
99热热久久|
亚洲av在在线|
中文字幕熟女久久|
国产精品内射在线观看|
亚洲综合视频在线|
日韩福利国产精品|
午夜福利精品在线视频|
欧洲vs日韩精品中文字幕|
欧美日产欧美日产精品|
亚洲不卡高清视频|
成人毛片免费视频|
99亚洲性爱视频|
日韩在线一区二区三区免费视频|
久久亚洲欧美一区二区三区|
99热这里只有是精品在线观看|
亚洲欧美综合区自拍另类|
午夜国产小视频|
噜噜视频在线网站|
99国产午夜精品|
肥臀熟女一区二区三区|
欧美成人三级一区二区在线观看|
亚洲黄片国产片|
国产成人免费久久|
91视频国产制服诱惑|
另类校园春色都市亚洲|
国产日韩欧美一区二区三区在线|
国产免费能观看的在线黄色视频|
91情国产精品国产亚洲高清|
欧美日韩一区二区在线观看视频|
亚洲国产综合久久精品|
成人免费午夜视频视频|
欧美亚洲国产成|
日韩国产欧美一线|
国产视频综合在线|
国产精品欧美亚洲韩国日本|
欧美亚洲国产成人不卡|
青草伊人久久一区三区|
97久久国产亚洲精品视频|
国产视频亚洲一区|
国产精品成人免费视频一区二区|
国产亚洲精品岁国产微拍精品|
久久成人国产精品免费|
男人的天堂亚洲aⅴ在线|
国产va免费精品观看精品高清|
成人AV无码国产在线一区|
在线观看的亚洲网站|
欧美日韩永久久一区二区三区|
欧美日韩一区二区黑人综合|
精品国产av噜噜一区二区|
日本亚洲欧美高清专区|
亚洲精品v欧美精品|
七七国产福利在线二区|
九九热这里有精品|
欧美人成片免费看视频不卡|
国产欧美日韩一区二区三区视频|
国产亚洲精品a在线观看中文|
亚洲国产精品片|
国产在线观看免费的av|
欧美日韩字幕一区二区|
久久精品亚洲综合|
亚洲色偷拍另类无码专区|
国产成综合|
精品一区二区久久|
欧美一区日韩精品|
欧美日韩一区二区综合在线视频|
色偷偷亚洲第一综合|
亚洲精品91中文字幕波|
91老司机精品福利在线|
国产精品视频色综合网综合色|
午夜福利视频亚洲一区二区|
人妻精品一区二区免费|
久久艹伊人|
91色视频网站|
国产中文字幕在线播放|
日韩无码国产精品97精品|
日韩精品亚洲第一页|
精品二区在线|
国产麻豆91精品视频|
亚洲综合色区无码专区|
亚洲韩国在线精品|
在线精品字幕视频|
欧美日韩国产精品精品|
国产精品久久午夜影院|
91免费无码国产在线播放|
精品一区二区视频在线|
91av在线视频观看|
亚洲明星中文字幕AⅤ无码|
国产在线视频你懂的|
亚洲精品在线网站|
欧美中文字幕在线|
欧洲亚洲欧美国产日本高清|
国产精品第三页在线观看|
精品国产成人三级在线观看|
香蕉在线精品亚洲第一区|
香蕉国产成人免费精品视频|
日韩色无码一级毛片一区二区-百|
亚洲无码天堂aV一卡|
亚洲精品欧美精品中文字幕|
在线亚洲国产精品区|
国产欧美日韩在线观看|
99人这里只有精品|
免费不卡av网站在线观看
|
久久看人妻一区|
国产美女永久免费观看视频|
欧美精品黄片免费看|
国产av福利久久|
亚洲福利一区福利三区|
色综合天天综合高清网国产|
97se狠狠狠综合亚洲狠狠|
色狠狠色狠狠综合一区|
国产精品一区二区亚洲一区二区|
亚洲无码猎奇中文字幕一区在线播放
|
亚洲综合第二页|
亚洲国产精品久久网午夜|
午夜精品一区二区三区在线观看|
国产欧美精品一区aⅴ影院|
亚洲AV无码国产综合一区二区|
亚洲免费午夜av在线|
欧美91视频精品网|
少妇激情av一区二区|
亚洲丝袜制服av网|
激情欧美日韩国产在线观看|
在线观看免费视频/国产97|
六月婷婷网视频在线观看|
日韩亚洲欧美一区二区三区
|
国产精品一区二视频区|
久久福利视频一区|
亚洲天堂精品国产|
亚洲精品在线专区|
国产一区二区三区国产精品|
国产精品亚洲高清一区二区|
亚洲一欧洲中文字幕在线|
91av国产精品|
99伊人亚洲|
三级人妻中文字幕视频|
中文日韩欧美|
亚洲欧美高清视频|
久久精品午夜免费看|
亚洲中文字幕黑丝av|
久久制服中文字幕|
视频二区素人欧美日韩|
亚洲高清成人|
中文字幕久久精品乱码|
国产美女视频片|
国产日韩欧美在线亚洲|
中文字幕无码久久精品|
亚洲综合av中文字幕久久|
国产美女被爽到高潮视频|
人妻精品免费一二三区|
亚洲第一页在线观看|
日本不卡视频|
国产亚洲精品成人av新|
亚洲成av人片免费观看|
欧美国产一区二区二区|
国产成人AV综合久久|
国产成人亚洲精品2020|
中文字幕丝袜av|
精品国产中文在线二区三区四区|
AV天堂国产免费|
美女啪三区|
色久综合在线观看|
国产日产欧产精品精品推荐在线|
人妻少妇乱子伦精品无码专区毛片|
91福利国产在线观看网站|
国产女人18毛片水多视频|
免费国产成人高清在线观看直播
|
久久久久久免费播放一级毛片|
在线视频精品久|
一本久道亚洲高清一区二区|
91中文字幕网在线|
国产在线视频专区|
日韩欧美国产精品区|
网友自拍视频精品区|
亚洲av永久免费网|
国产欧美精品国产国产专区
|
天堂av伊人网|
亚洲婷婷天堂在线综合|
日本不卡视频网站|
国产精品18在线观看观看|
国产亚洲精品国看不卡|
亚洲人成网站在线播放2019|
国产系列在线亚洲|
26uuu在线欧美|
成人国产精品2024|
亚洲毛片不卡av在线播放二区|
免费精品国产日韩热久久|
最新亚洲人成网站在线|
中文字幕一区二区三区的人妻|
欧美视频在线一区二区三区|
国产激情久久|
日韩精品第20页|
97国产超碰一区二区三区|
在线亚洲国产日韩欧美|
无遮挡免费av片在线观看|
国产欧美日韩一区|
成人午夜视频网址|
国产盗摄精品一区二区|
亚洲国产精品一区二区在线|
国产高清一区二区在线|
欧美成人精品一区二区三区|
亚洲综合久久精品少妇av
|
亚洲涩涩精品专区|
91亚洲欧洲视频在线观看|
亚洲综合激情五月婷婷|
欧美一区二区在线观看视频|
岛国av不卡免费看|
亚洲色欧美色2019在线|
日韩免费无码人妻系列|
在线播放一区二区精品产
|
国产精品综合导航|
国产爽歪歪免费视频在线观看|
中国一级毛片在线免费观看|
国产成人综合在线视频|
中文成人无码国产亚洲|
97小视频在线免费观看|
亚洲女人天堂成人AV在线|
日韩欧美中文字幕一区在线|
婷婷六月综合激情|
国产精品大秀视频|
国产亚洲人成a在线v网站|
亚洲中文字幕av电影在线|
国产精品合集一区二区|
日韩中文字幕精品免费视频|
亚洲欧美久久一区二区|
亚洲欧美另类激情一区|
国产福利不卡视频在免费|
不卡免费中文字幕日韩|
久久亚洲三级|
日韩人妻中文字幕乱码一区|
99热这里只有精品动漫|
国产欧美日韩精品第一区|
美女国产一区二区视频|
亚洲国产成人久久综合一区99|
国产精品极品色在线|
亚洲欧美在线高清|
国产成人国产在线观看入口|
日韩欧美国产午夜精品|
www久久只有这里有精品|
日韩精品中文字幕在线播放|
亚洲欧美久久精品1区2区|
99国产午夜精品|
国产a一级毛片午夜剧场14|
欧美熟女另类一区二区|
性激烈的欧美三级视频中文字幕|
最近更新亚洲中文字幕高清在线|
国产福利在线观看视频|
国产一区二区三区免费不卡视频|
一本色道久久88亚洲综合|
av免费播放一区二区|
国产精品亚洲一区二区在线观看|
久99久视频精品|
蜜芽亚洲AV无码精品色午夜|
亚洲成人午夜影院|
日韩在线视频免费看|
天天躁日日躁狠狠躁中文字幕|
日本三级国产精品|
成人在线视频一区|
国产精品女人视频一区二区三区|
亚洲欧美日韩国产成人精品|
亚洲av成人国产|
手机在线观看免费av永久免费
|
国产亚洲福利精品一区二区|
99成人免费精品久久|
天堂国产欧美一区二区三区|
久久国产男人天堂|
日本高清香蕉色视频在线观看|
国产亚洲午夜精品a一区二区|
久久精品色浮熟妇丰满人妻9|
日韩亚洲国产激情在线观看|
伊人久久大香线蕉综合收藏|
精品无码免费专区午夜|
日本高清不卡在线观看|
日韩精品欧美综合视频一区二区|
欧美日韩亚洲综合一区二区三区
|
日韩欧美综合视频|
精品一区二区三区免费毛片|
精品国内偷自产在线观看|
天天摸天天碰色综合网|
av一区二区麻豆|
天堂8中文在线网|
国产系列丝袜熟女精品视频|
国产成人精品午夜麻豆报告|
久久精品亚洲国产aⅴ播放|
jlzz大jlzz大全免费|
在线小香蕉精品|
久草青青在线视频|
国产成人精品福利久久|
国产欧美亚洲精品|
99久久人妻精品系列|
91精品一区二区三区无码吞精|
欧美国产一区二区二区|
国产一区二区三区在线观看福利|
欧美日韩成人在线精品|
久久国产精品二区99|
亚洲片国产免费看|
美女啪三区|
日韩AV无码一区二区|
精品国产综合成人亚洲区|
在线永久免费av网站|
欧美日韩中文字幕在线韩|
欧美日韩国产欧美|
亚洲av综合色区一区二区偷拍|
国产福利小视频在线观看|
欧美综合区自拍亚洲综合天堂|
亚洲不卡免费视频|
欧美一区二区三区不卡视频在线|
国产日韩精品欧美|
欧美国产日韩做一线|
国产麻豆激情婷婷视频|
99热只有精品1|
亚洲欧美中文字幕专区|
国产主播一区二区|
国产成人精品在视频|
国产免费av片不卡|
91偷拍与自偷拍精品无码|
在线观看精品国产尤物|
日韩欧美中文字幕一区|
欧美日激情久久|
欧美日韩精品一区二区精品|
国产综合欧美日韩视频一区|
亚洲国产一区二区a毛片|
国产欧美日韩精品第二区|
国语一一自产精品视频在线
|
国产AV无码国产一区二区三区|
亚洲国产精品影院|
欧美日韩国产一线天|
吾爱国产精品导航|
国产欧美一区二区免费激情片|
国产精品人妻久久毛片|
精品亚洲一区二区|
亚洲精品不卡在线|
国产超级黄色视频在线观看|
欧美精品日韩一区二区在线观看
|
性xxxx视频播放免费|
久久欧美精品在线观看|
亚洲日韩国产AV无码无码精品|
伊人久久大香线蕉免费视频|
国产日韩欧美中文制服|
国产精品一区二区欧美日韩|
久久丫精品国产亚洲AV不卡|
av免费在线观看国产|
在线观看91精品国产入口|
91精品欧美综合在线观看|
成人亚洲91|
欧美视频色偷偷|
久久久久亚洲AV免费观看|
国产精品高清视亚洲乱码有限公司|
亚洲品质自拍视频网站|
久久精品国产一区二区|
国产精品亚洲精品日韩动图|
国产精品免费观看1|
国产av一区二区日夜精品剧情|
欧美日韩综合精品一区二区|
国产精品天堂|
亚洲AⅤ在线播放|
在线中文字幕亚洲欧美一区|
国产精品成人免费观看|
国产精品自在在线香蕉|
一区二区三区四区精品视频|
国语自产免费精品视频在线播|
成年女人黄片免费视频午夜|
每日在线观看亚洲av|
欧美日韩中文国产在线|
亚洲AV成人无码久久精品在|
亚洲AⅤ在线播放|
欧美国产综合亚洲91|
国产一区曰韩二区欧美三区
|
国产青青草原在线|
亚洲熟女少妇av|
亚洲欧美另类777|
久久综合亚洲精品色|
最新日韩在线中文字幕有码中文
|
91亚洲国产精品久久久|
亚洲一区成人精品|
亚洲精品国产不卡在线观看|
久久精品国产一区|
日韩二三区|
久久福利免费视频|
欧美日韩一区二区三区色综合|
亚洲一区在线观看视频|
日韩一区二区免费视频|
亚洲精品国产自在久久老牛|
精品国产日韩亚洲一区在线|
久久精选视频|
亚洲国产精品激情在线观看|
久久最新免费视频|
国产亚洲欧美日韩在线观看不卡
|
国产成人亚洲系列毛片|
天堂аⅴ在线地址8|
亚洲国内日韩精品|
97精品免费公开在线视频|
国产亚洲精品自拍|
久久亚洲中文字幕丝袜长腿|
久久99中文字幕|
国产精品一区二区三区网站|
精品久久久久久中文字幕女|
www.av男人.com|
亚洲午夜福利看片|
国产欧美视频色版在线观看|
午夜亚洲福利在线播放|
欧美亚洲国产v|
精品在线国产亚洲|
黄片日韩亚洲欧美|
亚洲国产中文乱码精彩av|
成人影院亚洲精品|
日韩一区精品视频在线看|
亚洲国产色婷婷精品综合在线观看
|
国产亚洲欧美另类久久久|
亚洲国产最新在线一区二区|
91精品国产一区二区三区左线|
欧美日韩无线在码不卡一区二区三区|
欧美一级夜夜爽视频|
亚洲高清无码精品|
特黄无码Av在线播放|
久久国产精品久久|
国产精品一区二三区|
国产成人精品久久免费看|
欧美在线网站一区二区三区|
亚洲avav天堂网|
国产又色又色视频|
国产欧美日韩一区二区三区视频|
国产三级在线观看专区|
亚洲AV无码一区二区三区天堂|
久草国产在线播放|
午夜无码一区二区三区在线|
亚洲欧美综合精品久久成人网|
中文字幕—精品亚洲一区|
亚洲天堂麻豆av网|
欧美久久曰产精品|
欧美高清在线视频一区二区
|
亚洲一区AV无码专区在线观看|
国产丝袜免费精品一区二区|
久久AV网|
日韩三级视频一区二区三区|
亚洲欧美成a人在线观看|
婷婷综合久久中文字幕|
91久久精品国产免费一区|
国产在线91精品入口|
国产福利激情视频|
亚洲97久久精品亚洲|
亚洲人成色9999精品久久|
宅男精品国产亚洲a|
久久国内精品|
亚洲精品美女久久av|
国产av无码国产av毛片|
国产一区二区四区在线观看|
日本视频二区网站|
精品欧美一区二区三区在线|
欧美日韩一区二区三区色综合|
午夜精品一区二区国产|
国模一区二区三区视频|
在线点播国产精品亚洲欧美韩国|
国产成人精品视频播放|
精品一区二区三区免费视频|
久久久久国产精品午夜一区|
国产精品久久9|
亚洲国产尤物在线观看|
欧美一区二区三区激情视频
|
熟女一区二区|
男女啊啊啊视频网站免费|
国产亚洲第一伦理第一区|
亚洲一二区在线|
国产伦精品一区二区高清|
一区二区精品视频国产|
99精品国产免费久久久久久下载|
国产在线无码AV|
国自产拍精品一区|
精品乱码字幕一区二区三区四川|
欧美高清一区二区|
在线亚洲精品91|
久久嘿嘿中文字幕|
毛片2016免费视频|
免费人成在线观看网站|
国产精品视频福利午夜|
国产精品看片在线观看中文|
亚洲国产精品一区|
亚洲精品美女久久av|
亚洲av中文久久精品|
一区二区精品视频国产|
久久久精品日本一区二区三区
|
欧美久久黑人一区二区|
色综合婷婷99|
无码中文字幕第一页|
久久精品亚洲男人天堂|
日韩在线观看一区二区不卡视频|
精品无码久久|
亚洲中文字幕黑丝av|
国产一区美女视频|
中文字幕综合网|
99re在线视频观看免费|
亚洲一级中文字幕在线|
成人无遮挡免费网站视频在线观看
|
久久精品亚洲经典|
波多野结衣视频在线一区二区|
亚洲国产福利精品一区二区|
国产精品亚洲va在线观看|
亚洲一片在线观看|
亚洲欧美日韩精品专区52|
亚洲欧美国产成人综合不卡|
在线成人一区二区视频|
免费老色鬼永久视频网站|
国产免费av片在线观看麻豆|
亚洲欧美韩在线|
亚洲高清视频网站|
国产精品久久9|
欧美成人午夜不卡在线视频|
欧美中文字幕在线二区|
人妻少妇精品视频二区|
伊人久久综合影院首页|
亚洲婷婷在线中文字幕|
国精品人妻一区二区|
欧美日韩人妻久久精品|
亚洲高清在线中文字幕|
国产综合久久久久|
国产综合亚洲精品|
人妻精品免费一二三区|
久青草视频免费视频播放线路1|
亚洲欧美网站在线观看|
国产成人免费高清视频|
91亚洲国产精品久久久|
久久香蕉综合国产|
欧美激情中文字幕综合一区|
熟女一区二区|
国产在线视频资源|
在线永久免费观看黄网站|
国产福利在线观看一区二区|
久久久噜噜噜久久久精品|
国产又黄又猛又色又爽的视频|
成人国产午夜在线视频|
亚洲国语精品自产拍在线观看|
91热re99国产精品|
亚洲中文字幕日本乱码|
白浆在线|
亚洲香蕉综合|
欧美国产日韩一区|
每日在线观看亚洲av|
欧美成人伊人久久综合网|
国产女人叫床高潮大片|
粉嫩粉嫩毛片视频|
欧美精品国产日韩综合在线|
欧亚精品视频一区二区三区|
日韩在线亚洲综合|
百国产欧美在线一区二区|
国产精品思思五月婷高清在线
|
在线播放一区二区三区|
一区二区三区香蕉视频|
亚洲欧美日韩国产综合高清|
亚洲a在线观看|
国产在视频线精品www666|
首页动漫亚洲欧美日韩|
精品国产v无码大片在线看|
在线无码国产观看播放网址|
激情欧美一区二区三区|
首页动漫亚洲欧美日韩|
日韩视频免费一区二区三区|
在线免费观看91av|
亚洲精品小视频|
国产一级r内射视频|
99精品久久久久久久免费看蜜月|
熟女亚洲av综合av|
亚洲无码免费看|
欧美人与性动交α欧美精品2|
国产精品亚洲精品观看不卡|
人妻少妇系列精品视频专区|
麻豆国内精品欧美在线|
在线中文激情av|
欧美中文小说在线观看|
日韩一区二区三区精品|
国产av三级精品|
日韩精品一区二区三区中文精品|
国产精品一区二区在线观看av|
99日精品欧美国产|
欧美日韩一区二区黑人综合|
午夜无码一区二区三区在线|
国产精品一区二区久久不卡|
操老熟女国产|
日韩精品专区AV无码|
99热精品这里只有|
国产乱久久亚洲国产精品|
91在线精品播放|
老司机午夜福利视频一区|
最新国语自产精品视频在|
免费国产在线精品一区二区三区免
|
国色天香精品亚洲精品|
原创国产视频一区二区三区|
国产精品视频福利|
人人婷婷色综合五月第四人色阁
|
欧美一区二区三区婷婷月色|
国产成人免费av大片|
国产精品99一区二区三区|
av中文字幕在线8|
国产精品亚洲视频|
久久99热这里只有精品免费看|
国区一区二区免费播放|
国产精品v亚洲v尤物精品|
国产精品天天看天天爽|
日韩国产欧美在线播放|
久久精品国产福利免费看
|
亚洲国产成av人片在线观看|
成人福利在线视频|
国产欧美精品区一区二区三区|
999精品视频国产|
亚洲欧美成人中文日韩电影网站
|
国产乱偷乱视频|
亚洲精品免费在线视频|
思思久久q6热在精品国产|
天天躁日日躁夜夜躁狠狠躁|
AV二色天堂在线|
亚洲一区二区三区免费视频|
国产精品野战视频网站|
久久精品国产精品一区二区|
欧美亚洲国产另类在线观看|
精品国产色婷婷|
国产欧美亚洲精品综合在线|
国产精品天天看大片特色视频|
人妻精品在线一区|
国产偷自视频区视频18|
在线看的亚洲av|
91亚洲精品丁香在线观看
|
午夜福利精品一区|
日本福利片国产午夜久久|
亚洲a级毛片在线看|
亚洲中文字幕资源在线观看|
国产精品一区二视频区|
久久久久无码国产精品一区|
亚洲乱码免费中文字幕|
欧美中文字幕一二三四区|
国产成人在线无码免费视频|
狠狠做深爱婷婷综合一区|
99热这里只有精品最新网re|
久久99久久久无码国产精品按摩|
99久久精品免费看国产|