在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>嵌入式開發>8位MCU和32位MCU的使用案例資料下載

8位MCU和32位MCU的使用案例資料下載

2021-04-22 | pdf | 241.91KB | 次下載 | 5積分

資料介紹

本文比較了8位元MCU和32位元MCU的使用案例,可作為如何選擇這兩種MCU架構的指南使用。 本文大部分32位元范例將關注于ARM Cortex-M裝置,Cortex-M在不同MCU供應商產品組合中表現非常相似。由于8位元MCU有很多種架構,所以很難對8位元供應商之間進行類似的產品比較。為了進行比較,本文將使用廣泛應用、易于理解的8051 8位元架構。 事實上,「ARM Cortex和8051哪個比較好」不是個邏輯問題,反而像是在問「吉他和鋼琴哪個好」?真正要解決的問題是「哪種MCU最能幫助解決目前面臨的問題?」。 不同的任務須使用不同的工具,使用者目的是要了解「如何才能善用所擁有的工具」,包括8位元和32位元裝置。 對不同的裝置進行比較,須要對其進行測量。有很多建構工具可供選擇,本文盡量選擇一些認為能夠進行最公平的比較,且最能代表開發人員真實體驗的情境。 以下ARM資料是透過GCC nanoCLibrary和-03最佳化選項所生成。 此一比較試驗并不為任何一種裝置的代碼最佳化,只是簡單實現90%開發人員都會使用的常見代碼,并呈現普通開發人員所見到的結果,而不是理想狀態下的結果。當然,花費諸多時間、精力和財力去調整8051代碼使其表現勝過ARM是可能的,反之亦然,但一開始就選擇適合該項工作的最佳工具比費盡心力做最佳化簡單多了。 8位元MCU功效持續精進 在開始對架構進行比較前,要注意到并非所有的MCU都是一樣,這一點非常重要。 如果將基于ARM Cortex-M0 處理器的現代MCU與30年前的8051 MCU做對比,8051 MCU在性能上當然不會勝出。幸運的是,許多供應商一直對8位元處理器持續投資。 例如芯科實驗室(Silicon Labs)正持續更新基于8051核心的EFM8 MCU產品線,其效能比原始的8051架構更高,而且開發過程也已實現現代化。所以在許多應用中,8位元核心能夠容易彌補比M0 或M3核心不利的地方,甚至在一些方面性能更佳。 開發工具也很重要。現代嵌入式韌體開發需要全功能IDE、現成的韌體庫、豐富的范例、完整的評估和入門套件,以及助手應用,以簡化硬體設定、資料庫管理和量產編程之類的工作。當MCU有了現代化的8位元核心和開發環境時,在很多情況下,這樣的MCU將超越基于ARM-Cortex的類似MCU。 以系統規模選擇MCU 第一個一般性原則是:ARM Cortex-M核心更適用于較大的系統規模(》64KB代碼),而8051裝置適用于較小的系統規模(《8KB代碼)。中等規模的系統可以選擇兩種方式,這取決于系統要執行的任務。須要注意的是,在大多數情況下,周邊組合將會發揮重要作用。如果需要三個UART、一個LCD控制器、四個時脈和兩個ADC,使用者可能不會在8位元MCU上找到所有的周邊。 易用性與成本/尺寸之比較 對于中等規模的系統來說,使用任何一種架構都可以完成工作。但主要須考量是選擇ARM核心帶來的易用性,還是8051裝置帶來的成本和物理尺寸優勢。 ARM Cortex-M架構具備統一的儲存模式,并在所有常見編譯器中支援完整的C99,這使得該架構非常易于寫韌體。此外,還可得到一系列資料庫和協力廠商代碼。 當然,這種易用性的代價就是成本。對于高復雜性、上市時間較短的應用或缺乏經驗的韌體開發人員來說,易用性是個重要因素。 比起32位元MCU,8位元MCU的成本頗具優勢。使用者經常會發現內建2KB/512B(Flash/RAM)的小容量8位元MCU,而卻很難找到低于8KB/2KB的32位元MCU。在不需要很多資源的系統中,儲存容量小的MCU能夠讓系統開發人員獲得顯著的成本降低。因此,對成本極為敏感或僅需較小儲存容量的應用,會更傾向于選擇8051解決方案。 8位元晶片通常也具備物理尺寸上的優勢。例如Silicon Labs提供的最小32位元QFN封裝為4mm×4mm,而基于8051的8位元晶片的QFN封裝可小至2mm×2mm。 晶片級封裝(CSP)的8位元和32位元架構之間的差異較小,但卻使成本增加,且組裝較難。對于空間嚴格受限的應用來說,通常須要選擇8051裝置來滿足限制要求。 通用代碼/RAM效率易影響MCU成本 8051 MCU成本較低的主要原因之一是其使用Flash和RAM的效率通常比ARM Cortex-M核心更高,這允許系統采用更少資源實現。系統越大,這種影響就越小。 然而,這種8位元儲存資源的優勢并不總是如此,這一點很重要。在某些情況下,ARM核心會像8051核心一樣高效或比其更高效。例如32位元運算在ARM MCU上僅需要一條指令,而在8051 MCU上則需要多條8位元指令。顯然,這種代碼在ARM架構上有更高的執行效率。 ARM架構在Flash/RAM尺寸較小時的兩個主要缺點是代碼空間效率和RAM使用的可預測性。首要也是最明顯的問題是通用代碼空間效率。8051核心使用1位元組、2位元組或3位元組指令,而ARM核心使用2位元組或4位元組指令。 通常情況下,8051指令更小,但這一優勢因實際上花費許多時間而受到削弱,ARM核心比8051在一條指令下能做更多工作。32位元運算就是這樣一個范例。以實踐來說,指令寬度是能在8051上產生適度的更密集代碼。 代碼空間效率 在含有分散式存取變數的系統中,ARM架構的載入/儲存架構通常比指令寬度更為重要。試想訊號量的實現,一個變數需要在代碼周圍的多個不同位置進行減量(分配)或者增量(釋放)。ARM核心必須將變數載入到暫存器,對其進行操作并重新儲存,這需要三條指令。另一方面,8051核心可以直接在記憶體位置上進行操作,且僅需一條指令。隨著每次對變數完成工作量的增大,由載入/儲存而產生的消耗就變得微不足道。但對于每次僅完成一點工作的情況來說,載入/儲存能產生重要影響,讓8051獲得明顯的效率優勢。 盡管訊號量在嵌入式軟體中并非常見結構,但簡單的計數器和標志卻廣泛應用于控制導向的應用中并發揮相同的作用。許多常見的MCU代碼都屬于這一類型。 另一個原因是ARM處理器比8051核心具有更多的自由使用堆疊。通常情況下,8051裝置針對每次函式呼叫僅在堆疊上儲存返回位址(2位元組),透過通常分配給堆疊的靜態變數處理大量的任務。在某些情況下,這會產生問題,因為這會造成函數預設不可重入。然而,這也意味著必須保留的堆疊空間很小,且完全可預測,這在RAM容量有限的MCU中至關重要。 舉個簡單的例子,試驗者設計了以下程式,然后測量funcB內部的堆疊深度(圖1),發現M0 核心的堆疊用了四十八個位元組,而8051核心的堆疊僅用了十六個位元組。當然,8051核心還靜態配置了八個位元組的RAM,總共用了二十四個位元組。在較大的系統中,這個差異顯得微不足道,但是在僅有256位元組的ARM的系統中,這就變得很重要。 圖1 測量funcB內部堆疊程式示意圖 架構細節之考量 假設有基于ARM和基于8051的MCU各一個,配有所需的周邊,那么對于較大的系統或需要重點考慮易用性的應用來說,ARM裝置是更好的選擇。如果首要考量的是低成本/小尺寸,那么8051裝置將是更好的選擇。本文以下對于每種架構更擅長的應用進行更詳細的分析,同時也劃分出一般原則。 影響延時因素 兩種架構的中斷和函式呼叫延時存在很大差異,8051比ARM Cortex-M核心更快。 此外,高階周邊匯流排(APB)配備的周邊也會影響延時,這是因為資料必須透過APB和AMBA高性能匯流排(AHB)傳輸。最后,當使用高頻核心時脈時,許多基于Cortex-M的MCU需要分配APB時脈,這也增加了周邊延時。 試驗者做了個簡單的實驗,實驗中的中斷是透過I/O引腳觸發的。該中斷對引腳發出一些訊號,并根據引發中斷的引腳更新標志,之后再量測其部分參數的變化。圖2為此次32位元Cortex-M與8051對照實驗的程式碼與參數比較。 圖2 測試程式碼與所得結果參數 8051核心在中斷服務程式(ISR)進入和退出時顯示出優勢。但是,隨著中斷服務程式(ISR)越來越大和執行時間的增加,這些延遲將變得微不足道。和既有原則一致,系統越大,8051的優勢越小。此外,如果中斷服務程式(ISR)涉及到大量資料移轉或大于8位元的整數資料運算,中斷服務程式(ISR)執行時間的優勢將轉向ARM核心。例如,一個采用新樣本更新16位元或32位元轉動平均(Rolling Average)的ADC ISR可能在ARM裝置上執行的更快。 控制vs處理 8051核心的基本功能是控制代碼,其中對于變數的存取是分散的,并且使用了許多控制邏輯(If、Case等)。8051核心在處理8位元資料時也是非常有效的,而ARM Cortex-M核心擅長資料處理和32位元運算。此外,32位元資料通道使得ARM MCU復制大的資料更加有效,因為它每次可以移動四個位元組,而8051每次僅能夠移動一個位元組。因此,那些主要把資料從一個地方移到另一個地方(例如UART到CRC或者到USB)的資料流處理應用更適合選擇基于ARM處理器的系統。
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1TC358743XBG評估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費
  3. 2開關電源基礎知識
  4. 5.73 MB  |  6次下載  |  免費
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設計
  8. 0.60 MB  |  3次下載  |  免費
  9. 5基于FPGA的光纖通信系統的設計與實現
  10. 0.61 MB  |  2次下載  |  免費
  11. 6基于FPGA的C8051F單片機開發板設計
  12. 0.70 MB  |  2次下載  |  免費
  13. 751單片機窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費
  15. 8基于51單片機的RGB調色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21548次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537796次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191185次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183278次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
主站蜘蛛池模板: 五月天激激婷婷大综合丁香 | 中文字幕在线观看一区二区 | 久久欧洲视频 | 日本精品高清一区二区2021 | 久久国产免费观看 | 未满十八18周岁禁止免费国产 | 黄鳝钻进下面好爽小说 | 亚洲美女高清一区二区三区 | 亚洲啪啪免费视频 | 天天做天天爱天天爽综合网 | 色综合天天网 | 在线网站黄| 色婷婷资源网 | 久久第一页| 狠狠躁夜夜躁人人爽天天天天 | 流不尽奶水的大乳h | 日韩成人在线影院 | 一区二区三区视频 | 欧美一级别 | 黄色国产网站 | 亚洲第一视频网 | 色黄在线观看 | 在线资源站 | 久久三级毛片 | 超级狂色而且免费又超好看 | 欧洲性freefree大白屁股 | 4hc44四虎www在线影院男同 | 在线免费观看视频黄 | 亚洲一区二区三区在线播放 | 欧美福利专区 | 在线看一区二区 | 亚洲人成亚洲人成在线观看 | 久久伊人网站 | 色综合九九 | 亚洲国产精品久久婷婷 | 五月天婷婷综合 | 手机在线看片你懂的 | 4hu四虎永久免在线视 | 国产女人在线视频 | 日本在线黄色网址 | 免费看污黄视频软件 |