新聞中心

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

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

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

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

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

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

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

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

          INT_MSK0 |= INT_MSK0_SLEEP;

          M8C_Sleep;

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

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

          M8C_Sleep; M8C_Sleep; M8C_Sleep;

          系統(tǒng)的平均電流取決于工作時(shí)間,工作電流,休眠時(shí)間和休眠電流,其關(guān)系可以通過下面的公式表示

          大多數(shù)應(yīng)用都可以在系統(tǒng)空閑時(shí)進(jìn)入休眠狀態(tài),但是必須可以通過觸摸某個(gè)或任意一個(gè)按鍵將系統(tǒng)喚醒。傳統(tǒng)的機(jī)械按鍵方案僅需將所有按鍵連在一起作為一個(gè)中斷源喚醒MCU即可,但是對(duì)于技術(shù),都是依靠主動(dòng)掃描按鍵信號(hào)來獲得按鍵觸發(fā)狀態(tài)。因此,設(shè)計(jì)者需要編寫固件代碼來實(shí)現(xiàn)可靠有效的低功耗休眠。圖 1給出了一種典型的休眠模式工作流程。在進(jìn)入休眠前,設(shè)計(jì)者需要將PSoC內(nèi)部所有休眠時(shí)不用的數(shù)字模塊和模擬模塊停止工作,以獲得最低的休眠電流,然后根據(jù)應(yīng)用的具體需求,選擇適當(dāng)?shù)男菝邥r(shí)間,之后使能數(shù)字模塊和模擬模塊,掃描按鍵并判斷是否喚醒系統(tǒng)。

          對(duì)于掃描按鍵并判斷是否喚醒系統(tǒng),PSoC也存在著三種不同的方式。



        評(píng)論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 兴安盟| 南靖县| 革吉县| 敦煌市| 黎川县| 吉木乃县| 大邑县| 蓝田县| 区。| 东乡族自治县| 霍邱县| 顺昌县| 泊头市| 黄陵县| 合作市| 北海市| 田林县| 石台县| 高邑县| 武山县| 新宁县| 柘荣县| 彰武县| 修文县| 连城县| 洱源县| 沾化县| 岚皋县| 休宁县| 资阳市| 霸州市| 濮阳县| 达州市| 车致| 额尔古纳市| 澄城县| 治多县| 弥勒县| 六枝特区| 酒泉市| 江北区|