1當CSN引腳變低,MCU必須等待SO引腳電平變低,表明內部穩定,除非radio處于Sleep或者XOFF狀態,或者CSN變低后SO會立即變低的。 2只有使radio處于XOSC空閑,并且數字中心的能量開啟,其他模塊處于功率降低狀態,這時候頻率和信道配置才能被更新。 3狀態字的最后4個字節表示FIFO的可用字節,其最大值是15,此時表示15或者更多字節是可以使用的。 4每當一個字節通過SI引腳寫入到寄存器時,狀態字節將被送到SO引腳 5寄存器的連續字節訪問,就是內部計數器會自動設置起始地址,每增加一個字節,地址會自動加1,無論是讀還是寫,必須通過CSN拉高終止。 6關于命令濾波其實是radio的單字節指令,通過指令對寄存器的選址,內部的功能做出相應的啟動或者關閉,這里和TFT的液晶的寄存器出口指令一樣,只需要寫一個0x22,不像前面的對寄存器先寫地址后寫數據。 7關于FIFO的訪問,首先知道這個是64字節,可以通過單字節訪問或者突發訪問(也就是連續訪問),他們的地址是0x3F,其實這些是這樣操作的。 FIFO分為TX FIFO和RX FIFO兩個單獨的64數據區,當我們給的地址BIT7不同時,也就是讀寫控制位是1還是0,BIT7是0時訪問的是TX FIFO,BIT7是1時RX FIFO被訪問。BIT6是突發訪問控制位,當BIT6為1時,選擇的是突發訪問,BIT6為0是單字節訪問。這樣就可以得到 0x3F:單字節訪問TX FIFO 0xBF:單字節訪問RX FIFO 0x7F:突發訪問TX FIFO 0xFF:突發訪問RX FIFO 8當radio進入休眠狀態時,兩個FIFO都被刷新為空。 9PATABLE的訪問,用來設置發射功率的。地址是0x3E,里面有8個字節的表,接受地址SPI要等待8個字節。讀寫還是通過讀寫位控制,突發訪問還是單字節訪問還是通過突發位控制。這內部有個計數器,當計數到7時會自動下次為0。當設置CSn為高時,內部的計數器會變為0。 10一般所有的濾波命令會立即執行,但是SPWD(休眠濾波命令)不會立即執行,它會延遲到CSn為高時執行。 11接收模式下的數據包濾波,CC1101支持包括地址濾波和最大長度濾波兩種濾波方式。 地址濾波:設置PKTCTRL1.ADR_CHK大于0開啟數據包地址濾波,radio將數據包中的目標地址字節的值同自己ADDR寄存器值和廣播地址(0x00,0xFF)進行比較,如果匹配則數據包被寫到RX FIFO,否則數據包被丟失。 最大長度濾波:在可變數據包長度模式下,PKTLEN.PACKET_LENGTH寄存器的值用來設置最大允許數據包長度,當接收字節值比這個值大,則數據包被丟棄。 注:當設置PKTCTTL1.ADRCHK=10時廣播地址為0x00,當設置PKTCTTL1.ADRCHK=11時,廣播地址為0x00和0xFF。
|