隨著新興市場的不斷增長和隨之而來的技術要求,一些技術日益受到重視和利用。其中一種技術是“數字信號處理”(DSP),它可以采用芯片的形式,也可以作為支持“片上系統(tǒng)”(SoC) 集成的 IP 內核。雖然 DSP 已經存在了很長時間,但最新幾代 DSP 支持的功能對于滿足特定市場的需求至關重要。物聯網 (IoT) 領域就是這樣的一種市場。許多物聯網設備的性質使其受益于運行“實時操作系統(tǒng)”(RTOS)。本文介紹了如何將 DSP 和 RT-Thread RTOS 一起用于物聯網應用。
DSP 技術的發(fā)展
DSP 的作用是轉換和處理實際的模擬信號,這些信號本身具有連續(xù)值。處理操作是通過信號處理算法來執(zhí)行的。作為自 1980 年代以來存在至今的技術,DSP 在硬件功能以及軟件開發(fā)工具和基礎設施方面取得了長足進步。早些年,人們用匯編語言將算法編程到 DSP 上。隨著 DSP 市場的擴大和算法變得更加復雜,其架構不斷發(fā)展,促進了高級語言編譯器的開發(fā)。
嵌入式 DSP 內核芯片包括片上內存,該內存容量通??梢詽M足特定的任務。現代 DSP 應用領域包括音頻/語音處理、圖像處理、電信信號處理、傳感器數據處理和控制系統(tǒng)。然后是物聯網市場,在眾多用例中,它涵蓋了這些應用的組合。行業(yè)分析公司 Markets and Markets 預計,到 2027 年,全球物聯網技術的市值將增長到 5664 億美元。
為什么 DSP 非常適合物聯網設備?
物聯網使用不同類型的傳感器收集的數據來實現實際事物之間的通信和連接。DSP 用于分析和處理從傳感器接收的持續(xù)變化的信號。DSP 分析和處理音頻、視頻、溫度、壓力或濕度等實際信號。例如,CEVA-SensPro2 傳感器中樞 DSP 系列專門用于處理和融合多個傳感器以及用于上下文感知中的神經網絡推理。DSP 任務涉及準確和精確的實時重復數值計算。物聯網市場的增長促使傳感器得到越來越多的部署,人們需要以節(jié)能的方式實時處理所有收集的數據。這種趨勢大力推動了在物聯網設備上直接處理數據,而不是發(fā)送到云端進行處理。
目前正在發(fā)生的另一個趨勢是,人們越來越多地使用基于“人工智能”(AI) 的算法在本地物聯網設備上進行處理數據。人工智能算法基于神經網絡模型,需要高水平的并行性能才能高效執(zhí)行。并行計算是 DSP 優(yōu)于通用中央處理器 (CPU) 的關鍵優(yōu)勢,為了滿足這一要求,現代 DSP 架構采用寬矢量和單指令多數據 (SIMD) 功能。
簡而言之,基于 DSP 的強大解決方案可以滿足現代物聯網設備的高性能計算需求和低功耗要求。
為什么 DSP 非常適合 RTOS?
正如 DSP 是一種專用處理器一樣,RTOS 也是一種專用操作系統(tǒng)。DSP 專門用于極其快速、可靠地處理實際數據。RTOS 專門用于可靠地滿足響應/反應時間方面的特定時序要求。正如 DSP 比通用 CPU 更緊湊一樣,與常規(guī)操作系統(tǒng)相比,RTOS 也是如此。這些特性符合物聯網設備的要求,使得 DSP 和 RTOS 成為物聯網應用的完美搭檔。
在過去,嵌入式設備通常只有一個專門用途,并且通常利用 8 位或 16 位微控制器執(zhí)行操作。這些設備可以在沒有 RTOS 的情況下實施管理。但是當今的物聯網設備更加復雜,需要一個 組合 ,CPU 、DSP 以及一個 RTOS,來實現管理控制功能和運行復雜的信號處理任務。
問題是:現代 DSP 是否足以應對物聯網設備的信號處理和控制功能?答案是肯定的。目前,物聯網和其他嵌入式設備正在迅速采用混合式 DSP 架構,該架構可同時提供面向 DSP 和面向控制器的功能。這種混合式 DSP 支持超長指令字 (VLIW) 架構實施、單指令多數據 (SIMD) 操作、單精度浮點、緊湊型代碼、全套 RTOS、超快速上下文切換、動態(tài)分支預測等。因此,無需在物聯網設備上使用額外的處理器來運行 RTOS。
面向 DSP 的 RTOS
基于 DSP 的 RTOS 操作系統(tǒng)旨在利用 DSP 的高性能特性。它是一種基于優(yōu)先級的搶占式、多任務操作系統(tǒng),具有極低的中斷延遲。這些 RTOS 帶有驅動程序、應用程序編程接口 (API) 和運行時芯片支持庫 (CSL)。該系統(tǒng)支持控制所有片上外設,比如高速緩存、直接內存訪問 (DMA)、定時器、中斷單元等。因此,物聯網應用開發(fā)人員能夠輕松配置 RTOS 以處理資源請求和管理系統(tǒng)。
RT-Thread(適合物聯網應用的 RTOS)
RT-Thread 是一種開源的實時操作系統(tǒng) (RTOS)。該 RTOS 針對物聯網設備進行了專門優(yōu)化,具有資源占用率極低、可靠性出色、可擴展性優(yōu)異等特點。RT-Thread 由豐富的中間件以及物聯網設備所需的廣泛硬件和軟件生態(tài)系統(tǒng)提供支持。它支持 GCC、Keil、IAR 等所有主流編譯工具,以及各種標準接口,如POSIX、CMSIS、C++ 應用環(huán)境、Micropython 和 Javascript 。RT-Thread 還能為所有主流 CPU 和 DSP 架構提供強大的支持。RT-Thread 借助 RTOS 消息傳遞、信號量等服務,高效一致地處理線程間的通信和同步。RT-Thread 具有兩個版本:標準版本適用于資源豐富的物聯網設備,Nano 版本適用于資源受限的系統(tǒng)。更多詳細信息,請參閱其網站:https://www.rt-thread.io/
據報道,截至 2021 年 12 月,RT-Thread 已在 15 億臺設備上運行。[資料來源:RT-Thread]
CEVA DSP 和 RT-Thread RTOS
由于 CEVA 的 DSP 架構是專為支持 RTOS 功能和超快速上下文切換而設計的,因此采用 CEVA DSP 和 RT-Thread RTOS 的物聯網設備可以處理不同資源之間的許多通信任務,同時不會為此而中斷 RTOS。例如,多核通信接口 (MCCI) 機制可實現內核之間的命令通信和消息傳遞。內核之間的通信是使用 AXI 從屬端口直接訪問專用命令寄存器來實現的。DSP 具有專門的控制和指示,用于通過 MCCI 跟蹤通信狀態(tài)。
多核通信接口
內核之間的消息傳遞是使用每個 32 位的 MCCI_NUM 專用命令寄存器來執(zhí)行的。32 位 COM_REGx 寄存器由外部內核通過 AXI 從屬端口寫入,并且只能由該內核讀取。命令發(fā)起內核最多可以同時寫入四個寄存器(128 位 AXI 總線)或八個寄存器(256 位 AXI 總線)。
當命令發(fā)起內核將命令輸出到 COM_REGx 之后,尋址寄存器將會得到更新,同時 COM_STS 寄存器中的相關狀態(tài)位也會得到更新。此外,一個中斷(MES_INT) 被斷言以通知接收的內核。
接收內核讀取其中一個 COM_REGx 寄存器后,會向發(fā)起內核發(fā)送讀取指示。讀取指示由接收內核使用專用的 RD_IND(讀取指示)MCCI_NUM 位總線接口發(fā)送。RD_IND 總線的每一位分別表示來自其中一個 COM_REGx 寄存器的讀取操作。如果使用 IO 接口,接收內核一次只能讀取一個 COM_REGx 寄存器。因此,多核通信接口不僅更易于實現不同內核之間的同步,而且更易于這些內核上的不同任務之間實現同步。
CEVA 已將許多不同的 RTOS 移植到其 DSP 產品中。最近新增的 RTOS 是 RT-Thread RTOS 普通版和 Nano 版。RT-Thread 已被移植到多個 CEVA DSP,例如 SensPro2、CEVA-BX1、CEVA-BX2、CEVA-XC16 等?! ?/p>
?
評論