EDN China > 设计实例 > 通信 > 网络传输与交换 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

(多图) BlueCore2型模块及其HCI传输驱动的实现

来源:国外电子元器件/中国海洋大学信息学院 李义军?? 2006年07月18日 ?? 收藏0

?????? 蓝牙HCI接口、蓝牙主机及蓝牙主机控制器之间的协议栈层次[3]如图3所示。蓝牙主机控制器即BlueCore2模块集成了蓝牙协议栈的射频、基带和链路管理部分。蓝牙模块通过UART硬件连接到蓝牙主机。在蓝牙主机中运行蓝牙UART驱动程序、HCI传输驱动程序、HCI的API函数及上层协议栈。

???????????????????????????????????????????? 协议栈层次

?????? 5 程序设计与实现[4]

?????? 在发送数据阶段,HCI传输驱动层负责把由上层传输过来的HCI数据包传给UART驱动层,然后通过UART驱动层把数据传输到蓝牙主机控制器。在接收数据时,H

CI传输驱动层的作用正好相反。

?????? 在驱动程序的设计中,把传输状态分为空闲态、传输类型态、传输头态和传输数据态。HCI数据发送时根据传输状态来判断在哪一状态。发送的数据包由类型字段、头字段和数据构成。在发送数据阶段,数据传输的类型字段标志传输的是命令、ACL数据还是SCO数据,然后根据发送的类型来确定发送头字段的长度,最后再发送数据。在接收数据阶段,数据传输的类型字段标志传输的是事件、ACL数据还是SCO数据。不同的是在接收数据阶段需要缓冲来接收数据。HCI传输驱动程序的数据结构如下所示:

???????HCI传输驱动程序的数据结构
?

?????? 在发送流程中,先对发送的状态、看门狗、UART等初始化。使其处在待发送数据状态。具体的发送流程如图4所示。

??? 具体的发送流程

?????? 接收流程和发送流程类似,所不同的是需要缓冲来接收,在此不再赘述。

?????? 本文主要解决了存在于蓝牙UART和HCI层之间的HCI传输驱动问题,给出了硬件设计方案、协议栈框架图和程序流程,实现了蓝牙模块和蓝牙主机之间的数据传输,在无线传输中有较好的应用价值。

?


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

BlueCore2? HCI? 驱动?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈