单片机

文章英文版出处:

https://www.eejournal.com/article/what-more-8-bit-microcontrollers/

以下全文转载自EEWeb主编Max Maxfield在EEJournal上发表的文章:

我们周围不断充斥着有关 8 位、16 位、32 位和 64 位处理器的讨论,我不确定如今还有多少年轻工程师知道第一个商用微处理器——英特尔4004。它是一台 4 位机器(部件编号虽然叫4004,却没有一语双关的意思)。

顺便说一句,如果您想了解更多关于 4004 以及当代微处理器的发展史,我衷心推荐我的朋友Steve Leibson在 EEJournal 上撰写的专栏文章:《我们是否真的知道是谁发明了微处理器?》和《哪个才是第一个微处理器?》以及《微处理器50岁生日快乐》的第1部分和第2部分。

微处理器(µP)也称为微处理器单元(MPU)。早期的 MPU 仅包含一个中央处理单元(CPU)。随着时间的推移,添加了其他功能,如高速缓存、浮点运算单元(FPU)以及存储管理单元(MMU)等。关键是:除了任何高速缓存以及 FPU 和 MMU 之类的东西,微处理器不包含任何内部存储器或外设。相比之下,单片机(µC),也称为微控制器单元(MCU),包含闪存等非易失性存储器,SRAM 等易失性存储器,计数器、定时器、模数转换器(ADC)等外设以及UART、I2C 和 SPI 等通信接口。从本质上讲,单片机是一种小型独立计算机,存在于包含自己的程序的单个硅芯片上。它一上电,程序就开始执行。这就解释了为什么单片机出现在嵌入式系统中,以及为什么嵌入式系统随处可见。(您可以通过我的专栏文章《CPU、MPU、MCU和GPU的常见问题解答有哪些?》,了解有关微处理器和单片机之间区别的更多信息)。

单片机的历史与微处理器的历史一样不甚明朗。第一个单片机是哪个?是日本人在1970 年代初为汽车制造的 4 位器件,还是 TI 工程师 Gary Boone 和 Michael Cochran设计并于 1974 年首次亮相的 4 位 TMS 1000?谈到 8 位 MCU,1976 年面市的英特尔 8048(又名 MCS-48)是第一个吗?我不知道。我所知道的是,早期 8 位 MCU 中最著名的可能是1980 年上市的 8051(又名 MCS-51),其指令集架构(ISA)由 John H. Wharton 构想。神奇的是,由8051演变出的新产品至今仍然强劲。

顺便说一句,John曾经告诉我,当他还是一名在英特尔工作的年轻工程师时,他经常和他的主管出去吃午饭。有一天,他们听说要在午餐时间开会讨论一些事情。他们不确定会议的重点是什么,只知道提供免费三明治。这个会议原来是 8051 的启动会。真的是完全从一张白纸开始的。会议结束后,John 饱餐了一顿,回到办公桌前,勾勒出 8051 的架构(功能单元和总线等)和 ISA。

如今,有众多的单片机能够实现我们的各类设想,而PIC®单片机和AVR®单片机是真正有存在感的两个系列。第一个 8 位 PIC MCU由 General Instruments 于 1975 年开发。我不确定它的具体发展史,但 PIC MCU现在是Microchip Technology Inc.的产品。同时,最初的 8 位 AVR 架构是由 Alf-Egil Bogen 和 Vegard Wollan 还是挪威理工学院(NTH)的学生时提出的。该技术随后被 Atmel 收购,该公司于 1996 年发布了 AVR 系列的第一批成员。 Atmel已于 2016 年被 Microchip收购。

我们有什么方法可以量化这种“存在感”?我曾经同Microchip 8位单片机产品部的营销副总裁 Greg Robinson 和资深公共关系经理Brian Thorsen 交流过。如下图所示,在撰写本文时,Microchip 的 8 位 MCU 市场份额为 32%,遥遥领先!如果我在Microchip负责这些产品的话,我肯定要笑逐颜开了。

“Gartner
Gartner 2021 市场份额报告中的全球 8 位单片机市场份额

Greg 告诉我,Microchip将持续创新,其中不乏许多8位新产品。例如,在 2022 年第二季度,Microchip推出了5 个全新系列,约 65 款器件,拥有丰富的片上模拟和其他独立于内核的外设。

除了传统的单芯片系统(即Microchip MCU是板上唯一的处理器)外,8位处理器作为系统管理IC和协处理器的作用也越来越大,尺寸、空间、低功耗和寿命等方方面面的特征都很重要。这在很大程度上是因为我们看到分布式智能在物联网边缘节点、汽车安全、工业控制系统、医疗电子和家用电子等应用领域的急剧增长。即使是最先进的 5G 系统,通常也可以从将某些任务分配给更小的 8 位处理器中受益,从而释放更高级处理器来发挥它们的魔力并做它们最擅长的事情。

Greg说:“尽管听起来很奇怪,很多 8 位的增长是由 32 位的增长推动的,其中 32 位处理器正在将人机界面(HMI)功能和内务管理任务等传递给8 位处理器。此外,8 位器件越来越多地用作协处理器,执行诸如获取传感器读数和预处理此传感器数据等任务,然后将其传递给更高级处理器。”

我们谈到的主题之一是当前的供应链问题。在我们交谈之前,我没有意识到Microchip 出货的 95% 的 8 位产品是内部制造的,而且除了在美国亚利桑那州Tempe、俄勒冈州Gresham和科罗拉多州Colorado Springs设有晶圆厂,他们还拥有自己的封装、制造和测试厂。

尽管如此,但由于贸易战和全球新冠疫情共同引发的大风暴,在过去 18 至 24 个月内产生了大量需求,因此仍然存在供货短缺的情况。Greg 说:“提高产量也不是嘴上一说这么简单。”Microchip 总裁兼首席执行官 Ganesh Moorthy 曾表示,他预计短缺将持续到 2023 年,但 Microchip 已承诺在未来几年会投入 10 亿美元,用于继续推出新产品,同时扩大产能以满足对现有器件的需求。

“2022年第二季度新产品预告"
2022年第二季度新产品预告

ADCC 代表“ADC 计算”, 它是模拟和数字功能的混合体。片上模拟功能(包括 8 位、10 位和 12 位 ADC)可以使用图形工具轻松配置。其他选项包括具有相关可编程增益放大器(PGA)的 ADC,从而无需使用外部 PGA,以及具有上下文/排序功能的 ADC。其他功能包括片上比较器、数模转换器(DAC)、斜坡发生器、温度传感器、电压基准、过零检测和运算放大器(运放)。

考虑下面介绍的运算放大器示例。传统方法是使用外部运算放大器(左)。片上运算放大器(右)的优势包括节省电路板上的空间、减少物料清单(BOM)以及能够在程序控制下动态更改软件中的增益和其他特性(如果您要测量多个信号,每个信号都需要不同的运算放大器参数,这很有用)。

“带有内部运算放大器的
带有内部运算放大器的 PIC®和AVR®单片机

独立于内核的外设(CIP)背后的概念是,外设可以在内核处于“打盹”模式或处理更重要的任务时自行执行任务。例如,CIP 可以在内核进入休眠状态时从传感器获取读数,然后对结果进行累积、求平均值和/或过滤。稍后,当内核唤醒时,外设可以准备好其预处理的数据并等待着。

“使用独立于内核的外设创建自定义外设"
使用独立于内核的外设创建自定义外设

当 CIP 组合在一起创建自定义外设或“超级外设”时,事情开始变得非常有趣。一个很好的例子如下所示。这涉及希望使用串行总线通信协议控制一堆 LED 的应用。

“将
将 CIP 组合在一起以创建“超级外设”或“超级模块”

指定“哪个 LED”和“什么颜色”涉及一个相当复杂的信号,并且可能需要发送大量数据。这通常需要一个高速 32 位 MCU。然而,通过使用少数 CIP 外设——定时器、SPI、PWM 和一些使用 CLC(可配置逻辑单元)实现的逻辑——可以在 8 位 PIC 单片机上实现该算法。(与 PIC MCU的 CLC 不同,可以使用可配置自定义逻辑(CCL)在 AVR 上实现相同的功能。)

结果是允许 8 位 MCU 以比指令速度(即在内核上运行的指令)快得多的逻辑速度驱动一串 LED,同时释放内核以执行其他任务。

一般来说,拥有 CIP,特别是能够将它们组合在一起,打开了通往各种部署场景的大门,允许外设处理各种传感器数据。

“常见的传感器输出类型"
常见的传感器输出类型

考虑下面所示的示例,其中使用 8 位 PIC 或 AVR 单片机来监控温度、湿度和振动传感器的输出。可能来自温度传感器的信号比来自湿度传感器的信号需要更高的增益,这可以通过在程序控制下来回交换片上运算放大器的增益来实现。

“典型的多传感器应用"
典型的多传感器应用

同时,MCU 可能以 5V 运行,而使用 I2C 通信的振动传感器仅需要 1.8V。在这种情况下,解决方案不是采用外部电压电平转换器,而是采用 MCU 的多电压输入/输出(MVIO)功能。

上面的示例显示了 MVIO 和 I2C 的组合,但 MVIO 也可以与通用输入/输出(GPIO)一起使用。事实上,这引出了另一个例子,因为运行在 5V 的 8 位 PIC 或 AVR MCU 可用于从传感器读取值,从而实现比 3.3V MCU 更好的分辨率,而 PIC/ AVR MCU可以使用其 MVIO 功能将此数据传送到 3.3V 32 位 PIC32 SAM MCU。

让 PIC/AVR MCU的新手感到困惑的一件事是可用的不同组件数量之多,每个组件都有不同数量的引脚以及不同的功能和外设组合。有几种方法可以解决这个问题。就我而言,我会直接问我的朋友 Joe Farr。关于Microchip PIC 和 AVR MCU,他就是一本行走着的百科全书。对于那些不认识 Joe 的人,Microchip 网站上有一个产品选型指南,用户说了“我需要这个功能”后,就会被引导到合适的产品。或者,用户可以说“我想实现这个应用”,该工具不仅可以将他们引导到合适的产品,还可以引导到相关的固件和软件以及开发工具。

Greg 在结束谈话前,说了一些很有趣的内容。那就是不光是 8 位 MCU这块饼在增长,各种新的应用也不断涌现,就像有了一个全新的饼。因此,他表示:“Microchip 非常看好 8 位 MCU 市场。”这对我来说是个好消息,因为我喜欢 8 位 MCU。那么你呢?你有什么想法愿意分享吗?

直接转载来源:Microchip微芯
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 105

安全威胁日益复杂,给物联网(IoT)、消费、工业、医疗和其他市场产品开发带来了挑战。这些产品必须具备强大的嵌入式安全性,同时还要求低功耗以延长电池寿命。Microchip Technology Inc.(美国微芯科技公司)近日宣布推出业界首款在单一封装中集成了安全子系统和Arm® TrustZone®技术的PIC32CM LS60单片机(MCU)。新款单片机集成了Microchip的可信平台(Trust Platform)安全子系统,让使用单个单片机而不是两个或多个芯片来开发终端产品变得更加容易。现在,设计人员可使用这款值得信赖的32位单片机,来保护产品和终端用户的智能家居设备、智能手机或平板电脑配件、便携式医疗设备、可穿戴设备、互联电器和工业机器人免受远程或物理攻击。

“Microchip发布业界首款集成强大安全子系统和Arm®

随着物联网行业的持续快速发展,对于边缘设备而言,高标准的安全保护已变得不可或缺。PIC32CM LS60结合了易于使用的Arm TrustZone技术和通用标准联合解释库(JIL)中认定的“高”等级可信平台安全子系统,使开发人员能够实施业界公认的安全实践和对策,以防范各类已知的远程和物理攻击。相关设计得到了MPLAB® 代码配置器(MCC) TrustZone Manager和可信平台设计套件等工具的支持,从而简化了安全子系统的配置。Microchip 可信平台配置服务可用于安全地配置密钥和证书。

Microchip 32位单片机业务部副总裁Rod Drake表示:“PIC32CM LS60在单个封装中集成了Arm TrustZone技术和Microchip的安全子系统,是市场上前所未有的产品。我们相信这款单片机的安全性、易用性和低功耗将有力地推动物联网应用采用先进的安全技术。”

随着防水可穿戴设备和现代电器越来越多地采用触屏功能,嵌入式设计人员面临着开发能在嘈杂和潮湿环境中稳健运行的触屏界面的挑战。PIC32CM LS60集成了增强型外设触屏控制器,具有Driven Shield Plus功能,可防止因潮湿造成的误触屏,并提供高抗噪能力,以实现卓越的触屏界面功能。

此外,该器件具有独立于内核的SleepWalking外设和事件系统。这些外设可使单片机内核长时间处于休眠模式,以减少功耗。它还配有片上模拟,包括运算放大器(o运放)、数模转换器(DAC)和模数转换器(ADC),可在休眠模式下运行并与各种传感器连接。PIC32CM LS60与MPLAB Data Visualizer和Power Debugger工具兼容,可用于实时监测、分析和微调功耗数据。这使客户更容易开发低功耗应用,并更快地向市场推出电池续航时间更长的产品。

开发工具

Microchip提供以下开发工具和服务来支持PIC32CM LS60及其他型号:可信平台配置服务、可信平台设计套件(TPDS)、带有用于Arm TrustZone的MPLAB 代码配置器的MPLAB Harmony v3平台、触摸函数库、触摸配置器、MPLAB Data Visualizer、功率调试器,以及PIC32CM LE00 Curiosity Pro评估工具包、PIC32CM LS00 Curiosity Pro评估工具包、PIC32CM LS60 Curiosity Pro评估工具包、PIC32CM LE00超低功耗防水触屏参考设计、MPLAB X集成开发环境(IDE)及其调试器、编程器和编译器生态系统。

供货

除PIC32CM5164LS60安全性型号外,PIC32CM LE00通用型号和PIC32CM LS00 Arm TrustZone技术型号(无安全子系统)也可提供。PIC32CM5164LS60、PIC32CM5164LS00和 PIC32CM5164LE00现已开始供货,100引脚TQFP封装,10,000件起订,单件售价分别为5.48美元、4.33美元和4.18美元。如需了解更多信息或购买,请联系Microchip销售代表或访问Microchip直销网站:www.microchipDIRECT.com

来源: Microchip微芯
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 26

在单片机编程过程中,经常会使用到中断。那么,什么是单片机中断,它与CPU的轮询有什么区别?在本文中,单片机开发工程师将对单片机中断和CPU轮询做个简单的介绍。

“单片机中断与CPU的轮询有什么区别"

中断

中断是一种硬件机制,在这种机制中,设备会通知CPU它需要引起注意。中断可以随时发生。因此,当CPU通过指示中断请求线收到中断信号时,CPU停止当前进程并通过将控制权传递给服务设备的中断处理程序来响应该中断。

轮询

轮询不是一种硬件机制,它是一种协议,CPU会稳定地检查该设备是否需要注意。无论设备告诉处理单元它希望进行硬件处理的位置如何,在轮询过程中,处理单元都会不断询问I/O设备是否希望进行CPU处理。CPU不断检查连接到其上的每个设备,以侦查是否有任何设备需要硬件注意。

每个设备都有一个指示命令就绪的位,指示该设备的状态,即该命令是否被硬件终止。如果命令位已准备就绪,则该命令已失效;否则,如果该位为零,则该命令无效。

让我们看看中断和轮询之间的区别:

  • 在中断时,设备会通知CPU它需要引起注意。而在轮询中,CPU会稳定地检查设备是否需要注意。
  • 中断不是协议,而是一种硬件机制。轮询不是硬件机制,而是协议。
  • 在中断中,该设备由中断处理程序提供服务。轮询时,该设备由CPU维修。
  • 断可以随时发生。轮询时,CPU会以固定或适当的间隔稳定地对设备进行投票。
  • 在中断中,中断请求线用作指示设备需要维修的指示。在轮询时,命令就绪位用作指示,表明设备需要维修。
  • 在中断中,一旦任何设备将其中断,处理器就会受到干扰。相反,在轮询中,处理器通过重复检查每个设备的命令就绪位来浪费无数的处理器周期。

来源:网络
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:
cathy@eetrend.com)。

围观 171

如今,运行实时操作系统(RTOS)的大型32位单片机(MCU)和微处理器(MPU)日益普及。不过,如果使用一个大型单片机处理复杂的应用,可能会在执行小型后台处理任务时遇到CPU资源方面的问题,这些任务虽然并不复杂,但十分耗时。8位和16位MCU等小型器件可用于减轻32位器件的工作负荷。

试想一下这样一个示例:将一个32位MCU用于控制汽车的非安全功能,如娱乐系统、环境照明和空调。此32位器件必须对其资源进行分配,以便处理与这些功能相关的所有任务。这样的任务还包括测量驾驶室内多个点的温度、打开/关闭空调系统、更新图形显示、处理用户输入、调整照明条件和播放音乐。即使对于大型32位器件,这些工作量也过于繁重。

但是,如果32位器件将部分任务负荷转移给几乎不需要监控的子处理器,每个子处理器仅负责处理其中的1或2个任务,那么这些任务会更易于管理。这可以释放主处理器上的CPU资源,从而降低软件的复杂性,同时提高性能并缩短执行时间。

这种解决方案与单片机中的外设有异曲同工之妙。外设是专用硬件的小型模块,可以添加新功能(例如运算放大器或模数转换器),也可以减少执行给定功能时CPU必须承担的工作量。在某些情况下,初始化后,外设可独立于CPU运行。

为了说明外设的优势,我们以产生脉宽调制(PWM)信号为例。要在没有专用外设的情况下产生PWM,只需将I/O线设为高电平,等待一定数量的周期后,将其设为低电平,再等待一段时间,然后重复操作。这会占用大量CPU周期,并且对于某些功能(如RTOS)来说,难以可靠地执行。相比之下,PWM外设允许CPU在执行其他任务的同时设置所需的波形参数。

今天推荐专家技术文章《部署处理特定任务的单片机来简化复杂设计》将介绍两个示例。第一个示例说明了减轻CPU密集型任务负荷的优势。在该案例中,使用了一个8位MCU来创建I/O扩展器。I/O扩展器并不复杂;然而,由于需要频繁处理中断,因此它们会占用大量的CPU时间。通过使用专用MCU来完成这项任务,大型32位器件可以减少I/O使用和需要处理的中断次数。此外,I/O扩展器的功能集可在软件中设置,因此支持针对应用进行定制和调整。

第二个示例以创建独立于CPU运行的电压频率(V/F)转换器为例,展示了独立于内核的外设的性能。在这个示例中,CPU的唯一功能是初始化外设并将调试打印消息发送到UART。在大型系统中,当V/F在后台运行时,CPU可以执行另一个简单的任务。

详阅请点击下载《部署处理特定任务的单片机来简化复杂设计》

来源:Microchip微芯
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 30

HMI(Human Machine Interface,人机接口)技术的发展要求产品更加设计精良和操作方便,以提高附加价值。因此,对于电容式触控传感器的需求越来越多,这种电容式触控传感器不仅需要能够根据外壳设计理念灵活采用木材或透明亚克力等各种材料作为操作面板,还需要能够通过LED显示屏引导用户操作等来实现良好的易用性。然而,有些用户即便想要引入电容式触控传感器,也难免会在着手评测时感到束手无措。

为此,瑞萨为RX系列单片机配套了Renesas Solution Starter Kit和Renesas Starter Kit等主板,以便广大用户能够快速评测电容式触控传感器。在本期文章中,我将为大家介绍一下如何使用最廉价和最基本的目标板,以简单的方式对电容式触控传感器进行初步评测。

目标板可以访问单片机的所有信号引脚且售价仅为3,000日元,简直是用于早期决策的最佳评测主板。传统目标板的规格无法安装触控传感器工作所需的LPF电容,因此很难对其进行评测,但是安装有最新RX140单片机的RX140目标板提供了用于连接LPF电容的切割图案,并做了一些改进,以方便进行触控传感器初步评测。

点击查看RX140 MCU的更多信息

点击查看RX140目标板的更多信息

首先,按照本主板线路图和用户手册中的说明,拆下与RX140单片机TSCAP端子连接的GPIO用0Ω电阻,安装触控传感器用电容和0Ω电阻。然后将排针安装到主板的通孔上,连接触控传感器用电极。有关电极制作方法,请参阅应用指南“*电容式触控电极设计指南”。

“最新型32位单片机RX140帮您轻松实现电容式触控传感器的初步评测"

*关于电容式触控电极设计指南的更多信息,请访问:

https://www2.renesas.cn/us/zh/document/apn/capacitive-sensor-microcontrollers-ctsu-capacitive-touch-electrode-design-guide

准备好主板后,启动瑞萨提供的集成开发环境e2 studio,创建新项目。项目创建时,选中“Use Smart Configurator”,即可轻松地配置单片机的时钟、端子、周边功能和下载驱动程序。此外,将电容式触控传感器开发辅助工具“*QE for Capacitive Touch”作为插件添加到项目中,即可在GUI中轻松地进行触控检测程序自动生成、测量值监测和参数调整等操作。有关使用电容式触控传感器编写程序的详细信息,请参阅应用指南“*使用QE和FIT进行电容式触控应用的开发”。

*关于QE for Capacitive Touch的更多信息,请访问:

https://www2.renesas.cn/cn/zh/software-tool/qe-capacitive-touch-development-assistance-tool-capacitive-touch-sensors

*关于使用QE和FIT进行电容式触控应用的开发的更多信息,请访问:

https://www2.renesas.cn/cn/zh/document/apn/rx-family-using-qe-and-fit-develop-capacitive-touch-applications-rev100

将程序写入RX140单片机后,开始调试时,可以通过QE for Capacitive Touch的监视窗口,实时直观地查看触控检测的状态。

“最新型32位单片机RX140帮您轻松实现电容式触控传感器的初步评测"

“最新型32位单片机RX140帮您轻松实现电容式触控传感器的初步评测"

瑞萨提供有丰富的软件和功能强大且易于使用的开发工具,助力用户开发工作。利用这些功能,任何人员都可以通过Target Board for RX140轻松地对电容式触控传感器进行评测。心动不如行动,快来一试吧!

来源:恩智浦MCU加油站
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 28

在2022年,随着智能手机、自动驾驶汽车和5G无线连接主导嵌入式设计市场,Microchip的8位PIC®和AVR®单片机(MCU)系列市场份额不断扩大。在过去50年里,8位MCU市场一直在稳步增长,Microchip每年的销量相当于西半球人手一件。为了支持持续的增长趋势,Microchip Technology Inc.(美国微芯科技公司)近日宣布推出5个新产品系列和60多款新独立器件,为嵌入式设计人员提供最常见问题的简单解决方案。

“Microchip发布多款应用于当今主流嵌入式设计的PIC®和AVR®单片机产品"

寻求创新设计的设计人员正转向利用Microchip的PIC和AVR单片机系列新产品。这些新产品拥有强大的处理能力,能够与其他芯片和模拟外设轻松通信,在构建时无需对印刷电路板(PCB)进行改动,就能实现超强配置。这些器件将类似ASIC的功能与简单的开发经验相结合,扩展了传统MCU的功能,并允许它们被配置为智能外设芯片。类似PIC16F171系列中的软件控制运算放大器、多电压输入/输出(MVIO)和带计算功能的模数转换器(ADCC)的智能外设,为原本不使用传统MCU的应用带来了新的价值。

使用不同电源电压芯片的系统经常需要跨越多个电压域(例如,将5V的 MCU连接到1.8V的传感器)。此类系统通常需要电平转换硬件,从而增加了成本。Microchip最新的8位MCU(包括AVR DD系列)中的MVIO外设允许MCU上的单个端口在与MCU其他部分不同的电压域中工作,从而无需额外的外部元件。

有些系统要求一定水平的速度和响应时间,这是基于软件的处理难以达到的。Microchip PIC和AVR产品系列的独立于内核的外设(CIP)可以用MPLAB®代码配置器(MCC)进行编程,以方便连接形成硬件处理链。这使得创建定制外设成为可能,从而消除了软件处理的周期时间。例如,通过配置一个由脉宽调制器(PWM)、SPI接口和可配置逻辑单元(CLC)组成的超级外设,即可轻松控制一个需要独特时序才能正确驱动的WS2812 LED阵列。

随着8位PIC和AVR MCU器件市场的持续增长,Microchip通过坚持其产品组合和支持结构中的强大基本功能,持续响应客户的长期需求。PIC和AVR MCU非常容易用于设计,其支持网络使Microchip的客户能缩短实现收益的时间。8位MCU产品组合是引脚(pin-to-pin)兼容的,当需要更高性能或客户希望最大限度地提高产品供货,同时尽量减少重新设计的要求时,可以选择替代的PIC或AVR MCU。

Microchip 8位单片机业务部营销副总裁Greg Robinson表示:“PIC和AVR MCU非常受欢迎,它们的设计能够满足我们客户对当前以及未来应用的要求。我们还为8位PIC和AVR MCU建立了强大的供应链,绝大部分都在Microchip自有工厂中生产。这使我们能够以业内不常有的方式控制生产过程。”

开发工具

Microchip提供由硬件和软件工具组成的完整开发生态系统,包括MPLAB® X和MPLAB® Xpress集成开发环境(IDE)以及MPLAB®代码配置器(MCC),后者提供直观的图形界面,为基于8位MCU的项目生成生产就绪的安装和应用代码。

供货

所有5个产品系列目前都已提供样片,如需了解更多信息,请点击此处

Microchip Technology Inc. 简介

Microchip Technology Inc.是致力于智能、互联和安全的嵌入式控制解决方案的领先供应商。 其易于使用的开发工具和丰富的产品组合让客户能够创建最佳设计,从而在降低风险的同时减少系统总成本,缩短上市时间。Microchip的解决方案为工业、汽车、消费、航天和国防、通信以及计算市场中12万多家客户提供服务。Microchip总部位于美国亚利桑那州Chandler市,提供出色的技术支持、可靠的产品交付和卓越的质量。详情请访问公司网站www.microchip.com

来源:Microchip
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 37

摘 要

本文介绍了RA6M1单片机在电动汽车交流充电桩的应用及快速开发过程。

电动汽车交流充电桩

交流充电桩俗称“慢充”,交流单相充电桩(一般最大额定功率为7kW),充电桩一般与交流电网(市电)连接。交流充电桩主要适用于为小型纯电动汽车或可插电混合动力电动汽车充电,为电动汽车车载充电机提供交流电源的供电装置,相当于只是起了一个控制电源的作用。

根据不同车辆电池容量,车辆充满电的时间一般需要3至8个小时。根据交流充电桩系统实际需求,一般会搭配两颗ARM Cortex M4内核以上的MCU,其中一颗为主要核心MCU,用于整桩控制,包含充电控制、电能计量、计费单元控制和通信传输;另一颗MCU用于在无网络状态使用,可搭配射频卡或Wi-Fi使用,一般应用于个体使用或企业内部使用。

整体交流充电桩使用的外设及资源包含:GPIO、ADC、PWM、IIC、UART和USB等资源。Renesas RA6M1 MCU,性能非常适合本设计的要求。

RA6M1

  • 100Pin的QFP封装

  • ARM Cortex M4内核的MCU带有DSP等功能

  • 丰富的GPIO和外设资源;

  • 120MZH的主频

  • 带有512kB Flash和256kB SRAM,可以减少片外FLASH的需求,可以将关键数据存储在内部Data Flash中。

交流充电桩的设计框图如图1及部分硬件原理图如图2所示:

“图1
图1 交流充电桩原理图

模块功能介绍

  • GPIO和光耦控制继电器的开合

  • PWM监测汽车的CP信号

  • ADC采集高压信号

  • UART用于射频非接卡和LCD等通讯

  • 温湿度监测和4G模组

  • Data Flash 使用

  • PWM监测电动汽车的CP信号模块介绍

交流充电桩的CP信号是用于监控电动汽车和充电桩交互的功能的信号,它是由MCU发出的PWM信号。CP信号的幅值范围是±12V,PWM信号的占空比表示当前充电桩为电动汽车提供的最大充电电流数据,当PWM为1kHz,53%占空比的时候,可以为电动汽车提供32A的充电电流。

● UART用于射频非接卡和LCD等通讯模块介绍

LCD选用迪文的触摸液晶屏,主要用于人机界面显示和急停按钮反馈,LCD屏幕输出充电桩当前的信息,包含输出电压、电流、充电量和费用清单等。

射频非接卡是预留的交互接口,为交流充电桩可配置选型,当交流充电桩的终端用户为个体或企业内部使用时候,无需计费单元和联网功能,可使用射频非接卡可以进行自助充电,完全可以脱离网络对电动汽车进行充电。

● GPIO和光耦控制继电器的开合

由于整个系统采用交流220V供电,为了提高系统的稳定性GPIO的输出控制全部带有光耦,同时使用MOS和继电器控制电源的通断。

● 温湿度监测和4G模组

板级温湿度监测, 主要用于监测PCB的板载温度,由于整板采用交流220V电源供电,同时后续电路有多颗LDO,使用温湿度传感器监测整板温度异常和安装环境的湿度异常,当发生异常后MCU将关闭充电功能,保证系统的稳定性和安全性。

● Data Flash

Data Flash主要用于记录在断网状态下充电桩的结算数据和异常数据记录,保证客户在使用过程中即便发生无网络连接状态客户的充电数据信息都可以记录。

“图2
图2 交流充电桩部分原理图

在硬件设计完成后,开始进行软件程序编写,Renesas IDE是e2 studio,调试器是E2-lite,官方文档很详细,基本上熟悉一天的话,底层的驱动及应用就可以上手了,同时Renesas给出了很多例程都可以快速的导入到IDE里面,在新建工程时建议将编译工具链选择最新版本,不仅编译速度快而且电脑不卡。在不到60天的时间内,我完成了样机的Demo调试,性能完全满足要求。

在使用过Renesas的MCU后,感觉Renesas基于ARM Cortex M内核的MCU在功能和IDE方面非常好用,无论在硬件软件上Renesas MCU都是值得选择的单片机,从此开始了我的Renesas MCU开发之路。

来源: 瑞萨MCU小百科
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 314

大小端及字节序在嵌入式软件开发过程中经常会遇到,数据传输、存储、通信等这些地方都会牵涉到,下面就来给大家分享一下相关知识。

回顾字节序

字节序,即字节在电脑中存放时的序列与输入(输出)时的序列是先到的在前还是后到的在前。
---来自百度百科

拿数据 0x01020304为例:

在大端CPU中:数据将存储为0x01(address + 0),0x02(address + 1),0x03(address + 2),0x04(address + 3)。

在小端CPU中:数据将存储为0x04(address + 0),0x03(address + 1),0x02(address + 2),0x01(address + 3)。

“单片机大小端转换的几点小技巧"

如果你的程序使用简单的数据结构(例如“ int”和“ short”),则没有什么麻烦。但是,如果数据结构类似于以下示例,则可能会遇到问题。

union {
 unsigned int dat;
 unsigned char c[4]; 
}X;

void foo( ) {
 int t0;
 X.dat = 0x01020304;
 t0 = X.c[0];
 ・・・
}

在大端 CPU 中编译并执行此代码时, t0”的值为0x01。在小端CPU中, t0”的值为0x04。

那么问题来了:要想使存储顺序从大端,变为小端,怎么办呢?

方法其实有很多种,这里讲讲针对IAR的两种方法:

  • 使用__big_endian关键字。

  • 使用__REV, __REV16, __REVSH, RBIT函数。

使用__big_endian关键字

IAR中__big_endian关键字提供了一种方便的方式来将应用程序从big-endian移植到little-endian。

__big_endian关键字用于访问以big-endian字节顺序存储的变量,而与应用程序其余部分使用的字节顺序无关。在ARMv6或更高版本进行编译时,可以使用__big_endian关键字。

只需添加__big_endian关键字即可,如:

____big_endian union {
 unsigned int dat;
 unsigned char c[4]; 
}X;

void foo( ) {
int t0;
X.dat = 0x01020304;
t0 = X.c[0];
・・・
}

修改后的代码在低位字节CPU中编译和执行,变量“ t0”为0x01。

注意:此关键字不能用于指针。同样,此属性不能在数组上使用。

同时,关键字__big_endian插入REV指令以交换字节数据,REV指令的插入会影响代码大小和执行时间。

“单片机大小端转换的几点小技巧"

关键字具有限制,不能应用于复杂的数据结构,比如以下代码会生成错误:

__big_endian
union {
 unsigned long dat;
 unsigned char c[4];
 struct {
 unsigned long a0: 1;
 unsigned long a1: 1;
 unsigned long a2: 2;
 unsigned long a3: 4;
 unsigned long a4: 8;
 unsigned long a5: 16;
 }s;
} f1_dat2;

使用__REV, __REV16, __REVSH, RBIT函数

大端和小端之间的字节顺序差异只是顺序,因此我们需要做的是更改字节顺序,我们再次以变量0x01020304为例:

“单片机大小端转换的几点小技巧"

我们可以通过代码实现交换功能,比如:

typedef unsigned long uint32_t;
uint32_t bswap_32(uint32_t x) {
  uint32_t t = x;
  uint32_t s;
  s = ( (((uint32_t)(t) & (uint32_t)0x000000ffUL) << 24) |
    (((uint32_t)(t) & (uint32_t)0x0000ff00UL) << 8) | 
     (((uint32_t)(t) & (uint32_t)0x00ff0000UL) >> 8) | 
 (((uint32_t)(t) & (uint32_t)0xff000000UL) >> 24) );
 return s; 
}

通过这种方式实现,将导致消耗更多时间和代码大小。

在C代码中,我们通常编写内联汇编代码实现交换。IAR有种内部函数可以实现该功能。

比如下面交换功能:

“单片机大小端转换的几点小技巧"

代码如下:

#include <intrinsics.h>
void x1( void ) {
s2 = __REV(s1);
s3 = __REV16(s1);
s4 = __REVSH(s1);
}

以上就是在IAR中实现大小端字节序的迁移方法,感兴趣的读者可以在IAR中编码测试一下。

来源:嵌入式专栏
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 669

作者:安西拓也(IoT Product Engineer)

近年来,工业和民用设备的控制器部分开始重视用户界面(UI)的操作卫生性。空调遥控器也不例外,开发人员正逐步考虑加入易于维护的触控式按键、非接触式控制设备的语音识别、云端远程控制等功能。估计今后将会有越来越多的开发人员从事配备有上述功能的产品开发。

另一方面,现有工业和民用设备主系统部分采用的单片机往往未配备用于实现上述UI(例如触控式按键和语音识别)的周边功能,而要实现这些功能需要额外的部件。

如果有一款单片机,其性能超越了当前采用的单片机,并且能够通过单个芯片实现上述功能,这将无疑是解决上述问题的不二选择。针对此,瑞萨推出了一系列32位单片机RX671。

RX671配备了用于触控式按键和语音识别的周边功能,且具有可实现云连接的性能(RXv3内核120MHz运行,闪存:2MB,SRAM:384KB),单个芯片即可实现这些功能。因此,与多芯片配置相比,可通过减少部件数量和简化系统缩短开发周期。

参考示例

接下来我将为大家介绍的是可帮助您实际评估这些功能的参考示例。本示例以实现空调控制的遥控功能为模型,可通过语音或触控式按键进行送风启动、模式更改和温度设定。此外,还可以与AWS合作,在云端查看设定温度,或者从云端更改设定温度。

使用本示例的最大好处是,您可以看到将多个功能合并到一个项目中的参考例子,而这恰恰是容易出错的地方。例如,语音识别要求在特定时间内执行语音处理任务,但配备多个功能时,其周期管理就是一个比较容易出错的地方。

本演示例将多个功能封装在一个项目中供大家测评。因此,通过参考该方法,可以快速解决上述课题,并缩短PoC开发和产品开发周期,降低工时。

另外,本示例还使用了市面上可购得的评测套件Renesas Starter Kit+ for RX671和云连接评测用Wi-Fi Pmod扩展板。

“32位单片机RX671评测参考示例:以单芯片实现触控式按键、语音识别和云连接功能"

诚如大家所见,以空调遥控器为代表的工业和民用设备的UI正逐渐从机械式按键转向触控式按键、语音识别,甚至是使用云连接的远程控制。为满足这一社会需求瑞萨特为大家准备了本示例以供测评,欢迎大家前来体验。

此外,在之前我们曾发布过一篇介绍RX671的文章,欢迎大家点击下方链接跳转查看。

工程师说 | 新型RX671微控制器, 满足物联网设备不断变化的需求​

来源:瑞萨电子
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 19

页面

订阅 RSS - 单片机