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

14,834 views

Published on

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

Published in: Education
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
14,834
On SlideShare
0
From Embeds
0
Number of Embeds
11,416
Actions
Shares
0
Downloads
0
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

艾鍗學院-單晶片韌體-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

×