《stm32嵌入式系统开发实战指南》一1.4 微控制器选型

1.4 微控制器选型

在项目的最初阶段,首先需要解决的问题是选择适合工程需要的微控制器。通常,选择一款适合工程需求的微控制器,不仅需要考虑成本、主频、硬件接口,还需要考虑是否运行操作系统、配套的开发工具、仿真器,以及工程师对微控制器的经验和软件支持情况等。微控制器选型是否得当对项目开发的进度至关重要,甚至关系项目的成败。

1.4.1 选型因素

(1) 价格及供货保证
芯片的价格和供货是必须考虑的因素。由于许多芯片目前处于试用阶段,其价格和供货处于不稳定状态,所以选型时尽量选择有量产的芯片。
(2) 主频(核心频率)
芯片的主频很大程度上决定了系统的实时性能,选择合适的主频既能保证产品的实时性能,又能将系统硬件成本控制在合理的范围。
(3) 硬件接口
硬件接口通常包括片内外设和可扩展外设接口。芯片的片内外设越接近产品的需求,产品开发相对就越简单。在片内资源无法满足工程需求时,通常需要通过可扩展外设接口来满足某种工程需求。常见的片内外设有以太网MAC、I/O接口、在线仿真接口、外部存储接口等。若硬件平台要支持功能较为齐备的操作系统,往往对RAM和ROM资源的要求就比较高。虽然芯片一般都内置RAM和ROM,但其容量都很小,这就要求芯片可扩展存储器。
此外,若工程中存在浮点运算的需求,应尽量采用带有浮点运算系列的产品来减少工程开发的工作量。处理器的算法分为两大类别:浮点运算和定点运算。通常定点运算处理器运行速度更快,对功率和成本都更加敏感,而浮点运算处理器则可以在较宽的动态范围内提供高精确度运算。动态范围指的是数字格式所能表示的最大数与最小数的比值。而精确度指的是确定分度时的精细程度。
如今某些定点运算处理器能够在极高的时钟频率下运行,如果架构选取恰当的话,它有可能模拟出浮点运算处理器的操作,甚至某些芯片制造商提供的定点运算处理器或控制器的外围支持库能够模拟浮点运算。这种方法以牺牲浮点运算效率来保证低成本和低能耗工作。当然,对于需要进行密集浮点运算的应用来说这并不是最佳方案,但是在某种情况下也不失为一种低成本的好的解决方案。
(4) 操作系统
总体而言,对于需要运行操作系统的工程应用,往往需要更高的主频及容量更大的存储空间,以满足操作系统实时性和编译生成代码空间的需求。通常,对于无需MMU(存储器管理单元)支持的操作系统,其本身需要消耗一定的自身资源,因此工程师应根据操作系统编译后生成代码的大小选择合适存储空间的控制器即可满足要求。而对于运行功能齐备的操作系统(如需要MMU和GUI组件),通常片内存储空间难以满足其空间需求,必须选择具有存储扩展接口的控制器,并根据实际空间需求扩展其存储空间。
操作系统的选择应考虑如下因素:
1)支持的开发工具。某些实时操作系统(RTOS)的开发工具相对封闭,往往由该操作系统供应商提供,开发者往往需要向供应商获取编译器、调试器等,因而带来一些额外的费用;而某些操作系统的第三方工具相对广泛,可供开发者根据个人偏好及项目开发费用进行筛选。
2)操作系统移植。操作系统的移植是一个重要的问题,是关系到整个系统能否按期完工的一个关键因素。因此,要选择那些可移植性程度高的操作系统,最好操作系统供应商能够提供一些工程实例,帮助开发者加速系统的开发进度。
3)内存需求。一般而言,在充分考虑工程需求的基础上,操作系统需要均衡考虑不同操作系统的内存需求与扩展内存带来的额外开销。
4)开发人员对此操作系统及其API的熟悉程度。
5)硬件驱动及第三方工具或协议栈的支持,如网卡驱动、TCP/IP协议栈、SSL协议栈等。
6)可剪裁性。可剪裁的操作系统往往可根据工程的实际需求进行裁剪以最大程度地减小系统资源的额外开销,常见的可裁剪操作系统有嵌入式VxWorks、uCOS、FreeRTOS等。
7)操作系统的实时性能。
(5) 应用领域
常见的应用领域有航空航天、通信、计算机、工业控制、医疗系统、消费电子、汽车电子等。一般来讲,产品的功能和性能对应用领域具有约束作用,产品的功能和性能的确定将缩小选型的范围。同样,应用领域的确定也将缩小选型的范围。如工业控制领域和航空航天领域的产品通常要求工作温度范围较宽,一般应选择工业级或军工级的芯片。
(6) 功耗
手持设备、PDA、平板电脑、智能手机、GPS导航器、智能家电等消费类电子产品市场的快速增长使得对嵌入式微处理器的需求也不断提高。这些产品通常采用电池供电,系统的电池供电带来了一整套全新的应用需求。它们需要使用一个外形紧凑、节能的处理器解决方案。这种限制使得设计者必须在处理性能和功率或效率之间权衡利弊,做出折中。
低功耗的产品能减少对能源的消耗,从而减少环境污染。对个体而言,它能够减少人们的经济开销、提高用户体验的舒适度,因此低功耗也成为芯片选型时的一个重要指标。
(7) 封装
常见的微处理器芯片封装主要有DIP、QFN、QFP、BGA几大类型。BGA类型的封装焊接比较麻烦,焊接成本相对较高。但BGA封装的芯片体积相对较小,能有效减小产品的体积。开发人员应根据需求进行折中选择。如果对产品体积无特殊要求,选型时尽量选择DIP、QFN或QFP封装。
(8) 芯片的可延续性及技术的可继承性
产品更新换代给产品的维护带来一定的额外风险。因此,开发人员在选型时要考虑芯片在未来一段时间内供货的可靠性。在芯片选型时,需要考察制造商对该系列内核芯片开发的延续性和继承性。一般而言,首选知名半导体公司,并据上述原则对其产品进行考察,做出最终选择。
(9) 仿真器
仿真器是硬件和底层软件调试时要用到的工具,是开发工作赖以进行的必要工具,开发人员需要利用仿真器安装固件,调试、验证开发程序的正确性。选择适合的仿真器,将为开发带来诸多便利。对于已有仿真器,开发人员需要留意其对所选芯片的支持情况。
(10) 技术支持
若开发人员对待选的芯片或操作系统较为陌生,则应优选技术支持较为全面的制造商所提供的芯片。优质的技术支持能帮助开发人员快速开展开发工作,避免开发工作中的探索过程和意外的风险。所以选芯片时最好选择知名的半导体公司。此外,选择成熟度较高的芯片可以从网络获得较多的共享资源,在满足工程需求的情况下,也是规避开发风险的一种方法。
(11) 开发工具
好的软件开发工具是提高开发效率的必要条件,优秀的开发工具能有效提高开发人员的工作效率。不仅如此,选择合适的软件开发工具对系统的实现会起到很好的作用。
(12) 开发周期
如果工程的开发周期较为紧迫,开发人员应尽量选择相对熟悉或技术支持相对完善的制造商所提供的芯片。

1.4.2 选型示例

  1. 需求
    1)工程需求:工业通信网关,实现网口和RS232通信接口报文的互发互收,报文长度不超过128B。
    2)操作系统:FreeRTOS V7.1。
    3)主频:60 MHz以上。
    4)接口:带DMA控制的以太网控制器、2个以上RS232串口、1个USB 2.0接口、1个SPI接口、2个CAN总线接口。
    5)时钟:实时时钟或实时定时器。
    6)引脚封装:QFP。
    7)价格:不超过80元。
  2. 选型需求分析
    需求1)将“应用领域”定位于工业通信领域。目前市场上生产较适合于工业控制的微处理器的半导体公司有 NXP、Atmel、ST公司。
    需求2)所选操作系统是内存需求较小的FreeRTOS V7.1操作系统,其无需MMU的支持,所以把选型范围缩小到ARM7和Cortex-M3系列,Cortex-M3系列采用最新架构,其性能优势较ARM7明显,也是未来发展的趋势,因此暂将芯片定位在采用Cortex-M3内核的芯片。
    结合需求3)、需求4)及工程应用需求,芯片必须带有DMA控制的以太网接口和CAN总线接口,而且芯片主频必须达到60MHz以上。在NXP、Atmel、ST公司生产的芯片中,具备此两种接口的有:NXP公司的LPC系列、Atmel公司的SAM3系列和ST公司的STM32FX07系列。
    根据需求4)~7),综合考虑选型因素,由于ST公司是业内率先推出Cortex-M3内核的厂家,其产品系列相对丰富,技术也相对成熟,因此在ST公司的互联型产品中优先选择符合需求4)~7)的芯片。根据提供的选型表,可选择STM32F107VCT6。
时间: 2024-08-03 03:41:52

《stm32嵌入式系统开发实战指南》一1.4 微控制器选型的相关文章

《stm32嵌入式系统开发实战指南》一导读

前 言 自20世纪90年代,鉴于多任务支持.开发便捷.便于维护等特性,同时能够提高系统的稳定性和可靠性,嵌入式实时操作系统(RTOS)逐渐为广大嵌入式从业人员所接受和认可,越来越多的工程师加入使用RTOS的队伍. 与此同时,半导体技术的快速发展及市场需求的多样化对RTOS提出了更高的要求.一方面,新型处理器的大量涌现要求RTOS自身结构的设计应易于移植,以适应不同硬件架构平台的应用.另一方面,人们在使用RTOS进行系统设计的同时,不仅希望得到供应商的技术支持,而且希望获得RTOS的源代码,以便对

《stm32嵌入式系统开发实战指南》一3.1 开发环境及搭建

3.1 开发环境及搭建 3.1.1 常见开发环境 1.ADS1.2 ADS是ARM公司的集成开发环境软件,拥有非常强大的功能.ADS的前身是SDT,SDT是ARM公司几年前的开发环境软件,目前SDT早已经不再升级.ADS包括四个模块,分别是:SIMULATOR.C编译器.实时调试器和应用函数库. ADS的编译器与调试器较SDT都有了非常大的改观,ADS1.2提供完整的Windows界面开发环境.ADS1.2的C编译器效率极高,支持C以及C++,使工程师可以很方便地使用C语言进行开发.ADS1.2

《stm32嵌入式系统开发实战指南》一2.2 主要板载资源

2.2 主要板载资源 本节介绍STM32F107微控制器的主要片内外设,着重介绍10/100M以太网接口.CAN总线接口和RS485总线接口. 2.2.1 10/100M以太网接口 1.功能介绍 STM32F107的以太网模块支持通过以太网收发数据,符合IEEE 802.3-2002标准.STM32F107以太网模块灵活可调,能适应各种不同客户的需求.该模块支持两种标准接口连接到外接的物理层(PHY)模块:IEEE 802.3协议定义的独立于介质的接口(MII)和简化的独立于介质的接口(RMII

《stm32嵌入式系统开发实战指南》一1.3 STM32互联型嵌入式控制器

1.3 STM32互联型嵌入式控制器 半导体制造厂商意法半导体(ST)是率先推出基于Cortex-M3的32位微控制器系列产品的厂家之一.STM32系列产品所用的微处理器是ARM公司为要求高性能(1.25 DMIPS/MHz).低成本.低功耗的嵌入式应用专门设计的Cortex-M3内核.STM32系列产品得益于Cortex-M3在体系结构上进行的多项改进,所有新功能都同时具有优良的功耗水平.本节着重介绍意法半导体STM32互联型嵌入式控制器的特色及主要的工程应用. STM32互联型嵌入式控制器让

《stm32嵌入式系统开发实战指南》一1.1 ARM内核处理器沿革

1.1 ARM内核处理器沿革 ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,1991成立于英国剑桥,该公司主要出售芯片设计技术的授权.人们将采用ARM技术知识产权(IP)核的微处理器称为ARM 微处理器.ARM公司利用独特的商业模式在全球范围内拥有极其广泛的合作伙伴.ARM公司将其技术授权给世界上许多著名的半导体.软件和OEM厂商,每个厂商得到的都是ARM公司提供的一套独一无二的ARM相关技术及服务,这些合作伙伴又保证了大量的开发工具和丰富的第三方资源.利用

《stm32嵌入式系统开发实战指南》一1.2 Cortex内核系列处理器技术特点

1.2 Cortex内核系列处理器技术特点 1.2.1 ARM Cortex-M系列处理器 ARM Cortex-M3是一种基于ARMv7体系结构的最新ARM嵌入式内核,它采用哈佛结构,使用分离的指令和数据总线(与冯?诺依曼结构的数据和指令共用一条总线相比,双总线架构使吞吐量得到有效提升).除了使用哈佛结构,Cortex-M3 还具有其他显著的优点:具有更小的基础内核.价格更低.速度更快.与内核集成在一起的是一些系统外设,如中断控制器.总线矩阵.调试功能模块,而这些外设通常都是由芯片制造商增加的

《stm32嵌入式系统开发实战指南》一2.1 STM32F107开发板

2.1 STM32F107开发板 本书中的所有例程均以内核为STM32F107的开发板为硬件平台进行介绍.STM32F107 VCT6是意法半导体公司推出的全新STM32 互联型(Connectivity)系列微控制器中的一款性能较强的产品.此芯片集成了各种高性能工业标准接口,且STM32不同型号的产品在引脚和软件上具有完美的兼容性,可以轻松适应更多的应用.STM32新系列的标准外设包括10 个定时器.两个12位1Msample/sAD(快速交替模式下达到2M sample/s).两个12位DA

《stm32嵌入式系统开发实战指南》一3.3 创建工程

3.3 创建工程 本小节以一个简单的DEMO为例,向读者展示如何创建一个工程实例.在介绍之前,应首先从ST公司官方网站获得STM32FXXX系列芯片的驱动库,其官方网址为:http://www.st.com/internet/com/SOFTWARE_RESOURCES/SW_COMPONENT/FIRMWARE/stm32f10x_stdperiph_lib.zip.接下来具体介绍操作步骤. 1)启动IAR EWARM,如图3.25所示. 2)单击"File"→"New&q

《stm32嵌入式系统开发实战指南》一2.3 硬件设计要点

2.3 硬件设计要点 本节以电路的电磁兼容设计为出发点,简要介绍在硬件开发工程中的注意事项和要点,并讲述了板级电路的信号完整性设计.电源完整性设计一般原则. 2.3.1 电磁兼容问题 电磁兼容性是电子设备或系统的主要性能之一,电磁兼容设计是实现设备或系统规定功能.使系统效能得以充分发挥的重要保证.设计人员必须在设备或系统功能设计的同时进行电磁兼容设计,充分考虑系统.分系统与周围环境之间的相互骚扰. 电磁兼容设计的目的是使所设计的电子设备或系统在预期的电磁环境中实现电磁兼容.最终的设备或系统应能在