S110 Soft Device 学习

https://blog.csdn.net/ye_wei_yang/article/details/51916525

一、简介

 兼容蓝牙4.0协议低功耗单模协议栈。数据链路层;L2CAP、AT、SM;GATT、GAP;补充nrf51的SDK包括蓝牙规范和应用实例。

 为了增强鲁棒性和安全性,内存中协议栈和应用程序独立存储。异步的事件驱动,可以应用任何的RTOS。

S110 是BLE的外设协议栈,它集成了低功耗的控制器和主机,提供完整灵活的API。S110是一个预编译和链接成二进制的BLE协议栈,API是标准的C语言。

主机和控制器嵌入在S110 SoftDevice 支持设备和广播,API建立在GATT、GAP、L2CAP之上,S110实现了标准的蓝牙规范。

NRF51的SDK实现了蓝牙协议栈的服务和配置。L2CAP 最大27个数据,广播模式下最大37个字节。

  1.1射频通知(Radio Notification)

射频通知是可配置的(ACTIVE,INACTIVE),当射频要使用的时候来自S110的信号通知应用程序。通知信号发送到中断。如果使能了ACTIVE信号在射频事件开始之前被发送,INACTIVE信号在射频事件(Radio Event)之后被发送,这些信号用来同步应用逻辑和发送数据包。比如当射频打开的时候ACTIVE信号用来关闭外设来降低尖端电流或者射频事件触发传感器数据。

ACTIVE,INACTIVE使用了同一个软件中断,需要应用程序管理,如果ACTIVE INACTIVE都使能了,在INACTIVE 信号之前总有一个ACTIVE信号。

 

  1.2 Bootloader

S110 支持bootloader,bootloader用使用整个协议栈API的权限。SotfDevice 架构支持bootloader,通过把应用代码区(R1)分割成两个部分,上边的是bootloader下边的是应用程序。上半区的起始地址是bootloader的基地址,通过UICR.BOOTLOADER寄存器设置。

复位后,SoftDevice 检查UICR.BOOTLOADER寄存器,如果寄存器是空的(0xFFFFFFFF),SotfDevice认为没有bootloader。然后中断进入应用程序。如果BOOTLOADER寄存器设定了一个地址(不是0xFFFFFFF),SotfDevice认为bootloader向量表在这个地址定位,中断把向量表拷贝到这个位置,bootloader复位后应用程序开始。

从bootloader执行然后到应用程序执行,bootloader首先调用sd_softdevice_foward_to_application() SOC函数,触发中断跳转到应用程序。bootloader从Application Vector Talbe 得到应用程序复位中断函数的地址。

 

二、S110 需要的配置

       S110用到的片上资源包括系统时钟、外设时钟、存储器,使能或禁止S110,系统配置可能不一样。

  2.1 存储器映射和使用

    

 

  2.2、应用信号—软件中断

S110使用软件中断用来通知应用程序事件的发生。

 

  2.3、可编程的外设交互(PPI)

S110被使能,有些PPI信道和组是受限制的,下表列出了S110和应用程序对信道和组的分配。S110使能,所有的PPI信道和组都可以被应用程序使用。

  2.4 SVC分配

 

  2.5、中断延迟

中断从S110传到应用程序有个延迟,延迟大小如下表。

  2.6、带宽

  2.7、广播事件

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值