AT32WB415

DTM操作说明

资源准备

1) 硬件环境:
  • AT-START-WB415
  • MT8852B

2) 软件环境:

SourceCode\projects\ble_app_gatt

软件设计

本范例不推荐用户修改,直接下载程序即可使用

测试流程

1. 将测试程序编译后刻录到AT-START-WB415上

2. 连接AT-START-WB415上的RF SMA接头以及UART 2(P16, P17)到MT8852B(UART baud rate = 115200), 电源可以由UART2提供或是AT-START上的VDD

1.png

图1. AT-START-WB415上的SMA接头

3. 打开MT8852B BLE测试项目时,先选EUT addr进入EUT BT Address页

2.png

图2. 进入EUT BT Address页面

4. 进入EUT BT Address页面,按选Update读取EUT Address

3.png

图3. 选择Update

5. 得到Address后再按MT8852B上的按键(RUN)开始测试

4.png

图4. 确认得到地址后开始测试

6. 等待测试项目完成,过程画面如下

5.png

图5. 测试过程画面

7. 测试完成,可以透过选单去得知各项数据及结果

6.png

图6. 测试完成

来源:AT32 MCU 雅特力科技

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

围观 14

概述

ANCS(Apple Notification Center Service)即苹果通知中心服务,此服务为外围蓝牙设备(手表、耳机等)访问IOS设备(iPhone、iPad等)上生成的多种通知提供了一种简单方便的机制。ANCS围绕三个原则设计:简单性、高效性和可扩展性,因此,不论是简单的LED设备还是具有大显示屏的功能强大的“配套”设备等配件来说,这项服务都具有很高的可用性。

ANCS是基于BLE协议中的通用属性协议(Generic Attribute Profile,GATT)来实现的,即ANCS是GATT协议的一个子集。作为GATT客户端的蓝牙设备可以在使用ANCS时自由访问和使用IOS设备提供的其他服务。

通常ANCS传输的所有数值的字节序都应为小端,传输的字符串值都应由UTF-8编码的unicode字符组成。

AT32WB415 ANCS程序设计

ANCS服务特征

ANCS的服务UUID为7905F431-B5CE-4E99-A40F-4B1E122D00D0。由于IOS的特性,BLE设备应查找并订阅GATT服务的Service Changed特征,以便随时监控ANCS潜在的发布和发布取消。ANCS提供三个服务特征:

通知源(Notification Source):UUID 9FBF120D-6301-42D9-8C58-25E699A21DBD(通知)控制点(Control Point):UUID 69D1D8F3-45E1-49A8-9821-9BBDFDAAD9D9(可写响应)数据源(Data Source):UUID22EAC6E9-24D6-4BB5-BE44-B36ACE7C7BFB(通知)所有这些特征都需要授权才能访问,即BLE设备连接上IOS设备并且完成配对和绑定后才能进行访问。这三个特征中对通知源特征的支持是强制性的,而对控制点特征和数据源特征的支持是可选的。

关于ANCS更多详细内容请参阅:Apple通知中心服务(ANCS)规范(查看AN0147文档)

BLE模块软件设计

对于BLE模块部分的软件,主要就是依据上述ANCS规范来设计的,也就是ANCS规范的软件实现。在使用ANCS服务前需要进行服务设置,流程如下:

1) 等待IOS设备连接BLE模块,并完成配对和绑定

2) BLE模块获取ANCS服务和特征

3) BLE模块订阅数据源(可选项)和通知源,等待ANCS发送通知

1.png
图1. 服务设置流程

下面以来电通知为例讲解通知接收流程

1) IOS设备发送来电通知,UID=3

2) BLE模块获取通知属性,UID=3,需要获取内容包含Title,Message和AppID

3) IOS设备将UID=3的通知数据发送给BLE设备

4) BLE模块发送得到的AppID获取App属性,需要获取内容为DisplayName

5) IOS设备将该AppID的DisplayName发送给BLE设备

2.png

图2. 通知接收流程

对于本案例,BLE模块能够处理的ANCS通知包括来电通知和应用通知两种,用户可按照这两种通知的处理方式来开发其他ANCS通知处理函数。对于不同的通知产生的不同事件BLE模块会通过串口发送不同的数据标志给MCU端,如下:

  • 0x5AA501,表示接收到来电通知添加事件(CategoryID=1,EventID=0)
  • 0x5AA502,表示接收到来电通知移除事件(CategoryID=1,EventID=4)
  • 0x5AA503,表示接收到应用通知添加事件(CategoryID=4,EventID=0)
  • 0x5AA504,表示接收到应用通知移除事件(CategoryID=4,EventID=4)

MCU软件设计

上面提到BLE端对接收到的数据进行判断后会通过串口发送不同的数据标志给到MCU端,MCU端对接收到的BLE串口数据处理方式如下:

1) 通过串口(USART3)接收BLE模块发送的通知数据

2) 接收到0x5AA501,点亮LED2提示来电通知

3) 接收到0x5AA502,关闭LED2提示来电通知移除

4) 接收到0x5AA503,点亮LED3提示应用通知

5) 接收到0x5AA504,关闭LED3提示应用通知移除

6) 除ANCS通知外,对蓝牙连接状态也会进行显示:

接收到0x5AA505,点亮LED4提示蓝牙连接配对成功

接收到0x5AA506,关闭LED4提示蓝牙连接断开

7) 除LED表示通知类型外,还会将接收到的通知数据发送到串口(USART2)来模拟通知显示

PS. “ANCS案例使用”可点击此处查看AN0147

来源:AT32 MCU 雅特力科技

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

围观 18

概述

OTA(Over-The-Air Technology)即空中下载技术,利用OTA技术可以在不接触(接线)的情况下对芯片程序进行升级。AT32WB415的OTA是通过蓝牙的方式实现的,利用芯片中的蓝牙模块(BLE)接收上位机发送的升级命令和程序代码。OTA分为两个部分,用户可以选择OTA升级BLE模块APP,也可以选择OTA升级MCU端。对于MCU端的升级参考了IAP功能的实现,需要在设计固件程序时编写两个项目代码,第一个项目程序不执行正常的功能操作,而只是通过串口接收程序或数据,执行对第二部分代码的更新;第二个项目代码才是真正的功能代码。

AT32WB415 OTA程序设计

地址分布

表1. 地址分布

1.png

注:mcu bootloader区域最后一个扇区,用于存放防止升级过程掉电的flag,用户编译修改bootloader时,要保证不覆盖flag的地址。

上位机软件设计

为了方便用户开发,本应用指南提供了可用于AT32WB415升级的上位机OTA软件,其主要包括扫描、连接蓝牙设备,获取设备信息,打开并下载OTA文件等。软件流程如下:

1) 扫描并连接设备

2) 调用FFC0服务中的FFC1特征,发送0x00,等待BLE端回复设备信息数据,共10 bytes,包括2 bytes app版本号,2 bytes app长度,4 bytes uid,2 bytes rom版本号;

3) 选择下载的bin文件,再次调用FFC1特征,发送bin文件头部信息,共16 bytes,等待BLE端接收该信息,并返回2 bytes数据,返回值为0x0000;

4) 调用FFC2特征,开始发送bin文件,每次发送18 bytes,包括2 bytes block number和16 byts bin文件数据,当block number等于bin文件头部信息中的bit[6:7]/4时,传输完成

5) 调用FFC1特征发送0x5AA5,请求BLE返回OTA结果,如果返回0,则持续发送0x5AA5,如果返回非0值,则发送0xA55A提示BLE进行复位。BLE端返回值含义:

— 0x0000:正在进行OTA

— 0xFFF0:成功

— 0xFFF1:错误

— 0xFFF2:超时

— 其他值:返回值错误

程序执行整体流程框图如下:

2.png

图1. 上位机程序执行流程

BEE模块软件设计

对于BLE模块部分的软件设计,boot&stack code部分无需修改,软件设计都在app code。主要包含了以下内容:

1) 接收上位机蓝牙数据

2) 对蓝牙接收到的bin文件进行分析,在bin档头部包含了app版本、rom版本、uid等内容

3) 判断app版本号,app_version>0x8000,则用于MCU app升级,否则用于BLE模块app升级

4) MCU app升级时,先发送0xa55a5aa5到MCU,提示其复位芯片,进入bootloader程序,然后通过串口将接收到的蓝牙数据发送给MCU

5) BLE模块app升级时,直接将接收到的数据写入flash中OTA数据存放区域

6) 等待发送完成,复位BLE模块程序执行整体流程框图如下:

3.png

图2. BLE程序执行流程

MCU软件设计

MCU软件设计分为Bootloader和App两部分,应用在App中执行,升级过程在bootloader中执行。Bootloader功能包含:

1) 读取flash中的标志判断是否需要更新app

2) 如果无需更新则直接跳转app执行,需要更新则继续执行下面的操作

3) 接收BLE模块发送的串口数据,将数据保存至mcu ota code区域

4) 数据接收完成后将OTA数据搬运至mcu app code区域并跳转至app执行

App功能包含:

1) 清除flash中的OTA更新标志

2) 运行app功能代码(IO翻转)

3) 串口持续监测是否收到OTA升级命令(0xa55a5aa5)

程序执行整体流程框图如下:

4.png

图3. MCU程序执行流程

一、 bootloader project设置

1) Keil设置

5.png

图4. bootloader project中address 4在Keil设置

2) bootloader源程序修改Iap.h文件中

6.png

图5. bootloader project中address 5在程序中设置

二、app project设置

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

1) Keil工程设置

7.png

图6. app project中address 5在Keil设置

2) app1源程序设置

8.png

图7. app project向量表偏移在程序中设置

3) 编辑generate_app.bat批处理文件

文件中的“-v 0x8002”为app程序版本号,可配置为0x8000-0Xffff范围内的任意值。

4) 编译生成bin文件

通过User选项卡,设置编译后调用fromelf.exe,根据axf文件生成bin文件,然后设置调用encrypt_app.bat批处理文件,生成OTA升级所需的bin文件。

通过以上3个步骤,我们就可以得到一个APP程序,将bin文件添加到OTA上位机软件即可实现app程序的更新。

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

a) 先下载bootloader工程

b) 再调试app工程

PS. “通过PC上位机OTA升级”及”通过Android APP OTA升级”案例可点击此处查看AN0144

来源:AT32 MCU 雅特力科技

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

围观 26

雅特力AT-Link Family由AT-Link、AT-Link-Pro、AT-Link-ISO与AT-Link-EZ四款编程调试工具组成,为采用AT32系列MCU进行方案设计和量产烧录提供了整体解决方案。

为满足更多用户及产品烧录需求,提高AT32 MCU产品易用性和生态完整性,AT-Link Family不断更新迭代。AT-Link升级为AT-Link+,新增支持AT32WB415蓝牙芯片烧录,随即还将发布全新版AT-Link-ISO+,取代旧版AT-Link-ISO,并且将AT-Link-Pro固件升级,不论产品外观或功能均有很大提升,为用户带来更完美的开发体验。

AT-Link+

雅特力在扩充产品线的同时,也配合生态系统开发工具的升级。2022年5月推出的AT32WB415系列蓝牙BLE 5.0 MCU,是AT32家族的首个无线蓝牙产品。为了满足蓝牙及更多系列芯片的烧录需求,雅特力正式发布全新版AT-Link+,取代原本的AT-Link。

AT-Link+在AT-Link基础上新增了两组多功能接口,包括一组SPI接口(MOSI/MISO/SCK/CS)和一组可变换外设接口(I2C/CAN等),可以连接目标板,搭配ISP或ICP工具进行在线或离线烧录。其中可变换外设接口的USB端采用的CDC通信,在PC电脑端识别为AT-Link-Bridge设备,支持通过I2C、CAN等外设下载雅特力芯片。

“MULTI
MULTI FUNC接口连接AT32WB415蓝牙模块示意图

AT-Link+在延续与升级AT-Link功能的同时,也在外观上做了很大的改变。新一代AT-Link+采用黑色磨砂质感外壳,大大提升了使用手感和操作便利性,具有兼容性强、人机交互方便、多种下载模式、拓展功能强等优势。

“雅特力全新升级AT-Link+,满足AT32WB415蓝牙芯片烧录需求"

AT-Link+作为一款增强的调试器和编程器,支持在线烧录、离线烧录、IDE在线调试和USB转串口等功能,配备了用来连接电脑主机的USB口、若干显示工作状态的LED、蜂鸣器、按键、机台烧录控制接口、连接目标芯片进行调试编程的通信接口(包括SWD接口、SWO、串口、MULTI FUNC接口、NRST和BOOT0)、电源接口(3V3和E5V)。

AT-Link-ISO+

AT-Link-ISO+与AT-Link+在功能上基本一致,在一般场合使用时不会感觉有差异。AT-Link-ISO+主要强化了隔离保护功能,大大提高了开发验证环境的稳定性,具备了电源和信号1500 V的隔离能力,特别适用于电机、大功率电源、高压及其它强干扰环境下的应用开发及调试。
AT-Link-ISO+采用蓝色磨砂质感外壳,外观上更加精致和美观,同时提高了烧录器稳定性和可靠度,更方便工程师操作。与AT-Link+一样,AT-Link-ISO+同样新增支持AT32WB415蓝牙芯片烧录功能。

“雅特力全新升级AT-Link+,满足AT32WB415蓝牙芯片烧录需求"

AT-Link-Pro

AT-Link-Pro对USB接口进行了升级,采用当前最主流的Type-C接口,提高了数据传输速度和产品兼容性。此外,最新固件在操作界面上进行了全面更新,采用了更符合人体工学的UI设计,带来极速高效的全新烧录体验。

AT-Link-Pro作为一款专业级的调试器和编程器,支持在线烧录、离线烧录、IDE在线调试、VDD输出电压范围调节、配置参数脱机设置和USB转串口等功能,配备了用来连接电脑主机的USB口、用于显示和触摸操作的LCD屏幕、显示工作状态的LED、蜂鸣器、按键、机台烧录控制接口、连接目标芯片进行调试编程的通信接口(包括SWD接口、SWO、串口、NRST和BOOT0)、电源接口(VDD和E5V)。

“雅特力全新升级AT-Link+,满足AT32WB415蓝牙芯片烧录需求"

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

围观 51

雅特力科技近日推出全新一代低功耗无线蓝牙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)。

围观 76
订阅 RSS - AT32WB415