【问题标题】:Is link layer in the Bluetooth associated to the hardware?蓝牙中的链路层是否与硬件相关联?
【发布时间】:2021-07-24 07:03:04
【问题描述】:

说控制器中的每一层都与硬件 (HW) 相关,而 HOST 中包含的层在软件 (SW) 中是否正确?我的意思是在蓝牙经典LM中,基带和无线电层是HW和SDP,RFCOMM,L2CAP是SW?在 BLE 中,链路层和物理层堆栈是否与硬件相关,主机层(L2CAP、GATT、GAP 等)是软件部分吗?

【问题讨论】:

    标签: bluetooth bluetooth-lowenergy core-bluetooth android-bluetooth bluetooth-gatt


    【解决方案1】:

    物理层只是硬件。

    链路层是软件和硬件的结合。

    这取决于实现有多少链路层是用软件实现的,有多少是用硬件实现的。通常,接收时对包的识别包括前导码和长度是在硬件中实现的。 CRC和Coded PHY通常也在硬件中实现。

    我见过的所有实现都在将接收到的数据包放入 RAM 后使用中断通知 cpu。

    一般来说,定时器的所有调度和编程都是在软件中完成的。硬件更多地充当了在特定时间点接收或发送数据包的简单接口。

    识别和响应链路层数据包(广告、连接请求、扫描请求、连接数据包)的过程应在 150 微秒后完成,但是可以在硬件或软件中完成。

    白名单的过滤也可以在硬件中完成。

    上面的软件直接运行在蓝牙控制器中的cpu上,通常是闭源的。该软件与特定的硬件实现紧密耦合并且通常构建为仅与特定的硬件实现一起使用。因此,该软件通常称为固件。

    主机层通常作为操作系统(Android、Windows、Mac 等)的一部分在计算机的主 CPU 上运行,主机通过 HCI(主机控制器接口)与控制器通信。因此,您可以将不同的主机实现与不同的控制器混合和匹配。

    【讨论】:

    • 这是一个伟大而清晰的解释。我想知道经典蓝牙的硬件部分是什么。
    • 我猜它类似于BLE,即在特定时间点在特定通道发送/接收数据包由硬件完成,所有逻辑由软件(固件)完成。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-09
    • 1970-01-01
    • 1970-01-01
    • 2012-07-10
    • 2013-05-15
    • 1970-01-01
    • 2011-07-02
    相关资源
    最近更新 更多