Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
CC2500 無線雙向通訊
簡介CC2500 功能介紹 1) CC2500 控制電路 2) CC2500 操作類型SPI 通訊 1)   CC2500 SPI 操作 2)   SPI 規劃 3)   SPI 驅動控制 4)   CC2500 晶片行為之指令分析與設計CC2...
CC2500 特色 2.4GHz RF(射頻)收發器 頻率範圍:2400-2483.5MHz 資料傳輸率:可達500kbps 輸出功率:可達+1dBm 獨立的64位元組RX和TX資料FIFO SPI 控制介面 數位RSSI輸出         ...
CC2500 方塊圖             4
CC2500 模組            5
CC2500 模組                             CC2500            GDO0   ↔   RB1            SI     ↔   RC5            SO     ↔   RC4...
MCU 與 CC2500 配接線路           RC3/SCK       SCLK          RC5/SDO        SI           RC4/SDI       SO               RC2    ...
MSSP SPI MODESerial Data Out – SDOSerial Data In – SDI/SDASerial Clock – SCK/SCL                           8
IC 腳位定義          9
CC2500 SPI 模式 SCLKSDO/SDI    fSCLK = 10 MHz Max                         10
Max clock speed          9 MHz for single access          6.5 MHz for burst access                      11
CC2500 SPI 操作模式                  12
13
規劃 PIC18F46K20 SPI模式               14
CC2500 操作類型 操作規劃暫存器 操作狀態暫存器 晶片控制指令 操作傳送、接收緩衝區(FIFO)              15
暫存器存取HStrobe   HStrobe   HStrobeHReg      Data       HReg      Data        HReg    Data HReg     Datan     Datan+1   Datan...
ccSetReg()             ccGetReg()ccStrobe()   ccStatus()             ccSetPw()             ccGetPw()                   17
18
19
20
21
規劃暫存器(0x00~0x2E) CC2500 有 47 個規劃暫存器 (位址 0x00~0x2E) 存取方式:Header + Data        R/W B/S   A5        A4   A3   A2   A1   A0  讀...
Single Byte Access       R/W   0   A5   A4        A3   A2   A1   A0                           23
Burst Access       R/W     1   A5   A4        A3   A2   A1   A0                             24
控制指令 & 狀態暫存器位址(0x30~0x3D)burst bit is 1,讀取狀態暫存器    1   1   A5   A4        A3   A2   A1   A0burst bit is 0,送出晶片控制指令    x   ...
PATABLE 位址(0x3E)            26
SPI 操作練習 SPI 硬體規劃 1) 定義I/O接腳 2) 硬體啟始規劃 SPI 功能測試 1) CC2500 SPI功能測試 2) 指定記憶體位址寫入資料 3) 指定記憶體位址寫入讀取              27
CC2500 I/O 定義                28
SPI 啟始規劃           29
CC2500Power On Reset                 30
PIC單晶片 SPI讀寫操作 清除SPI中斷旗號 PIR1bits.SSPIF 要傳送的資料寫入 SSPBUF 等待SPI中斷旗號 = 1 從SSPBUF讀取接收到的值                 31
CC2500 SPI 寫入操作 指定CC2500記憶體位址 addr 資料寫入操作 將 buf 指標位址,連續寫入 n個BYTE                  32
CC2500 SPI 讀取操作 指定CC2500記憶體位址 addr 資料讀取操作 連續讀取 n個BYTE,存放在 buf 指標位址                  33
CC2500 控制指令 指定操作指令 cmd              34
CC2500 狀態暫存器操作 指定狀態暫存器位址 reg 讀取內容             35
CC2500 FIFO 操作 指定記憶體存取位址 str 讀取或寫入 len 個BYTE                 36
CC2500 PATABLE 讀寫操作                37
38
資料封包固定長度 1) PKTLEN暫存器的數值會決定資料收發的長度變動長度 1) PKTLEN暫存器的數值會決定最大的資料收發    長度  封包  長度       資料        CRC16             39
封包格式       40
接收資料封包預先規劃:GDO0工作模式(0x06)設定接收模式(SRX)GDO0偵測到GDO0下降緣(接收完成) 1) 讀取 1個BYTE資料長度(n) 2) 讀取 n個BYTE資料 3) 讀取 2個BYTE CRC16   封包   長度  ...
傳送資料封包預先規劃:GDO0工作模式(0x06)資料預先寫入 TX FIFOGDO0 1) 寫入 1個BYTE資料長度(n) 2) 寫入 n個BYTE資料設定傳送模式(STX)偵測到GDO0下降緣(傳送完成)   封包   長度       ...
Upcoming SlideShare
Loading in …5
×

艾鍗學院-單晶片韌體-CC2500通訊實驗

18,027 views

Published on

艾鍗學院-單晶片韌體開發課程講義
CC2500 RF通訊模組,引導學員逐步建構小型無線星狀網路
http://www.ittraining.com.tw/ittraining/index.php/course/firmware/pic?start=1

Published in: Education
  • Be the first to comment

艾鍗學院-單晶片韌體-CC2500通訊實驗

  1. 1. CC2500 無線雙向通訊
  2. 2. 簡介CC2500 功能介紹 1) CC2500 控制電路 2) CC2500 操作類型SPI 通訊 1) CC2500 SPI 操作 2) SPI 規劃 3) SPI 驅動控制 4) CC2500 晶片行為之指令分析與設計CC2500 傳送功能設計CC2500 接收功能設計 2
  3. 3. CC2500 特色 2.4GHz RF(射頻)收發器 頻率範圍:2400-2483.5MHz 資料傳輸率:可達500kbps 輸出功率:可達+1dBm 獨立的64位元組RX和TX資料FIFO SPI 控制介面 數位RSSI輸出 3
  4. 4. CC2500 方塊圖 4
  5. 5. CC2500 模組 5
  6. 6. CC2500 模組 CC2500 GDO0 ↔ RB1 SI ↔ RC5 SO ↔ RC4 SCLK ↔ RC3 CSn ↔ RC2 6
  7. 7. MCU 與 CC2500 配接線路 RC3/SCK SCLK RC5/SDO SI RC4/SDI SO RC2 CSn RB1/INT1 GDO0 PIC18F46K20 CC2500 7
  8. 8. MSSP SPI MODESerial Data Out – SDOSerial Data In – SDI/SDASerial Clock – SCK/SCL 8
  9. 9. IC 腳位定義 9
  10. 10. CC2500 SPI 模式 SCLKSDO/SDI fSCLK = 10 MHz Max 10
  11. 11. Max clock speed 9 MHz for single access 6.5 MHz for burst access 11
  12. 12. CC2500 SPI 操作模式 12
  13. 13. 13
  14. 14. 規劃 PIC18F46K20 SPI模式 14
  15. 15. CC2500 操作類型 操作規劃暫存器 操作狀態暫存器 晶片控制指令 操作傳送、接收緩衝區(FIFO) 15
  16. 16. 暫存器存取HStrobe HStrobe HStrobeHReg Data HReg Data HReg Data HReg Datan Datan+1 Datan+2HFIFO Datan Datan+1 Datan+2 HReg Data HStrobe HFIFO Datan Datan+1 16
  17. 17. ccSetReg() ccGetReg()ccStrobe() ccStatus() ccSetPw() ccGetPw() 17
  18. 18. 18
  19. 19. 19
  20. 20. 20
  21. 21. 21
  22. 22. 規劃暫存器(0x00~0x2E) CC2500 有 47 個規劃暫存器 (位址 0x00~0x2E) 存取方式:Header + Data R/W B/S A5 A4 A3 A2 A1 A0 讀/寫連續/單一暫存器位址 22
  23. 23. Single Byte Access R/W 0 A5 A4 A3 A2 A1 A0 23
  24. 24. Burst Access R/W 1 A5 A4 A3 A2 A1 A0 24
  25. 25. 控制指令 & 狀態暫存器位址(0x30~0x3D)burst bit is 1,讀取狀態暫存器 1 1 A5 A4 A3 A2 A1 A0burst bit is 0,送出晶片控制指令 x 0 A5 A4 A3 A2 A1 A0 25
  26. 26. PATABLE 位址(0x3E) 26
  27. 27. SPI 操作練習 SPI 硬體規劃 1) 定義I/O接腳 2) 硬體啟始規劃 SPI 功能測試 1) CC2500 SPI功能測試 2) 指定記憶體位址寫入資料 3) 指定記憶體位址寫入讀取 27
  28. 28. CC2500 I/O 定義 28
  29. 29. SPI 啟始規劃 29
  30. 30. CC2500Power On Reset 30
  31. 31. PIC單晶片 SPI讀寫操作 清除SPI中斷旗號 PIR1bits.SSPIF 要傳送的資料寫入 SSPBUF 等待SPI中斷旗號 = 1 從SSPBUF讀取接收到的值 31
  32. 32. CC2500 SPI 寫入操作 指定CC2500記憶體位址 addr 資料寫入操作 將 buf 指標位址,連續寫入 n個BYTE 32
  33. 33. CC2500 SPI 讀取操作 指定CC2500記憶體位址 addr 資料讀取操作 連續讀取 n個BYTE,存放在 buf 指標位址 33
  34. 34. CC2500 控制指令 指定操作指令 cmd 34
  35. 35. CC2500 狀態暫存器操作 指定狀態暫存器位址 reg 讀取內容 35
  36. 36. CC2500 FIFO 操作 指定記憶體存取位址 str 讀取或寫入 len 個BYTE 36
  37. 37. CC2500 PATABLE 讀寫操作 37
  38. 38. 38
  39. 39. 資料封包固定長度 1) PKTLEN暫存器的數值會決定資料收發的長度變動長度 1) PKTLEN暫存器的數值會決定最大的資料收發 長度 封包 長度 資料 CRC16 39
  40. 40. 封包格式 40
  41. 41. 接收資料封包預先規劃:GDO0工作模式(0x06)設定接收模式(SRX)GDO0偵測到GDO0下降緣(接收完成) 1) 讀取 1個BYTE資料長度(n) 2) 讀取 n個BYTE資料 3) 讀取 2個BYTE CRC16 封包 長度 資料 CRC16 41
  42. 42. 傳送資料封包預先規劃:GDO0工作模式(0x06)資料預先寫入 TX FIFOGDO0 1) 寫入 1個BYTE資料長度(n) 2) 寫入 n個BYTE資料設定傳送模式(STX)偵測到GDO0下降緣(傳送完成) 封包 長度 資料 CRC16 42

×