KDocs 研发资料库
  • IOT(BLE-AD-MCU)资料链接入口汇总
  • BLE硬件设计指南
  • BLE 认证汇总
  • AD系列入门到进阶开发指导文档
  • AC75开发指导文档
  • AW31开发指导文档
  • AW33开发指导文档
  • AC63NN开发指导文档
  • HID相关资料入口
  • HID问题汇总

AW31开发指导文档

📎 原始文档:https://www.kdocs.cn/l/cfvDLtQ410RD AW31开发指导文档

📌重要链接

gitee仓库https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK
项目文档https://doc.zh-jieli.com/AW31/zh-cn/master/
淘宝店铺https://shop321455197.taobao.com/
问题汇总https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues
生产指导https://gitee.com/Jieli-Tech/fw-AC63_BT_SDK/issues/I6WEXZ
开源社区钉钉交流群:群号:90400000565

📌发布资料

公版sdk下载链接AW31N_sdk_release_v1.3.0.zip
AW31N_sdk_release_v1.2.0.zip
AW31N_sdk_release_v1.1.0.rar
AW31N_sdk_release_v1.0.0.zip
原理图跟规格书https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/tree/master/doc
硬件设计指南AW31N硬件设计指南V1.0.pdf
BLE硬件设计指南
寄存器说明手册AW31N用户手册V1.0.pdf

📌补丁

补丁等级说明
A 类:问题修复,客户必须修复
B 类:性能优化,客户可选择修复
C 类:功能增加,客户可选择

日期补丁下载链接等级、说明适用sdk
20251107烧录器导fw会报错 https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/ID53K9A级,必须打补丁只用于130版本
20251107AW31N_v130-补丁-20251107.zipA级,必须打补丁只用于130版本
20251107IOVDD供电配置问题 https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/ICXAUZA级,必须打补丁只用于130版本
20250324[202503241940]bd47loader.zipA级,必须打补丁适用所有sdk
20250102AW31N_开机&低功耗&VM兼容性修复说明_20250102.zipA级,必须打补丁110和120版本

📌demo程序

基于AW31N_sdk_release_v1.3.0修改的demo
1k回报率主从测试aw31_v130_release_patched-2.4g高回报率1t1.zip
抖音缩放做法AW31_v130_release_patched-抖音+拍照v0.1.zip
spi主从测试AW31N_sdk_release_v1.3.0-spi主从-V1.zip
软件虚拟RTCAW31N_sdk_release_v1.3.0_rtc.zip
串口和BLE透传数据AW31N_sdk_release_v1.3.0-UART2BLE_SEND.zip
自定义双备份被动升级AW31N_sdk_release_v1.3.0_dual_update_demo.zip
一拖二高回报率手柄AW31N_sdk_beta_v1.3.0_dongle-joystick2.4G高回报率.zip
2.4G低延时1t2键鼠aw31_v130_release_patched-dongle1t2_2.4G低延时_鼠标键盘v0.1.zip
基于AW31N_sdk_release_v1.2.0修改的demo
120版本打完补丁的SDK程序AW31N_sdk_release_v1.2.0_Patch_开机&低功耗&VM兼容性修复_20250422.zip
主从一体AW31N_sdk_release_v1.2.0_Patch-patch-multi-ble-server-client.zip
iic测试分两个板子iic_testok_AW31N_sdk_release_v1.2.0.zip
dongle和鼠标应用的BLE流程AW31N_sdk_release_v1.2.0_Patch_osc_vm-dongle-mouse-BLE流程.zip
dongle和鼠标应用的2.4G高回报率流程AW31N_sdk_release_v1.2.0_Patch_osc_vm-dongle-mouse-2.4G高回报率.zip
电容笔pwm驱动AW31N_sdk_release_v1.2.0_Patch-pll-pencil-pwm-471k-485k.zip
基于AW31N_sdk_release_v1.1.0修改的demo
110版本打完补丁的SDK程序AW31N_sdk_release_v1.1.0_Patch_开机&低功耗&VM兼容性修复_20250206.zip
可修改FCC认证程序SDKAW31N_sdk_release_v1.1.0_FCC_20241214.zip
usb dongle枚举2路hidAW31N_sdk_release_v1.1.0--usb-dongle-2路hid-mouse-keyboard.zip
自定义双备份升级AW31N_sdk_release_v1.1.0_dual_update_Demo.zip
自定义flash分区读写AW31N_sdk_release_v1.1.0_自定义数据+指定mac烧录demo.zip
上电快速启动AW31N_sdk_release_v1.1.0_快速启动demo.zip
最多6路pwm可映射usb口AW31N_sdk_release_v1.1.0--6路pwm-usb.zip
可以在Linux上编译AW31N_sdk_release_v1.1.0--linux编译.zip
跳转到maskrom通过usb线下载AW31N_sdk_release_v1.1.0_jump_update.zip
基于AW31N_sdk_release_v1.0.0修改的demo
ledc推单线rgb灯AW31N_sdk_release_v1.0.0-ledc.zip
串口和BLE数据透传AW31N_sdk_release_v1.0.0_trans_uart2ble(100Byte).zip

demo程序使用方式:demo程序使用方式

  1. 开发工具及环境
  2. IDE编译器安装 下载链接:https://doc.zh-jieli.com/Tools/zh-cn/other_info/index.html
    image 至少需要安装这3个。
    相关链接:
    IOT-AC630N: AC630N系列问题、demo、工具等整理汇总
    AC630N系列问题、demo、工具等整理汇总
    先安装 codeblock 编辑器、再安装 工具链、最后安装包管理器。
  3. 开发板 淘宝店购买链接:
    https://item.taobao.com/item.htm?id=817701311470&spm=a21xtw.29178619.0.0&pisk=gGd-AZ_nqmmup7ORoUk0KOW2SvuD9xYPM38_tMjudnKvR3slxg6CGZ_GWaa7Ne_C9ntnzgYI4Hddc_6eEMjlv6LeXqmisfYyz65SjccgKVA11__5AgNIRi_FWqb7OUwgj65Ijc20OTlOT3gRL-27hZsVJwN5FH6jGwSfPaNBAi6f5Nq5OHtCcr_1R8wQOg_jGi75PuN5Ossf-wFQV6tBlqQ1cM1CFHTjNxodczs39dlVXn8oZZVQOIQRhxY5cPfJGaIAXUO8_5JFyTI6PinSw6tVheWpTyPdpU9wYNt7VDIeMEOWChi0Eg9OJFvpPbNfZQ8WC9OsYJTPZgCXNdUQOECRqHddBunAfQ8X_s6m1VLXg3YyMe4IOZxGcUR59fgNw_s5MZRn07sphpOlU6rSvMRvlQ9d4LOM6RxbjGQ3Fq3YLJW5ucnG8LkcP_uAkG0-9JyF3q7Ajq78LJWXTZIioM2ULtXf.
    image
  4. 下载工具(强制升级工具V4.0) 淘宝店铺购买链接:
    https://item.taobao.com/item.htm?id=620295020803&spm=a21xtw.29178619.0.0&pisk=g2hEba02wBdFFZrLKfNP3EjzPANLO7-X8bZ7r40uRkq3Abirrz47-_43-5Agol1WJW98a0rZ2kwQtbkOaq3-OeFWJW3Lw7xXcIGrJ2F-RIpiTXyMsz0GZyVkC5bgfts9cIOjJp4LNVxjNpoT5yafZ723ElVgXz_3q023IlqTyzj3r6Yw7lURqMVu-Obgrrb3Zz2oSR4Quu4uZ_0gjlUuZ_muZFPgXzcRV20l_rwHPeaylMjPXRqm-l5lgZUUKXdYX_bEsyuaX20RZ_ca8JliL0vXeJMok-hIzQ5TOqkgszlJoTrz3YcQsXxMiReosc4iAU687YuoMWedy_n4T0ymtR7lwWVu45ziiU6YffrIqXyMlsy7sjw0tA99A8NUu0cKYa5omVgj9Rhy0Gq-drFgzbLcUuyl4YS8SyxZwvSlUJ4T7oTw72HJhxFlzhZGeTegMPrXRy6ReJTU7oTFgTB8p3Uaceph.
    image 外壳可以拆开,里面有拨开开关
    使用说明:https://doc.zh-jieli.com/Tools/zh-cn/dev_tools/forced_upgrade/index.html
    image
  • AW31下载说明:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/I9JB33
  • 无法下载时检查方式:https://gitee.com/Jieli-Tech/fw-AC63_BT_SDK/issues/IAHLFF
  • 调试打印:https://gitee.com/jieli-tech_fae/IOT-AC630N/blob/master/doc/software/%E5%85%A5%E9%97%A8/%E4%B8%8B%E8%BD%BD%E8%B0%83%E8%AF%95%E8%AF%B4%E6%98%8E.md
  1. 打印工具 自己网上购买 CH340的USB转串口工具,不要使用下载工具去当串口工具使用。
    https://item.taobao.com/item.htm?ut_sk=1.ZcWApDDHvFMDAGRCA8Q2Jk5J_21380790_1747719929576.Copy.1&id=522571378803&sourceType=item&price=4.8&suid=0B769916-5BB8-4A47-8776-7358C99E161F&shareUniqueId=31666222863&un=2d22a0165b9e67c9bbeeeafdb2768e28&share_crt_v=1&un_site=0&spm=a2159r.13376460.0.0&wxsign=tbwBfLXARYXDDGWri0MwQU8yeR1tE9MI7KaRjNG32wjoGDB8Lm1-8zHmkeL4Ii3YO_faIytrDO4sRR6xYpfAq2R53zPRYs28DhVFMRw9vaW2ldOIPdhhtpZ39AfvTYhdEFt&tbSocialPopKey=shareItem&sp_tk=QndWOFZRUWFoclc%3D&cpp=1&shareurl=true&short_name=h.6tP4jV1mrYJEsh7&bxsign=scdcIkCo5ZEjofIJBwHAYKDLqOYVn04NO3F-Y2FDos7lwucM4iQcabmEE_24MScefxzUFlo4rYtcZhiwt3LTl9BAx2Xy1wNfLdxdUna9wOvETZlje2xDFZyWcNSAPTj-PRp&tk=BwV8VQQahrW&app=chrome
    imageimage
  2. 烧录工具 量产烧录器有2种:一拖二烧录器、一拖八烧录器,均没有开源淘宝店购买链接,只能联系杰理代理商购买。
  3. 一拖二烧录器 image 一拖二烧录器使用说明:https://doc.zh-jieli.com/Tools/zh-cn/mass_prod_tools/burner_1tuo2/index.html
    烧录报错:https://doc.zh-jieli.com/Tools/zh-cn/mass_prod_tools/burner_1tuo2/status_errors.html#id12
  4. 一拖八烧录器 image 一拖八烧录器使用说明:https://doc.zh-jieli.com/Tools/zh-cn/mass_prod_tools/burner_1tuo8/index.html
    烧录报错:https://doc.zh-jieli.com/Tools/zh-cn/mass_prod_tools/burner_1tuo8/status_errors.html#targe-1tuo8-ldc-show-err
  5. 烧录座子 烧录座子没有开源淘宝购买链接,只能联系杰理代理商购买。
    每个型号都是独立的座子,不能混用。
    image
  6. 测试工具
  7. 杰理测试盒 image 淘宝购买链接:
    https://item.taobao.com/item.htm?id=620942507511&spm=a21xtw.29178619.0.0&pisk=g1_rbf1aJzUyIZvJqZTEb5v3xLTJyey_aw9Bt6fHNLvkFw6FtBABZ2AkZE4DsKgQwUZp89JVpLtWrwSx81CdP7LQwUCJJe2_CP_Fw_Lp_bExualciCfmq0Y3cEcDhcMYCPa1wuAJRs21RuufNQOs-exkxKYDHBGkK9xlimvv9BDkt4V4gKdEEpAkKEfDwCuH-BxhirA9O0vnrQYDoKdH-pXH-S8DHBc7F_fnuCtuO7tzRkkB_3JGZKuNMZRk70Cy3DnCui-yIO9q-2b2a68w__3aAdj9Fh9Gnrgy8sAF3hszQ4WFt1IH0wkuNOXcY9AADJoeQMf5XZtjt0fV8L-GrnlL11Yet9xFDRu6aUs2baS89xflCLSMy6GaFs-N0hdDmXokPG11JhbuzApXXBW2fgyZzOjyZvdDZ-7d4vmeqId2CSPVwME1XecUhKmKvnY9gdNWNDnpV_O2C7uZvDK-LIJ_wuf..
    一拖二杰理测试盒使用说明:https://doc.zh-jieli.com/Tools/zh-cn/mass_prod_tools/testbox_1tuo2/index.html
    校正频偏用法说明:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IAG6JT
    OTA升级用法说明:https://gitee.com/Jieli-Tech/fw-AC63_BT_SDK/issues/I7FRNK
    测试按键用法说明:https://gitee.com/Jieli-Tech/fw-AC63_BT_SDK/issues/I7T4RC
  8. 芯片封装型号 已知型号,信息可能不全,具体需要跟商务确认,是否还在正常出货中
型号封装容量状态
AW312ASOP16AW312A2已停产
AW312BSOP16AW312B2/出货中
AW313AQFN20LAW313A2/AW313A4出货中
AW314ATSSOP20AW314A2出货中
AW318ASOP8AW318A2/AW318A4出货中
AW318BSOP8AW318B2出货中
AW318CSOP8AW318C2已停产
  1. 芯片型号测试板 很多型号没有,一般用烧录座子测试。
    有的也不外卖,很多代理商会自行设计,建议联系代理商购买,或者自行设计。

  2. 相关工具

  3. key文件--芯片加密 key文件和烧录器绑定,用于芯片代码加密。key文件和烧录器,都只能跟杰理代理商获取。

  • 开发板,和未经烧录器烧录的芯片,都处于未加密的状态,下载的代码是不加密的。下载的代码不能加-key。
  • 强制升级工具,下载程序,是无法对芯片进行加密的,只能校验芯片是否加密了。
  • 一旦芯片用一拖二或一拖八烧录器,烧录后,芯片就加密了。下载代码就需要添加对应的-key。
  • 芯片只能加密一个key,加密后是无法修改成其他的key。
  • 不同代理商的key文件,都是不一样的,无法混用和修改的。
  • 已加密的芯片,是无法获取加密哪个key的。
  • 外发的烧录文件,必须加-key编译生成的,烧录器才能识别。 imageimage
  1. 固件授权工具 没有开放下载,一般是找杰理代理商获取。
    可以限制外发的fw烧录固件,烧录次数,避免客户可以无限制烧录。
    烧写文件授权工具_2.1.18.zip
    image

  2. 固件升级工具 imageimage 【金山文档 | WPS云文档】 固件升级程序_1.4.47.b-AW31能用版本
    https://www.kdocs.cn/l/chrhq54hagIS

  3. 校验码查看工具 imageimageimage

  4. demo程序使用方式 imageimage 将修改点,移植到自己的程序上即可。

  5. 硬件设计

  6. 电源

  7. VPWR和IOVDD VPWR和IOVDD,千万不能短接。
    锂电池、USB 5V、3节干电池 等,接入VPWR引脚。
    2节干电池、LDO 3.3V等,接入IOVDD引脚供电,VPWR悬空。

  8. 纽扣电池 由于蓝牙瞬态功耗较高,超过20mA,因此AW31不适合纽扣电池产品。
    常见纽扣电池型号规格参数:

电池型号标称电压标称容量工作电流连续电流脉冲电流尺寸:直径*厚度重量
CR30323V550mAh0.2mA3.0mA20mA30.0mm*3.2mm6.8g
CR24773V950mAh0.2mA3.0mA20mA24.5mm*7.7mm9.9g
CR24503V550mAh0.2mA3.0mA20mA24.5mm*5.0mm5.8g
CR24303V270mAh0.2mA3.0mA20mA24.5mm*3.0mm4.3g
CR24123V90mAh0.1mA1.0mA15mA24.5mm*1.2mm2.2g
CR23543V530mAh0.2mA3.0mA20mA23.0mm*5.4mm6.3g
CR23353V300mAh0.2mA3.0mA20mA23.0mm*3.5mm4.2g
CR23303V260mAh0.2mA2.0mA20mA23.0mm*3.0mm3.7g
CR23253V190mAh0.2mA2.0mA20mA23.0mm*2.5mm3.2g
CR23203V130mAh0.2mA2.0mA20mA23.0mm*2.0mm2.7g
CR20323V210mAh0.2mA2.0mA20mA20.0mm*3.2mm3.0g
CR20253V150mAh0.2mA2.0mA20mA20.0mm*2.5mm2.5g
CR20163V75mAh0.1mA1.0mA15mA20.0mm*1.6mm1.7g
CR16323V120mAh0.1mA1.0mA15mA16.0mm*3.2mm1.8g
CR16203V70mAh0.1mA1.0mA10mA16.0mm*2.0mm1.2g
CR16163V50mAh0.1mA1.0mA10mA16.0mm*1.6mm1.1g
CR12253V50mAh0.1mA1.0mA5mA12.5mm*2.5mm0.9g
CR12163V25mAh0.1mA1.0mA5mA12.0mm*1.6mm0.7g
CR10253V30mAh0.1mA1.0mA5mA10.0mm*2.5mm0.6g
CR12203V38mAh0.1mA1.0mA5mA12.0mm*2.0mm0.8g
  1. 生产相关
  2. 生产--烧录--测试指引 相关链接:
    fw-AC63_BT_SDK: Firmware for Generic Bluetooth SDK(AC63 series), Support AC631N/AC635N/AC636N/AC637N/AC632N, compatible with AC69 series without audio support.
    Firmware for Generic Bluetooth SDK(AC63 series), Support AC631N/AC635N/AC636N/AC637N/AC632N, compatible with AC69 series without audio support.
  3. 烧录器 详细介绍:烧录工具
  4. 一拖二烧录配置
  5. 一拖八烧录配置
  6. 产测工具
  7. 测试盒 详细介绍:测试工具
  8. SDK介绍
  9. 芯片资源介绍
  10. ram 芯片总RAM大小为32K,细分为:
  • 拥有28K字节SRAM(12K No Retention + 16K Retention)
  • 拥有4K字节ICACHE缓存空间 SDK各种常用功能配置下,剩余ram资源大小:
    nv_ram:低功耗能保持
    nk_ram:低功耗无法保持,进出低功耗,都要重新初始化
    AW31 SDK 1.2.0各种基础功能应用:
功能集剩余ram
单server12836B (nv_ram_remain:0x3224)
单server+低功耗7284B (nk_ram_remain:0x1ac0,nv_ram_remain:0x1b4)
单server+低功耗+测试盒4600B (nk_ram_remain:0x1078,nv_ram_remain:0x180)
单server+低功耗+测试盒+app_ota3944B (nk_ram_remain:0xe78, nv_ram_remain:0xf0)
单client11384B (nv_ram_remain:0x2c78)
单client+低功耗ram不够
单server+单client7324B (nv_ram_remain:0x1c9c)
单server+单client+app_otaram不够
双server8104B (nv_ram_remain:0x1fa8)
双client7584B (nv_ram_remain:0x1da0)
HID+低功耗5748B (nk_ram_remain:0x1520,nv_ram_remain:0x154)
HID+低功耗+测试盒+app_ota2912B (nk_ram_remain:0xad8,nv_ram_remain:0x88)

RAM使用介绍:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IAQ5EM
2. flash 目前有2种flash容量可选:2Mbits(256KByte)和4Mbits(512KByte)
具体型号查看:芯片具体型号
3. 芯片对比及芯片选型 AC632、AC636、AW31、AW30这四个芯片资源和功能对比
芯片对比及芯片选型:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IBPOXO

  1. AW31N_transfer--透传工程 codeblock工程文件:sdk\apps\demo\transfer\board\bd47\AW31N_transfer.cbp
    手机设置蓝牙界面,是无法连接的,需要使用APP来连接。
    推荐使用安卓手机,安装 nRF Connect
    nRF Connect安卓app.zip
    【大熊智能nrf connect使用方法_nrfconnect教程-CSDN博客
    文章浏览阅读1.3w次,点赞11次,收藏32次。本文介绍了如何使用nRF Connect应用程序进行低功耗蓝牙设备的扫描和过滤。通过扫描功能,可以发现并列出所有广播状态的设备,而过滤功能则允许根据设备名、MAC地址、广播数据类型和RSSI进行筛选。此外,还详细说明了如何连接设备、执行写操作和监听操作。

苹果手机,无法看到mac,无法看原始的hex数据,不好调试。

  1. CONFIG_APP_LE_TRANS 只做单模BLE从机,支持低功耗、OTA
    一般用于产品类型:
  • 纯BLE广播:广播遥控器、beacon等
  • 和APP连接:带APP控制的各类产品、灯带、按摩器、打印机等
  • 被其他client主机连接的从机设备:相机遥控器、云台等
  • 和MCU通信的产品:各类已有产品,需要外挂一个BLE芯片做通信
  1. CONFIG_APP_MULTI 由于ram不够,只支持2路BLE连接,例如:主从一体,双server、双client,且无法支持低功耗和OTA
    #define TCFG_LOWPOWER_LOWPOWER_SEL LOWPOWER_CLOSE // 关闭低功耗
    #define CONFIG_APP_OTA_EN 0 // 关闭OTA
  • 主从一体:支持手机APP连接的同时,还能扫描周围的广播包 #define CONFIG_BT_GATT_CLIENT_NUM 1
    #define CONFIG_BT_GATT_SERVER_NUM 1
    常用产品:带遥控器的灯带、按摩器、风扇、玩具等、带钥匙的电动车面板等
  • 双server从机:支持2个手机同时连接 #define CONFIG_BT_GATT_CLIENT_NUM 0
    #define CONFIG_BT_GATT_SERVER_NUM 2
    常用产品:电动车BLE模块、门锁BLE模块等
  • 双client主机:能连接2个BLE从机设备 #define CONFIG_BT_GATT_CLIENT_NUM 2
    #define CONFIG_BT_GATT_SERVER_NUM 0
    常用产品:耳机充电仓、控制面板、带开关和遥控器的灯带、风扇等
  1. CONFIG_APP_NONCONN_24G
  • 2.4G的广播方式,单向传输,单次发包最大可以60个字节。
  • #define CONFIG_TX_MODE_ENABLE 1 //发射器
  • #define CONFIG_RX_MODE_ENABLE 0 //接收器 2个只能开一个,不能同时开。
    发射器可以做低功耗和关机,但接收器不能做低功耗和关机,需要一直常待机。
  1. CONFIG_APP_DONGLE usb dongle 加 BLE client主机功能,可以连接遥控器、鼠标、键盘、手柄、翻页笔等设备。
    将蓝牙HID数据,转成USB HID数据上传给电脑。
    将蓝牙语音数据,转成USB UAC的PCM数据上传给电脑。
    受限于ram资源,使用范围:
  • USB语音dongle,只能开1个client,只能连接一个server设备。
  • USB键鼠dongle,勉强能开2个client,可以同时连接一个鼠标和一个键盘,但不能带OTA功能。
  1. CONFIG_APP_AT_CHAR_COM 串口模块,杰理AT指令协议。
    fw-AW31N_BLE_SDK: Firmware for Generic Bluetooth Low Energy SDK(AW3N series), Support AW31N.
    Firmware for Generic Bluetooth Low Energy SDK(AW3N series), Support AW31N.
    如果是替换其他方案的串口AT模块,需要自己修改AT协议,一般和其他方案是不一样的。

  2. CONFIG_APP_IDLE 空闲模式适用于:MCU应用、充电状态下、假关机状态下。

  3. AW31N_hid--HID工程 codeblock工程文件:sdk\apps\demo\hid\board\bd47\AW31N_hid.cbp
    手机设置蓝牙界面上,直接搜索连接的,也同时兼容APP连接,带配对绑定和加密功能。

  4. CONFIG_APP_KEYBOARD 音乐遥控器,带有音量加减、上下曲、播放暂停等功能。

  5. CONFIG_APP_KEYFOB 自拍器,默认只有发大小键2种键值。
    image

  6. CONFIG_APP_MOUSE_SINGLE 单模鼠标,BLE server设备,可以被手机电脑蓝牙直连,或者被usb dongle BLE连接。
    可以在此基础上,添加USB模式,直连电脑做usb有线鼠标。

  7. CONFIG_APP_MOUSE_DUAL 三模鼠标,BLE模式、2.4G高回报率模式、USB模式,需要手动切换,不支持同时共存。
    #define SWITCH_MODE_BLE_ENABLE (1 & TCFG_USER_BLE_ENABLE) //使能BLE模式
    #define SWITCH_MODE_24G_ENABLE (1 & (CFG_RF_24G_CODE_ID != 0) & TCFG_USER_BLE_ENABLE) //使能2.4G模式
    #define SWITCH_MODE_USB_ENABLE TCFG_OTG_USB_DEV_EN
    3种模式可以自由组合成双模双模。

  8. CONFIG_APP_KEYPAGE 翻页器、抖音神器,存在一定的兼容性问题,因为苹果系统限制,苹果系统更新,导致这个应用也一直在实时更新。
    最新版本,可以联系杰理获取。
    苹果系统的翻页功能,是模拟鼠标操作的,因此无法做到兼容所有的苹果手机系统,一般是按照最新的IOS版本调试,不考虑旧版本的。
    苹果手机需要打开辅助触控功能:设置 -> 辅助功能 -> 触控 -> 辅助触控打开
    辅助触控下,有个跟踪灵敏度的调节,一般要么设置为0,要在再10%左右的位置。
    image

  9. CONFIG_APP_REMOTE_CONTROL 红外遥控器,电视遥控器、机顶盒遥控器等。被电视、机顶盒、投影仪等连接。
    这种遥控器,无论是蓝牙HID,还是红外码,都是没有统一标准的,都需要根据每款主机适配的。
    每个电视厂商、每个省的机顶盒,都有各自的标准,都要适配开发的。
    公版sdk红外做的是,NEC编码、海信电视红外键值的。

  10. CONFIG_APP_IDLE 空闲模式适用于:MCU应用、充电状态下、假关机状态下。

  11. 功能介绍

  12. 开关打印

  13. 开打印

#define CONFIG_DEBUG_ENABLE    //打印总开关,关打印注释此宏

#define TCFG_UART0_ENABLE       ENABLE_THIS_MOUDLE   //保持,关打印也不要改成disable
#define TCFG_UART0_RX_PORT      NO_CONFIG_PORT       //保持,不要配置IO
#define TCFG_UART0_TX_PORT      IO_PORT_DP           //打印口,可配任意IO
#define TCFG_UART0_BAUDRATE     1000000              //建议用1M,用115200打印会死机

#define LIB_DEBUG    1 // 打开底层库打印,代码会变大很多

const char log_tag_const_v_PMU AT(.LOG_TAG_CONST) = CONFIG_DEBUG_LIB(FALSE);
const char log_tag_const_i_PMU AT(.LOG_TAG_CONST) = CONFIG_DEBUG_LIB(TRUE); // 要看底层驱动打印,改成 TRUE
const char log_tag_const_d_PMU AT(.LOG_TAG_CONST) = CONFIG_DEBUG_LIB(TRUE); // 要看底层驱动打印,改成 TRUE
const char log_tag_const_w_PMU AT(.LOG_TAG_CONST) = CONFIG_DEBUG_LIB(TRUE);
const char log_tag_const_e_PMU AT(.LOG_TAG_CONST) = CONFIG_DEBUG_LIB(TRUE);
const char log_tag_const_c_PMU AT(.LOG_TAG_CONST) = CONFIG_DEBUG_LIB(TRUE);

  1. 关打印
/* #define CONFIG_DEBUG_ENABLE    // 关打印,注释此宏 */

#define TCFG_UART0_ENABLE       ENABLE_THIS_MOUDLE   //保持enable,关打印也不要改成disable

#define LIB_DEBUG    0 // 关底层库打印,代码会变小很多

const char MM_ASSERT     = 0; //生产代码必须检查置0,否则死机不复位,需要断电
const int config_asser   = 0; //生产代码必须检查置0,否则死机不复位,需要断电
  1. 开异常打印
const char MM_ASSERT           = 1; //打开断言打印,生产代码必须置0
const int config_asser         = 1; //打开异常打印,生产代码必须置0
// 生产代码就算不关打印,这2个变量也必须要置0

相关链接:
查看代码异常复位等异常情况:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IAKCNM
https://doc.zh-jieli.com/AC63/zh-cn/master/getting_started/code_debug/printf_debug.html
image 4. 复位信息 判断复位源和唤醒源:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IAHMFB
2. 芯片工作状态

  1. 快速启动--快速唤醒 烧录快速启动及升级程序方法:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IAMX7W
    快速启动:芯片断电再上电,开机的速度
    快速唤醒:芯片软关机,但没断电,IO唤醒后,开机的速度
  2. 工作模式
  3. 正常状态--cpu运行状态 芯片正常运行,软件正常跑。此时功耗,跟随主频大小。
    主频越高,功耗越大,在2-5mA之间。
  4. 待机状态--低功耗 待机--睡眠--低功耗,没有需要运行的代码,芯片可以 临时进入睡眠低功耗,此时功耗4-5uA之间,保持ram的区域数据还在。
    可以定时唤醒、IO唤醒等。
    https://gitee.com/jieli-tech_fae/IOT-AC630N/blob/master/doc/software/%E9%A9%B1%E5%8A%A8/%E4%BD%8E%E5%8A%9F%E8%80%97%E6%B5%81%E7%A8%8B.md
    没有接口可以主动进入睡眠,需要提前设置底层查询函数,返回空闲状态。
///相关代码
#define TCFG_LOWPOWER_LOWPOWER_SEL            DEEP_SLEEP_EN    //开启BLE低功耗powerdown
#define TCFG_LOWPOWER_LOWPOWER_SEL            LOWPOWER_CLOSE   //关闭BLE低功耗

sys_power_down(4000000);

REGISTER_LP_TARGET()

void sleep_enter_callback(u8 step)
void sleep_exit_callback(u32 usec)


void sleep_run_check_enalbe(u8 enable)

  1. 关机状态 软关机,ram数据清空,cpu不跑,只能IO唤醒,此时功耗2uA。
///相关代码
app_soft_flag.sfc_fast_boot = 1;

u8 power_soff_callback()

le_trans_set_soft_poweroff();
power_set_soft_poweroff(); // 一般不能直接调用这个,需要调用应用模式的关机

  1. 工作频率 最高可以跑160M,旧的sdk不支持,130版本可以
    建议只跑到128M即可
#define TCFG_CLOCK_SYS_HZ                  48000000 // 48M

#define TCFG_CLOCK_SYS_HZ                  128000000 // 128M
  1. 工作电压 VDDIO即芯片工作电压,和IO的输出电压。
    串口模块,需要和其他IC通信的,建议设置VDDIO为 VDDIOM_VOL_34V 和 VDDIOW_VOL_33V
    单芯片状态,建议设置 VDDIO为 VDDIOM_VOL_30V 和 VDDIOW_VOL_28V
#define TCFG_LOWPOWER_VDDIOM_LEVEL            VDDIOM_VOL_30V   // 正常状态下VDDIO电压值
#define TCFG_LOWPOWER_VDDIOW_LEVEL            VDDIOW_VOL_28V   // 睡眠-低功耗-关机下VDDIO电压值
  1. 引脚
  2. 普通引脚GPIO GPIO使用:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IAEK0D
  3. 特殊引脚 特殊引脚--复位引脚--使用配置(PA11、PA4、PA7、USB):
    https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IAO7N4
  4. 电源引脚 IOVDD、VPWR供电方式配置 -- 电量检测配置:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IBUU4M
    IOVDD供电配置问题 https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/ICXAUZ
  5. 按键 实现按键软开机功能:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IBAWN5
    关机流程中按键丢失问题优化:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IBQV77
  6. io按键
#define KEY_IO_EN                           ENABLE                  //<IO按键使能
#define MOUSE_KEY_SCAN_MODE                 DISABLE_THIS_MOUDLE

#define TCFG_IOKEY_POWER_CONNECT_WAY        ONE_PORT_TO_LOW    //按键一端接低电平一端接IO
#define TCFG_IOKEY_POWER_ONE_PORT           IO_PORTA_00        //IO按键端口
#define TCFG_IOKEY_POWER_ONE_PORT_VALUE     0x0                //power port键值

#define TCFG_IOKEY_PREV_CONNECT_WAY         ONE_PORT_TO_LOW    //按键一端接低电平一端接IO
#define TCFG_IOKEY_PREV_ONE_PORT            IO_PORTA_01
#define TCFG_IOKEY_PREV_ONE_PORT_VALUE      0x1                //prev port键值

/// 每个IO都可以设置成唤醒口
keys_config[index++] = create_key_io_wakeup_config(TCFG_IOKEY_POWER_ONE_PORT,
                                        PORT_INPUT_PULLUP_10K, PORT_FLT_DISABLE, FALLING_EDGE, key_active_set);

//唤醒口个数
#define WAKE_IO_MAX_NUMS                 4

//硬件支持最大唤醒口8个,无法改大的
#define MAX_WAKEUP_PORT                  8  //最大同时支持数字io输入个数
  1. ad按键 AD按键,只有对地的0R按键是可以唤醒的,其他按键电压没有拉到地,是唤醒不了。
    做AD按键的,有IO限制的,不是任意IO都可以做。
#define TCFG_ADKEY_ENABLE                   ENABLE_THIS_MOUDLE //是否使能AD按键
#define TCFG_ADKEY_PORT                     IO_PORTB_01         //AD按键端口(需要注意选择的IO口是否支持AD功能)
/*AD通道选择,需要和AD按键的端口相对应:
    AD_CH_PA1    AD_CH_PA3    AD_CH_PA4    AD_CH_PA5
    AD_CH_PA9    AD_CH_PA1    AD_CH_PB1    AD_CH_PB4
    AD_CH_PB6    AD_CH_PB7    AD_CH_DP     AD_CH_DM
    AD_CH_PB2
*/
#define TCFG_ADKEY_AD_CHANNEL               AD_CH_PB1
#define TCFG_ADKEY_EXTERN_UP_ENABLE         ENABLE_THIS_MOUDLE //是否使用外部上拉

#if TCFG_ADKEY_EXTERN_UP_ENABLE
#define R_UP    220                 //22K,外部上拉阻值在此自行设置
#else
#define R_UP    100                 //10K,内部上拉默认10K
#endif
  1. 矩阵按键
#define KEY_MATRIX_EN                       ENABLE
#define MATRIX_KEY_ROW1                     IO_PORTA_00
#define MATRIX_KEY_ROW2                     IO_PORTA_01
#define MATRIX_KEY_ROW3                     IO_PORTA_02

#define MATRIX_KEY_ROL1                     IO_PORTA_08
#define MATRIX_KEY_ROL2                     IO_PORTA_09
#define MATRIX_KEY_ROL3                     IO_PORTA_10
// 行列组合,可以自行调整
// 行做唤醒口,那列就要输出口,才能做到任意IO都能唤醒
  1. 红外发射/接收按键
#define TCFG_IR_ENABLE                      ENABLE
#define IR_KEY_IO                           IO_PORTA_10
#define IR_WORK_FRQ                         38000
#define IR_WORK_DUTY                        5000
#define TCFG_IR_ENCODER_TIMER_TID           0 // 使用timer0作为红外timer tid
#define TCFG_IR_ENCODER_PWM_TID             1 // 使用timer1作为红外pwm tid

// 红外载波发射
ir_encoder_init(IR_KEY_IO, IR_WORK_FRQ, IR_WORK_DUTY);

// 红外载波接收
ir_decoder_init(IO_PORTA_01); //红外信号接收IO_PORTA_O1

// 默认做的是 38K载波的NEC 红外,其他协议,需要自行修改

  1. 蓝牙

  2. 广播包 动态修改广播包--广播类型--广播频率:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IBLGAX

  3. profile 蓝牙协议简介:https://doc.zh-jieli.com/AW31/zh-cn/master/bluetooth/bt_profeil.html

  4. 杰理OTA服务

  5. HID服务

  6. 链接参数

  7. MTU MTU改大到120连接会重启:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IBAIH0
    BLE长包设置 DLE 和 MTU:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IBYBAU

//测试NRF连接,工具不会主动发起交换流程,需要手动操作; 但设备可配置主动发起MTU长度交换请求
#define ATT_MTU_REQUEST_ENALBE     1    /*配置1,就是设备端主动发起交换*/

/*一般是主机发起交换,如果主机没有发起,设备端也可以主动发起(ATT_MTU_REQUEST_ENALBE set 1)*/
#define ATT_LOCAL_MTU_SIZE        (247) /*发送配PDU长度*/

#if ATT_MTU_REQUEST_ENALBE
        att_server_set_exchange_mtu(trans_con_handle);/*主动请求MTU长度交换*/
#endif

    case GATT_COMM_EVENT_MTU_EXCHANGE_COMPLETE:
        log_info("con_handle= %02x, ATT MTU = %u\n", little_endian_read_16(packet, 0), little_endian_read_16(packet, 2));
        break;

注意点:
很老的手机改不了,新手机一般都能128,大部分安卓都能512。
固件只是请求的建议值,最终的生效值,是取决于手机系统端的。
要改大,要注意兼容不同的MTU值,需要自行做重组包操作。
5. nRF Connect使用教程 NOTE:BLE开发流程--使用说明: https://gitee.com/Jieli-Tech/fw-AC63_BT_SDK/issues/I9QI1G
6. BLE主机 [分享内容]: BLE主机流程:https://gitee.com/Jieli-Tech/fw-AC63_BT_SDK/issues/IBP4D3

  1. 跳过profile搜索过程

  2. 蓝牙断开原因 ble断开原因: https://gitee.com/Jieli-Tech/fw-AC63_BT_SDK/issues/I75JGU

  3. FAQ

  4. 低功耗

  5. 唤醒口 配置独立的唤醒口:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IAN37C
    判断复位源和唤醒源:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IAHMFB
    获取IO唤醒源误识别DMDP问题:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IANZ2U

  6. 调功耗

各系列芯片功耗对比

632AW31636AW30备注
BT:EDR+BLEBLEEDR+BLEBLE
发射功率:8dbm10dbm6.4dbm6.7dbm
RAM:73KB32KB128KB64KB包含cache
剩余ram:26KB4KB95KB25KB单模BLE带低功耗
功耗:20uA5uA60uA42uA待机底电流
500ms广播:100uA190uA230uA200uA500mS周期
dac:××√√
主从一体:可低功耗不带低功耗可低功耗不带低功耗
多主从:4个ble2个ble8个ble2个ble
RTC:硬RTC虚拟RTC虚拟RTC硬RTC

芯片选型建议

  • 优先选用AC632 纽扣电池产品、应用层需要RAM大于4KB、对BLE传输速率大于20KB/s、BLE多主从带低功耗
  • 优先选用AW31 需要快速唤醒、快速启动、2.4G高回报率
  1. 升级OTA

  2. APP BLE OTA

  3. 测试盒BLE升级

  4. 测试盒串口升级 蓝牙测试盒单线串口升级配置:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IB9I7E

  5. 杰理串口升级 暂时还没支持

  6. 自定义双备份升级 杰理双备份升级介绍.md
    fw-AC63_BT_SDK: Firmware for Generic Bluetooth SDK(AC63 series), Support AC631N/AC635N/AC636N/AC637N/AC632N, compatible with AC69 series without audio support.
    Firmware for Generic Bluetooth SDK(AC63 series), Support AC631N/AC635N/AC636N/AC637N/AC632N, compatible with AC69 series without audio support.

  7. 杰理USB升级

  8. 定时器 硬件定时器使用:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IAHMWG

  9. PWM PWM输出:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IAIAJD

  10. ADC

  11. 电量检测 IOVDD、VPWR供电方式配置 -- 电量检测配置:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IBUU4M

  12. 串口

  13. USB

  14. flash

  15. VM 记忆、保存数据到内部flash:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IAJQUF

  16. 自定义flash分区 内置flash开辟自定义区域读写:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IAEY7H

  17. 认证码 指定mac地址烧录、自定义保留区烧录认证码、三元组、序列号等:
    https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IAIHDD

  18. SDK系统

  19. 事件 转事件到最低优先级线程执行:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IAPXPS
    转事件到主循环执行:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IBQVUP

  20. 认证相关

  21. DUT #define TCFG_NORMAL_SET_DUT_MODE 1 // DUT测试模式,默认上电进初始化
    USB初始化成串口,DP对RX、DM对TX,需要接入串口工具,再接入测试仪器
    AC63X BLE DUT测试介绍.pdf

  22. dut 测试程序 AW31N_sdk_release_v1.2.0_trs_dut_波特率115200_v1.0.zip

  23. FCC 认证程序FCC、BQB:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IB6J6F
    【金山文档 | WPS云文档】 认证资料获取汇总(最新资料后台会更新)
    https://kdocs.cn/l/cugCGfEDWPhB
    image 建议采用这个下载包,经过验证的,公版sdk改出来的,不一定是完善的

  24. BQB 认证程序FCC、BQB:https://gitee.com/Jieli-Tech/fw-AW31N_BLE_SDK/issues/IB6J6F

本文档包含以下子页面

Prev
AC75开发指导文档
Next
AW33开发指导文档