基于MCU实现蓝牙与PC机之间HCI层传输基于MCU实现蓝牙与PC机之间HCI层传输摘要:分析了蓝牙HCI层的主要功能,并简述了蓝牙HCI层数据传输的单片机控制方案。HCI指令从RS232串口通过单片机的UART输入,经校验后发送至蓝牙模块,蓝牙模块返回的HCI事件在单片机内进行分组打包后发送至PC机。关键词:蓝牙协议HCI单片机UART蓝牙模块蓝牙是正在兴起的短距离无线通信技术,工作在2.4GHzISM频段。蓝牙技术可在各种移动设备、计算机外设等数字设备间实现廉价的无线连接,灵活便捷地实现设备间的数据交换。本文介绍利用双串口单片机在PC机与蓝牙模块间实现蓝牙HCI层数据传输。1系统的硬件组成采用爱立信生产的ROK101007蓝牙模块,使用51增强型单片机W77E58,用MAX3222进行RS232转换。系统硬件框图如图1所示。ROK101007蓝牙模块同时支持数据和语音传输。主机与模块间可以通过UART和I2C接口连接,射频输出功率等级为2级(2.5mW),支持点对多点连接。W77E58单片机与标准80C52管脚兼容,指令集与MCS-51兼容,具有两个全双工串口,12个中断源,32KB大容量Flash存储器,1KB片上SRAM。2蓝牙主机控制器接口(HCI)HCI层是蓝牙协议栈中软硬件之间的接口,它提供了一个控制基带与链路控制器、链路管理器、状态寄存器等硬件的统一接口。HCI层以下的协议由蓝牙模块实现,HCI层以上的协议在主机上运行,它们通过HCI传输层进行通信。主机与主机控制器通过HCI收发分组方式进行信息交换,用指令—应答(Command-Response)方式实现控制。HCI分组有三种类型:指令分组(Command Packet)、事件分组(EventPacket)和数据分组(DataPacket