在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

軟開關設計:典型電路及軟件代碼

m3eY_edn_china ? 來源:未知 ? 作者:鄧佳佳 ? 2018-03-01 11:29 ? 次閱讀

何為軟開關?軟開關是相對于硬開關而言。硬開關顧名思義,電源的開斷完全取決于硬件,是物理層上的開合;而軟開關,則是必須借助于軟件,準確地說是借助軟件來進行關閉。兩者各有優劣。

前者因為是物理層的操作,可以講電源和系統部分完全阻隔,所以關閉時漏電流非常小,但缺陷是關閉時無法給予軟件任何通知信息;而后者的關閉只是電平的操作,關閉后無法將電源部分與系統部分隔離,因此相對而言,漏電流會比較大,但優點在于,關閉是由軟件進行控制,所以能在關閉前做好相應的準備工作。正是因為此特性,故電子設備來說采用硬開關的設計非常少,更多的是軟開關。舉個簡單的例子,我們常用的家用電腦就是軟開關設計。試想加入電腦采用的是硬開關的設計,會是什么結果?

結果估計就如同我們在正常使用電腦時,突然將插頭給拔掉一樣。這樣,對于電腦的設備,特別是硬盤而言,所造成的損害是不可估量的。

軟開關設計 硬件篇

對于軟開關而言,在我們按下那一瞬間,因為還沒有給CPU上電,不存在任何程序執行的可能,所以注定“打開”這一個操作只能用硬件完成。當系統跑起來以后,此時軟件已經開始運作,我們就能通過對GPIO進行操作來關閉設備。綜上所述,如果要實現軟開關,我們必須具備兩個GPIO口。一個為DETECT_KEY,作為輸入,用來檢測按鍵是否按下;另一個為GPIO_SHDW,作為輸出,用來控制電源的閉合。

現在,我們來看一個典型的軟開關電路(圖一,以下講解都以電路圖的標號為指代):

該電路很簡單,對外的節點有四處,分別如下:

PWR_ON:用來控制系統的電源。當其為high時,系統正常供電

VDD33D:直接接3.3V電壓

GPIO_SHDW:當其為low時關閉系統電源

DETECT_KEY:檢測按鍵S1的狀態。

我們現在根據開機到關機的過程來一步一步來分析該電路:

1.未開機,S1未按下。

此時GPIO_SHDN為low,直接控制了Q1和Q2的控制腳(PIN1),令VDD33D的電壓無法輸出到POW_ON端。而D1因為S1未按下,該二極管也處于阻隔狀態,S1端的VDD33D也無法輸送到POW_ON端。故整個系統還處于關閉狀態。

2.S1按下,開機。

S1按下,二極管D1導通,S1端的VDD33D電壓輸送到PWR_ON端,系統開始啟動。系統啟動時,將GPIO_SHDN置high。此時PWR_ON已經輸入了R2,R3端的VDD33D電壓,D1兩邊電壓基本上處于平衡狀態,D1相當于斷開,S1端的電壓無法加載到PWR_ON。

3.S1放開,系統正常運行。

S1放開,D1不可能再導通,而此時電壓已經主要是從R2,R3端的VDD3D輸入,令PWR_ON一直保持high狀態,故系統一直處于正常運行狀態。

4.S1按下,系統正常運行。

因為S1按下,導致Q3導通,拉低R6端下方的電壓,此時DETECT_KEY這個GPIO口檢測到電平為low,軟件開始進入計時狀態。

5.S1放開。

因為S1已經放開,Q3不再導通,R6下端電壓恢復,DETECT_KEY檢測到電平為high。此時軟件和閾值做比較,如果超過預定的閾值,則關閉系統;否則,將本次操作忽略。在這里之所以和閾值進行比較,是出自于防抖的需要。因為在實際使用中,可能R6端會有微小的極為短暫的電壓降,如果軟件不設置閾值,檢測到該電壓降就會關閉,這對于產品而言是不允許的。

軟開關設計 軟件篇

相對于硬件來說,軟開關的軟件代碼更為簡單,只需要檢測DETECT_KEY即可。該功能的實現主要是通過GPIO,而wince并沒有對GPIO做上層定義,并且每款CPU的GPIO的操作方式又各自不同,所以本文無法給出一個完整可用的代碼,只能用偽代碼作為示例講解。雖然是偽代碼,但對于了解其流程還是有一定的意義。

void Power_On()

{

...

//設置GPIO_SHDN為high

SetGPIO_HIGH(GPIO_SHDN);

...

}

DWORD PWR_IntrThread(PVOID pParam)

{

....

//使能中斷

EnableInterrupt();

//初始化中斷

InterruptInitialize(btnSysIntr, hNotifyEvent, 0, 0)

while(TRUE)

{

//等待中斷事件

dwRet = WaitForSingleObject(hNotifyEvent, INFINITE);

if(dwRet == WAIT_OBJECT_0)

{

//中斷處理完畢,讓中斷再次進入處理

InterruptDone(btnSysIntr);

//再次等待中斷處理事件

dwRet = WaitForSingleObject(hNotifyEvent, 1000);

if(dwRet == WAIT_TIMEOUT)

{

//當其位WAIT_TIMEOUT時,意味著為長按,進入poweroff函數

EnterPowerOff();

}

}

}

....

}

void EnterPowerOff()

{

...

while(TRUE)

{

if(IsGPIOHigh(GPIO_DETECT_KEY) != FALSE)

{

//S1已經松開,跳出循環

break;

}

}

//關閉系統電源

SetGPIO_LOW(GPIO_SHDN);

...

}

這里唯一需要注意的是EnterPowerOff函數,在這里必須要檢測S1是否已經松開。如果還沒有松開S1就將GPIO_SHDN置為LOW,因為S1端還有VDD33D電壓輸入到PWR_ON端,所以系統還是無法關閉。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 軟開關
    +關注

    關注

    5

    文章

    176

    瀏覽量

    30196

原文標題:軟開關設計:典型電路及軟件代碼

文章出處:【微信號:edn-china,微信公眾號:EDN電子技術設計】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    兩種典型的電池供電電路的設計方案

    本文從設計手持產品的工作實踐出發,討論兩種典型的電池供電電路的設計情況。##開關電路的開/關機的過程分為兩種情況。
    發表于 05-08 11:52 ?7289次閱讀

    幾種典型開關電路分享

    開關損耗增大、效率下降和電磁干擾增大等影響。 這就引出了我們今天要討論的話題——開關技術:降低開關損耗和開關噪聲; 大幅度提高
    發表于 04-11 12:01 ?1.3w次閱讀
    幾種<b class='flag-5'>典型</b>的<b class='flag-5'>軟</b><b class='flag-5'>開關電路</b>分享

    什么是開關?LLC電路是如何實現開關的?

    與傳統PWM(脈寬調節)變換器不同,LLC是一種通過控制開關頻率(頻率調節)來實現輸出電壓恒定的諧振電路。它的優點是:實現原邊兩個主MOS開關的零電壓開通(ZVS)和副邊整流二極管的零電流關斷(ZCS),通過
    發表于 10-26 09:49 ?4495次閱讀
    什么是<b class='flag-5'>軟</b><b class='flag-5'>開關</b>?LLC<b class='flag-5'>電路</b>是如何實現<b class='flag-5'>軟</b><b class='flag-5'>開關</b>的?

    開關的基本概念及分類 典型開關電路介紹

    開關技術的主要內容有:開關的基本概念、開關電路的分類、
    的頭像 發表于 11-22 16:08 ?2245次閱讀
    <b class='flag-5'>軟</b><b class='flag-5'>開關</b>的基本概念及分類 <b class='flag-5'>典型</b>的<b class='flag-5'>軟</b><b class='flag-5'>開關電路</b>介紹

    開關技術在通信電源中的應用

    開關技術是目前國際國內電力電子領域的研究熱點,其在通信電源中也將得到廣泛應用。本文綜述了開關技術在APFC、DC/DC、DC/AC電路
    發表于 03-10 14:22

    典型電路的Verilog代碼介紹

    典型電路的模板1 模板代碼1.1 輸出時序邏輯的模板代碼1.1.1 異步復位的時序電路(用的最多)1.1.2 同步復位的時序
    發表于 02-17 07:11

    開關電源典型電路結構框圖

    開關電源典型電路結構框圖
    發表于 12-03 21:53 ?5514次閱讀
    <b class='flag-5'>開關</b>電源<b class='flag-5'>典型</b><b class='flag-5'>電路</b>結構框圖

    一種運用開關的Boost電路

    一種運用開關的Boost電路 摘要:提出了一種運用開關的Boost電路
    發表于 07-08 11:11 ?2559次閱讀

    Boost電路的一種開關實現方法

    Boost電路的一種開關實現方法 摘要:提出了一種Boost電路開關
    發表于 07-11 10:12 ?8182次閱讀
    Boost<b class='flag-5'>電路</b>的一種<b class='flag-5'>軟</b><b class='flag-5'>開關</b>實現方法

    開關技術在通信電源中的應用

    開關技術是目前國際國內電力電子領域的研究熱點,其在通信電源中也將得到廣泛應用。本文綜述了開關技術在APFC、DC/DC、DC/AC電路
    發表于 03-14 23:19 ?52次下載

    開關技術的學習課件免費下載

    本文檔的主要內容詳細介紹的是開關技術的學習課件免費下載包括了:第一節 開關的基本概念,第二節
    發表于 11-02 17:30 ?25次下載
    <b class='flag-5'>軟</b><b class='flag-5'>開關</b>技術的學習課件免費下載

    Buck ZCS開關電路實驗

    實驗目的: 1.加深對零電流準諧振開關電路工作原理的理解; 2.了解零電流準諧振開關電路的調試方法; 3.了解零電流準諧振
    發表于 06-18 14:36 ?18次下載

    全橋開關

    全橋開關這是我你第一次使用CSDN記錄自己的學習歷程,今天寫一個全橋開關的知識。典型開關電源
    發表于 10-22 11:51 ?29次下載
    全橋<b class='flag-5'>軟</b><b class='flag-5'>開關</b>

    什么是開關?LLC電路是如何實現開關的?

    什么是開關?LLC電路是如何實現開關的? 隨著現代電子技術的不斷進步和發展,
    的頭像 發表于 10-22 12:20 ?3189次閱讀

    什么是硬開關?什么是開關開關開關的優缺點

    什么是硬開關?什么是開關開關開關的優缺點 硬開關
    的頭像 發表于 02-20 11:43 ?7943次閱讀
    主站蜘蛛池模板: 四虎网址在线观看 | 天天久久影视色香综合网 | 色噜噜狠狠成人网 | av 狼| 欧美h视频 | 五月天久久婷婷 | 天天操天天干天搞天天射 | 亚洲狠狠97婷婷综合久久久久 | 免费观看一级成人毛片 | 色女人综合 | 午夜精品久久久久久久99 | 美女免费视频色在线观看 | 午夜视频国语 | 国产精品手机在线 | 天天干一干 | 在线亚洲精品 | 免费色视频网站 | 性生大片一级毛片免费观看 | 4hu影院在线观看 | 特别黄的免费视频大片 | 亚洲国产成人成上人色 | h免费视频 | 九九精品国产兔费观看久久 | 永久免费看mv网站入口 | 国产aaa级一级毛片 国产ar高清视频+视频 | 日本天堂影院 | 国产成人v爽在线免播放观看 | 久久国模 | 丁香狠狠色婷婷久久综合 | 久综合网| 国产午夜视频 | 日本大黄在线观看 | 色婷婷激婷婷深爱五月小说 | 欧洲不卡一卡2卡三卡4卡网站 | 国产清纯白嫩大学生正在播放 | 久久精品国产夜色 | 亚洲国产成人久久一区www | 欧美三级在线观看黄 | 人与牲动交xxxxbbb | 久久国产乱子伦精品免 | h视频日本 |