在线工博会

选择32位单片机简化开发工作
Silicon Labs Shahram Tadayon
为节省流量,手机版未显示文章中的图片,请点击此处浏览网页版
传统上,选择32位单片机(MCU)的关键因素在于中央处理单元(即内核CPU)的选择。直到最近,32位MCU已有基于多种内核(包括某些情况下的专有架构)的产品。因此,嵌入式设计人员要么继续使用一种内核,要么需要花费更多时间学习新的硬件知识和移植现有软件代码。过去几年里,MCU产品中ARM Cortex内核的出现改变了嵌入式的原有状态。开发人员把注意力从专用32位内核向基于ARM Cortex处理器的MCU转移,这样可以改变向单一供应商订购MCU的局面。基于ARM处理器的MCU的生态系统已经日益壮大,这包括第三方编译器、实时操作系统、软件协议栈、LCD图形显示等。目前,大多数主流MCU供应商都生产基于ARM处理器的产品,这使得ARM Cortex内核成为了32位MCU事实上的标准。
选择基于标准内核的32位MCU提供了较以往更多的选择,因此,为特定应用选择合适的MCU需要考虑多种因素,困难大大增加。首先,开发人员需要基于多个关键参数减少备选MCU的数量,例如存储大小、输入输出引脚数量和通信接口等。可能有多个供应商的基于ARM处理器的MCU产品能够满足基本需求清单,因此,开发人员需要通过其他重要因素进一步缩小选择范围,例如:混合信号集成度、可配置性、功耗和开发难度等。
选择集成通用器件的32位MCU能够帮助开发人员减少整体系统成本、降低设计复杂度并缩短开发时间。例如,Silicon Labs Precision32混合信号MCU具有多种其他MCU通常不具备的集成特性,例如USB振荡器、5V稳压器、6个可编程高驱动能力引脚(可提供高达300mA电流),以及16个电容感应输入通道(用于触摸按键或滑动条)。高集成度可以减少多个分立元器件,提供更加灵活的供电选择,从而节省BOM成本,简化开发流程。
为了解使用高集成度混合信号MCU所带来的好处,我们来研究一下典型的条形码扫描仪。为了读取条形码,扫描仪向由电机提供动力的振动反射镜发射激光(见图1)。激光照射到条形码,然后条形码图像被电荷耦合器件(CCD)传感器捕获。CCD传感器类似照相机,一次能够捕获一行像素,比如1×1024像素。模拟光强度信号最后传输到模数转换器(ADC)。具有大电流驱动能力的MCU消除了过去用于驱动激光和电机的功率晶体管。选择可为CCD传感器提供时钟同步接口的MCU也可以简化设计人员的工作。

(图片)

图1:高集成度MCU为条形码扫描仪带来好处

最好的情况是,MCU的ADC能够与快速的CCD摄像头保持同步(通常大于1MSPS)。对于5V的CCD传感器,电源管理IC在大多数设计中也必不可少,它为传感器提供输入电压,MCU和其他器件则需要3.3V输入电源。
在这个条形码范例中,Precision32 SiM3U1xx USB MCU可以驱动同步时钟到传感器,轻松做到与快速CCD采样速率同步,同时能够通过3.3-5V DC-DC升压控制器为传感器提供电源,从而进一步降低系统元器件数量。此外,在USB供电的扫描仪中,Precision32 MCU具有片内稳压器,可以直接从USB获取电源;片内48MHz振荡器具有能够锁定USB信号的创新时钟恢复电路,精度高于0.25%,使USB运行无需外部晶体。条形码扫描仪中还集成了其他功能:当扫描成功时可直接驱动蜂鸣器提醒用户;使用电容触摸按键代替机械按键;以及为无线扫描仪提供硬件加密数据保护。
设计中需要考虑的另一个重要因素是灵活性——能够快速而轻松地适应变化,并且不增加开发成本。为了加快研发进度,设计人员通常在之前项目的基础上进行修改设定以适应新的需求。然而,要想有效达到设计要求,重要的是能够选择和修改MCU外设及其布局。大多数MCU为外设提供了预置位置和固定的替代选择。预置引出线通常会导致引脚冲突,迫使开发人员改变其设计,或改用更大、更昂贵的封装。理想的方案是采用Silicon Labs专利技术双crossbar MCU架构(如图2所示),开发人员可以首先选择所需外设,然后再决定外设引脚的位置,这赋予开发人员更大的灵活性。

(图片)

图2:采用灵活的双crossbar架构的Precision32 MCU

选择最佳的所需外设通常意味着可以采用体积更小、性价比更高的封装。例如,在需要4个带流量控制UART(16个引脚)和2个SPI(6个引脚)的通信集线器中,开发人员仅需选择一款略高于22个I/O的MCU即可。然而,如果使用标准的固定架构,4个UART和3个SPI可能需要64引脚甚至100引脚的封装才能满足合适的外设组合。采用灵活可配置的crossbar技术,开发人员可以很容易地在40引脚封装中实现这种外设组合,另外还有几个引脚空闲。此外,通过优化外设位置,开发人员可以把外设放置到其连接电路的附近,这样既可以缩短导线长度,也可以潜在地减少PCB的设计层数。最重要的是,最终设计变动可以通过软件轻松实现。例如,如果通信集线器需要带SPI接口的另一IC,没有问题——只需修改软件,就可以轻松地将第三个SPI端口添加到同一封装中。
灵活的crossbar架构会带来许多好处,那么高可配置的crossbar架构MCU有没有缺点呢?一些开发人员担心crossbar架构会导致编程更复杂。为了简化开发人员的工作,Silicon Labs提供了创新的AppBuilder工具——用于简化初始化和配置的免费软件开发工具。基于GUI的AppBuilder工具能够使开发人员快速地以图形化的方式选择其外设组合、配置外设属性、设定时钟模式和自定义引脚功能,所有这些都无需阅读数据手册。AppBuilder甚至能够产生用于主流编译器的源代码,例如Keil、IAR和GCC。
选择32位MCU的最后一个重要因素是电源效率。实际上,超低功耗已经成为各种嵌入式应用中最为关心的一个问题。现在随着人们对“绿色环保”和降低能耗的重视,设计人员必须密切关注其整体功耗预算。许多方法都可以降低能耗,如何有效降低能耗取决于最终应用。例如,血糖监测仪,患者每日使用的次数很少,绝大多数时间监测仪都处于深度休眠状态。因此,在这个应用中,尽量降低休眠模式的功耗尤为重要。
另一方面,对于传感器节点设备,需要不间断地监测事件状态。如果传感器节点连续监测事件,就必须一直处于工作模式。真是这样么?事实并非如此!传感器节点可以进入休眠模式,快速唤醒,检测事物(例如检测烟雾)是否正在发生,然后再进入休眠状态。在类似的系统中,重要的是具有支持实时时钟(RTC)唤醒的低功耗休眠模式,可以进行有规律的唤醒,例如每100μs。快速唤醒时间也非常重要,处理器可以快速运行固定的命令去检测是否有事件正在发生。
而有些应用不能进入休眠模式,例如工厂生产线设备。在这些应用中,使用具有低功耗有功电流的MCU就显得非常重要。另外,还可以运用其他诀窍节省功耗,例如,降低运行频率,只采用满足特定任务所需的处理速度。
很难找到能同时满足超低功耗休眠模式、活动模式、唤醒时间和动态频率改变特性的32位MCU。Precision32 MCU系列产品通过提供多种低功耗选择来满足这些要求,如图3所示。Precision32 MCU系列产品可以在低于100nA电流下运行,包括掉电检测和4kB RAM保持功能;如果要启动实时时钟,则需额外增加250nA电流;选用模拟比较器则需要另外消耗400nA,甚至还可选用低功耗定时器和脉冲计数器。MCU能够在数微秒内从低功耗休眠模式中唤醒。另外,Precision32 MCU拥有极低的275μA/MHz的活动模式电流,具有复杂的能够锁频到1~80MHz中任意频率的PLL,使开发人员可以优化功耗。

(图片)

图3:Precision32 MCU致力于实现所有模式下的超低功耗

一段时间以来,许多主流MCU供应商推出使用相同内核、相似存储容量、多I/O引脚和串行外设的32位器件,这让设计人员通常认为嵌入式设计中选择MCU并不是什么难题。然而,通过为特定设计选择恰当的MCU,开发人员能够显著减少开发时间,降低功耗和整体系统成本,同时,提供的设计灵活性使得即使是最终设计有所变动,也无需进行大幅度的修改设计。总之,从一开始就选择具有灵活架构的32位MCU是明智之举,这可以极大简化开发人员工作。 8/8/2012


电脑版 客户端 关于我们
佳工机电网 - 机电行业首选网站