5963|0

42

帖子

2

TA的资源

一粒金砂(中级)

楼主
 

ST SensorTile.box传感器套件入门(5) 蓝牙连接 [复制链接]

 

1 前言

SensorTile.box内置一个ST BLE模块SPBTLE-1S来提供蓝牙连接功能。

SPBTLE-1S蓝牙模块采用的是ST BlueNRG-1芯片,实现了完整的BLE物理层(PHY)、数据链路层和网络/应用处理引擎,其中网络处理器基于低功耗ARM Cortex-M0内核,配备160KB闪存、有数据保留功能的24KB RAM和安全协处理器。

SPBTLE-1S主要功能特点:

  • 支持Bluetooth v4.2
    • 支持主机模式与从机模式
    • 同时主持多从机
  • 射频
    • 最大输出功率+4dBm
    • 2.4G板载陶瓷天线
  • 工作电压
    • 1.7-3.6V
  • 工作温度
    •  -40 °C to 85 °C
  • 认证
    • SRRC认证
    • BQE审批
    • FCC,IC认证
    • CE-RED认证

2 SPBTLE-1S系统硬件框图

SPBTLE-1S系统框图

  • 基于低功耗ARM Cortex-M0内核
    • 160KB闪存
    • 24KB RAM
  • 封装大小
    • 11.5×13.5mm
  • 对外接口
    • UART(1个)
    • IIC(2个)
    • SPI(1个)
    • 单线SBW调试接口 (1个)
    • GPIO(14个)

2.1 SPBTLE-1S模块引脚定义

 

2.2 SensorTile.box的SPBTLE-1S BLE模块电路

Sensortile.box的SPBTLE-1S硬件连接

3 SPBTLE-1S软件架构

蓝牙核心规范将蓝牙协议栈分成Host和Controller两部分.

SPBTLE-1S蓝牙模块支持两种软件架构 Host-less mode (application processor)与Hosted mode (network processor),分别对应蓝牙规范的两种典型架构:单芯片架构与Host+Controller双芯片标准架构。

  • Host-less mode (application processor) 《==》 单芯片架构
    • 用户应用程序直接运行在SPBTLE-1S内部
    • host和controller之间直接通过API来交互

  • Hosted mode (network processor) 《==》Host+Controller双芯片标准架构
    • 作为网络处理器模块,用户MCU通过SPI或者UART来操作SPBTLE-1S模块。
    • Host跑在AP上,Controller跑在蓝牙模块上,两者之间通过主机控制接口协议(HCI)进行通信

image.png

 

3.1 SensorTile.box BLE软件功能实现

SensorTile.box中采用的是SPBTLE-1S蓝牙模块的Hosted mode (network processor) ,Host运行在STM32L4R9+ MCU上面,通过HCI接口(基于SPI)来实现BLE功能。

STM32 BlueNRG HCI Transport Layer interface

3.1.1 HCI接口初始化

hci_tl_interface.c

/**
 * [url=home.php?mod=space&uid=159083]@brief[/url] Initializes the peripherals communication with the BlueNRG
 *         Expansion Board (via SPI, I2C, USART, ...)
 *
 * @param  void* Pointer to configuration struct 
 * @retval int32_t Status
 */
int32_t HCI_TL_SPI_Init(void* pConf)
{
  GPIO_InitTypeDef GPIO_InitStruct;

  /* GPIO Ports Clock Enable */
    HAL_PWREx_EnableVddIO2();
  __HAL_RCC_GPIOD_CLK_ENABLE();
  __HAL_RCC_GPIOA_CLK_ENABLE();
  
  /*Configure EXTI Line */
  GPIO_InitStruct.Pin = HCI_TL_SPI_EXTI_PIN;
  GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;
  GPIO_InitStruct.Pull = GPIO_NOPULL;
  HAL_GPIO_Init(HCI_TL_SPI_EXTI_PORT, &GPIO_InitStruct);
   
  /*Configure CS & RESET Line */
  GPIO_InitStruct.Pin =  HCI_TL_RST_PIN ;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_NOPULL;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  HAL_GPIO_Init(HCI_TL_RST_PORT, &GPIO_InitStruct);
  
  GPIO_InitStruct.Pin = HCI_TL_SPI_CS_PIN ;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_NOPULL;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  HAL_GPIO_Init(HCI_TL_SPI_CS_PORT, &GPIO_InitStruct);

  return BSP_SPI_Init();
}

5 参考

  • spbtle-1s datasheet
点赞 关注
 
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表