国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

微控制器實(shí)時操作系統(tǒng)實(shí)踐4選擇正確的MCU

這篇具有很好參考價值的文章主要介紹了微控制器實(shí)時操作系統(tǒng)實(shí)踐4選擇正確的MCU。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

4選擇正確的MCU

本章是關(guān)于微控制器單元(MCU)選擇的速成課程,主要針對那些沒有深厚硬件背景的工程師。它并不試圖成為一份詳盡的清單,列出你在為新項(xiàng)目選擇硬件時需要知道和考慮的一切。它確實(shí)提供了關(guān)于區(qū)分和選擇MCU設(shè)備的許多因素的介紹。最后,你將了解足夠多的關(guān)鍵考慮因素,以便有效地研究MCU并與團(tuán)隊(duì)中的硬件工程師討論潛在的候選人。通過加強(qiáng)硬件/固件合作,并在第一時間為項(xiàng)目選擇合適的MCU,你將避免硬件重新設(shè)計和進(jìn)度延誤。

我們將首先介紹為你的項(xiàng)目選擇一個合適的MCU所要考慮的廣泛因素。之后,我們將討論不同開發(fā)硬件之間的權(quán)衡。對STM32系列進(jìn)行簡短的介紹,以顯示供應(yīng)商如何傾向于對其產(chǎn)品系列進(jìn)行分組。在本章的最后,我們將比較幾個以STM32 MCU為核心的不同開發(fā)板(dev board),以說明為什么我們要使用這樣的開發(fā)板。

參考資料

  • 軟件測試精品書籍文檔下載持續(xù)更新 https://github.com/china-testing/python-testing-examples 請點(diǎn)贊,謝謝!
  • 本文涉及的python測試開發(fā)庫 謝謝點(diǎn)贊! https://github.com/china-testing/python_cn_resouce
  • python精品書籍下載 https://github.com/china-testing/python_cn_resouce/blob/main/python_good_books.md

MCU 考慮因素

選擇微控制器本身而不是開發(fā)板時需要考慮一些因素。 假設(shè)該項(xiàng)目包含完全定制的電子產(chǎn)品,則對選擇的確切 MCU 沒有限制,就像您僅在開發(fā)板之間進(jìn)行選擇時一樣。 學(xué)生和愛好者有時會人為地進(jìn)一步限制自己,有時會忠于某些生態(tài)系統(tǒng)并且只從這些生態(tài)系統(tǒng)內(nèi)的開發(fā)板(例如 Arduino 或 mBed)中進(jìn)行選擇。 雖然任何生態(tài)系統(tǒng)在本質(zhì)上都沒有錯,但如果您無法考慮其他解決方案或無法理解每個硬件為特定項(xiàng)目帶來的獨(dú)特優(yōu)勢,您將無法成長為專業(yè)工程師。

核心考慮

  • 是否適合?
  • 能運(yùn)行我所有的代碼嗎?
  • 成本是多少?
  • 是否容易獲得?
物理尺寸

根據(jù)設(shè)計的不同,MCU的尺寸可能是一個重要的因素。如果你正在開發(fā)一個可穿戴或便攜式設(shè)備,尺寸很可能是你的首要考慮因素。有時,預(yù)包裝的MCU太大,設(shè)計者需要采用板載芯片(MCU的硅芯片直接粘合在印刷電路板(PCB)上,而不是放在單獨(dú)的塑料包裝中)。另一方面,大型的機(jī)架式設(shè)備往往有足夠的空間容納任何尺寸的MCU,以完成工作。

給那些有興趣設(shè)計自己硬件的提示--包裝類型將在PCB的復(fù)雜性以及組裝的難易程度上起作用(特別是在原型設(shè)計階段)。如果你的原型將被手工組裝,任何鷗翼式封裝,如四平盒(QFP),都是最容易的。在QFP之后,四平包無引線(QFN)封裝仍然容易手工焊接。除非你是個焊接高手,否則一般最好不要手工組裝球柵陣列(BGA)!

ROM

只讀存儲器(ROM Read-only memory)是同一個系列的MCU的相當(dāng)大的區(qū)別因素,ROM大小與價格密切相關(guān)。根據(jù)一個產(chǎn)品系列中不同型號的數(shù)量,可能有多個MCU具有非常相似的外圍設(shè)備。這些MCU很可能具有相同的物理尺寸,但卻有明顯不同的內(nèi)存數(shù)量。如果你的應(yīng)用對成本很敏感,但所需的ROM是未知的,可以考慮以下方法:

  • 選擇一個MCU系列,在兼容的空間里提供多種閃存尺寸。
  • 從該系列中擁有最多ROM的MCU開始開發(fā)。這為增加功能提供了最大的靈活性。
  • 在知道最終的image尺寸后,可以在開始大規(guī)模生產(chǎn)前選擇精確的MCU(具有較小的閃存尺寸)。

當(dāng)采取這種方法時,你需要確保為未來的功能留下足夠的空間,假設(shè)你的產(chǎn)品能夠接受現(xiàn)場更新的固件。另外,一定要仔細(xì)檢查不同型號的外設(shè)分配情況--針腳兼容并不總是意味著固件兼容!
所需的ROM數(shù)量差別很大,取決于有多少代碼需要加載到設(shè)備上。如果你一直在使用8位MCU,那么當(dāng)你轉(zhuǎn)到32位架構(gòu)(如ARM)時,你可能會感到非常驚訝。與8位架構(gòu)相比,在32位架構(gòu)上實(shí)現(xiàn)類似的程序?qū)⑿枰嗟拈W存空間。好消息是,閃存的尺寸已經(jīng)跟上了,所以幾乎總是可以找到一個具有足夠板載閃存的MCU來滿足你的應(yīng)用。將第三方庫拉到你的代碼庫中,通常在閃存方面是相當(dāng)昂貴的,所以如果你選擇走這條路,就要注意了。

RAM

片上隨機(jī)存取存儲器(RAM random access memory)的數(shù)量是另一個需要考慮的因素--它通常會跟隨特定設(shè)備的閃存數(shù)量。具有較大ROM的部件通常會有更多的RAM。需要大量RAM的幾個例子是:需要大型數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)處理、復(fù)雜的網(wǎng)絡(luò)堆棧、用于通信的深層緩沖區(qū)、GUI(尤其是那些需要幀緩沖區(qū)的GUI),以及任何運(yùn)行虛擬機(jī)的解釋語言(即MicroPython和Lua)。

例如,假設(shè)你的應(yīng)用程序需要一個高分辨率的顯示器。如果顯示器沒有自己的幀緩沖器的板載控制器,你可能已經(jīng)在外部RAM領(lǐng)域了。驅(qū)動這種類型的顯示器所需的緩沖區(qū)大小可能會超過MCU上的可用RAM。另一方面,如果你正在建立簡單的控制系統(tǒng),只有有限的連接和用戶界面能力,那么少量的RAM可能就是所需的全部。

另外,請注意FreeRTOS中的每個任務(wù)都需要它自己的堆棧(一般在Cortex-M端口上至少有512字節(jié)),所以如果需要大量的任務(wù),將很容易快速利用幾KB的RAM。

從固件工程師的角度來看,外部RAM似乎是免死金牌(誰不想把可用的RAM增加近一個數(shù)量級)--但所有這些功能都是有代價的。除非你的系統(tǒng)絕對需要它,否則最好避免在MCU的地址/數(shù)據(jù)總線上使用外部RAM。它需要額外的PCB空間,消耗更多的電力,并最終推高PCB和材料清單(BOM)的成本。由于長度調(diào)整的要求和所涉及的信號數(shù)量,在增加用于訪問外部RAM的外部高速并行總線時,PCB布局會相當(dāng)復(fù)雜。由于所有的高速信號,該設(shè)計也將更有可能發(fā)出EMI。盡管它提供了大量的空間,但外部RAM通常比板載RAM稍慢,這可能導(dǎo)致更復(fù)雜的鏈接器文件(如果某些功能有非常嚴(yán)格的時間限制)。其他值得考慮的因素包括正確設(shè)置RAM的時序參數(shù)和緩存一致性問題,如果你試圖通過使用數(shù)據(jù)緩存來加速對外部RAM的訪問(詳情請參考進(jìn)一步閱讀部分)。

盡管有這么多的缺點(diǎn),擁有外部RAM可以實(shí)現(xiàn)很多功能,比如在RAM中緩存整個固件鏡像以便升級的能力,功能豐富的GUI框架,復(fù)雜的網(wǎng)絡(luò)堆棧,以及復(fù)雜的信號處理技術(shù)。與其他任何要求一樣,需要做出權(quán)衡。

CPU時鐘

由于我們將討論限制在具有相同底層架構(gòu)的MCU上,因此具有更快的核心時鐘速率的MCU將比具有較慢時鐘速率的MCU更快地執(zhí)行同一組純軟件功能。請注意前面聲明中的關(guān)鍵詞 "純"--有時,有一些板載硬件外設(shè)可以對執(zhí)行速度產(chǎn)生巨大的影響,而這與CPU時鐘速率無關(guān)(例如Cortex-M4內(nèi)核上的硬件浮點(diǎn)和DSP功能)。

另一件需要注意的事情是設(shè)備的絕對最大時鐘速率與應(yīng)用的實(shí)際時鐘速率。例如,一些MCU的最大時鐘頻率與生成USB外設(shè)所需的內(nèi)部48MHz時鐘不兼容,因此,如果同時使用USB外設(shè),它就不能以最大速度使用。

中斷處理

在ARM Cortex-M系列中,中斷處理都非常相似。所有器件都包括一個帶有可重定位向量表的嵌套向量中斷控制器(NVIC)和一個外部中斷控制器(EXTI)。器件的具體考慮包括可用的外設(shè)中斷和如何將其映射到NVIC,以及如何將外部中斷復(fù)用到EXTI。

價格

根據(jù)不同的應(yīng)用,BOM的成本可能是一個重要的驅(qū)動因素,也可能幾乎不是考慮因素。一般來說,在大批量的應(yīng)用中,BOM成本會受到越來越多的關(guān)注。然而,對于小批量產(chǎn)品,通常明智的做法是更多地關(guān)注最大限度地減少產(chǎn)品的開發(fā)時間和努力,而不是盡可能地實(shí)現(xiàn)最低的BOM成本。通過專注于最小化小批量產(chǎn)品的工程努力和開發(fā)時間,該產(chǎn)品將更快地進(jìn)入市場。產(chǎn)品不僅能更快地開始產(chǎn)生收入,而且還能減少非經(jīng)常性工程(NRE)成本。更少的NRE導(dǎo)致正在開發(fā)的產(chǎn)品的投資回報率(ROI)更快。更快的投資回報率最終使經(jīng)理和首席執(zhí)行官們非常高興 在這種情況下,為每年銷售幾十種產(chǎn)品的BOM花費(fèi)幾美元而擔(dān)心--犧牲幾周或幾個月的開發(fā)努力--很少是一個明智的權(quán)衡。

可用性

初級工程師經(jīng)常忽略的一個方面是MCU的預(yù)期和保證可用性。一個零件在項(xiàng)目開始時可以購買并不意味著它在最終產(chǎn)品銷售的整個過程中都可以使用。在消費(fèi)類設(shè)備的情況下,這可能不是一個大問題。這是因?yàn)檫@些設(shè)備可能有極高的產(chǎn)量,但任何單一的修訂版只在有限的時間內(nèi)(從幾個月到一兩年)進(jìn)行生產(chǎn)。

將消費(fèi)電子的計劃淘汰思維與工業(yè)、電信或航空航天方面的東西進(jìn)行對比。在這些行業(yè)中,開發(fā)時間表可以用年來衡量,所需的支持期往往是十年或更長。這就是為什么零件的可用性是一個非?,F(xiàn)實(shí)的考慮。一定要調(diào)查制造商對可用性的保證,并根據(jù)他們的歷史、聲譽(yù)和對項(xiàng)目的風(fēng)險進(jìn)行權(quán)衡--在完成了80%的設(shè)計后,卻發(fā)現(xiàn)在預(yù)生產(chǎn)期間無法找到MCU,這不是一個令人愉快的經(jīng)歷!

外圍設(shè)備

與CPU的桌面世界相比,處理器本身通常是關(guān)注的中心,由于范圍的增加,選擇合適的MCU更為復(fù)雜。許多不同的硬件都包含在同一個芯片上,這使我們能夠針對速度、功率、CPU利用率或BOM成本優(yōu)化解決方案。在一個高度受限的設(shè)計中,所有這些因素都可能起作用,需要做出權(quán)衡。

本節(jié)將介紹一些基于Cortex-M的MCU上常見的硬件外設(shè),旨在對它們進(jìn)行極為簡要的介紹,目的是告訴你為什么每種類型的外設(shè)在設(shè)計中都會有幫助。

連接性

在當(dāng)今物聯(lián)網(wǎng)(IoT Internet of Things)不斷增長的連接生態(tài)系統(tǒng)中,MCU上的板載網(wǎng)絡(luò)功能對項(xiàng)目來說是一個福音。...只要有合適的固件來驅(qū)動它。重要的是要認(rèn)識到,擁有一個外設(shè)并不等同于擁有全部功能。例如,僅僅因?yàn)镸CU支持縮小的媒體獨(dú)立接口(RMII reduced media independent interface)和網(wǎng)絡(luò)中的物理層(PHY)并不意味著你可以立即獲得完整的TCP/IP協(xié)議棧--所有的固件功能都需要從某個地方來。植入設(shè)備的潛在連接性可以包括以太網(wǎng)、RMII、802.11(WiFi)、802.15.1(藍(lán)牙)和802.15.4(Zigbee、HART等等)。

當(dāng)涉及到無線通信時,事情就變得有點(diǎn)復(fù)雜了,因?yàn)楫a(chǎn)品將需要通過適當(dāng)機(jī)構(gòu)的批準(zhǔn)程序,這取決于地理位置的不同。預(yù)先認(rèn)證的射頻(RF)模塊可用于最大限度地減少開發(fā)適當(dāng)認(rèn)證的終端產(chǎn)品所需的努力和成本。

由于專門的PCB布局、監(jiān)管要求和復(fù)雜的網(wǎng)絡(luò)堆棧,促進(jìn)無線通信的板載MCU外設(shè)并不像它們對小批量產(chǎn)品首次出現(xiàn)時那樣有用。同樣,不要因?yàn)楹唵蔚刂付ㄒ粋€有硬件的部件而陷入虛假的成就感,因?yàn)闊o線通信堆棧可能非常復(fù)雜,無線認(rèn)證測試也很昂貴。

內(nèi)存保護(hù)單元

內(nèi)存保護(hù)單元(MPU Memory protection units )是用來確保代碼只訪問它被允許的RAM范圍。如果使用得當(dāng),MPU可以確保更高的系統(tǒng)穩(wěn)定性和更高的安全性,因?yàn)閼?yīng)用程序不太可能通過訪問它不應(yīng)該訪問的內(nèi)存而造成意外的后果。

硬件浮點(diǎn)單元

如果你的應(yīng)用要計算大量的浮點(diǎn)數(shù)字,那么硬件浮點(diǎn)單元(FPU hardware floating-point unit )會非常有用。直到過去十年左右,在大多數(shù)基于MCU的嵌入式系統(tǒng)中,浮點(diǎn)數(shù)字通常是最好避免的。更快的處理器的出現(xiàn)開始改變了這一點(diǎn)?,F(xiàn)在,F(xiàn)PU通常在硬件中實(shí)現(xiàn)。由于有了FPU,許多不同的應(yīng)用可以從使用浮點(diǎn)數(shù)學(xué)中受益,而不會產(chǎn)生通常與基于軟件的庫實(shí)現(xiàn)有關(guān)的CPU性能缺陷。

單精度(32位)FPU在Cortex-M4處理器上是可選的,而基于Cortex-M7的處理器增加了對雙精度(64位)浮點(diǎn)運(yùn)算的可選硬件支持。

數(shù)字信號處理功能

除了基于硬件的浮點(diǎn)支持所帶來的性能提高外,基于Cortex-M4和Cortex-M7的MCU還在硬件中嵌入了可選的數(shù)字信號處理(DSP digital signal processing)功能,這可以大大加快一些復(fù)雜的算法,并可能有助于減少固件工程師的編碼負(fù)擔(dān)。

直接內(nèi)存訪問通道

直接內(nèi)存訪問(DMA Direct memory access)在需要高帶寬或高度事件驅(qū)動代碼的各種情況下都非常有用。DMA控制器通常能夠與MCU外設(shè)以及RAM的不同部分互動。它們負(fù)責(zé)填充外設(shè)寄存器和RAM,完全不涉及CPU。這些自主傳輸可以通過大大減少中斷負(fù)荷和上下文切換來釋放大量的CPU時間。

關(guān)于DMA外設(shè)需要記住的一點(diǎn)是,所有通道并不總是映射到所有外設(shè)。某些通道的帶寬可能比其他通道高。這在需要多個高帶寬設(shè)備的系統(tǒng)中最為顯著。對于像這樣具有挑戰(zhàn)性的系統(tǒng),固件和硬件工程師必須一起工作,以確保硬件設(shè)計不會給固件帶來障礙。

通信接口

我們已經(jīng)介紹過相對于以太網(wǎng)和無線技術(shù)的外部網(wǎng)絡(luò)連接。有許多不同的通信接口,這些接口在傳統(tǒng)上與嵌入式設(shè)備有關(guān),通常作為MCU上的硬件外設(shè)提供。用于與板上和板下的傳感器和執(zhí)行器進(jìn)行通信的接口如下:

  • IC間通信(I2C Inter-IC Communication)
  • 串行外設(shè)接口(SPI Serial peripheral interface)
  • 通用同步/異步接收發(fā)射器(USART Serial peripheral interface)

以下外設(shè)經(jīng)常被用于汽車和工業(yè)環(huán)境中的模塊間通信:

  • USARTs
  • 控制器區(qū)域網(wǎng)絡(luò)(CAN Controller area network )
  • 本地互連網(wǎng)絡(luò)(LIN Local interconnect network)
硬件加密引擎

如果你的應(yīng)用需要外部連接,那么你的心思也應(yīng)該集中在安全方面。就像FPU使浮點(diǎn)運(yùn)算的CPU效率更高一樣,一些MCU上也有基于硬件的加密引擎,這將大大減少在公共網(wǎng)絡(luò)上安全傳輸數(shù)據(jù)所需的CPU負(fù)擔(dān)。

計時硬件

一個MCU上通常包括幾個不同的定時外設(shè)。這些外設(shè)本身通常至少包括輸入捕捉、輸出比較和脈沖寬度調(diào)制(PWM pulse width modulation)功能。一些器件還包括與正交編碼器接口的定時硬件。

集成模擬

數(shù)模轉(zhuǎn)換器(DAC Digital to Analog Converters )和模數(shù)轉(zhuǎn)換器(ADC Analog to Digital Converters)在連續(xù)變化的模擬值和該值的相關(guān)數(shù)字表示之間進(jìn)行轉(zhuǎn)換時使用。大多數(shù)情況下,這些類型的板載外設(shè)將比你發(fā)現(xiàn)的外部芯片的分辨率和頻率更低。然而,根據(jù)你的系統(tǒng)的要求,它們可能是非常有用的。另一個有用的外設(shè)是板載比較器,當(dāng)一個模擬值高于或低于一個給定的閾值時,它將向處理器發(fā)出信號。

一些更專業(yè)的器件(例如賽普拉斯PSoC)包括完全可重新配置的模擬外設(shè)(包括運(yùn)算放大器、DAC和ADC)以及靈活的數(shù)字外設(shè),靈活地將非常大的功能集集成到一個信號芯片中。Analog Devices和Maxim提供一些更奇特的混合信號MCU,這些MCU傾向于將特定應(yīng)用的元件與MCU集成在同一芯片上,使特定終端產(chǎn)品的開發(fā)更加容易。你可以找到非常廣泛的特定應(yīng)用MCU,其目標(biāo)是工業(yè)過程控制、汽車距離傳感、物聯(lián)網(wǎng)傳感器到電視遙控應(yīng)用。

如果有一個流行的混合信號問題的用例,很可能也有一個完全集成的硅片,將MCU與大部分所需的模擬前端集成在一起,以解決大部分的問題。那么問題就變成了平衡BOM成本、詳細(xì)規(guī)格、尺寸、開發(fā)時間和長期采購風(fēng)險的問題。

專用的觸摸接口

由于觸摸接口的日益普及,現(xiàn)在一些MCU上已經(jīng)包含了觸摸控制器的完整實(shí)現(xiàn)。這可以大大減少擁有完整功能和強(qiáng)大的觸摸接口實(shí)現(xiàn)所需的專業(yè)知識和努力。

顯示界面

復(fù)雜的顯示接口,甚至是圖形加速,通常出現(xiàn)在引腳數(shù)更多的高性能器件中,變得相當(dāng)普遍。期待在大量的部件上發(fā)現(xiàn)并行的LCD/TFT接口(例如6800和8080),MIPI DSI等接口能夠驅(qū)動廉價、高分辨率的顯示器到只有幾行的顯示器。硬件協(xié)議轉(zhuǎn)換IC可以用來適應(yīng)一些不同的顯示標(biāo)準(zhǔn),如LVDS和HDMI。現(xiàn)在的MCU能夠提供豐富的用戶體驗(yàn),增加了硬件加速和高效編寫的中間件和驅(qū)動程序。CPU負(fù)載也是完全可以承受的。

外部存儲器支持

在較高引腳數(shù)的封裝中,預(yù)計會發(fā)現(xiàn)對靜態(tài)隨機(jī)存取存儲器(SRAM static random access memory)的支持。同步動態(tài)隨機(jī)存取存儲器(SDRAM Synchronous dynamic random access memory )支持,板載控制器負(fù)責(zé)處理嚴(yán)格的時間要求和刷新周期,可以在更高性能的設(shè)備中找到。以性能為目標(biāo)的設(shè)備一般會支持四路SPI。通常情況下,外部RAM,甚至是四SPI設(shè)備,可以被內(nèi)存映射,使用起來與內(nèi)部存儲類似,盡管會有性能上的影響。許多設(shè)備也有多媒MultiMediaCard )和安全數(shù)字卡(SD卡 MultiMediaCard)控制器,因此,商品消費(fèi)級可移動存儲很容易被添加。

實(shí)時時鐘

一些設(shè)備上也有硬件日歷;所需的只是一個32kHz的晶體和一個備用電源,如CR2032原生鋰電池。一般還提供這種能力的東西是有限的電池備份的RAM。

音頻支持

通過Inter-IC Sound (I2S)的高保真音頻支持通常是可用的。期待發(fā)現(xiàn)連接到I2S外設(shè)的DMA通道,以最大限度地減少在這些總線上為數(shù)據(jù)饑渴的DAC供貨和從ADC收集數(shù)據(jù)所需的CPU干預(yù)量。

功率消耗

十多年來,低功耗MCU一直是一種趨勢。然而,由于市場上出現(xiàn)了大量基于電池供電的物聯(lián)網(wǎng)設(shè)備,歷史上專門的使用案例和有限的選擇(如16位MSP430)現(xiàn)在已經(jīng)成為主流?,F(xiàn)在,有了完整的32位MCU,它們可以在低速深度睡眠和高時鐘速率、數(shù)據(jù)緊縮的運(yùn)行模式之間快速循環(huán)。

電源效率

這聽起來很簡單,但確保某樣?xùn)|西少耗電的一個相當(dāng)好的方法是將其關(guān)閉(不要笑--由于各種漏電流的存在,這可能出乎意料地復(fù)雜,取決于所涉及的部件?。?。如果有幾十個外設(shè)的復(fù)雜的MCU有希望實(shí)現(xiàn)節(jié)能,就需要有一種方法來關(guān)閉任何不需要的功能,以盡量減少浪費(fèi)的電力。這通常是通過關(guān)閉不使用的外設(shè)的時鐘和確?;贑MOS的I/O引腳不浮動來實(shí)現(xiàn)的(記住,CMOS設(shè)備中的轉(zhuǎn)換是最耗電的)。

數(shù)據(jù)表中常見的另一個規(guī)格是每MHz的CPU時鐘消耗多少功率--通常以μA/MHz為單位。如果每個喚醒期的處理量是相當(dāng)恒定的,這就提供了另一個衡量標(biāo)準(zhǔn)來比較不同的MCU型號。

低功耗模式

針對低功率應(yīng)用的設(shè)備通常會有一些不同級別的關(guān)機(jī)狀態(tài)可供選擇。這些狀態(tài)將允許程序員在電流消耗、可用功能(如保持RAM內(nèi)容完整和一些外設(shè)開啟)、可用于觸發(fā)喚醒事件的中斷數(shù)量和喚醒時間之間進(jìn)行權(quán)衡。值得慶幸的是,許多低功耗的物聯(lián)網(wǎng)應(yīng)用的操作范圍相當(dāng)有限,所以有時某個MCU的新功能的組合將被證明是非常適合特定的應(yīng)用。

喚醒時間

如果一個設(shè)備具有驚人的低關(guān)機(jī)電流,但需要異常長的時間來喚醒并使自己進(jìn)入可用的運(yùn)行狀態(tài),那么它可能不是需要相當(dāng)頻繁喚醒的應(yīng)用的最佳選擇,因?yàn)榇罅康臅r間將被用于使系統(tǒng)啟動和運(yùn)行,而不是讓它執(zhí)行必要的處理,然后再回到睡眠。

電源電壓

較低的電源電壓通常會導(dǎo)致較低的電流消耗。根據(jù)設(shè)計,可以在消除電源調(diào)節(jié)電路(由于效率低于100%而消耗電流)和擴(kuò)大特定電池單元的可用工作電壓范圍之間進(jìn)行權(quán)衡。MCU的電壓要求(以及任何輔助電路)將是調(diào)節(jié)方面有多少靈活性的驅(qū)動因素。另外,要注意最大的時鐘通常也會隨著電源電壓的變化而變化,所以不要期望能夠以最大的指定頻率和盡可能低的電源電壓來驅(qū)動CPU。

項(xiàng)目中期遷移MCU

偶爾,100%的項(xiàng)目需求不會在前期就被知曉,或者每個人都可能沒有100%的信心在第一天就確切地解決每個細(xì)節(jié)問題。如果你碰巧幸運(yùn)地知道有高度的不確定性,那么最好的辦法是為它做計劃,而不是被嚇一跳。這里有幾個領(lǐng)域,選擇一個屬于更大的家族或生態(tài)系統(tǒng)的MCU可以幫助減輕與項(xiàng)目不確定性相關(guān)的一些風(fēng)險。

引腳兼容性的重要性

在計劃潛在的MCU轉(zhuǎn)變時,如果可能的話,提前確定引腳兼容的替代MCU。例如,恩智浦LPC1850的部件與LPC 4350 MCU引腳兼容。STM32器件在一個系列(和封裝)中都是引腳兼容的,但偶爾也會與其他系列(例如STM32M4和STM32M7)幾乎引腳兼容。意法半導(dǎo)體定期發(fā)布遷移指南,供那些已經(jīng)超越了一個MCU系列并需要更多能力的工程師使用。如果事先選擇了一些可能的候選產(chǎn)品和替代產(chǎn)品,那么PCB上一些簡單的跳線可能會促進(jìn)具有明顯不同性能(和成本)的不同MCU之間的遷移,有助于消除項(xiàng)目中期所需的PCB返工時間。

周邊相似性

在一個特定的系列中,大多數(shù)MCU將繼承相同的外圍IP。芯片供應(yīng)商不一定在每次創(chuàng)建新的MCU系列時都會從頭開始重新設(shè)計外設(shè),因此,屬于某個供應(yīng)商的外設(shè)的寄存器映射和行為通常會有大量的重疊現(xiàn)象。通常情況下,如果你的應(yīng)用程序只使用最基本的外設(shè)功能的子集,那么你可能會幸運(yùn)地使用基本相同的驅(qū)動程序,即使供應(yīng)商決定在MCU系列之間大幅改變其API。具有諷刺意味的是,有時原始硬件被證明比它上面的抽象層更具有一致性。

MCU系列的概念

許多芯片供應(yīng)商都有器件家族的概念,意法半導(dǎo)體(STM)也不例外--數(shù)據(jù)手冊通常是為整個器件家族編寫的。STM系列器件之間最明顯的差別通常是RAM/ROM和封裝尺寸。然而,更多的外設(shè)也被添加到更有能力的器件中--例如,更大的封裝將開始包括并行RAM控制器。具有更多RAM/ROM的器件將包括能力更強(qiáng)的定時器外設(shè)、更多的通信外設(shè)或特定領(lǐng)域的外設(shè),如加密模塊。

在一個給定的設(shè)備系列中的設(shè)備之間移動應(yīng)該是很容易做到的,所以建議從該系列的一端開始(通常建議從高處開始),看看項(xiàng)目的發(fā)展。如果范圍內(nèi)的蠕變保持在最低限度,那么在所有的主要功能開發(fā)完成后,就有可能無痛地降低MCU的等級,從而節(jié)省一些BOM成本。

開發(fā)板的考慮

開發(fā)板是工程師在項(xiàng)目的早期開發(fā)階段使用的任何硬件。開發(fā)板不僅僅適用于MCU;它們對許多不同類型的硬件都很有用--從運(yùn)算放大器到現(xiàn)場可編程門陣列(FPGA field-programmable gat arrays)的任何東西。

單片機(jī)開發(fā)板應(yīng)提供幾個關(guān)鍵功能:

  • 輔助電路,為MCU供電和運(yùn)行所需。
  • MCU編程并通信
  • 方便與外部電路連接的連接器
  • 連接外設(shè)。

開發(fā)平臺及其重要性

開發(fā)平臺是一個產(chǎn)品的生態(tài)系統(tǒng),允許跨多個供應(yīng)商的高度抽象。平臺的主要重點(diǎn)是以最小的努力提供大量的功能,當(dāng)主要目的是盡快創(chuàng)建原型時,這是很好的。

為了在多個供應(yīng)商之間提供大量的功能,標(biāo)準(zhǔn)化的接口、易用性和靈活性往往會被強(qiáng)調(diào)。有了這些價值,平臺本身就是焦點(diǎn)(因?yàn)樗鼞?yīng)該是),而特定設(shè)備的個別差異化特征往往在很大程度上沒有被注意到,也就是說,除非你對專門的編碼感興趣,這需要額外的時間,最終要求你把更多的注意力放在為平臺開發(fā)上,而不是與平臺一起。

生態(tài)系統(tǒng)圍繞著平臺發(fā)展,溫和地引導(dǎo)平臺用戶使用工具、工作流程、最小公分母功能集和可用硬件。如果目標(biāo)是在盡可能短的時間內(nèi)產(chǎn)生概念驗(yàn)證,這一切都很好。然而,如果要使用平臺方法找到一個長期的開發(fā)和值得生產(chǎn)的解決方案,該平臺可能需要高質(zhì)量、極其完善和穩(wěn)定。這通常意味著使用基于多個供應(yīng)商提供的工業(yè)標(biāo)準(zhǔn)的平臺(如SMARC、QSeven和COM Express)。

微控制器實(shí)時操作系統(tǒng)實(shí)踐4選擇正確的MCU

通常情況下,平臺特定的功能是如此重要,以至于平臺代碼將簡單地虛擬化接口以使它們更容易被訪問,通常要付出非常大的代價(也就是說,對PWM或SPI進(jìn)行比特化處理,以便將它們分配給特定的預(yù)定引腳)。因此,如果你選擇使用一個平臺來評估硬件(或具體地說,一個MCU),你應(yīng)該意識到你可能是在評估平臺和它在特定硬件上的實(shí)現(xiàn),而不是硬件本身。

評估套件(eval kit)

評估套件(eval kit)在涉及到標(biāo)準(zhǔn)化腳印與關(guān)注硬件本身時處于另一個極端。評估套件通常配備了最大的、功能最豐富的MCU模型,其唯一目的是為了展示該硬件。這意味著它們通常不會在不同的目標(biāo)MCU之間共享腳印或連接器(參考下圖),因?yàn)槊總€MCU都有不同的主要功能,并且針對不同的市場。評估板將有盡可能多的外設(shè)被分解成實(shí)際的連接器(如串行、以太網(wǎng)、SD卡、CAN總線和多個USB)。它們通常還包括一系列的外圍硬件,如RAM、eMMC、按鈕、滑塊、電位器、顯示器和驅(qū)動揚(yáng)聲器的音頻編解碼器。他們幾乎總是將所有有趣的MCU引腳分解到容易訪問的頭端,因此開發(fā)人員能夠快速嘗試他們能夠夢想的任何特定硬件配置。制造商通常也會在評估套件板上展示他們的其他非MCU硅產(chǎn)品,以努力推動與他們自己的產(chǎn)品有關(guān)的更多銷售:

微控制器實(shí)時操作系統(tǒng)實(shí)踐4選擇正確的MCU

為了最好地展示設(shè)備的能力,評估套件還將提供大量的工作示例代碼,使工程師能夠與所有的外設(shè)進(jìn)行互動。與一般基于平臺的實(shí)現(xiàn)方式不同,這些例子是為展示待評估的目標(biāo)設(shè)備的獨(dú)特差異化功能而定制的。在本章的第一部分,我們討論了根據(jù)具體的使用情況來選擇硬件。如果你正在為設(shè)計中具有挑戰(zhàn)性的方面尋求具體的解決方案,那么與必須自己從頭開始實(shí)現(xiàn)所有這些功能相比,有指導(dǎo)性的例子來演示MCU的關(guān)鍵差異化方面的工作代碼的重要性可以大大節(jié)省時間(和開眼界)。

所有這些功能都是有代價的--完整的評估套件通常需要幾百美元。然而,如果你的目標(biāo)是快速評估有特定目的的潛在MCU,它們可以通過節(jié)省工程時間和減少風(fēng)險來快速地支付自己的費(fèi)用。

低成本示范板

近年來,低成本的示范板已經(jīng)真正進(jìn)入了他們的視野。價格已經(jīng)大幅下降;制造商有時會以與放置在上面的裸體IC相同的價格出售示范板(有時,它們實(shí)際上比購買單個IC的價格更低!)。與硬件平臺不同,這些板子往往會有類似的腳印,但不一定有相同的連接器或引腳。

最近,更多模糊了平臺和示范板之間界限的低成本示范板(也叫演示板)已經(jīng)出現(xiàn)在市場上。由于Arduino?無處不在,大多數(shù)低成本的板子至少會有一組Arduino引腳兼容的接頭。然而,是否有兼容的針座和擁有完全擁抱生態(tài)系統(tǒng)的開發(fā)板是非常不同的事情。演示板可能沒有任何軟件來配合這些針座;僅僅因?yàn)橛布嬖诓⑶铱梢圆迦氚遄?,并不自動意味著你會得到目?biāo)MCU的兼容庫來驅(qū)動硬件。這并不意味著它們是不兼容的,但要讓一些東西啟動和運(yùn)行所需的努力要比簡單地插入板子和跟著 "hello world "演示走要大得多。

一些制造商也在創(chuàng)建他們自己的標(biāo)準(zhǔn)化頭,這些頭在演示板之間是通用的,這在不同產(chǎn)品系列之間遷移時至少是有幫助的(但顯然只限于該制造商)。ST Nucleo和NXP Freedom的標(biāo)準(zhǔn)化頭文件就是一些例子。為了使用戶更加方便,這些板子通常也會具有mBed兼容性。

STM32產(chǎn)品系列

在過去的幾年里,STM已經(jīng)開發(fā)了相當(dāng)廣泛的MCU。在這里,我們將討論該產(chǎn)品組合中的幾個主要部分是如何相對于本章MCU考慮因素部分所討論的。大多數(shù)其他供應(yīng)商也將他們的產(chǎn)品分為主要部分,這往往會使選擇過程更容易一些。

主流產(chǎn)品

STM32產(chǎn)品線從2007年的STM32F1開始,這是一款基于Cortex-M3的MCU。該產(chǎn)品線的這一部分旨在為大多數(shù)大批量應(yīng)用提供服務(wù),在這些應(yīng)用中,成本和性能必須得到平衡,而復(fù)雜的應(yīng)用卻很少。該產(chǎn)品線的STM32F0和STM32G0部分是基于Cortex-M0和Cortex-M0+的器件,主要面向低成本應(yīng)用。最初的STM32F1基于Cortex-M3,具有非常廣泛的功能集,但與其他器件相比,其性能已經(jīng)開始顯老。

STM32F3是STM在提供集成的、更高精度的模擬外設(shè)方面的首次嘗試(其他供應(yīng)商提供比STM更高精度的模擬元件);然而,該系列沒有提供真正的高性能模擬。它包括一個16位sigma delta ADC,但有效位數(shù)(ENOB)據(jù)說只有14位,比STM的12位逐次逼近(SAR)ADC外設(shè)稍好,而這是最常包括的。較新的基于Cortex-M4+的STM32G4系列擁有最多的模擬外設(shè),包括許多實(shí)例的可編程增益運(yùn)算放大器(PGA)、DAC、ADC和幾個比較器,但在撰寫本文時,還沒有集成的高精度ADC。

到2020年,STM32G0和STM32G4系列將增加其產(chǎn)品的廣度--它們都是較新的產(chǎn)品線,STM可能會開始用更多的器件來填補(bǔ)這些產(chǎn)品線。

高性能

STM的高性能MCU始于基于Cortex-M4的STM32F4。Cortex-M4與Cortex-M3非常相似,但它包括(可選)硬件32位FPU和DSP指令,這在所有STM3F4器件上都有。只要有所需的RAM(通常是MCU的外部),高性能系列中的所有器件都能夠舒適地驅(qū)動無控制器顯示器上非常有吸引力的GUI。各種硬件外設(shè)提供的加速(如MIPI顯示串行接口(DSI),通過FMC和DMA的內(nèi)存?zhèn)鬏?,以及使用Chrom-Adaptive Real-Time(Chrom-ART)加速器的一些基本圖形加速),使得與顯示器通信所涉及的相當(dāng)多的工作可以卸載到各種外設(shè)上,以便CPU可以花時間執(zhí)行其他任務(wù)。

下面是對該家族兩個主要成員和一些顯著特征的快速分解:

微控制器實(shí)時操作系統(tǒng)實(shí)踐4選擇正確的MCU

這類MCU可以被認(rèn)為是交叉型MCU。它們的功能足夠強(qiáng)大,可以用于一些傳統(tǒng)上保留給完整的CPU的應(yīng)用任務(wù),但它們?nèi)匀痪哂蠱CU的易用性。

異構(gòu)多核

2019年,意法半導(dǎo)體推出了STM32MP系列,這是該公司首次進(jìn)入應(yīng)用處理器領(lǐng)域。這個系列提供650MHz的單核或雙核Cortex-A7,以及運(yùn)行在209MHz的單核Cortex-M4。意法半導(dǎo)體公司的這些解決方案似乎是針對大批量、低成本的市場,專注于較少的內(nèi)核數(shù)和需要較少PCB層的封裝,使用較少的制造技術(shù)。

從軟件角度看,意法半導(dǎo)體的MCU產(chǎn)品與新的微處理器單元(MPU)之間的主要區(qū)別是,由于MPU有內(nèi)存管理單元(MMU),它們能夠通過主線Linux內(nèi)核運(yùn)行完整的操作系統(tǒng),這就開啟了完全不同的開源軟件生態(tài)系統(tǒng)(你不需要親自編寫)。

異構(gòu)多核方法允許設(shè)計者將設(shè)計的一部分分割開來,在它們最適合的領(lǐng)域中解決。例如,一個具有GUI和網(wǎng)絡(luò)功能的專用過程控制器可以使用Cortex-A7來利用Linux并獲得Qt框架和復(fù)雜的網(wǎng)絡(luò)堆棧,同時使用Cortex-M4來處理所有的實(shí)時控制方面的問題。

μClinux的實(shí)現(xiàn)已經(jīng)在STM32F4和STM32F7 MCU上使用多年,但由于這些器件上缺乏MMU,通常會有相當(dāng)大的性能損失。

當(dāng)然,隨著功能的增加,復(fù)雜性也隨之增加。與MCU不同,STM32MP系列沒有辦法集成外部RAM,所以要準(zhǔn)備好一些相當(dāng)復(fù)雜的PCB布局(與獨(dú)立的MCU解決方案相比)。

低功率

意法半導(dǎo)體的低功率產(chǎn)品線主要針對電池供電的設(shè)備。下面是所有不同家族成員之間的快速比較:

微控制器實(shí)時操作系統(tǒng)實(shí)踐4選擇正確的MCU

根據(jù)特定物聯(lián)網(wǎng)應(yīng)用的具體工作負(fù)荷,使用低功耗的32位MCU可能是有意義的,比如前述表格中的那些。然而,對于非常簡單的應(yīng)用,也應(yīng)考慮使用低功耗的8位和16位MCU。

無線

STM32WB實(shí)現(xiàn)了一個帶有專用Cortex-M0+的Cortex-M4,以運(yùn)行藍(lán)牙BLE協(xié)議棧。該系列提供了大量的集成,從大型閃存和RAM到混合信號模擬外設(shè),包括觸摸傳感器和小段LCD。各種安全功能,如加密算法和隨機(jī)數(shù)字發(fā)生器,也都存在。由于使用該系列器件的產(chǎn)品需要FCC認(rèn)證,因此它們對大批量應(yīng)用最有意義。

如何選擇開發(fā)板

STM是我們評估的唯一制造商,以便將例子限制在容易消化的范圍內(nèi)。在實(shí)際的產(chǎn)品工程工作中,設(shè)計者有必要對所有可能的供應(yīng)商進(jìn)行重新審視。雖然每個人都有自己喜歡的方法來完成跨供應(yīng)商的搜索,但一個簡單的方法是使用分銷商的網(wǎng)站。

由于有精心策劃的面向原型設(shè)計的分銷商網(wǎng)站(如Digikey和Mouser),工程師能夠在許多不同的供應(yīng)商之間進(jìn)行參數(shù)搜索和比較。這種方法的一個缺點(diǎn)是,搜索僅限于特定的分銷商所經(jīng)營的任何產(chǎn)品系列。另一個潛在的缺點(diǎn)是,參數(shù)化搜索結(jié)果受制于分銷商的數(shù)據(jù)輸入準(zhǔn)確性和分類。直接使用分銷商網(wǎng)站的好處是,許多不同的供應(yīng)商都在一個地方,可以立即檢查產(chǎn)品的可用性,而且半真實(shí)世界的價格很容易看到和過濾。

以原型為導(dǎo)向的分銷商的定價被認(rèn)為是半真實(shí)的,因?yàn)橥ǔG闆r下,在產(chǎn)品進(jìn)入全面生產(chǎn)后,使用以數(shù)量為導(dǎo)向的分銷商或直接向供應(yīng)商購買大批量的產(chǎn)品會更經(jīng)濟(jì)。

要求

到此為止,我們已經(jīng)涵蓋了在理論層面上為項(xiàng)目選擇MCU的所有考慮。現(xiàn)在,是時候?qū)⑺羞@些付諸行動并選擇將用于所有實(shí)際操作練習(xí)的MCU了。需要記住的幾件事如下:

  • 我們將選擇一個開發(fā)板和MCU--因此,一些要求將針對開發(fā)板,如果你正在制作一個需要長期生產(chǎn)的產(chǎn)品,這通常不是一個好主意。
  • 要求將是針對這本書的--使某些東西成為一本書的好選擇的要求可能不會轉(zhuǎn)化為你正在進(jìn)行的項(xiàng)目。很明顯,你的選擇標(biāo)準(zhǔn)將為你的項(xiàng)目量身定做。

必須具備的條件,也就是要求,如下所示:

  • 基于STM32 Cortex-M的CPU。
  • 內(nèi)存保護(hù)單元(MPU)。
  • 顯示狀態(tài)的可見手段。
  • 相對較低的成本(如<50美元)。

好的方面,也就是需要的條件,如下:

  • 多功能性: 如果開發(fā)板能與其他硬件一起使用就更好了。
  • 通過USB的虛擬通信可作為調(diào)試端口。
  • 多核心。

要求的理由

我們將把搜索范圍限制在STM32部件上,因?yàn)檫@就是我們在本書中使用的例子系列。在第15章,F(xiàn)reeRTOS內(nèi)存管理中,我們將介紹如何防止任務(wù)訪問他們不應(yīng)該訪問的內(nèi)存,這將要求我們利用具有內(nèi)存保護(hù)單元的部件。本書的目標(biāo)之一是盡可能保持硬件交互的可訪問性,這導(dǎo)致了下兩個要求:狀態(tài)顯示和成本。

一些顯示狀態(tài)的手段可能會轉(zhuǎn)化為簡單的LED(最好是多個)。應(yīng)該有某種形式的反饋,使程序員能夠一目了然地看到正在發(fā)生的事情,以確保代碼確實(shí)在做什么。在真正的嵌入式環(huán)境中,這可能會采取額外儀器的形式,如示波器、邏輯分析儀和DMMs。為了使盡可能多的人能夠使用這些工具,我們將明確地避免使用這些工具。因此,我們不是僅僅依靠外部工具和調(diào)試器,而是要尋找板載指標(biāo)。

這些好的東西并不是硬性要求,但它們是系統(tǒng)在完美世界中所擁有的理想品質(zhì)。理想情況下,目標(biāo)開發(fā)板也將是更大的硬件生態(tài)系統(tǒng)的一部分,這將使人們能夠使用他們可能已經(jīng)擁有的現(xiàn)有硬件來進(jìn)一步探索本書的概念。連接到目標(biāo)MCU上的USB端口也是很好的選擇--這樣的話,我們就可以使用一個虛擬的通訊端口來輸出調(diào)試,而不是只使用調(diào)試器。最后,在第16章 "多處理器和多核系統(tǒng) "中,我們將看一下關(guān)于用多CPU開發(fā)板的簡要介紹和一些提示。盡管這個主題值得自己寫一本書(已經(jīng)有很多人從架構(gòu)的角度寫了),但如果有一些我們可以在實(shí)際硬件上付諸行動的代碼就更好了。

選擇開發(fā)板

下面是一個例子,說明我們使用美國一個受歡迎的分銷商DigiKey來縮小搜索范圍的步驟:

微控制器實(shí)時操作系統(tǒng)實(shí)踐4選擇正確的MCU

  • 在DigiKey的主頁上,https://www.digikey.com/,我們開始搜索STM32,并從選擇中選擇MCU和DSP的評估板。
  • 我們只對目前可用的零件感興趣(不是過期的)。
  • 開發(fā)套件也必須是有庫存的。
    下面是結(jié)果:

微控制器實(shí)時操作系統(tǒng)實(shí)踐4選擇正確的MCU

根據(jù)我們對STM32產(chǎn)品系列的了解,我們選擇了帶有內(nèi)存保護(hù)單元的MCU。目前,這個標(biāo)準(zhǔn)提供了73個可用的開發(fā)平臺,范圍從9-550美元不等,范圍相當(dāng)大。我們已經(jīng)滿足了大部分的硬性要求--除了板載指示器,它不可能出現(xiàn)在搜索中。讓我們看看我們是否可以通過包括一些愿望來縮小這個領(lǐng)域。

意法半導(dǎo)體將他們的微處理器稱為微處理器單元(MPU),這就造成了一個過載的術(shù)語,而且在談?wù)搩?nèi)存保護(hù)單元(MPU)時也有一些歧義。在瀏覽網(wǎng)站和文檔時,你可能會碰到這個縮寫的兩種用法。
如果我們正在尋找多核,那么STM32H7和STM32MP1系列是有效的選擇。事實(shí)證明,有一些帶有這些部件的發(fā)現(xiàn)板,其成本相對合理(就其包含的內(nèi)容而言)為80美元,但我們最好是尋找接近20美元范圍的硬件--讓我們不要讓欲望干擾硬性要求!"!

把重點(diǎn)縮小到不違反<50美元定價要求的處理器,我們就可以看到STM Nucleo系列的開發(fā)板。所有的Nucleo系列都是與mBed兼容的,如果我們選擇使用它,就可以使用整個生態(tài)系統(tǒng)。STM對Nucleo的另一個認(rèn)識是,支持現(xiàn)有的流行平臺是一個好主意--因此,除了將幾乎所有更相關(guān)的MCU引腳放在一個專有的接頭上之外,Nucleo板還提供各種Arduino風(fēng)格的接頭。所有的Nucleo板還包括一個ST-Link板載編程器,其中一些可以重新刷新,看起來與SEGGER J-Link相同,這是一個巨大的優(yōu)勢,將消除購買一個額外硬件的需要:

微控制器實(shí)時操作系統(tǒng)實(shí)踐4選擇正確的MCU

我們的目標(biāo)平臺將是Nucleo-F767ZI,它集成了最廣泛的連接,包括最靈活的調(diào)試。我們將在第6章 "實(shí)時系統(tǒng)的調(diào)試工具 "中介紹重新刷新板載ST-Link以使用SEGGER J-Link固件。由于不需要配置額外的接口,三個用戶LED燈將使交流固件狀態(tài)反饋?zhàn)兊梅浅:唵?。?nèi)置的以太網(wǎng)允許開發(fā)網(wǎng)絡(luò)化的應(yīng)用。對于我們的目標(biāo)平臺來說,如果有多核MCU是很方便的,但沒有一個符合我們成本要求的MCU:

盡管在選擇MCU或開發(fā)板時有很多選擇,但這不需要是令人生畏的過程,特別是當(dāng)你知道你的要求和要做的權(quán)衡時。文章來源地址http://www.zghlxwxcb.cn/news/detail-482246.html

到了這里,關(guān)于微控制器實(shí)時操作系統(tǒng)實(shí)踐4選擇正確的MCU的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • LabVIEW開發(fā)微控制器控制的并行機(jī)器人的實(shí)時視覺圖像處理

    LabVIEW開發(fā)微控制器控制的并行機(jī)器人的實(shí)時視覺圖像處理

    LabVIEW開發(fā)微控制器控制的并行機(jī)器人的實(shí)時視覺圖像處理 ? ? ? ? 通過相機(jī)視覺,以對目標(biāo)物體的不同顏色進(jìn)行分類,并與平行機(jī)器人一起拾取和放置物體。通過使用MATLAB?Simulink模擬合適的機(jī)器人工作空間來研究使用相機(jī)的效率和機(jī)器人的準(zhǔn)確性。機(jī)械臂以使用運(yùn)動學(xué)計算

    2024年02月09日
    瀏覽(25)
  • FreeRTOS_從底層學(xué)習(xí)實(shí)時操作系統(tǒng)

    FreeRTOS_從底層學(xué)習(xí)實(shí)時操作系統(tǒng)

    目錄 1. 裸機(jī)系統(tǒng)和多任務(wù)系統(tǒng) 2. 任務(wù)的定任務(wù)切換的實(shí)現(xiàn) 2.1 什么是任務(wù)? 2.2 調(diào)度器 2.3 臨界段 3. 空閑任務(wù)和阻塞延遲 4. 時間片 裸機(jī)系統(tǒng): ? ? ? ? 裸機(jī)系統(tǒng) 分為 輪詢系統(tǒng) 和 前后臺系統(tǒng) ;(51單片機(jī)就屬于裸機(jī)系統(tǒng)) ? ? ? ? 輪詢系統(tǒng) 是在裸機(jī)編程的時候,先初始化

    2024年02月07日
    瀏覽(13)
  • 物聯(lián)網(wǎng)實(shí)時操作系統(tǒng)1RTOS簡介(上)

    物聯(lián)網(wǎng)實(shí)時操作系統(tǒng)1RTOS簡介(上)

    在大型計算機(jī)的世界里,操作系統(tǒng)(OS operating systems)已經(jīng)存在了相當(dāng)長的一段時間。最基本的操作系統(tǒng)可以追溯到20世紀(jì)50年代。到20世紀(jì)70年代中期,操作系統(tǒng)的概念、結(jié)構(gòu)、功能和界面已經(jīng)非常成熟。 微型系統(tǒng)大約在 1970年出現(xiàn)。在基于微處理器的設(shè)備中迅速應(yīng)用操作系統(tǒng)

    2024年02月16日
    瀏覽(59)
  • 嵌入式實(shí)時操作系統(tǒng)的設(shè)計與開發(fā)

    嵌入式實(shí)時操作系統(tǒng)的設(shè)計與開發(fā)

    在RTOS中,時鐘具有非常重要的作用,通過時鐘可實(shí)現(xiàn)延時任務(wù)、周期性觸發(fā)任務(wù)執(zhí)行、任務(wù)有限等待的計時。 大多數(shù)嵌入式系統(tǒng)有兩種時鐘源,分別為實(shí)時時鐘RTC(Real-Time Clock)和定時器/計數(shù)器。 實(shí)時時鐘一般是靠電池供電,即使系統(tǒng)斷電,也可以維持日期和時間。由于實(shí)

    2024年02月11日
    瀏覽(23)
  • FreeRTOS實(shí)時操作系統(tǒng)(六)列表與列表項(xiàng)

    FreeRTOS實(shí)時操作系統(tǒng)(六)列表與列表項(xiàng)

    FreeRTOS實(shí)時操作系統(tǒng)(一)RTOS的基本概念 FreeRTOS實(shí)時操作系統(tǒng)(二)任務(wù)創(chuàng)建與任務(wù)刪除(HAL庫) FreeRTOS實(shí)時操作系統(tǒng)(三)任務(wù)掛起與恢復(fù) FreeRTOS實(shí)時操作系統(tǒng)(四)中斷任務(wù)管理 FreeRTOS實(shí)時操作系統(tǒng)(五)進(jìn)入臨界區(qū)、任務(wù)調(diào)度器掛起與恢復(fù) FreeRTOS實(shí)時操作系統(tǒng)(六)列

    2024年02月10日
    瀏覽(20)
  • STM32初學(xué)者入門FreeRTOS操作系統(tǒng),多任務(wù)實(shí)時系統(tǒng)

    STM32初學(xué)者入門FreeRTOS操作系統(tǒng),多任務(wù)實(shí)時系統(tǒng)

    ? ? ? ? FreeRTOS(Free Real-Time Operating System)是一個開源的嵌入式實(shí)時操作系統(tǒng),它專門設(shè)計用于在資源有限的嵌入式系統(tǒng)中運(yùn)行。FreeRTOS提供了一些用于任務(wù)管理、調(diào)度、同步和通信的功能,使開發(fā)者能夠輕松地創(chuàng)建可靠的嵌入式系統(tǒng)。 以下是FreeRTOS的一些特點(diǎn)和功能: 輕量

    2024年02月11日
    瀏覽(27)
  • 嵌入式實(shí)時操作系統(tǒng)的設(shè)計與開發(fā)(十)

    RTOS的引導(dǎo)是指將操作系統(tǒng)裝入內(nèi)存并開始執(zhí)行的過程。在嵌入式系統(tǒng)的實(shí)際應(yīng)用中,針對不同應(yīng)用環(huán)境,對時間效率和空間效率有不同的要求。因此,操作系統(tǒng)啟動時應(yīng)充分考慮這兩種限制。 時間限制主要包括兩種情況:系統(tǒng)要求快速啟動和系統(tǒng)啟動后要求程序能實(shí)時運(yùn)行

    2024年02月07日
    瀏覽(27)
  • 簡單介紹STM32上的FreeRTOS實(shí)時操作系統(tǒng)

    FreeRTOS是一款廣泛使用的開源實(shí)時操作系統(tǒng)(RTOS),它為嵌入式系統(tǒng)提供了可靠的任務(wù)調(diào)度和并發(fā)管理。在嵌入式領(lǐng)域中,STM32微控制器廣受歡迎,并且與FreeRTOS的結(jié)合使用可以提供強(qiáng)大的功能和靈活性。在本篇博客中,我們將深入探究STM32上的FreeRTOS,并了解其核心概念、任

    2024年02月16日
    瀏覽(33)
  • FreeRTOS實(shí)時操作系統(tǒng)(十五)Tickless低功耗模式

    FreeRTOS實(shí)時操作系統(tǒng)(十五)Tickless低功耗模式

    FreeRTOS實(shí)時操作系統(tǒng)(一)RTOS的基本概念 FreeRTOS實(shí)時操作系統(tǒng)(二)任務(wù)創(chuàng)建與任務(wù)刪除(HAL庫) FreeRTOS實(shí)時操作系統(tǒng)(三)任務(wù)掛起與恢復(fù) FreeRTOS實(shí)時操作系統(tǒng)(四)中斷任務(wù)管理 FreeRTOS實(shí)時操作系統(tǒng)(五)進(jìn)入臨界區(qū)、任務(wù)調(diào)度器掛起與恢復(fù) FreeRTOS實(shí)時操作系統(tǒng)(六)列

    2024年02月16日
    瀏覽(18)
  • 【Vxworks操作系統(tǒng)】實(shí)時多任務(wù)介紹-NO.2

    目錄 ? ?實(shí)時多任務(wù) 1.1? 任務(wù)生命周期管理 ?1.2? 任務(wù)狀態(tài)控制 1.3? 任務(wù)調(diào)度 1.4? ?用戶接口 結(jié)語: ? ? ? ?實(shí)時操作系統(tǒng)是基于 多任務(wù) 和 任務(wù)間通信 的概念的操作系統(tǒng),多任務(wù)環(huán)境允許一個實(shí)時應(yīng)用由一組各自獨(dú)立的任務(wù)組成,每個任務(wù)擁有自己的執(zhí)行線程和一組系統(tǒng)

    2024年02月14日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包