嵌入式系統中定時器的應用實例
時間:2025-08-14 來源:華清遠見
一、嵌入式
1.1嵌入式是什么
嵌入式: 通常把嵌入式系統定義為一種以應用為中心,以計算機為基礎,軟硬件可以剪裁,適用于系統對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統。
其實在我們看來嵌入式系統其實就是計算機技術的一種應用表現形式,也可以理解為在電子產品中嵌入一個微型大腦,這個微型大腦可以輔助協調其所在的電子設備完成設備的自動化、智能化功能,在日常生活中的嵌入式設備也是多種多樣
1.2嵌入式的產品有哪些
常見的嵌入式產品:
日常家用設備:冰箱,洗衣機,微波爐,電飯煲
消費電子:手機,智能手表/手環,智能音箱
醫療產品:心電監測儀,血糖儀,智能藥盒
通信產品:路由器,網關
等等。。。。。
二、定時器
2.1定時器是什么
在嵌入式系統中,定時器是一個至關重要的硬件外設(有時也指基于此實現的軟件功能),其核心功能是精確地測量時間間隔、產生周期性事件或延遲執行。它就像一個內置在微控制器或微處理器內部的精密“秒表”或“鬧鐘” 是嵌入式系統實現精確計時、控制、測量和調度的基石 。
核心硬件組成:
1. 計數器: 核心部件,是一個可遞增或遞減的寄存器(通常16位或32位)。
2. 時鐘源: 驅動計數器工作的時鐘信號(如系統主時鐘、內部RC振蕩器、外部晶振)。
3. 預分頻器: 對時鐘源分頻,降低計數頻率,擴展定時范圍。
4. 自動重裝載寄存器: 設定計數器溢出后的重置值,實現周期性定時。
5. 比較寄存器: 設定比較值,當計數器值與其匹配時觸發事件(如中斷、引腳電平變化)。
6. 控制邏輯: 配置工作模式、使能/禁用中斷等。
主要工作模式:
1. 基本定時模式:
1. 計數器持續遞增/遞減,溢出時產生中斷/事件。
2. 用途: 系統心跳(RTOS調度)、精確延時(替代軟件循環)。
2. 輸入捕獲模式:
1. 捕獲外部信號邊沿(上升/下降沿)時刻的計數器值。
2. 用途: 精確測量脈沖寬度、頻率或周期(如超聲波測距)。
3. 輸出比較模式:
1. 當計數器值匹配比較寄存器時,自動改變引腳電平或觸發中斷。
2. 用途: 生成精確時間信號、單脈沖輸出。
4. PWM模式:
1. 自動重裝載值設定PWM周期,比較值設定占空比。
2. 用途: 控制電機速度、LED亮度、舵機角度(占空比決定輸出強度)。
5. 編碼器接口模式:
1. 自動解碼正交編碼器信號,計算位置和方向。
2. 用途: 電機位置控制、旋轉測量。
2.3定時器可以起到什么作用
嵌入式系統中的核心作用:
1. 系統心跳:提供操作系統(如RTOS)任務調度的時基。定時器中斷驅動著整個系統的“心跳”,確保任務按時執行。
2. 精確延時:實現微秒級或毫秒級的精確等待,替代不精確的軟件循環。
3. 周期性任務觸發:定時采集傳感器數據、刷新顯示、檢查狀態等。
4. PWM生成:控制電機速度、LED亮度、舵機位置、開關電源等。
5. 時間測量:
測量事件間隔(如按鍵消抖時間、脈沖寬度)。
測量信號頻率、周期。
為系統提供時間戳。
6. 事件計數:對外部脈沖進行計數(可以作為定時器的簡單替代)。
7. 看門狗定時器:一種特殊的定時器,用于監控系統運行。如果系統正常,軟件需定期“喂狗”(重置計數器);如果系統崩潰無法喂狗,WDT超時后會強制復位系統,提高可靠性。
8. 實時時鐘:專用的低功耗定時器(RTC),用于日歷和時間保持,即使在主系統掉電時(依靠備用電池)也能持續運行。
三、定時器的應用
3.1定時器的使用場景
1. 需要精準時序控制 → PWM/輸出比較
(例:無人機電調控制)
2. 需要測量時間參數 → 輸入捕獲
(例:示波器測量脈沖)
3. 需要周期性操作 → 基本定時模式
(例:數據日志記錄)
4. 需要抗系統崩潰 → 看門狗定時器
(例:醫療設備監護)
5. 需要低功耗運行 → RTC喚醒
(例:智能水表)
3.2場景舉例
1. 電機與運動控制
1. 直流電機調速,調節占空比控制電機轉速
2. 步進電機驅動,生成步進脈沖序列和方向信號
3. 舵機角度控制
4. 編碼器反饋,解碼正交信號計算位置/速度
2. 信號生成與采集
1. PWM信號輸出
1. LED調光(調節亮度)
2. 開關電源控制(Buck/Boost電路)
3. 音頻DAC驅動(生成模擬波形)
2. 脈沖信號捕獲
1. 測量超聲波回波時間(測距)
2. 旋轉編碼器計數(計算轉速)
3. 紅外遙控信號解碼(NEC協議)
3. 通信時序控制
1. 生成UART/SPI/I²C的精確波特率
2. 軟件模擬通信協議(如單總線協議)
3. 傳感器與測量
1. 周期性數據采集
每100ms讀取溫濕度傳感器(DHT11)
定時觸發ADC采樣(電池電壓監控)
2. 高精度時間測量
激光測距(飛行時間測量)
電容觸摸檢測(充放電時間測量)
4. 系統可靠性與監控
1. 看門狗定時器 (WDT)
系統崩潰時自動復位(需在中斷中定期“喂狗”)
2. 工業設備防死機設計
超時檢測
串口通信響應超時(例:等待Modbus應答超時則重發)
按鍵長按檢測(持續3秒進入配置模式)
5. 低功耗管理
1. 喚醒定時
睡眠模式下定時喚醒(如每10分鐘采集數據后繼續休眠)
RTC(實時時鐘)鬧鐘喚醒(穿戴設備定時提醒)
2. 周期省電模式
傳感器間歇工作(如LORA節點每5分鐘激活一次)
3.3項目示例:
3.3.1智能農業灌溉系統的設計
項目背景
隨著農業現代化的發展,為提高水資源利用效率、實現精準農業設備控制。傳統灌溉依賴人工判斷,效率低、浪費大。而基于嵌入式的智能農業灌溉系統可以實現:
1. 根據設定時間自動開啟/關閉水泵
2. 結合土壤濕度傳感器實現條件觸發灌溉
3. 支持遠程控制與定時任務
4. 提高灌溉效率,節約用水
定時器在項目的核心作用
在本系統中,定時器用于周期性地觸發灌溉控制邏輯,其作用如下:
1. 定時采集傳感器數據:每10秒讀取一次土壤濕度;
2. 定時執行灌溉控制:根據濕度值決定是否開啟水泵;
3. 實現低功耗運行:主程序可進入低功耗模式,由定時器喚醒;
4. 避免輪詢浪費CPU資源:通過中斷機制實現高效調度。
3.3.2智能寵物喂食器的設計
項目背景
隨著物聯網(IoT)技術的發展,智能家居設備逐漸普及。寵物喂食器作為其中一員,能夠幫助主人遠程控制喂食時間與份量,尤其適用于上班族、出差頻繁或經常旅行的寵物主人。
核心功能需求
1. 定時投喂:用戶可設定多個投喂時間點,系統自動投食;
2. 遠程控制:通過Wi-Fi連接手機APP,遠程手動投喂;
3. 食物余量檢測:使用重量傳感器或紅外傳感器檢測食物余量;
4. 低功耗運行:適合長時間待機;
5. 斷網自動運行:本地定時任務不受網絡影響。
定時器在項目的核心作用
在本系統中,定時器主要承擔的任務如下:
1. 周期性檢測當前時間:與設定的投喂時間進行比對;
2. 觸發投喂動作:當時間匹配時,啟動電機投食;
3. 低功耗喚醒:在待機狀態下由定時器喚醒系統;
4. 防止誤觸發:避免因時間誤差導致重復投喂;
5. 支持多時間段設定:如早上8點、中午12點、晚上7點等。

