立即注册
查看: 422|回复: 0

[资料] 全志XR806 WLAN冷启动快连方案开发指南

已绑定手机
发表于 2022-6-20 11:29:49 | 显示全部楼层 |阅读模式 来自 广东省深圳市
1、前言
1.1 文档简介
本文档主要介绍 WLAN 冷启动快连方案的基本原理和使用方法,并说明使用该模块的注意事项,以方便 开发者正确使用该模块进行开发。
1.2 目标读者
XR806 SDK 用户、WLAN 开发使用人员。
1.3 适用范围
此文档适用于 XR806 SDK,支持 XR806 系列芯片产品。

2、概述
2.1 背景说明
冷启动快连(Cold Start Fast Connection)是 WLAN 模块用于适配一些特定的应用场景所使用的功能,其 主要目的是缩短设备从冷启动到连接上 AP 过程的时间,使设备在极低功耗的情况下可以迅速连接上 AP 进行通信。

2.2 规格特性
冷启动快连方案提供了以下规格特性。
规格特性规格描述备注
支持保存AP信息支持保存AP的SSID和计算后的十六进制PSK值,以 及AP的信道、加密方式等信息该信息保存在Flash的 指定位置
支持保存IP地址支持保存首次连接后获取的IP地址,后续均使用静 态IP进行连接该信息保存在sysinfo中
支持修改AP信息支持完成快连流程后,将AP信息清除,然后重新进 行连接,并保存新的AP信息AP信息清除后,需要重 新进行一次普通连接
支持启动时间统计支持冷启动的各个时间段的耗时统计


2.3 文件位置
以 SDK 包为根目录,WLAN 冷启动快连涉及到的主要文件位置如下
库文件 ./lib/xradio_v3/libwlan.a
头文件 ./include/net/wlan/wlan.h ./include/net/wlan/wlan_defs.h
示例工程 ./project/example/wlan_cSFC

3、技术说明
3.1 功能实现
为了实现启动之后快速连接 AP,需要在第一次连接 AP 之后,将 AP 对应的信息保存到 Flash 中。在后 续启动的时候可以从 Flash 中读取 AP 信息,省去了扫描和 DHCP 的过程。 因此,要完成快速连接的功能,必须有一次普通连接的过程。
3.1.1 实现流程
冷启动快连的大致实现流程如下:
1.jpg
3.1.2 保存信息
为了能快速获取需要连接的 AP 信息,需要将这些信息按照固定格式保存在 Flash 指定的位置。其中部 分信息是在 sysinfo 中使用的,所以可以直接保存在该区域中。剩余的信息需要用户在 Flash 上自定义一 块区域进行保存。

3.2 启动时间
3.2.1 启动时间记录
在 XR806 SDK 上,获取时间使用的函数为 HAL_RTC_GetFreeRunTime(),然后使用接口 save_time()将时间 信息保存在一块指定的内存区域中,最后使用接口 get_time()打印输出统计的各个时间点,以及它们之 间的差值。 具体接口不在此处进行介绍,用户可以直接参考示例工程中的使用。
3.2.2 影响因素
由于整个启动流程与系统相关,所以系统中有多个影响启动时间的因素。其中主要的几个影响因素列举 如下:
3.2.2.1 串口打印
串口打印会占用较多时间,关闭多余打印,可以有效地缩短时间。 XR806 SDK 中使用接口 stdout_enable()来动态开关打印,详细请参考代码中的调用。注意,使用此接口 只会关闭硬件串口的输出,代码的运行仍然存在,所以还是会有小部分时间消耗在代码运行上。
3.2.2.2 CPU频率
提高 CPU 的频率相当于加快代码的运行速度,可以在一定程度上缩短启动时间。
3.2.2.3 Flash
ctrl时钟 系统启动时需要将代码从 Flash 加载到 SRAM 中运行,因此提高 Flash ctrl 的时钟也可以缩短一些启动时 间。如果大部分应用代码都放在 XIP 的话,该措施不会有明显的效果。

更多详细内容请下载附件查看
游客,如果您要查看本帖隐藏内容请回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

合作/建议

TEL: 19168984579

工作时间:
周一到周五 9:00-11:30 13:30-19:30
  • 扫一扫关注公众号
  • 扫一扫打开小程序
Copyright © 2013-2024 一牛网 版权所有 All Rights Reserved. 帮助中心|隐私声明|联系我们|手机版|粤ICP备13053961号|营业执照|EDI证
在本版发帖搜索
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表