雅特力

AT32定时器说明

定时器框架介绍

定时器由一个16位的自动装载计数器组成(TMR2和TMR5较为特殊,其自动装载计数器为32位),它由一个可编程的预分频器驱动。它适合多种用途,包含测量输入信号的脉冲宽度(输入捕获),或者产生输出波形(输出比较、PWM、嵌入死区时间的互补PWM等)。

使用定时器预分频器和CRM时钟控制预分频器,可以实现脉冲宽度和波形周期从几个微秒到几个毫秒的调节。

“图1.
图1. 通用定时器的框图

定时器由四个主要部分组成(见图1)。第一部分时钟单元。此单元提供定时器的时钟驱动。第二部分时钟基单元,此单元提供定时器计数功能。第三部分输入捕获,此单元允许输入信号进入定时器模块。第四部分输出比较,此单元将定时器整合后的PWM输出。

定时器一般配置步骤

1) 时钟使能。

crm_periph_clock_enable(CRM_TMR2_PERIPH_CLOCK, TRUE);
2) 初始化定时器参数,设置自动重装值,分频系数,计数方式等。

在库函数中,定时器的初始化参数是通过初始化函数tmr_base_init()及tmr_cnt_dir_set()实现的:
void tmr_base_init(tmr_type* tmr_x, uint32_t tmr_pr, uint32_t tmr_div);

其中,第一个参数是确定是哪个定时器,这个比较容易理解。第二个参数tmr_pr是定时器计数的周期值。第二个参数tmr_div是定时器的分频系数。
void tmr_cnt_dir_set(tmr_type *tmr_x, tmr_count_mode_type tmr_cnt_dir);

其中,第一个参数是确定是哪个定时器,第二个参数tmr_cnt_dir为定时器的计数模式(向上,向下,中央对齐)。

特别地,增强模式是TMR2和TMR5独有的功能。tmr_32_bit_function_enable()为增强模式使能(Plus Mode Enable)函数。开启TMRx增强模式,该模式下TMRx_CVAL,TMRx_PR,TMRx_CxDT由16位扩展为32位。

void tmr_32_bit_function_enable(tmr_type *tmr_x, confirm_state new_state);

当需要配置时钟除频参数时(注意和 TMR_DIV 的区别,配置滤波、死区时间时需配置该参数),会使用到tmr_clock_source_div_set()函数;当需要配置重复周期寄存器时(高级定时器TMR1/TMR8/TMR15才有),会使用到tmr_repetition_counter_set()函数。本例程不使用这两个函数,仅做简要介绍。

void tmr_clock_source_div_set(tmr_type *tmr_x, tmr_clock_division_type tmr_clock_div);
void tmr_repetition_counter_set(tmr_type *tmr_x, uint8_t tmr_rpr_value);

3) 设置TMRx_ IDEN允许更新中断。

void tmr_interrupt_enable(tmr_type *tmr_x, uint32_t tmr_interrupt, confirm_state new_state);
这里着重描述参数tmr_interrupt,它是用来指明我们使能的定时器中断的类型,定时器中断的类型有很多种,包括更新中断,触发中断,以及输入捕获中断等等。

4) TMRx中断优先级设置。

调用nvic_irq_enable()函数即可。

5) 允许TMRx工作,也就是使能TMRx。

void tmr_counter_enable(tmr_type *tmr_x, confirm_state new_state);

6) 编写中断服务函数。

规格说明

AT32 PWM高频测试说明

“图2.
图2. 高频测试原理框图

测试高频信号时,将高频信号输入作为定时器TMR2的时钟源(如上图所示),驱动定时器TMR2的 Counter计数,使用另一个定时器做时钟基准,例如每隔1s,获取TMR2的Counter变化值,则TMR2的变化值即为高频信号的频率值。

使用两个定时器,其中一个定时器为TMR2(这里选取TMR2的原因在于其可以通过设置TMRx_CTRL1中的PMEN位,开启TMRx增强模式,该模式下TMRx_CVAL,TMRx_PR,TMRx_CxDT由16位扩展为32位),测试高频时,有利于Counter计数,不容易产生溢出。这样做的好处在于,既可以测试高频信号:最高50MHz(受限于I/O口的最高频率),且没有频繁产生中断,代码也有冗余,去处理客户任务。

使用此方法测试的频率范围在:50MHz到1Hz(TMR2的工作频率为240MHz)。

注意:增强模式是TMR2和TMR5独有的功能,使用不支持增强模式的其他TMR,或使用不含有增强模式TMR的AT32时,测试频率会受限。

AT32 PWM低频测试说明

“图3.
图3. 低频测试原理框图

测试低频信号时,将低频信号输入作为定时器TMR2的捕获输入(如上图所示),触发TMR2的输入捕获中断,利用TMR2工作时钟除以两次输入捕获之间Counter变化值,即可得到低频信号频率值。

这里定时器为TMR2(这里选取TMR2的原因在于其可以通过设置TMRx_CTRL1中的PMEN位,开启TMRx增强模式,该模式下TMRx_CVAL,TMRx_PR,TMRx_CxDT由16位扩展为32位),有利于低频测试。

使用此方法测试的最低频率为:56mHz。(TMR2的工作频率在240MHz)。

注意:增强模式是TMR2和TMR5独有的功能,使用不支持增强模式的其他TMR,或使用不含有增强模式TMR的AT32时,测试频率会受限。

AT32 PWM占空比测试说明

“图4.
图4. 占空比测试原理框图

测试PWM占空比时,利用门控模式(Hang Mode)方式来测量(如上图所示),将输入信号同时作为两个定时器的输入信号,利用输入信号来控制定时器的Counter计数。一个定时器在输入信号的高电平阶段计数,另一个定时器在输入信号的低电平阶段计数,使用第三个定时器作为时间基准,例如产生1s的中断,在中断内,获取这段时间内,两定时器Counter计数值,将两值做比值即可获取当前的PWM占空比。

这里定时器为TMR2和TMR5(这里选取TMR2、TMR5的原因在于其可以通过设置TMRx_CTRL1中的PMEN位,开启TMRx增强模式,该模式下TMRx_CVAL,TMRx_PR,TMRx_CxDT由16位扩展为32位),有利于测试。

这样做的好处在于,可以测量较高频率的占空比值,例如10MHz内,误差在1%以内。且没有频繁产生中断,代码也有冗余,去处理客户任务。

注意:增强模式是TMR2和TMR5独有的功能,使用不支持增强模式的其他TMR,或使用不含有增强模式TMR的AT32时,测试频率会受限。

PWM Test快速使用方法

硬件资源

1) AT-START-F403A实验板

“图5.
图5. AT-START-F403A实验板

注意:该Demo是基于AT32F403A的硬件条件,若使用者需要在AT32其他型号上使用,请修改相应配置即可。

pwm input test demo使用

打开pwm input test project源程序,其中,在at32f403a_407_clock.h里面有三个宏定义:

“如何使用雅特力AT32

分别用于测试高频信号,低频信号,PWM占空比,打开需要测试的宏【注意:每次只开一个宏】。

打开pwm output源程序,其中,在at32f403a_407_clock.h中有三个宏定义:

“如何使用雅特力AT32

分别产生高频信号,低频信号,PWM占空比用于测试。

AT-START板载的AT-LINK-EZ自带串口输出功能,它可以将USART1_TX口PA9输出至PC。也可使用其他串口工具进行测试结果的输出。

若测试高频信号时:

1) 打开pwm output源程序宏定义:#define Output_High_Frequency,PA8产生60MHz PWM

(I/O口已超频工作,可适当降低主频)。编译下载到实验板1。

2) 打开pwm input test程序宏定义:#define high_frequency_test,编译下载到实验板2。

3) 将实验板1的PA8接入到实验板2的PA0,USART1通过PA9输出当前的PWM频率信息。

串口打印信息如下:

“图6.
图6. 测试高频信号,串口打印信息

若测试低频信号时:

1) 打开pwm output源程序宏定义:#define Output_Low_Frequency,PA8产生500mHz PWM。编译下载到实验板1。

2) 打开pwm input test程序宏定义:#define low_frequency_test,编译下载到实验板2。

3) 将实验板1的PA8接入到实验板2的PA0,USART1通过PA9输出当前的PWM频率信息。

串口打印信息如下(应将第一个数据舍弃):

“”图7.
图7. 测试低频信号,串口打印信息

若测试PWM占空比时,

1) 打开pwm output源程序宏定义:#define Output_PWM_Duty_Ration_10,PA8产生6MHz PWM,占空比为10%。编译下载到实验板1。

2) 打开pwm input test程序宏定义:#define duty_ration_test,编译下载到实验板2。

3) 将实验板1的PA8接入到实验板2的PA0,USART1通过PA9输出当前的PWM占空比信息。

串口打印信息如下:

“图8.
图8. 测试 PWM 占空比,串口打印信息

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

围观 6

IAP在线升级原理概述

IAP(In Application Programming)即在应用编程,IAP是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升级。通常实现IAP功能时,即用户程序运行中作自身的更新操作,需要在设计固件程序时编写两个项目代码,第一个项目程序不执行正常的功能操作,而只是通过某种通信方式(如USB、USART)接收程序或数据,执行对第二部分代码的更新;第二个项目代码才是真正的功能代码。这两部分项目代码都同时烧录在User Flash中,当芯片上电后,首先是第一个项目代码开始运行,它作如下操作:

1) 检查是否需要对第二部分代码进行更新
2) 如果不需要更新则转到4)
3) 执行更新操作
4) 跳转到第二部分代码执行
5) 执行

“图1.
图1. IAP代码执行流程

在图上图所示流程中,AT32复位后,还是从0X08000004地址取出复位中断向量的地址,并跳转到复位中断服务程序,在运行完复位中断服务程序之后跳转到IAP的main函数,如图标号①所示,在执行完IAP以后(即将新的APP代码写入AT32的FLASH,灰底部分。新程序的复位中断向量起始地址为0X08000004+N+M),跳转至新写入程序的复位向量表,取出新程序的复位中断向量的地址,并跳转执行新程序的复位中断服务程序,随后跳转至新程序的main函数,如图标号②和③所示,同样main函数为一个死循环,并且注意到此时AT32的FLASH,在不同位置上,共有两个中断向量表。

在main函数执行过程中,如果CPU得到一个中断请求,PC指针仍强制跳转到地址0X08000004中断向量表处,而不是新程序的中断向量表,如图标号④所示;程序再根据我们设置的中断向量表偏移量,跳转到对应中断源新的中断服务程序中,如图标号⑤所示;在执行完中断服务程序后,程序返回main函数继续运行,如图标号⑥所示。

通过以上两个过程的分析,我们知道IAP程序必须满足两个要求:

1) 新程序必须在IAP程序之后的某个偏移量为x的地址开始;
2) 必须将新程序的中断向量表相应的移动,移动的偏移量为x。

AT32F415接U盘升级简介

AT32F415支持USB Host,因此可以可以挂载U盘,通过FAT32文件系统读取U盘里面的BIN文件,直接做固件升级。

极其简单的操作步骤:

  • 将要升级的BIN文件拷贝到U盘;
  • 将U盘接到415,将自动检测U盘上的BIN文件进行升级;
  • 升级完成,跳转到APP运行。

设计功能特点

  • 目前需要保留32K byte空间,APP的起始需在32K(0x08008000)以后;
  • 目前仅支持FAT32文件系统;
  • 目前仅支持第一个FAT32文件系统分区自动检测BIN文件(多个分区只检测第一分区);
  • 目前仅支持根目录BIN文件检测;
  • 支持多个BIN文件升级;
  • 升级完成之后自动跳转到APP运行;
  • APP起始地址必须Page对齐。

程序设计

地址空间

“表1.
表1. 地址空间

升级BIN档文件名格式(后缀.BIN)

需指定下载地址(格式1)
文件名格式:(4Byte)IAP_+(8Byte)地址+.BIN
如:要下载一个BIN文件到0x08008000为起始的地址空间去
文件名为:IAP_08008000.BIN
注1:8Byte的地址需要保证在APP可使用的范围之内。对于其它格式BIN文件不做升级

注2:BIN文件必须拷贝到U盘根目录下

跳转到APP code执行

当成功下载固件到FLASH之后,会自动跳转到默认APP地址0x08008000

使用AT32F415接U盘进行升级

硬件资源

1) 指示灯LED2/LED3/LED4
2) USB(PA11/PA12)
3) AT-START-F415 V1.0实验板

软件资源

1) SourceCode

  • AN0030_SourceCode_V2.0.0\utilities\AN0030_demo,IAP源程序;
  • AN0030_SourceCode_V2.0.0\libraries,AT32外设库。

2) Doc

  • 《N0030_AT32F415_IAP_using_a_USB_host_connected_U_disk_ZH_V2.0.0》

Note:所有project都是基于keil 5而建立,若用户需要在其他编译环境上使用,请参考
AT32F415_Firmware_Library_CH\project\at_start_f415\templates中各种编译环境(例如IAR6/7/8,keil 4/5)进行简单修改即可。

进入IAP Mode方式

如果已经升级过固件,一直按住User按键,再按Reset键,进入IAP模式,未升级时直接reset就会进入IAP模式。

U盘链接AT32F415

将FAT32格式U盘接到AT32F415开发板USB标准A插座,需提前将BIN文件拷贝到U盘根目录中,文件名格式按照2.2.2节描述命名。

自动挂载U盘并进行升级

Demo在USART1上会输出打印升级状态,Demo会自动查找根目录下符合要求的BIN文件,并自动进行升级。升级成功之后会自动跳转到默认APP地址执行。

“图2.
图2. 串口打印运行信息

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

围观 16

物联网所谈论的议题是一个大方向,往应用细分又可分为智慧城市、智慧交通、智慧医疗、工业物联网(IIoT)等,而工业物联网和工业4.0的概念是密不可分的,着重于互联性、自动化、机器学习及实时数据等多方面。工业物联网是现今除了消费性应用以外,对于实现物联生活使用范围最广的,涵盖领域包含整个工业应用。

工厂自动化带来生产效率和产品质量的提升,并有效解决了有限人力的困境。从产线自动化到无人车搬运系统,再加上机器人、机械手臂助力,驱动工业物联网快速发展。然而要实现真正的智能工厂,对于很多企业来说还是任重而道远。在传统工厂尚未进行数字化转型前,仅能依照第一线员工分散记录生产状况,制作表格整理数据,管理者凭借过去经验和假设做出决策判断。这样耗时耗力地组织整理报告、等待管理者决策,往往耽误了排除问题的最佳时机。

传统工厂升级为智能工厂首要任务,将老旧的机器设备进行可程序化逻辑控制器(PLC)和传感器(Sensor)对接,利用Sensor前端采集资料,可视化的设备进行数据分析,通过通讯设备将资料传输至控制器做实时监控,最后回传到云端管理,形成完整的工业联网。然而要做到这样的技术,必须在现有的设备上安装嵌入式或非嵌入式的联网设备,利用MCU的高运算、小体积、低成本优势,执行硬设备的通讯、边缘运算、实时反应和电机控制等功能,加速推动传统工厂转型。IIoT特性在于拥有灵活高速的通讯网络、快速的分散式运算能力以及有助提高分析的边缘运算技术。这些技术能力缺一不可,用于信号撷取和驱动控制的PLC,与协助工厂设备运作的电机控制系统,在对系统处理的要求上与日俱增,传统8-bit MCU已无法满足制造商的需求,因此采用32-bit MCU才能达到更好的性能要求(图1)。

“图1.
图1. AT32 MCU导入IIoT设备应用

目前Arm®处理器内核作为工业和汽车系统中高集成、低成本MCU的行业标准,特别是ARM® Cortex®-M4 32-bit MCU,除了继承Cortex-M3内核优势,内建数位信号处理器(DSP),可选择附加单精度浮点单元(FPU),让Cortex-M4拥有高精度复杂的运算能力,且具有可访问性的优势,易于开发人员易编写软件。

Cortex-M4 32-bit MCU能有效改善低延迟、精确度及电力管理等问题,将传统MCU功能简化集中至单一芯片,并提供大容量内存,灵活弹性运用,优化系统成本。同时提供开发软件平台便于工程设计人员开发,带来高效处理、实时控制、网络通讯、数据分析和安全控制等功能。雅特力专注于32位微控制器研发与创新,采用ARM® Cortex®-M4高效能或M0+低功耗内核,在运算效能和精度上实现技术上的突破,超越市场上同级芯片,AT32 MCU在工业自动化运用中崭露头角,表现出一定的优势。

实时反应和控制

为确保工厂设备安全和机器的连续运作,精确的类比信号控制至为关键,必须在规范的时间内控制信号,通过快速处理大量的数据,做出实时反应和控制。特别是在数十万转的电机驱动应用上,因电机转速快电流频率高、电机线圈电感小,需要提供高频、高解析的PWM电压,方能使电机高效稳定运转。例如,雅特力推出的AT32F435/437系列MCU,采用最高主频288MHz,支援FPU浮点运算,内建超大容量4032KB Flash和高达512KB SRAM,让CPU能以零等待周期访问(读/写)(图2)。且内嵌自动时钟校准(ACC)模块,ACC可校准高速内部时钟HICK 48 MHz,并保证HICK在芯片可操作温度范围内的最佳准确度,满足各种运动控制和智能控制对高运算力、高精度的需求。

“图2.
图2. 零等待Flash映射区块

简化设计降低系统复杂性

AT32 MCU将丰富的外设如CAN总线、UART、SPI/I2S、ADC、多元用途定时器等外围元件整合成单片机系统,通过高阶软件编程进行最优化设计,建立在弹性的硬件区块上,针对不同应用需求进行软件设定,具备可扩充性和系统兼容性,降低系统复杂度。除上述多元接口外,还包含双DMA控制器、兼容IEEE-802.3 10/100Mbps以太网络和USB OTG等,提高资料传输效率和可靠性;并建立完整的系统生态链,包含开发环境、实时作业系统(RTOS)以及通过雅特力验证的第三方软件资源,并符合国际电工委员会(IEC)制定的IEC-60730国际安全标准规范,如此强大丰富的资源及便利性,有助于产品快速开发上市。

大容量内存提升灵活性

AT32 MCU可搭配标准规格的扩充板,适用于快闪存储器编程和运行控制的内置调试接口,快闪存储器(QSPI)具备高读取频宽,加速高效能嵌入式系统的资料存取及编辑,完成系统的快速编程执行,通过先进制程技术,集成更大容量SRAM进行数据缓存,执行复杂的系统代码与弹性应用。AT32F403A/407系列及AT32F435/437系列,提供256~4032KB Flash、96~512KB SRAM超大存储器选用,灵活应用于各种工业自动化控制领域,如化工、塑料、纺织、包装、印刷、中央空调、环保设备等生产机械设备(图3)。

“图3.
图3. AT32 M4/M0+ MCU FAMILY

提高能源效率

未来工业化的设备将增加更多控制程序和传感器来提升安全性,这些都需要大量的计算能力。例如,设备上增加异常检测功能,在即将发生灾难性的故障前,提前进行预防保养,确保设备发生故障时工厂仍能安全地运作,减少工厂停机时间,并增加多种通讯方式。或是在工厂自动化升级中,实现无线抄表和数据传送功能的低功耗电磁流量计与电流表,节省人力资源和提升效率。AT32WB415系列采用低功耗(BLE)蓝牙5.0,集成蓝牙射频(RF)收发器与基带(baseband)功能所组成的无线通讯型MCU,作为工厂建设首选;由于工厂设备需随时处在联网情况下,能源管理为一大挑战,须解决低运行功耗和低待机功耗等问题,AT32L021系列将于2022下半年推出,主频采用72MHz,片上集成了丰富的外设外围,且扩展了1个采样率高达2 Msps的12位ADC,几乎所有的I/O接口可容忍5V输入讯号,适用于高速数据采集、工业及电机控制,且芯片于待机模式下可达约1uA,深度睡眠模式约20uA的优异功耗表现。

根据Market Research Future分析报告预测,从现在到2023年,物联网微控制器市场的复合年增长率(CAGR)将达到12%,届时年收入将达到近40亿美元。工业物联网的应用多偏重工厂环境设备与大量远距离传感器的连接,因此需要高速的资料传输和数据处理能力同时保持低功耗的电力,也是雅特力MCU一直为之努力的方向。

关于雅特力

雅特力科技于2016年成立,是一家致力于推动全球市场32位微控制器(MCU)创新趋势的芯片设计公司,专注于ARM ®Cortex®-M4/M0+的32位微控制器研发与创新,全系列采用55nm先进工艺及ARM® Cortex®-M4高效能或M0+低功耗内核,缔造M4业界最高主频288MHz运算效能,并支持工业级别芯片工作温度范围(-40°~105°)。

雅特力目前已累积相当多元的终端产品成功案例:如微型打印机、扫地机、光流无人机、热成像仪、激光雷达、工业缝纫机、伺服驱控、电竞周边市场、断路器、ADAS、T-BOX、数字电源、电动工具等终端设备应用,广泛地覆盖5G、物联网、消费、商务及工控等领域。

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

围观 11

2021年年底,雅特力推出了AT32F435/437系列超高性能MCU,因其丰富的片上资源分配、高集成及高性价比特征,一经推出便受到广大工程师朋友的关注。为了让用户完整体验AT32F437各功能运行效果,雅特力近期正式推出了AT-SURF-F437体验板,以AT32F437ZMT7微控制器为中心进行开发设计,帮助用户体验带有FPU内核ARM® Cortex®-M4 32位处理器AT32F437的高性能特性,并帮助用户快速开发应用原型以导入产品量产。

“雅特力AT-SURF-F437全功能体验板,加速应用开发及产品量产"

全功能体验板

AT-SURF-F437是一个全功能的体验板,集成各种不同功能元器件与收发器,实现AT32F437各外设与传输接口功能,便于使用者快速开发实现系统功能。

AT-SURF-F437以AT32F437ZMT7为中心,连接大容量SDRAM、QSPI闪存和RAM,外设配置三色LED灯,按钮,两个USB micro-B和一个type A的连接器,一个以太网RJ45连接器,并配有数字摄像头模组,麦克风及音频输入输出模组,microSD卡接口,和各式通信接口如RS-232、RS-485、以及两组CAN收发模组,并配有3.5寸TFT-LCD触摸屏,可完整体验AT32F437各功能运行效果。

高性能微控制器

AT-SURF-F437板载AT32F437ZMT7微控制器,采用业界领先的55nm先进工艺,搭载ARM® Cortex®-M4内核,并以288MHz的工作主频将M4内核的处理能力发挥到极致。最高可支持超大容量4032KB的闪存(Flash)和高达512KB的SRAM,内建单精度浮点运算单元(FPU)与数字信号处理器(DSP),超越业界同级芯片水平,通过AT-SURF-F437可以全方位感受AT32F437高性能、方便易用、实时运行和低功耗等特性。

“雅特力AT-SURF-F437全功能体验板,加速应用开发及产品量产"

二合一产品开发平台

AT-SURF-F437自带嵌入式调试/烧录工具AT-Link-EZ,不需额外开发工具即可对芯片调试和编程,极大地简化了应用开发流程和难度。

AT-Link-EZ配备了用来连接电脑主机的micro USB口、若干显示工作状态的LED、连接目标芯片进行调试编程的通信接口(包括SWD接口、SWO、串口、NRST和BOOT0)、以及电源接口(3V3和5V)。搭配AT-SURF-F437使用,开发套件组合为嵌入式控制应用提供了二合一的产品开发平台和整体解决方案,进一步提升了开发人员效率。

多功能音频视频处理功能

AT-SURF-F437配有数字摄像头模组,麦克风及音频输入输出模组。

在音频处理方面,支持两个全双工I2S模块,与音频编解码芯片WM8988(U11)连接,配有功放推动喇叭(在电路板背面)和3.5 mm LINE_OUT输出,麦克风和3.5 mm LINE_IN输入。

在视频处理方面,配有一个3.5寸320 x 480 TFT-LCD电容式触摸显示屏,可实时传输视频资料;摄像头模块经由数字摄像头模块接口(CN3)与AT32F437ZMT7的DVP接口连接。

“雅特力AT-SURF-F437全功能体验板,加速应用开发及产品量产"

关于AT-SURF-F437雅特力官网还提供了快速上手指南、用户手册、设计文档、配套SDK等完备的资料,帮助用户快速上手,将更多的心思放到自己的应用实现上。体验板套件包含开发板、LCD面板、摄像头和USB数据线,目前已经正式开售,有需要的小伙伴可联系雅特力业务(sales_artery@arterytek.com)或代理商进行购买!

“雅特力AT-SURF-F437全功能体验板,加速应用开发及产品量产"

“雅特力AT-SURF-F437全功能体验板,加速应用开发及产品量产"

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

围观 14

6月17日,由全球电子技术领域知名媒体Aspencore主办的“全球MCU生态发展大会“在深圳科兴科学园国际会议中心圆满落幕。本次会议以“国产创新 智能应用”为主题,汇聚了众多微控制器领域的技术和应用专家,共同探讨最新处理器技术、边缘AI、新兴应用和生态发展等热门议题。

会议现场,雅特力产品市场经理林金海先生发表了题为《专注生态链,雅特力用“芯”打造高性能高性价比的MCU平台》的主题演讲,详细介绍了雅特力近年来取得的成就,最新产品布局及开发生态体系。同时现场还展示了多款热门终端应用产品,吸引了众多行业人士前来参观交流!

“雅特力携AT32

雅特力专注于ARM® Cortex®-M4和M0+的32位微控制器研发与创新,目前已推出低功耗、超值型、主流型、高性能及无线型五大系列MCU产品线,累计近200款型号。全系列MCU芯片均采用55nm先进工艺,支持-40°~105°工业级别芯片工作温度范围,具有高主频、高可靠性和高安全性等特性。

尤其是近期推出的4款新品,在性能、性价比及应用领域覆盖上都表现十分卓越,2021年Q4推出的AT32F435和AT32F437系列MCU,创造了M4业界最高CPU主频288MHz运算效能;2022年推出的AT32F425和AT32WB415系列MCU,AT32F425继续拓展了超值型MCU产品线,是USB OTG芯片的性价比之选,AT32WB415采用了低功耗(BLE)蓝牙5.0,为消费性电子、智能家居、工业物联网等多项应用领域提供最佳解决方案;以及即将推出的AT32L021系列,作为首次发布的低功耗产品,是入门级低功耗MCU的最佳选择。

“雅特力携AT32

林金海在演讲中提到,雅特力一直坚持从用户需求出发的理念,满足用户多样化需求。随着智能家电、万物互联及工业自动化的不断发展,雅特力紧跟市场需求的变化,在智能家居领域,雅特力提供IEC 60730安全B类库,包含硬件容错设计、自检程序和软件测试库,程序检测内容分为两个主要部分,即启动时的自检和运行时的周期自检,帮助用户顺利通过IEC 60730 B类家电安全标准认证,快速研发出更安全、更可靠的产品。

在工业物联网领域,传统工厂升级为智能工厂首要任务,将老旧的机器设备进行可程序化逻辑控制器(PLC)和传感器(Sensor)对接,利用Sensor前端的资料采集,可视化的设备进行数据分析,透过通讯设备将资料传输至控制器做实时监控,最后回传到云端管理,形成完整的工业联网。AT32 MCU发挥高运算、小体积、低成本的优势,执行硬设备的通讯、边缘运算、实时反应和电机控制等功能,加速推动传统工厂转型。

“雅特力携AT32

除了产品的布局和优化,MCU平台更重要的竞争力在于生态链建设,技术文档、开发工具,软件平台,及在地化支持加起来才是综合竞争力。从产品开发、生产到升级,雅特力提供了一套丰富而完善的AT32 MCU开发生态系统,包括AT-START开发板,AT32 MCU应用转板,AT-Link-Family编程调试工具等硬件资源,以及BSP标准库、ICP/ISP编程工具等软件资源,支持Keil, IAR, eclipse, RT-Thread Studio等IDE平台与RT-Thread OS, FreeRTOS及LittlevGL等OS/GUI平台。提供给了开发人员便利性,大幅缩短开发与量产时间,加快产品上市周期,推动产业升级步伐。

活动现场,雅特力展示了基于AT32 MCU开发的十余款应用方案,包括数字电源、变频器、简易PLC、激光测距仪、智能开关,及电动车驱动器等热门产品,现场人头攒动、气氛热烈!

“雅特力携AT32

关于雅特力

雅特力科技于2016年成立,是一家致力于推动全球市场32位微控制器(MCU)创新趋势的芯片设计公司,专注于ARM ®Cortex®-M4/M0+的32位微控制器研发与创新,全系列采用55nm先进工艺及ARM® Cortex®-M4高效能或M0+低功耗内核,缔造M4业界最高主频288MHz运算效能,并支持工业级别芯片工作温度范围(-40°~105°)。
雅特力目前已累积相当多元的终端产品成功案例:如微型打印机、扫地机、光流无人机、热成像仪、激光雷达、工业缝纫机、伺服驱控、电竞周边市场、断路器、ADAS、T-BOX、数字电源、电动工具等终端设备应用,广泛地覆盖5G、物联网、消费、商务及工控等领域。

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

围观 10

在世界环保趋势与工业自动化浪潮下,家电、商务、工业与医疗等领域纷纷开始“技术变革”,高效能电机驱动技术逐渐翻新传统的各种驱动应用。

高效能电机驱动系统搭载高性能驱动器,取代了低效率且低效能的传统电机,包括许多内燃驱动产品也纷纷电动化,采用电机驱动形式。在电机驱动系统性能优化上,除了电机本身特性外,驱动器对于整体系统优劣具有决定性的影响,MCU作为驱动器的控制核心,成了高性能驱动器设计的关键。

雅特力科技AT32工业级MCU使用高性能具浮点运算指令的ARM® Cortex®-M4F内核,工作频率高达288MHz、512k bytes零等待(Zero wait-state) Flash、3个12-bit 5.33Msps ADC、32-bit分辨率的计数/捕捉定时器、专利芯片代码防护机制,以及超具竞争力的价格优势,特别适用于电机驱控应用,以下将详细介绍AT32 MCU优异的性能特点及在电机控制应用上的优势。

“图1
图1 AT32 M4/M0+ MCU FAMILY

具浮点运算指令ARM® Cortex®-M4F内核

在电机矢量控制的应用中,需要快速而精确的计算能力,如电压/电流矢量的坐标转换、位置\速度\电流控制,以及在sensorless控制时的转子磁极位置估测等等。AT32 MCU Cortex-M4F核心浮点运算可轻易实现这些算法,并具备高速运算与提高运算精度的能力。

288MHz高速主频

天下武功,唯快不破。AT32 MCU工作主频高达288MHz,领先业界其它同级MCU,搭配Cortex-M4F核心运算,具有快速高效的算法能力。特别是在伺服控制应用中,需要高频取样率的快速电流/速度/位置等控制回路计算,AT32 MCU都能轻松胜任游刃有余,并可保留MCU执行余裕提供其它辅助功能程序运作,例如通讯功能等等。

高速时钟频率同时也让脉波宽度调变PWM体现出高分辨率的优势,由于驱动器藉由脉波宽度调变输出脉波电压,以改变电机电流,故PWM分辨率决定了控制电机电压振幅的能力,而PWM频率越高则可提高电压相位的控制解析,并减少电机电流涟波,图2的示意图说明了PWM信号的分辨率和频率对电流的影响。但在相同频率下,PWM分辨率越高则PWM频率越低,因为两者的乘积是对比于系统频率,故高时钟频率可同时兼顾PWM分辨率与频率,特别是在数十万转的电机驱动应用上,因电机转速快电流频率高、电机线圈电感小,需要提供高频、高解析的PWM电压,方能使电机高效稳定运转。

“图2
图2 PWM信号产生与切换电流的关系

零等待Flash

高主频MCU运算速度虽快,但若无高速存储器配合,整体执行效能会受限于Flash指令撷取速度,虽可将关键程序区段搬移至SRAM,但却会减少可运用的SRAM空间,且增加程序复杂度。AT32 MCU内建Flash弹性映射功能,如图3所示,MCU于启动时,自动将映射区域的Flash资料搬移至ZW(zero wait-state)记忆区块,最高可使用达512k byte零等待Flash。藉由Cortex-M4F内核、288MHz高主频与零等待Flash三者的完美配合,发挥MCU极致执行效能。此外针对高性价比的MCU系列,虽未设计零等待Flash,但雅特力科技特别优化其pre-fetch与catch buffer架构与运作机制,以确保在绝大部分执行状况下,等同于零等待Flash的执行效能。

“图3
图3 零等待Flash映射区块示意图

高速12-bit ADC

在电机控制应用中,必须实时感测电机的电流状态,以进行高速电流环控制运算,特别是在单电阻电流取样时,须在极短时间内(

“图4
图4 单电阻电流取样示意图

32-bit分辨率的计数/捕捉定时器

在伺服控制器应用中,为了满足宽广的高低速控制比例,以及精确的速度与定位控制,使用20-bit以上高解析编码器是很常见的,因此MCU需要具有编码器信号4倍频功能的32-bit定时器。此外在使用霍尔元件感测转子位置的低成本应用上,在顾及低速的运转条件下,受限于16-bit捕捉定时器的计数范围,必须将定时器计时的频率适当除频,但如此一来便牺牲了电机高速时的速度分辨率。有鉴于此,AT32 MCU设计了两组32-bit分辨率的计数/捕捉定时器,可满足高阶伺服控制器与低成本驱动器的应用需求。

三组高级定时器

用于输出三相互补PWM信号的高级定时器,是MCU在电机控制应用中不可或缺的单元。AT32 MCU设计了三组16-bit分辨率的高级定时器,搭配MCU的快速运算能力与ADC快速取样,可轻松实现三轴电机控制系统。

通讯外围支援

由于电机驱动广泛应用于各种专业与生活领域,为满足不同产品的通讯需求,其通讯界面也十分多样。AT32 MCU内建多组UART、CAN 、I2C、SPI与USB界面,可满足大部分的产品通讯需求。其中AT32WB415系列更有采用低功耗(BLE)蓝牙5.0,集成蓝牙射频(RF)收发器与基带(baseband)功能所组成的无线通讯型MCU,为各种物联网应用提供最佳方案。

弹性DMA通道映射

电机驱动器所使用的MCU外围众多,又常需要进行实时处理,运用DMA通道进行特定位置资料的实时更新是常用的办法,然而因MCU外围使用较多,无可避免会遇到DMA通道冲突的窘境,因此AT32 MCU设计了DMA通道弹性映射功能,让DMA的通道配置更加灵活,可以将某外围的DMA请求通道指定到三个DMA控制器共22个通道中的任意一个通道,大大提升了应用弹性与便利性。

专利芯片代码防护机制

AT32 MCU具有多重的芯片安全防护措施,包含绝对性的读保护(RDP)、随机数Flash烧录,以及雅特力自行研发的sLib(security library)功能,可指定范围以密码保护特定程序区,例如上游方案商将核心算法保护后,可提供给下游客户做二次程序开发。对于外部扩展SPI NOR Flash通过MCU烧录此外扩Flash时,该区段程序与资料会被芯片内部硬件打乱数值加密,对MCU代码做了全面性防护。

除了MCU性能与功能的考量外,价格也是MCU选型重要因素之一,AT32 MCU具有极强的价格竞争力,全系列采用Cortex®-M4和M0+内核,其中部分M4内核产品价格可媲美M0+ MCU,为客户设计出高性价比且优质的电机驱动产品提供了可能性。

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

围观 21

雅特力科技近日推出全新一代低功耗无线蓝牙MCU,该技术符合Bluetooth Low Energy core 5.0双模规范,并已由Bluetooth SIG (蓝牙技术联盟)认可的德国莱因蓝牙质量认证机构测试通过,确保蓝牙产品的兼容相连。

“雅特力重磅推出AT32WB415系列蓝牙BLE

在物联网高阶应用需求下,产品开发日益复杂,待机时间延长,产品尺寸缩小,MCU市场上求"芯"若渴。为满足多元需求,雅特力整合开发一款AT32WB415蓝牙5.0微控制器,搭载ARM® Cortex®-M4内核,具有高效能CPU、内存资源及丰富的通讯接口,再集成搭配蓝牙射频(RF)收发器与基带(baseband)功能。相较传统MCU功能分散,AT32WB415通过高度集成使终端应用开发变得更为简单,可简化蓝牙产品开发所需组件,同时帮助客户减少系统成本和占板空间,提升系统可靠性,为消费性电子、智能家居、工业物联网等多项应用领域提供最佳解决方案。

雅特力AT32WB415采用低功耗(BLE)蓝牙5.0,支持睡眠(Sleep)、深睡眠(Deepsleep)及待机(Standby)三种模式,可充分实现低电力能耗。在处理无线数据信号强度时,蓝牙接收(RX)灵敏度最大值可达到-97 dBm,具有超强可靠度,即便处在具有挑战性的环境中信号也能保持稳定接收,而发射功率(TX)-20 dBm至+4 dBm为有效延长电池工作寿命的理想选择。产品内置天线,支持超过30m有效范围距离传输,连接无死角;在传输速度方面,最快则能达到2Mbps。目前AT32WB415已取得Bluetooth SIG蓝牙BQB认证 (Declaration ID : D059796)。

产品效能方面,AT32WB415以高效能Cortex®-M4为内核,CPU最高支持150 MHz工作频率,内置高达256KB Flash及高达32KB SRAM。集成MCU丰富的外设,由1组12位8通道ADC、2组比较器、4组USART、1组SPI、1组I2C、1组CAN、与1组高级定时器和7组通用定时器所组成,并可同时满足工业级别操作温度-40°C至+105°C,相较市场上同级产品更增添差异化。

“雅特力重磅推出AT32WB415系列蓝牙BLE

此外,由雅特力自行开发的sLib安全库 (Security Library),可支持密码保护指定范围程序区,方案商烧录核心算法到此区域,提供给下游客户做二次开发,强化产品本身的安全性、可靠性和二次开发的使用便利性。

AT32WB415另一大亮点,不论是从系统开发阶段到量产烧录及后续固件更新,雅特力为用户提供一系列丰富的开发工具,包含AT-START开发板、AT-Link-Family编程调试工具等硬件支持,以及BSP标准库、ICP/ISP编程工具等软件资源,支持Keil、IAR、eclipse、RT-Thread Studio等IDE平台与RT-Thread OS、FreeRTOS及LittlevGL等OS/GUI平台,以系统性的全方位支持,提供开发人员便利性,大幅缩短开发及量产时间,加快产品上市周期。

雅特力专注32位MCU产品研发与创新,通过开发多元高性能MCU、打造完整的价值生态链,不断扩大产品市场布局。AT32WB415作为AT32家族的首个无线蓝牙产品,持续为客户提供满意的高质量产品及服务,帮助用户快速进入无线物联网市场。AT32WB415将于2022年6月开始提供样片。

AT32WB415蓝牙BLE 5.0测试认证报告:
https://launchstudio.bluetooth.com/ListingDetails/150011

关于雅特力

雅特力科技(Artery Technology)于2016年成立,致力于推动全球市场32位微控制器(MCU)创新趋势的芯片设计公司。拥有高端芯片研发技术、完整的硅智财库及专业灵活的整合经验,创造了MCU业界Cortex®-M4最高CPU主频288MHz运算效能!藉由物联网及智能制造的普及,与各类智能终端设备应用对MCU用量及性能的需求不断提升,雅特力将持续开发高效能MCU,广泛地覆盖5G、物联网、消费、商务及工控等领域。

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

围观 18

5月12日,由大比特主办的第17届家电电源与智能控制技术创新研讨会在顺德圆满落幕。会议现场,雅特力产品市场经理林金海先生发表了题为《AT32 MCU在智能家电领域的应用解决方案》的主题演讲,同时现场还展示了多款高效节能的智能家电MCU及终端应用产品。

“雅特力携智能家电MCU精彩亮相第17届家电电源与智能控制技术研讨会"

此次演讲中,林金海先生详细介绍了雅特力低功耗、超值型、主流型、高性能及无线型五大系列MCU。雅特力全系列MCU芯片均采用55nm先进工艺,搭载32位ARM® Cortex®-M4/M0+内核,创造了MCU业界Cortex®-M4最高CPU主频288MHz运算效能,并支持-40°~105°工业级别芯片工作温度范围,具有高主频、高可靠性和高安全性等特性。AT32 MCU已经广泛应用在智能家电领域,在电机及变频控制、安防监控、指纹识别、触控按键等应用中发挥重要的作用。

雅特力AT32F415系列MCU已实现支持亚马逊的Amazon Connect Kit (ACK)功能,并在亚马逊的官方产品智能调光开关批量量产。通过支持Alexa的智能音箱或APP应用程序,为墙面开关添加语音控制功能,从传统开关轻松升级为智能开关。AT32F403A搭载毫米波雷达应用在电灯、空调、空气净化器、水及煤气阀门等智能家电产品中,为产品带来更精准的判断,实现更精准的联动,极大提升产品精确度和稳定性。雅特力新推出的AT32WB415系列MCU,采用了低功耗(BLE)蓝牙5.0,可为智能家电、消费性电子、工业物联网等多项应用领域提供最佳解决方案。

雅特力还提供IEC 60730安全B类库,包含硬件容错设计、自检程序和软件测试库,程序检测内容分为两个主要部分,即启动时的自检和运行时的周期自检,帮助用户顺利通过IEC 60730 B类家电安全标准认证,快速研发出更安全、更可靠的产品。

此次活动现场雅特力展示了吸尘器、高速风筒、电火锅、智能开关、安防报警器等智能家电领域的应用方案。

“雅特力携智能家电MCU精彩亮相第17届家电电源与智能控制技术研讨会"

“雅特力携智能家电MCU精彩亮相第17届家电电源与智能控制技术研讨会"

方案亮点:

  • 高效能运算(72~288MHz)使得运算更实时,让设备提早进入休眠,节省更多电力
  • 所有产品系列管脚兼容,便于升级功能/成本缩减不同市场需求

  • 完善的开发平台,加速产品导入市场

  • 集成MCU+射频通讯(蓝牙)功能,开创”无线”市场可能

此次研讨会聚焦智能家电技术创新热点,深入探讨家电电源设计方案、白家电变频控制方案、家电智能控制技术方案、家电电机技术、智能家居等话题,是华南家电行业一年一度的工程师技术盛会。雅特力此次参会充分展现了AT32 MCU在智能家电产品应用上的性能优势,吸引力大批行业人士前来参观交流!

“雅特力携智能家电MCU精彩亮相第17届家电电源与智能控制技术研讨会"

关于雅特力

雅特力科技于2016年成立,是一家致力于推动全球市场32位微控制器创新趋势的芯片(MCU)设计公司,专注于ARM ®Cortex®-M4/M0+的32位微控制器研发与创新,全系列采用55nm先进工艺及ARM® Cortex®-M4高效能或M0+低功耗内核,缔造M4业界最高主频288MHz运算效能,并支持工业级别芯片工作温度范围(-40°~105°)。

雅特力目前已累积相当多元的终端产品成功案例:如微型打印机、扫地机、光流无人机、热成像仪、激光雷达、工业缝纫机、伺服驱控、电竞周边市场、断路器、ADAS、T-BOX、数字电源、电动工具等终端设备应用,广泛地覆盖5G、物联网、消费、商务及工控等领域。

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

围观 15

雅特力日前推出一系列丰富的软件工具,包括AT-Link Console、ISP Console、New Clock Configuration、I2C Timing Configuration等;同时发布全新升级版BSP、Pack、ICP、ISP、ISP Multi-Port,相比于之前版本,新增支持雅特力新推出的AT32F435、AT32F437、AT32F425、AT32WB415系列MCU,同时强化并完善软件功能,为开发人员提供全面性集成支持,带来开发效率和成果性能的大幅提升。

“雅特力推出全新开发软件工具,打造更完善的AT32

BSP & Pack

为了让用户高效快速的使用Artery MCU,雅特力官方提供了一套完整的BSP & Pack用于开发。主要包括:外设驱动库、内核相关文件、完整的应用例程以及能够支持Keil_v5、Keil_v4、IAR_v6和IAR_v7、IAR_v8等多种开发环境的Pack文件。

“▲BSP内容结构"
▲BSP内容结构

● document:部分说明文档。
● libraries:

drivers:外设驱动库。
cmsis:内核相关文件。包括Cortex-M4库文件、系统初始化文件、启动文件等。
● middlewares:第三方软件包或公用协议包。如USB协议层驱动、网络协议层驱动、操作系统源码等。

● project:

examples:型号相关的示例demo。
templates:模板工程。
● utilities:各经典应用案例存放目录。

“▲Pack安装包"
▲Pack安装包

● IAR_AT32MCU_AddOn:支援IAR_V6、IAR_V7和IAR_V8的压缩包。

ICP(In-Circuit Programming)

ICP Programmer是为了让用户更方便的使用AT32 MCU而开发的一款图形界面应用程序。使用该应用程序,用户可通过AT-Link仿真器或者J-Link仿真器来操作雅特力的MCU设备。同时可配置AT-Link离线项目,用户可通过AT-Link离线下载实现高效量产烧录。

“▲主界面"
▲主界面

ISP(In-System Programming)

ISP Programmer是基于AT32 MCU Bootloader而开发的一款图形界面应用程序。使用该应用程序,用户可以通过UART端口或者USB端口配置操作雅特力的MCU设备。

“▲操作配置界面"
▲操作配置界面

ISP Multi-Port

ISP Multi-Port Programmer是基于AT32 MCU Bootloader而开发的一款图形界面应用程序。使用该应用程序,用户可以通过UART端口或者USB端口同时配置操作多台雅特力的MCU设备。

ISP Multi-Port Programmer支持连续下载模式,方便客户实现高效量产烧录。
功能操作方面,可对选择设备进行全擦除、扇区擦除、块擦除、下载文件、下载用户系统数据文件、Firmware CRC校验、存储器 CRC、启用保护、禁用保护,以及禁用sLib等功能操作。

“▲功能操作选择"
▲功能操作选择

AT -Link Console & ISP Console

AT-Link Console是一款基于AT-Link操作MCU的命令行应用程序。使用该应用程序,用户可以通过SWD端口配置操作雅特力的MCU设备。

ISP Console是一款基于MCU Bootloader的命令行应用程序。使用该应用程序,用户可以通过UART端口或者USB端口配置操作雅特力的MCU设备。

“▲操作流程"
▲操作流程

New Clock Configuration

协助AT32 MCU CPU/IP的时钟配置,并生成代码。

“▲New
▲New Clock Configuration UI画面

I2C Timing Configuration

协助AT32 MCU CPU/IP的时钟配置,并生成代码。

“▲I2C
▲I2C Timing Configuration UI画面

目前这一系列软件资源已上架至雅特力官网(www.arterytek.com),可支持AT32全系列MCU产品,欢迎大家前往网站下载体验。

关于雅特力

雅特力科技于2016年成立,是一家致力于推动全球市场32位微控制器创新趋势的芯片(MCU)设计公司,专注于ARM ®Cortex®-M4/M0+的32位微控制器研发与创新,全系列采用55nm先进工艺及ARM® Cortex®-M4高效能或M0+低功耗内核,缔造M4业界最高主频288MHz运算效能,并支持工业级别芯片工作温度范围(-40°~105°)。

雅特力目前已累积相当多元的终端产品成功案例:如微型打印机、扫地机、光流无人机、热成像仪、激光雷达、工业缝纫机、伺服驱控、电竞周边市场、断路器、ADAS、T-BOX、数字电源、电动工具等终端设备应用,广泛地覆盖5G、物联网、消费、商务及工控等领域。

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

围观 27

概述

空中下载技术OTA(Over-the-Air Technology)是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口,对产品中的固件程序进行更新升级。通常实现OTA功能时,即用户程序运行中作自身的更新操作,需要在设计固件程序时编写两个项目代码,第一个项目程序为Bootloader区域,第二个项目程序App代码为真正的功能代码,执行应用和升级。这两部分项目代码同时烧录在User Flash中。

“图1.
图1. OTA代码执行流程

在上图所示流程中,MCU复位后,从0x08000004地址取出复位中断向量的地址,并跳转到复位中断服务程序,在运行完复位中断服务程序之后跳转到Bootloader的main函数,如图标号①所示;在执行完Bootloader以后(App代码为图中FLASH灰底部分App程序的复位中断向量起始地址为0x08000004+N+M),跳转至App程序的复位向量表,取出App程序的复位中断向量的地址,并跳转执行App程序的复位中断服务程序,随后跳转至App程序的main函数,如图标号②和③所示,同样main函数为一个死循环,并且注意到此时AT32的FLASH,在不同位置上,共有两个中断向量表。

在main函数执行过程中,如果CPU得到一个中断请求,PC指针仍强制跳转到地址0x08000004中断向量表处,而不是App程序的中断向量表,如图标号④所示;程序再根据我们设置的中断向量表偏移量,跳转到对应中断源新的中断服务程序中,如图标号⑤所示;在执行完中断服务程序后,程序返回main函数继续运行,如图标号⑥所示。

通过以上两个过程的分析,我们知道OTA程序必须满足两个要求:

1) App程序必须在Bootloader程序之后的某个偏移量为x的地址开始。

2) 必须将App程序的中断向量表相应的移动,移动的偏移量为x。

AT32 USART OTA 快速使用方法

硬件资源

文档中是用AT-START-AT32F403A实验板的硬件条件为例,OTA demo源代码还包括AT32其他型号,用户只需编译对应型号工程烧录于AT-START实验板运行即可。

1) 指示灯LED2/LED3/LED4
2) USART1(PA9/PA10)
3) AT-START实验板

软件资源

1) tool_release

● IAP_Programmer.exe,PC机tool,用于演示OTA升级流程
2) source_code
● Bootloader,Bootloader源程序,运行LED2闪烁
● App_led3_toggle,App1源程序,运行LED3闪烁
● App_led4_toggle,App2源程序,运行LED4闪烁

注:工程基于keil v5建立,若用户需要在其他编译环境上使用,请参考对应BSP目录AT32F403A_407_Firmware_Library_V2.x.x\project\at_start_f403a\templates中各种编译环境(例如IAR6/7/8,keil 4/5,eclipse_gcc)进行对应修改即可。

OTA Demo 使用

本文档描述了两种常用的OTA应用demo,template app和dual app,后面章节会分别介绍。
1) 打开Bootloader工程源程序,选择对应MCU型号的target编译后下载到实验板

2) 打开IAP_Programmer.exe

3) 选择正确的串口、APP下载地址和bin文档,点击Download下载,如下图

4) 观察LED2/3/4闪烁,LED2闪烁-Bootloader工作,LED3闪烁-App1工作,LED4闪烁-App2工作

图2.
图2. IAP demo上位机

Template app OTA程序设置

地址分布

“图3.
图3. Flash地址分配

注:Bootloader区域最后一个扇区,用于存放防止升级过程出错(掉电等异常情况)的flag,用户编译修改Bootloader时,要保证不覆盖flag的地址。

执行流程

OTA分为Bootloader、App和Template三部分,应用在App中执行,Template仅作为新App固件数据的临时存放空间。程序执行整体流程框图如下:

“图4.
图4. 程序执行流程

Bootloader project 设置

1) Keil设置

“图5.
图5. Bootloader project中address 1在Keil设置

2) Bootloader源程序修改ota.h文件中

“图6.
图6. Bootloader project中address 2在程序中设置

App project 设置

OTA demo提供了2个App程序供测试用,皆以address 2(0x800 4000)为起始地址。App1 LED3闪烁,App2 LED4闪烁。以App1为例,设计步骤如下:

1) Keil工程设置

“图7.
图7. App project中address 2在Keil设置

2) App1源程序设置

“图8.
图8. App project向量表偏移在程序中设置

3) 编译生成bin文件

通过User选项卡,设置编译后调用fromelf.exe,根据.axf文件生成.bin文件,用于OTA更新。通过以上3个步骤,我们就可以得到一个.bin的APP程序,通过Bootloader程序即可实现更新。

4) 开启debug app code功能

如果在设计App code过程中需要对App project进行单独调试,请按照以下操作。

● 先下载Bootloader工程
● 再调试App工程

Dual app OTA与程序设置

地址分布

“图9.
图9. Flash地址分配

注:Bootloader区域最后2个扇区,用于存放App是否正常的flag,用户编译修改Bootloader时,要保证不覆盖flag的地址。

执行流程

OTA分为Bootloader、App1和App2三部分,应用在App1或App2中执行。程序执行整体流程框图如下:

“图10.
图10. 程序执行流程

Bootloader project设置

3) Keil设置

“图11.
图11. Bootloader project中address 1在Keil设置

4) Bootloader源程序修改ota.h文件中

“图12.
图12. Bootloader project中address 2在程序中设置

App project设置

OTA demo提供了2个App程序供测试用,app_led3_toggle以0x800 4000为起始地址,app_led4_toggle以0x8080000为起始地址。App1 LED3闪烁,App2 LED4闪烁。以App1为例,设计步骤如下:

5) Keil工程设置

“图13.
图13. App project中address 2在Keil设置

6) App1源程序设置

“图14.
图14. App project向量表偏移在程序中设置

7) 编译生成bin文件

通过User选项卡,设置编译后调用fromelf.exe,根据.axf文件生成.bin文件,用于OTA更新。通过以上3个步骤,我们就可以得到一个.bin的APP程序,通过Bootloader程序即可实现更新。

8) 开启debug App code功能

如果在设计App code过程中需要对App project进行单独调试,请按照以下操作。

● 先下载Bootloader工程
● 再调试App工程

Bootloader/App与上位机串口通信协议

程序与上位机通信,接收固件升级数据,上位机端和嵌入式端通信协议如下:

1) 上位机通信协议

“图15.
图15. 上位机通信协议

2) 嵌入式端下位机通信协议

“图16.
图16. 下位机通信协议

注:ACK:0xCCDD
NACK:0xEEFF
Data:0x31+Addr+数据+chenksum(1byte)
Addr:4bytes,高位在前
Kbytes,下载数据,不足2K内容填充0xFF
Checksum:1byte,4bytes的Addr+2KBytes数据的校验和的低八位

关于雅特力

雅特力科技于2016年成立,是一家致力于推动全球市场32位微控制器创新趋势的芯片(MCU)设计公司,专注于ARM ®Cortex®-M4/M0+的32位微控制器研发与创新,全系列采用55nm先进工艺及ARM® Cortex®-M4高效能或M0+低功耗内核,缔造M4业界最高主频288MHz运算效能,并支持工业级别芯片工作温度范围(-40°~105°)。

雅特力目前已累积相当多元的终端产品成功案例:如微型打印机、扫地机、光流无人机、热成像仪、激光雷达、工业缝纫机、伺服驱控、电竞周边市场、断路器、ADAS、T-BOX、数字电源、电动工具等终端设备应用,广泛地覆盖5G、物联网、消费、商务及工控等领域。

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

围观 68

页面

订阅 RSS - 雅特力