天天看點

【CC2640】CC2640架構及原理

CC2640和CC2640R2F的差別是什麼?

CC2640和CC2640R2F是低功耗藍牙SOC的解決方案,兩顆晶片的基本架構和工作原理相同,實作的功能略有不同。

CC2640晶片組成?

  • 主MCU(Main CPU):

    主MCU是一顆ARM Cortex-M3的處理器,主要運作的是客戶的應用程式,同時也包含TIRTOS和底層的驅動。

  • RF射頻部分(RF Core):

    射頻核,是一個不開放的M0,專門控制射頻操作,這部分的操作控制主要由BLE協定棧來完成,BLE産品的開發一般都是在App操作,可以完全不需要關心這部分的操作。

  • 傳感器控制器(Sensor Control Engine):

    Sensor Control Engine,SCE,是CC2640和CC2640R2F差別其他TI BLE SOC一個特有的部分,是一個16位的MCU,獨立主MCU Cortex-M3和射頻核M0工作,可以在系統其他部分都關掉的情況下,獨立實作對外部傳感器的采集,進而保持整個系統運作的低功耗。

  • 外設(Peripherals)

    外設接口,則包含了GPIO,Timers(定器),UART/SPI,I2C,I2S,DMA,硬體的AES加密。

CC2640系統是如何工作達到低功耗的?

  • 首先可以看到,當整個系統處于Standby模式的時候,系統RTC和RAM還在保持,這時候功耗是1個微安,如果在ShutDown模式,也就是系統RTC和RAM不在保持的狀态下,整個系統的功耗則是小于0.15微安;
  • 然後當主MCU進入到工作狀态的時候,系統功耗大約為3個毫安,而且由于是M3的内容,BLE協定棧和應用程式的處理速度是非常功耗的,在有BLE事件需要處理的時候M3快速處理完成,整個系統又可以切換到低功耗狀态;
  • 當需要有射頻收發的時候,RF核才打開工作,TX/RX過程大概是6個毫安,同樣的當發送和接受處理完成之後,RF核又處于關閉狀态;
  • 通過使用SEC可以控制外部傳感器的資料采集,在系統的采集的整個過程中,系統的其他部分都可以保持關閉,這時候整個系統的平均功耗可以達到微安級别。

對使用Sensor Control Engine的介紹

Sensor Control Engine 是一個16位的RSIC的MCU,有自己獨立2K的SRAM,可以獨立于主MCU Cortex M3工作,是以可以幫助M3繼續采集傳感器的資料,進而達到整個系統的低功耗運作。通過整個子產品我們可以操作各式各樣的傳感器,例如,運動檢測器、電容式觸摸按鍵、加速度傳感器,ADC采樣等,另外,當你的系統需要多個序列槽的時候,也可以通過Sensor Control Engine實作除外設之外的多一個序列槽,Sensor Control Engine 獨立主MCU程式設計,是以就引出了我們另外的一個工具:Sensor Control Studio。

如何對Sensor Control Engine進行程式設計?

Sensor Contro Studio簡稱SCS,是一個內建了外部編譯環境和調試環境的開發工具。它包含了一個直覺的人機操作界面和内鍵的應用程式執行個體。使用這個工具的開發可以總結為三個步驟:

  • 參考工具已經提供的多種對不同外設操控的例程,使用類C語言在工具中程式設計,完成任務的初始化、執行和結束,這個任務運作在SensorControlEngine自己獨立的記憶體找那個。
  • 在工具的測試界面,測試和調試自己的程式設計任務執行。(如果任務正确執行,就可以執行第三步)
  • 導出代碼,并把代碼整合應用應用到主工程應用程式中去。

Sensor Control Engine進行程式設計詳細每一步的步驟?

  • 在Sensor Contro Studio的主界面,我們可以選擇适合自己應用的例程打開,并基于整個例程修改自己的應用,一個工程最多可以包含8個Task,每個Task都由初始化代碼、執行代碼和終止代碼組成這些代碼部分可以使用類C語言進行程式設計,可以調用的系統接口全部清單顯示在螢幕的右下角,可以參考工具的内鍵文檔,了解每個接口的函數說明。如果需要配置使用到的PIN腳定義可以進入IO Mapping進行配置。在完成Task的程式設計之後,可以進入Task Testing子產品對Task運作進行調試。調試模式多種多樣,例如:單步調試、設定斷點調試等等,這個工具都可以支援。單個任務以一個預先定義好的間隔時間來工作,如果工程中有多個任務,則可以對每個任務設定自己的間隔時間。當我完成了對SensorControl的程式設計之後,進入Code Generate子產品。
  • 進入Generate Code子產品,點選Generate Driver Source Code,即可導出程式的映像以及基于TIRTOS的相關驅動,Sensor Control Engine程式的映像即固件,實際上是一段二進制的數組,将數組和連同一起導出的驅動整合到主CPU的應用程式中去即可完成對Sensor Control Engine的操控。