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

當(dāng)前位置:首頁(yè) > > IOT物聯(lián)網(wǎng)小鎮(zhèn)
[導(dǎo)讀]作?者:道哥,10年的嵌入式開(kāi)發(fā)老兵。公眾號(hào):【IOT物聯(lián)網(wǎng)小鎮(zhèn)】,專(zhuān)注于:C/C、Linux操作系統(tǒng)、應(yīng)用程序設(shè)計(jì)、物聯(lián)網(wǎng)、單片機(jī)和嵌入式開(kāi)發(fā)等領(lǐng)域。?公眾號(hào)回復(fù)【書(shū)籍】,獲取Linux、嵌入式領(lǐng)域經(jīng)典書(shū)籍。轉(zhuǎn)?載:歡迎轉(zhuǎn)載文章,轉(zhuǎn)載需注明出處。從16位進(jìn)入到32位8086的1...

作  者:道哥,10 年的嵌入式開(kāi)發(fā)老兵。


公眾號(hào):【IOT物聯(lián)網(wǎng)小鎮(zhèn)】,專(zhuān)注于:C/C 、Linux操作系統(tǒng)、應(yīng)用程序設(shè)計(jì)、物聯(lián)網(wǎng)、單片機(jī)和嵌入式開(kāi)發(fā)等領(lǐng)域。 公眾號(hào)回復(fù)【書(shū)籍】,獲取 Linux、嵌入式領(lǐng)域經(jīng)典書(shū)籍。


轉(zhuǎn)  載:歡迎轉(zhuǎn)載文章,轉(zhuǎn)載需注明出處。


  • 從 16 位進(jìn)入到 32 位


    • 8086 的 16 位模式


    • 80386 的 32 位模式


  • 從實(shí)模式進(jìn)入到保護(hù)模式


    • 如何進(jìn)入保護(hù)模式


    • GDT 全局描述符表


    • GDTR 全局描述符表寄存器


  • 段描述符的查找原理


在之前的7篇文章中,我們一直學(xué)習(xí)的是最原始的8086處理器中的最底層的基本原理,重點(diǎn)是內(nèi)存的尋址方式


也就是:CPU是如何通過(guò)[段地址:偏移地址],來(lái)對(duì)內(nèi)存進(jìn)行尋址的。


不知道你是否發(fā)現(xiàn)了一個(gè)問(wèn)題:


所有的程序都可以對(duì)內(nèi)存中的任意位置的數(shù)據(jù)進(jìn)行讀取和修改,即使這個(gè)位置并不屬于這個(gè)應(yīng)用程序。


這是非常危險(xiǎn)的,想一想那些心懷惡意的黑帽子黑客,如果他們想做一些壞事情,可以說(shuō)是隨心所欲!


面對(duì)這樣的不安全行為,處理器一點(diǎn)辦法都沒(méi)有。


所以,Intel 從80286開(kāi)始,就對(duì)增加了一個(gè)叫做保護(hù)模式的機(jī)制。


PS: 相應(yīng)的,之前 8086 中的處理器執(zhí)行模式就叫做“實(shí)模式”。


雖然80286沒(méi)有形成一定的氣候,但是它對(duì)后來(lái)的80386處理器提供了基礎(chǔ),讓386獲得了極大的成功。


這篇文章,我們就從80386處理器開(kāi)始,聊一聊


保護(hù)模式究竟保護(hù)了誰(shuí)?


底層是通過(guò)什么機(jī)制來(lái)實(shí)現(xiàn)保護(hù)模式的?


我們的學(xué)習(xí)目標(biāo),就是弄明白下面這張圖:


Linux從頭學(xué)08:Linux 是如何保護(hù)內(nèi)核代碼的?【從實(shí)模式到保護(hù)模式】


從 16 位進(jìn)入到 32 位

8086 的 16 位模式

在8086處理器中,所有的寄存器都是16位的。


也正因?yàn)槿绱?,處理器為了能夠得?0位的物理地址,需要把段寄存器的內(nèi)容左移4位之后,再加上偏移寄存器的內(nèi)容,才能得到一個(gè)20位的物理地址,最終訪(fǎng)問(wèn)最大1MB的內(nèi)存空間。


例如:在訪(fǎng)問(wèn)代碼段的時(shí)候,把 cs 寄存器左移 4 位,再加上 ip 寄存器,就得到 20 位的物理地址了;


20 位的地址,最大尋址范圍就是 2 的 20 次方 = 1 MB 的空間;


還記得我們第1篇文章Linux 從頭學(xué) 01:CPU 是如何執(zhí)行一條指令的?中的寄存器示意圖嗎?


Linux從頭學(xué)08:Linux 是如何保護(hù)內(nèi)核代碼的?【從實(shí)模式到保護(hù)模式】以上這些寄存器都是16位的,在這種模式下,對(duì)內(nèi)存的訪(fǎng)問(wèn)只能分段進(jìn)行。


而且每一個(gè)段的偏移地址,最大只能到64 KB的范圍(2的16次方)。


在訪(fǎng)問(wèn)代碼段的時(shí)候,使用 cs:ip 寄存器;


在訪(fǎng)問(wèn)數(shù)據(jù)段的時(shí)候,使用 ds 寄存器;


在訪(fǎng)問(wèn)棧的時(shí)候,使用 ss:sp 寄存器;


80386 的 32 位模式

進(jìn)入到32位的處理器之后,這些寄存器就擴(kuò)展到32位了:


Linux從頭學(xué)08:Linux 是如何保護(hù)內(nèi)核代碼的?【從實(shí)模式到保護(hù)模式】從寄存器的名稱(chēng)上可以出,在最前面增加了字母E,表示Extend的意思。


這些32位的寄存器,低16位保持與16位處理器的兼容性,也就是可以使用16位的寄存器(例如:AX),也可以使用8位的寄存器(例如:AH,AL)。


注意:高 16 位不可以獨(dú)立使用。


下面這張圖是32位處理器的另外4個(gè)通用寄存器(注意它們是不能按照8位寄存器來(lái)使用的):


Linux從頭學(xué)08:Linux 是如何保護(hù)內(nèi)核代碼的?【從實(shí)模式到保護(hù)模式】在32位的模式下,處理器中的地址線(xiàn)達(dá)到了32位,最大的內(nèi)存空間可尋址能力達(dá)到4 GB(2 的 32 次方)。


在 32 位處理器中,依然可以兼容 16 位的處理模式,此時(shí)依然使用 16 位的寄存器;


如果不兼容的話(huà),就會(huì)失去很大的市場(chǎng)占有率;


是不是感覺(jué)到上面的寄存器示意圖中漏掉了什么東西?


是的,圖中沒(méi)有展示出段寄存器(cs, ds, ss等等)。


這是因?yàn)樵?2位模式下,段寄存器依然是16位的長(zhǎng)度,但是對(duì)其中內(nèi)容的解釋?zhuān)l(fā)生了非常非常大的變化。


它們不再表示段的基地址,而是表示一個(gè)索引值以及其他信息。


通過(guò)這個(gè)索引值(或者叫索引號(hào)),到一個(gè)表中去查找該段的真正基地址(有點(diǎn)類(lèi)似于中斷向量表的查找方式):


Linux從頭學(xué)08:Linux 是如何保護(hù)內(nèi)核代碼的?【從實(shí)模式到保護(hù)模式】
有些書(shū)上把段寄存器稱(chēng)之為:段選擇子;


也有一些書(shū)上把段寄存器中的值稱(chēng)之索引值,稱(chēng)之為選擇子;


不必糾結(jié)于稱(chēng)呼,明白其中的道理就可以了;


正是因?yàn)樘幚砥饔?2根地址線(xiàn),可尋址的范圍已經(jīng)非常大了(4 GB),因此理論上它是不需要像8086中那樣的尋址方式(段地址左移4位 偏移地址)。


但是由于x86處理器的基因,在32位模式下,依然要以段為單位來(lái)訪(fǎng)問(wèn)內(nèi)存。


這里請(qǐng)大家不要繞暈了:剛才描述的段寄存器的內(nèi)容時(shí),僅僅是說(shuō)明如何來(lái)找到一個(gè)段的基地址,也即是說(shuō):


  1. 對(duì)于 8086 來(lái)說(shuō),段寄存器中的內(nèi)容左移 4 位之后,就是段的基地址;


  2. 對(duì)于 80386 來(lái)說(shuō),段寄存器中的內(nèi)容是一個(gè)表的索引號(hào),通過(guò)這個(gè)索引號(hào),去查找表中相應(yīng)位置中的內(nèi)容,這個(gè)內(nèi)容中就有段的基地址(如何查找,下文有描述);


找到了這個(gè)段的基地址之后,在訪(fǎng)問(wèn)內(nèi)存的時(shí)候,仍然是按照段機(jī)制 偏移量的方式。


由于在32位處理器中,存儲(chǔ)偏移地址的寄存器都是32位的,最大偏移地址可達(dá)4 GB,所以,我們可以把段的基地址設(shè)置為0x0000_0000:


Linux從頭學(xué)08:Linux 是如何保護(hù)內(nèi)核代碼的?【從實(shí)模式到保護(hù)模式】這樣的分段方式,稱(chēng)作“平坦模型”,也可以理解為沒(méi)有分段。


看到這里,是否聯(lián)想起之前的一篇文章中,我們?cè)?jīng)畫(huà)過(guò)一張 Linux 操作系統(tǒng)中的分段模型:


Linux從頭學(xué)08:Linux 是如何保護(hù)內(nèi)核代碼的?【從實(shí)模式到保護(hù)模式】現(xiàn)在是不是大概就明白了:為什么這4個(gè)段的基地址和段的長(zhǎng)度,都是一樣的?


從實(shí)模式進(jìn)入到保護(hù)模式

如何進(jìn)入保護(hù)模式

CPU是如何判斷:當(dāng)前是執(zhí)行的是實(shí)模式?還是保護(hù)模式?


在處理器內(nèi)部,有一個(gè)寄存器CR0。這個(gè)寄存器的bit0位的值,就決定了當(dāng)前的工作模式:


Linux從頭學(xué)08:Linux 是如何保護(hù)內(nèi)核代碼的?【從實(shí)模式到保護(hù)模式】
bit0 = 0: 實(shí)模式;
bit1 = 1: 保護(hù)模式;


在處理器上電之后,默認(rèn)狀態(tài)下是工作在實(shí)模式。


當(dāng)操作系統(tǒng)做好進(jìn)入保護(hù)模式的一切準(zhǔn)備工作之后,就把CR0寄存器的bit0位設(shè)置為1,此后CPU就開(kāi)始工作在保護(hù)模式。


Linux從頭學(xué)08:Linux 是如何保護(hù)內(nèi)核代碼的?【從實(shí)模式到保護(hù)模式】也就是說(shuō):在bit0設(shè)置為1之前,CPU都是按照實(shí)模式下的機(jī)制來(lái)進(jìn)行尋址(段地址左移4位 偏移地址);


當(dāng)bit0設(shè)置為1之后,CPU就按照保護(hù)模式下的機(jī)制來(lái)進(jìn)行尋址(通過(guò)段寄存器中的索引號(hào),到一個(gè)表中查找段的基地址,然后再加上偏移地址)。


GDT 全局描述符表

由于這張表中的每一個(gè)條目(Entry),描述的是一個(gè)段的基本信息,包括:基地址、段的長(zhǎng)度界限、安全級(jí)別等等,因此我們稱(chēng)之為全局描述符表(Global Descriper Table, GDT)。


之所以稱(chēng)之為全局的,是因?yàn)槊恳粋€(gè)應(yīng)用程序還可以把段描述符信息,放在自己的一個(gè)私有的局部描述符表中(Local Descriper Table,LDT),在以后的文章中一定會(huì)介紹到。


Linux從頭學(xué)08:Linux 是如何保護(hù)內(nèi)核代碼的?【從實(shí)模式到保護(hù)模式】
處理器規(guī)定:第一個(gè)描述符必須為空,主要是為了規(guī)避一些程序錯(cuò)誤。


從上圖中可以看出:GDT中每一個(gè)條目的長(zhǎng)度是8個(gè)字節(jié),其中描述了一個(gè)段的具體信息,如下所示:


Linux從頭學(xué)08:Linux 是如何保護(hù)內(nèi)核代碼的?【從實(shí)模式到保護(hù)模式】黃色部分:表示這個(gè)段在內(nèi)存中的基地址


綠色部分:表示這個(gè)段的最大長(zhǎng)度是多少。


第一次看到這張圖時(shí),是不是心中有2個(gè)疑問(wèn):


  1. 為什么段的基地址不是用連續(xù)的 32 bit 位來(lái)表示?


  2. 段的界限怎么是 20 位的?20 位只能表示 1 MB 的范圍啊?


第一個(gè)問(wèn)題的答案是:歷史原因(兼容性)。


第二問(wèn)題的答案是:在每一個(gè)描述符中的標(biāo)志位G,對(duì)段的界限進(jìn)行了進(jìn)一步的粒度描述:


  1. 如果 G = 0: 表示段界限是以字節(jié)為單位,此時(shí),段界限的最大表示范圍就是 1 MB;


  2. 如果 G = 1:表示段界限是以 4 KB 為單位,此時(shí),段界限的最大表示范圍就是 4 GB( 1 MB 乘以 4KB);


為了完整性,我把所有標(biāo)志位的含義都匯總?cè)缦拢奖銋⒖迹?


D/B (bit22):用來(lái)決定數(shù)據(jù)段or棧段使用的偏移寄存器是16位 還是32位。


Linux從頭學(xué)08:Linux 是如何保護(hù)內(nèi)核代碼的?【從實(shí)模式到保護(hù)模式】L (bit21):在64位系統(tǒng)中才會(huì)使用,暫時(shí)先忽略。


AVL (bit20):處理器沒(méi)有使用這一位內(nèi)容,被操作系統(tǒng)可以利用這一位來(lái)做一些事情。


P (bit15):表示這個(gè)段的內(nèi)容,當(dāng)前是否已經(jīng)駐留在物理內(nèi)存中。


Linux從頭學(xué)08:Linux 是如何保護(hù)內(nèi)核代碼的?【從實(shí)模式到保護(hù)模式】在Linux系統(tǒng)中,每一個(gè)應(yīng)用程序都擁有4 GB(32位處理器) 的虛擬內(nèi)存空間,而且一個(gè)系統(tǒng)中可以同時(shí)存在多個(gè)應(yīng)用程序。


這些應(yīng)用程序在虛擬內(nèi)存中的代碼段、數(shù)據(jù)段等等,最終都是要映射到物理內(nèi)存中的。


Linux從頭學(xué)08:Linux 是如何保護(hù)內(nèi)核代碼的?【從實(shí)模式到保護(hù)模式】但是物理內(nèi)存的空間畢竟是有限的,當(dāng)物理內(nèi)存緊張的時(shí)候,操作系統(tǒng)就會(huì)把當(dāng)前不在執(zhí)行的那些段的內(nèi)容,臨時(shí)保存在硬盤(pán)上(此時(shí),這個(gè)段描述符的P位就設(shè)置為0),這稱(chēng)之為換出。


當(dāng)這個(gè)被換出的段需要執(zhí)行時(shí),處理器發(fā)現(xiàn)P位為0,就知道段中的內(nèi)容不在物理內(nèi)存中,于是就在物理內(nèi)存中找出一塊空閑的空間,然后把硬盤(pán)中的內(nèi)容復(fù)制到物理內(nèi)存中,并且把P位設(shè)置為1,這稱(chēng)之為換入。


DPL (bit14 ~ 13):指定段的特權(quán)級(jí)別,處理器一共支持4個(gè)特權(quán)級(jí)別:0,1,2,3(特權(quán)級(jí)別最低)。


Linux從頭學(xué)08:Linux 是如何保護(hù)內(nèi)核代碼的?【從實(shí)模式到保護(hù)模式】比如:操作系統(tǒng)的代碼段的特權(quán)級(jí)別是0,而一個(gè)應(yīng)用程序在剛開(kāi)始啟動(dòng)的時(shí)候,操作系統(tǒng)給它分配的特權(quán)級(jí)別是3,那么這個(gè)應(yīng)用程序就不能直接去轉(zhuǎn)移到操作系統(tǒng)的代碼段去執(zhí)行。


在 Linux 操作系統(tǒng)中,只利用了 0 和 3 這兩個(gè)特權(quán)級(jí)別。


S (bit12):決定這個(gè)段的類(lèi)型。


Linux從頭學(xué)08:Linux 是如何保護(hù)內(nèi)核代碼的?【從實(shí)模式到保護(hù)模式】TYPE (bit11 ~ 8):用來(lái)描述段的一些屬性,例如:可讀、可寫(xiě)、擴(kuò)展方向、代碼段的執(zhí)行特性等等。


Linux從頭學(xué)08:Linux 是如何保護(hù)內(nèi)核代碼的?【從實(shí)模式到保護(hù)模式】這里的依從屬性不太好理解,它主要用于決定:從一個(gè)特權(quán)級(jí)別的代碼,是否可以進(jìn)入另一個(gè)特權(quán)級(jí)別的代碼。


如果可以進(jìn)入,那么當(dāng)前任務(wù)的請(qǐng)求級(jí)別RPL是否發(fā)生改變(以后會(huì)討論這個(gè)問(wèn)題)。


另外,操作系統(tǒng)可以把A標(biāo)志,加入到物理內(nèi)存的換出換入計(jì)算策略中。


這樣的話(huà),就可以避免把最近頻繁訪(fǎng)問(wèn)的物理內(nèi)存換出,達(dá)到更好的系統(tǒng)性能。


GDTR 全局描述符表寄存器

還有一個(gè)問(wèn)題需要處理:GDT表本身也是數(shù)據(jù),也是需要存放在內(nèi)存中的。


那么: 它存放在內(nèi)存中的什么位置呢?CPU 又怎么能知道這個(gè)起始位置呢?


在處理器的內(nèi)部,有一個(gè)寄存器:GDTR (GDT Register),其中存儲(chǔ)了兩個(gè)信息:


Linux從頭學(xué)08:Linux 是如何保護(hù)內(nèi)核代碼的?【從實(shí)模式到保護(hù)模式】我們可以從上一篇文章Linux從頭學(xué)07:【中斷】那么重要,它的本質(zhì)到底是什么?中,中斷向量表的安裝過(guò)程中進(jìn)行類(lèi)比:


  1. 程序代碼把每一個(gè)中斷的處理程序地址,放在中斷向量表中的對(duì)應(yīng)位置;


  2. 中斷向量表的起始地址放在內(nèi)存的 0 地址處;


也就是說(shuō):處理器是到固定的地址0處,查找中斷向量表的,這是一個(gè)固定的地址。


而對(duì)于GDT表而言,它的起始地址不是固定的,而是可以放在內(nèi)存中的任意位置。


只要把這個(gè)位置存放到寄存器 GDTR 中,處理器在需要的時(shí)候就可以通過(guò)GDTR來(lái)定位到GDT的起始地址。


其實(shí),GDT 在上電剛開(kāi)始的時(shí)候,也不能放在內(nèi)存中的任意位置。


因?yàn)樵谶M(jìn)入保護(hù)模式之前,處理器還是工作在實(shí)模式,只能尋址 1 MB 的內(nèi)存空間,因此,GDT 只能放在 1 MB 內(nèi)的地址空間中。


在進(jìn)入保護(hù)模式之后,能尋址更大的地址空間了,此時(shí)就可以重新把 GDT 放在更大的地址空間中了,然后把這個(gè)新的起始地址,存儲(chǔ)到 GDTR 寄存器中。


從GDTR寄存器中的內(nèi)容可以看出,它不僅存儲(chǔ)了GDT的起始地址,而且還限制了GDT的長(zhǎng)度。


這個(gè)長(zhǎng)度一共是16位,最大值是64 KB( 2 的 16 次方),而一個(gè)段描述符信息是8 B,那么64 KB的空間,最多一共可以存放8192個(gè)描述符。


這個(gè)數(shù)字,對(duì)于操作系統(tǒng)或者是一般的應(yīng)用程序來(lái)說(shuō),是綽綽有余了。


段描述符的查找原理

在上面的段寄存器示意圖中,我們只說(shuō)明了段寄存器依然是16位的。


在保護(hù)模式下,對(duì)其中內(nèi)容的解釋?zhuān)c實(shí)模式下是大不相同的。


我們以代碼段寄存器CS為例:


Linux從頭學(xué)08:Linux 是如何保護(hù)內(nèi)核代碼的?【從實(shí)模式到保護(hù)模式】
RPL: 表示當(dāng)前正在執(zhí)行的這個(gè)代碼段的請(qǐng)求特權(quán)級(jí);


TI: 表示到哪一個(gè)表中去找這個(gè)段的描述信息:全局描述符表(GDT) or 局部描述符表(LDT)?


TI = 0 時(shí),到 GDT 中找段描述符;
TI = 1 時(shí),到 LDT 中找段描述符;


假設(shè)當(dāng)前代碼段寄存器cs的值為0x0008,處理器按照保護(hù)模式的機(jī)制來(lái)解釋其中的內(nèi)容:


Linux從頭學(xué)08:Linux 是如何保護(hù)內(nèi)核代碼的?【從實(shí)模式到保護(hù)模式】
  1. TI = 0,表示到 GDT 中查找段描述符;


  2. RPL = 0,表示請(qǐng)求特權(quán)級(jí)別是 0;


  3. 描述符索引是 1,表示這個(gè)段描述符在 GDT 中的第 1 個(gè)條目中。由于每一個(gè)描述符占用 8 個(gè)字節(jié),因此這個(gè)描述符的開(kāi)始地址位于 GDT 中的偏移地址為 8 的位置(1 * 8 = 8);


找到了這個(gè)段描述符條目之后,就可以從中獲取到這個(gè)代碼段的具體信息了:


  1. 代碼段的基地址在內(nèi)存中什么位置;


  2. 代碼段的最大長(zhǎng)度是多少(在獲取指令時(shí),如果偏移地址超過(guò)這個(gè)長(zhǎng)度,就引發(fā)異常);


  3. 代碼段的特權(quán)級(jí)別是多少,當(dāng)前是否駐留在物理內(nèi)存中等等;


另外,從上文描述的GDTR寄存內(nèi)容知道,它限制了GDT中最多一共可以存放8192個(gè)描述符。


Linux從頭學(xué)08:Linux 是如何保護(hù)內(nèi)核代碼的?【從實(shí)模式到保護(hù)模式】我們?cè)購(gòu)?span>代碼段寄存器中,描述符索引字段所占據(jù)的13個(gè) bit 位可以計(jì)算出,最多可以查找8192個(gè)段描述符。


2 的 13 次方 = 8192。


至此,處理器就在保護(hù)模式下,查找到了一個(gè)段的所有信息。


下面步驟就是:到這個(gè)段所在的內(nèi)存空間中,執(zhí)行其中的代碼,或者讀寫(xiě)其中的數(shù)據(jù)。


下一篇文章我們繼續(xù)。。。



------ End ------
這篇文章主要描述了80386處理器中的保護(hù)模式下,段寄存器的使用,以及通過(guò)段描述符來(lái)查找段的具體信息。


從描述的內(nèi)容來(lái)看,已經(jīng)和我們的最終目標(biāo):Linux操作系統(tǒng)中的執(zhí)行方式,越來(lái)越接近了!


因?yàn)檫@些底層知識(shí),都是Linux操作系統(tǒng)賴(lài)以運(yùn)行的基礎(chǔ)。


理解了這些基礎(chǔ)內(nèi)容,后面在學(xué)習(xí)Linux的具體模塊時(shí),就可以回過(guò)頭來(lái)查一下它在處理器層面的底層支撐。


最后,如果這篇文章對(duì)您有一點(diǎn)幫助,請(qǐng)轉(zhuǎn)發(fā)給身邊的技術(shù)小伙伴,也是對(duì)我繼續(xù)輸出文章的最大鼓勵(lì)和動(dòng)力!感謝!


讓我們一起出發(fā),向著目標(biāo)繼續(xù)邁進(jìn)!


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀(guān)點(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)閉