新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于PSoC的單鍵開關機和自動關機方案

        基于PSoC的單鍵開關機和自動關機方案

        作者: 時間:2008-03-13 來源:電子產品世界 收藏

          摘要: 本 文介紹了一種基于Cypress(賽普拉斯)的8位PSoC芯片的單鍵開關機和自動關機實現方案。采用該方案的應用系統具有開關機電路簡單,操作方便,系統低等優點。

        本文引用地址:http://www.104case.com/article/80016.htm

          關鍵詞: PSoC;單鍵開關機;自動關機;

          引言

          一種行之有效的降低方法是給產品添加自動關機電路和單鍵開關機電路,使得系統在預先設定的時間里檢測到無外部操作時,系統自動關斷電源電路,從而確保系統非工作狀態時實現真正的零功耗;同時單鍵開關機電路使得操作者能方便地實現系統的開關機操作。本文正是基于這個思想介紹了一種基于賽普拉斯PSoC芯片的單鍵開關機和自動關機的方案實現。該方案具有電路簡單,成本低廉,操作方便,軟件代碼少,關機功耗低,可方便地集成于PSoC便攜式電子產品中實現系統低功耗目的。

          PSoC

          PSoC(Programmable system on chip,可編程片上系統)是Cypress半導體有限公司生產的的可編程片上系統芯片。它主要由8位微處理器,可編程模擬模塊和數字模塊,外加硬件乘法累加器,I2C,Flash,SRAM,睡眠定時器等周邊外圍模塊組成。

          因此,PSoC除了能實現一般MCU的功能外,還可通過可編程模擬和數字模塊靈活地實現單芯片電子產品系統所需的模擬與數字外圍功能。為了方便用戶簡單而快速地實現模擬數字外圍功能的設計,Cypress基于可編程數字模擬模塊構建了大量的用戶模塊,如可編程運算放大器、比較器、6~14位的A/D和D/A轉換器、濾波器、8/16 /24/32位定時器/計數器、脈寬調制器、觸摸感應等模塊。這些用戶模塊將PSoC內部的寄存器配置、數字模塊和模擬模塊之間的內部連線、底層API(應用程序接口)函數都已設計好了。當用戶需要某個數字模擬外圍功能時,只需要簡單地調用相應的用戶模塊即可實現。

          單鍵開關機和自動關機電路

          圖1是基于PSoC芯片為控制核心而設計的一種簡單的單鍵開關機和自動關機電路,該電路所需占用PSoC的硬件資源是兩個I/O口:ON/OFF和PWR_CTRL。ON/OFF是輸入口,用來檢測開關SW1動作情況;PWR_CTRL是輸出口,用來控制電源的開與關。SW1是整個電路的輸入控制開關。下面將詳細介紹該電路的單鍵開機、單鍵關機和自動關機的工作原理。

        圖1 單鍵開關機和自動關機電路

          開機工作原理:當系統處于關機狀態時,開關SW1按下,PMOS管Q1的柵極電壓由9V電池電壓經R1、R3分壓后由原來的9V變為4.5V,而Q1的源極電壓為9V輸入,Vgs=Vg-Vs=4.5-9=-4.5V,Q1從而導通,使得Vin近似于等于輸入電源電壓,Vin再經過后面的LDO或DC-DC電源芯片變換成系統所需要的電源電壓VDD,使產品后面的系統開始工作;然后在系統一開始上電工作時,PSoC通過PWR_CTRL輸出I/O口輸出高電平信號,Q2的漏極變為低電平,從而將Q1的柵極鎖定成低電平狀態,這樣確保在SW1開關按鈕釋放后,Vsg仍大于PMOS管Q1的導通開啟電壓,從而使得電池電壓能穩定送到后面的產品系統電路中實現供電。

          關機工作原理:當系統開機后無開關SW1按下的情況時,PSoC輸入口ON/OFF由于電阻R2上拉至VDD的原因一直是高電平狀態。當開關SW1突然按下時,二極管D1的負端變為零電平,ON/OFF輸入電平就會由原來的VDD高電平狀態,變為二極管正向電壓電平0.6V低電平狀態。ON/OFF輸入口的這種電平狀態突變會使得PSoC產生I/O口中斷,執行關機中斷處理:設置PWR_CTRL口輸出為0電平信號。當PWR_CTRL=0時,Q2的漏極為高電平信號,Q1的柵極電壓也隨之變為9V電平,Vgs變為0V,PMOS管Q1關閉,從而將電池電壓與輸入電壓Vin通路切斷,實現關機功能。

          自動關機工作原理:PSoC內的MCU不斷檢測外部輸入操作,當一旦檢測到無外部操作超過預先設定的時間,PSoC將輸出PWR_CTRL口置為0,從而實現自動關機功能。至于時間定時功能,PSoC芯片可有多種實現方式,例如可以通過由可編程數字模塊構造的硬件定時器用戶模塊實現,也可以通過PSoC芯片內本身集成的睡眠定時器,或者通過軟件計數定時等實現。

          單鍵開關機和自動關機軟件

          中斷處理子程序

          ON/OFF輸入I/O口中斷處理:

          Set PWR_CTRL=0;

          Ret

          定時器中斷處理:

          Set PWR_CTRL=0;

          Ret

          單鍵開關機和自動關機軟件流程如圖2所示,要實現單鍵開機,在軟件上只需要在程序最開始執行處添加一條將PWR_CTRL置 為“1”的語句即可;要實現單鍵關機,只需要在I/O中斷服務處理程序里,添加一條將PWR_CTRL置為 “0”的語句;要實現自動關機,只需打開睡眠定時器或利用PSoC內的由可編程數字模塊構成的定時器用戶模塊實現定時功能,然后再在定時中斷里添加一條將PWR_CTRL置為 “0”的語句。

        圖2 單鍵開關機和自動關機軟件流程

          結語

          該方案具有電路簡單,成本低廉,操作方便,軟件代碼少,關機功耗低,可方便地集成于PSoC便攜式電子產品中實現系統低功耗目的。

          參考文獻:

          1. 王瑩,‘不與摩爾定律較勁’,電子產品世界,2008.1

        adc相關文章:adc是什么


        脈寬調制相關文章:脈寬調制原理


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 财经| 家居| 北川| 马龙县| 乌拉特后旗| 类乌齐县| 威宁| 进贤县| 鄂州市| 双城市| 巴南区| 泸溪县| 巴里| 搜索| 万宁市| 吉安县| 莒南县| 长汀县| 通城县| 班戈县| 蓬莱市| 乐亭县| 双流县| 博乐市| 澄江县| 新民市| 长寿区| 临汾市| 梅州市| 绍兴市| 田东县| 陈巴尔虎旗| 永清县| 瑞安市| 江西省| 濮阳市| 孝感市| 岳池县| 洪江市| 社旗县| 含山县|