基于CC2541蓝牙模块与单片机的串口通信
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于CC2541蓝牙模块与单片机的串口通信
摘要
蓝牙技术作为一种无线数据与语音通信的开放性全球规范,可提供低功耗、短距离的无线空中接口,在各种固定与移动设备之间实现无线通信。在移动通信、无线数据采集、无线遥控与遥测、计算机网络及自动控制等多种领域,蓝牙技术都有着广泛的应用。蓝牙协议规范具有多个层次,完整的蓝牙协议栈的开发是一项很复杂的工程,而在大多数嵌入式应用中,只是需要实现基本的无线数据传输功能,并不需要实现全部的蓝牙协议栈。针对此类应用,若是能提供一套实用的蓝牙无线接口、实现一个通用的无线数据传输模块,就可以比较有效地缩短开发周期,降低开发成本。蓝牙通讯最初设计初衷是方便移动电话(手机)与配件之间进行低成本、低功耗无线通信连接,现在已经成为标准,得到全球上万家厂商支持。
本文通过对美国德州仪器半导体公司(TI)开发的CC2541蓝牙模块与51单片机搭建电路实现无线通信技术。 BLE(Bluetooth Low Energy),蓝牙标准里的一个子集,蓝牙分为两部分,一个是能够兼容传统蓝牙的高速部分,另外就是这里的 BLE,的两大显著特点:BLE功耗低,速率低。所以你就别打算用 BLE 来做音频传输或者文件传输了,目前 BLE最大的传输速率只能达到4~5K 字节/每秒。BLE 协议栈,蓝牙里的 BLE,只是一个协议规范,而 BLE 协议栈则是该协议的代码实现。蓝牙组织 SIG,只负责制定协议,而协议如何实现,则需要各个芯片公司完成。可以这样理解,BLE 协议栈是芯片公司预先编好的源码或者库。
关键词:蓝牙单片机通信
一.绪论
1.背景介绍
蓝牙技术的最初倡导者是五家世界著名的计算机和通信公司:爱立信Ericsson、国际商用机器IBM、英特尔Intel、诺基亚NoMa和东芝Toshiba。1998年5月,以爱立信为首,此五家IT巨人共同提出了一种近距离无线数字通信的技术标准,目标是实现最高传输速率可达1Mb/s(有效传输速率为720Kb/s),最大传输距离为10m的无线通信技术,即蓝牙技术,并成立了国际化组织蓝牙SIG(SpecialInterest Group),致力于蓝牙规范的制定和蓝牙技术在全球范围内的推广。
蓝牙通信有很多优点,首先是低功耗,以BLE 为例,一节钮扣电池在静态工作状态可以支持一年;其次是低成本,TI公司的CC2540蓝牙SOC方案芯片出售价仅1美元,可以让人们低廉使用蓝牙技术;再次是开放性,的频段全球开放,没有政府监管;最后是适合时代潮流,现在是手机的时代,蓝牙技术本来就为它而生。
蓝牙协议是2010年6月由SIG(Special Interest Group)发布的最新标准,它有2种模式:BLE(Bluetooth low energy)只能与协议设备通信,适应节能且仅收发少量数据的设备(如家用电子);BR/EDR(Basic Rate / Enhanced Data Rate),向下兼容(能与通信),适应收发数据较多的设备(如耳机)。
目前,苹果公司的iPhone 4S、iPhone 5、miniPad和iPad 3;小米手机2;三星公司的Galaxy SIII和Note II;HTC ONE系列等移动设备都支持蓝牙CC2540/CC2541,美国德州仪器半导体公司(简称 TI)的 BLE 芯片,TI 实现的 BLE
协议栈同样是ble 协议的代码实现,这些BLE 代码正是运行在CC2540/CC2541 芯片上,简单的说 CC254x 就是一颗带有蓝牙功能的 51 单片机,其他单片机有的资源,例如定时器,UART,SPI,ADC,GPIO,USB(CC2540 专
有),I2C(CC2541 专有)等等,CC254x 也都有,而 BLE 协议栈也就是一些复杂一点的 C 语言源码
2.硬件设备
CC254x 的应用非常广,三种金典应用:1 串口透传,2 穿戴式设备,3PC 上的 BLE 适配器,这样就对应了三种设备,带有带串口的 SmartRF 开发板(用来开发大部分的应用),带有三轴加速度计的 Keyfob 防丢器开发板(用来开发穿戴式设备),最后是CC2540USBdongle,可以直接插在 USB 口上(开发 BLE 适配器或者虚拟串口等应用)。而且TI 的 BLE 协议栈例程,也是建立在这三种设备上。
SmartRF 开发板
SmartRF 开发板兼容 TI 官方的 SmartRF05EB 开发板,TI 的 BLE 协议栈里提供的大部分例程,均基于该开发板创建,我们除了升级了 LCD 为 12864 外,其余完全兼容,TI 协议栈例程可以直接在我们的 SmartRF 上运行,这一点非常重要,因为 TI 经常有版本更新或者新的例程出来。
Keyfob 开发板
Keyfob 开发板带有一个三轴加速度计和一个蜂鸣器,除了可以开发防丢器外,还有更多的想象空间:计步器、运动检测等等。和 SmartRF 开发板一样,采用的也是底板分离的设计,核心板和 SmartRF 相同(Keyfob默认发 CC2541 核心板,CC2541 版本的 keyfob 资源更多)。Keyfob 的反面有一个型号为CR2032 的纽扣电池座。我们采用的电池座和 TI 的 Sensortag开发板的质量一样,厚实、耐用。
CC-Debugger 仿真器
CC254x 不支持串口下载,所以只能通过 CC-Debugger 烧写,除了烧写功能,也可以在 IAR 开发软件里,通过CC-Debugger 连接芯片在线调试你开发的程序,单步运行、打断点等,所以又叫仿真器。TI 官方开发板配套使用的全部是CC-Debugger 仿真器
3.软件环境
IAR for 8051 开发环境,Flash Programmer 固件烧写软件
二.CC2541芯片的特性参数
CC2541 是一款针对蓝牙低能耗以及私有应用的功率优化的真正片载系统(SoC) 解决方案。它使得使用低总体物料清单成本建立强健网络节点成为可能。CC2541 将领先RF 收发器的出色性能和一个业界标准的增强型8051 MCU、系统内可编程闪存存储器、8kBRAM 和很多其它功能强大的特性和外设组合在一起。CC2541 上CC2541 非常适合应用于需要超低能耗的系统。这由多种不同的运行模式指定。运行模式间较短的转换时间进一步使低能耗变为可能。
如果 CC2540 上的 USB 未启用并且 CC2541 上的I2C/ 额外I/O 未启用,那么CC2541 与CC2540 在6mm x 6mm 方形扁平无引脚(QFN) 40 封装内引脚兼容。与CC2540 相比,CC2541 提供更低RF 流耗。CC2541 没有CC2540 所具有的USB 接口,并在TX模式中提供较低的最大输出功率CC2541 还增加了1 个HW I2C 接口。
CC2541 与CC2533 优化RF4CE IEEE SoC引脚兼容。CC2541 有2 个不同的版本:分别具有128kB 和256kB 闪存的的CC2541F128/F256。
1特性
(1)射频
–蓝牙符合低能耗规范和私有的RF 片载系统
–支持250kbps,500kbps,1Mbps,2Mbps 的制器内核数据速率
–出色的链路预算,不使用外部前段而支持长距离应用
–高达0dBm 的可编程输出功率
–出色的接收器灵敏度(1Mbps 时为- 94dBm),可选择性,和阻挡性能