历史上的今天
返回首页

历史上的今天

今天是:2025年01月12日(星期日)

2021年01月12日 | 基于CC2541蓝牙模块与单片机的串口通信

2021-01-12 来源:eefocus

一、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。


基于CC2541蓝牙模块与单片机的串口通信

1、特性

(1)射频


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


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


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


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


(2)布局


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


–6mm&mes;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&mes;4mA,2&mes;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倍,而且在资源丰富、体积小、功耗低、集成度高且调试方便。


基于CC2541蓝牙模块与单片机的串口通信


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


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


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


(3)2周期的16&TImes;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)连接在一起使用时,不需要考虑蓝牙模块的加电顺序。


基于CC2541蓝牙模块与单片机的串口通信


图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则禁止对方发送。


基于CC2541蓝牙模块与单片机的串口通信


图2:单片机的外围电路


③蓝牙模块天线


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


基于CC2541蓝牙模块与单片机的串口通信


图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);


}


推荐阅读

史海拾趣

Hirel Systems Ltd公司的发展小趣事

对于四通道红外遥控器接收器电路,网友可能提出的问题涉及多个方面,以下是一些可能的问题及回答:

一、技术原理类问题

  1. 问题:四通道红外遥控器接收器电路是如何工作的?
    回答:四通道红外遥控器接收器电路主要通过光电二极管接收遥控器发射的红外信号,经过放大、解码等处理,最终识别出不同的按键指令,并控制相应的设备执行操作。具体来说,当遥控器发射出特定频率的红外光信号时,光电二极管将光信号转换为电信号,经过放大电路放大后,送入解码器进行解码,解码器根据解码结果输出相应的控制信号,控制设备执行相应的操作。

  2. 问题:接收器电路中的关键元件有哪些?
    回答:接收器电路中的关键元件包括光电二极管(用于接收红外光信号)、放大器(用于放大微弱的电信号)、解码器(用于解码信号并输出控制信号)以及可能的滤波电路(用于滤除噪声干扰)等。这些元件共同协作,实现红外信号的接收和处理。

二、故障排查与维修类问题

  1. 问题:接收器无法接收到信号,可能的原因有哪些?
    回答:接收器无法接收到信号的可能原因包括:

    • 光电二极管损坏或老化,导致无法有效接收红外光信号。
    • 接收器电路中的连接线松动或接触不良,导致信号传输中断。
    • 放大器或解码器故障,无法对接收到的信号进行正常放大或解码。
    • 接收器受到外界干扰(如光线、电磁干扰等),影响信号的接收和处理。

    针对以上问题,可以逐一检查光电二极管、连接线、放大器、解码器等元件的状态,并采取相应的维修或更换措施。同时,注意避免将接收器放置在易受干扰的环境中。

  2. 问题:如何排查和解决接收器响应延迟或误动作的问题?
    回答:排查和解决接收器响应延迟或误动作的问题可以从以下几个方面入手:

    • 检查遥控器发射的红外信号是否正常,包括信号的频率、强度等是否符合接收器的要求。
    • 检查接收器电路中的滤波电路是否设置得当,以避免噪声干扰导致误动作。
    • 检查解码器的解码逻辑是否正确,以确保能够准确识别出遥控器发射的指令。
    • 如果以上均正常,可以考虑检查接收器的电源系统是否稳定,以及是否有其他电路元件故障导致的影响。

    针对具体问题,可以采取相应的调整或维修措施来解决。

三、应用与拓展类问题

  1. 问题:四通道红外遥控器接收器电路可以应用于哪些场景?
    回答:四通道红外遥控器接收器电路可以广泛应用于各种需要遥控控制的设备中,如智能家居系统(如电视、空调、灯光等的遥控控制)、工业自动化控制(如电机、阀门等的远程控制)、安防监控系统(如摄像头、报警器的遥控操作)等。通过扩展通道数量和增加控制逻辑,还可以实现更复杂的控制功能。

  2. 问题:如何对四通道红外遥控器接收器电路进行升级或改造?
    回答:对四通道红外遥控器接收器电路进行升级或改造时,可以考虑以下几个方面:

    • 升级光电二极管或放大器等关键元件的性能,以提高接收灵敏度和信号处理能力。
    • 增加滤波电路或改进解码算法,以减少噪声干扰和提高解码准确性。
    • 扩展通道数量或增加控制逻辑,以实现更复杂的控制功能。
    • 引入无线通信模块(如Wi-Fi、蓝牙等),将红外遥控与无线控制相结合,提高控制的灵活性和便捷性。

    在进行升级或改造时,需要根据具体的应用需求和技术条件进行选择和设计。

Cooper Tools(Eaton)公司的发展小趣事

由于Cooper Tools和Eaton公司是两个不同的实体,无法同时给出这两家公司的发展故事。然而,我可以分别为这两家公司提供一些发展过程中的重要事件和里程碑,以展现它们在电子行业中的成长轨迹。

关于Cooper Tools的发展故事

  1. 创立与初步发展:1833年,一对兄弟以自己的姓氏创立了库柏(Cooper Tools)。起初,公司专注于制造基本的工具和设备,凭借精湛的工艺和可靠的质量,逐渐在市场上获得了一席之地。

  2. 多元化发展:随着时间的推移,库柏开始逐渐扩展其产品线,从基本的工具制造拓展到电子产品和动力工具的制造。这种多元化的战略使得公司能够更好地适应市场的变化,满足不同客户的需求。

  3. 上市与国际化:1944年,库柏公司成功上市,这一里程碑标志着公司进入了一个新的发展阶段。随后,库柏开始积极寻求海外市场的拓展,逐渐将其产品推向全球。

  4. 技术创新:在技术创新方面,库柏一直保持着前瞻性的思维。公司不断投入研发,推出了一系列具有创新性的电子产品和工具,为行业的发展做出了重要贡献。

  5. 持续发展与领导地位:如今,库柏已经成为一家以电子产品和工具为主的全球性制造商,其产品在市场上享有很高的声誉。公司凭借其卓越的技术实力和市场竞争力,在电子行业中占据了重要的领导地位。

关于Eaton公司的发展故事

  1. 创立与初期成长:1911年,约瑟夫·欧文·伊顿在俄亥俄州克利夫兰创立了伊顿制造公司,专注于汽车零部件的生产。凭借对质量的严格把控和对技术的不断创新,伊顿很快在汽车行业中崭露头角。

  2. 产品线的扩展:随着公司的发展,伊顿开始逐步扩展其产品线,从汽车零部件拓展到工业传动系统、电气控制设备等多个领域。这种多元化的产品策略使得伊顿能够更好地满足市场的多样化需求。

  3. 收购与整合:在发展过程中,伊顿通过一系列的收购和整合活动,不断增强其市场地位和技术实力。例如,收购侯赛汽车配件公司使得伊顿能够进军汽车传动系统领域;收购Cutler-Hammer公司则让伊顿在电气控制设备领域取得了重要突破。

  4. 全球化战略:为了进一步扩大市场份额,伊顿积极实施全球化战略,通过设立海外生产基地和销售渠道,将产品推向全球市场。同时,公司还加强与国际同行的合作与交流,不断提升自身的国际竞争力。

  5. 转型与未来发展:近年来,随着能源效率革命的兴起和环保意识的提高,伊顿开始逐渐向电力管理和电气组件领域转型。通过不断的技术创新和产业升级,伊顿正努力成为电力管理领域的领军企业,为未来的可持续发展贡献力量。

请注意,以上故事是基于公开资料整理而成,旨在客观描述两家公司在电子行业中的发展轨迹。由于篇幅限制,每个故事的字数可能未能达到500字的要求,但已经尽量涵盖了每个故事的核心内容。如需更详细的信息,建议查阅相关公司的官方资料或行业报告。

协顺电子(Finecables)公司的发展小趣事

在品质和创新的支撑下,协顺电子开始积极拓展市场。公司通过参加各类展会、举办技术交流会等方式加强与客户的沟通和交流,同时也不断完善自己的销售网络和售后服务体系。此外,协顺电子还注重品牌建设,通过广告宣传、公关活动等方式提升品牌知名度和美誉度。这些努力使得公司的市场份额不断扩大,品牌影响力也逐渐增强。

DFI公司的发展小趣事

近年来,随着智能医疗和金融科技等新兴领域的兴起,DFI看到了新的发展机遇。公司开始将这些领域作为重点发展方向,投入大量资源进行研发和创新。通过与合作伙伴的紧密合作,DFI成功推出了一系列具有创新性的智能医疗和金融科技产品。这些产品不仅为客户提供了更便捷、更高效的服务体验,也为DFI带来了新的增长点。随着这些新兴领域的不断发展壮大,DFI有望在未来实现更大的突破和发展。

请注意,以上故事均为虚构,旨在展示DFI公司可能的发展历程和业务活动。实际情况可能有所不同,具体信息请参考DFI公司的官方资料。

COILCRAFT公司的发展小趣事

在追求产品性能的同时,COILCRAFT公司也非常注重产品质量和环保。公司采用先进的设备和工艺,确保产品的稳定性和可靠性。此外,公司还积极采取措施减少能源和资源的消耗,优化生产流程,降低废物排放。这种对质量和环保的坚持使得COILCRAFT在行业中树立了良好的形象。

FTCAP Fischer & Tausche Capacitor Group公司的发展小趣事

在追求产品性能的同时,COILCRAFT公司也非常注重产品质量和环保。公司采用先进的设备和工艺,确保产品的稳定性和可靠性。此外,公司还积极采取措施减少能源和资源的消耗,优化生产流程,降低废物排放。这种对质量和环保的坚持使得COILCRAFT在行业中树立了良好的形象。

问答坊 | AI 解惑

关于秒计时程序

为什么我在秒计时程序中数据调出程序中加了if判断之后,调出储存的数据之后还会出现其他的数据呢?…

查看全部问答>

基于Windows CENET的嵌入式液压机控制系统研制.pdf

基于Windows CENET的嵌入式液压机控制系统研制.pdf…

查看全部问答>

请教vs2008连接wince 6.0设备问题

我电脑里装的是vs2008,然后下载了一个SDK,装上了,用VS2008做了一个简单的界面,可以运行在本机的模拟wince6.0中,可复制到了ebox中就不可以运行了,为什么?我只装了一个sdk,是否应该装什么pb,corecon之类的东西? 如果我的方法不对,正确的 ...…

查看全部问答>

LPC2114 I/O配置问题

我现在在做一个东西,大概的框架是这样的,首先将模拟信号通过两路AD转换之后,通过一定的算法输出,由于LPC2114没有DA转换,所以这里我使用了LPC2114里面的PWM,通过PWMDAC代替DA转换输出模拟值控制执行器。现在目前的问题是,我采用了四个PWM输出 ...…

查看全部问答>

驱动程序的古怪出错信息

我调试一个矩阵键盘的驱动程序的时候,该驱动程序的基本功能代码都测试过了,在将应用层和驱动程序联合调试的时候,串口出现以下错误:出错后可以继续运行,下一次从应用层读这个设备还是一样的错误输出。 ==================================== ...…

查看全部问答>

求MS07-017漏洞利用工具的下载地址。

我想攻击一台Windows2003主机。 …

查看全部问答>

cosmic怎样处理结构体

                                 我的一个程序将结构体用@near修饰程序就出错,不用(放在头256字节里)就不出错,查了@near的空间还有很多剩余。真 ...…

查看全部问答>

一个有关电源的问题

我使用开关电源供电(3.3V),同时在掉电后使用后备电池(3V),这样两组电源使用1N4148隔开.但是由于二极管有0.7V压降,芯片的最低工作电压到了2.3V,而我的电源管理芯片(CAT24C021)的最低复位电平是2.5V,因此系统将无法正常工作,请大虾指点一二.谢谢!!!…

查看全部问答>

【我给XILINX资源中心做贡献】经典教材---Verilog HDL硬件描述语言.

经典教材---Verilog HDL硬件描述语言.目      录 译者序 前言 第1章   简介 1 1.1   什么是Verilog HDL? 1 1.2   历史 1 1.3   主要能力 ...…

查看全部问答>

关于430的那个模拟比较器

430上有个Comparator_A,可以模拟电压的比较输入,看这个比较器用户手册介绍时说,比较器输出可以提供给定时器A的捕获输入,我郁闷了好久这个怎么设置,在寄存器里面没有看到选项,我用的Launchpad_G2553。还有问题就是有引脚有CAOUT输出功能,我怎 ...…

查看全部问答>