日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀] 數(shù)據(jù)傳輸:一個(gè)進(jìn)程需要將它的數(shù)據(jù)發(fā)送給另一個(gè)進(jìn)程,發(fā)送的數(shù)據(jù)量在一個(gè)字節(jié)到幾兆字節(jié)之間。共享數(shù)據(jù):多個(gè)進(jìn)程想要操作共享數(shù)據(jù),一個(gè)進(jìn)程對(duì)共享數(shù)據(jù)的修改,別的進(jìn)程應(yīng)

 數(shù)據(jù)傳輸:一個(gè)進(jìn)程需要將它的數(shù)據(jù)發(fā)送給另一個(gè)進(jìn)程,發(fā)送的數(shù)據(jù)量在一個(gè)字節(jié)到幾兆字節(jié)之間。

共享數(shù)據(jù):多個(gè)進(jìn)程想要操作共享數(shù)據(jù),一個(gè)進(jìn)程對(duì)共享數(shù)據(jù)的修改,別的進(jìn)程應(yīng)該立刻看到。

通知事件:一個(gè)進(jìn)程需要向另一個(gè)或一組進(jìn)程發(fā)送消息,通知它(它們)發(fā)生了某種事件(如進(jìn)程終止時(shí)要通知父進(jìn)程)。

資源共享:多個(gè)進(jìn)程之間共享同樣的資源。為了作到這一點(diǎn),需要內(nèi)核提供鎖和同步機(jī)制。

進(jìn)程控制:有些進(jìn)程希望完全控制另一個(gè)進(jìn)程的執(zhí)行(如Debug進(jìn)程),此時(shí)控制進(jìn)程希望能夠攔截另一個(gè)進(jìn)程的所有陷入和異常,并能夠及時(shí)知道它的狀態(tài)改變。

UNIX 進(jìn)程間通信(IPC)方式包括管道、FIFO、信號(hào)。

Linux 中使用較多的進(jìn)程間通信方式主要有以下幾種。

(1)管道(Pipe)及有名管道(named pipe):管道可用于具有親緣關(guān)系進(jìn)程間的通信,有名管道,除具有管道所具有的功能外,它還允許無(wú)親緣關(guān)系進(jìn)程間的通信。

(2)信號(hào)(Signal):信號(hào)是在軟件層次上對(duì)中斷機(jī)制的一種模擬,它是比較復(fù)雜的通信方式,用于通知接受進(jìn)程有某事件發(fā)生,一個(gè)進(jìn)程收到一個(gè)信號(hào)與處理器收到一個(gè)中斷請(qǐng)求效果上可以說(shuō)是一樣的。

(3)消息隊(duì)列:消息隊(duì)列是消息的鏈接表,包括Posix 消息隊(duì)列systemV 消息隊(duì)列。它克服了前兩種通信方式中信息量有限的缺點(diǎn),具有寫(xiě)權(quán)限的進(jìn)程可以向消息隊(duì)列中按照一定的規(guī)則添加新消息;對(duì)消息隊(duì)列有讀權(quán)限的進(jìn)程則可以從消息隊(duì)列中讀取消息。

(4)共享內(nèi)存:可以說(shuō)這是最有用的進(jìn)程間通信方式。它使得多個(gè)進(jìn)程可以訪(fǎng)問(wèn)同一塊內(nèi)存空間,不同進(jìn)程可以及時(shí)看到對(duì)方進(jìn)程中對(duì)共享內(nèi)存中數(shù)據(jù)的更新。這種通信方式需要依靠某種同步機(jī)制,如互斥鎖和信號(hào)量等。

(5)信號(hào)量:主要作為進(jìn)程間以及同一進(jìn)程不同線(xiàn)程之間的同步手段。

(6)套接字(Socket):這是一種更為一般的進(jìn)程間通信機(jī)制,它可用于不同機(jī)器之間的進(jìn)程間通信,應(yīng)用非常廣泛。

[b]管道通信[/b]

普通的Linux shell都允許重定向,而重定向使用的就是管道。例如:

ps | grep vsftpd

管道是單向的、先進(jìn)先出的、無(wú)結(jié)構(gòu)的、固定大小的字節(jié)流,它把一個(gè)進(jìn)程的標(biāo)準(zhǔn)輸出和另一個(gè)進(jìn)程的標(biāo)準(zhǔn)輸入連接在一起。寫(xiě)進(jìn)程在管道的尾端寫(xiě)入數(shù)據(jù),讀進(jìn)程在管道的首端讀出數(shù)據(jù)。數(shù)據(jù)讀出后將從管道中移走,其它讀進(jìn)程都不能再讀到這些數(shù)據(jù)。管道提供了簡(jiǎn)單的流控制機(jī)制。進(jìn)程試圖讀空管道時(shí),在有數(shù)據(jù)寫(xiě)入管道前,進(jìn)程將一直阻塞。同樣,管道已經(jīng)滿(mǎn)時(shí),進(jìn)程再試圖寫(xiě)管道,在其它進(jìn)程從管道中移走數(shù)據(jù)之前,寫(xiě)進(jìn)程將一直阻塞。

管道主要用于不同進(jìn)程間通信。

創(chuàng)建一個(gè)簡(jiǎn)單的管道,可以使用系統(tǒng)調(diào)用pipe( )。它接受一個(gè)參數(shù),也就是一個(gè)包括兩個(gè)整數(shù)的數(shù)組。如果系統(tǒng)調(diào)用成功,此數(shù)組將包括管道使用的兩個(gè)文件描述符。創(chuàng)建一個(gè)管道之后,一般情況下進(jìn)程將產(chǎn)生一個(gè)新的進(jìn)程。

系統(tǒng)調(diào)用:pipe( );

原型:int pipe( int fd[2] );

返回值:如果系統(tǒng)調(diào)用成功,返回0。如果系統(tǒng)調(diào)用失敗返回- 1:

errno = EMFILE (沒(méi)有空閑的文件描述符)

EMFILE (系統(tǒng)文件表已滿(mǎn))

EFAULT (fd數(shù)組無(wú)效)

注意:fd[0] 用于讀取管道,fd[1] 用于寫(xiě)入管道。

#i nclude

#i nclude

#i nclude

#i nclude

int main()

{

int pipe_fd[2];

if(pipe(pipe_fd)0)

{

printf("pipe create error\n");

return -1;

}

else

printf("pipe create success\n");

close(pipe_fd[0]);

close(pipe_fd[1]);

}

管道主要用于不同進(jìn)程間通信。實(shí)際上,通常先創(chuàng)建一個(gè)管道,再通過(guò)fork函數(shù)創(chuàng)建一個(gè)子進(jìn)程。

可以通過(guò)打開(kāi)兩個(gè)管道來(lái)創(chuàng)建一個(gè)雙向的管道。但需要在子進(jìn)程中正確地設(shè)置文件描述符。

必須在系統(tǒng)調(diào)用fork( )中調(diào)用pipe( ),否則子進(jìn)程將不會(huì)繼承文件描述符。

當(dāng)使用半雙工管道時(shí),任何關(guān)聯(lián)的進(jìn)程都必須共享一個(gè)相關(guān)的祖先進(jìn)程。因?yàn)楣艿来嬖谟谙到y(tǒng)內(nèi)核之中,所以任何不在創(chuàng)建管道的進(jìn)程的祖先進(jìn)程之中的進(jìn)程都將無(wú)法尋址它。而在命名管道中卻不是這樣。

與linux中文件操作有文件流的標(biāo)準(zhǔn)I/O一樣,管道的操作也支持基于文件流的模式。接口函數(shù)如下

庫(kù)函數(shù):popen();

原型: FILE *popen ( char *command, char *type);

返回值:如果成功,返回一個(gè)新的文件流。如果無(wú)法創(chuàng)建進(jìn)程或者管道,返回NULL。

管道中數(shù)據(jù)流的方向是由第二個(gè)參數(shù)type控制的。此參數(shù)可以是r或者w,分別代表讀或?qū)?。但不能同時(shí)為讀和寫(xiě)。在Linux系統(tǒng)下,管道將會(huì)以參數(shù)type中第一個(gè)字符代表的方式打開(kāi)。所以,如果你在參數(shù)type中寫(xiě)入rw,管道將會(huì)以讀的方式打開(kāi)。

使用popen()創(chuàng)建的管道必須使用pclose( )關(guān)閉。其實(shí),popen/pclose和標(biāo)準(zhǔn)文件輸入/輸出流中的fopen() / fclose()十分相似。

庫(kù)函數(shù): pclose();

原型: int pclose( FILE *stream );

返回值: 返回系統(tǒng)調(diào)用wait4( )的狀態(tài)。

如果stream無(wú)效,或者系統(tǒng)調(diào)用wait4( )失敗,則返回 -1。

注意此庫(kù)函數(shù)等待管道進(jìn)程運(yùn)行結(jié)束,然后關(guān)閉文件流。

庫(kù)函數(shù)pclose( )在使用popen( )創(chuàng)建的進(jìn)程上執(zhí)行wait4( )函數(shù)。當(dāng)它返回時(shí),它將破壞管道和文件系統(tǒng)。

#i nclude

#i nclude

#i nclude

#i nclude

#define BUFSIZE 1024

int main()

{

FILE *fp;

char *cmd = "ps -ef";

char buf[BUFSIZE];

buf[BUFSIZE] = '\0';

if((fp=popen(cmd,"r"))==NULL)

perror("popen");

while((fgets(buf,BUFSIZE,fp))!=NULL)

printf("%s",buf);[!--empirenews.page--]

pclose(fp);

exit(0);

}

[b]命名管道([/b][b]FIFO[/b][b])[/b]

命名管道和一般的管道基本相同,但也有一些顯著的不同:

n 命名管道是在文件系統(tǒng)中作為一個(gè)特殊的設(shè)備文件而存在的。

n 不同祖先的進(jìn)程之間可以通過(guò)管道共享數(shù)據(jù)。

n 當(dāng)共享管道的進(jìn)程執(zhí)行完所有的I / O操作以后,命名管道將繼續(xù)保存在文件系統(tǒng)中以便以后使用。

管道只能由相關(guān)進(jìn)程使用,它們共同的祖先進(jìn)程創(chuàng)建了管道。但是,通過(guò)FIFO,不相關(guān)的進(jìn)程也能交換數(shù)據(jù)。

命名管道創(chuàng)建

#i nclude

#i nclude

int mkfifo(const char * pathname,

mode_t mode) ;

返回:若成功則為0,若出錯(cuò)則為- 1

一旦已經(jīng)用mkfifo創(chuàng)建了一個(gè)FIFO,就可用open打開(kāi)它。確實(shí),一般的文件I / O函數(shù)(close、read、write、unlink等)都可用于FIFO。

當(dāng)打開(kāi)一個(gè)FIFO時(shí),非阻塞標(biāo)志(O_NONBLOCK)產(chǎn)生下列影響:

(1) 在一般情況中(沒(méi)有說(shuō)明O_NONBLOCK),只讀打開(kāi)要阻塞到某個(gè)其他進(jìn)程為寫(xiě)打開(kāi)此FIFO。類(lèi)似,為寫(xiě)而打開(kāi)一個(gè)FIFO要阻塞到某個(gè)其他進(jìn)程為讀而打開(kāi)它。

(2) 如果指定了O_NONBLOCK,則只讀打開(kāi)立即返回。但是,如果沒(méi)有進(jìn)程已經(jīng)為讀而打開(kāi)一個(gè)FIFO,那么只寫(xiě)打開(kāi)將出錯(cuò)返回,其errno是ENXIO。

類(lèi)似于管道,若寫(xiě)一個(gè)尚無(wú)進(jìn)程為讀而打開(kāi)的FIFO,則產(chǎn)生信號(hào)SIGPIPE。若某個(gè)FIFO的最后一個(gè)寫(xiě)進(jìn)程關(guān)閉了該FIFO,則將為該FIFO的讀進(jìn)程產(chǎn)生一個(gè)文件結(jié)束標(biāo)志。

FIFO相關(guān)出錯(cuò)信息:

n EACCES (無(wú)存取權(quán)限)

n EEXIST (指定文件不存在)

n ENAMETOOLONG (路徑名太長(zhǎng))

n ENOENT (包含的目錄不存在)

n ENOSPC (文件系統(tǒng)剩余空間不足)

n ENOTDIR (文件路徑無(wú)效)

n EROFS (指定的文件存在于只讀文件系統(tǒng)中)

[b]信號(hào)通信[/b]

信號(hào)是軟件中斷。信號(hào)(signal)機(jī)制是Unix系統(tǒng)中最為古老的進(jìn)程之間的通信機(jī)制。它用于在一個(gè)或多個(gè)進(jìn)程之間傳遞異步信號(hào)。

很多條件可以產(chǎn)生一個(gè)信號(hào)。

n 當(dāng)用戶(hù)按某些終端鍵時(shí),產(chǎn)生信號(hào)。在終端上按DELETE鍵通常產(chǎn)生中斷信號(hào)(SIGINT)。這是停止一個(gè)已失去控制程序的方法。(第11章將說(shuō)明此信號(hào)可被映射為終端上的任一字符。)

n 硬件異常產(chǎn)生信號(hào):除數(shù)為0、無(wú)效的存儲(chǔ)訪(fǎng)問(wèn)等等。這些條件通常由硬件檢測(cè)到,并將其通知內(nèi)核。然后內(nèi)核為該條件發(fā)生時(shí)正在運(yùn)行的進(jìn)程產(chǎn)生適當(dāng)?shù)男盘?hào)。例如,對(duì)執(zhí)行一個(gè)無(wú)效存儲(chǔ)訪(fǎng)問(wèn)的進(jìn)程產(chǎn)生一個(gè)SIGSEGV。

n 進(jìn)程用kill( 2 )函數(shù)可將信號(hào)發(fā)送給另一個(gè)進(jìn)程或進(jìn)程組。自然,有些限制:接收信號(hào)進(jìn)程和發(fā)送信號(hào)進(jìn)程的所有者必須相同,或發(fā)送信號(hào)進(jìn)程的所有者必須是超級(jí)用戶(hù)。

n 用戶(hù)可用kill( 1 )命令將信號(hào)發(fā)送給其他進(jìn)程。此程序是kill函數(shù)的界面。常用此命令終止一個(gè)失控的后臺(tái)進(jìn)程。

n 當(dāng)檢測(cè)到某種軟件條件已經(jīng)發(fā)生,并將其通知有關(guān)進(jìn)程時(shí)也產(chǎn)生信號(hào)。這里并不是指硬件產(chǎn)生條件(如被0除),而是軟件條件。例如SIGURG (在網(wǎng)絡(luò)連接上傳來(lái)非規(guī)定波特率的數(shù)據(jù))、SIGPIPE (在管道的讀進(jìn)程已終止后一個(gè)進(jìn)程寫(xiě)此管道),以及SIGALRM(進(jìn)程所設(shè)置的鬧鐘時(shí)間已經(jīng)超時(shí))。

內(nèi)核為進(jìn)程生產(chǎn)信號(hào),來(lái)響應(yīng)不同的事件,這些事件就是信號(hào)源。主要的信號(hào)源如下:

n 異常:進(jìn)程運(yùn)行過(guò)程中出現(xiàn)異常;

n 其它進(jìn)程:一個(gè)進(jìn)程可以向另一個(gè)或一組進(jìn)程發(fā)送信號(hào);

n 終端中斷:Ctrl-C,Ctrl-\等;

n 作業(yè)控制:前臺(tái)、后臺(tái)進(jìn)程的管理;

n 分配額:CPU超時(shí)或文件大小突破限制;

n 通知:通知進(jìn)程某事件發(fā)生,如I/O就緒等;

n 報(bào)警:計(jì)時(shí)器到期。

下面是幾個(gè)常見(jiàn)的信號(hào)。

n SIGHUP: 從終端上發(fā)出的結(jié)束信號(hào);

n SIGINT: 來(lái)自鍵盤(pán)的中斷信號(hào)(Ctrl-C);

n SIGQUIT:來(lái)自鍵盤(pán)的退出信號(hào)(Ctrl-\);

n SIGFPE: 浮點(diǎn)異常信號(hào)(例如浮點(diǎn)運(yùn)算溢出);

n SIGKILL:該信號(hào)結(jié)束接收信號(hào)的進(jìn)程;

n SIGALRM:進(jìn)程的定時(shí)器到期時(shí),發(fā)送該信號(hào);

n SIGTERM:kill 命令發(fā)出的信號(hào);

n SIGCHLD:標(biāo)識(shí)子進(jìn)程停止或結(jié)束的信號(hào);

n SIGSTOP:來(lái)自鍵盤(pán)(Ctrl-Z)或調(diào)試程序的停止執(zhí)行信號(hào)

可以要求系統(tǒng)在某個(gè)信號(hào)出現(xiàn)時(shí)按照下列三種方式中的一種進(jìn)行操作。

(1) 忽略此信號(hào)。大多數(shù)信號(hào)都可使用這種方式進(jìn)行處理,但有兩種信號(hào)卻決不能被忽略。它們是:SIGKILL和SIGSTOP。這兩種信號(hào)不能被忽略的原因是:它們向超級(jí)用戶(hù)提供一種使進(jìn)程終止或停止的可靠方法。另外,如果忽略某些由硬件異常產(chǎn)生的信號(hào)(例如非法存儲(chǔ)訪(fǎng)問(wèn)或除以0),則進(jìn)程的行為是未定義的。

(2) 捕捉信號(hào)。為了做到這一點(diǎn)要通知內(nèi)核在某種信號(hào)發(fā)生時(shí),調(diào)用一個(gè)用戶(hù)函數(shù)。在用戶(hù)函數(shù)中,可執(zhí)行用戶(hù)希望對(duì)這種事件進(jìn)行的處理。如果捕捉到SIGCHLD信號(hào),則表示子進(jìn)程已經(jīng)終止,所以此信號(hào)的捕捉函數(shù)可以調(diào)用waitpid以取得該子進(jìn)程的進(jìn)程ID以及它的終止?fàn)顟B(tài)。

(3) 執(zhí)行系統(tǒng)默認(rèn)動(dòng)作。對(duì)大多數(shù)信號(hào)的系統(tǒng)默認(rèn)動(dòng)作是終止該進(jìn)程。

每一個(gè)信號(hào)都有一個(gè)缺省動(dòng)作,它是當(dāng)進(jìn)程沒(méi)有給這個(gè)信號(hào)指定處理程序時(shí),內(nèi)核對(duì)信號(hào)的處理。有5種缺省的動(dòng)作:

n 異常終止(abort):在進(jìn)程的當(dāng)前目錄下,把進(jìn)程的地址空間內(nèi)容、寄存器內(nèi)容保存到一個(gè)叫做core的文件中,而后終止進(jìn)程。

n 退出(exit):不產(chǎn)生core文件,直接終止進(jìn)程。

n 忽略(ignore):忽略該信號(hào)。

n 停止(stop):掛起該進(jìn)程。

n 繼續(xù)(continue):如果進(jìn)程被掛起,則恢復(fù)進(jìn)程的運(yùn)行。否則,忽略信號(hào)。

[b]信號(hào)發(fā)送與捕捉[/b]

kill()和raise()

kill()不僅可以中止進(jìn)程,也可以向進(jìn)程發(fā)送其他信號(hào)。

與kill函數(shù)不同的是,raise()函數(shù)運(yùn)行向進(jìn)程自身發(fā)送信號(hào)。

#i nclude

#i nclude

int kill(pid_t pid, int signo) ;

int raise(int signo) ;

兩個(gè)函數(shù)返回:若成功則為0,若出錯(cuò)則為-1。

kill的pid參數(shù)有四種不同的情況:

[!--empirenews.page--]

n pid>0 將信號(hào)發(fā)送給進(jìn)程ID為pid的進(jìn)程。

n pid == 0 將信號(hào)發(fā)送給其進(jìn)程組I D等于發(fā)送進(jìn)程的進(jìn)程組ID,而且發(fā)送進(jìn)程有許可權(quán)向其發(fā)送信號(hào)的所有進(jìn)程。

n pid 將信號(hào)發(fā)送給其進(jìn)程組ID等于pid絕對(duì)值,而且發(fā)送進(jìn)程有許可權(quán)向其發(fā)送信號(hào)的所有進(jìn)程。如上所述一樣,“所有進(jìn)程”并不包括系統(tǒng)進(jìn)程集中的進(jìn)程。

n pid ==-1 POSIX.1未定義此種情況。

#i nclude

#i nclude

#i nclude

#i nclude

#i nclude

int main()

{

pid_t pid;

int ret;

if((pid=fork())0){

perror("fork");

exit(1);

}

if(pid == 0){

raise(SIGSTOP);

exit(0);

}

else{

printf("pid=%d\n",pid);

if((waitpid(pid,NULL,WNOHANG))==0){

if((ret=kill(pid,SIGKILL))==0)

printf("kill %d\n",pid);

else{

perror("kill");

}

}

}

}

使用alarm函數(shù)可以設(shè)置一個(gè)時(shí)間值(鬧鐘時(shí)間),在將來(lái)的某個(gè)時(shí)刻該時(shí)間值會(huì)被超過(guò)。當(dāng)所設(shè)置的時(shí)間值被超過(guò)后,產(chǎn)生SIGALRM信號(hào)。如果不忽略或不捕捉此信號(hào),則其默認(rèn)動(dòng)作是終止該進(jìn)程。

#i nclude

unsigned int alarm(unsigned int seconds) ;

返回:0或以前設(shè)置的鬧鐘時(shí)間的余留秒數(shù)

參數(shù)seconds的值是秒數(shù),經(jīng)過(guò)了指定的seconds秒后會(huì)產(chǎn)生信號(hào)SIGALRM。

每個(gè)進(jìn)程只能有一個(gè)鬧鐘時(shí)間。如果在調(diào)用alarm時(shí),以前已為該進(jìn)程設(shè)置過(guò)鬧鐘時(shí)間,而且它還沒(méi)有超時(shí),則該鬧鐘時(shí)間的余留值作為本次alarm函數(shù)調(diào)用的值返回。以前登記的鬧鐘時(shí)間則被新值代換。

如果有以前登記的尚未超過(guò)的鬧鐘時(shí)間,而且seconds值是0,則取消以前的鬧鐘時(shí)間,其余留值仍作為函數(shù)的返回值。

pause函數(shù)使調(diào)用進(jìn)程掛起直至捕捉到一個(gè)信號(hào)。

#i nclude

int pause(void);

返回:-1,errno設(shè)置為EINTR

只有執(zhí)行了一個(gè)信號(hào)處理程序并從其返回時(shí),pause才返回。

#i nclude

#i nclude

#i nclude

int main()

{

int ret;

ret=alarm(5);

pause();

printf("I have been waken up.\n",ret);

}

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過(guò)流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問(wèn)題卻十分常見(jiàn),不僅增加了維護(hù)成本,還影響了用戶(hù)體驗(yàn)。要解決這一問(wèn)題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(chē)(EV)作為新能源汽車(chē)的重要代表,正逐漸成為全球汽車(chē)產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車(chē)的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車(chē)的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車(chē) 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車(chē)場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問(wèn)題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周?chē)娮釉O(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來(lái)解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開(kāi)關(guān)電源具有效率高的特性,而且開(kāi)關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開(kāi)關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉