近兩年隨著電子產品智能需求提升,靈動微通用類MCU需求暴漲,例如僅僅一個智能門就需要三顆MCU如果需要實現無線控制,還需要能支持無線藍牙的的MCU。而對于低階機器人來說,就需要23顆MCU ,高階機器人需要30多顆MCU,此外如果需要機器人有表情,則需要更多MCU,還有如果機器人融入更多情緒功能則需要的MCU還會更多。而Cortex-M3內核MCU是目前使用比較廣泛的。MCU目前使用內核常用的有Cortex-M3,Cortex-M0/MO+,Cortex-M4.下面介紹比較常用Cortex-M3的八個知識點 Cortex-M3的八個知識點 1.指令集 32位ARM指令集:對應ARM狀態 16位Thumb指令集:對應Thumb狀態(是ARM指令集的一個子集) 指令集演進圖 2.BKP備份寄存器(42個16位寄存器組成),用來存儲用戶應用程序數據。在Vdd掉電時由Vbat供電。。在待機復位、系統復位、電源復位后,這些寄存器不會被復位 3.不再像別的ARM7那樣從thumb狀態和ARM狀態來回切換 Thumb-2指令集橫空出世,Cortex-M3不支持ARM指令集 4.DMA用來提供外設和存儲器以及存儲器和存儲器之間的高速數據傳輸,而不需要CPU干預。 當DMA和CM3核同時訪問相同的目標(外設或者RAM)時,總線仲裁器會循環調度,確保CM3核得到至少一半的系統總線帶寬。 5.Cortex-M3的內核是指MCU的CPU,而完整的MCU還要加上其他外設,如存儲器、IO等其他模塊。 下圖是一個MCU內部組成結構圖 6.ARM結構的發展V4(ARM7)、V5(ARM9)、V6(ARM11)、V7A/R/M(Cortex系列) ARM處理器架構進化史 7.Cortex-M3使用的是Thumb-2指令集:支持16位/32位指令,因此不用再來回切換 8.Cortex-M3為32位處理器內核。存儲器機構、寄存器、內部的數據路徑都是32位的。采用哈弗結構,擁有獨立的指令總線和數據總線,使得指令總線和數據總線并行不悖。但是指令總線和數據總線共享同一個存儲器空間。 |