如图2-6所示,细心的读者会发现,开发板上的微控制器STM32F103RBT6上有“ARM”字样,STM32和ARM有什么关系呢?
图2-6 STM32F103RBT6
我们用STM32系统结构图来说明STM32微控制器与ARM Cortex-M3的关系,如图2-7所示。
图2-7 大容量STM32系统结构
从图2-7中可以清晰地看到,STM32是分两部分设计的,其内核由ARM公司设计,而内部集成的DMA、闪存、SRAM、AHB系统总线、FSMC、SDIO、高速外设、低速外设等由ST公司设计,ST公司在ARM提供内核的基础上对NVIC、总线矩阵、总线仲裁等做了很大的优化。
其实,以Cortex-M3为内核设计的芯片公司不止ST公司一家,Luminary、Toshiba(东芝)、NXP(恩智浦半导体)、Atmel等半导体公司都有基于Cortex-M3内核的产品。
Luminary公司是ARM为了推广Cortex-M3内核而投资的一家公司,它早在2006年3月就推出了Cortex-M3的产品,其产品特点是简单、价格低、速度快,所针对的目标是工厂自动化控制、工业控制动力设备以及楼宇自动化等。该公司于2009年5月18日被TI收购。
ST公司是在2007年6月11日宣布推出Cortex-M3内核的STM32产品,其特点是高性能(1.25 DMIPS/MHz)、低成本、低功耗。因为推出得比较早,性价比又高,所以STM32系列在国内的认可度比较高。
NXP公司产品基于Cortex-M3第2版内核,具有极高的代码集成度和极低的功耗,其LPC1769、LPC1759两款产品的工作频率为120MHz,性能上可与低成本的DSP相媲美。
Atmel公司是在2008年才推出Cortex-M3产品的,这是因为该公司本身就有32位的AVR产品。之所以推出ARM内核的产品,是为了对其自身的产品做互补,因而该系列产品的种类不是太多。
表2-2中以ST、TI、NXP、Toshiba、Atmel等几家公司推出的以Cortex-M3为内核的产品做了比较。
表2-2 几种Cortex-M3内核产品的比较
目前,已经拿到Cortex-M3内核许可的半导体公司已经有40多家。随着Cortex-M3的出现,32位单片机将会取代8/16位单片机。51、AVR、PIC、STM32单片机的性能比较见表2-3。
表2-3 51、AVR、PIC、STM32单片机的性能比较
续表
其中,STM32F101R8为基本型中容量控制器,STM32F103RC为增强型大容量控制器。对STM32F101R8与AVR、PIC两款产品进行比较可以发现,STM32在集成度和速度方面都有明显的优势。