Telink B91-驱动功能+LED+PWM
此功能使用的是SDK 2.0.0版本,配套使用泰凌驱动SDK 开发⼿册进行开发《泰凌驱动 SDK 开发⼿册.PDF》。也因为软件代码当中没有明确的功能说明
一、软件结构介绍
1 驱动⽬录结构
Driver SDK ⽬录结构如下:
image.png
1.1 boot
该⽂件夹下是启动⽂件。
1.2 common
该⽂件夹下是⼀些和驱动⽆关的共⽤⽂件。其中特殊说明两个⽂件夹:
bt_debug:是 bt 相关模块设置 debug GPIO 的接⼝函数。
compatibility_pack:是为了兼容以前的各个 sdk 的驱动接⼝⽽添加的相关⽂件,驱动中不会使⽤。
1.3 drivers
该⽂件夹下即是相关模块的驱动
1.4 link
该⽂件夹⽤于存放 link ⽂件,根据不同的使⽤需求进⾏选择
1.5 vendor
该⽂件夹下是所有模块的 demo
1.6Demo源码路径
image.png
1.7 编译后文件保存路径
image.png
二、启动机制
2.1 Telink Platform SoC
a) 芯⽚上电/deep 回来:会从 Flash 中先搬⼀段程序到 RAM 中,然后从 RAM 启动。
b) retention 回来后直接从 RAM 启动。 可以看到,这⾥的启动位置是⼀样的,都是 RAM
2.2 Risc-V Platform SoC
a) 芯⽚上电/deep 回来:不会从 Flash 中搬移代码到 RAM 中,⽽是跳转到 Flash 的起始地址(0x20000000) 开始执⾏。(可以这样处理的原因是该系列的芯⽚⽀持直接从 Flash 取指执⾏。)
b) retention 回来会从 IRAM 启动。
注意:
有两个 RAM,⼀个是 IRAM ⼀个是 DRAMIRAM 可以放程序和数据,DRAM 只能放数据。)
可以看到,这⾥的启动位置是不⼀样的,所以在 link S ⽂件中可以看到有两个段:vectors retention_reset
段。vector 段是在 flash 起始地址,retention 段是在 IRAM 的起始地,他们都是启动代码部分,代码部分会有 不同的处理,后⾯会详细说明。
三、Demo简介
3.1LED闪烁
image.png

LED功能引脚
image.png
image.png
3.2PWM
PWM 的时钟源是有两路,可以选择 pclk,也可以选择 32k
占空⽐
PWM 的⼀个 signal frame 由两个部分组成,分别为 Count status(⾼电平时间)和 Remaining status(低电 平时间),⼀个信号帧的具体波形如下,其中 tmax 是周期时间
image.png
控制引脚:
#if(MCU_CORE_B91)
#define PWM_PIN                (PWM_PWM0_PB4)
#define PWM_ID                (get_pwmid(PWM_PIN))
3.3AES加密算法
支持引脚AES128加密,较比其他厂家芯片加密算法还是比较弱的。
3.4LPC低功耗电压比较器
低功耗电压⽐较器(Low Power Compare,后简称 LPC)将乘以所选⽐例系数的输⼊电压与参考电压进⾏⽐较, 并输出⽐较结果。LPC 有两种⼯作模式,分别是:
(1) Normal mode, 内部基准电压来⾃ bandgap(简称 BG),精度较⾼,功耗⼤,⼯作在芯⽚正常供电的环境 下。
(2) Low power mode, 内部基准电压来⾃ UVLO,精度较低,功耗⼩,⼯作在芯⽚睡眠的环境下。 低功耗⽐较器的输出也可⽤作从低功耗模式唤醒系统的信号。