Microchip

Graham Mostyn Microchip 时序和通信部 应用工程经理

几乎每个电子器件都需要一个时钟源。例如,单片机(MCU)使用振荡器来前进到下一条指令,无线电需要通过精确的振荡器来将射频信号混合到基带中加以处理。

智能联网设备的出现对时钟性能提出了更高的要求。本文解释了设计师如何在应对这些挑战的同时降低技术风险、缩短设计时间以及削减物料清单。我们着眼于采用石英和基于MEMS的技术的石英晶体、石英晶振(XO)和高度集成的时钟解决方案。

智能联网设备需要复杂的时钟树

MCU通常包括用于非精密计算应用的内部RC移相振荡器。这些振荡器使用集成的电阻-电容对来创建控制振荡器频率的时间常数。此类振荡器具有大约1%的精度并且表现出高抖动(在时钟转换的时序中会出现意外的随机波动)。 它们适用于不注重转换时序的应用,例如为计算用MCU提供时钟以及驱动一个简单的七段数字液晶显示屏(LCD)。显示屏需要多个时钟波形,但转换时序容差为几毫秒。此外,也可实现高达几Mbps的UART通信,这种情况下的时序容差为几百纳秒,但这同时也代表着简单RC振荡器的限值。

智能联网产品通过Bluetooth®、有线以太网、Wi-Fi®或其他连接协议与云端进行网络通信。由于涉及无线电和/或高速数据,因此需要精度达百万分之几(ppm)的低抖动精密时钟。

生成精密时钟所需的关键因素是稳定的参考频率,而这需要使用谐振器。谐振器是一种电子无源器件,在某些(谐振)频率下自然振荡的幅度高于其他频率——小提琴琴弦就是一个简单的例子。电子器件通常选用石英晶体和MEMS谐振器。

谐振器的要求如下:

1. 谐振频率随时间和温度变化呈稳定态势。这样可以避免时钟频率漂移。
2. 高品质因数(Q),确保谐振器只响应很窄的频带。
3. 能够在高信号电平下工作,从而在输出端达到良好的信噪比

第二项和第三项对于确保低抖动时钟信号至关重要,可实现稳定的时序转换。

由于谐振器是无源器件,因此需要受控的能量来维持振荡并产生参考频率。将谐振器以反馈配置耦合到维持放大器可实现这种稳定的振荡。如果石英晶体或MEMS谐振器配有合适放大器,会非常适合作为10 Mbps及以上域中数据传输的频率参考。

石英谐振器具有高Q值和高输出能力,适用于抖动必须极低的应用。 可以实现100飞秒的相位噪声(在传统的12 kHz至20 MHz带宽中测量)。MEMS谐振器能够以非常稳定的频率在扩展级温度下工作,而且兼具极高的可靠性以及抗冲击和振动性能,并能够实现超小型时钟解决方案(接近1平方毫米)。 MEMS谐振器具有较高的Q值和较低的输出;可实现500飞秒的相位噪声,而近期的谐振器设计也在不断降低该值。例如,许多现代网络应用(例如PCIe)都支持较小的集成带宽,因此这两种技术都非常合适。

在嵌入式系统中实现时钟

在嵌入式系统中,可通过三种常见的谐振器实现来产生时钟信号。

  •   将石英晶体直接连接到“目标SoC”(将由时钟驱动)

是时候改进您的时钟了!
图1:两个晶体直接连接到MCU,显示负载电容和串联电阻


  •   通过石英晶振(XO)为整个系统创建一个时钟输出
是时候改进您的时钟了!
图2:晶振由石英晶片组成,传统上采用陶瓷封装并带有金属盖


  •   基于石英或MEMS的时钟发生器(以低频和高频[>50 MHz]创建一个或多个时钟输出)
是时候改进您的时钟了!
图3:集成时钟发生器将MEMS(或晶体)谐振器与振荡器相结合,并通过可编程PLL和缓冲输出级扩展功能

点击下载pdf格式

围观 9
13

CryptoAutomotive™ 开发工具包为OEM和一级客户提供保护现有汽车网络的工具

汽车中大量采用信息娱乐和高级驾驶辅助系统(ADAS)等现代化的便利设施显著改善了每天的出行体验。但是,与此同时,增加这些为消费者提供便利的设施也给了黑客可乘之机,黑客们反复利用这些漏洞,着实给系统造成了安全威胁。这一问题在汽车行业可能而且已经引发了车辆召回、收入损失和品牌形象受损等问题。原始设备制造商(OEM)和一级供应商面临的问题不再是汽车网络是否需要安全措施,而是如何在实际中实施安全措施,且不会因彻底修改设计而产生高昂成本。

Microchip Technology Inc. (美国微芯科技公司)推出的全新CryptoAutomotive™ 汽车网络(IVN)信任锚/边界安全设备(TA/BSD)开发工具包让OEM和一级供应商能够对联网汽车系统实施安全保护,从最重要的领域开始,将最高级别的保护部署进汽车网络的每处。CryptoAutomotive TA/BSD开发工具包业内唯一的专为保证安全而设计的汽车工具,通过模拟汽车网络中的安全节点,为系统设计师提供实施安全措施的直观着手点。这款工具允许制造商根据各种规范和行业标准灵活配置安全节点,几乎涵盖了各种安全措施。该工具可以实现安全密钥存储、电子控制装置(ECU)身份验证、硬件加密加速器和其他加密元素。与主机单片机配合使用时,使得设计师能够实施安全启动和控制器局域网(CAN)消息验证等功能,包括在适当情况下通过附加消息验证码(MAC)将CAN 2.0消息转化为可变速率CAN数据(CAN-FD)。

Microchip提供全方位的汽车安全保障。通过协同工作方式,TA/BSD仿真工具包允许OEM继续采用现有单片机(MCU),并在随后添加TA/BSD工具包仿真的伴随芯片,从而利用经过安全标准认证的现有MCU固件。这些伴随芯片将经过预编程,内置安全措施,然后提供给客户,从而实现真正的硬件密钥保护。与采用高端的安全MCU重新设计系统相比,这种“随后添加”的方法可以带来极大的成本优势和上市时间优势。采用高端的安全MCU就意味着需要对MCU的固件架构做重大调整,从而通过硬件和软件共同实施安全措施。

TA/BSD工具包可以与任何ECU、架构、配置或总线配合使用,从而在现有系统中灵活实施安全措施,避免大规模重新设计。伴随芯片解决方案将MCU代码更新量降到最低,因此几乎不会影响现有主机MCU的功能安全评级。这种方法还消除了对内部安全专业知识的需求。该工具提供具有预配置选项的在线图形用户界面(GUI)程序,以便简化和促进实施工作。

Microchip安全产品部副总裁Nuri Dagdeviren表示:“随着AI技术的巨大进步,迅速提高的自动化程度以及呼之欲出的自动驾驶汽车,业内已普遍认识到保证汽车网络的安全是一项明确而紧急的必要任务。借助这种灵活的“随后添加”方法,Microchip的汽车开发工具包为OEM和一级供应商提供了必要的工具,以便在现有汽车网络中迅速实施安全措施。”

供货

CryptoAutomotive安全IC TA/BSD 开发工具包(DM320112)现已上市。若需购买该工具包,请登录Microchip全方位在线销售渠道microchipDIRECT。如需了解详细信息,请联系Microchip销售代表或者访问Microchip网站 www.microchip.com/cryptoautomotive

围观 7
79

实时测量直流和交流电源功率,并且精度达到行业领先水平的单颗IC

在同时使用交流和直流电源的系统中,实现双模功率监控传统上需要多个IC才能保证卓越的性能和准确性。越来越多的应用,例如太阳能逆变器、智能照明和云服务器通常使用双模式来保持安全运行,使用交流电作为主电源,直流电作为备用电源,或者反过来。为了优化性能,降低此类系统的开发难度,Microchip Technology Inc.(美国微芯科技公司)推出灵活的双模功率监控IC,在测量交流和直流功率时,能在宽达4000:1的范围内,精度达到行业领先的0.1%。将功率计算和事件监控融入到一个IC中,降低了材料成本,缩短了固件开发时间。欲了解更多信息,请访问:www.microchip.com/MCP39F511A

MCP39F511A功率监控IC是一款高度集成的器件,可以满足高性能设计对功率测量精度越来越高的要求。为了简化校准步骤并满足对精度的极高要求,该器件包含两个24位D-S模数转换器(ADC)(信纳比达94.5 dB )和一个16位计算引擎。MCP39F511A适用于消费类应用、物联网应用(IoT)和工业应用等应用类型,可以自动检测电源类型并在交流和直流模式间切换,从而优化测量结果。该器件的片内EEPROM可记录关键事件,帮助开发人员进行故障诊断,此外该器件还集成了低漂移基准电压和内部振荡器可降低成本。

使用MCP39F511A还具有灵活和方便实施的优点。该器件提供标准功率计算,例如有功、无功和视在功率、有功和无功电能、均方根(RMS)电流和电压、线频率以及功率因数,让设计人员能够通过最少的固件开发,就能为终端应用轻松添加高精度功率监控功能。为了进一步简化开发工作,MCP39F511A加入了许多高级功能,例如在断电或上电时自动将功率数据保存至EEPROM并从EEPROM自动读取功率数据,保证意外断电时测量结果永不丢失。针对各种功率条件的事件监控功能还可以改善预防系统维护,让开发人员能够更好地进行功耗管理。

Microchip混合及线性信号产品部门副总裁Bryan Liddiard表示:“在智慧城市和智慧家庭等新兴市场中,开发人员希望监控产品性能并改善能源利用,因此功率监控变得越来越普遍。MCP39F511A为客户提供简化的开发途径,让客户能够以业界领先的精度同时监控交流和直流电源。”

开发工具

该器件受全功能单相功率和电能监控系统MCP39F511A功率监控演示板(ADM00667)支持。该系统可以计算并显示有功功率、无功功率、RMS电流、RMS电压、有功电能(输入和输出)和四象限无功电能,通过USB轻松连接提供自动控制功能的“功率监控实用软件”,让用户轻松评估所有系统配置设置。

对于批量采购的情况,Microchip的Application Center of Excellence(卓越应用中心)可以基于客户硬件校验提供定制固件的器件,帮助节省校验成本和时间。

供货

MCP39F511A起订量为10000片,MCP39F511A 功率监控演示板(ADM00667)也已开始供货。

欲了解更多信息,请联系Microchip销售代表或全球授权分销商,也可访问Microchip官网。欲购买文中提及产品,可登录Microchip全方位服务渠道microchipDIRECT在线商店或联系Microchip授权分销合作伙伴。

围观 5
225

工业和家用电器市场中的各种应用要求使用数学运算来实现不同的算法和计算。基于 Cortex®-M0+的单片机包含加法、减法和乘法指令。Cortex-M0+架构没有用于除法运算的汇编指令,除法逻辑可以根据不同的编译器而变化。基于 Arm® Cortex-M0+的单片机(MCU)具有一个可配置选项,可通过该选项使用快速乘法器进行乘法运算。基于该可配置选项,乘法运算可以为单个周期指令到最多 32 个周期指令不等。

SAMC21(一款 Cortex-M0+ MCU)非常适合需要数学计算的应用。SAMC21 MCU 具有可进行乘法运算的快速单周期乘法器选项,还具有一个新的外设,称为除法和平方根加速器(Division and Square Root Accelerator,DIVAS),可用于执行快速除法和平方根运算。

1. 概念

适用于 Arm 架构的应用程序二进制接口(Application Binary Interface,ABI)包含一系列标准,其中有些是开放的标准,还有一些是 Arm 架构专用标准。ABI 可管控各种基于 Arm 的执行环境中二进制文件和开发工具的互操作。支持 Arm MCU 的编译器需符合这些标准。这些标准的其中一项是适用于 Arm 架构的运行时 ABI。此标准为 ABI 指定辅助函数,使之能够支持 C、C++和算术运算。对于除法,编译器会用各自的库代码替换除法和模运算符(即,使用重复减法来实现除法)。该库代码将数百个字节添加到代码存储器,MCU 消耗 50 到 400 之间任意数量的时钟周期,具体取决于操作数的大小。编译器可通过过载运行时ABI 辅助方法来使用 DIVAS 功能。DIVAS 展现出的性能优于编译器除法(即,比除法 65535/3 少 50 个时钟周期)。DIVAS 支持整数平方根运算,而不需要任何额外的库依赖关系。

注: 模运算符使用除法来取得余数,因此需要过载。DIVAS 的性能表现可能会随着被除数和除数的值而变化。

2. 解决方案/实现

DIVAS 只支持 32 位整数除法。用于除法运算的运行时 ABI 辅助方法过载,以便编译器了解除法应使用DIVAS 功能进行除法。根据运行时 ABI 标准,32 位整数除法函数在 r0 中返回商,或在{r0, r1}中返回商和余数。

在下面的示例中,使用 Arm 专用原型表示法描述二值返回函数。

注: 有些编译器可以使用 64 位有符号/无符号整数作为返回类型,而不是 idiv 或 uidiv 结构。

int __aeabi_idiv(int numerator, int denominator);
unsigned __aeabi_uidiv(unsigned numerator, unsigned denominator);
typedef struct { int quot; int rem; } idiv_return;
typedef struct { unsigned quot; unsigned rem; } uidiv_return;
__value_in_regs idiv_return __aeabi_idivmod(int numerator, int denominator);
__value_in_regs uidiv_return __aeabi_uidivmod(unsigned numerator, unsigned denominator);

注:
ASFv3 框架为 DIVAS 驱动程序提供支持。DIVAS ASF API 包含整数除法、模和平方根的 API。将符号定义 DIVAS_OVERLOAD_MODE 设置为 true,即可帮助 DIVAS 的 ASF 驱动程序中过载的 ABI 辅助方法来执行内部除法运算。包含运行时 ABI 辅助方法的驱动程序使用 DIVAS ASF 驱动程序 API 进行过载。

图 2-1. DIVAS 除法运算

如何利用 Cortex®-M0+ 单片机实现更快的数学计算

函数可以使用 DIVAS 平方根功能,不再需要使用基于数学库浮点运算的函数调用。

图 2-2. DIVAS 平方根运算

如何利用 Cortex®-M0+ 单片机实现更快的数学计算

DIVAS 可用于以下应用场景:
• ADC 和振荡器的运行时校准,用于微调工业和电机控制应用中 ADC/振荡器输出的性能。
• 需要更快 PID 环的工业控制应用。

提示:

被零除:Cortex-M0+是不包括除法指令的 Armv6-M 架构,因此没有硬件异常。用户可以通过确认分母是否为零来进行验证,基于此,可以使用引发 API 来引发软件用户异常,或者提供默认值(零或被除数)作为输出。请参见 https://www.gnu.org/software/libc/manual/html_node/Signaling-Yourself.html 了解 GCC 编译器支持的信号/引发 API 的信息。

该除法可能导致有符号位溢出:当被除数-2147483648(位模式 0x80000000)除以值为-1 的分母时,输出数 2147483648 用符号表示,没有值。以上是一种特殊情况,用户可以根据应用需求定义实现方式(即,可以返回被除数或默认值)。

从 ISR 和主上下文进行的除法/模运算:如果同时从 ISR 和主上下文进行除法运算,则过载方法应受到中断锁定的保护。那么,在每个过载方法开始和结束时,实现应包含全局中断禁止和全局中断允许方法。

浮点除法与长除法:Arm Cortex-M0+没有浮点单元(floating-point unit,FPU),而且 DIVAS 只支持 32 位整数除法。编译器继续使用自己的库代码来执行浮点除法和长(64 位)除法,而不是使用 DIVAS。

3. 相关资源

http://www.atmel.com/Images/Atmel-42465-Using-DIVAS-on-SAMCMicrocontroll...
• Application Binary Interface for the ARM® Architecture http://infocenter.arm.com/help/topic/com.arm.doc.ihi0036b/IHI0036B_bsabi...
• Run-time ABI for the ARM® Architecture(http://infocenter.arm.com/help/topic/com.arm.doc.ihi0043d/IHI0043D_rtabi...
http://asf.atmel.com/docs/latest/samc20/html/group__asfdoc__sam0__divas_...
https://www.gnu.org/software/libc/manual/html_node/Program-Error-Signals...

来源:Microchip工程师社区

围观 10
205

页面

订阅 RSS - Microchip