0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >通信与网络 > 基于CC2541蓝牙模块与C8051F120单片机的串口通信解决方案

基于CC2541蓝牙模块与C8051F120单片机的串口通信解决方案

来源: 电子发烧友
2019-06-26
类别:通信与网络
eye 120
文章创建人 拍明

原标题:基于CC2541蓝牙模块与单片机的串口通信解决方案

  一、CC2541器件概述

  CC2541是一款针对低能耗以及私有2.4GHz应用的功率优化的真正片载系统(SoC)解决方案。它使得使用低总体物料清单成本建立强健网络节点成为可能。CC2541将领先RF收发器的出色性能和一个业界标准的增强型8051MCU、系统内可编程闪存存储器、8kBRAM和很多其它功能强大的特性和外设组合在一起。CC2541非常适合应用于需要超低能耗的系统。这由多种不同的运行模式指定。运行模式间较短的转换时间进一步使低能耗变为可能

  二、CC2541芯片的特性参数

  CC2541是一款针对蓝牙低能耗以及私有2.4GHz应用的功率优化的真正片载系统(SoC)解决方案。它使得使用低总体物料清单成本建立强健网络节点成为可能。CC2541将领先RF收发器的出色性能和一个业界标准的增强型8051MCU、系统内可编程闪存存储器、8kBRAM和很多其它功能强大的特性和外设组合在一起。CC2541上CC2541非常适合应用于需要超低能耗的系统。这由多种不同的运行模式指定。运行模式间较短的转换时间进一步使低能耗变为可能。

  如果CC2540上的USB未启用并且CC2541上的I2C/额外I/O未启用,那么CC2541与CC2540在6mmx6mm方形扁平无引脚(QFN)40封装内引脚兼容。与CC2540相比,CC2541提供更低RF流耗。CC2541没有CC2540所具有的USB接口,并在TX模式中提供较低的最大输出功率CC2541还增加了1个HWI2C接口。

  CC2541与CC2533优化RF4CEIEEE802.15.4SoC引脚兼容。CC2541有2个不同的版本:分别具有128kB和256kB闪存的的CC2541F128/F256。

  图片.png

  1、特性

  (1)射频

  –2.4GHz蓝牙符合低能耗规范和私有的RF片载系统

  –支持250kbps,500kbps,1Mbps,2Mbps的制器内核数据速率–出色的链路预算,不使用外部前段而支持长距离应用–高达0dBm的可编程输出功率

  –出色的接收器灵敏度(1Mbps时为-94dBm),可选择性,和阻挡性能

  –适合于针对符合世界范围内的无线电频率调节系统:ETSIEN300328和EN3004402类(欧洲),FCCCFR4715部分(美国),和ARIBSTD-T66(日本)

  (2)布局

  –极少的外部组件–提供参考设计支持

  –6mm×6mm方形扁平无引脚(QFN)-40封装

  –与CC2540引脚兼容(当不使用USB或者I2C时)(ADC)

  (3)低功率

  –工作模式RX低至:17.9mA

  –工作模式TX(0dBm):18.2mA–功率模式1(4μs唤醒):270μs–功率模式2(睡眠定时器打开):1μs–功率模式3(外部中断):0.5μs

  (4)工作模式下TPS62730兼容低功率

  –RX低至:14.7mA(3V电源)–TX(0dBm):14.3mA(3V电源)

  (5)微控制器

  –具有代码预取功能的高性能和低功率8051微控制器内核

  –系统内可编程闪存,128或者256KB

  –在所有功率模式下具有保持功能的8KBRAM

  –支持硬件调试

  –扩展基带自动化,包括自动确认和地址解码

  –所有功率模式中对所有相关寄存器的保持

  (6)外设

  –功能强大的5通道直接内存访问(DMA)

  –通用定时器(1个16位,2个8位)

  –红外(IR)生成电路

  –具有捕捉功能的32kHz睡眠定时器

  –精确数字接收到的数字信号强度指示器(RSSI)支持

  –电池监视器和温度感应器

  –含8通道和可配置分辨率的12位模数转换器(ADC)

  –高级加密标准(AES)安全协处理器

  –2个功能强大的支持几个串行协议的通用异步接收发器(UART)

  –23个通用I/O引脚(21×4mA,2×20mA)

  –I2C接口

  –2个具有LED驱动功能的I/O引脚

  –安全装置定时器

  –集成的高性能比较器(7)开发工具

  –CC2541评估模块工具包(CC2541EMK)

  –CC2541小型开发工具包(CC2541DK-MINI)

  –SmartRF™软件

  –提供IAR嵌入式Workbench™

  2、软件特性

  (1)符合针对单模式蓝牙低能耗(BLE)解决方案的符合蓝牙4.0协议的堆栈器

  –完全功率优化堆栈,包括控制器和主机

  –GAP-中心设备,外设,或者广播器(包括组合角色)

  –属性协议(ATT)/通用属性配置文件(GATT)

  –客户端和服务器

  –L2CAP说明

  (2)示例应用和配置文件

  –针对GAP中心和外围作用的一般应用

  –距离临近,加速计,简单关键字,和电池GATT服务

  –BLE软件栈内支持更多应用

  (3)多重配置选项

  –单芯片配置,允许应用运行在CC2541上

  –用于运行在一个外部微处理器接口

  –BTool-用于评估、开发和测试的视窗(Windows)PC应用

  3、应用范围

  •2.4GHz蓝牙低能耗系统

  •私有的2.4GHz系统

  •人机接口器件(键盘,鼠标,遥控)

  •体育和休闲设备1个HWI2C接口。

  •移动电话附件•消费类电子产品

  4、含有TPS62730的CC2541

  •TPS62730是一款具有旁通模式的2MHz降压转换器

  •延长电池寿命高达20%

  •在所有工作模式下减少的电流

  •30nA旁通模式电流以支持低功率模式

  •RF性能并未改变

  •小型封装允许小型解决方案尺寸

  •CC2541可控

  三、CC2541器件的用途

  符合针对单模式蓝牙低能耗(BLE)解决方案的符合4.0协议的堆栈

  完全功率优化堆栈,包括控制器和主机GAP-中心设备,外设,或者广播器(包括组合角色)属性协议(ATT)/通用属性配置文件(GATT)–客户端和服务器对称式对多重处理(SMP)-AES-128加密和解密L2CAP

  示例应用和配置文件针对GAP中心和外围作用的一般应用距离临近,加速计,简单关键字,和电池GATT服务BLE软件栈内支持更多应用

  多重配置选项单芯片配置,允许应用运行在CC2541上用于运行在一个外部微处理器上的网络处理器接口

  BTool-用于评估、开发和测试的视窗(Windows)PC应用

  四、基于单片机的蓝牙硬件接口设计

  1、单片机C8051简介

  微控制器(MCu)是蓝牙应用系统的核心,它的选择将直接影响到系统的性能。C8051F120是Cygnal公司的一种与8051兼容的高速SOC单片机,它具有高速CIP.51内核、灵活的I/O交叉开关、先进的时钟系统、JTAG系统调试接口以及多源复位系统它性能卓越,内核采用流水线结构,速度可达100MIPS,比普通的51快40倍,而且在资源丰富、体积小、功耗低、集成度高且调试方便。

  图片.png

  下面列出了它的一些主要特性:

  (1)高速、流水线结构的8051兼容的CIP.51内核;

  (2)真正8位500ksps的ADC,带PGA和8通道模拟多路开关;

  (3)2周期的16×16的乘法和累加引擎;

  (4)8448(8K+256)字节的片内RAM;

  (5)可寻址64K字节地址空间的外部数据存储器接口;

  (6)硬件实现的SPI、SMBus/12C和两个UART串行接El[10l;

  (7)5个通用的16位定时器;

  (8)具有6个捕捉/比较模块的可编程计数器/定时器阵列;

  (9)FLASH存储器具有在系统中重新编程能力,可用于非易失性数据存储,并允许现场更新固件;

  (10)片内JTAG调试电路允许非侵入式(不占用片内资源)、全速、在系统测试;

  (11)可在工业温度范NI(.45“C一+85。c)N用2.7V~3.6V的电压工作。

  (12)C8051F120为100脚TQFP封装。

  2、单片机与蓝牙模块的连接

  目前,最流行的HCI是通过通用异步收发器(UART)和通信串行总线(USB)连接的。其中UART通常更受青睐,因为其性能和数据吞吐率水平与USB接口相当,且传输协议较为简单,减少了软件开销,是一种更为经济高效的硬件解决方案。

  ①蓝牙模块电源线

  蓝牙模块的电压管理器共有4个输入,分别是Vcc(12)、MASTER(28)、SW(27)和SW1(23)。Vcc提供电源电压,典型值是3.3V;MASTER(28)为UART提供一个独立的电源回路,可以与单片机逻辑接口相同,可以连接到Vcc;SW(27)信号控制内部电压稳压器导通或关断。将Vcc(12)、MASTER(28)、SW(27)和SW1(23)连接在一起使用时,不需要考虑蓝牙模块的加电顺序。

  图1:蓝牙模块的外围电路.png

  图1:蓝牙模块的外围电路

  ②数据线和信号线

  单片机C8051F120具有两个UART,在此选用UART0。在编程时候可通过交叉开关设置,将UART0分配到两个管脚上,例如P3.1(TXD)和P3.0(RXD),分别与蓝牙模块的RXD和TXD相连。另外,单片机端需另外分配两个管脚,例如P1.2和P1.3,分别作为流量控制信号CTS和RTS,分别与蓝牙模块的RTS和CTS相连。若CTS为1则允许对方发送,若CTS为0则禁止对方发送。

  图2:单片机的外围电路.png

  图2:单片机的外围电路

  ③蓝牙模块天线

  蓝牙模块ANT管脚连接到50欧的天线,天线的电压驻波比小于2:1。在本课题的实验板的设计中,单片机和蓝牙模块是焊接在一个PCB板上的。由于蓝牙模块采用平面封装,而且引脚很密集,要想直接焊接到PCB板上很困难,而且天线也很难焊接上去。因而自行设计了一个辅助电路板,先将蓝牙模块焊接到此辅助电路板上,然后将要用到的蓝牙模块的部分引脚引出来,通过插座将蓝牙模块连接到PCB板上,这样就使得蓝牙模块的装卸变得很方便。辅助电路板引出的管脚有GND.地线、VCC.3.3V、数据收发线RXD和TXD、流控线RTS和CTS、使能信号线.EN、复位信号线.RESET,其中BTEN即图3中的ON信号,实际应用中将它与VCC接在一起,其他的与单片机相连。

  CC2541与单片机的连接电路.png

  图3:CC2541与单片机的连接电路

  五、软件设计

  单片机通过UART控制蓝牙模块时,最底层的数据传输是通过UART实现的。因而需要实现单片机UART接口函数来完成最基本的字节级的数据发送和接收。UART即通用异步通信接收发送器,它是一种同步/异步传输的串行接口,工作在同步传输的为半双工方式,而工作在异步传输的为全双工方式。单片机的UART用一个SFR(且I]SBUF)的地址可以访问发送寄存器和接收寄存器,并允许在软件尚未读取前一个接收字节的情况下,开始接收第2个输入数据字节。C8051F120的UART工作模式有模式O、模式1、模式2、模式3共4种,其中模式0是同步半双工方式,其余全为异步全双工方式。

  相关程序如下:

  #include《ioCC2540.h》

  #include《reg52.h》

  #include《intrins.h》

  unsignedchartmp;

  unsignedintc=0;

  sbitled1=P2^0;//指示灯0

  sbitled2=P2^1;//指示灯1

  sbitled3=P2^3;//指示灯3

  voidinit();//串口初始化

  voidsend(unsignedchara);//单字节发送函数

  voidctrl();//接收处理函数

  voidmain(){

  init();while(1)

  {

  if(RI==1)//是否有数据到来

  {

  RI=0;

  tmp=SBUF;//暂存接收到的数据

  ctrl();

  }

  }

  voidinit()//串口初始化

  {

  ES=0;//关中断

  SCON=0x50;//REN=1允许串行接受状态,串口工作模式1,10

  //位UART(1位起始位,8位数据位,1位停止位,

  //无奇偶校验),波特可变

  TMOD=0x20;//定时器1工作于方式2,8位自动重载模式,用

  //于产生波特率

  TH1=TL1=0xFD;//波特率9600(本次测试采用晶振为11.0592)

  PCON&=0x7f;//波特率不倍增

  TR1=1;//定时器1开始工作,产生波特率

  //发送标志位置1

  TI=0;//接收标志位置0

  RI=0;

  EA=0;

  ES=1;

  led1=0;//初始化设置3个指示灯全亮

  led2=0;

  led3=0;

  }

  voidsend(unsignedchara)//单字节数据发送

  {

  //注意:若单片机TXD(P3.1)无上拉能力,必须在P3.1端接上拉电阻。本次测试需要接上拉电阻

  TI=0;

  SBUF=a;

  while(TI==0);

  TI=0;

  if(c%2)//发送指示灯标志,每接收一次,此灯亮灭交替

  led3=1;

  else

  led3=0;

  c++;

  }

  voidctrl()//接收处理函数

  {

  switch(tmp)

  {

  case‘1’:

  led1=1;//收到字符1,指示灯0灭

  send(tmp);

  break;

  case‘2’://收到字符2,指示灯1灭

  led2=1;

  send(tmp);

  break;

  case‘3’://收到字符3,指示灯0、1亮

  led1=0;

  led2=0;

  send(tmp);

  break;

  case‘4’://收到字符4,指示灯0、1灭

  led1=1;

  led2=1;

  send(tmp);

  break;

  case‘5’://收到字符5,指示灯3亮

  led3=0;

  send(tmp);

  break;

  default://其他,灯全灭

  led1=1;

  led2=1;

  led3=1;

  send(tmp);

  }

  【CC2541】

  Bluetooth low energy and proprietary wireless MCU

  描述

  CC2541 是一款针对 低能耗以及私有 2.4-GHz 应用的功率优化的真正片载系统 (SoC) 解决方案。 它使得使用低总体物料清单成本建立强健网络节点成为可能。 CC2541 将领先 RF 收发器的出色性能和一个业界标准的增强型 8051 MCU、系统内可编程闪存存储器、8-KB RAM 和很多其它功能强大的特性和外设组合在一起。 CC2541 非常适合应用于需要超低能耗的系统。 这由多种不同的运行模式指定。 运行模式间较短的转换时间进一步使低能耗变为可能。

  如果 CC2540 上的 USB 未启用并且 CC2541 上的 I2C/ 额外 I/O 未启用,那么 CC2541 与 CC2540 在 6-mm x 6-mm 方形扁平无引脚 (QFN)40 封装内引脚兼容。 与 CC2540 相比,CC2541 提供更低 RF 流耗。 CC2541 没有 CC2540 所具有的 USB 接口,并在 TX 模式中提供较低的最大输出功率。 CC2541 还增加了 1 个 HW I2C 接口。

  CC2541 与 CC2533 优化 RF4CE IEEE 802.15.4 SoC 引脚兼容。

  CC2541 有 2 个不同的版本:分别具有 128kB 和 256kB 闪存的的 CC2541F128/F256。

  CC2541 的方框图请参见。

  特性

  射频

  2.4-GHz 符合低能耗规范和私有的 RF 片载系统

  支持 250-kbps,500-kbps,1-Mbps,2-Mbps 的数据速率

  出色的链路预算,不使用外部前段而支持长距离应用

  高达 0 dBm 的可编程输出功率

  出色的接收器灵敏度 (1 Mbps 时为 –94 dBm),可选择性,和阻挡性能

  适合于针对符合世界范围内的无线电频率调节系统: ETSI EN 300 328 和 EN 300 440 2 类 (欧洲),FCC CFR47 15 部分(美国),和 ARIB STD-T66 (日本)

  布局

  极少的外部组件

  提供参考设计

  6-mm × 6-mm 方形扁平无引脚 (QFN)-40 封装

  与 CC2540 引脚兼容 (当不使用 USB 或者 I2C 时)

  低功率

  工作模式 RX 低至: 17.9 mA

  工作模式 TX (0 dBm): 18.2 mA

  功率模式 1 (4-µs 唤醒): 270 µA

  功率模式 2 (睡眠定时器打开): 1 µA

  功率模式 3 (外部中断): 0.5 µA

  宽泛的电源电压范围 (2 V–3.6 V)

  工作模式下 TPS62730 兼容低功率

  RX 低至: 14.7 mA (3-V 电源)

  TX (0 dBm):14.3 mA(3V 电源)

  微控制器

  具有代码预取功能的高性能和低功率 8051 微控制器内核

  系统内可编程闪存,128 或者 256 KB

  在所有功率模式下具有保持功能的 8-KB RAM

  支持硬件调试

  扩展基带自动化,包括自动确认和地址解码

  所有功率模式中对所有相关寄存器的保持

  外设

  功能强大的 5 通道直接内存访问 (DMA)

  通用定时器 (1 个 16 位,2 个 8 位)

  红外 (IR) 生成电路

  具有捕捉功能的 32-kHz 睡眠定时器

  精确数字接收到的数字信号强度指示器 (RSSI) 支持

  电池监视器和温度传感器

  含 8 通道和可配置分辨率的 12 位模数转换器 (ADC)

  高级加密标准 (AES) 安全协处理器

  2 个功能强大的支持几个串行协议的通用异步接收发器 (UART)

  23 个通用 I/O 引脚

  (21 × 4 mA,2 × 20 mA)

  I2C 接口

  2 个具有 LED 驱动功能的 I/O 引脚

  安全装置定时器

  集成的高性能比较器

  开发工具

  CC2541 评估模块工具包 (CC2541EMK)

  CC2541 小型开发工具包 (CC2541DK-MINI)

  SmartRF™ 软件

  提供 IAR 嵌入式 Workbench™

  Software Features

  符合针对单模式蓝牙低能耗 (BLE) 解决方案的符合 v4.0 协议的堆栈

  完全功率优化堆栈,包括控制器和主机GAP - 中心设备,外设,或者广播器(包括组合角色)属性协议 (ATT) / 通用属性配置文件 (GATT) – 客户端和服务器对称式对多重处理 (SMP) - AES-128 加密和解密L2CAP

  示例应用和配置文件针对 GAP 中心和外围作用的一般应用距离临近,加速计,简单关键字,和电池 GATT 服务 BLE 软件栈 内支持更多应用

  多重配置选项单芯片配置,允许应用运行在 CC2541 上用于运行在一个外部微处理器上的网络处理器接口

  BTool - 用于评估、开发和测试的视窗 (Windows) PC 应用


责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯

方案推荐
基于MC33771主控芯片的新能源锂电池管理系统解决方案

基于MC33771主控芯片的新能源锂电池管理系统解决方案

AMIC110 32位Sitara ARM MCU开发方案

AMIC110 32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于TI公司的AM437x双照相机参考设计

基于TI公司的AM437x双照相机参考设计

基于MTK6580芯片的W2智能手表解决方案

基于MTK6580芯片的W2智能手表解决方案