新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 選擇合適的微控制器策略

        選擇合適的微控制器策略

        作者: 時間:2015-05-20 來源:網絡 收藏

          系統性能并不等價于計算能力。較低的功耗、豐富的片內外設以及實時的信號處理能力對于大部分嵌入式應用來說是最為重要的。傳統的8位、16位單片機已經很好的處理了這類問題,但是隨著當今嵌入式設計不斷增長的功能需求和特殊要求,許多廠商開始拋棄他們傳統的8位、16位單片機。但是選擇32位處理器對于某些任務來可能并不是最適宜的。下面我們就討論一下單片機的選型問題。

        本文引用地址:http://www.104case.com/article/274480.htm

          理解系統性能

          (million instructions per second),是計算能力的表征。但是,所有的嵌入式應用不僅僅是需要計算能力,所以應用的多樣化決定了系統性能衡量方式的多樣化,大部分參數都同等重要并且難于用一個參數來表示,我們并不應該僅僅從就判定系統的好壞。也許某一應用由于成本的限制,需要一款高集成度的,該控制器需要多個定時器和多種接口。但是另一個應用需要高的精度和快速的模擬轉換能力。兩者的共同點可能僅僅是供電部分,比如采用電池供電。對于一個實時的順序處理應用來說,通信的失敗可能會導致災難性后果。這樣的場合下就需要一個靈巧的控制器。這個控制器應當能夠以正確的順序處理任務,并且響應時間必須均衡。所有上述應用的共同問題可能就是定期的現場升級能力。

          除了與具體的產品要求有關外,系統性能的衡量也可以考慮是否有容易上手、容易使用的開發工具、應用示例、齊全的文檔和高效的支持網絡。

          系統性能的相關問題

          1.傳統8位單片機的局限

          大多數工程師十分關注系統性能,因為越來越多的8位和16位單片機家族已經無法滿足當今日益增長的需求。陳舊和低效的架構限制了處理能力、存儲器容量、外設處理和低功耗要求。8位的處理器架構,比如8051、PIC14、PIC16、PIC18、78K0和HC08是在高級語言(比如C語言)出現之前開發的,其指令集僅用于匯編開發環境。并且這類架構的中央處理單元(CPUs)缺乏一些關鍵功能,比如16位的算數運算支持、條件跳轉和存儲器指針。

          許多CPU架構執行一條指令需要若干時鐘周期。Microchip的8位PIC家族執行一條最簡單的指令需要4個時鐘周期,這導致使用20M的時鐘僅能達到5.對于其他CPU架構,比如8051內核。其執行一條指令至少需要6個時鐘周期,這就使得實際的MIPS要比給定的時鐘頻率低很多。

          int max(int *array)

          {

          char a;

          int maximum=-32768;

          for (a=0;amaximum)

          maximum=array[a];

          return (maximum);

          }

          上述代碼是一個簡單的C語言函數,表1列出了在三種不同CPU架構上編譯這段代碼的相應結果。8051內核的執行時間幾乎是PIC16內核的4倍,對于AVR架構更是達到了28倍。

          表1不同CPU架構的代碼容量和執行時間

          CPU架構代碼容量(字節)執行時間(周期)

          8051 112 9384

          PIC16 87 2492

          AVR 46 335

          一些半導體廠商解決了時鐘分配問題,使得微控制器實現了單時鐘周期指令。當時鐘頻率為100MHz時,Silicon Labs聲稱他們基于8位8051架構的微控制器能夠達到100MIPS的峰值。但是,這里有幾個問題:

          第一,由于大部分指令需要兩個時鐘周期甚至更多,所以其實際能力接近于50MIPS;

          第二,8051是基于累加器的CPU,所有需要計算的數據必須拷貝到累加器。查看8051處理器的匯編代碼,可以發現65%-70%的指令用來移動數據。由于現代8位和16位單片機架構中有一系列和算術邏輯單元(ALU)相連的寄存器。因此,8051內核的50MIPS僅相當于現代8位和16位單片機架構的15MIPS.

          MOV A,0x82

          ADD A,R1

          MOV 0x82,A

          MOV A,0x83

          ADDC A,R2

          MOV 0x83,A

          MOVX A,@DPTR

          MOV OxF0,A

          INC DPTR

          MOVX A,@DPTR

          RET

          第三,較老的CPU架構缺乏對大容量存儲器的支持。早在七十年代,很難想象需要超過64KB存儲器的嵌入式應用,這使得許多CPU設計師選擇16位的地址總線。因此,CPU、寄存器、指令集以及程序存儲器和數據存儲器的數據總線始終受此限制。

          第四,在2006年,約有9%的8位嵌入式應用使用了64KB甚至更多的程序存儲空間,這代表了8位MCU市場26%的收益。推測2009年,14%的8位嵌入式應用會代表36%的收益。而這14%的應用會使用64KB甚至更多的程序存儲空間。

          從系統性能的角度來看,所有這些使得較舊的8位MCU逐漸失去競爭力。

        c語言相關文章:c語言教程


        單片機相關文章:單片機教程


        單片機相關文章:單片機視頻教程


        單片機相關文章:單片機工作原理



        上一頁 1 2 3 下一頁

        關鍵詞: 微控制器 MIPS

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 福鼎市| 屯留县| 广水市| 绥德县| 钟祥市| 荃湾区| 庆城县| 绩溪县| 海南省| 泸州市| 察雅县| 延庆县| 东乌珠穆沁旗| 武山县| 张家口市| 车致| 山东| 梧州市| 新密市| 延吉市| 河西区| 维西| 古丈县| 乐清市| 眉山市| 上栗县| 韩城市| 洮南市| 岑巩县| 南京市| 凭祥市| 太保市| 乌拉特前旗| 顺义区| 青岛市| 于都县| 鹰潭市| 济南市| 上栗县| 丹阳市| 大田县|