0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

利用 RTOS的MCU設(shè)計(jì)嵌入式系統(tǒng)案例

454398 ? 來(lái)源:德州儀器 ? 作者:德州儀器 ? 2020-11-21 10:04 ? 次閱讀

要求MCU 控制嵌入式系統(tǒng)中越來(lái)越多的功能。這些功能通常是實(shí)時(shí)的,需要定期維護(hù),以滿(mǎn)足系統(tǒng)對(duì)響應(yīng)性,性能或可靠性的要求。通常,實(shí)時(shí)操作系統(tǒng)(RTOS)用于管理多個(gè)實(shí)時(shí)事件,以確保響應(yīng)能力足以滿(mǎn)足系統(tǒng)要求。然而,并非所有 MCU 都適合托管 RTOS,因此,對(duì)允許或便于在特定 MCU 上托管 RTOS 的一些關(guān)鍵功能的審查對(duì)實(shí)時(shí)嵌入式系統(tǒng)的設(shè)計(jì)人員非常有用。

本文將快速回顧現(xiàn)代 MCU 上可用的一些關(guān)鍵功能,這些功能有助于運(yùn)行需要 RTOS 的嵌入式系統(tǒng)。這將有助于設(shè)計(jì)人員更有效地選擇 MCU 作為 RTOS 主機(jī),并使用該 MCU 設(shè)計(jì)嵌入式系統(tǒng)。

管理實(shí)時(shí)響應(yīng)

隨著控制系統(tǒng)變得越來(lái)越復(fù)雜,使用簡(jiǎn)單的控制程序管理各種 MCU 功能變得越來(lái)越困難。對(duì)于具有不同優(yōu)先級(jí)的多個(gè)事件,持續(xù)檢查以查看哪些事件需要服務(wù)的單個(gè)控制循環(huán)變得難以處理。控制回路無(wú)法足夠快地到達(dá)每個(gè)功能。所需要的是一種實(shí)時(shí)控制方法,其中所有事件都可以在其所需的響應(yīng)時(shí)間內(nèi)得到服務(wù)。

改善實(shí)時(shí)響應(yīng)的另一個(gè)選擇是使用實(shí)時(shí)操作系統(tǒng)或 RTOS。在該方法中,可以為控制系統(tǒng)中的每個(gè)任務(wù)分配 MCU 處理周期的時(shí)間片或部分。如果該功能不需要當(dāng)前分配的時(shí)間,它可以將時(shí)間“翻轉(zhuǎn)”到另一個(gè)功能,這樣就不會(huì)丟失寶貴的處理周期。如果沒(méi)有功能需要維修空閑過(guò)程(通常在低功率模式下),則可以啟動(dòng)以節(jié)省電力??梢哉{(diào)整分配的時(shí)間片以確??捎玫淖钚r(shí)間量滿(mǎn)足所需的響應(yīng)時(shí)間。通過(guò)正確分配模數(shù)轉(zhuǎn)換器,USB 端口濾波器處理功能,系統(tǒng)將以可預(yù)測(cè)和有效的方式運(yùn)行。

現(xiàn)代 MCU 已經(jīng)過(guò)優(yōu)化,可以輕松實(shí)現(xiàn) RTOS 實(shí)施。也許最明顯的是包含專(zhuān)用定時(shí)器,通常是與確定處理分配相關(guān)聯(lián)的“定時(shí)器滴答”,這使得向時(shí)間片分配時(shí)間變得容易??梢耘c其他 MCU 活動(dòng)并行執(zhí)行任務(wù)的智能外圍設(shè)備也很有用,因?yàn)橄嚓P(guān)的過(guò)程只需要“觸發(fā)”事件,然后可以將控制權(quán)返回給另一個(gè)過(guò)程。例如,可以通過(guò)簡(jiǎn)單地編程 DMA 控制器以將 SRAM 數(shù)據(jù)移動(dòng)到 USB 端口來(lái)啟動(dòng) USB 傳輸。在清空緩沖區(qū)或發(fā)生錯(cuò)誤之前,任務(wù)不需要執(zhí)行任何其他活動(dòng)。

讓我們仔細(xì)看看一些最重要的支持 RTOS 的硬件元素,以便更好地理解我們?nèi)绾蝺?yōu)化基于 MCU 的 RTOS 實(shí)現(xiàn)。

使用高級(jí)中斷控制器

由于基于 RTOS 的系統(tǒng)需要快速有效地響應(yīng)實(shí)時(shí)事件,因此高級(jí)中斷系統(tǒng)可能是基于 MCU 的設(shè)計(jì)中最重要的硬件元素。例如,如果中斷需要太多周期來(lái)響應(yīng),可能是因?yàn)樵谡{(diào)用中斷例程之前需要保存幾個(gè) CPU 寄存器,實(shí)時(shí)響應(yīng)可能會(huì)受到影響。此外,如果中斷控制器只有少量可能的向量位置,軟件可能需要幾個(gè)周期才能找出中斷源。例如,中斷信號(hào)傳輸完成應(yīng)該很容易與傳輸錯(cuò)誤區(qū)分開(kāi)來(lái)。

Microchip PIC24F MCU 具有一個(gè)高級(jí)中斷控制器,具有實(shí)現(xiàn)基于 MCU 的 RTOS 所需的一些功能。 PIC24F 和 dsPIC MCU 系列的框圖如圖 1 所示。中斷控制器在圖中間以灰色顯示,連接所有外設(shè),定時(shí)器和多個(gè)輸入信號(hào),以提供全面的中斷支持。多達(dá) 118 種不同的中斷源,最多 5 種來(lái)自外部源。對(duì)于五個(gè)周期的固定中斷延遲,中斷響應(yīng)時(shí)間對(duì)于任何應(yīng)用都足夠快。

圖 1:Microchip PIC24 和 dsPIC DSC 系列模塊圖。

PIC24 和 dsPIC DSC MCU 中斷控制器還支持七個(gè)優(yōu)先級(jí),可以輕松區(qū)分最重要的事件和最不重要的事件。當(dāng)對(duì)某些事件立即響應(yīng)以及某些事件可以等待服務(wù)至關(guān)重要時(shí),這尤其有用。例如,采集數(shù)據(jù)通常比處理數(shù)據(jù)更重要,因此采集事件的優(yōu)先級(jí)通常高于處理事件。

內(nèi)存占用和低功耗

當(dāng)從純粹的中斷或控制環(huán)路設(shè)計(jì)切換到基于 RTOS 的實(shí)現(xiàn)時(shí),工程師最常遇到的兩個(gè)問(wèn)題是內(nèi)存占用和低功耗。由于每個(gè) RTOS 過(guò)程都需要 SRAM 中的特殊控制塊來(lái)存儲(chǔ)過(guò)程中的各種聲明信息,因此工程師經(jīng)常擔(dān)心它們將耗盡 SRAM 并因其應(yīng)用而“缺乏”內(nèi)存。幸運(yùn)的是,隨著上下文切換時(shí)間和控制塊大小的優(yōu)化,RTOS 內(nèi)存占用量不斷提高。此外,MCU 在設(shè)備上包含越來(lái)越多的 SRAM,因?yàn)檫@種資源變得越來(lái)越便宜,同時(shí)變得越來(lái)越有價(jià)值。

例如,Atmel SAM4L MCU 在兩個(gè)塊中提供 32 KB 或 64 KB 的 SRAM-HRAMC0 和 HRAMC1- 如圖 2 中的系統(tǒng)內(nèi)存分配圖所示。這些 SRAM 塊是在單個(gè)周期中訪(fǎng)問(wèn),這是一個(gè)確定性過(guò)程,可簡(jiǎn)化基于 RTOS 的系統(tǒng)中的關(guān)鍵延遲和性能計(jì)算。將 SRAM 組織為兩個(gè)獨(dú)立的存儲(chǔ)區(qū)也可以提高基于 DMA 的功能的性能,因?yàn)榭梢詫⒋鎯?chǔ)器塊分配給每個(gè)存儲(chǔ)區(qū)以?xún)?yōu)化整體訪(fǎng)問(wèn)帶寬。

圖 2:Atmel SAM4L MCU 全局內(nèi)存分配。

每個(gè) RTOS 進(jìn)程只需要幾百個(gè)字節(jié),即使是復(fù)雜的 RTOS,完整的上下文也只需占 MCU 的幾個(gè)百分點(diǎn)。一些設(shè)計(jì)人員經(jīng)常忽略的一點(diǎn)是,通過(guò) RTOS 通信,緩沖區(qū)通??梢源蟠鬁p少,因?yàn)轫憫?yīng)時(shí)間更短,更可預(yù)測(cè)。對(duì)于某些功能,SRAM 節(jié)省的成本將超過(guò)上下文切換存儲(chǔ)要求的大小。

大多數(shù) RTOS 實(shí)現(xiàn)也完全支持低功耗模式。這意味著可以使用降低內(nèi)部調(diào)節(jié)電壓,降低時(shí)鐘速度或禁用特定外設(shè)時(shí)鐘的模式。 Atmel SAM4L MCU 具有一些專(zhuān)用控制器,可根據(jù)需要輕松調(diào)整電壓電平和時(shí)鐘速度,以滿(mǎn)足每個(gè)處理線(xiàn)程的要求。多個(gè)“空閑模式”也可用于在多個(gè)線(xiàn)程共享的幾個(gè)標(biāo)準(zhǔn)低功耗設(shè)置之間進(jìn)行選擇。

簡(jiǎn)化以太網(wǎng)連接

在具有高電平的實(shí)時(shí)系統(tǒng)中速度連接要求,例如以太網(wǎng),以太網(wǎng)很重要的硬件,但不應(yīng)忽視使其易于實(shí)施的支持“掛鉤”。例如,瑞薩 RX63N 具有先進(jìn)的以太網(wǎng)控制器和專(zhuān)用的以太網(wǎng) DMA 控制器,可直接管理控制以太網(wǎng)傳輸?shù)拿枋龇?。這大大簡(jiǎn)化了以太網(wǎng)流量的控制,因?yàn)榭梢栽谝蕴W(wǎng)子系統(tǒng)中控制許多低級(jí)細(xì)節(jié)。此外,通過(guò)使用連接開(kāi)發(fā)套件可以簡(jiǎn)化 RTOS 環(huán)境中以太網(wǎng)連接的實(shí)現(xiàn),如圖 3 所示,該套件可與 Micrium RTOS 捆綁在一起。 MCU,開(kāi)發(fā)板和 Micrium uC/OS-II 或 uC/OS-II RTOS 的這種組合提供了一個(gè)經(jīng)過(guò)驗(yàn)證的平臺(tái),現(xiàn)有的示例代碼可用作實(shí)現(xiàn)定制設(shè)計(jì)的第一步。

Micrium RTOS 還提供各種中間件模塊,進(jìn)一步簡(jiǎn)化了連接應(yīng)用。例如,IPv6 支持使得即使是最復(fù)雜的以太網(wǎng)子系統(tǒng)也能輕松實(shí)現(xiàn)。示例設(shè)計(jì)的可用性意味著可以在創(chuàng)紀(jì)錄的時(shí)間內(nèi)完成演示系統(tǒng)的工作。

DSP 應(yīng)用的高效處理

在某些應(yīng)用中,可以使用 RTOS 確保盡可能高效地完成處理。例如,DSP 應(yīng)用程序可以處理饑餓,如果多個(gè)通信通道競(jìng)爭(zhēng) CPU 周期,則效率會(huì)受到顯著影響。例如,德州儀器TI)TMS320C66xx DSP 具有顯著的處理能力。圖 4 中所示的處理核心中只有一個(gè)具有八個(gè)可以并行工作的獨(dú)立處理器(L/S/M/D 1 和 2)。使用 RTOS(如 TI-RTOS)時(shí),可以更輕松地管理通信功能,以限制所需的 CPU 周期數(shù)。這樣可以節(jié)省處理時(shí)間,因?yàn)?DSP 可以解決大多數(shù)以 DSP 為中心的設(shè)計(jì)所需的大量數(shù)據(jù)。

圖 4:德州儀器(TI)TMS320C66xx DSP 提供顯著的處理性能。

結(jié)論

通常,嵌入式系統(tǒng)需要在指定時(shí)間內(nèi)響應(yīng)事件,在這些系統(tǒng)中,托管在 MCU 上的 RTOS 是可能的解。確保您了解在 MCU 上托管 RTOS 的要求,以便您可以選擇最佳的 MCU,并簡(jiǎn)化基于 RTOS 的設(shè)計(jì)的開(kāi)發(fā)。
編輯:hfy

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • dsp
    dsp
    +關(guān)注

    關(guān)注

    554

    文章

    8057

    瀏覽量

    349550
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17199

    瀏覽量

    351916
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    ARM嵌入式實(shí)時(shí)操作系統(tǒng)比較

    嵌入式系統(tǒng)領(lǐng)域,實(shí)時(shí)操作系統(tǒng)RTOS)是確保任務(wù)按時(shí)完成的關(guān)鍵技術(shù)。ARM架構(gòu)因其低功耗、高性能的特點(diǎn),在嵌入式
    的頭像 發(fā)表于 12-28 09:15 ?421次閱讀

    嵌入式系統(tǒng)開(kāi)發(fā)與硬件的關(guān)系 嵌入式系統(tǒng)開(kāi)發(fā)常見(jiàn)問(wèn)題解決

    系統(tǒng)開(kāi)發(fā)與硬件關(guān)系的幾個(gè)關(guān)鍵點(diǎn): 硬件依賴(lài)性 :嵌入式系統(tǒng)的軟件必須能夠在特定的硬件上運(yùn)行,這包括處理器、內(nèi)存、輸入/輸出接口等。軟件必須能夠充分利用硬件的特性,同時(shí)繞過(guò)其限制。 資源
    的頭像 發(fā)表于 12-09 09:38 ?348次閱讀

    【RA-Eco-RA2E1-48PIN-V1.0開(kāi)發(fā)板試用】嘗試嵌入式操作系統(tǒng)Free-RTOS

    本篇分享我們嘗試嵌入式操作系統(tǒng)Free-RTOS 首先新建一個(gè)Free-RTOS項(xiàng)目。 現(xiàn)在使用IDE建立嵌入式操作
    發(fā)表于 11-14 23:08

    嵌入式學(xué)習(xí)建議

    嵌入式系統(tǒng)硬件比電子線(xiàn)路好學(xué)多了。只要深入理解:MCU的硬件最小系統(tǒng),對(duì)I/O口、串行通信、鍵盤(pán)、LED、LCD、SPI、 I2C、PWM、A/D(包括一些傳感器)、D/A等逐個(gè)實(shí)驗(yàn)理
    發(fā)表于 10-22 11:41

    嵌入式系統(tǒng)的未來(lái)趨勢(shì)有哪些?

    ,會(huì)更多地使用環(huán)保材料,以減少對(duì)環(huán)境的污染。同時(shí),系統(tǒng)設(shè)計(jì)將更加注重生態(tài)可持續(xù)性,滿(mǎn)足可持續(xù)發(fā)展的需求。 6. 實(shí)時(shí)操作系統(tǒng)RTOS)的發(fā)展 實(shí)時(shí)操作系統(tǒng)
    發(fā)表于 09-12 15:42

    ARM MCU嵌入式開(kāi)發(fā) | 基于國(guó)產(chǎn)GD32F10x芯片+開(kāi)始篇

    嵌入式系統(tǒng): 特點(diǎn):使用8位微控制器(MCU)或處理器,適用于簡(jiǎn)單的控制應(yīng)用。 應(yīng)用:早期家電、簡(jiǎn)單控制設(shè)備等。 16位嵌入式系統(tǒng): 特點(diǎn):
    發(fā)表于 09-02 19:26

    嵌入式系統(tǒng)中的實(shí)時(shí)操作系統(tǒng)

    嵌入式RTOS嵌入式應(yīng)用程序運(yùn)行、相互交互和與外界通信的底層軟件機(jī)制。在本節(jié)中,您將了解嵌入式軟件開(kāi)發(fā)人員使用哪些流行RTOS以及它們運(yùn)行
    的頭像 發(fā)表于 08-20 11:28 ?515次閱讀

    嵌入式QT常見(jiàn)開(kāi)發(fā)方式有哪些?

    ,嵌入式工程師可以使用同一套代碼庫(kù)開(kāi)發(fā)適用于不同嵌入式操作系統(tǒng)(如Linux、RTOS)的應(yīng)用程序,只需針對(duì)目標(biāo)平臺(tái)調(diào)整編譯選項(xiàng)和配置即可。 6.Qt for
    發(fā)表于 08-12 10:05

    RT-Thread出席第六屆中國(guó)嵌入式技術(shù)大會(huì),共話(huà)嵌入式操作系統(tǒng)與智能工業(yè)

    、RISC-V與AIoT、IoT與MCU生態(tài)建設(shè)四大板塊,30+技術(shù)專(zhuān)家8月齊聚,展開(kāi)兩天有關(guān)嵌入式技術(shù)專(zhuān)業(yè)討論。RT-Thread作為全球生態(tài)最好的開(kāi)源嵌入式操作系統(tǒng)之一,
    的頭像 發(fā)表于 08-03 08:35 ?443次閱讀
    RT-Thread出席第六屆中國(guó)<b class='flag-5'>嵌入式</b>技術(shù)大會(huì),共話(huà)<b class='flag-5'>嵌入式</b>操作<b class='flag-5'>系統(tǒng)</b>與智能工業(yè)

    極海半導(dǎo)體亮相2024全球MCU嵌入式生態(tài)發(fā)展大會(huì)

    7月25日,由AspenCore主辦的2024全球MCU嵌入式生態(tài)發(fā)展大會(huì),在深圳羅湖君悅酒店如期舉行。此次大會(huì)為來(lái)自消費(fèi)電子、家電、工業(yè)控制、通信網(wǎng)絡(luò)、新能源汽車(chē)、物聯(lián)網(wǎng)領(lǐng)域、儲(chǔ)能領(lǐng)域的OEM廠商和嵌入式方案集成商代表帶來(lái)
    的頭像 發(fā)表于 07-26 15:18 ?829次閱讀

    從菜鳥(niǎo)到大牛!嵌入式完整學(xué)習(xí)路線(xiàn):STM32單片機(jī)-RTOS-Linux

    ?嵌入式系統(tǒng)是許多現(xiàn)代電子設(shè)備和智能系統(tǒng)的核心,掌握嵌入式系統(tǒng),意味著能夠設(shè)計(jì)和開(kāi)發(fā)更加智能化的產(chǎn)品。本文為所有想進(jìn)入
    的頭像 發(fā)表于 07-23 16:11 ?4385次閱讀
    從菜鳥(niǎo)到大牛!<b class='flag-5'>嵌入式</b>完整學(xué)習(xí)路線(xiàn):STM32單片機(jī)-<b class='flag-5'>RTOS</b>-Linux

    嵌入式系統(tǒng)怎么學(xué)?

    開(kāi)發(fā)工具:熟悉常用的嵌入式系統(tǒng)開(kāi)發(fā)工具,包括集成開(kāi)發(fā)環(huán)境(IDE)、編譯器、調(diào)試器(如Keil、IAREmbedded Workbench、Eclipse)等。 5、實(shí)時(shí)操作系統(tǒng)RTOS
    發(fā)表于 07-02 10:10

    再談嵌入式實(shí)時(shí)操作系統(tǒng)

    等領(lǐng)域。嵌入式實(shí)時(shí)操作系統(tǒng)RTOS)構(gòu)造簡(jiǎn)單、功能齊全、便于使用,特別適合各類(lèi)應(yīng)用場(chǎng)景,因此它在軟件應(yīng)用程序開(kāi)發(fā)中發(fā)揮著重要的作用,使嵌入式系統(tǒng)
    的頭像 發(fā)表于 04-09 17:27 ?827次閱讀
    再談<b class='flag-5'>嵌入式</b>實(shí)時(shí)操作<b class='flag-5'>系統(tǒng)</b>

    嵌入式工程師需要掌握哪些技術(shù)?

    驅(qū)動(dòng)程序、操作系統(tǒng)以及與硬件交互的代碼。對(duì)于嵌入式系統(tǒng)來(lái)說(shuō),效率和資源利用率是至關(guān)重要的,因此,掌握C/C++編程技巧是入行嵌入式的基礎(chǔ)。
    發(fā)表于 03-04 16:38

    嵌入式系統(tǒng)的應(yīng)用實(shí)例

    嵌入式系統(tǒng)的三個(gè)基本要素是嵌入性、專(zhuān)用性與計(jì)算機(jī)系統(tǒng)。
    的頭像 發(fā)表于 01-22 09:57 ?1114次閱讀