完善資料讓更多小伙伴認識你,還能領取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)正式對外宣布,率先在業內開發出完整型藍牙低功耗(BLE)單模式芯片CC2540,主要面向消費類
TI推出業界首款CC2540藍牙低能耗片上系統和ANT網絡處
德州儀器(TI)日前推出業界首款完整型藍牙低能耗解決方案和最高集成型ANT網絡處理器,為消費類醫療、移動附件、
編輯推薦廠商產品技術軟件/工具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 |