新聞中心

        EEPW首頁 > 物聯(lián)網(wǎng)與傳感器 > 設(shè)計應(yīng)用 > 使用CY8C22X45系列PSoC設(shè)計低功耗觸摸按鍵應(yīng)用系統(tǒng)

        使用CY8C22X45系列PSoC設(shè)計低功耗觸摸按鍵應(yīng)用系統(tǒng)

        作者:陳曉霖 胡泊 Cypress主任應(yīng)用工程師 2Cypress應(yīng)用工程師 時間:2010-04-28 來源:電子產(chǎn)品世界 收藏

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

          除了全局芯片參數(shù)的設(shè)置,不同型號的內(nèi)部還有數(shù)目不等的數(shù)字模塊與模擬模塊,如果這些模塊被配置成具體的功能模塊,如PWM,SPI Master等,這些功能模塊還會引入額外的工作電流。需要注意一點,上述的測試結(jié)果沒有引入任何的數(shù)字與模擬模塊,因此針對實際的應(yīng)用,工作電流還需要在上述結(jié)果基礎(chǔ)上增加功能模塊帶來的額外電流。

          3. 開發(fā)低功耗的固件代碼

          實際上,除了設(shè)置適當?shù)男酒瑓?shù),固件代碼的編寫對系統(tǒng)功耗也有著重要影響。具有良好的可配置性能,其數(shù)字模塊和模擬模塊可以配置成不同的功能模塊,根據(jù)應(yīng)用需求,僅在使用時才將其使能,否則一直讓其停止工作,即可減少系統(tǒng)的工作電流。

          和大多數(shù)芯片一樣,也提供低功耗休眠模式,有些型號的PSoC可以提供低至0.1uA的休眠電流。休眠時系統(tǒng)時鐘以及所有由系統(tǒng)時鐘驅(qū)動的功能模塊都會停止工作,但是由32K時鐘驅(qū)動的模塊仍會繼續(xù)工作。PSoC內(nèi)部包含一個休眠定時器(Sleep Timer),通過設(shè)定其超時時間并使能,PSoC即進入休眠模式,直到被休眠定時器的超時中斷喚醒,除此之外,PSoC休眠中也可以被GPIO的中斷,低電壓檢測中斷,模擬模塊產(chǎn)生的中斷和由32K驅(qū)動模塊產(chǎn)生的中斷喚醒,因此進入休眠前需要清除所有等待中的中斷,否則PSoC無法進入休眠模式。

          如果在全局資源里設(shè)置好了Sleep Timer的周期,那么僅需兩行代碼即可讓PSoC進入休眠模式,第一行代碼使能Sleep Timer中斷,第二行代碼令PSoC進入休眠模式。

          INT_MSK0 |= INT_MSK0_SLEEP;

          M8C_Sleep;

          大多數(shù)PSoC提供了4種固定的休眠間隔(表格 7),芯片內(nèi)的Watchdog周期是當前休眠間隔的3倍,如果同時使用休眠和Watchdog,需要在代碼中的適當位置清除Watchdog計數(shù)器,以防系統(tǒng)超時重置。

          可以通過多次使用M8C_Sleep來獲得更長的休眠時間,例如,如果休眠時間為125ms,下述代碼可以獲得約375ms的休眠時間。



        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 临桂县| 蒙城县| 宝坻区| 东乡| 明溪县| 石嘴山市| 囊谦县| 临邑县| 宝坻区| 鄢陵县| 永仁县| 于田县| 杭州市| 江津市| 加查县| 琼结县| 房产| 定边县| 莆田市| 宜春市| 湖口县| 洮南市| 宝山区| 正蓝旗| 澎湖县| 玛纳斯县| 新龙县| 尉氏县| 灵石县| 海晏县| 阳山县| 原阳县| 安达市| 玛多县| 肥城市| 吉木萨尔县| 雅安市| 时尚| 奉化市| 三亚市| 巴塘县|