完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>
标签 > CC2540
CC2540是一个真正的系统单晶片解决方案,结合德州仪器的协议栈、轮廓软体及应用支援, CC2540成为市场上最具有弹性及成本效益的单模式低功率蓝牙解决方案。
CC2540是一个真正的系统单晶片解决方案,结合德州仪器的协议栈、轮廓软体及应用支援, CC2540成为市场上最具有弹性及成本效益的单模式低功率蓝牙解决方案。
应用市场
低功率蓝牙 - 适用于消费性医疗、行动装置周边、运动及健康应用等产品的超低功率无线连结市场上最具有弹性及成本效益的单模式低功率蓝牙解决方案–德州仪器CC2540 2.4GHz低功率蓝牙系统单晶片。德州仪器的CC2540系列产品提供用于感应器应用及行动手持装置周边的低功率蓝牙解决方案, CC2540是一个真正的系统单晶片解决方案,结合德州仪器的协定堆叠、轮廓软体及应用支援, CC2540成为市场上最具有弹性及成本效益的单模式低功率蓝牙解决方案。
CC2540是一个真正的系统单晶片解决方案,结合德州仪器的协议栈、轮廓软体及应用支援, CC2540成为市场上最具有弹性及成本效益的单模式低功率蓝牙解决方案。
应用市场
低功率蓝牙 - 适用于消费性医疗、行动装置周边、运动及健康应用等产品的超低功率无线连结市场上最具有弹性及成本效益的单模式低功率蓝牙解决方案–德州仪器CC2540 2.4GHz低功率蓝牙系统单晶片。德州仪器的CC2540系列产品提供用于感应器应用及行动手持装置周边的低功率蓝牙解决方案, CC2540是一个真正的系统单晶片解决方案,结合德州仪器的协定堆叠、轮廓软体及应用支援, CC2540成为市场上最具有弹性及成本效益的单模式低功率蓝牙解决方案。
蓝牙技术
低功率蓝牙技术提供消费性医疗、行动装置周边、运动以及健康应用等产品超低功率的最新通讯能力。 低功率蓝牙技术是一个使用更少连结的协定,它大幅地降低了无线功能必须开机的时间,只需要传统蓝牙一部分的消耗功率,低功率蓝牙可让产品使用硬币式电池操作超过一年的时间。
德州仪器提供低功率蓝牙单一模式解决方案用于感应器应用及双模式解决方案用于行动手持装置。
晶片介绍
系统单晶片德州仪器用于感应器应用的低功率蓝牙解决方案包括CC2540 2.4 GHz系统单晶片、协议栈、轮廓软体及应用支援。
CC2540是一个超低消耗功率的真正系统单晶片,它整合了包含微控制器、主机端及应用程序在一个元件上。 CC2540结合一个优异的无线射频传送接收器及一个工业标准的加强型8051微控制器, 它包括连接类比及数位感应器的周边,内建可程式的快闪记忆体, 精确的无线射频讯号强度指示, 全速USB 2.0界面,内建AES-128加密引擎。
CC2540可让强固的主控或从属式节点以很低的成本建立起来,它具有很低的睡眠模式功率消耗及不同工作模式间短暂的转换时间,适用于需要超低消耗功率的系统。
CC2540有两个版本: CC2540F128/ F256, 各含有128KB及256 KB快闪记忆体,为40-pin
6mm x 6mm 的QFN包装。整合低功率蓝牙协议栈,使得CC2540F128/ F256成为市场上最具弹性及成本效益的单模式低功率蓝牙解决方案。
主要功能
增强型8051微控制器 - 128KB或256 KB内建快闪记忆体, 8KB SRAM。完全整合的无线射频功能 - 低功率蓝牙 (1Mbps GFSK ) 。数字外设 – 21个通用型输出入接口, 2个USART (UART或SPI),全速USB 2.0,2个16位元及2个8位元计时器,专属的连接层计时器用于低功率蓝牙协定时脉,AES-128硬件加密/解密功能。先进的类比周边 – 8通道 8到12位元 delta-sigma 类比数位转换器,超低功率类比比较器, 内建高效能运算放大器。完整解决方案–2.4 GHz系统单晶片,德州仪器协定堆叠,轮廓软体,及应用支援。超低消耗功率–感应器应用可使用一个硬币型电池运作超过一年的时间。领先的无线射频效能–最高达+97dB link budget,可用于大范围通讯,与其它2.4GHz装置优异的共存性。单晶片整合解决方案 - 微控制器,主机端,及应用程式整合在一个6mm x 6mm的元件中,有效降低所需的印刷电路板面积,应用程式可直接写入CC2540,它支援类比及数位界面。具备快闪记忆体及具有弹性的元件 - 韧体可在使用场所更新,资料可储存于晶片上。单一模式及双模式 – 做为一个同时提供单一模式及双模式低功率蓝牙解决方案的厂商,德州仪器提供由智慧型感应器到智慧型手机完整验证及强固的节能系统解决方案。
CC2540开发入门
2 开发需求
l 开发板(CC2540主板)(硬件)
l CC Debugger(硬件),CC系列芯片的下载器,可用于同步调试和下载固件
l smartrf_studio(软件),安装在WINDOWS,用于下载固件或调试射频。
l BLE-CC254x_v1.4.0(代码),CC2540/CC2541的代码开发包,里面有各种应用工程。
l IAR Embedded Workbench for 8051 version 8.30.2(EW8051-8302-Autorun.exe)(软件),代码开发工具,可用于编译、调试及下载。注意工具版本,版本不对打不开BLE-CC254x_v1.4.0,比如BLE-CC254x_v1.4.1就要示高一点的版本,但太高也不行,这里尽量使用本文件所提到的版本。
3 下载测试
1)安装上面提到的软件后,开始进行主板测试。
2)先将CC Debugger的USB线连接电脑,让它自动安装完驱动,安装成功后,在设备管理器里会有如下图标:
3)打开SmartRF Studio,如果CC Debugger连接正常,在界面下方会有如下提示:
No chip表示没连接CC2540主板。
4)将CC2540主板接上CC Debugger,然后上电,如果CC Debugger的指示灯没有由红变绿,则按一下CC Ddebugger的复位键,如果指示灯还不变绿,则需要检查一下CC2540主板。CC Debugger指示灯变绿,表示与主板正常。
5)CC Debugger连上CC2540主板后,在SmartRF Studio界面下方会有如下提示:
6) 点击SmartRF Studio右上角的工具图标: ,选择Flash Programmer,其中两个选择说明一下:Program CCxxxx Soc or MSP430 是用于烧写CC2540主板的,而Program Evaluation Board是用于升级CC Debugger,所以除非CC Debugger出问题了需要升级固件(固件放在:C:\Program Files (x86)\Texas Instruments\SmartRF Tools\Firmware\CC Debugger\cebal_fw_srf05dbg.hex)外,一般选择Program CCxxxx Soc or MSP430选项来烧写主板。
7)选择Program CCxxxx Soc or MSP430选项,然后点击Flash image右边按钮来选择将要烧写的固件,选择“BLE-CC254x_v1.4.0\Projects\ble\ SimpleBLEPeripheral\CC2540DB\CC2540DK-MINI Keyfob\Exe\ SimpleBLEPeripheral.hex”,其他选项保持默认,然后点 Perform actions 按钮,进行烧写。
8)烧写成功表示硬件功能正常,不成功则需要检查CC2540主板。
4 CC Debugger连接接口说明
1 GND接CC2540主板的地
2 Target Voltage Sense接CC2540主板的VCC
3 DC接CC2540主板的P2.2
4 DD接CC2540主板的P2.1
7 RESETn接CC2540主板的RESET Pin
5 编译调试代码
1)打开IAR Embedded Workbench,点击菜单“Project”,选择“Add Existing Project.。”,打开“BLE-CC254x_v1.4.0\Projects\ble\SimpleBLEPeripheral_ibeacon\CC2540DB/ SimpleBLEPeripheral.ewp”。
2)点击菜单“Project”,选择“Options”,将General Options项里,将Number of virtual改为8,否则在编译时会出现下面的错误:
Error[e16]: Segment ISTACK (size: 0xc0 align: 0) is too long for segment definition. At least 0xd more bytes needed. The problem occurred while processing the segment placement command
“-Z(IDATA)ISTACK+_IDATA_STACK_SIZE#08-_IDATA_END”, where at the moment of placement the available memory ranges were “IDATA:4d-ff”
Reserved ranges relevant to this placement:123
3)点击工具栏中的“编译”按钮,对工程进行编译
4)编译成功后,点击工具栏的“Download and Debug”按钮,进行固件下载,下载后在工具栏会出现调试工具,点击“Go”图标,就开始跑代码。由于可以在线调试,基本上不需要增加串口打印了。
5)BLE-CC254x_v1.4.0里的工程,主要是针对TI的参考板的,在代码里可以看到CC2540_MINIDK等DEFINE,如果是自制的板,则需要对代码作相应的改动。CC2540_MINIDK等DEFINE是在这里添加或删除:先选择IAR Embedded Workbench左边工程栏里对应的工程名,再点击菜单栏“Project”,选择“Options”,在C/C++ Compiler里,找到Preprocessor项,在Defined symbols框里对相应的DEFINE进行增删。
6 Android APK开发
Android SDK包里有个例子android-19\connectivity\bluetooth\BluetoothLeGatt可参考进行开发。用这个APK就可以扫描到CC2540主板,并显示出CC2540主板里的服务及特征。
7 GATT简要描述
GATT是Generic ATTribute的缩写,称为通用属性协议。属性的特点就是对某件东西的描述。GATT由服务(Service)、特征(Characteristicc)和特点(Properties)组成,如下图:
服务、特征和特点的关系可用如下图比喻:
实际上,在代码里是用结构数组来体现的,如下结构体:
typedef struct attAttribute_t
{
gattAttrType_t type; //!《 Attribute type (2 or 16 octet UUIDs)
uint8 permissions; //!《 Attribute permissions
uint16 handle; //!《 Attribute handle - assigned internally by attribute server
uint8* const pValue; //!《 Attribute value - encoding of the octet array is defined in
//!《 the applicable profile. The maximum length of an attribute
//!《 value shall be 512 octets.
} gattAttribute_t;123456789
如上,type表明类型是服务、特征还是特点,permissions是访问权限,handle是用内部定位用的,pValue是字节数组,用于数据交换,如主板发给手机还是手机发给主板的数据都是在这里。
GATT通讯实际交换的就是用上面的结构定义的数组的内容。
CC2540作为一个超低消耗功率的真正系统单晶片已经得到普遍运用。本文开始介绍了CC2540的定义与CC2540应用市场,其次阐述了CC2540主要功能...
TI推出业界首款CC2540蓝牙低能耗片上系统和ANT网络处
德州仪器(TI)日前推出业界首款完整型蓝牙低能耗解决方案和最高集成型ANT网络处理器,为消费类医疗、移动附件、
最近,德州仪器(TI)正式对外宣布,率先在业内开发出完整型蓝牙低功耗(BLE)单模式芯片CC2540,主要面向消费类
编辑推荐厂商产品技术软件/工具OS/语言教程专题
电机控制 | DSP | 氮化镓 | 功率放大器 | ChatGPT | 自动驾驶 | TI | 瑞萨电子 |
BLDC | PLC | 碳化硅 | 二极管 | OpenAI | 元宇宙 | 安森美 | ADI |
无刷电机 | FOC | IGBT | 逆变器 | 文心一言 | 5G | 英飞凌 | 罗姆 |
直流电机 | PID | MOSFET | 传感器 | 人工智能 | 物联网 | NXP | 赛灵思 |
步进电机 | SPWM | 充电桩 | IPM | 机器视觉 | 无人机 | 三菱电机 | ST |
伺服电机 | SVPWM | 光伏发电 | UPS | AR | 智能电网 | 国民技术 | Microchip |
开关电源 | 步进电机 | 无线充电 | LabVIEW | EMC | PLC | OLED | 单片机 |
5G | m2m | DSP | MCU | ASIC | CPU | ROM | DRAM |
NB-IoT | LoRa | Zigbee | NFC | 蓝牙 | RFID | Wi-Fi | SIGFOX |
Type-C | USB | 以太网 | 仿真器 | RISC | RAM | 寄存器 | GPU |
语音识别 | 万用表 | CPLD | 耦合 | 电路仿真 | 电容滤波 | 保护电路 | 看门狗 |
CAN | CSI | DSI | DVI | Ethernet | HDMI | I2C | RS-485 |
SDI | nas | DMA | HomeKit | 阈值电压 | UART | 机器学习 | TensorFlow |
Arduino | BeagleBone | 树莓派 | STM32 | MSP430 | EFM32 | ARM mbed | EDA |
示波器 | LPC | imx8 | PSoC | Altium Designer | Allegro | Mentor | Pads |
OrCAD | Cadence | AutoCAD | 华秋DFM | Keil | MATLAB | MPLAB | Quartus |
C++ | Java | Python | JavaScript | node.js | RISC-V | verilog | Tensorflow |
Android | iOS | linux | RTOS | FreeRTOS | LiteOS | RT-THread | uCOS |
DuerOS | Brillo | Windows11 | HarmonyOS |