新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于Linux的便攜嵌入式設(shè)備電源管理解決方案

        基于Linux的便攜嵌入式設(shè)備電源管理解決方案

        作者: 時間:2012-04-05 來源:網(wǎng)絡(luò) 收藏


        (3)實(shí)現(xiàn)設(shè)備

        這個設(shè)備實(shí)際是用于接受用戶空間程序的控制所用,所以只需要簡單的實(shí)現(xiàn)“ioctl”調(diào)用就可以了。
        /3 ioctl調(diào)用方法3 /
        static int do_ioctl ( struct inode 3 inode, struct file 3 filp, u_int
        cmd, u_long arg)
        { . . .
        switch ( cmd) {
        case APM_ IOC_STANDBY: {
        pm_send_all ( PM_SUSPEND, ( void 3 ) 2) ; /3 外設(shè)掛起3 /
        } break;
        case APM_ IOC_RESUME: {
        pm_send_all ( PM_RESUME, ( void 3 ) 0) ; /3 外設(shè)喚醒3 /
        } break;
        case APM_ IOC_SUSPEND: {
        pm_send_all ( PM_SUSPEND, ( void 3 ) 2) ; /3 外設(shè)掛起3 /
        sa1110_suspend ( ) ; /3 CPU進(jìn)入休眠模式3 /
        /3 CPU醒來,繼續(xù)執(zhí)行3 /
        pm_send_all ( PM_RESUME, ( void 3 ) 0) ; /3 喚醒外設(shè)3 /
        } break;
        default:
        return - EINVAL;
        }
        return 0;
        }

        最后,使用命令“mknod /dev/ apm c 254 0”,可以在文件系統(tǒng)中建立起該設(shè)備的訪問節(jié)點(diǎn)。該節(jié)點(diǎn)名為/dev/ apm,是一個字符設(shè)備( c) ,主設(shè)備號為254,此設(shè)備號為0。

        (4)編寫用戶空間程序

        用戶可以在適當(dāng)?shù)臅r候選擇是否改變CPU的時鐘頻率和顯示刷新率,是否關(guān)閉某些外部設(shè)備,是否使整個系統(tǒng)進(jìn)入睡眠模式等等。這只需要使用“ioctl”對設(shè)備( /dev/ apm)發(fā)送命令就可以了。
        int fd;
        . . .
        fd = open ( " /dev/ apm" , O_RDONLY) ; /3 打開電源管理設(shè)
        備3 /
        ioctl ( fd, APM_ IOC_SUSPEND,NULL) ; /3 發(fā)送電源管理命
        令3 /
        close ( fd) ; /3 關(guān)閉電源管理設(shè)備3 /

        實(shí)現(xiàn)iPAQ電源管理前后耗電量比較

        實(shí)現(xiàn)電源管理以前:開啟LCD, CPU 處于空閑狀態(tài),大多數(shù)其他芯片關(guān)閉,功耗為470mW。實(shí)現(xiàn)電源管理以后:在電源管理前的基礎(chǔ)上開啟SDRAM 的自動節(jié)能模式,功耗下降到280mW。然后降低LCD刷新率到30Hz, 功耗下降到238mW。再把CPU頻率降低到57. 3MHz,功耗下降到172mW。最后關(guān)閉LCD,功耗下降到98mW。可見,通過本文方案的調(diào)節(jié)和優(yōu)化, iPAQ的耗電量確實(shí)可以得到有效地改善,最大優(yōu)化后的耗電量僅為優(yōu)化前的五分之一,從而大大提高了iPAQ的電池使用時間。

        結(jié) 論

        在嵌入式設(shè)備中,電源管理是一個硬件和軟件相結(jié)合的系統(tǒng)工程。本文介紹了已有的節(jié)能方法和Linux電源管理的機(jī)制, 并且以iPAQ 為例通過Linux的電源管理機(jī)制和上層應(yīng)用軟件,設(shè)計(jì)和實(shí)現(xiàn)了一個較完整和有效的電源管理方案,為眾多基于的嵌入式設(shè)備的電源管理提供了一個有用的參考。


        上一頁 1 2 3 4 下一頁

        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 府谷县| 依兰县| 乌拉特后旗| 百色市| 拉孜县| 孟州市| 清苑县| 雅安市| 绥中县| 枣阳市| 高清| 东山县| 腾冲县| 灌南县| 资兴市| 营山县| 法库县| 台南县| 隆尧县| 保定市| 乌苏市| 武安市| 台中县| 马公市| 龙川县| 原阳县| 建平县| 孟村| 清涧县| 郓城县| 呼伦贝尔市| 河源市| 达州市| 安庆市| 乌海市| 富民县| 黑山县| 涡阳县| 玉龙| 长子县| 铜陵市|