MCU

MCU是Microcontroller Unit(微控制器单元)的缩写,它是一种集成了中央处理器(CPU)、存储器(ROM、RAM)、输入/输出端口(I/O)、定时器(Timer)、串行通信接口(UART、SPI、I2C等)和其他外围设备控制器的单个芯片。MCU通常用于嵌入式系统中,用于控制各种电子设备和系统。

由于其集成度高、体积小、功耗低以及成本相对较低等特点,MCU被广泛应用于各种嵌入式系统中,例如智能家居设备、医疗设备、汽车电子系统、工业自动化等。MCU的选择通常基于应用的需求,如处理性能、功耗、外设接口等因素。

2023年5月23日,Andes晶心科技在上海博雅酒店举办年度RISC-V CON研讨会,先楫半导体 HPMicro 作为其重要的生态系统合作伙伴参与了本次研讨会并在现场进行了主题为《高性能RISC-V MCU中国市场发展趋势》的演讲分享。

本次研讨会以“RISC-V 重塑世界・翻转AI、车用电子、Android芯布局”为主题,聚焦RISC-V前瞻趋势、市场发展及新兴领域应用,深入剖析RISC-V技术突破,帮助大家全面拓展商机并在市场上抢占一席之地。

1.jpg

会议开场,Andes 晶心科技董事长林志明先生介绍了《见证RISC-V成为产业主流》的行业发展历程。RISC-V架构不仅助力产品在性能上表现优异,同时,作为开源指令集也赋予开发者更多的自由和选择权。先楫半导体(HPMicro)作为国际RISC-V基金会的企业成员之一,其HPM6000系列高性能MCU都是基于RISC-V架构上做的研发,支持单核双核RISC-V架构,最高主频可达816 MHz,Coremark跑分遥遥领先于其他MCU产品。

2.jpg

(会场展出的用先楫高性能MCU芯片演示的方案)

“随着AI人工智能和物联网的急速发展, 市场各个应用对MCU的算力要求越来越高。除了具备高算力,还需要精准的控制能力、卓越的通讯能力和出色的多媒体能力——必须同时具备以上4个特质,才能称之为高性能MCU。而先楫MCU HPM系列正是满足了这些条件,领跑国内同品类的其他产品。”先楫半导体CEO曾劲涛先生,在大会上表示。

“先楫半导体高性能MCU有创纪录的CoreMark 跑分,集成强大的DSP和AI FPU,具备16位ADC、高精度PWM 和 PLA可编程逻辑能力。HPM6000系列产品线布局考虑到各个阶段的行业用户需求, 目前广泛应用于汽车、工业和物联网等领域。”

3.jpg

曾劲涛先生对企业做了简单的介绍并描述了两个具体的行业应用案例,最后,跟大家分享企业的未来发展方向和核心理念。让大家通过了解先楫半导体,更熟知高性能MCU产品特性,更清晰了解 RISC-V MCU在中国市场的发展趋势。

4.jpg

作为第五代精简指令集,RISC-V技术及其生态系统发展呈星火燎原之势,备受业界关注。先楫半导体作为国内领先的高性能通用MCU厂商,在国产自主化和高性能方面将全面拥抱RISC-V,顺应市场趋势推出更高算力、更丰富应用的MCU产品系列,推动产业发展,共创生态繁荣。

5.jpg

关于晶心科技Andes

Andes Technology 晶心科技股份有限公司于2005年成立于新竹科学园区,2017年于台湾证交所上市(TWSE: 6533; SIN: US03420C2089; ISIN: US03420C1099)。Andes是RISC-V国际协会的创始首席会员,也是第一家采用RISC-V作为其第五代架构AndeStar™基础的主流CPU供货商。为满足当今电子设备的严格要求,Andes提供可配置性高的32/64位高效CPU核,包含DSP、FPU、Vector、超纯量(Superscalar)及多核系列,可应用于各式SoC与应用场景。Andes并提供功能齐全的整合开发环境和全面的软/硬件解决方案,可帮助客户在短时间内创新其SoC设计。在2021年,Andes-Embedded™ SoC的年出货量突破30亿颗;而截至2021年底,嵌入AndesCore® 的SoC累计总出货量已超越100亿颗。

关于先楫半导体HPMicro

“先楫半导体”(HPMicro)是一家致力于高性能嵌入式解决方案的半导体公司,总部位于上海,产品覆盖微控制器、微处理器和周边芯片,以及配套的开发工具和生态系统。公司成立于2020年6月,总部坐落于上海市张江高科技园区,并在天津、深圳和苏州均设立分公司。核心团队来自世界知名半导体公司管理团队,具有15年以上,超过20个SoC的丰富的研发及管理经验。先楫半导体以产品质量为本,所有产品均通过严格的可靠性测试。目前已经量产的高性能通用MCU产品系列HPM6700/6400、HPM6300及HPM6200,性能领先国际同类产品,并完成AEC-Q100认证和ISO 26262功能安全管理体系ASIL D认证,全力服务中国乃至全球的工业、汽车和能源市场。

获取更多信息,欢迎登录先楫半导体官网 http://www.hpmicro.com

来源:先楫半导体HPMicro

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

围观 61

就8051 MCU(单片机)而言,烧录器的种类繁多,兹此我们为您介绍烧录工具的”在线升级”。过去有普通烧写器,这个工具大多用并口烧录,使用引脚较多。以笙泉科技的8051 MCU为例:MPC82系列、MPC89系列几乎为20或20多个引脚。这些带来诸多不便,假如程序有BUG,软件需要升级等,就会很麻烦,得要先把IC从系统上卸下来,然后烧录新的程序,最后再焊回去,……於是痛苦就这么产生了。

基于解决上述的痛点,方便的ISP和ICP方式应运而生。

方式1: ISP(在系统编程)

所谓的ISP即在系统编程: In-System Programming, 缩写为ISP), 参见下图之范例:

1.png

这样,使用者可以在系统上预留3个点:VCC、DTA(P3.1)、GND,通过笙泉专利默认的应用程序软件重新配置在线升级,由于烧录接口减少,第一段所述之痛苦也可逐步减轻。

2.png

8051 ISP烧录器(TH079)特色:

  • USB即插即用

  • 支持联机及脱机二种烧录模式

  • 支持滚动码烧录,此滚动码可当序列号或唯一ID号使用

  • 可设置最大烧录次数限制

  • 自动软件在线更新

  • 3线传输模式,接口简单好连接

3.png

虽然以ISP方式,其使用的接口少(VCC, P3.1, GND) ,但它必须在IC内先植入ISP CODE,也就是说必须用掉部分程序空间,且只能修改部分硬件选项。

方式2: 专业再升级-ICP(在电路编程)

1)  ICP (在电路编程)为一种电路,具有5线烧录模式,完全可代替前述的ISP方式之在线烧录工具,这个在笙泉科技的对应规格书上都有强烈建议,常搭配采用的仿真、烧录工具包括有OCD_ICE和M-Link。

4.png

2) ICP (在电路编程)特色:

  • 无须在目标芯片上预编程一个引导程序

  • 专用串行接口: 不占用 IO口

  • 目标芯片无须在运行状态: 仅需电源

  • 便携、独立的工作,而无须主机的干预

采ICP方式的普通烧写器,其关键是只要用到5个接口,一般来讲4个就足够 ( OCD_SCL, VDD, OCD_SDA, GND )。亦即该烧写器通过ICP方式(电路)来实现在线升级/下载更新程序的功能。

最后归纳: 在您设计的系统中,一定要预留ICP的接口(4个点 OCD_SCL, VDD, OCD_SDA, GND ),为您的产品保驾护航,从此前述之”痛苦”将消失,轻松实现在线升级更新。

来源:megawin笙泉科技

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

围观 92

随着工业自动化,智能家居及汽车电子的发展普及,直流无刷电机(BLDC)和永磁同步电机(PMSM)在诸多领域有了广泛应用。电机作为机械装备上至关重要的组件之一,无论是产品的性能,或是消费者的使用感受,都关乎于电机驱动和控制技术的好坏。

雅特力致力于建立高效电机控制生态系统,不仅有适用于电机控制的MCU,硬件开发套件,还提供有免费且易于使用的电机控制软件算法。从方波驱动到弦波驱动,从霍尔感测器的回授到无感测器的回授,雅特力都有建立起相关资源,协助电机控制工程师快速实现高效的电机矢量控制方案。

低压电机控制开发板

雅特力电机开发板是一个泛用型的低压三相电机驱动器,应用AT32系列微控制器搭配雅特力电机函数库,可驱动直流无刷电机、交流同步电机,以及异步电机。具备一个微控制器转接插座,可使用不同的AT32系列微控制器,执行电机控制算法。雅特力目前已提供基于双ADC引擎AT32F413的低压电机开发板和基于高速比较器AT32F421的低压电机开发板。

1.png

电机开发板设有霍尔信号接口与编码器接口,可回馈转子位置,进行有位置传感器的FOC控制驱动或六步方波驱动。提供剎车电阻接口,可应用于高动态响应控制时的动态剎车功能。具备三相输出端电压检测连接至ADC,以及虚拟中性点电路和比较器电路,可实现多种直流无刷电机(BLDC)六步方波无位置传感器驱动应用。并具备3个相电流检测电阻与1个直流地端母线电流检测电阻,可应用三电阻、两电阻电流检测,以及单电阻电流检测等三种电流检测方式。可执行有位置传感器与无位置传感器等磁场导向(field-oriented)向量控制法则(vector control algorithm)驱动三相交流电机,实现家用、商用以及工业等产品的电机控制应用技术。

2.png

开发板系统架构图在命令输入接口部分,除具有USB转UART界面、UART界面以及I2C接口外,并提供一个电位器模拟输入接口,可改变电位器电阻分压,输出电压命令由ADC读取。此外,有两个指拨开关以及一个按钮开关,可提供程序做控制模式设定,并提供5个LED指示灯,其中包含一个错误指示灯。

AT32电机函数库

雅特力针对电机开发提供了方便易用的AT32F413与AT32F421电机库,包含矢量控制电机库函数(mc_foc_library.lib)和6-step方波控制电机库函数(mc_bldc_library.lib),用户可根据电机控制方式选择电机库,两类电机库皆包含有传感器的控制函数以及无传感器的控制函数,注意在使用电机库时皆须调用初始设定相关函数以进行软件的初始设定。

电机库函数、使用者自定义函数与UI函数均建构于BSP之上,而用户自行撰写的控制程序则植基于电机库函数、用户自定义函数与UI函数之上。因此用户可以很方便地调用电机控制函数控制MCU硬件外设,实现电机控制程序。并可同时经由UI控制函数与外部个人计算机UI软件工具链接,传输实时的电机控制状态或实时改变控制参数与命令。

以下为一个电机控制工程中电机库应用函数与其它MCU基础函数(BSP)、UI通讯程序,以及用户撰写的控制函数与自定义函数之间的关系图。

3.png

电机库控制程序架构图

以下为电机库文档结构说明图。头文件提供设定MCU外设、控制形式、电机参数、控制板参数、控制器参数,相关的设定参数于mc_xxx_globals.c中的函数设定变数初值,MCU外设规划则由mc_hwoio.c文件执行相关外设初使化设定。

4.png

电机库文档结构说明图

雅特力在电机成本、可靠性等方面不断做出突破与改进,AT32F421、AT32F4212、AT32F413三款电机MCU搭配Cortex-M4内核和雅特力电机库算法,具有快速高效的算法能力和高性价比的价格优势,可满足电机控制在系统复杂性、实时性和智能化等方面日益严苛的要求。

来源:AT32 MCU 雅特力科技

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

围观 102

简介

时钟是芯片正确高效运行的基础,正确的时钟配置是芯片能正确运行的必要条件,其重要性不言而喻。AT32各系列产品的时钟配置部分可能存在细微的差异和需要注意的事项,本文档就着重针对各系列的情况来详细介绍如何结合雅特力提供的V2.x.x的板级支持包(BSP)来配置时钟。

以下介绍时钟配置的方法主要分两种:

1、以手动编写代码调用BSP中提供的驱动函数接口来进行时钟配置。

2、采用时钟工具来配置并生成相应的源码文件。

时钟树

在进行时钟配置之前,应充分了解对应芯片的时钟树结构,这样在进行时钟配置时才会游刃有余。对于系统时钟频率及路径的配置我们需要关注时钟源、倍频及系统时钟部分。类似如下图:

1.png

图1. 时钟框图

可由图中得到以下几个关键信息:

1) SCLKSEL:系统时钟可以由HEXT、PLLCLK、HICK三大时钟源提供。

2) HEXT:HEXT是外部高速时钟,其可以外接范围是4~25 MHz的晶振或时钟源。

3) HICK:HICK RC是内部高速振荡器,频率为48 MHz。HICK时钟由内部振荡器给出,但在初始情况下由HICKDIV控制并默认6分频后为8 MHz,亦可配置为不分频,保持48 MHz的频率。

4) PLLCLK:PLL时钟=PLL输入时钟*PLL倍频系数。

5) PLL输入时钟:PLL的输入时钟由PLLRCS及PLLHEXTDIV共同决定,其细分可分为三个来源:HICK 4MHz、HEXT和HEXTDIV,HEXTDIV由HEXT时钟2分频。

代码配置解析

以下将以库函数接口为核心来对时钟配置流程和方法进行说明。

函数接口

各系列产品对应提供的BSP中对硬件的时钟设置部分已封装好接口函数以供调用,以下罗列出时钟配置常用的函数接口,各函数的具体参数及返回值类型等请参考at32f413_crm.c/.h文件。

2.png

时钟配置流程

按常规应用来讲解时钟配置流程,其内容可大致分为如下步骤:

3.png

图2. 时钟配置流程图

复位(CRM Reset)

首先按规范流程应复位CRM配置参数,其主要是将系统时钟切换到HICK,其余的系统时钟配置寄存器写入默认值,待后续进行新配置参数的写入。函数调用的代码实现如下:

4.png时钟源配置(Clock Source Configuration)

与系统时钟相关的高速时钟源主要包括HEXT和HICK,PLL也是使用以上时钟源来进行倍频。需要在配置使能PLL前将所使用的PLL参考时钟源开启并等待其稳定。

  • HEXT

外部高速时钟如采用外接有源时钟的方式时,可开启旁路模式来进行使用,采用晶振时,不能开启旁路模式,旁路模式应在外部高速时钟源使能前进行设定,其默认情况为关闭。旁路模式使能代码实现如下:

5.png

使能HEXT时钟源并等待HEXT时钟稳定,代码实现如下:

6.png

  • HICK

内部高速时钟是由芯片内部振荡器提供,使能HICK时钟源并等待HICK时钟稳定,代码实现如下:

7.png

PLL配置(PLL Configuration)

PLL配置主要包括:PLL时钟源、PLL倍频系数、PLL倍频频率范围等的设置。倍频时钟公式为:PLLCLK=PLL输入时钟*PLL倍频系数。

  • PLL时钟源

PLL时钟源细分有三个来源:1、HICK(4 MHz),2、HEXT,3、HEXT分频时钟,PLL时钟源应在PLL配置使能前开启并等待稳定。以上PLL时钟源在crm_pll_config函数中对应的参数定义如下:

8.png

当选择PLL时钟源为CRM_PLL_SOURCE_HEXT_DIV时,HEXT的分频系数默认为2分频。

  • PLL倍频系数

倍频系数为2~64倍可选,但应该注意最高主频限制,以此按实际情况来合适选择倍频系数,如8倍频使用参数CRM_PLL_MULT_8。

  • PLL频率范围

频率范围主要以倍频后的PLLCLK频率来做设定,其范围参数以72 MHz为界限设定,如下:

9.png

当PLL参数设置完成后,即可开启PLL并等待PLL稳定。示例:外部时钟晶振8 MHz,采用HEXT 2分频时钟作为PLL时钟源,PLLCLK倍频到192 MHz的代码实现如下:

10.png

总线分频(Set Bus Frequency Division)

总线分频包含SCLK到AHBCLK分频、AHBCLK到APB1CLK分频、AHBCLK到APB2CLK分频。AHB总线1分频、APB1/APB2总线2分频的代码实现如下:

11.png

切换系统时钟(Switch System Clock)

系统时钟来源主要有三个:HICK、HEXT、PLLCLK。在切换系统时钟到如上时钟源时应提前确保对应时钟源已稳定。

  • 顺滑模式

时钟顺滑模式是为了确保整个系统时钟切换过程的稳定而设计,当即将切换为系统时钟的目标时钟频率大于108 MHz时应开启时钟顺滑模式,所以其主要应用对象为PLLCLK用作系统时钟时的场景。

通常使用方法是在系统时钟切换前开始,切换成功后关闭。代码实现如下:

12.png

  • HICK系统时钟

内部高速时钟在系统复位重新运行时默认作为系统时钟,后期代码进行设定时,可有两种频率值来进行设定(8 MHz和48 MHz)。如图1所述HICK默认情况下用的是8 MHz,可配置为48 MHz。

HICK 8 MHz用作系统时钟的代码实现如下:

13.png

HICK 48 MHz用作系统时钟的代码实现如下:

14.png

  • HEXT系统时钟

外部高速时钟用作系统时钟时,其系统时钟频率以实际使用的外部时钟频率为准,范围为 4~25 MHz。HEXT用作系统时钟的代码实现如下:

15.png

  • PLLCLK系统时钟

PLLCLK用作系统时钟时,其系统时钟频率以实际的PLL倍频结果为准。其最高频率应满足芯片规格为基础。PLLCLK用作系统时钟的代码实现如下:

16.png


更新核心频率(Update Core Frequency)

提供的BSP中,其代码框架内保留了一个表示系统核心频率的参数值system_core_clock,其保存的是CPU核心的运行频率值,应该在每次系统时钟配置完成后来进行更新。为的是在整个代码框架下,各外设驱动的频率配置能很快获取到当前核心运行频率值并使用。代码实现如下:

17.png

时钟配置示例

以下将以完整的时钟配置流程来进行说明,示例:由8 MHz外部时钟晶振作为时钟源,其2分频路径经PLL倍频到192 MHz并用做系统时钟,AHB不分频,APB1/APB2采用2分频。函数system_clock_config代码实现如下:

18.png

时钟工具

时钟配置工具是雅特力科技为方便对AT32系列MCU进行时钟配置而开发的一个图形化配置工具,其主旨是使用户清晰了解时钟路径和配置出期望的时钟频率并生成源码文件。

环境要求

  • 软件要求

需要Windows7及以上操作系统支持。

安装

  • 软件安装

本软件不需要安装,只需直接运行可执行程序AT32_New_Clock_Configuration.exe。

功能介绍

本章节将介绍此工具的基本操作,其主要的启动界面和配置界面如下所示

19.png

图3. 启动界面

20.png

图4. 配置界面

菜单栏

菜单栏内容如图所示:

21.png

图5. 菜单栏

  • “项目”(Project)菜单:

新建:新建时钟配置项目打开:打开已存在的配置项目保存:保存已打开的配置项目

  • “语言”(Language)菜单:

English:选择English作为显示语言简体中文:选择简体中文作为显示语言

  • “生成代码”(General code)菜单:

当在对应型号的操作配置界面将所期望的时钟路径和时钟频率配置完成之后,可点击“生成代码”菜单来选择源码文件的存储路径并生成相应的源码文件。

  • “帮助”(Help)菜单:

新版本下载:联网进行新版本下载版本:查看当前版本

新建配置项目

双击打开时钟配置工具,可看到图示的启动界面,可点击“项目”菜单-->“新建”,进行配置项目的新建,在新建配置项目的过程中需要对芯片的系列所属进行选择,操作方法如下图所示

22.png

图6. MCU选择界面

MCU系列的选择,可点击下拉框来进行选择,当选择好MCU后点击“确定”可进入到时钟配置界面。

配置界面的使用

配置界面主要用来进行时钟路径及参数的配置,以下的介绍将以AT32F413系列作为示例来展开进行,其余系列的配置方法与此类似。

整个配置界面主要可以分为四个大块,如下图所示

23.png

图7. 配置界面框架

  1. 标题部分:用于展示当前配置项目所选择的MCU系列。

  2. 配置部分:用于对时钟路径和时钟参数进行选择和配置,以达到期望的应用需求。

  3. 输出部分:用于时钟输出(CLKOUT)的配置。

  4. 在SCLK栏也可在选中PLL为系统时钟时作为输入框,可输入期望的系统时钟频率来反向自动配置出倍频参数。

  5. 结果部分:用于显示当前外设所使用的时钟频率及总线上的外设。

接下来就着重介绍一下配置部分的使用。配置部分的流程界面是对应着MCU时钟树来进行的,各系列MCU的此部分可能存在着差异,但使用方式大同小异。时钟路径的配置可按流程对各开关进行点选来进行选择,配置部分如下图所示,将逐个流程点的功能及其注意事项进行介绍。

24.png

图8. 时钟配置框

1. rtc使能:rtc时钟代码配置的使能下拉框。

2. rtcsel:点选框,rtc时钟源选择。当rtc使能开启后,此点选框可配置。

3. lext bypass:外部低速时钟的旁路使能。

4. hext:此为输入框,8 MHz为所采用外部时钟源的默认频率,用户可根据实际使用的外部时钟源频率进行修改。(注:此8 MHz被修改为其他频率值时,对应的BSP中demo目录下的inc/at32f413_conf.h文件内的HEXT_VALUE宏定义也应该一致修改,也可以采用工具生成的at32f413_conf.h文件来进行使用)。

5. hext bypass:高速外部时钟的旁路使能。

6. pllhextdiv:点选框,当HEXT作为PLL时钟源时,可配置输入频率为HEXT分频或HEXT不分频。

7. pllrcs:点选框,可配置PLL时钟源为HEXT或HICK。

8. 倍频系数:使用PLL_MULT参数进行倍频,计算公式为:PLLCLK=PLL输入时钟*PLL_MULT。为了用户的使用方便,在选定PLL输入时钟源后,结果部分的sclk框中输入目标时钟并按下键盘“Enter”键,会自动计算一组倍频参数以满足用户期望或相近的时钟频率。

9. sclk select:点选框,可配置HEXT、PLL或HICK作为系统时钟。

10. sclk频率:当采用正向配置时,此作为系统时钟频率的配置结果显示,当将其用作输入框时,输入期望的频率后点击回车键,会根据此输入值反向计算一组合适的或最接近期望值的PLL配置参数。

11. hick to sclk:点选框,当sclk select选择HICK作为系统时钟时,可配置HICK的8 MHz或48 MHz到系统时钟(注:当选择48 MHz HICK到系统时钟后,CLKOUT输出HICK时的频率也为48 MHz)。

12. usbdiv:下拉框。当PLL时钟被选作为USB的时钟来源时,此处配置PLL时钟到USB时钟的分频系数。13. hick to usb:点选框,可配置USB时钟由PLL时钟或HICK 48 MHz提供,USB时钟配置代码由下拉框to usb来进行选择控制。因USB时钟需要的是固定48 MHz,所以在usbdiv可分频参数为前提下,PLL倍频出来的频率可能不满足USB 48 MHz的时钟需求。

14. USB使能:USB时钟代码配置的使能下拉框。

15. USB时钟频率的显示。此显示栏会实时计算USB时钟的频率并显示,如果配置出来的USB时钟不等于48 MHz时,显示出来的USB时钟频率会标注为红色,而实际应用中没有用到USB时选择disable则不会显示。(注:此部分只针对USB时钟频率的配置,USB外设时钟使能需自行额外打开)

生成代码

当时钟配置完成后,可点击生成代码,然后选择代码生成的路径并确认,最后会在所选目录下生成两个文件夹inc和src,源文件存放在src文件夹下,头文件存放在inc文件夹下。这些文件可结合到BSP_V2.x.x内的工程来进行使用。可以采用新生成的时钟代码文件(at32f4xx_clock.c/at32f4xx_clock.h/at32f4xx_conf.h)将原BSP demo中的对应文件替换,在main函数中进行system_clock_config函数调用即可。

注意事项

外部时钟源(HEXT)修改

因本文档所示例的demo和配置工具都默认采用的8 MHz外部时钟频率,当实际硬件使用的外部时钟源是非8 MHz频率时需注意以下几点。

  • 代码修改

1、以实际的外部时钟频率按文中时钟配置流程章节所描述的时钟配置流程及方法来编写相应的代码,配置出期望的时钟配置及时钟路径。

2、修改对应demo工程中at32f4xx_conf.h文件的HEXT_VALUE值,以实际使用的外部时钟源频率值来进行修改。如实际外部高速时钟使用12.288 MHz的晶振或时钟源时,at32f4xx_conf.h文件应修改如下:

25.png

  • 工具修改

1、在时钟配置工具中的HEXT输入框内填入外部时钟源实际频率值并按“Enter”键确认。

2、配置好所需的时钟路径及时钟频率,生成代码。采用新生成的时钟代码文件(at32f4xx_clock.c/at32f4xx_clock.h/at32f4xx_conf.h)将原BSP demo中的对应文件替换或取其中函数内容进行替换,在main函数中进行system_clock_config函数调用即可。

工具使用

在使用本时钟配置工具时需注意:

1. 此工具生成的时钟配置源码文件需结合雅特力科技提供的BSP_V2.x.x进行使用。

2. 不同系列所生成的时钟配置源码文件不能型号混用,只能在相对应的工程项目中进行调用。3. 配置工具中各输入框参数修改后,请以“Enter”键结束。
PS. 案例介绍可点击此处查看

来源:AT32 MCU 雅特力科技

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

围观 153

2023年5月,云途半导体的车规级MCU产品——YTM32B1M系列通过了德国C&S的CAN总线(含CAN-FD)一致性测试(Conformance Tests)和鲁棒性测试(Robustness Tests),这意味着YTM32B1M系列MCU集成的CAN/FD控制器可以稳定可靠地与其它获取该认证的任意CAN节点实现互联互通,自由组网,保证整车网络通信的稳定性和可靠性。以往国产芯片应用调试中,比较大的痛点就是CAN总线对FD协议支持不全面,高负载断流等问题,通过C&S一致性和鲁棒性测试的云途YTM32B1M系列产品将极大地解决国产芯片这一技术痛点,助力国内智能汽车的前沿发展。

1.jpg

△ YTM32B1M的C&S CAN/FD总线一致性证书

C&S是德国Communication & System Group实验室的简称。C&S实验室成立于1995年,拥有超过25年的车用网络通信开发和测试经验,是业界公认的测试通信接口互联互通、一致性和兼容性的权威认证机构,与全球领先的各大知名车企均有合作,C&S出具的认证报告也获得行业的一致认可。

2.jpg

德国C&S实验室合作伙伴

References - C&S Group GmbH (cs-group.de)

一方面,随着汽车智能化和电动化技术的发展和普及,汽车电子电气系统变得越来越复杂。汽车各个电控功能系统相互之间、电控功能系统与汽车显示仪表之间、以及电控功能系统与汽车故障诊断系统之间都需要进行大量数据交换,CAN/FD总线节点变得越来越多。另一方面,与传统汽车不同,新能源智能汽车使用电驱系统驱动车辆,在车辆充电和放电的过程中,大功率器件的开关动作引起大的电压电流突变,将带来更严重的EMC(电磁兼容性Electromagnetic Compatibility)问题。因此,新能源智能网联汽车对控制类芯片MCU的CAN控制器的总线一致性、通信鲁棒性和EMC性能要求也更高。

此次云途通过C&S CAN/FD总线一致性性测试,意味着云途YTM32B1M系列车规MCU产品具备与整车CAN总线的上下游ECU互联互通的能力,可直接和其他通过C&S认证的CAN/FD节点无障碍通信,保障整车网络兼容性和稳定性。

此外,YTM32B1M是国内首个同时获C&S CAN/FD总线一致性认证和功能安全ISO 26262 ASIL-B产品认证以及通过AEC-Q100 Grade1测试的车规级MCU芯片产品系列,是真正意义上的“高可靠性”“高安全性”的车规MCU。未来,云途半导体将继续严格遵循车规级芯片的设计原则与生产工艺,实干造芯,持续助力国产汽车行业数字化、智能化、网联化的高速发展。

YTM32B1M系列MCU使用120MHz主频ARM Cortex-M33内核、拥有高达1.25MB嵌入式闪存(Flash)、集成多达6路CAN-FD控制器,提供LQFP-144/100/64多种封装、高速I/O 支持2.97V至5.5V供电、工作温度范围为-40℃至125℃(AEC-Q100 grade-1),性能达到国内领先、国际主流水平,可广泛满足智能汽车各个域的应用场景。YTM32B1M系列样品或订购请发送邮件至business@ytmicro.com咨询或联系授权代理商。

来源:云途半导体YTMicro

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

围观 45

 概述

冰箱制冷系统中最重要的部件是压缩机。它从吸气管吸入低温低压的制冷剂气体,通过电机运转带动活塞对其进行压缩后,向排气管排出高温高压的制冷剂气体,为整个制冷循环提供源动力。这样就实现了压缩→冷凝→膨胀→蒸发 ( 吸热 ) 的制冷循环。一般来说,压缩机由壳体、电动机、缸体、活塞、控制设备 ( 启动器和热保护器 ) 及冷却系统组成。

1.png

与普通冰箱相比,变频冰箱最显著的优点是提高制冷效率、节约电力、节约能源。另外,在能快速冷却的同时,还能保持温度波动范围较小,从而达到较好的冷藏保湿效果。压缩机转速的精准控制,压缩机无需频繁启停,噪音更小更安静。本文讨论了基于上海航芯ACM32G103的冰箱压缩机变频方案。

01、ACM32G103系列芯片规格介绍

• 采用M33内核,主频最高可达120MHz

• eFlash:320KB,加密存储,4KB I-Cache,4KB D-Cache,支持Flash加速0等待执行

• SRAM:64KB,其中后8KB在STOP2低功耗模式下可保持数据

• 2路12bits ADC,共19个外部通道,最高速率达3Msps,支持同步模式、加速采样、差分采样以及AUTO等功能

• 2个16位高级定时器,支持PWM输出/(6路)互补输出/死去插入/刹车/编码模式

• 通信接口丰富:4路UART、1路LPUART、3路SPI、2路I2C、2路I2S、2路CAN

• 封装类型丰富:

QFN32/QFN48/LQFP48/LQFP64(7X7)/LQFP64(10X10)/LQFP100

• ESD:4KV(HBM)

• 工作温度:-40°C~85°C

02、冰箱压缩机变频方案

2.png

注:ACM32G103系列支持OPA内部连接COMP和ADC

航芯冰箱压缩机变频方案以ACM32G103为主控,主要电力来源自电源转换,采用磁链观测器方式支持闭环全负载启动。

03、变频方案电机矢量控制

整个系统为闭环控制,内环为电流控制环路,外环为速度控制环路,电机本体方程如下:

3.png

4.png

04、FOC算法实现介绍

FOC算法基于磁链观测器

基于α-β坐标系下的PMSM数学模型如下:

5.png

α-β坐标系下电感表示如下:

6.png

对于SPM,数学模型可以简化为:

7.png

定义状态变量:

8.png

状态变量 y 实质就是反电势,对反电势积分可以得到磁链,那么对磁链的状态变量x微分则得到反电势。关系式如下:

9.png

为了构建非线性观测器,定义矢量函数:

10.png

矢量函数的模实质就是磁链幅值:

11.png

在对反电势进行积分获得磁链的过程中,最担心的就是直流偏置或积分漂移,常用高通滤波器、自适应补偿等方式来抑制这种负面因素。非线性模块的思路就是把估算的磁链的幅值与实际磁链幅值的差,作为估算的磁链分量的补偿项。关系式如下:

12.jpg

完成状态变量的观测器之后,就得到了磁链分量,改写如下:

13.jpg

通过观测的磁链分量就得到了观测的角度。

14.png

通过锁相环就可以得到速度和角度。

同时本算法为克服传统转速环系统跟随性差,动态响应场合差等问题,同时提出了自扰抗ADRC系统,如图所示。

15.png

传统转速环,在负载变化时或者调速时过冲严重,转速跟随性能差。ADRC系统转速跟随性能好,在动态负载场合好用。

结 语 

ACM32G103主频高,支持浮点运算和DSP,内置CORDIC,可以轻松实现上述的SVPWM产生器,Park/Clark变换,PI控制器,以及转子位置观测器。MCU内置的高速12位逼近型ADC和多级中断系统可以确保闭环控制的实时性。

冰箱压缩机变频技术,能避免无谓的能量消耗,省电节能;冰箱全天工作,采用变频技术后,压缩机始终处在低速运行状态,可以彻底消除因压缩机启动引起的噪声;变频技术控温精准、温度连续可调,变频冰箱对食材的保鲜效果更好。优势突出,变频冰箱市场普及率还远未达到行业预期,这片市场大有可为。

来源:上海航芯

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

围观 45

这一课我们将介绍CKS32F4XX系列产品的定时器使用,CKS32F4XX的定时器功能十分强大,包含2个高级控制定时器,8个普通定时器,2个基础定时器,以及两个看门狗定时器和一个系统定时器,总共15个定时器之多。关于定时器部分内容的讲解我们将分3个部分展开,本节将介绍定时器的基本特征和定时操作。

1.jpg

1、计数器分辨率:指定时器一个计数周期,例如同样是84Mhz的工作时钟,

对于TIM2,其分辨率的范围为:1*(1000ns/ 84)~(2^32)*(1000ns/84);

对于TIM3,其分辨率的范围为:1*(1000ns/84)~(2^16)*(1000ns/84)。

2、计数器类型:这个参数按照计数的方向来划分:

向上计数指的是从0开始到1,2...直到自己设置的计数上限值N,达到后再次从0开始计数,周而复始;

向下计数指的是从设置的计数上限值N开始到N-1,N-2,...直到0,达到后再次从N开始计数,周而复始;向上向下计数指的是从0,1,2...N,然后再从N,N-1,N-2...0,周而复始。

3、预分频系数:可以通过设置该系数来配置时基,如定时器工作在84Mhz下,配置不分频则一个计数时基为11.9ns,配置成2分频则一个计数时基为23.8ns。

4、产生DMA请求:定时器的更新会发出DMA请求,这是因为在DMA通道中为Timer预留了一个通道。

5、捕获比较通道:捕获就是定时器可以捕捉到通道的上升沿或者下降沿信号,比较就是定时器可以将计数器的值和装载值做比较,关于这部分将会在下后续章节展开。

6、互补输出:互补输出指的是输出的两个通道两个波形完全相反,通常运用在桥式电路中的互补PWM输出,这一部分将在后续章节展开。

7、最大接口时钟和最大工作时钟:定时器的时钟来源是APB,通过APB预分频器的配置,最大工作时钟可以是PCLKx的两倍。

CKS32F4XX定时器的定时操作

定时器的定时操作原理其实很简单,就像家里用的微波炉一样,需要加热食物时,先设定一个加热时间,然后按下开关,开始计时,当达到我们设置的定时时间以后,微波炉就会停止工作,并会有一个声音提示我们,定时时间到了。当然,在完成定时操作之前,必须要对Timer进行一些配置,下面我们以timer3为例,为大家演示。

1、Timer3时钟使能

TIM3时钟来自于APB1域,我们通过APB1总线下的时钟使能函数来使能TIM3的时钟。调用的函数是:

//>>使能 TIM3 时钟
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);typedefstruct

2、定时器参数初始化

在库函数中定时器的初始化通过TIM_TimeBaseInit实现的:

void TIM_TimeBaseInit(TIM_TypeDef  *TIMx, 
TIM_TimeBaseInitTypeDef  * TIM_TimeBaseInitStruct);

参数结构体指针,结构体类型为TIM_TimeBaseInitTypeDef,下面是结构体的定义:

typedef struct
{ 
    uint16_t TIM_Prescaler; 
    uint16_t TIM_CounterMode; 
    uint16_t TIM_Period; 
    uint16_t TIM_ClockDivision; 
    uint8_t TIM_RepetitionCounter; 
} TIM_TimeBaseInitTypeDef;typedefstruct

这个结构体一共有5个成员变量,要说明的是,对于通用定时器只有前面四个参数有用,最后参数TIM_RepetitionCounter是高级定时器才有用的,后续章节会详解,在此不赘述。

第一个参数TIM_Prescaler是用来设置分频系数的,对应上表中的预分频系数。

第二个参数TIM_CounterMode是用来设置计数方式,如上表所述,可以设置为向上计数,向下计数方式还有向上\向下计数(中央对齐计数)方式,比较常用的是向上计数TIM_CounterMode_Up和向下计数 TIM_CounterMode_Down。

第三个参数是设置自动重载计数周期值,可以通俗的理解成要定时的次数,这个是根据定时时间和时基做除法换算得到的,比如定时器现在计数1次,时间经过了250ns,要定时100us,那自动重载计数周期值为400。

第四个参数是用来设置时钟分频因子,这个参数与定时器的其他功能有密切,本节操作先按照TIM_CKD_DIV1来配置(不分频)。

针对TIM3初始化范例代码格式:

TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; 
TIM_TimeBaseStructure.TIM_Period=5000; 
TIM_TimeBaseStructure.TIM_Prescaler=7199; 
TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1; 
TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up; 
TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);

3、设置TIM3_DIER允许更新中断

因为我们要达到定时时间到后有一个到时提醒的效果,这就需要用到TIM3的更新中断,在库函数里面定时器中断使能是通过TIM_ITConfig函数来实现的:

void TIM_ITConfig(TIM_TypeDef* TIMx, uint16_t TIM_IT, FunctionalState NewState);

第一个参数是选择定时器号,取值为 TIM1~TIM17。

第二个参数非常关键,是用来指明我们使能的定时器中断的类型,定时器中断的类型有很多种,包括更新中断TIM_IT_Update,触发中断TIM_IT_Trigger,以及输入捕获中断等等。

第三个参数就很简单了,就是失能还是使能。

例如我们要使能TIM3的更新中断,格式为:

TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE );

4、TIM3中断优先级设置

在定时器中断使能之后,因为要产生中断,必不可少的要设置NVIC(向量中断控制器)来设置中断优先级。关于NVIC_Init函数实现中断优先级的设置请到NVIC章节参考,这里就不重复讲解。

5、使能TIM3

配置好定时器后,不要忘记开启定时器,就像按下微波炉的开关一样,定时器才会进入工作状态,在固件库里面使能定时器的函数是通过TIM_Cmd函数来实现的:

void TIM_Cmd(TIM_TypeDef* TIMx, FunctionalState NewState)

这个函数非常简单,比如我们要使能定时器3,方法为:

//>>使能 TIMx 外设 
TIM_Cmd(TIM3, ENABLE);

6、编写中断服务函数

最后,要编写定时器中断服务函数,类似于听到微波炉结束工作的声音后,我们需要进行把加热的食物取出或者继续加热等操作,通过该函数来处理定时器产生的相关中断。在中断产生后,通过状态寄存器的值来判断此次产生的中断属于什么类型。然后执行相关的操作,我们这里使用的是更新(溢出)中断,在处理完中断之后应,该向TIM3_SR的最低位写0,来清除该中断标志,在固件库函数里面,用来读取中断状态寄存器的值判断中断类型的函数是:ITStatus TIM_GetITStatus(TIM_TypeDef* TIMx, uint16_t)

该函数的作用是,判断定时器TIMx的中断类型 TIM_IT是否发生中断。比如,我们要判断定时器3 是否发生更新(溢出)中断,方法为:

if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET){} IT_Update) != RESET){}

固件库中清除中断标志位的函数是:

void TIM_ClearITPendingBit(TIM_TypeDef* TIMx, uint16_t TIM_IT)

该函数的作用是,清除定时器TIMx的中断TIM_IT 标志位。使用起来非常简单,比如我们在TIM3的溢出中断发生后,我们要清除中断标志位,方法是:

TIM_ClearITPendingBit(TIM3, TIM_IT_Update );

这里需要说明一下,固件库还提供了两个函数用来判断定时器状态以及清除定时器状态标

志位的函数TIM_GetFlagStatus 和TIM_ClearFlag,他们的作用和前面两个函数的作用类似。只 是在TIM_GetITStatus函数中会先判断这种中断是否使能,使能了才去判断中断标志位,而TIM_GetFlagStatus 直接用来判断状态标志位。通过以上几个步骤,我们就可以达到我们的目的了,使用通用定时器的更新中断,来实现定时并产生定时中断信号。

代码实例

/**通用定时器3中断初始化

>>arr:自动重装值。psc:时钟预分频数

>>定时器溢出时间计算方法:Tout=((arr+1)*(psc+1))/Ft us.

>>Ft=定时器工作频率,单位:Mhz

这里使用的是定时器3**/

void TIM3_Int_Init(u16 arr,u16 psc) 
{ 
    TIM_TimeBaseInitTypeDef   TIM_TimeBaseInitStructure; 
    NVIC_InitTypeDef NVIC_InitStructure; 
    //>> ①使能 TIM3 时钟 
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE); 
    //>>自动重装载值 
    TIM_TimeBaseInitStructure.TIM_Period = arr;
    //>>定时器分频 
    TIM_TimeBaseInitStructure.TIM_Prescaler=psc; 
    //>>向上计数模式
    TIM_TimeBaseInitStructure.TIM_CounterMode=TIM_CounterMode_Up;  
    TIM_TimeBaseInitStructure.TIM_ClockDivision=TIM_CKD_DIV1; 
    // ②初始化定时器 TIM3
    TIM_TimeBaseInit(TIM3,&TIM_TimeBaseInitStructure);
    //③允许定时器 3 更新中断 
    TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE); 
    //定时器 3 中断  
    NVIC_InitStructure.NVIC_IRQChannel=TIM3_IRQn; 
    //抢占优先级 1
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0x01;  
    //响应优先级 3 
    NVIC_InitStructure.NVIC_IRQChannelSubPriority=0x03; NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE; 
    // ④初始化 NVIC 
    NVIC_Init(&NVIC_InitStructure);
    //⑤使能定时器 3
    TIM_Cmd(TIM3,ENABLE);  
    } 
    //⑥定时器 3 中断服务函数 
    void TIM3_IRQHandler(void) 
    { 
        //>>溢出中断 
        if(TIM_GetITStatus(TIM3,TIM_IT_Update)==SET) 
        { 
        } 
        //>>清除中断标志位 
        TIM_ClearITPendingBit(TIM3,TIM_IT_Update);
    }

这里列出了一个中断服务函数和一个定时器3中断初始化函数,中断服务函数中,在每次中断后,判断 TIM3的中断类型,如果中断类型正确,则执行自己需要执行的操作并清除中断标志,TIM3_Int_Init 函数就是执行我们上面介绍的那5个步骤,使得 TIM3开始工作,并开启中断。这里我们分别用标号①~⑤来标注定时器初始化的五个步骤。该函数的2 个参数用来设置TIM3的溢出时间。假设系统初始化 SystemInit函数里面已经初始化APB1的时钟为 4分频,所以APB1的时钟为42M,这也是timer3的最大接口时钟,而从CKS32F4的内部时钟树图得知:当APB1的时钟分频数为1的时候,TIM2~7以及TIM12~14的时钟为APB1的时钟,而如果APB1的时钟分频数不为1,那么TIM2~7以及TIM12~14的时钟频率将为APB1时钟的两倍。因此,TIM3的时钟为84M,再根据我们设计的arr和psc的值,就可以计算中断时间了。计算公式如下:

Tout=((arr+1)*(psc+1))/Tclk;

其中:

Tclk:TIM3的输入时钟频率(单位为Mhz)。

Tout:TIM3溢出时间(单位为us)。

本节我们介绍了CKS32F4XX各定时器概况,以及如何设置最基础的定时功能,包括开启定时器的时钟,配置定时器的时基,定时次数以及计数的方向等,此外定时器其他的功能如输入捕获,比较输出和PWM输出等功能将会在后续章节展开。

来源:中科芯MCU

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

围观 38

在本文中,小编用“小身板”和“俊模样”来指代一个带有图形用户界面的系统的两个方面。“小身板”是指相对有限的MCU资源,例如:相对较低的主频、相对较少的存储资源、没有专门的LCD显示控制器、较低的显示接口速度等等;而“俊模样”是指对用户友好,漂亮且富于吸引力的图形界面,就如同男生的帅、女生的美。

男生的帅和女生的美,除了与天生的基因有关,外在的修饰也同样必不可少。俗话说,人靠衣裳马靠鞍,衣裳和鞍都是外部的修饰,都是实现美好事物所需要的资源。

由此及彼,一个“俊模样”的GUI设计,同样对资源有比较高的要求。这些资源包括主频、Flash和RAM以及美工设计等等。那么,是不是“小身板”就不能有“俊模样”呢?

不是的!如同一个优秀的化妆师可以用卓越的手段实现美,嵌入式工程师也可以通过各种手段进行资源优化,力争让“小身板”的MCU也能实现“俊模样”的界面设计。

对GUI设计进行资源优化的路很漫长,涉及的方面很多,需要我们不断发现,不断思考。小编在这里通过一些示例和大家分享如何使用Slider对某一类动画进行存储资源优化。

我们在生活中经常会见到这样一类应用,如下图所示:

1.png

通过观察我们发现,尽管上面的图形元素,外观各异、形状各异,但是都可以被抽象为两个部分:静态部分和动态部分。比如,咖啡液位,由静态的杯子和动态的咖啡组成;温度计由静态的玻璃容器和动态的水银组成。

我们再看看GUI设计中经常使用到的控件——Slider,其典型结构如下图所示。这是一个典型的Slider控件,由静态的背景 (main) 和动态的指示器 (Indicator) 以及调节点 (Knob) 组成。


2.png

在LVGL中,设置样式的函数名都是以lv_obj开始,例如:

  • lv_obj_set_style_bg_color

  • lv_obj_set_style_bg_opa

  • lv_obj_set_style_bg_img_src

可见,样式是针对所有控件的父对象而言的。换句话说,我们既可以通过lv_obj_set_style_bg_img_src为Slider控件的背景、指示器和调节点设置图片样式,也可以通过lv_obj_set_style_bg_opa将Slider控件的背景、指示器和调节点的透明度设置为0从而达到隐藏Slider控件相应组成部分的目的。

接下来,我们看看如何使用Slider实现咖啡液位变化的动画效果。

首先,通过美工设计,将咖啡液位的图分解为两部分,杯子和咖啡,并将它们分别作为Slider的背景部分和指示器部分,同时隐藏Slider的调节点部分,如下面的简图所示。

3.png


▲咖啡液位的分解及与Slider的对应关系

完成上面的工作之后,后面的工作就是为Slider创建动画,并在动画的回调函数中周期性地调用lv_slider_set_value函数以改变Slider指示器的值,从而实现咖啡液位变化的效果。

看到这里,大家会问了,你讲这么多,和存储资源优化有什么关系吗?大家请想想看,通常我们如何实现这样的动画效果?大致如下图所示,将咖啡液位变化的动画分解为若干不同液位的静态图片,然后,每隔一个时间间隔播放一张图片。时间间隔越短,图片数量越多,动画的效果越流畅。但是,图片数量越多,需要的存储资源越多。

但是,使用上面的方法,实现相同的动画效果,只需要两张图片即可,节约存储资源。

4.png

那么,最后总结一下,有两点与大家分享:

01、前面的三个显示应用,可以抽象出共同的特性。那就是,它们都可以清晰地剥离出静态部分和动态部分。动态部分都具有有限的变化范围,也就是具有一个起始值和结束值。比如,咖啡液位总是在最低液位和最高液位之间变化;又比如,温度计显示的温度值也总是在最低温度和最高温度之间变化。那么,对于这类应用,就可以用Slider实现。

每一种显示动画的方法,都有适用范围,没有好坏之分。我们只有为自己的显示应用选择合适的方案,才能最大限度地优化存储资源。

02、一点GUI动画显示的心得体会,与大家分享,欢迎各位大神指导。

来源:NXP客栈

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

围观 37

环顾我们当前日常生活中的 Bluetooth® 应用,我们有理由期待未来世界能够实现更高程度的互联。据蓝牙技术联盟 (SIG) 估计,蓝牙设备的年出货量将在 2026 年超过 70 亿。在医疗设备、玩具、个人电子产品、智能家居设备等领域,市场需要更高的蓝牙集成度。为满足该市场需求,富有创新精神的工程师将有机会大展拳脚。

蓝牙在医疗领域的发展趋势

蓝牙功能在医疗方面的应用越来越多,包括血糖监测仪、医疗传感器贴片,甚至还有智能牙刷。对于设计者来说,需要满足消费者对以下特性的需求:

  • 尺寸小巧且便于使用。没有人希望在使用血糖监测仪或温度贴片时有诸多限制条件。

  • 电池寿命较长。较长的电池寿命有助于让消费者在危急时刻去安心使用一些设备。

  • 强大的性能。提供可靠的连接至关重要。

蓝牙在个人电子产品领域的发展趋势

尽管游戏产品、玩具或遥控器等个人电子产品与医疗救生设备大不相同,但对集成蓝牙的特性要求则较为类似,包括:

  • 时尚且实用的设计。不管是无线键盘还是鼠标,消费者都偏爱时髦的产品。

  • 更长的电池寿命。充一次电即可保持稳定的运行。

  • 低成本。提供的产品物美价廉。

助您满足上述发展趋势要求

直到现在,工程师在实现蓝牙技术时都需要做出一定的权衡,比如由于成本限制而牺牲射频性能和质量。

德州仪器 (TI) 的 SimpleLinkTM 产品系列包含 CC2340 无线微控制器 (MCU),可帮助应对医疗和个人电子产品应用中遇到的设计挑战:

  • 高达 512KB 的闪存和 36KB 的 RAM 可实现灵活的配置和扩展的特性支持。

  • 小巧的外形(4mm x 4mm 或 5mm x 5mm 封装)和集成式平衡-非平衡变压器,有助于实现空间受限型应用的设计。

  • 该 MCU 的低功耗复位/关断电流小于 150nA,待机电流小于 830nA,可更大程度地延长电池寿命。

  • 有助于设计人员将高质量蓝牙部署到更多低成本产品中。

除了在本文中所举的例子,TI 设计的低功耗蓝牙无线 MCU 还可以满足楼宇自动化、照明和零售自动化等许多其他行业不断发展的需求。CC2340 系列具有不同的特性和价位,适用于各种低功耗蓝牙应用,可助您创建更加互联的世界。

如需获取更多在线技术支持,请访问 TI E2E™ 中文支持论坛 (e2echina.ti.com)。

来源:德州仪器

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

围观 27

提供超丰富半导体和电子元器件™的业界知名新品引入 (NPI) 代理商贸泽电子 (Mouser Electronics) 即日起开售Microchip TechnologyAVR64EA 8位AVR® MCU。AVR64EA MCU为工程师提供基于硬件的高速低功耗集成式模拟核心独立外设 (CIP),适用于工业消费汽车应用的各种实时控制、传感器节点和辅助安全监测。 

PRINT_Microchip Technology AVR64EA 8-Bit AVR® Microcontrollers (MCUs).jpg

贸泽供应的AVR64EA MCU搭载带有硬件乘法器的AVR CPU,时钟速度最高可达20MHz。这些器件提供64KB的闪存、6KB的SRAM和512KB的EEPROM,并配备12位差分模数转换器 (ADC) 和高达16倍增益的可编程增益放大器 (PGA)。AVR64EA 8位AVR MCU可测量较小振幅的信号、在嘈杂环境中采集信号,并在严苛环境中执行快速转换以实现快速准确的信号测量,并且所有这些都以低功耗完成。 

AVR64EA MCU具有精准且温度稳定的内部20 MHz RC振荡器、可配置自定义逻辑 (CCL)、事件系统和CIP,可大幅减少对外部组件的需求。这些器件采用引脚数从28到48的SPDIP、SSOP、TQFP和VQFN封装,工作温度范围-40°C到+85°C。 

贸泽还提供与AVR64EA 8位AVR MCU配套的Microchip Technology AVR64EA48 Curiosity Nano评估套件 (EV66E56A)。AVR64EA48 Curiosity Nano评估套件包含预装的AVR64EA48 MCU。在MPLAB® X 集成开发环境 (IDE) 和Microchip Studio的支持下,该评估板可以轻松访问AVR64EA48的功能,以探索如何将器件集成到自定义设计中。Curiosity Nano系列评估板拥有板载调试器,无需外部工具即可对AVR64EA48进行编程和调试。 

要进一步了解AVR64EA 8-Bit AVR MCU,请访问https://www.mouser.cn/new/microchip/microchip-avr64ea-mcus/。 

要进一步了解可供订购的AVR64EA48 Curiosity Nano评估套件,请访问

https://www.mouser.cn/new/microchip/microchip-avr64ea48-evaluation-kit/

作为全球授权代理商,贸泽电子库存有极其丰富的半导体和电子元器件并支持随时发货™。贸泽旨在为客户供应全面认证的原厂产品,并提供全方位的制造商可追溯性。为帮助客户加速设计,贸泽网站提供了丰富的技术资源库,包括技术资源中心、产品数据手册、供应商特定参考设计、应用笔记、技术设计信息、设计工具以及其他有用的信息。 

工程师还可以一键订阅免费的贸泽电子报,及时了解业界新品动态和资讯。在订阅贸泽的电子报时,我们可以根据您不断变化的具体项目需求来提供相关的新闻报道和参考信息。贸泽充分尊重用户的权利,让您能自由掌控想要接收的内容。欢迎登陆https://sub.info.mouser.com/subscriber-sc 注册,及时掌握新兴技术、行业趋势及更多资讯。

关于贸泽电子 (Mouser Electronics)

贸泽电子隶属于伯克希尔哈撒韦集团 (Berkshire Hathaway) 公司旗下,是一家授权电子元器件代理商,专门致力于向设计工程师和采购人员提供各产品线制造商的新产品。作为一家全球代理商,我们的网站mouser.cn能够提供多语言和多货币交易支持,提供超过1200家品牌制造商的680多万种产品。我们通过遍布全球的27个客户支持中心,为客户提供无时差的本地化贴心服务,并支持使用当地货币结算。我们从占地9.3万平方米的全球配送中心,将产品运送至全球223个国家/地区、超过65万个顾客的手中。更多信息,敬请访问:http://www.mouser.cn。 

围观 8

页面

订阅 RSS - MCU