(1)上層訪問抽象接口層:這層包括抽象接口和設備管理核心數據兩部分。通過對設備訪問操作的抽象,為上層應用提供了5 個訪問接口API 函數: Open、Read、Write、Ioctrl、Close,用于打開、讀、寫、控制和關閉設備。設備管理核心數據結構是驅動框架的核心,為系統中的每個硬件設備分配唯一的設備名,上層應用程序通過將設備名作為參數傳遞給API 函數實現對相應設備的核心管理數據結構的定位尋址,實現對設備的統一訪問控制。
(2)硬件設備驅動模塊層:這層是硬件設備驅動模塊功能的實現層,對各個硬件設備的驅動在相應的硬件設備驅動模塊中完成。分別完成設備的打開、讀、寫、控制和關閉功能。
為了使程序具有良好的可讀性、可維性,采用了結構化程序設計方法,即"自頂向下,逐步求精"的程序設計方法和"單入口單出口"的控制結構,從問題本身開始,經過逐步細化,將解決問題的步驟分解為由基本程序結構模塊組成的結構化程序框圖,使每一個模塊的功能變單純而明確,為下一步軟件的功能擴充和修改打下了良好的基礎。
4 功耗的管理設計
4.1 外設的功耗管理
功耗管理,除CPU 核的控制外,還要保證外設在需要使用時及時上電,使用完后立即關閉,從而達到降低功耗的目的。對外設的功耗管理通過IO 輸出口來控制MOS 管的通斷,從而打開或關斷外部設備的電源。
通信電臺的功耗最大,占系統耗電量的比例大,需要嚴格的計算控制。電臺設備從上電啟動到關閉分三個階段:上電啟動階段T1,數據發送階段T2,等待數據發送階段T3。
(1)設備上電的時機: 信道編碼后,需要發送數據時打開。
(2)設備啟動時間T1:設備從上電到可以發送數據需要一個過渡時間,具體的時間值與設備有關,需要看具體設備的手冊。
(3)數據發送時間T2:這里的數據發送時間是指數據通過串口發送出去的時間,當數據從串口發出后,程序會返回一個數據發送完畢的信息,T2 時間由接口設備自動控制。
(4)等待數據發送結束時間T3:有些通信設備帶有數據緩沖區,當數據從串口發送給通信設備時,不是立即就將數據發送出去,而是先暫存在數據緩沖區,此時如果立即關閉設備電源,可能有數據沒有發送完,所以需要一個等待時間。
(5)設備關電時機:當T3 結束后,立即關閉設備的電源。
實際編程時T1 的值根據具體的設備的數據手冊來確定;T3 的值也需要根據具體的設備來調試,以接收端能準確可靠的接收到數據,T3 的值最小為準。
共0條 [查看全部] 網友評論