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

當(dāng)前位置:首頁(yè) > > IOT物聯(lián)網(wǎng)小鎮(zhèn)
[導(dǎo)讀]【Linux從頭學(xué)】是什么古老的Intel8086處理器主存儲(chǔ)器是什么?寄存器是什么?三個(gè)總線CPU如何對(duì)內(nèi)存進(jìn)行尋址?我們是如何控制CPU的?CPU執(zhí)行指令流程【Linux從頭學(xué)】是什么這兩年多以來(lái),我的本職工作重心一直是在x86Linux系統(tǒng)這一塊,從驅(qū)動(dòng)到中間層,再到應(yīng)用層...


  • 【Linux 從頭學(xué)】是什么


  • 古老的 Intel8086 處理器


  • 主存儲(chǔ)器是什么?


  • 寄存器是什么?


  • 三個(gè)總線


  • CPU 如何對(duì)內(nèi)存進(jìn)行尋址?


  • 我們是如何控制 CPU 的?


  • CPU 執(zhí)行指令流程


【Linux 從頭學(xué)】是什么

這兩年多以來(lái),我的本職工作重心一直是在 x86 Linux 系統(tǒng)這一塊,從驅(qū)動(dòng)到中間層,再到應(yīng)用層的開(kāi)發(fā)。


隨著內(nèi)容的不斷擴(kuò)展,越發(fā)覺(jué)得之前很多基礎(chǔ)的東西都差不多忘記了,比如下面這張表(《深入理解 LINUX 內(nèi)核》第47頁(yè)):


Linux 從頭學(xué) 01:CPU 是如何執(zhí)行一條指令的?這張表描述了Linux系統(tǒng)中幾個(gè)段描述符信息。


數(shù)據(jù)段代碼段,仔細(xì)看一下相關(guān)書籍就知道這些描述符代表什么意思,但是:


為什么這幾個(gè)段的 Base 地址都是0x00000000?


為什么 Limit 都是0xfffff?


為什么它們的 Type 類型和優(yōu)先級(jí) DPL 又各不相同?


如果沒(méi)有對(duì)x86平臺(tái)的一些基礎(chǔ)知識(shí)的理解,要啃完這本書真的是挺費(fèi)力氣的!


更要命的是,隨著Linux內(nèi)核代碼的體積不斷膨脹,最新的 5.13 版本壓縮檔已經(jīng)是一百多兆了:


Linux 從頭學(xué) 01:CPU 是如何執(zhí)行一條指令的?這么一個(gè)龐然大物,如何下手才能真正的學(xué)好Linux呢?!


即便是從 Linux 0.11 版本開(kāi)始,其中的很多代碼看起來(lái)也是非常費(fèi)勁的!


周末在整理一些吃灰的書籍時(shí),發(fā)現(xiàn)幾本以前看過(guò)的好書: 王爽的《匯編語(yǔ)言》,李忠的《從實(shí)模式到保護(hù)模式》,馬朝暉翻譯的《匯編語(yǔ)言程序設(shè)計(jì)》等等。


都是非常-非常-老的書籍,再次翻了一下,真心覺(jué)得內(nèi)容寫得真好!


對(duì)一些概念、原理、設(shè)計(jì)思路的描述,清晰而透徹。


Linux系統(tǒng)中的很多關(guān)于分段、內(nèi)存、寄存器相關(guān)的設(shè)計(jì),都可以在這些書籍中找到基礎(chǔ)支撐。


于是乎,我就有了一個(gè)想法:是否可以把這些書籍中,與Linux系統(tǒng)相關(guān)的內(nèi)容進(jìn)行一次重讀和整理,但絕不是簡(jiǎn)單的知識(shí)搬運(yùn)。


考慮了一下,大概有下面幾個(gè)想法:


  1. 先確定最終目標(biāo)的目標(biāo):學(xué)習(xí) Linux 操作系統(tǒng);


  2. 這幾本書寫的都是匯編語(yǔ)言,以及比較基礎(chǔ)的底層知識(shí)。我們會(huì)淡化匯編語(yǔ)言部分,把重點(diǎn)放在與 Linux 操作系統(tǒng)有關(guān)聯(lián)的原理部分;


  3. 不會(huì)嚴(yán)格按照書中的內(nèi)容、順序來(lái)輸出文章,而是把幾本書中內(nèi)容相關(guān)的部分放在一起學(xué)習(xí)、討論;


  4. 有些內(nèi)容,可以與 Linux 2.6 版本中的相關(guān)部分進(jìn)行對(duì)比分析,這樣的話在以后學(xué)習(xí) Linux 內(nèi)核部分時(shí),可以找到底層的支撐;


  5. 最后,希望我自己能堅(jiān)持這個(gè)系列,也算是給自己的一個(gè)梳理吧。


一句話:以基礎(chǔ)知識(shí)為主!


作為開(kāi)篇第一章,本文將會(huì)描述下面這張圖的執(zhí)行步驟:


Linux 從頭學(xué) 01:CPU 是如何執(zhí)行一條指令的?現(xiàn)在就開(kāi)始吧!


古老的 Intel8086 處理器

8086是Intel公司的第一款16位處理器,誕生于1978年,應(yīng)該比各位小伙伴的年齡都大一些。


在Intel公司的所有處理器中,它占有很重要的地位,是整個(gè)Intel 32位架構(gòu)處理器(IA-32)的開(kāi)山鼻祖。


那么,問(wèn)題來(lái)了,什么叫 16 位的處理器?


有些人會(huì)把處理器的位數(shù)與地址總線的位數(shù)搞混在一起!


我們知道,CPU在訪問(wèn)內(nèi)存的時(shí)候,是通過(guò)地址總線來(lái)傳送物理地址的。


8086 CPU有20位的地址線,可以傳送20位地址。


每一根地址線都表示一個(gè)bit,那么20個(gè)bit可以表示的最大值就是 2 的 20 次方


也就是說(shuō):最大可以定位到1M地址的內(nèi)存,這稱作CPU的尋址能力。


但是,8086處理器卻是16位的,因?yàn)椋?


  1. 運(yùn)算器一次最多可以處理 16 位的數(shù)據(jù);


  2. 寄存器的最大寬度為 16 位;


  3. 寄存器和運(yùn)算器之間的通路為 16 位;


也就是說(shuō):在8086處理器的內(nèi)部,能夠一次性處理、傳輸、暫時(shí)存儲(chǔ)的最大長(zhǎng)度是16位,因此,我們說(shuō)它是 16 位結(jié)構(gòu)的 CPU。


主存儲(chǔ)器是什么?

計(jì)算機(jī)的本質(zhì)就是對(duì)數(shù)據(jù)的存儲(chǔ)和處理,那么參與計(jì)算的數(shù)據(jù)是從哪里來(lái)的呢?那就是一個(gè)稱作 存儲(chǔ)器(Storage 或 Memory)的物理器件。


從廣義上來(lái)說(shuō),只要能存儲(chǔ)數(shù)據(jù)的器件都可以稱作存儲(chǔ)器,比如:硬盤、U盤等。


但是,在計(jì)算機(jī)內(nèi)部,有一種專門與CPU相連接,用來(lái)存儲(chǔ)正在執(zhí)行的程序和數(shù)據(jù)的存儲(chǔ)器,一般稱作內(nèi)存儲(chǔ)器或者主存儲(chǔ)器,簡(jiǎn)稱:內(nèi)存或主存。


內(nèi)存按照字節(jié)來(lái)組織,單次訪問(wèn)的最小單位是1個(gè)字節(jié),這是最基本的存儲(chǔ)單元


每一個(gè)存儲(chǔ)單元,也就是一個(gè)字節(jié),都對(duì)應(yīng)著一個(gè)地址,如下圖所示:


Linux 從頭學(xué) 01:CPU 是如何執(zhí)行一條指令的?CPU就通過(guò)地址總線來(lái)確定:對(duì)內(nèi)存中的哪一個(gè)存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行訪問(wèn)。


第 1 個(gè)字節(jié)的地址是 0000H,第 2 個(gè)字節(jié)的地址是 0001H,后面以此類推。


圖中的這個(gè)內(nèi)存,最大存儲(chǔ)單元的地址是FFFFH,換算成十進(jìn)制就是65535,因此這個(gè)內(nèi)存的容量是65536字節(jié),也就是64 KB。


這里有一個(gè)原子操作的問(wèn)題可以考慮一下。


在Linux內(nèi)核代碼中,很多地方使用了原子操作,比如:互斥鎖的實(shí)現(xiàn)代碼。


為什么原子操作需要對(duì)變量的類型限制為int型呢?這就涉及到對(duì)內(nèi)存的讀寫操作了。


盡管內(nèi)存的最小組成單位是字節(jié),但是,經(jīng)過(guò)精心的設(shè)計(jì)和安排,不同位數(shù)的CPU,能夠按照字節(jié)、字、雙字進(jìn)行訪問(wèn)。


換句話說(shuō),僅通過(guò)單次訪問(wèn),16位處理器就能處理16位的二進(jìn)制數(shù),32位處理器就能處理32位的二進(jìn)制數(shù)。


寄存器是什么?

在CPU內(nèi)部,一些都是代表 0 或 1 的電信號(hào),這些二進(jìn)制數(shù)字的一組電信號(hào)出現(xiàn)在處理器內(nèi)部線路上,它們是一排高低電平的組合,代表著二進(jìn)制數(shù)中的每一位。


在處理器內(nèi)部,必須用一個(gè)稱為寄存器的電路把這些數(shù)據(jù)鎖存起來(lái)。


因此,寄存器本質(zhì)上也屬于存儲(chǔ)器的一種。只不過(guò)它們位于處理器的內(nèi)部,CPU訪問(wèn)寄存器比訪問(wèn)內(nèi)存的速度更快。


處理器總是很忙的,在它操作的過(guò)程中,所有數(shù)據(jù)在寄存器里面只能是臨時(shí)存在一小會(huì),然后再被送往別處,這就是為什么它被叫做“寄存器”。


Linux 從頭學(xué) 01:CPU 是如何執(zhí)行一條指令的?8086中的寄存器都是16位的,可以存放2個(gè)字節(jié),或者說(shuō)1個(gè)字。字節(jié)在前(bit8 ~ bit15),字節(jié)在后(bit0 ~ bit7)。


8086中有下面這些寄存器:


Linux 從頭學(xué) 01:CPU 是如何執(zhí)行一條指令的?剛才說(shuō)了,這些寄存器都是16位的。由于需要與以前更古老的處理器兼容,其中的4個(gè)寄存器:AX、BX、CX、DX 還可以當(dāng)成 2 個(gè) 8 位的寄存器來(lái)使用。


比如:AX代表一個(gè)16位的寄存器,AH、AL分別代表一個(gè)8位的寄存器。


mov AX, 5D 表示把 005D 送入 AX 寄存器(16 位)
mov AL, 5D 表示把 5D 送入 AL 寄存器(8 位)

三個(gè)總線

當(dāng)我們啟動(dòng)一個(gè)應(yīng)用程序的時(shí)候,這個(gè)程序的代碼和數(shù)據(jù)都被加載到物理內(nèi)存中。


CPU無(wú)論是讀取指令,還是操作數(shù)據(jù),都需要與內(nèi)存進(jìn)行信息的交互:


  1. 確定存儲(chǔ)單元的地址(地址信息);


  2. 器件的選擇,讀或?qū)懙拿?控制信息);


  3. 讀或?qū)懙臄?shù)據(jù)(數(shù)據(jù)信息);


在計(jì)算機(jī)中,有專門連接CPU和其他芯片的數(shù)據(jù),稱為總線。


從邏輯上來(lái)分類,包括下面3種總線:


地址總線:用來(lái)確定存儲(chǔ)單元的地址;
控制總線: CPU 對(duì)外部器件進(jìn)行控制;
數(shù)據(jù)總線: CPU 與內(nèi)存或其他器件之間傳送數(shù)據(jù);


Linux 從頭學(xué) 01:CPU 是如何執(zhí)行一條指令的?8086 有20根地址線,稱作地址總線的寬度,它可以尋址 2 的 20 次方個(gè)內(nèi)存單元。


同樣的道理,8086 數(shù)據(jù)總線的寬度是16,也就是一次性可以傳送16 bit的數(shù)據(jù)。


控制總線決定了CPU可以對(duì)外進(jìn)行多少種控制,決定了CPU對(duì)外部器件的控制能力


CPU 如何對(duì)內(nèi)存進(jìn)行尋址?

在Linux 2.6內(nèi)核代碼中,編譯器產(chǎn)生的地址叫做虛擬地址(也稱作:邏輯地址),這個(gè)邏輯地址經(jīng)過(guò)段轉(zhuǎn)換之后,變成線性地址,線性地址再經(jīng)過(guò)分頁(yè)轉(zhuǎn)換,就得到最終物理內(nèi)存上的物理地址。


Linux 從頭學(xué) 01:CPU 是如何執(zhí)行一條指令的?還記得文章開(kāi)頭的那張段描述符的表格嗎?


其中的代碼段和數(shù)據(jù)段描述符的起始地址都是0x00000000,也就是說(shuō): 在數(shù)值上虛擬地址和轉(zhuǎn)換后的線性地址是相等的(稍后就會(huì)明白為什么是這樣)。


我們?cè)賮?lái)看看一下8086中更簡(jiǎn)單的地址轉(zhuǎn)換。


剛才說(shuō)到,內(nèi)存是一個(gè)線性的存儲(chǔ)器件,CPU依賴地址來(lái)定位每一個(gè)存儲(chǔ)單元。


對(duì)于8086 CPU來(lái)說(shuō),它有20根地址線,可以傳送20位地址,達(dá)到1MB的尋址能力。


但是8086又是16位的結(jié)構(gòu),在內(nèi)部一次性處理、傳輸、暫時(shí)存儲(chǔ)的地址只有 16 位。


從內(nèi)部結(jié)構(gòu)來(lái)看,如果將地址從內(nèi)部簡(jiǎn)單的發(fā)出到地址總線上,只能送出16位的地址,這樣的話,尋址能力只有64KB。


那么應(yīng)該怎么才能充分利用20根地址線呢?


8086 CPU采用: 在內(nèi)部使用兩個(gè) 16 位地址合成的方法,來(lái)形成一個(gè)20位的物理地址,如下所示:


Linux 從頭學(xué) 01:CPU 是如何執(zhí)行一條指令的?第一個(gè)16位的地址稱為段地址,第二個(gè)16位的地址稱為偏移地址


地址加法器采用下面的這個(gè)公式,來(lái)“合成”得到一個(gè)20位的物理地址


物理地址 = 段地址 x 16 偏移地址


例如:我們編寫的程序,在加載到內(nèi)存中之后,放在一個(gè)內(nèi)存空間中。


CPU 在執(zhí)行這些指令的時(shí)候,把CS寄存器當(dāng)做寄存器,把IP寄存器當(dāng)做偏移寄存器,然后計(jì)算 CS x 16 IP 的值,就得到了指令的物理地址。


從以上的描述中可以看出:8086 CPU 似乎是因?yàn)榧拇嫫?span>無(wú)法直接輸出20位的物理地址,不得已才使用這樣的地址合成方式。


其實(shí)更本質(zhì)的原因是:8086 CPU 就是想通過(guò) 基地址 偏移量 的方式來(lái)對(duì)內(nèi)存進(jìn)行尋址(這里的基地址,就是段地址左移 4 位)。


也就是說(shuō),即使CPU有能力直接輸出一個(gè)20位的地址,它仍然可能會(huì)采用 基地址 偏移量的方式來(lái)進(jìn)行內(nèi)存尋址。


想一下:我們?cè)贚inux系統(tǒng)中編譯一個(gè)庫(kù)文件的時(shí)候,一般都會(huì)在編譯選項(xiàng)中添加-fPIC選項(xiàng),表示編譯出來(lái)的動(dòng)態(tài)庫(kù)是地址無(wú)關(guān)的,在被加載到內(nèi)存時(shí)需要被重定位。


而基地址 偏移量的尋址模式,就為重定位提供了底層支撐


我們是如何控制 CPU 的?

CPU其實(shí)是一個(gè)很純粹、很呆板的一個(gè)東西,它唯一做的事情就是:到 CS:IP 這兩個(gè)寄存器指定的內(nèi)存單元中取出一條指令,然后執(zhí)行這條指令:


Linux 從頭學(xué) 01:CPU 是如何執(zhí)行一條指令的?當(dāng)然了,還需要預(yù)先定義一套指令集,在內(nèi)存中的指令區(qū)中,存儲(chǔ)的都必須是合法的指令,否則 CPU 就不認(rèn)識(shí)了。


每一條指令都是用某些特定的數(shù)(指令碼)來(lái)指示CPU進(jìn)行特定的操作。


CPU認(rèn)識(shí)這些指令,一看到這些指令碼,CPU就知道這個(gè)指令碼后面還有幾個(gè)字節(jié)的操作數(shù)、需要進(jìn)行什么樣的操作。


例如:指令碼F4H 表示讓處理器停機(jī),當(dāng)CPU執(zhí)行這條指令的時(shí)候,就停止工作。


(其實(shí)這里說(shuō)CPU已經(jīng)有點(diǎn)不準(zhǔn)確了,因?yàn)?CPU 是囊括了很多器件的一個(gè)整體,也許這里說(shuō)CPU中的執(zhí)行單元會(huì)更準(zhǔn)確些。)


另外有一點(diǎn)可以提前說(shuō)一下:內(nèi)存中的一切都是數(shù)據(jù),至于把其中的哪一部分?jǐn)?shù)據(jù)當(dāng)做指令來(lái)執(zhí)行,哪一部分?jǐn)?shù)據(jù)當(dāng)做被指令操作的“變量”,這完全是由操作系統(tǒng)的設(shè)計(jì)者來(lái)規(guī)劃的。


在 8086 處理器的層面來(lái)說(shuō),只要是 CS:IP “指向”的內(nèi)存區(qū)域,都被當(dāng)做指令來(lái)執(zhí)行。


從以上描述可以看出:在CPU中,程序員能夠用指令讀寫的器件只有寄存器,我們可以通過(guò)改變寄存器中的內(nèi)容,來(lái)實(shí)現(xiàn)對(duì) CPU 的控制。


更直白的說(shuō)就是:我們可以通過(guò)改變 CS、IP 寄存器中的內(nèi)容,來(lái)控制CPU執(zhí)行目標(biāo)指令。


作為一名合格的嵌入式開(kāi)發(fā)者,大家估計(jì)都配置過(guò)一些單片機(jī)里的寄存器,以達(dá)到一些功能定義、端口復(fù)用的目的,其實(shí)這些操作,都可以看做是我們對(duì) CPU 的控制。


如果把 CPU 比作木偶,那么 寄存器就是控制木偶的繩索


我們?cè)侔袰PU與 工控領(lǐng)域的PLC編程進(jìn)行類比一下。


我們?cè)谀玫揭粋€(gè)新的PLC設(shè)備之后,其中只有一個(gè)運(yùn)行時(shí)(runtime),這個(gè)運(yùn)行時(shí)執(zhí)行的本職工作就是:


  1. 掃描所有的輸入端口,鎖存在輸入映象區(qū);


  2. 執(zhí)行一個(gè)運(yùn)算、控制邏輯,得到一些列輸出信號(hào),鎖存到輸出映象區(qū);


  3. 把輸出映象區(qū)的信號(hào),刷新到輸出端口;


Linux 從頭學(xué) 01:CPU 是如何執(zhí)行一條指令的?在一個(gè)全新的 PLC 中,其中第 2 個(gè)步驟中需要的運(yùn)算、控制邏輯可能就不存在。


因此,單單一個(gè)runtime,PLC是無(wú)法完成一件有意義的工作的。


為了讓PLC完成一個(gè)具體的控制目標(biāo),我們還需要利用PLC廠家提供的上位機(jī)編程軟件,開(kāi)發(fā)一個(gè)運(yùn)算、控制邏輯程序,編程語(yǔ)言一般都是梯形圖居多。


當(dāng)這個(gè)程序被下載到PLC中之后,它就可以控制運(yùn)行時(shí)來(lái)做一些有意義的工作了。


我們可以簡(jiǎn)單的認(rèn)為:梯形圖就是用來(lái)控制 PLC 的運(yùn)行時(shí)。


Linux 從頭學(xué) 01:CPU 是如何執(zhí)行一條指令的?對(duì)于CPU來(lái)說(shuō),想讓它執(zhí)行某個(gè)內(nèi)存單元的指令,只要修改寄存器CS和IP即可。


換句話說(shuō):只要對(duì)一個(gè)程序的內(nèi)存布局足夠的清楚,可以把 CPU 玩弄于股掌之間,讓它執(zhí)行哪里的代碼都可以。


CPU 執(zhí)行指令流程

現(xiàn)在我們已經(jīng)明白了地址轉(zhuǎn)換、內(nèi)存的尋址,距離CPU執(zhí)行一條指令需要的最小單元還剩下:指令緩沖區(qū)和控制電路。


簡(jiǎn)單來(lái)說(shuō):指令緩沖區(qū)用來(lái)緩存從內(nèi)存中讀取的指令,控制電路用來(lái)協(xié)調(diào)各種器件對(duì)總線等資源的使用。


對(duì)于下面這張圖來(lái)說(shuō),它一共有4條指令:


Linux 從頭學(xué) 01:CPU 是如何執(zhí)行一條指令的?第一條指令來(lái)舉例,它一共經(jīng)過(guò)5個(gè)步驟:


  1. 把 CS:IP 內(nèi)容送入地址加法器,計(jì)算得到 20 位的物理地址 20000H;


  2. 控制電路把 20 位的地址,送入到地址總線;


  3. 內(nèi)存中 20000H 單元處的指令 B8 23 01,經(jīng)過(guò)數(shù)據(jù)總線被送到指令緩沖區(qū);


  4. 指令偏移寄存器 IP 的值要加 3,指向下一條等待被執(zhí)行的偏移地址(因?yàn)橹噶畲a B8 代表當(dāng)前指令的長(zhǎng)度是 3 個(gè)字節(jié));


  5. 執(zhí)行指令緩沖區(qū)中的指令: 把數(shù)值 0123H 送入寄存器 AX 中;


以上就是一條指令的執(zhí)行最基本步驟,當(dāng)然,現(xiàn)代處理器的指令執(zhí)行流程,比這里的要復(fù)雜的多得多。



------ End ------
萬(wàn)丈高樓平地起!


這篇文章,僅僅描述了CPU執(zhí)行一條指令所需要的最小知識(shí)點(diǎn)。


下一篇文章,我們?cè)倮^續(xù)對(duì)內(nèi)存的分段機(jī)制進(jìn)行更進(jìn)一步的窺探。


本站聲明: 本文章由作者或相關(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)勢(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ù)成本,還影響了用戶體驗(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)汽車(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ǎ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ì)周圍電子設(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)閉