CC2640的開發闆有哪些?
總的來說,可以提供給CC2640和CC2640R2F的開發闆有兩種,一種是SensorTag,另外一種是LaunchPad。
- SensorTag開發闆上搭載了很多外部的傳感器,比如六軸加速度傳感器、溫濕度傳感器、光照傳感器等等,同時也附帶一個512K的外部Flash,它需要搭配使用CC-DEVPACK-DEBUG來完成燒錄和調試的功能。使用SensorTag開發闆可以使用TI提供的例程,在5分鐘内搭建起BLE終端裝置采集傳感器資料并通過BLE把資料傳輸手機APP上并顯示應用場景示例。
- LaunchPad上已經內建了燒錄器,不需要再配置CC-DEVPACK-DEBUG闆來完成燒錄和調試的工作,同時的附帶的外部flash的大小也增加到了1M,但是并不帶有傳感器。LaunchPad的好處是接出來晶片的各個引腳,可以友善的使用連線的方式搭建和測試符合自己應用的硬體環境,比如對GPIO口的操作或者測試功耗等等,同時配合LaunchPad TI也提供了更豐富的應用例程,包括一些直接可以和手機APP連接配接的例程。
CC2640和CC2640R2F在晶片架構和原理上相同,但是軟體功能上略有不同,不同點在哪?
- 從封裝來看,CC2640R2F和CC2640都支援QFN封裝(而且都是PinToPin的),CC2640R2F增加了一種2.7mm*2.7mm的晶片級封裝;
- 在軟體開發包支援的方面,CC2640R2F使用的是version 3.0.0版本的開發包,而CC2640使用的是version 2.2.1版本的開發包,這兩個開發包從軟體實作的功能上來看,都是一樣的,但是version 3.00版本的開發包釋放了更多的Flash空間給客戶應用程式使用;
- 從開發闆的支援來看,CC2640R2F使用搭載CC2640R2F的LaunchPad,而CC2640使用的是搭載CC2650的LaunchPad;
- 從藍牙協定棧來說,目前兩個開發包都支援藍牙4.2協定,而CC2640R2F本身支援藍牙5.0PHYs,在17年4月釋出的藍牙協定棧支援藍牙5.0的協定,對于CC2640來說隻支援到藍牙4.2協定。
CC2640和CC2640R2F的核心差別和重點是什麼?
- 1.CC2640R2F支援藍牙5.0的PHYs,内鍵對藍牙5.0的新特性:發送長廣播的支援。
- 2.CC2640R2F可以為客戶應用程式程式設計,提供更大的Flash空間支援。同樣是運作TI運作SimpleBLEPeripheral例程,基于藍牙4.0協定,CC2640R2F可以提供給客戶應用程式的空間是83Kbytes,而CC2640是41Kbytes;如果是基于藍牙4.2的協定,CC2640R2F可以提供給客戶應用程式的空間是80Kbytes,而CC2640是31Kbytes;
- 3.CC2640R2F除了支援Pin2Pin的QFN的封裝方式,還另外添加了一種更小的2.7mm*2.7mm的晶片級封裝(這種封裝的外部GPIO口有14個)。
為什麼在不改變外部晶片架構的情況下,CC2640R2F能夠提供80K位元組可程式設計空間給客戶應用程式使用呢?
CC2640R2F将藍牙4.2的協定棧放到ROM裡面去了,後期如果需要更新BLE協定棧,可以通過打ROM Patch的方式實作。在這的架構之上,CC2640R2F提供給客戶應用程式的空間可以滿足和256K Flash BLE SOC 晶片一樣的使用需求。
适用于CC2640的2.2版本的開發包都支援哪些藍牙4.2的特點?
- 首先添加了LE安全連接配接的屬性,包括:修複BT4.0&BT4.1中使用Legcy Pairing存在的可能被竊聽的漏洞;添加了數字比較配對的認證方法,以防止中間人的攻擊;使用ECDH算法用于配對過程中的秘鑰交換;使用和藍牙4.0相同的FIPS相容AES-128加密;向下相容LE legacy Paring方法(這一特點使藍牙4.2的裝置連接配接更加的安全可靠);
- 然後增加了LE 1.2版本的隐私規範,包括:通過使用随時間變化的随機藍牙裝置位址來保護裝置不被跟蹤;修複了老版本藍牙協定中對時間隐私功能混淆的部分;通過屏蔽不需要的裝置連接配接或者掃描結果來提高效率,進一步降低功耗;允許對綁定iOS和Android裝置進行白名單,進而實作隐私屬性(這一特點可以防止BLE4.2裝置被非使用者竊聽和跟蹤,同時又是整個裝置的功耗更低);
- 最後一點LE資料長度擴充,包括:和BT4.0&4.1相比,資料吞吐量可以提高2.5倍,在使用同樣的1Mbps通訊的PHY層情況下,PDU可以從27位元組增大到最多251bytes,具體的PDU的大小是在連接配接的過程中由通訊的雙方裝置協商确定;由于PDU的增大,帶來這個吞吐量的提高,是以BLE裝置不在是隻能低速傳輸無線資料,也可以滿足對資料吞吐量有一定要求的應用,最典型的例子就是做無線更新OAD,高資料的吞吐量可以縮短無線更新的時間。
SimpleLink CC2640R2 SDK 介紹:
TI專門提供了适用于CC2640R2F的軟體開發包,這個開發包從對藍牙協定的支援來說,和CC2640是一樣的,都可以支援藍牙4.2協定。
- 從提供的軟體例程上來看,包含了和CC2640包一樣的示例程式,同時還提供了一個可選的應用程式安裝包,這個外加的安裝包裡包含了額外的應用例程。
- 從開發包的組成來說,則是和TI的SimpleLink一系列的晶片保持一緻,這個高度整合的平台,使客戶可以友善快捷的在不同的硬體之間進行切換。如果使用過TI SimpleLink系列晶片中的一種并且已經基于他的開發包開發過自己的應用程式,隻需要做少量的修改,就可以友善的把自己的應用程式移植到新的硬體平台之上。
SimpleLink CC2640R2F SDK 内容:
從TI的官方網站上下載下傳軟體包的安裝檔案并安裝完成之後,在系統C槽ti目錄下,就可以找到CC2640R2F的軟體資料了,包括TIRTOS的核心層、驅動層的代碼、以及應用軟體開發最關心的示例程式和開發文檔。示例程式在開包程式example目錄下,包括對BLE協定棧的例程以及對外設的例程等等。開放文檔在開發目錄的docs檔案夾下,從TiRTOS到BLE協定棧,從系統底層驅動到協定棧應用示例都有專門的文檔做為介紹,目錄内有一個Documentation OverView的html檔案,将所有的應用開發文檔整合到一個頁面内,通過浏覽器打開這個檔案,就可以友善的浏覽和查找你需要的的開發說明文檔。
如何修改CC2640R2F軟體包中的執行個體程式,使它能夠運作在自己的硬體平台之上?
步驟很簡單,确認硬體平台上使用的CC2640晶片的封裝是什麼,拿5mm*5mm QFN封裝作為例子,隻需要闆級配置把宏定義CC2650EM_7ID改為CC2650EM_5XD,根據引腳圖對應的更改引腳定義就行。也可以從TI的GitHub上擷取TI搭載不同封裝晶片EVM版闆級配置檔案作為參考。