如何將Amiccom RF IC Ref Code default 3線 SPI改成4線SPI

SamYang2024-10-3151核121
  • 本篇介紹Amiccom RF IC Ref code 預設都是使用3線SPI,且皆使用主控定義I/O的方式去產生HIGH/LOW變化做出模擬SPI信號Format,但這通常意味著SPI 速度就會受限於軟件執行序速度與I/O轉變的速度影響

  • 因此我們可以將RF IC改成4線SPI,適用於大多MCU的硬件SPI接口可以大大提高SPI速度,請注意Amiccom RF IC皆為Slave端,MCU主控為Master端

  • 這邊需要用到之前介紹過的Amiccom RF IC GIO1/2 Pin設定成SDO mode,參考:GIO介紹

底下提供A5133 改成4 線SPI Demo:

RC_A5133_x0_reference code for FIFO mode_1M_2M_4Mbps_Colad9p_V0.3 - 4-wire SPI.zip

底下說明修改部分與需要注意的地方:

1.ReadID前需要先將GIO1(這邊使用GIO1作為SDO Pin,當然也可以用GIO2),改成0x19也就是SDO Mode(MISO),這樣我們在執行ReadID時,主控的MISO才會收到A5133 SDO Output的資料

image.png

  • ByteRead();,這裡也要將Read函數,RF IC 輸出SPI Data給主控的函數中Data Pin改成GIO1


image.png

  • 因為Write/Read ID後,會進行Load Config

  • 因此在Config tab裡也需要將GIO1 改成0x19,才不會強制又被改回3線SPI

]image.png

  • 初始化完後,記得再確保設定一次GIO1=SDO Mode,GIO2=WTR=檢測RF狀態使用

image.png

  • 到此我們就完成設置4線SPI的方式

總結:

  1. 就是再需要RF IC Output  SPI Data時,將GIO1設成SDO mode,而主控需要OutPut SPI Data給RF IC InPut時,就使用RF IC預設的SDIO Pin即可以,簡單講原先的SDIO pin在4線SPI 時則為SDI Pin ,GIO1為SDO pin

  2. 注意Config也需要修改,否則load config後又會被強制改回3線SPI

  3. 注意因為GIO1為SDO mode,則我們還需要有隻pin來判斷RF狀態,通常就都會用GIO2

  4. 所以在初始化後,記得再將GIO1=0x19 SDO mode,GIO2=0x01 WTR mode





发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。