历史上的今天
今天是:2025年04月10日(星期四)
2018年04月10日 | 运用32位高集成度混合信号微控制单元简化系统设计
2018-04-10 来源:eefocus
ARM Cortex内核改变了MCU产品的传统形态,毕竟通用的标准有助于减少整体系统成本、降低设计复杂度并缩短开发时间。开发人员在为特定设计选择MCU时需考虑诸多因素,如存储大小、输入输出引脚数量、通信接口等。然而,在多种基于ARM标准内核的MCU产品都满足基本需求的情况下,SILICon Labs认为开发人员可从下列因素中进一步缩小选择范围,例如:混合信号集成度、可配置性、功耗和开发难度等。Silicon Labs期望通过Precision32系列产品,重塑32位MCU产品领域的多功能、一体化、高能效和易用特性。
集成多种外设降低系统成本
Precision32结合了Cortex-M3 CPU和多种模拟组件,主要包括:两个12位ADC、两个10位DAC、一个振荡器、一个16通道触摸传感器,以及Flash闪存、定时器、计数器和串行接口等(图1),适用于包括便携式医疗装置、销售终端外设、电机控制、工业监控、条码扫描仪、光学触摸屏接口、传感控制器和家庭自动化系统等应用在内的各种领域。

图1,Precision32 MCU框图。
据介绍,该系列产品外设集成度较高,集成了先进锁相环(PLL)的精密振荡器,而无需昂贵的8MHz晶体,可为无外部晶体的USB操作提供所需的高精度时钟,同时内核可以独立工作在1MHz~80MHz任何频率;内部5V电压调节器使MCU可直接从USB或5V电源供电,无需外部稳压器;六个高驱动I/O(每个高达300mA),可直接驱动高功率LED、小马达、蜂鸣器和功率MOSFET,并可以作为升压转换控制器;电容触摸通道多达16个,减少按键、滑动条或滚轮应用中额外需要的触摸传感器IC;Precision32系列产品提供完整的USB2.0 PHY和模拟前端,可直接连接到USB控制器接口,而其他大多数MCU需要外部USB上拉电阻和终端电路。通过集成以上片上外设,大大减少了外围元器件数量和系统成本(图2),可节省BOM成本达1.34美元。

图2,典型的基于MCU设计中,高集成度Precision32芯片能替代多个外围元器件。
延续 8位MCU优势
据Silicon Labs公司单片机产品线总经理MikeSalas 介绍, 该公司在开发8位MCU产品方面已有十多年经验,因此在研发Precision32时,延续了前代产品的诸多优势: 首先是低功耗设计方面,通过Silicon Labs专利的低功耗设计技术降低了每个MCU区块功耗,与其它同类32位方案相比,工作电流减少达33%(在80MHz时22mA或275μA/MHz),休眠电流降低100倍(0.35μA,启动RTC并且4KB RAM内容保留)。此外,多种电源模式和时钟选项也能够在特定性能水平下,优化设计并达到最低功耗。
其次, 在架构的选择方面,继续优化其8位MCU的Crossbar架构(图3),并通过与拖拽式的GUI结合,可使开发人员更加容易地选择所需模拟和数字外设,并为外设分配引脚。而同类MCU通常需预定义外设位置和引脚,导致潜在引脚冲突,迫使他们不得不改变设计或是使用更大、更昂贵的封装。

图3,专利Crossbar架构可确保最大灵活性。
此外,在无外部晶体以及ADC的设计方面,都继续发挥了已有优势。Mike Salas认为,竞争对手在MCU开发过程中可能更注重闪存和RAM等等,而Silicon Labs的独特之处在混合信号的处理和集成方面,Precision32系列产品的模拟外设具有全温度和电压(低至1.8V)范围内的额定特性。
MCU产品策略解读
在众多MCU厂商纷纷推出基于ARM Cortex-M4的产品时,SiliconLabs为何仍对Cortex-M3情有独钟?跳过16位MCU,直接推出32位产品,又是出于怎样的考虑?
Mike Salas表示,经过深入的市场调查,Silicon Labs认为Cortex-M3的市场并未饱和,仍有大量的发展空间,从这一内核起步会是一个不错的选择。而之所以跳过16位的产品,主要是因为Silicon Labs在8位MCU时代已推出一些能够与16位MCU相媲美的高性能产品,因此不再着重开发16位产品,而是在32位MCU领域抢占更多市场机会,通过8位与32位共同发展的策略来布局MCU市场。Mike Salas说:“混合信号的整合和处理一直是Silicon Labs创新的重中之重,包括在混合信号处理方面的遥感器、无线的控制器等等。我们会在多方面实现创新,不光是在内核处理方面,还有低功耗、高功效的外设集成。
史海拾趣
|
一周后,所有制作的板子都将回来: 目前正在着手进行的任务为: 1、器件的采购; 2、在Altera提供的CY3的开发板上进行代码的编写和初步试验,待板子回来后进行验证。 届时,期待大家的关注和意见。… 查看全部问答> |
|
请问各位大侠,我在基于vs8的智能设备工程中使用CFile类打开文件时,发现打开不了文件,代码如下: CFile file ; CFileException ex; BOOL bBool = file.Open( _T(\"123.txt\"), CFile::modeRead, &ex); if ( bBool == 0 ) { & ...… 查看全部问答> |
|
请教:芯片的参考电压是怎么确定的?例如 选用一颗DAC108S085的DA,Vdd = 5v;参考电压Vref = 4.096V; (有些片子的电源供电为3V 则参考电压一般就选2.5v等。) 请问 为什么是4.096;如何确定的?依据是什么?请高手解释!&n ...… 查看全部问答> |
|
胀管机是针对冷凝器、冷油器、加热器、换热器中各类管材与管板胀接需要而设计开发的一种专用设备。其控制器的基本原理是用驱动电机(又称驱动马达、胀管机头)的工作电流来标定所加载的负荷,即驱动电机在一定的工作电流值下,提供相当数量的扭矩,而 ...… 查看全部问答> |
|
#include #include #include #include #include\"stdlib.h\" #include\"string.h\" #define JINGZHEN 48 #define TIME0TH((65536-100*JINGZHEN/12)&0Xff)>>8 #define TIME0TL((65536-100*JINGZHEN/12)&0xff) #define TIME1TH((65536-5000* ...… 查看全部问答> |
|
本人写了一个程序,主要是在定时器1中每20ms监控外界端口IO状态,当IO口状态发生变化时,在定时器内把数据存到数组中,然后作标志位,主程序不停查询该标志位,当标志位为1时,通过串口把数组的数据发送出去。但是在长期工作后(不定时,长达几天几 ...… 查看全部问答> |
|
LPC1754的UART2功能,端口0和端口2都具有这个功能,但是为什么使用端口0的UART2可以,但端口2的UART2却无法运行呢,UART2初始化代码如下,端口0与端口2的UART2引脚都配置了,端口2无法运行,还望大家提出一下意见,实在是不知道错在哪里了void uart ...… 查看全部问答> |




