linux系统蓝牙框架

一、前言

本文主要从大框架上介绍linux系统蓝牙功能架构,包括硬件架构以及软件架构。本文将从如下方面展开:

1.硬件选型及连接

2.软件架构。

二、硬件架构及连接

市面上带蓝牙功能的消费电子主要是采用soc + 无线模组的硬件架构。很多无线模组都集成了蓝牙和wlan的功能,市面上常见的无线模组厂有正基、海华、络达、中科蓝讯、杰理等等。

框架如下:

(2-1)

如上图,soc和bt模组主要有4条连接线:用于通信以及音频数据传输的uart、传输语音数据的pcm、使能脚、唤醒脚。

如果忽略掉模组的功能,其实就是一个soc + mcu的架构。在蓝牙中采用的是host-controller的术语来描述这种架构。其中soc是host,module是controller。

三、软件架构

第二节从硬件上描述了蓝牙功能架构,本节将介绍linux系统软件层面的架构。软件架构如下图所示:

(3-1)

上图清晰简介的呈现了soc + module架构下linux系统的软件架构。下面加详细介绍每个部分的功能:

bt module:

上面介绍过,蓝牙模组本质上就是个mcu,其主要处理无线数据的收发。module的固件一般是由无线芯片的原厂开发的。

soc:

kernel层:

从2-1中的连接框图中可以看出,soc主要通过4种接口和bt模组进行连接的。在kernel层的主要工作就是将soc上的uart、pcm以及相关io bring up,以便后续应用能够正常使用这些接口。

stack层:

蓝牙协议栈是蓝牙spec的具体实现,这是蓝牙功能的核心,一般也是由蓝牙芯片厂来实现的。蓝牙协议栈暴露接口给上层的应用去调用。

app层:

app层就是开发人员接触的最多的层面,其作用是通过直接或间接的去调用蓝牙协议栈提供的接口去组织出具体的功能。一般包括控制流和数据流以及客制化的需求。

相关推荐
墨北x30 分钟前
2025 年福建省职业院校技能大赛网络建设与运维赛项Linux赛题解析
linux·运维·服务器
码农000000131 分钟前
Linux开启3306端口,开启远程连接
linux·运维·服务器
孤寂大仙v1 小时前
【Linux笔记】——进程信号的保存
java·linux·笔记
Huazzi.1 小时前
使用SSH协议克隆详细步骤
linux·运维·学习·ssh·编程
Christal_pyy1 小时前
树莓派4基于Debian GNU/Linux 12 (Bookworm)开启VNC,使用MobaXterm连接VNC出现黑屏/灰屏问题
linux·运维·debian
珹洺1 小时前
Linux操作系统从入门到实战(六)Linux开发工具(上)详细介绍什么是软件包管理器,Linux下如何进行软件和软件包的安装、升级与卸载
linux·运维·服务器
小白的白是白痴的白1 小时前
配置yarn模式
linux·运维·服务器
s_little_monster2 小时前
【Linux】socket网络编程之TCP
linux·运维·网络·笔记·学习·tcp/ip·学习方法
林鸿风采2 小时前
内网服务器之间传输单个大文件最佳解决方案
linux·python·文件传输
belldeep2 小时前
WSL 安装 Debian 12 后,Linux 如何安装 redis ?
linux·redis·debian