国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

衡量微控制器不僅取決于總線寬度

發布時間:2016-12-20 15:49    發布者:看門狗
關鍵詞: 微控制器 , Cortex-M0 , EFM8 , 8051
自從半導體制造商將產品遷移32位架構到微控制器,一些技術社區中的人們就已經開始預測8位器件的滅亡。現實中,8位器件的使用量確實已經下降,他們可能不再占據主導地位,但8位真的離滅亡不遠了嗎?答案是否定的,實際上,現在的制造商仍然一直開發和擴展他們的8位器件系列產品,甚至包括那些正在提供32位產品的供應商。

當提及如何在8位和32位MCU之間選擇時,或許爭論的焦點其實就在于他們的靈活性;畢竟,單個設備就有許許多多應用。但是如果MCU被設計得如此靈活,為什么仍然有如此多的變種呢?對于該問題的多數答案將是外設而非內核,但是實際上內核和它的外設有著千絲萬縷的聯系。

還有一種看法是—8位架構和相應的32位架構相較之下是過時的,但是實際上的比較結果或許出人意料。雖然他們的指令集可能已經被完好構建,但是大多數8位內核在他們的生命周期中有不止一次的“升級”,同時就像任何其他設備一樣,他們也受益于制造工藝的發展。因此,認為這兩種架構在某個方面具有可比性,這應當是合理的。

基本差異

除了明顯的總線寬度差異之外,8位器件通常比32位器件更加“少”,特別是和內核集成在一起的存儲容量,以及相關的平均售價。類似地,如果需要完全集成系統級功能(例如LCD控制器/驅動器),那么這些功能更可能出現在32位解決方案中。

通常而言,如果系統需要的代碼存儲容量大于65kbyte,那么需要選擇32位解決方案,如果需要的代碼存儲容量小于8kbyte,那么8位解決方案更可行。當然,就其本質而言,8位器件對于簡單操作可能需要更少的代碼空間,但是32位指令集的單條指令可以完成更多的工作,因此,在較大和更復雜的應用中,更復雜的指令集實際上可能獲得更好的整體代碼密度。

對于代碼容量在這兩個極端之間的應用,或者僅僅需要“標準”MCU外設,選擇判斷標準不再顯而易見,需要基于實際的應用選擇。通過花些時間分析應用,工程師能夠快速確定哪種架構最適合他們的需求。

基準性能

當然,大多數工程師可能會說8位和32位的主要區別完全在于性能,但這只能根據具體的情況才能這樣說,要看具體的要求。“應用性能”才是真正要考慮的問題。

舉例來說,對比8051和Cortex-M0+;8051是完全著眼于8位應用領域的架構,這也是大多數工程師可能要進行的對比,因為它要用于嵌入式領域。脫離具體環境直接進行數據手冊對比將是沒有意義的;在大多數情況下,Cortex-M0+設備可能會“勝出”,但在真實的場景中,結果可能會大相徑庭。


圖1:Silicon Labs基于8051內核的EFM8 Busy Bee 2亮點及應用領域

較大內核的一個特點是不用太在意它們的資源使用情況;而在嵌入式系統中,這會引發問題,包括8位架構開發人員一直避免的問題。舉例來說,考慮圖1中的代碼。在基于Cortex-M0+的設備上編譯和執行代碼時,我們發現棧需要48字節,而在8051上編譯和執行相同的代碼時僅需16字節。盡管區別不是很大,但在RAM有限的系統中,這一點就變得非常重要了。

int main(void){

funcA(0xACED);

while (1);

}

voidfuncA(uint32_t a){

uint8_ti, j=0;

for (i=0; i}

uint16_tfuncB(uint16_t testA, uint16_t testB){

return (testA * testB)/(testA - testB)

}

由于8051最初設計的原因,它一直采用非統一的存儲映射。在大多數情況下,這能夠提高效率,因為它使用不同的指令指向不同類型的存儲區(例如:Flash、內部RAM或外部存儲)。不過,指令集還允許通用指針指向任何類型的存儲區,這能夠提高代碼的可重用性,代價是這會稍稍影響執行的效率。ARM架構有統一的存儲區管理,這意味著無需使用特殊指針,從而工作可能會變得更簡單。

低效是困擾嵌入式開發人員的一大問題,開發人員會想盡一切辦法避免這個問題,這凸顯了另一個問題—延遲。直覺上,工程師可能會認為Cortex-M0+對中斷和函數調用有更快的反應時間,但實際上8051架構更快。ARM內核通過AMBA高性能總線(AHB)在高級外設總線(APB)上 訪問外設的事實使得情況變得更糟。

基于此原因,在簡單的系統中,8051能夠顯示出其在中斷服務程序進/出時間上的優勢,但在更加復雜的系統或執行時間更長的服務程序中,優勢變得不再明顯。

應用適用性

一般來說,8位和32位內核的另一個重要差異是處理控制任務時各自內在的優勢和劣勢,尤其是8051和Cortex-M0+。8051指令集在計算比特和字節時表現卓越,而Cortex-M架構的優勢在于能夠流暢處理較大的數據塊,或使用廣泛的數學函數執行復雜的邏輯算法。

在判斷何種架構最適合應用時,這種“控制vs.處理”的對比尤為有用,但這并不是一成不變的規則;雖然在一個主要實現UART-to-SPI橋接器的應用中,采用ARM器件可能會表現的更高效,但是8位器件也能輕而易舉的處理這種情況,而且可能會非常適合僅僅有2kbyte集成存儲容量的器件。

舉例來說,在一個應用中,它10%的時間用于執行32位數學函數,25%的時間用于處理控制函數,剩余的65%處理時間則用于執行一般目的的活動。如果沒有清晰顯著的優先考慮的架構,并且如果系統級要求是更小的代碼空間而不是執行速度,那么可能更適合選用8位產品。但是,如果要優先考慮執行速度,那可能就要選用32位產品了。

評估整體功耗時,也可做同樣的對比,一般情況是整體評估兩種選擇方案的占空比、活動功耗和休眠電流。現在,許多供應商提供硬件和軟件工具來幫助工程師評估這些參數,尤其是那些同時有8位和32位器件產品組合的供應商,比如Silicon Labs。

最后,如果在為某個應用選擇8位或32位產品時,如果沒有明顯優于對方的益處,那么情況很有可能是,即使做出“錯誤”選擇,也真的不會有什么大問題。8位架構在嵌入式開發中仍占有重要位置,這就繼續要求工程師們仔細評估其選擇,而不是在今后一段時間里默認選擇單一的通用架構。

以下我們用一個實例來說明Silicon Labs基于8051的新型EFM8 MCU的應用


圖2:EFM8 MCU

比如,Silicon Labs的EFM8SB1系列MCU可以成功應用在智能水杯的方案中。智能水杯主要用來測量液位或者液量,并累計計算一定時間內用戶的飲水量,提醒用戶適時飲水。傳統的智能水杯使用壓力傳感器測量液位,有的還要加入重力或者加速度傳感器檢測杯體的傾斜。EFM8SB1的電容感應測量模塊可以實現同樣的功能。該系列MCU具有多個通道的12位精度高速電容數字轉換測量能力,無需外圍附加器件,并為用戶提供了一系列用戶友好的軟件庫和調試工具。

除了液量測量,EFM8SB1中的其他功能模塊也可以實現智能水杯的其他功能。12位的ADC可以測量水溫,PCA可以驅動LED或者蜂鳴器提供簡單的用戶顯示界面,而UART或者SPI可以用來連接無線模塊,和其他智能設備比如手機交換數據,在功能更強大的設備上提供更豐富的應用和客戶體驗。
本文地址:http://m.qingdxww.cn/thread-182192-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 實時控制解決方案的正確選擇——數字信號控制器(DSC)或通用MCU
  • dsPIC® DSC:攻克各種觸摸傳感挑戰的電容式觸摸解決方案
  • 探索PIC16F13145 MCU系列——快速概覽
  • PIC32CK SG單片機——輕松滿足新型網絡安全要求
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 婷婷的久久五月综合先锋影音| 午夜久久久久久网站| 一本到在线视频| 日产一区| 欧美一级一级做性视频| 青操在线| 一级毛片真人免费播放视频| 日韩黄色网| 人人曰人人| 亚洲狠狠婷婷综合久久蜜桃| 欧美亚洲激情视频| 香港三级日本三级妇人三级| 欧美国产大片| 三级网址日本| 四虎黄色网址| 亚洲日本中文| 亚洲国产精品丝袜在线观看| 日本黄色三级视频| 青青青视频免费线看 视频| 亚洲视频免费一区| 四虎tv| 三级视频黄色| 青青青国产在线观看| 亚洲国产中文字幕| 亚洲色图 激情小说| 欧洲日韩视频二区在线| 欧美久久久久| 亚洲50p| 亚洲精品123区在线观看| 亚洲欧美一区二区三区麻豆| 青草草在线视频| 四虎综合| 亚洲成人欧美| 午夜激情视频| 亚洲国产成人资源在线桃色| 欧美日韩一区在线观看| 欧美日韩精品高清一区二区| 日本黄色免费在线视频| 欧美色视频免费高清播放| 亚洲最大的成人网| 午夜三级成人三级|