Amiccom RF IC GIO1/GIO2/CKO 介紹&使用(以7196為例)

SamYang2024-01-0751核208
  • 本篇介紹Amiccom RF IC GIO1/GIO2/CKO pin如何使用

  • Amiccom 絕大部分的RF IC都會有GIO1/GIO2/CKO這3支,我們稱之為RF IC的Output debug pin,它是支多功能復用的Pin,可以用來觀察RF IC當前狀態使用。

  • 少部分RF IC 只有GIO1/CKO(ex:A7169),需看當下使用的RF IC 手冊 。

image.png

  • 可以根據每顆RF IC的使用手冊找到這3支PIN的暫存器位置,以A7196為例,GIO1的暫存器=0Bh

  1. 我們可以調整GIO1S[3:0]數值,改變GIO1 模式(預設為0000),WTR表示用來觀察TX/RX是否成功啟動 或 結束

  2. 用戶可以自行修改想測試的狀態ex:

[0001] =TX mode時為檢測ID CODE是否發送完成 ;RX Mode時為檢測是否成功收下ID Code

[0010] =TX mode時為檢測 Tx調變是否成功啟動    ;RX Mode時為檢測是否檢測到相同頻率載波

[0011] =檢測FIFO Mode前4Byte ID(SID1)是否正確或在Direct mode時檢測前導碼是否正確

[0110] =使用GIO1 Pin 為 4線SPI的SDO Pin,原先RF IC的SDIO則為SDI Pin

[0111][1000][1001]=Direct mode時的data 輸入/輸出Pin

[1010]=Rx Standby pin用來控制LNA使用的參考Pin

[1101]=FIFO extension(詳細FIFO extension介紹可以參考FIFO Extension介紹這篇文章)

[1110]=啟動Auto Resend時才會用到

[1111]=FIFO TX data 輸出,可以使用此pin輸出前導碼+ID+Payload資料

以上都是可以自行修改去觀察RF IC當下狀態

image.png

  • GIO2也是相同概念,可以調整GIO2S[3:0]數值,來決定想觀察的RF 狀態

比較不同地方在於GIO2多了

[1100]=BDF : Low Battery Detection Flag,這需要根據每顆IC手冊上定義的為主,並不是每顆IC都相同

image.png


  • CKO為RF IC輸出的Clock的依據,注意這邊是RF IC Output,一樣可以修改CKOS[3:0],來決定想輸出的Clock

經常使用的是[0000],[0001]用來觀察TX or Rx時的DataRate Clock


  • image.png


以上就是介紹Amiccom RF IC內建3支可以自由使用的Debug output pin

底下使用Ref代碼做解說:

Tx端:當mcu對A7196下TX命令後,GIO1(WTR mode)會自動拉HIGH,此時會使用while(GIO1)等待TX完成後GIO1拉Low,代碼才會繼續往下執行

				        A7196_WriteFIFO(); //write data to tx fifo
				        StrobeCmd(CMD_TX); //entry tx & transmit
				        while(GIO1); //wait transmit completed

image.png


Rx端:當mcu對A7196下RX命令後,GIO1(WTR mode)會自動拉HIGH,此時會使用while(GIO1)等待RX完成後GIO1拉Low,代碼才會繼續往下執行

    	                StrobeCmd(CMD_RX);
	    			    while(GIO1); //wait receive completed
	    			    RxPacket();

image.png


发表评论

访客

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