<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARM7的RTU微控制器的設(shè)計(jì)

          基于ARM7的RTU微控制器的設(shè)計(jì)

          作者: 時(shí)間:2011-02-14 來源:網(wǎng)絡(luò) 收藏

          3 軟件整體層次結(jié)構(gòu)

          中的程序有應(yīng)用程序、μC/OS-II 操作系統(tǒng)、文件系統(tǒng)、硬件驅(qū)動(dòng)程序,整體層次關(guān)系如圖2。μC/OS-II 沒有提供硬件驅(qū)動(dòng)程序的內(nèi)核接口和用戶接口,為了讓程序移植性好,需要對(duì)設(shè)備驅(qū)動(dòng)程序按類型進(jìn)行統(tǒng)一的封裝,提供統(tǒng)一的編程接口,使應(yīng)用程序開發(fā)人員可以不考慮具體硬件的細(xì)節(jié)就可以編程。給上層應(yīng)用程序提供統(tǒng)一的系統(tǒng)設(shè)備調(diào)用接口,需要對(duì)設(shè)備的訪問操作進(jìn)行抽象,應(yīng)用程序通過硬件驅(qū)動(dòng)程序的上層訪問抽象接口來訪問底層硬件。驅(qū)動(dòng)程序的借鑒了Linux 系統(tǒng)的成功經(jīng)驗(yàn),同時(shí)考慮到嵌入式操作系統(tǒng)的特殊性,為μC/OS-II 建立了如圖2 中所示的驅(qū)動(dòng)框架模型。驅(qū)動(dòng)主要分兩個(gè)層次:驅(qū)動(dòng)程序的上層訪問抽象接口和硬件設(shè)備驅(qū)動(dòng)層。

          (1)上層訪問抽象接口層:這層包括抽象接口和設(shè)備管理核心數(shù)據(jù)兩部分。通過對(duì)設(shè)備訪問操作的抽象,為上層應(yīng)用提供了5 個(gè)訪問接口API 函數(shù): Open、Read、Write、Ioctrl、Close,用于打開、讀、寫、控制和關(guān)閉設(shè)備。設(shè)備管理核心數(shù)據(jù)結(jié)構(gòu)是驅(qū)動(dòng)框架的核心,為系統(tǒng)中的每個(gè)硬件設(shè)備分配唯一的設(shè)備名,上層應(yīng)用程序通過將設(shè)備名作為參數(shù)傳遞給API 函數(shù)實(shí)現(xiàn)對(duì)相應(yīng)設(shè)備的核心管理數(shù)據(jù)結(jié)構(gòu)的定位尋址,實(shí)現(xiàn)對(duì)設(shè)備的統(tǒng)一訪問控制。

          (2)硬件設(shè)備驅(qū)動(dòng)模塊層:這層是硬件設(shè)備驅(qū)動(dòng)模塊功能的實(shí)現(xiàn)層,對(duì)各個(gè)硬件設(shè)備的驅(qū)動(dòng)在相應(yīng)的硬件設(shè)備驅(qū)動(dòng)模塊中完成。分別完成設(shè)備的打開、讀、寫、控制和關(guān)閉功能。

          為了使程序具有良好的可讀性、可維性,采用了結(jié)構(gòu)化程序方法,即自頂向下,逐步求精的程序方法和單入口單出口的控制結(jié)構(gòu),從問題本身開始,經(jīng)過逐步細(xì)化,將解決問題的步驟分解為由基本程序結(jié)構(gòu)模塊組成的結(jié)構(gòu)化程序框圖,使每一個(gè)模塊的功能變單純而明確,為下一步軟件的功能擴(kuò)充和修改打下了良好的基礎(chǔ)。

          4 功耗的管理設(shè)計(jì)

          4.1 外設(shè)的功耗管理

          功耗管理,除CPU 核的控制外,還要保證外設(shè)在需要使用時(shí)及時(shí)上電,使用完后立即關(guān)閉,從而達(dá)到降低功耗的目的。對(duì)外設(shè)的功耗管理通過IO 輸出口來控制MOS 管的通斷,從而打開或關(guān)斷外部設(shè)備的電源。

          通信電臺(tái)的功耗最大,占系統(tǒng)耗電量的比例大,需要嚴(yán)格的計(jì)算控制。電臺(tái)設(shè)備從上電啟動(dòng)到關(guān)閉分三個(gè)階段:上電啟動(dòng)階段T1,數(shù)據(jù)發(fā)送階段T2,等待數(shù)據(jù)發(fā)送階段T3。

          (1)設(shè)備上電的時(shí)機(jī): 信道編碼后,需要發(fā)送數(shù)據(jù)時(shí)打開。

          (2)設(shè)備啟動(dòng)時(shí)間T1:設(shè)備從上電到可以發(fā)送數(shù)據(jù)需要一個(gè)過渡時(shí)間,具體的時(shí)間值與設(shè)備有關(guān),需要看具體設(shè)備的手冊(cè)。

          (3)數(shù)據(jù)發(fā)送時(shí)間T2:這里的數(shù)據(jù)發(fā)送時(shí)間是指數(shù)據(jù)通過串口發(fā)送出去的時(shí)間,當(dāng)數(shù)據(jù)從串口發(fā)出后,程序會(huì)返回一個(gè)數(shù)據(jù)發(fā)送完畢的信息,T2 時(shí)間由接口設(shè)備自動(dòng)控制。

          圖3 通信設(shè)備功耗控制示意圖



          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();