www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]但是由于物理制程 / 制造方面的原因,導(dǎo)致 nor 和 nand 在一些具體操作方面的特性不同: 表 1 Nand Flash 和 Nor Flash 的區(qū)別 1. 理論上是可以的,而且也是有人

但是由于物理制程 / 制造方面的原因,導(dǎo)致 nor nand 在一些具體操作方面的特性不同:

 


 表1:Nand Flash Nor Flash 的區(qū)別

1. 理論上是可以的,而且也是有人驗(yàn)證過可以的,只不過由于 nand flash 的物理特性,不能完全保證所讀取的數(shù)據(jù) / 代碼是正確的,實(shí)際上,很少這么用而已。因?yàn)?,如果真是要用?nand flash 做 XIP ,那么除了讀出速度慢之外,還要保證有數(shù)據(jù)的校驗(yàn),以保證讀出來的,將要執(zhí)行的代碼 / 數(shù)據(jù),是正確的。否則,系統(tǒng)很容易就跑飛了。

2. 芯片內(nèi)執(zhí)行 (XIP, eXecute In Place) :

http://hi.baidu.com/serial_story/blog/item/adb20a2a3f8ffe3c5243c1df.html

【 Nand Flash 的種類】

具體再分,又可以分為

1)Bare NAND chips :裸片,單獨(dú)的 nand 芯片

2)SmartMediaCards : = 裸片 + 一層薄塑料,常用于數(shù)碼相機(jī)和 MP3 播放器中。之所以稱 smart ,是由于其軟件 smart ,而不是硬件本身有啥 smart 之處。 ^_^

3)DiskOnChip :裸片 +glue logic , glue logic= 硬件 ECC 產(chǎn)生器 + 用于靜態(tài)的 nand 芯片控制的寄存器 + 直接訪問一小片地址窗口,那塊地址中包含了引導(dǎo)代碼的 stub 樁,其可以從 nand flash 中拷貝真正的引導(dǎo)代碼。

【 spare area/oob 】

Nand 由于最初硬件設(shè)計(jì)時(shí)候考慮到,額外的錯(cuò)誤校驗(yàn)等需要空間,專門對(duì)應(yīng)每個(gè)頁,額外設(shè)計(jì)了叫做 spare area 空區(qū)域,在其他地方,比如 jffs2 文件系統(tǒng)中,也叫做 oob ( out of band )數(shù)據(jù)。

其具體用途,總結(jié)起來有:

1. 標(biāo)記是否是壞快

2. 存儲(chǔ) ECC 數(shù)據(jù)

3. 存儲(chǔ)一些和文件系統(tǒng)相關(guān)的數(shù)據(jù),如 jffs2 就會(huì)用到這些空間存儲(chǔ)一些特定信息, yaffs2 文件系統(tǒng),會(huì)在 oob 中,存放很多和自己文件系統(tǒng)相關(guān)的信息。

2. 軟件方面

如果想要在 Linux 下編寫 Nand Flash 驅(qū)動(dòng),那么就先要搞清楚 Linux 下,關(guān)于此部分的整個(gè)框架。弄明白,系統(tǒng)是如何管理你的 nand flash 的,以及,系統(tǒng)都幫你做了那些準(zhǔn)備工作,而剩下的,驅(qū)動(dòng)底層實(shí)現(xiàn)部分,你要去實(shí)現(xiàn)哪些功能,才能使得硬件正常工作起來。

【內(nèi)存技術(shù)設(shè)備, MTD ( Memory Technology Device )】

MTD ,是 Linux 的存儲(chǔ)設(shè)備中的一個(gè)子系統(tǒng)。其設(shè)計(jì)此系統(tǒng)的目的是,對(duì)于內(nèi)存類的設(shè)備,提供一個(gè)抽象層,一個(gè)接口,使得對(duì)于硬件驅(qū)動(dòng)設(shè)計(jì)者來說,可以盡量少的去關(guān)心存儲(chǔ)格式,比如 FTL , FFS2 等,而只需要去提供最簡單的底層硬件設(shè)備的讀 / 寫 / 擦除函數(shù)就可以了。而對(duì)于數(shù)據(jù)對(duì)于上層使用者來說是如何表示的,硬件驅(qū)動(dòng)設(shè)計(jì)者可以不關(guān)心,而 MTD 存儲(chǔ)設(shè)備子系統(tǒng)都幫你做好了。

對(duì)于 MTD 字系統(tǒng)的好處,簡單解釋就是,他幫助你實(shí)現(xiàn)了,很多對(duì)于以前或者其他系統(tǒng)來說,本來也是你驅(qū)動(dòng)設(shè)計(jì)者要去實(shí)現(xiàn)的很多功能。換句話說,有了 MTD ,使得你設(shè)計(jì) Nand Flash 的驅(qū)動(dòng),所要做的事情,要少很多很多,因?yàn)榇蟛糠止ぷ鳎加?MTD 幫你做好了。

當(dāng)然,這個(gè)好處的一個(gè)“副作用”就是,使得我們不了解的人去理解整個(gè) Linux 驅(qū)動(dòng)架構(gòu),以及 MTD ,變得更加復(fù)雜。但是,總的說,覺得是利遠(yuǎn)遠(yuǎn)大于弊,否則,就不僅需要你理解,而且還是做更多的工作,實(shí)現(xiàn)更多的功能了。

此外,還有一個(gè)重要的原因,那就是,前面提到的 nand flash 和普通硬盤等設(shè)備的特殊性:

有限的通過出復(fù)用來實(shí)現(xiàn)輸入輸出命令和地址 / 數(shù)據(jù)等的 IO 接口,最小單位是頁而不是常見的 bit ,寫前需擦除等,導(dǎo)致了這類設(shè)備,不能像平常對(duì)待硬盤等操作一樣去操作,只能采取一些特殊方法,這就誕生了 MTD 設(shè)備的統(tǒng)一抽象層。

MTD ,將 nand flash , nor flash 和其他類型的 flash 等設(shè)備,統(tǒng)一抽象成 MTD 設(shè)備來管理,根據(jù)這些設(shè)備的特點(diǎn),上層實(shí)現(xiàn)了常見的操作函數(shù)封裝,底層具體的內(nèi)部實(shí)現(xiàn),就需要驅(qū)動(dòng)設(shè)計(jì)者自己來實(shí)現(xiàn)了。具體的內(nèi)部硬件設(shè)備的讀 / 寫 / 擦除函數(shù),那就是你必須實(shí)現(xiàn)的了。

2.MTD 設(shè)備和硬盤設(shè)備之間的區(qū)別

多說一句,關(guān)于 MTD 更多的內(nèi)容,感興趣的,去附錄中的 MTD 的主頁去看。

關(guān)于 mtd 設(shè)備驅(qū)動(dòng),感興趣的可以去參考

MTD 原始設(shè)備與 FLASH 硬件驅(qū)動(dòng)的對(duì)話

MTD 原始設(shè)備與 FLASH 硬件驅(qū)動(dòng)的對(duì)話 - 續(xù)

那里,算是比較詳細(xì)地介紹了整個(gè)流程,方便大家理解整個(gè) mtd 框架和 nand flash 驅(qū)動(dòng)。[!--empirenews.page--]

【 Nand flash 驅(qū)動(dòng)工作原理】

在介紹具體如何寫 Nand Flash 驅(qū)動(dòng)之前,我們先要了解,大概的,整個(gè)系統(tǒng),和 Nand Flash 相關(guān)的部分的驅(qū)動(dòng)工作流程,這樣,對(duì)于后面的驅(qū)動(dòng)實(shí)現(xiàn),才能更加清楚機(jī)制,才更容易實(shí)現(xiàn),否則就是,即使寫完了代碼,也還是沒搞懂系統(tǒng)是如何工作的了。

讓我們以最常見的, Linux 內(nèi)核中已經(jīng)有的三星的 Nand Flash 驅(qū)動(dòng),來解釋 Nand Flash 驅(qū)動(dòng)具體流程和原理。

此處是參考 2.6.29 版本的 Linux 源碼中的 /drivers/mtd/nand/s3c2410.c ,以 2410 為例。

1. 在 nand flash 驅(qū)動(dòng)加載后,第一步,就是去調(diào)用對(duì)應(yīng)的 init 函數(shù), s3c2410_nand_init, 去將在 nand flash 驅(qū)動(dòng)注冊(cè)到 Linux 驅(qū)動(dòng)框架中。

2. 驅(qū)動(dòng)本身,真正開始,是從 probe 函數(shù), s3c2410_nand_probe->s3c24xx_nand_probe,

在 probe 過程中,去用 clk_enable 打開 nand flash 控制器的 clock 時(shí)鐘,用 request_mem_region 去申請(qǐng)驅(qū)動(dòng)所需要的一些內(nèi)存等相關(guān)資源。然后,在 s3c2410_nand_inithw 中,去初始化硬件相關(guān)的部分,主要是關(guān)于時(shí)鐘頻率的計(jì)算,以及啟用 nand flash 控制器,使得硬件初始化好了,后面才能正常工作。

3. 需要多解釋一下的,是這部分代碼:

for (setno = 0; setno < nr_sets; setno++, nmtd++) {

pr_debug("initialising set %d (%p, info %p)/n", setno, nmtd, info);

/* 調(diào)用 init chip 去掛載你的 nand 驅(qū)動(dòng)的底層函數(shù)到 nand flash 的結(jié)構(gòu)體中,以及設(shè)置對(duì)應(yīng)的 ecc mode ,掛載 ecc 相關(guān)的函數(shù) */

s3c2410_nand_init_chip(info, nmtd, sets);

/* scan_ident ,掃描 nand 設(shè)備,設(shè)置 nand flash 的默認(rèn)函數(shù),獲得物理設(shè)備的具體型號(hào)以及對(duì)應(yīng)各個(gè)特性參數(shù),這部分算出來的一些值,對(duì)于 nand flash 來說,是最主要的參數(shù),比如 nand falsh 的芯片的大小,塊大小,頁大小等。 */

nmtd->scan_res = nand_scan_ident(&nmtd->mtd,

(sets) ? sets->nr_chips : 1);

if (nmtd->scan_res == 0) {

s3c2410_nand_update_chip(info, nmtd);

/* scan tail ,從名字就可以看出來,是掃描的后一階段,此時(shí),經(jīng)過前面的 scan_ident ,我們已經(jīng)獲得對(duì)應(yīng) nand flash 的硬件的各個(gè)參數(shù),然后就可以在 scan tail 中,根據(jù)這些參數(shù),去設(shè)置其他一些重要參數(shù),尤其是 ecc 的 layout ,即 ecc 是如何在 oob 中擺放的,最后,再去進(jìn)行一些初始化操作,主要是根據(jù)你的驅(qū)動(dòng),如果沒有實(shí)現(xiàn)一些函數(shù)的話,那么就用系統(tǒng)默認(rèn)的。 */

nand_scan_tail(&nmtd->mtd);

/* add partion ,根據(jù)你的 nand flash 的分區(qū)設(shè)置,去分區(qū) */

s3c2410_nand_add_partition(info, nmtd, sets);

}

if (sets != NULL)

sets++;

}

4. 等所有的參數(shù)都計(jì)算好了,函數(shù)都掛載完畢,系統(tǒng)就可以正常工作了。

上層訪問你的 nand falsh 中的數(shù)據(jù)的時(shí)候,通過 MTD 層,一層層調(diào)用,最后調(diào)用到你所實(shí)現(xiàn)的那些底層訪問硬件數(shù)據(jù) / 緩存的函數(shù)中。

【 Linux 下 nand flash 驅(qū)動(dòng)編寫步驟簡介】

關(guān)于上面提到的,在 nand_scan_tail 的時(shí)候,系統(tǒng)會(huì)根據(jù)你的驅(qū)動(dòng),如果沒有實(shí)現(xiàn)一些函數(shù)的話,那么就用系統(tǒng)默認(rèn)的。如果實(shí)現(xiàn)了自己的函數(shù),就用你的。

估計(jì)很多人就會(huì)問了,那么到底我要實(shí)現(xiàn)哪些函數(shù)呢,而又有哪些是可以不實(shí)現(xiàn),用系統(tǒng)默認(rèn)的就可以了呢。

此問題的,就是我們下面要介紹的,也就是,你要實(shí)現(xiàn)的,你的驅(qū)動(dòng)最少要做哪些工作,才能使整個(gè) nand flash 工作起來。

1. 對(duì)于驅(qū)動(dòng)框架部分

其實(shí),要了解,關(guān)于驅(qū)動(dòng)框架部分,你所要做的事情的話,只要看看三星的整個(gè) nand flash 驅(qū)動(dòng)中的這個(gè)結(jié)構(gòu)體,就差不多了:

static struct platform_driver s3c2410_nand_driver = {

.probe = s3c2410_nand_probe,

.remove = s3c2410_nand_remove,

.suspend = s3c24xx_nand_suspend,

.resume = s3c24xx_nand_resume,

.driver = {

.name = "s3c2410-nand",

.owner = THIS_MODULE,

},

};

對(duì)于上面這個(gè)結(jié)構(gòu)體,沒多少要解釋的。從名字,就能看出來:

( 1 ) probe 就是系統(tǒng)“探測”,就是前面解釋的整個(gè)過程,這個(gè)過程中的多數(shù)步驟,都是和你自己的 nand flash 相關(guān)的,尤其是那些硬件初始化部分,是你必須要自己實(shí)現(xiàn)的。

( 2 ) remove ,就是和 probe 對(duì)應(yīng)的,“反初始化”相關(guān)的動(dòng)作。主要是釋放系統(tǒng)相關(guān)資源和關(guān)閉硬件的時(shí)鐘等常見操作了。

(3)suspend 和 resume ,對(duì)于很多沒用到電源管理的情況下,至少對(duì)于我們剛開始寫基本的驅(qū)動(dòng)的時(shí)候,可以不用關(guān)心,放個(gè)空函數(shù)即可。

2. 對(duì)于 nand flash 底層操作實(shí)現(xiàn)部分

而對(duì)于底層硬件操作的有些函數(shù),總體上說,都可以在上面提到的 s3c2410_nand_init_chip 中找到:

static void s3c2410_nand_init_chip(struct s3c2410_nand_info *info,

struct s3c2410_nand_mtd *nmtd,

struct s3c2410_nand_set *set)

{

struct nand_chip *chip = &nmtd->chip;

void __iomem *regs = info->regs;

chip->write_buf = s3c2410_nand_write_buf ;

chip->read_buf = s3c2410_nand_read_buf ;

chip->select_chip = s3c2410_nand_select_chip ;

chip->chip_delay = 50;

chip->priv = nmtd;

chip->options = 0;

chip->controller = &info->controller;

switch (info->cpu_type) {

case TYPE_S3C2410:

/* nand flash 控制器中,一般都有對(duì)應(yīng)的數(shù)據(jù)寄存器,用于給你往里面寫數(shù)據(jù),表示將要讀取或?qū)懭攵嗌賯€(gè)字節(jié) (byte,u8)/ 字 (word,u32) ,所以,此處,你要給出地址,以便后面的操作所使用 */

chip->IO_ADDR_W = regs + S3C2410_NFDATA;[!--empirenews.page--]

info->sel_reg = regs + S3C2410_NFCONF;

info->sel_bit = S3C2410_NFCONF_nFCE;

chip->cmd_ctrl = s3c2410_nand_hwcontrol ;

chip->dev_ready = s3c2410_nand_devready ;

break;

。。。。。。

}

chip->IO_ADDR_R = chip->IO_ADDR_W;

nmtd->info = info;

nmtd->mtd.priv = chip;

nmtd->mtd.owner = THIS_MODULE;

nmtd->set = set;

if (hardware_ecc) {

chip->ecc.calculate = s3c2410_nand_calculate_ecc ;

chip->ecc.correct = s3c2410_nand_correct_data ;

/* 此處,多數(shù)情況下,你所用的 Nand Flash 的控制器,都是支持硬件 ECC 的,所以,此處設(shè)置硬件 ECC(HW_ECC) ,也是充分利用硬件的特性,而如果此處不用硬件去做的 ECC 的話,那么下面也會(huì)去設(shè)置成 NAND_ECC_SOFT ,系統(tǒng)會(huì)用默認(rèn)的軟件去做 ECC 校驗(yàn),相比之下,比硬件 ECC 的效率就低很多,而你的 nand flash 的讀寫,也會(huì)相應(yīng)地要慢不少 */

chip->ecc.mode = NAND_ECC_HW;

switch (info->cpu_type) {

case TYPE_S3C2410:

chip->ecc.hwctl = s3c2410_nand_enable_hwecc ;

chip->ecc.calculate = s3c2410_nand_calculate_ecc;

break;

。。。。。

}

} else {

chip->ecc.mode = NAND_ECC_SOFT;

}

if (set->ecc_layout != NULL)

chip->ecc.layout = set->ecc_layout;

if (set->disable_ecc)

chip->ecc.mode = NAND_ECC_NONE;

}

而我們要實(shí)現(xiàn)的底層函數(shù),也就是上面藍(lán)色標(biāo)出來的一些函數(shù)而已:

( 1 ) s3c2410_nand_write_buf 和 s3c2410_nand_read_buf :這是兩個(gè)最基本的操作函數(shù),其功能,就是往你的 nand flash 的控制器中的 FIFO 讀寫數(shù)據(jù)。一般情況下,是 MTD 上層的操作,比如要讀取一頁的數(shù)據(jù),那么在發(fā)送完相關(guān)的讀命令和等待時(shí)間之后,就會(huì)調(diào)用到你底層的 read_buf ,去 nand Flash 的 FIFO 中,一點(diǎn)點(diǎn)把我們要的數(shù)據(jù),讀取出來,放到我們制定的內(nèi)存的緩存中去。寫操作也是類似,將我們內(nèi)存中的數(shù)據(jù),寫到 Nand Flash 的 FIFO 中去。具體的數(shù)據(jù)流向,參考上面的圖 4 。

( 2 ) s3c2410_nand_select_chip : 實(shí)現(xiàn) Nand Flash 的片選。

( 3 ) s3c2410_nand_hwcontrol :給底層發(fā)送命令或地址,或者設(shè)置具體操作的模式,都是通過此函數(shù)。

( 4 ) s3c2410_nand_devready : Nand Flash 的一些操作,比如讀一頁數(shù)據(jù),寫入(編程)一頁數(shù)據(jù),擦除一個(gè)塊,都是需要一定時(shí)間的,在命發(fā)送完成后,就是硬件開始忙著工作的時(shí)候了,而硬件什么時(shí)候完成這些操作,什么時(shí)候不忙了,變就緒了,就是通過這個(gè)函數(shù)去檢查狀態(tài)的。一般具體實(shí)現(xiàn)都是去讀硬件的一個(gè)狀態(tài)寄存器,其中某一位是否是 1 ,對(duì)應(yīng)著是出于“就緒 / 不忙”還是“忙”的狀態(tài)。這個(gè)寄存器,也就是我們前面分析時(shí)序圖中的 R/B# 。

( 5 ) s3c2410_nand_enable_hwecc : 在硬件支持的前提下,前面設(shè)置了硬件 ECC 的話,要實(shí)現(xiàn)這個(gè)函數(shù),用于每次在讀寫操作前,通過設(shè)置對(duì)應(yīng)的硬件寄存器的某些位,使得啟用硬件 ECC ,這樣在讀寫操作完成后,就可以去讀取硬件校驗(yàn)產(chǎn)生出來的 ECC 數(shù)值了。

( 6 ) s3c2410_nand_calculate_ecc :如果是上面提到的硬件 ECC 的話,就不用我們用軟件去實(shí)現(xiàn)校驗(yàn)算法了,而是直接去讀取硬件產(chǎn)生的 ECC 數(shù)值就可以了。

( 7 ) s3c2410_nand_correct_data :當(dāng)實(shí)際操作過程中,讀取出來的數(shù)據(jù)所對(duì)應(yīng)的硬件或軟件計(jì)算出來的 ECC ,和從 oob 中讀出來的 ECC 不一樣的時(shí)候,就是說明數(shù)據(jù)有誤了,就需要調(diào)用此函數(shù)去糾正錯(cuò)誤。對(duì)于現(xiàn)在 SLC 常見的 ECC 算法來說,可以發(fā)現(xiàn) 2 位,糾正 1 位。如果錯(cuò)誤大于 1 位,那么就無法糾正回來了。一般情況下,出錯(cuò)超過 1 位的,好像幾率不大。至少我看到的不是很大。更復(fù)雜的情況和更加注重?cái)?shù)據(jù)安全的情況下,一般是需要另外實(shí)現(xiàn)更高效和檢錯(cuò)和糾錯(cuò)能力更強(qiáng)的 ECC 算法的。

當(dāng)然,除了這些你必須實(shí)現(xiàn)的函數(shù)之外,在你更加熟悉整個(gè)框架之后,你可以根據(jù)你自己的 nand flash 的特點(diǎn),去實(shí)現(xiàn)其他一些原先用系統(tǒng)默認(rèn)但是效率不高的函數(shù),而用自己的更高效率的函數(shù)替代他們,以提升你的 nand flash 的整體性能和效率。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(liá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)勢抑制與過流保護(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)電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yà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)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

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

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(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)問題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

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

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

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開關(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)閉