嵌入式常見概念的介紹

?目錄

?一、MCU、MPU、ARM

(一)MCU(微控制器)

(二)MPU(微處理器)

(三)ARM(架構)

二、DSP

(一)數字信號處理

(二)數字信號處理器

三、FPGA

(一)基本概念

(二)特點

(三)工作原理

(四)應用領域

四、MCU開發與ARX-Linux開發的區別

(一)硬件層面

(二)軟件層面

(三)應用場景

五、開源硬件Arduino和樹莓派

(一)Arduino

(二)樹莓派


一、MCU、MPU、ARM

(一)MCU(微控制器)

1、定義

????????MCU的英文全稱是 Micro Controller Unit,即微處理器,又稱單片微型計算機或者單片機

? ? ? ? 它把中央處理器 (CPU) 的頻率與規格做適當縮減,并將內存 (RAM、ROM)、定時器/計數器、USB、A/D 轉換、UART、PLC、DMA 等周邊接口,甚至 LCD 驅動電路都整合在單一芯片上,形成芯片級的計算機,為不同的應用場合做不同組合控制

2、特點

????????其最大特點是單片化,體積小、功耗低、可靠性高,并且具備豐富的外設接口,適用于對成本和功耗要求較高、控制功能較為復雜的嵌入式應用場景。

? ? ? ? 在智能家居、工業控制、消費電子等領域廣泛使用。例如,在智能家居系統中,MCU 可以控制家電設備的運行狀態、接收傳感器數據等。

(二)MPU(微處理器)

1、定義

????????MPU 的英文全稱是 Micro Processor Unit,即微處理器,通常是由計算機中的CPU演變而來的,可以理解為加強版的CPU,是一種高性能的處理器,即不帶外圍功能的器件。?

? ? ? ? 它通常具有強大的運算能力和復雜的指令集,可以進行復雜的運算和處理。

????????嵌入式微處理器系統需要在MPU 的基礎上添加 RAM、ROM、Flash、電源等外圍電路,以及USB、LCD、鍵盤等外部設備,來構成完整的計算機系統

????????而MCU則是將 RAM、ROM、定時器等外設集成在一個芯片上,形成芯片級的系統,即MCU集成了外圍功能器件。

2、特點

????????MPU 的優勢在于其強大的運算能力和對復雜操作系統的支持,能夠處理大量的數據和復雜的任務,主要應用于對計算能力要求較高的嵌入式系統,如智能手機、平板電腦、工業平板電腦、車載導航系統等。

????????以智能手機為例,MPU 需要運行復雜的操作系統和各種應用程序,處理圖像、音頻、視頻等大量數據,這就需要 MPU 具備強大的運算能力和高速的處理速度。

(三)ARM(架構)

1、定義

????????ARM 的全稱為?Advanced RISC Machines,是一個公司的名稱,同時也是一種處理器架構的名稱。

????????ARM 公司并不直接生產芯片,而是設計芯片架構和 IP 核,授權給其他半導體公司生產基于 ARM 架構的芯片。

2、特點

????????ARM 架構具有低功耗、低成本、高性能的特點,廣泛應用于嵌入式系統領域。基于 ARM 架構的芯片在市場上占據了很大的份額,無論是 MCU 還是 MPU,很多都采用了 ARM 架構

????????例如,Cortex - M 系列是面向微控制器應用的低功耗、低成本的 ARM 架構,常用于各類 MCU 中;而 Cortex - A 系列則是面向高性能應用的架構,常用于智能手機、平板電腦等設備中的 MPU。

二、DSP

????????DSP有兩種含義:①數字信號處理(Digital Signal Processing)、②數字信號處理器(Digital Signal Processor)。以下是對它們的詳細介紹:

(一)數字信號處理

1、定義

????????是一種通過計算機或專用處理設備,對數字信號進行采集、變換、濾波、估值、增強、壓縮、識別等處理,以達到提取信息、便于應用的目的的技術。

2、處理過程

????????①?采樣:將連續的模擬信號轉換為離散的數字信號,按照一定的采樣頻率對模擬信號進行抽樣,得到一系列離散的樣本點。

????????②?量化:將采樣得到的離散信號的幅度值進行量化,將其映射到有限個離散的電平值上,以便于計算機進行處理。

????????③ 編碼:對量化后的信號進行編碼,將其轉換為二進制代碼表示,以便于存儲和傳輸。

????????④ 數字信號處理算法:運用各種算法對編碼后的數字信號進行處理,如快速傅里葉變換 (FFT) 用于頻譜分析、數字濾波用于去除噪聲、卷積運算用于信號的特征提取等。

????????⑤ 解碼:將處理后的數字信號進行解碼,還原為原始信號的表示形式。

????????⑥ 重構:將解碼后的數字信號通過數模轉換器(DAC)轉換為模擬信號,以便于實際應用。

3、應用

????????廣泛應用于通信、音頻處理、圖像處理、雷達、聲納、生物醫學工程等眾多領域。

????????例如在通信領域,數字信號處理用于調制解調、信道編碼解碼等,以提高通信系統的性能和可靠性;在音頻處理中,用于音頻編碼解碼、音效增強等,改善音頻質量。

(二)數字信號處理器

1、定義

????????是一種專門為了進行數字信號處理而設計的微處理器,它具備獨特的硬件架構和指令集,能夠高效地執行各種數字信號處理算法。

2、特點

????????① 哈佛結構:采用哈佛結構,將程序存儲器和數據存儲器分開,有各自獨立的總線,可同時進行指令和數據的讀取,提高了數據處理效率。

????????② 高速運算能力:集成了專門的硬件乘法器、累加器等,能在一個指令周期內完成一次乘法和一次加法操作,適合數字信號處理中的濾波、FFT 等運算密集型任務。

????????③ 豐富的指令集:具有針對數字信號處理的指令集,如 FFT 指令、卷積指令等,可高效實現各種數字信號處理算法。

????????④ 低功耗設計:隨著技術發展,不斷優化低功耗設計,適用于電池供電的便攜式設備。

3、應用

????????在需要對數字信號進行實時處理的設備和系統中廣泛應用。

????????如在手機中,用于處理音頻、視頻信號以及通信信號;在數字音頻播放器中,負責音頻解碼和音效處理;在雷達系統中,用于對回波信號進行處理,提取目標信息等。

三、FPGA

(一)基本概念

????????FPGA 的全稱是 Field Programmable Gate Array,即現場可編程門陣列;是一種基于查找表 (LUT) 結構的可編程邏輯器件。

????????由大量的邏輯單元、存儲單元、輸入輸出單元以及可編程的布線資源組成。

? ? ? ? 用戶可通過硬件描述語言(如Verilog HDL、VHDL)對其進行編程,實現各種數字邏輯功能,如組合邏輯、時序邏輯、計數器、編碼器、譯碼器等,還能實現復雜的系統級功能,如數字信號處理、圖像處理、通信協議處理等。

????????通俗地講,FPGA猶是一張白紙,可以任意實現所需功能,無論是復雜的CPU,還是簡單的數字邏輯電路,都可以用 FPGA 實現。

? ? ? ? 而單片機、ARM 以及DSP則是已成型的機器,單片機和ARM能現的功能,FPGA一定可以實現,反過來不一定可行。

(二)特點

1、靈活性高

????????用戶可以根據自己的需求對 FPGA 進行編程,實現不同的功能。

????????在產品開發過程中,如果需要對功能進行修改或升級,只需重新編寫程序并下載到 FPGA 中,而無需對硬件電路進行大規模改動。

2、并行處理能力強

????????FPGA 內部有大量可并行工作的邏輯單元,能夠同時處理多個任務,實現數據的并行處理和運算。這使得它在處理一些對實時性要求較高的任務,如圖像處理、視頻解碼等具有很大優勢。

3、可重構性

????????部分 FPGA 支持在線重構,即在系統運行過程中可以動態地改變其邏輯功能。

????????這一特性使得 FPGA 能夠根據不同的應用場景或任務需求,實時地調整自身的功能,提高了系統的適應性和靈活性。

4、開發周期短

????????與專用集成電路(ASIC)相比,FPGA 的開發不需要復雜的制造流程和較長的開發周期。開發人員可以快速地進行設計、仿真和驗證,縮短產品的上市時間。

(三)工作原理

????????FPGA 的工作原理基于可編程邏輯單元的配置和互連。其內部的邏輯單元通過可編程的布線資源連接在一起,形成各種邏輯電路。

????????用戶通過編寫硬件描述語言代碼來描述所需的邏輯功能,然后使用 FPGA 開發工具對代碼進行編譯、綜合、布局布線等處理,生成配置文件。

????????將配置文件下載到 FPGA 中后,FPGA 會根據配置文件中的信息對內部的邏輯單元和布線資源進行配置,使其實現用戶所期望的功能。

(四)應用領域

1、通信領域

????????用于實現各種通信協議的處理,如以太網、USB、PCI - E 等接口協議,以及無線通信中的調制解調、信道編碼解碼等功能。

????????在 5G 通信基站中,FPGA 可用于處理高速的信號傳輸和復雜的數字信號處理算法。

2、數字信號處理領域

????????可實現快速傅里葉變換 (FFT)、數字濾波、卷積運算等數字信號處理算法,常用于音頻處理、圖像處理、雷達信號處理等方面。

????????例如,在音頻處理中,利用 FPGA 實現音頻特效處理和音頻編解碼。

3、工業控制領域

????????用于實現邏輯控制、運動控制、數據采集等功能。在自動化生產線中,FPGA 可以作為核心控制器,對各種傳感器和執行機構進行實時控制和數據處理。

4、航空航天與國防領域

????????由于其高可靠性和靈活性,FPGA 在航空航天和國防領域得到了廣泛應用

????????如衛星通信、雷達系統、武器裝備的控制等。在惡劣的環境條件下,FPGA 能夠穩定地工作,并根據任務需求進行功能重構。

四、MCU開發與ARX-Linux開發的區別

????????MCU 開發和 ARM - Linux 開發是嵌入式開發中兩種不同的開發方向,它們在多個方面存在明顯區別:

(一)硬件層面

1、硬件平臺

????????(1)MCU:通常是集成度高的單芯片解決方案,內部集成了 CPU、內存、外設接口等,硬件資源相對有限。比如常見的 STM32 系列 MCU,內部 Flash 可能從幾十 KB 到幾 MB 不等,RAM 也一般在幾 KB 到幾百 KB。

????????(2)ARM - Linux:基于 ARM 架構的處理器,硬件資源豐富。除了處理器,還需要搭配外部存儲設備(如 SD 卡、eMMC)、內存芯片(如 DDR)等。像基于 ARM Cortex - A 系列的開發板,內存可達 1GB 甚至更高,存儲容量也能輕松擴展到幾 GB。

2、功耗

????????(1)MCU:功耗較低,適合對功耗敏感的應用場景,如物聯網設備、可穿戴設備等。一些低功耗 MCU 在待機模式下功耗僅為微安級別。

????????(2)ARM - Linux:由于硬件資源豐富,運行的系統和應用程序復雜,功耗相對較高。不過,現在也有一些低功耗優化的 ARM - Linux 平臺,但總體上仍高于 MCU。

3、啟動方式

????????(1)MCU:通常芯片廠商將上電啟動代碼固化在芯片中,上電后直接跳轉到程序入口處,實現系統的啟動。

????????(2)ARM - Linux:與PC啟動方式類似,啟動一般包括BIOS、Bootloader、內核啟動、應用程序啟動等幾個階段。

(二)軟件層面

1、操作系統(開發方式)

? ? ? ? (1)MCU:很多情況下不使用操作系統,直接進行裸機開發,通過編寫代碼直接控制硬件資源。也可使用一些輕量級的實時操作系統(RTOS),如 FreeRTOS、uC/OS 等,以實現多任務調度和資源管理。

? ? ? ? (2)ARM - Linux:以 Linux 操作系統為基礎,Linux 具有豐富的驅動程序和軟件庫,能支持復雜的應用程序運行。可以利用 Linux 的多用戶、多任務特性,實現各種功能。

2、開發語言和工具鏈

? ? ? ? (1)MCU:主要使用 C 語言進行開發,部分情況下也會使用匯編語言進行底層優化。開發工具鏈通常包括編譯器(如 GCC)、調試器(如 JTAG、SWD)和集成開發環境(IDE),如 Keil、IAR 等。

? ? ? ? (2)ARM - Linux:除了 C 語言,還廣泛使用 C++、Python 等語言。開發工具鏈包括交叉編譯器(如 arm - linux - gcc)、調試工具(如 gdb),以及 Linux 開發環境,如 Ubuntu 等。開發過程中還需要使用一些腳本語言(如 Shell 腳本)進行系統配置和自動化構建。

3、軟件復雜度

? ? ? ? (1)MCU:軟件功能相對簡單,主要實現對硬件的控制和基本的數據處理。代碼量通常較小,開發周期相對較短。

? ? ? ? (2)ARM - Linux:軟件復雜度高,需要處理操作系統的移植、驅動程序的開發、文件系統的配置等。同時,應用程序也更加復雜,可能涉及圖形界面、網絡通信、數據庫等功能。

(三)應用場景

1、MCU

????????適用于對成本、功耗和實時性要求較高,功能相對簡單的應用場景,如智能家居設備(智能插座、溫濕度傳感器)、工業控制中的小型控制器、汽車電子中的一些簡單控制模塊等。

2、ARM - Linux

????????適用于對計算能力、功能豐富度和系統穩定性要求較高的應用場景,如智能終端設備(智能手機、平板電腦)、工業自動化中的人機交互界面、網絡設備(路由器、交換機)等。

五、開源硬件Arduino和樹莓派

????????Arduino 和樹莓派都是廣受歡迎的開源硬件平臺,但它們在設計目標硬件性能應用場景等方面存在一些差異。以下是對其詳細介紹:

(一)Arduino

1、簡介

????????Arduino 是一個開放源碼的電子原型平臺由硬件和軟件組成。其硬件設計簡單,易于使用,主要面向藝術家、設計師、愛好者和初學者,用于快速創建交互式電子項目。

2、硬件特點

(1)多種類型開發板

????????有多種類型的開發板,如Uno、Mega、Nano等,以適應不同的應用需求。

????????例如Uno適用于初學者和小型項目,Mega有更大的內存和更高的處理能力,適用于較為復雜、對資源需求較高的項目。

(2)接口豐富

????????開發板上配備了微控制器以及豐富的電子元件接口,包括數字輸入輸出引腳、模擬輸入輸出引腳等。

????????這些接口能夠便捷地連接各類外部設備,像傳感器(如溫度傳感器、光線傳感器)、執行器(如電機、舵機)等,從而實現各種功能。

3、軟件特點

(1)簡單易學

????????采用類似于 C/C++ 的編程語言,通過 Arduino 集成開發環境(IDE)進行代碼的編寫、上傳和調試。對于有一定編程基礎的人來說,很容易上手。

(2)資源豐富

????????Arduino 為開發者提供了大量豐富的函數庫和示例代碼。這些資源極大地降低了開發的難度,就算是沒有深厚電子專業背景的人員,也能夠快速開發出自己的項目。

4、應用場景

????????常用于快速原型制作、藝術創作、物聯網設備開發、機器人開發、環境監測等領域。例如,制作一個智能花盆,通過連接土壤濕度傳感器和水泵,實現自動澆水功能。

(二)樹莓派

1、簡介

????????樹莓派是一款基于 Linux 系統的微型計算機,旨在推廣計算機科學教育和為小型設備提供計算能力。它更側重于提供完整的計算機功能,可作為小型服務器、媒體中心或用于各種需要較高計算能力的項目。

2、硬件特點

(1)強大的處理能力

????????配備了性能較強的 ARM 架構處理器,內存也相對較大,能夠運行完整的操作系統。

????????如 Raspbian (基于 Debian 的定制版)、Ubuntu 等。不同型號的樹莓派在處理器性能、內存大小等方面有所不同,以滿足不同用戶的需求。

(2)豐富的接口

????????具有 HDMI 接口、USB 接口、以太網接口、音頻接口等,可連接顯示器、鍵盤、鼠標、網絡設備等,使其具備與普通計算機相似的功能。

????????同時,也有通用輸入輸出引腳(GPIO),可以連接外部硬件設備進行擴展。

3、軟件特點

(1)完整的操作系統

????????由于運行完整的 Linux 操作系統,具備完整的文件系統、多用戶多任務處理能力以及豐富的軟件包管理系統。用戶可以像使用普通計算機一樣安裝和運行各種軟件,如辦公軟件、瀏覽器、媒體播放器等。

(2)編程語言多樣

????????支持多種編程語言,如 Python、C/C++、Java 等。開發者可以根據自己的需求和喜好選擇合適的語言進行開發。

4、應用場景

????????廣泛應用于智能家居控制中心、網絡服務器、多媒體播放中心、人工智能實驗平臺、科學研究等領域。例如,搭建一個家庭媒體服務器,通過樹莓派連接硬盤和電視,實現視頻播放和文件共享功能。

????????以上即為 嵌入式常見概念的介紹?的全部內容,創作不易,麻煩三連支持一下唄~??

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/78870.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/78870.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/78870.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

深度強化學習(DRL)框架與多目標調度優化詳解

深度強化學習(DRL)框架與多目標調度優化詳解 (截至2025年4月,結合最新研究進展) 一、DRL主流框架及核心算法 通用DRL框架 Ray RLlib:支持分布式訓練,集成PPO、A3C、DQN等算法,適用于…

centos 安裝python3.9.9

這里寫自定義目錄標題 安裝編譯依賴 sudo yum -y groupinstall "Development Tools" sudo yum -y install openssl-devel bzip2-devel libffi-devel wget zlib-devel yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel …

【動態規劃】深入動態規劃:背包問題

文章目錄 前言01背包例題一、01背包二、分割等和子集三、目標和四、最后一塊石頭的重量|| 完全背包例題一、完全背包二、 零錢兌換三、零錢兌換||四、完全平方數 前言 什么是背包問題,怎么解決算法中的背包問題呢? 背包問題 (Knapsack problem) 是?種組…

Vue 接口請求 Nginx配置實時壓縮 速度起飛

生效之前 nginx配置如下 gzip on; gzip_min_length 1k; gzip_buffers 16 256k; gzip_http_version 1.1; gzip_comp_level 6; gzip_types application/json application/javascript text/javascript text/css text/plain; gzip_vary on; 生效之后 #user…

Mitosis:跨框架的UI組件解決方案

Mitosis 是一個開源工具,可以將 JSX 組件轉換為 Angular、React、Qwik、Vue、Svelte、Solid 和 React Native 等框架的功能齊全的組件。 Stars 數13019Forks 數593 主要特點 跨框架兼容性:Mitosis 允許開發者編寫一次組件,然后編譯成多個主流…

齊次坐標系統:什么是齊次坐標?為什么要引入齊次坐標?

齊次坐標系統:計算機圖形學的基礎 在計算機圖形學、計算機視覺、相機標定、三維建模等領域,齊次坐標是一個非常重要的數學工具。本文將介紹:齊次坐標的基本概念、數學原理、我們為什么要引入齊次坐標、及其在實際應用中的價值。 文章目錄 齊…

JS的大數運算(注意:原生的只支持整數計算!!!)

JS的大數運算(注意:原生的只支持整數計算!!!) 一、JS的大數運算(注意:原生的只支持整數計算!!!)1. 數字精度限制2. 大數解決方案2.1. …

Android 之美國關稅問題導致 GitHub 403 無法正常訪問,責任在誰?

這幾天各國關稅問題導致世界動蕩不安,如今GitHub又無法正常訪問,是不是Google到時候也無法正常使用了。

JAVA中正則表達式的入門與使用

JAVA中正則表達式的入門與使用 一,基礎概念 正則表達式(Regex) 用于匹配字符串中的特定模式,Java 中通過 java.util.regex 包實現,核心類為: Pattern:編譯后的正則表達式對象。 Matcher&#…

Prompt_Engineering提示詞工程(一)

一、Prompt(提示詞) Prompt(提示詞)是給AI模型交互文本片段,用于指導模型生成符合預期輸出結果,提示詞的目的是為模型提供一個上下文的任務,以便模型能夠更準確地理解用戶的意圖,并…

【設計模式】面向對象開發學習OOPC

PLOOC-裸機思維 PLOOC-git OOPC精要——撩開“對象”的神秘面紗 C/C面向對象編程之封裝-KK 面向過程,本質是“順序,循環,分支”面向對象,本質是“繼承,封裝,多態”參考的書籍:《UMLOOPC嵌入式…

軟考高級--案例分析

架構風格 重點 交互方式數據結構控制結構擴展方法 分類 管道-過濾器風格 數據流 數據倉儲風格 星型結構以數據為中心,其他構件圍繞數據進行交互 企業服務總線esb 定義 以一個服務總線充當中間件的角色,把各方服務對接起來,所有服務…

01_背包問題

package org.josh; import java.util.*; public class Main { public static void main(String[] args) { Scanner scanner new Scanner(System.in); int n scanner.nextInt(); // 物品數量 long w scanner.nextLong(); // 背包容量,使用long防止溢出 int[] v …

esp32-idf Linux 環境安裝教程

一、提前說明 1. 系統環境 Ubuntu22.04 2. 適配芯片 ESP32S3 3. idf版本 v5.4.1(截止2025年4月13日為最新版本) 二、安裝步驟 1. 安裝前置依賴 sudo apt-get install git wget flex bison gperf python3 python3-pip python3-venv cmake ninja-build ccache libffi-dev l…

JavaScript 輸入輸出語句

在JavaScript中,輸入和輸出是與用戶交互的基礎。無論是從用戶那里獲取信息還是向用戶展示結果,正確使用輸入輸出語句都是至關重要的。本文將詳細介紹JavaScript中常用的輸入輸出方法及其應用場景。 一、輸出語句 (一)console.lo…

TCP 如何在網絡 “江湖” 立威建交?

一、特點: (一)面向連接 在進行數據傳輸之前,TCP 需要在發送方和接收方之間建立一條邏輯連接。這一過程類似于打電話,雙方在通話前需要先撥號建立連接。建立連接的過程通過三次握手來完成,確保通信雙方都…

文章記單詞 | 第29篇(六級)

一,單詞釋義 AI /?e? ?a?/ abbr. 人工智能(Artificial Intelligence)inventory /??nv?ntri/ n. 存貨清單;財產清單;庫存貨物;存貨;v. 編制目錄;開列清單;盤存cha…

【C#】.NET 8適配器模式實戰:用C#實現高可用系統集成與接口橋接藝術

系統集成挑戰與適配器模式的價值 當需要整合不同架構或API的系統時,接口兼容性問題往往成為攔路虎。**適配器設計模式(Adapter Pattern)**通過轉換接口形態,完美解決這種不兼容性問題。本文將通過C# .NET 8實戰演示適配器模式的基…

Nginx基礎到全面掌握高性能Web服務核心

目錄 前言 第一部分:Nginx基礎入門 1.1 什么是Nginx? 1.2 Nginx的典型應用場景 第二部分:Nginx安裝與部署 2.1 在不同操作系統上安裝Nginx 2.2 驗證安裝與基本操作 第三部分:Nginx配置詳解 3.1 核心配置文件解析 3.2 虛…

C語言中while的相關題目

一、題目引入 以下程序中,while循環的循環次數是多少次? 二、代碼分析 首先要明確的一點 while循環是當循環條件為真 就會一直循環 不會停止 while中i是小于10的 說明i可以取到0 1 2 3 4 5 6 7 8 9 進入第一個if判斷i小于1為真時執行continue i0是為真的 執行continue 后…