Microchip

Microchip是一家知名的半导体公司,专注于设计和生产各种集成电路产品,包括微控制器(MCU)、模拟集成电路、数字信号处理器(DSP)、存储器等。该公司总部位于美国亚利桑那州的钱德勒市。

Microchip在微控制器领域拥有广泛的产品线,涵盖了多种不同的应用需求和市场。其微控制器产品被广泛应用于工业控制、汽车电子、消费类电子、医疗设备、通信设备等领域。Microchip的产品以其高性能、低功耗、丰富的外设接口和强大的开发工具而闻名。

除了微控制器之外,Microchip还提供各种其他类型的集成电路产品,如模拟集成电路、存储器、时钟与定时器、通信接口等,以满足不同市场的需求。该公司还提供丰富的开发工具和技术支持,帮助客户快速开发和部署他们的产品。Microchip在半导体行业拥有良好的声誉和广泛的客户基础,是全球领先的半导体解决方案提供商之一。

工业和家用电器市场中的各种应用要求使用数学运算来实现不同的算法和计算。基于 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工程师社区

围观 2966

利用业内首个16位分辨率的双通道器件提高准确性

对于现场可编程门阵列(FPGA)、图形处理器(GPU)和嵌入式计算器件等低电压、高功耗应用而言,管理并降低功耗至关重要。这些器件首先必须准确测量功耗才能对其进行管理,但高精度的功率测量解决方案通常意味着高成本,而且需要多个集成电路(IC)或电源配置来测量不同的轨道。为了满足这些需求,Microchip Technology Inc.(美国微芯科技公司)推出全新的双通道和三通道功率监控器件,可以通过一块芯片测量0V至32V电压下的功耗,这为设计人员提供了简单易用且能够提高功率测量准确性的解决方案。双通道器件还是业内首个采用16位原始分辨率的解决方案,实现了宽测量范围内的高度灵活性。

PAC1932/33恰好能满足通过一个IC测量功率的需求,将多条通道封装到一块芯片中,适用于销售点(POS)系统、ATM和楼宇自动化等应用,消除了过去要高效测量从小于1V到20V的每条电压轨通常需要的多种元件,从而为系统设计师降低了成本,同时精简了材料清单(BOM)。PAC1932/33从不到1V到高达32V的电压轨测量能力也解放了开发人员,使他们无需在高低电流负载事件之间重新配置测量分辨率。

作为业内惟一具有16位分辨率的双通道功率测量器件,PAC1932可以在无主机干预下测量17分钟,开发人员在测量功率和能耗时无需调整电压或电流范围。该器件包含两个可以同时测量电压和电流的16位模数转换器(ADC),这让开发人员能够获得真实的功耗测量结果,从而更好地设计系统,实现高效节能。

Microchip混合及线性产品部副总裁Bryan Liddiard表示:“由于人们不断寻找降低应用功耗的方法,高精度直流功率测量已成为节能的关键因素。正如四通道的PAC1934提高了Windows® 10设备的功率测量效率,全新的双通道和三通道功耗监控IC提高了市场上低电压、高功耗应用(如嵌入式计算和联网应用)的功率测量效率。”

开发工具

PAC1932/33可以与Linux®和Windows 10软件驱动程序配合使用,PAC1932/33的寄存器与ADM00808评估板兼容,可用于着手进行开发,其图形用户界面会提供Vsense、Vbus、功耗和累积功耗报告。

供货

双通道(PAC1932)和三通道(PAC1933)功耗监控IC目前已支持样片申请和10,000片起批量订购。

如需了解详细信息,请联系Microchip销售代表或者全球授权分销商,也可以访问Microchip网站。如果需要购买文中提及的产品,请访问Microchip的全方位服务渠道 microchipDIRECT ,也可以联系Microchip的授权分销合作伙伴。

围观 294

耐用的单芯片解决方案降低汽车3DHMI设计成本

汽车制造商越来越希望通过在汽车上实施功能性安全技术,来减少驾驶员的分神行为。许多人机界面(HMI)设计师正逐步将手势识别作为解决方案,既要提高驾驶员和车辆的安全性,又要确保内部设计不受影响,让驾驶员在集中注意力驾车的同时,还能轻松控制一切,例如开启车灯和接电话等。Microchip Technology Inc.(美国微芯科技公司)推出了汽车行业内系统成本最低的全新三维(3D)手势识别控制器,为高级汽车HMI设计提供了一套耐用的单芯片解决方案。作为Microchip简单易用的3D手势控制器系列的新晋成员,MGC3140是第一款可用于汽车的3D手势控制器。

Microchip全新的手势控制器以电容技术为基础,适用于大量可减少驾驶员分神和提高车辆操作便捷性的应用,是导航信息娱乐系统、遮阳板操作、车内照明和其他应用的理想之选。这项技术还支持开启脚控后升车门和制造商希望通过简单的手势集成到车内的任何其他功能。MGC3140获得了汽车电子委员会AEC-Q100认证,满足汽车系统设计严格的电磁干扰(EMI)和电磁兼容性(EMC)要求。每个3D手势系统都包含一个传感器和Microchip手势控制器,传感器可以使用任何导电材料制成,而手势控制器是专为特定应用而打造的。

Microchip人机界面业务部副总裁FanieDuyenhage表示:“借助MGC3140,我们正在利用经过验证的手势技术提供交互式人机界面,让驾驶员在行车时更好地集中注意力。Microchip致力于通过日渐丰富的触摸及手势控制器以及先进的技术支持,助力汽车市场发展。这些器件可以为客户提供具有成本效益的手势解决方案,而且不会影响汽车的内部设计。”

在亮光或太阳光直射条件下,现有的解决方案(如红外和飞行时间技术)可能产生高昂的成本,且操作性能不佳,但MGC3140可以在全光照和恶劣环境中提供稳定的传感性能。市场上其他解决方案同样存在物理局限,需要将大量基础设施和空间集成到车辆中。MGC3140兼容人体工程学内部设计,让HMI设计师能够在更少的物理限制下进行创新,因为传感器可以是任何导电材料,而且可以隐藏于视野之外。

开发工具

Emerald评估工具包为3D手势识别控制器提供了方便的评估平台,该工具包含有MGC3140控制器中的标准印刷电路板(PCB)、基于PCB的传感器(用于识别手势)和支持简单易用的用户体验的所有必要线缆、软件和文档。所有部件均与Microchip的Aurea软件开发环境兼容,可支持所有Microchip3D手势控制器。

定价和供货

MGC3140目前已支持样片申请,和批量订购,定价可根据要求提供。

围观 242

微芯科技(Microchip)公司日前针对高端嵌入式控制应用发布全新数字信号控制器(DSC),该控制器采用单芯片、双dsPIC DSC内核配置。根据设计,dsPIC33CH的两个内核一个是主核,一个是副核。主核负责运行用户接口、系统监控和通信功能,副核用于执行时间关键型专用控制代码,并允许不同的设计团队分别为每个内核单独开发代码,从而将两个内核无缝集成到一颗芯片中。

16位MCU也要配双核,意义是什么?
dsPIC33CH架构框图

在谈及为何打造这款双核产品时,Microchip MCU16业务部副总裁Joe Thomsen表示,当前客户面临的最大挑战之一是集成来自多个团队的软件,其中一个团队专注于时间关键型控制代码,其他团队则专注于开发其他应用。因此“我们希望能够用这款产品来简化软件集成,并优化需要大量数学运算的应用性能。”

dsPIC33CH系列针对高性能数字电源、电机控制和其他需要精密算法的应用进行了优化,包括无线电源、服务器电源、无人机和汽车传感器。例如在数字电源中,副核负责管理需要大量数学运算的算法,而主核独立管理PMBus协议栈,并提供系统监控功能,从而提高整体系统性能和响应能力;在汽车排气扇或汽车泵中,副核专用于管理时间关键型速度和转矩控制,主核管理控制器区域网络灵活数据速率(CAN-FD)通信、系统监控和诊断。这两个内核可以无缝协作,使先进的算法可以提高效率和响应速度。

以工厂用空调系统为例,一般的架构是需要三颗微控制器分别控制风扇转动、压缩机运转与功率因素校正(PFC)。但通过双核心16位微控制器,可让主核心负责功率因素校正的部分,副核心用以控制风扇与压缩机,使原本采用的三颗微控制器的架构缩减为一颗,从而节省了物料成本。

16位MCU也要配双核,意义是什么?

为了提供比当前dsPIC DSC内核更高的性能,Microchip在dsPIC33CH的每个新内核中都设计了更多基于环境选择的寄存器以提高中断响应速度、提高数字信号处理器性能的新指令以及更快的指令执行速度。此外,设计人员在一款器件中将全部工作负载分配到两个DSC内核中,通过提高切换频率实现了更高的功率密度,并缩小了组件大小。

16位MCU也要配双核,意义是什么?
提高数字电源开关频率

虽然dsPIC33CH系列的封装只有5 x 5 mm大小,但却包含了CAN-FD通信等功能。为了降低系统成本和电路板尺寸,每个内核均提供高级外设,包括高速ADC、具备波形生成功能的DAC、模拟比较器,模拟可编程增益放大器和高分辨率脉宽调制(PWM)硬件。双内核搭配专用外设可以对内核进行编程,使之相互监控,从而确保功能安全,促进稳健的系统设计。

与dsPIC33CH系列同时发布的还包括全新的SAM L10和SAM L11 MCU系列。全新的MCU系列基于Arm Cortex-M23内核,SAM L11提供适用于Armv8-M的Arm TrustZone,这一可编程环境可以在认证库(certified libraries)、IP和应用代码之间提供硬件隔离。通过加入芯片级的抗干扰、安全启动和安全密钥存储技术实现稳健的安全性,再结合TrustZone技术,Microchip希望借此可以保护客户应用免受远程攻击和物理攻击。

16位MCU也要配双核,意义是什么?
SAM L10和SAM L11 MCU系列结构框图

除了TrustZone技术之外,SAM L11的安全功能还包括支持高级加密标准(AES)、伽罗瓦计数器模式(GCM)和安全散列算法(SHA)的板载密码模块。具备篡改检测功能的安全启动和安全密钥存储技术建立了硬件信任根。它还提供用于安全固件升级的安全自举程序。Microchip与Trustonic共同提供完善的安全解决方案框架,可简化安全措施的实施,让客户能够更快推出最终产品。Microchip还与Secure Thingz和Data I/O Corporation合作,为拥有可靠安全框架的SAM L11客户提供安全配置服务。

16位MCU也要配双核,意义是什么?
SAM L11安全方案

两个MCU系列均提供业内最低的功效和最新一代外设触摸屏控制器(PTC),以实现电容式触摸功能以及一流的耐水性和抗扰性。在进行功耗基准测试时,利用享有专利的picoPower技术,SAM L10获得了ULPMark 405分的高分,超过由嵌入式微处理器基准评测协会(EEMBC)认证的性能最接近的竞品200%。

SAM L10和SAM L11 Xplained Pro评估工具包可用于入门级开发。所有SAM L10/L11 MCU均受Atmel Studio 7集成开发环境、IAR Embedded Workbench、Arm Keil MDK和Atmel START支持。START还支持用于配置和部署安全应用的TrustZone技术。电源调试器和数据分析工具可用于实时监控和分析电量消耗情况,并在运行过程中对耗能数据进行微调,满足应用要求。还可以使用Microchip的QTouch模块库、2D触摸表面库和QTouch配置器简化触摸应用的开发。

本文转自:《电子工程专辑》,版权所有,转载请注明出处并附链接。

围观 367

页面

订阅 RSS - Microchip