版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、FytooTechnRF905無線收發(fā)模塊開發(fā)指南(V3.0)杭州飛拓電子科技無線應(yīng)用無限!2009-11-08Fytoo Tech一、模塊介紹目前我公司共有3款基于RF905的微功率無線模塊:RF905B(PCB板載天線),模塊尺寸:38*44(最寬處)RF905SE(垂直外置天線,標(biāo)配短柱狀天線,其它天線可選)模塊尺寸 32*19mm (不含天線部分)Fytoo TechRF905RD(新推本,尺寸更小,精度更高,標(biāo)配水平外置天線)模塊尺寸:25mm*19mm(尺寸不含天線及SMA座);下圖為RF905RD的低成本版本(主板及性能完全一致):上述RF905RD的低成本版本,配置高品質(zhì)鍍銀彈
2、簧天線,極具性價比,尤其適合大批量使用的場合。NRF905無線模塊特點:(1) 433Mhz 開放ISM 頻段免證使用Fytoo Tech(2) 最高工作速率50kbps,高效GFSK調(diào)制,合工業(yè)控制場合能力強,特別適(3)(4)(5)(6)125 頻道,滿足多點通信和跳頻通信需要內(nèi)置硬件CRC 檢錯和點對多點通信地址控制低功耗1.9 - 3.6V 工作,待機模式下狀態(tài)僅為2.5uA收發(fā)模式切換時間 650us(7) 模塊可設(shè)地址,只有收到本機地址時才會輸出數(shù)據(jù)(提供中斷指示),可直接接各種單片機使用,編程非常方便(8) TX Mode: 在+10dBm情況下,電流為30mA; RX Mode
3、: 12.2mA(9) 標(biāo)準(zhǔn)DIP間距接口,便于應(yīng)用(10)配有多款分別基于51,AVR,MSP430,ARM7等的多款無線開發(fā)套件,含豐富實例源程序,幫助工程師盡快完成無線應(yīng)用開發(fā)。二、接口電路管腳說明管腳名稱管腳功能說明1VCC電源電源+3.33.6V DC2TX_EN數(shù)字輸入TX_EN= 1 TX 模式 TX_EN= 0 RX 模式3TRX_CE數(shù)字輸入使能發(fā)射或接收4PWR_UP數(shù)字輸入上電5uCLK時鐘輸出本模塊該腳廢棄不用,向后兼容6CD數(shù)字輸出載波檢測7AM數(shù)字輸出地址匹配8DR數(shù)字輸出接收或發(fā)射數(shù)據(jù)完成9MISOSPI 接口SPI 輸出10MOSISPI 接口SPI 輸入11S
4、CKSPI 時鐘SPI 時鐘12CSNSPI 使能SPI 使能13GND地接地14GND地接地Fytoo Tech說明:(1) VCC腳接電壓范圍為 3.3V3.6V之間,不能在這個區(qū)間之外,超過3.6V將會燒毀模塊。電壓3.3V左右除電源VCC和接地端,其余腳都可以直接和普通的5V單片機IO口直接相連,無需電平轉(zhuǎn)換。當(dāng)然對3V左右的單片機更加適用硬件上沒有SPI的單片機,可以用普通單片機IO口模擬SPI,不需要單片機SPI模塊介入,只需添加代碼模擬SPI時序即可13腳、14腳為接地腳,需要和母板的邏輯地連接起來排針間距為100mil,標(biāo)準(zhǔn)DIP插針,如果需要其他封裝接口,比如密腳插針,或者其
5、他形式的接口,可以們定做與51系列單片機P0口連接時候,需要加10K的上拉電阻,與其余口連接不需要其他系列的單片機,如果是5V的,請參考該系列單片機IO口輸出電流大小,如果超過10mA,需要串聯(lián)電阻分壓,否則容易燒毀模塊! 如果是3.3V的,可以直接和RF905模塊的IO口線連接。三、模塊引腳和電氣參數(shù)說明模塊使用公司的 RF905開發(fā)而成。RF905 單片無線收發(fā)器工作在433/868/915MHZ 的ISM 頻段由一個完全集成的頻率調(diào)制器一個帶解調(diào)器的一個功率放大器一個晶體震蕩器和一個調(diào)節(jié)器組成ShockBurst 工作模式的特點是自動產(chǎn)生前導(dǎo)碼電流消耗很低在為12.5mA. 進入和 CR
6、C 可以很容易通過SPI 接口進行編程配置為10dBm 時發(fā)射電流為30mA 接收電流 ERDOWN 模式可以很容易實現(xiàn)節(jié)電.RF905SE模塊性能參考數(shù)據(jù)參數(shù)數(shù)值最低工作電壓3.0V最大10dBm最大數(shù)據(jù)傳輸率編碼50kbps輸出功率為-10 dBm 時工作電流9mA接收模式時工作電流12.5mA溫度范圍-40 to典型靈敏度dBmERDOWN 模式時工作電流2.5uAFytoo TechRF905SE模塊工作電壓與最大發(fā)射增益參考數(shù)據(jù)四、工作方式RF905一共有四種工作模式, 其中有兩種活動RX/TX 模式和兩種節(jié)電模式?;顒幽J絊hockBurst RX ShockBurst TX節(jié)電模
7、式掉電 和 SPI編程STANDBY 和 SPI編程nRF905 工作模式由TRX_CE、TX_EN、PWR_UP 的設(shè)置來設(shè)定。4.1 ShockBurst 模式ShockBurstTM收發(fā)模式下,使用片內(nèi)的先入先出堆棧區(qū),數(shù)據(jù)低速從微控制器送入,但高速發(fā)射,這樣可以盡量節(jié)能,因此,使用低速的微控制器也能得到很高的射頻數(shù)據(jù)發(fā)射速率。與射頻協(xié)議相關(guān)的所有高速信號處理都在片內(nèi)進行,這種做法有三大好處:盡量節(jié)能;低的系統(tǒng)費用(低速微處理器也能進行高速射頻發(fā)射);數(shù)據(jù)在空中停留時間短,性高。ShockBurstTM技術(shù)同時也減小了整個系統(tǒng)的平均工作電流。在ShockBurstTM收發(fā)模式下, RF9
8、05自動處理字頭和CRC校驗碼。在接收數(shù)據(jù)時,自動把字頭和CRC移去。在發(fā)送數(shù)據(jù)時,PWR_UPTRX_CETX_EN工作模式0XX掉電和SPI 編程10XStandby 和SPI 編程110ShockBurst RX111ShockBurst TX工作電壓(模塊 VCC供電電壓)模塊最大發(fā)射增益(dBm)+3.3V+7.3dBm+3.6V+10dBmFytoo Tech自動加上字頭和CRC理器數(shù)據(jù)發(fā)射完畢。,當(dāng)發(fā)送過程完成后,DR引腳通知微處ShockBurst TX 發(fā)送流程典型的RF905發(fā)送流程分以下幾步:當(dāng)微控制器有數(shù)據(jù)要發(fā)送時,通過SPI接口,按時序把接收機的地址和要發(fā)送的數(shù)據(jù)送傳
9、給RF905,SPI接口的速率在通信協(xié)議和器件配置時確定;微控制器置高TRX_CE和TX_EN,激發(fā)RF905的ShockBurstTM發(fā)送模式;RF905的ShockBurstTM發(fā)送:(1)(2)(3)(4)射頻寄存器自動開啟;數(shù)據(jù)打包(加字頭和CRC發(fā)送數(shù)據(jù)包;);當(dāng)數(shù)據(jù)發(fā)送完成,數(shù)據(jù)準(zhǔn)備好引腳被置高;D. AUTO_RETRAN被置高,RF905不斷重發(fā),直到TRX_CE被置低;E. 當(dāng)TRX_CE被置低,RF905發(fā)送過程完成,自動進入空閑模式。 注意:ShockBurstTM工作模式保證,一旦發(fā)送數(shù)據(jù)的過程開始,無論TRX_EN和TX_EN引腳是高或低,發(fā)送過程都會被處理完。只有包
10、。一個數(shù)據(jù)包被發(fā)送完畢,RF905才能接受下一個發(fā)送數(shù)據(jù)4.1.2 ShockBurst RX 接收流程接收流程A. 當(dāng)TRX_CE為高、TX_EN為低時,RF905進入ShockBurstTM接收模式;B.C.D.E.650us后,RF905不斷監(jiān)測,等待接收數(shù)據(jù);當(dāng)RF905檢測到同一頻段的載波時,載波檢測引腳被置高;當(dāng)接收到一個相匹配的地址,AM引腳被置高;當(dāng)一個正確的數(shù)據(jù)包接收完畢, RF905自動移去字頭、地址和CRC校驗位,然后把DR引腳置高F.G.H.I.微控制器把TRX_CE置低,nRF905進入空閑模式;微控制器通過SPI口,以一定的速率把數(shù)據(jù)移到微控制器內(nèi);當(dāng)所有的數(shù)據(jù)接收
11、完畢,nRF905把DR引腳和AM引腳置低; nRF905此時可以進入ShockBurstTM接收模式、ShockBurstTM發(fā)送模式或關(guān)機模式。當(dāng)正在接收一個數(shù)據(jù)包時,TRX_CE或TX_EN引腳的狀態(tài)發(fā)生改Fytoo Tech變,RF905立即把其工作模式改變,數(shù)據(jù)包則丟失。當(dāng)微處理器接到AM引腳的信號之后, 其就知道RF905正在接收數(shù)據(jù)包,其可以決定是讓RF905繼續(xù)接收該數(shù)據(jù)包還是進入另一個工作模式。4.1.3節(jié)能模式RF905的節(jié)能模式包括關(guān)機模式和節(jié)能模式。在關(guān)機模式,RF905的工作電流最小,一般為2.5uA。進入關(guān)機模式后,RF905保持配置字中的內(nèi)容,但不會接收或發(fā)送任何
12、數(shù)據(jù)。 空閑模式有利于減小工作電流,其從空閑模式到發(fā)送模式或接收模式的啟動時間也比較短。在空閑模式下,RF905內(nèi)部的部分晶體振蕩器處于工作狀態(tài)。五、配置RF905模塊所有配置字都是通過SPI接口送給RF905。SIP接口的工作方式可通過SPI指令進行設(shè)置。當(dāng)RF905處于空閑模式或關(guān)機模式時,SPI接口可以保持在工作狀態(tài)。5.1 SPI接口寄存器配置 SPI接口由狀態(tài)寄存器、射頻配置寄存器、發(fā)送地址寄存器、發(fā)送數(shù)據(jù)寄存器和接收數(shù)據(jù)寄存器5個寄存器組成。狀態(tài)寄存器包含數(shù)據(jù)準(zhǔn)備好引腳狀態(tài)信息和地址匹配引腳狀態(tài)信息;射頻配置寄存器包含收發(fā)器配置信息,如頻率和輸出功能等;發(fā)送地址寄存器包含的地址和數(shù)
13、據(jù)的字節(jié)數(shù);發(fā)送數(shù)據(jù)寄存器包含待發(fā)送的數(shù)據(jù)包的信息,如字節(jié)數(shù)等;接收數(shù)據(jù)寄存器包含要接收的數(shù)據(jù)的字節(jié)數(shù)等信息。SPI 接口由5 個內(nèi)部寄存器組成執(zhí)行寄存器的回讀模式來確認(rèn)寄存器的內(nèi)容FytooTechSPI 接口和5 個內(nèi)部寄存器us-Register狀態(tài)寄存器S寄存器包含數(shù)據(jù)就緒DR 和地址匹配AM 狀態(tài)RF配置寄存器RF-Configuration Register寄存器包含收發(fā)器的頻率,輸出功率等配置信息發(fā)送地址TX-Address寄存器包含目標(biāo)器件地址字節(jié)長度由配置寄存器設(shè)置發(fā)送有效數(shù)據(jù)TX-Payload寄存器包含發(fā)送的有效ShockBurst 數(shù)據(jù)包數(shù)據(jù)字節(jié)長度由配置寄存器設(shè)置接收
14、有效數(shù)據(jù)TX-Payload寄存器包含接收到的有效ShockBurst 數(shù)據(jù)包數(shù)據(jù)字節(jié)長度由配置寄存器設(shè)置在寄存器中的有效數(shù)據(jù)由數(shù)據(jù)準(zhǔn)備就緒DR 指示5.2 SPI 指令設(shè)置當(dāng)CSN 為低時, SPI接口開始等待一條指令。任何一條新指令均由CSN 的由高到低的轉(zhuǎn)換開始。用于SPI 接口的有用命令見下表:SPI 串行接口指令設(shè)置SPI 串行接口指令指令名稱指令格式操作W_CONFIG (WC)0000AAAA寫配置寄存器AAAA寫操作的開始字FytooTech5.3 SPI 時序SPI 讀操作節(jié)字節(jié)數(shù)量取決于AAAA的開始地址R_CONFIG (RC)0001AAAA讀配置寄存器AAAA讀操作的
15、開始字節(jié)字節(jié)數(shù)量取決于AAAA的開始地址W_TX_PAYLOA D (WTP)00100000寫TX 有效數(shù)據(jù)1-32 字節(jié)寫操作全部從字節(jié)0 開始R_TX_PAYLOA D (RTP)00100001讀TX 有效數(shù)據(jù)1-32 字節(jié)讀操作全部從字節(jié)0 開始W_TX_ADDRES S (WTA)00100010寫TX 地址1-4 字節(jié)寫操作全部從字節(jié)0開始R_TX_ADDRES S (RTA)00100011讀TX 地址1-4 字節(jié)讀操作全部從字節(jié)0開始R_RX_PAYLOA D (RRP)00100100讀RX 有效數(shù)據(jù)1-32 字節(jié)讀操作全部從字節(jié)0 開始CHANNEL_CON FIG (C
16、C)1000pphc cccccccc快速設(shè)置配置寄存器中CH_NO HFREQ_PLL和PA_PWR 的命令CH_NO=ccccccccc HFREQ_PLL=h PA_PWR=ppFytooTechSPI 寫操作5.4 配置寄存器RF-Configuration-Register 說明參數(shù)位寬說明CH_NO9同HFREQ_PLL 一起設(shè)置中心頻率默認(rèn)值=001101100b=180d FRF= 422.4+ CH_NOd/10 *(1+ HFREQ_PLLd)MHZHFREQ_ PLL1設(shè)置PLL 在433 或868/915MHZ 模式默認(rèn)值=0 0 -器件工作在433MHZ 頻段1 -器
17、件工作在 868/915MHZ 頻段PA_PWR2輸出功率默認(rèn)值=00 00 -10dBm 01 -2dBm 10 +6dBm11 +10dBmRX_RED_ PWR1降低接收模式電流消耗至1.6mA 靈敏度降低默認(rèn)值=0 0 -正常模式1 -低功耗模式AUTO_ RETRAN1重發(fā)數(shù)據(jù)如果TX 寄存器的TRX_CE 和TX_EN 被設(shè)置為高默認(rèn)值=0 0 -不重發(fā)數(shù)據(jù)1 -重發(fā)數(shù)據(jù)包RX_AWF3RX 地址寬度默認(rèn)值=100 001 -1 字節(jié)RX 地址寬度100 -4 字節(jié)RX 地址寬度TX_AWF3TX 地址寬度默認(rèn)值=100 001 -1 字節(jié)TX 地址寬度100 -4 字節(jié)TX 地址
18、寬度RX_PW6RX 接收有效數(shù)據(jù)寬度默認(rèn)值=100000 000001 -1字節(jié)RX 有效數(shù)據(jù)寬度000010 -2 字節(jié)RX 有效數(shù)據(jù)寬度100000 -32 字節(jié)RX 有效數(shù)據(jù)寬度FytooTech5.5 配置寄存器內(nèi)容TX_PAYLOAD(R/W)字節(jié)#內(nèi)容位7 0 MSB=BIT7初始化值0TX_PAYLOAD7:0XRF-Configuration-Register( R/W)字節(jié)#內(nèi)容位7 0 MSB=BIT7初始化值0Bit7 00110_11001Bit7:6沒用AUTO_RETRAN RX_RED_PWR PA_PWR1:0 HFREQ_PLL CH_NO80000_000
19、02Bit7 沒用TX_AFW2:0 Bit3 沒用 RX_AFW2:00100_01003Bit7:6沒用RX_PWR5:00010_00004Bit7:6沒用TX_PWR5:00010_00005RX 地址0 字節(jié)E76RX 地址1 字節(jié)E77RX 地址2 字節(jié)E78RX 地址3 字節(jié)E79CRC_ 模式 CRC 校驗允許X OF2:0 UP_CLK_EN UP_CLK_FREQ1:01110_0111TX_PW6TX 有效數(shù)據(jù)寬度默認(rèn)值=100000 000001 -1 字節(jié) TX 有效數(shù)據(jù)寬度000010 -2 字節(jié)TX 有效數(shù)據(jù)寬度100000 -32 字節(jié)TX 有效數(shù)據(jù)寬度RX_
20、ADDRESS32RX 地址使用字節(jié)依賴于RX_AFW 默認(rèn)值=E7E7E7E7hUP_CLK_ FREQ2輸出時鐘頻率默認(rèn)值=11 00 -4MHZ 01 -2MHZ 10-1MHZ 11 -500KHZUP_CLK_EN1輸出時鐘使能默認(rèn)值=1 0 -沒有外部時鐘1 -外部時鐘信號使能XOF3晶體振蕩器頻率必須依據(jù)外部晶體的標(biāo)稱頻率設(shè)置默認(rèn)值=100 000 -4MHZ 001 -8MHZ 010 -12MHZ011 -16MHZ 100 -20MHZCRC_EN1CRC 校驗允許默認(rèn)值=1 0 -不允許1 -允許CRC_ MODE1CRC 模式默認(rèn)值=1 0 -8 位CRC 校驗位1 -
21、16 位 CRC 校驗位FytooTech注意:射頻寄存器的各位的長度是固定的。然而,在ShockBurstTM收發(fā)過程中,TX_PAYLOAD、RX_PAYLOAD、TX_ADDRESS和RX_ADDRESS4個寄存器使用字節(jié)數(shù)由配置字決定。RF905進入關(guān)機模式或空閑模式時,寄存器中的內(nèi)容保持不變。SUS_REGISTER(R)字節(jié)#內(nèi)容位7 0 MSB=BIT7初始化值0AM bit6 沒用DR bit4:0 沒用E7RX_PAYLOAD(R)字節(jié)#內(nèi)容位7 0 MSB=BIT7初始化值0RX_PAYLOAD7:0X1RX_PAYLOAD15:8XXX30RX_PAYLOAD247:24
22、0X31RX_PAYLOAD255:248XTX_ADDRESS(R/W)字節(jié)#內(nèi)容位7 0 MSB=BIT7初始化值0TX_ADDRESS7:0E71TX_ ADDRESS 15:8E72TX_ ADDRESS 23:16E73TX_ ADDRESS 31:24E71TX_PAYLOAD15:8XXX30TX_PAYLOAD247:240X31TX_PAYLOAD255:248XFytoo Tech六、RF905編程指南使用RF905模塊無需掌握任何專業(yè)無線或高頻方面的理論,讀者只需要具備一定的C語言程序基礎(chǔ)即可。本文檔沒有涉及到的問題,讀者可以參考nRF905。手冊6.1nRF905配置寄
23、存器字節(jié)0:7:0 CH_NO7:0:連同字節(jié)1的CH_NO8和HFREQ_PLL控制905的載波頻段參考設(shè)置:Operating frequency HFREQ_PLLCH_NO430.0433.1433.2434.7MHzMHz MHz MHz0000001001100001101011001101100001111011862.0868.2MHzMHz11001010110001110101Fytoo Tech868.4869.8MHzMHz11001110110001111101902.2902.4927.8MHzMHz MHz11110001111110010000011001111
24、1載波頻率的計算公式:字節(jié)1:0101CH_NO 8 :參見字節(jié)0HFREQ_PLL :器件工作在433MHZ頻段期間工作在868/915MHZ頻段3:2 PA_PWR :輸出功率00011011-10dBm (默認(rèn))-2dBm+6dBm+10dBm4 RX_RED_PWR :降低接收模式電流消耗至1.6mA,靈敏度降低。015正常模式 (默認(rèn))低功耗模式 AUTO_RETRAN:自動重發(fā)TX寄存器中的數(shù)據(jù)包,如果TRX_CE和TX_EN被設(shè)置為高。01不重發(fā)數(shù)據(jù)包 (默認(rèn))自動重發(fā)數(shù)據(jù)包7:6 保留字節(jié)22:0 RX_AWF 2:0 :RX地址寬度001- 1字節(jié)RX地址寬度 (默認(rèn))Fyt
25、oo Tech100- 4字節(jié)RX地址寬度3保留6:4 TX_AWF 2:0 :TX地址寬度0011001字節(jié)TX地址寬度4 字節(jié)TX地址寬度7保留字節(jié)35:0RX_PW 5:0 :RX接收有效數(shù)據(jù)寬度000001000010 1000007:6 保留-1字節(jié)RX有效數(shù)據(jù)寬度2字節(jié)RX有效數(shù)據(jù)寬度-32字節(jié)RX有效數(shù)據(jù)寬度字節(jié)45:0TX_PW 5:0 :TX發(fā)送有效數(shù)據(jù)寬度000001000010 100000-1字節(jié)TX有效數(shù)據(jù)寬度2字節(jié)TX有效數(shù)據(jù)寬度-32字節(jié)TX有效數(shù)據(jù)寬度7:6保留字節(jié)5字節(jié)6字節(jié)7字節(jié)8:RX地址0字節(jié)RX地址1字節(jié) RX地址2字節(jié) RX地址3字節(jié)字節(jié) 91:0U
26、P_CLK_FREQ 1:0:輸出時鐘頻率FytooTech000110112-4MHZ2MHZ1MHZ500KHZUP_CLK_EN :輸出時鐘使能015:3-沒有外部時鐘外部時鐘信號使能 (默認(rèn)) XOF 2:0 :晶體振蕩器頻率,必須依據(jù)外部晶體的標(biāo)稱頻率設(shè)置(無線模塊上905外接晶振的頻率)000001010011100-4MHZ8MHZ12MHZ16MHZ20MHZ (默認(rèn))6CRC_EN :CRC校驗允許017- 部允許- 允許(默認(rèn))CRC_MODE :CRC模式01- 8位CRC校驗位-16位CRC校驗位 (默認(rèn))范例程序中的相關(guān)代碼段:/*nRF905寄存器配置參數(shù)*/ ty
27、pedef struct RFConfiguchar n;uchar buf10;RFConfig;code RFConfig RxTxConf =10,0 x4c, 0 x0c, 0 x44, 0 x20, 0 x20,0 xcc, 0 xcc,0 xcc,0 xcc,0 x58Fytoo Tech;/buf10 中數(shù)據(jù)對應(yīng) 字節(jié)0 字節(jié)9 ,具體內(nèi)容可參考上文寄存器配置章節(jié)/注:對于頻段設(shè)置參數(shù)CH_NO,在提供的范例程序中CH_NO7:0的值為0 x4c。不建議各位用戶使用其他數(shù)值,因為的模塊在硬件上只適應(yīng)430MHz左右的頻率,為了達(dá)到最好的效果,參數(shù)上應(yīng)當(dāng)與硬件匹配,否則會影響通訊距
28、離。6.2 通過SPI接口向nRF905 配置寄存器讀寫配置信息nRF905通過SPI接口與單片機通訊,因此必須首先了解SPI接口。SPI概念 SPI串行接口由四條線:MOSI主機輸出從機輸入MISO主機輸入從機輸出(主機寫操作)(主機讀操作)SCK 串行時鐘信號,由主機控制CSN 片選信號,低電平有效/void SpiWrite(ucharuchar i;byte)DATA_BUF=byte;for (i=0;i8;i+)/ 將需要發(fā)送的數(shù)據(jù)寫入緩存/ 循環(huán)8次發(fā)送一個字節(jié)的數(shù)據(jù)if (flag)MOSI=1;else MOSI=0; SCK=1;/ flag = DATA_BUF7;/ S
29、CKDATA_BUF=DATA_BUF1; /一位,為下一位的發(fā)送做準(zhǔn)備SCK=0;/ SCK 低電平步驟一:MOSI線準(zhǔn)備好需要發(fā)送的數(shù)據(jù)位步驟二:SCK置高,器件MOSI線上的數(shù)據(jù)步驟三:SCK置低,準(zhǔn)備發(fā)送數(shù)據(jù)的下一位以上步驟循環(huán)執(zhí)行8次,通過SPI向器件發(fā)送數(shù)據(jù)完成!注意:數(shù)據(jù)的傳輸時,低位在后。Fytoo Tech/uchar SpiRead(void)uchar i;for (i=0;i8;i+)/循環(huán)8次發(fā)送一個字節(jié)的數(shù)據(jù)DATA_BUF=DATA_BUF1; /一位,準(zhǔn)備接收下一位數(shù)據(jù)SCK=1;if (MISO)flag1=1; else flag1=0; SCK=0;/ S
30、CK/ flag1 = DATA_BUF0;/ SCK低電平return DATA_BUF;/ DATA_BUF 為接收到的完整數(shù)據(jù)步驟一:MISO線準(zhǔn)備好需要發(fā)送的數(shù)據(jù)位步驟二:SCK置高,主機MISO線上的數(shù)據(jù)步驟三:SCK置低,準(zhǔn)備接收數(shù)據(jù)的下一位以上步驟循環(huán)執(zhí)行8次,通過SPI從器件上讀數(shù)據(jù)完成!注意:數(shù)據(jù)的傳輸時,低位在后。/void Config905(void)uchar i;CSN=0;/ CSN片選信號,SPI使能SpiWrite(WC);/ 向905寫配置命令/ 循環(huán)寫入配置信息for (i=0;iRxTxConf.n;i+)SpiWrite(RxTxConf.bufi);
31、置信息/RxTxConf保存預(yù)先設(shè)置好的配CSN=1;/ 結(jié)束SPI數(shù)據(jù)傳輸Fytoo Tech步驟一:CSN置低電平,SPI接口開始等待第一條指令步驟二:調(diào)用SpiWrite函數(shù),向器件發(fā)送WC信號,準(zhǔn)備寫入配置信息(SpiWrite函數(shù)在上文講解)步驟三:反復(fù)調(diào)用SpiWrite函數(shù),向器件配置寄存器寫入配置信息步驟四:CSN置nRF905配置完成!,結(jié)束SPI通訊。代碼中nRF905 SPI接口指令的宏定義/(以下操作全部從對應(yīng)寄存器的字節(jié)0開始)#define WCRegister) #define RC Register)0 x00/ 寫配置寄存器( RF-Configuration
32、0 x10/ 讀配置寄存器( RF-Configuration#define#define #define #defineWTPRTP WTA RTA0 x200 x210 x220 x230 x24/ 向TX-Payload寄存器寫入發(fā)送有效數(shù)據(jù)/從TX-Payload寄存器發(fā)送有效數(shù)據(jù)向TX-Address寄存器寫入發(fā)送地址從TX-Address寄存器發(fā)送地址接收到的有效數(shù)#define RRP據(jù)/ 從RX-Payload寄存器/使用nRF905發(fā)送數(shù)據(jù)void TxPacket(void)uchar i; CSN=0;SpiWrite(WTP);for (i=0;i32;i+)/ Wri
33、te payloaddSpiWrite(TxBufi);/ 寫入32直接發(fā)送數(shù)據(jù)CSN=1;Delay(1); CSN=0;/ 關(guān)閉SPI,保存寫入的數(shù)據(jù)/ SPI使能,準(zhǔn)備寫入地址信息Fytoo TechSpiWrite(WTA);for (i=0;i4;i+)/ 寫數(shù)據(jù)至地址寄存器/ 寫入4字節(jié)地址SpiWrite(RxTxConf.bufi+5);CSN=1;TRX_CE=1;Delay(1);/ 關(guān)閉SPI/ 進入發(fā)送模式,啟動射頻發(fā)送/ 進入ShockBurst發(fā)送模式后,保證數(shù)據(jù)發(fā)送完成后返回STANDBY模式TRX_CE=0;步驟一:通過SpiWrite 函數(shù)發(fā)送WTP命令,準(zhǔn)備寫入TX有效數(shù)據(jù)步驟二:循環(huán)調(diào)用SpiWrite向TX-Payload寄存器寫入TX有效數(shù)據(jù)(中間夾有CSN電平變化)步驟三:延時步驟四:通過SpiWrite函數(shù)發(fā)送WTA命令,準(zhǔn)備寫入TX地址步驟五:循環(huán)調(diào)用SpiWrite向TX-Address寄存器寫入TX地址步驟六:TRX_CE=1; 開始發(fā)送數(shù)據(jù)延時,nRF905數(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 28海的女兒說課稿-2023-2024學(xué)年四年級下冊語文統(tǒng)編版
- 2 我是什么(說課稿)-2024-2025學(xué)年統(tǒng)編版語文二年級上冊
- 2024-2025學(xué)年高中生物 專題2 微生物的培養(yǎng)與應(yīng)用 課題2 土壤中分解尿素的細(xì)菌的分離與計數(shù)說課稿3 新人教版選修1
- 2025國有土地使用權(quán)出讓協(xié)議合同
- 2025有限公司股權(quán)轉(zhuǎn)讓合同
- Module 1 Unit 2 Changes in our lives Listen and say Listen and enjoy (說課稿)-2024-2025學(xué)年滬教牛津版(深圳用)英語六年級下冊
- 2025城市供用氣合同
- 濰坊耐火混凝土施工方案
- 加氣轎車出售合同范例
- 8《安全記心上》(第一課時)說課稿-2024-2025學(xué)年道德與法治三年級上冊統(tǒng)編版
- 如何構(gòu)建高效課堂課件
- 虛擬化與云計算技術(shù)應(yīng)用實踐項目化教程 教案全套 第1-14周 虛擬化與云計算導(dǎo)論-騰訊云服務(wù)
- 徐金桂行政法與行政訴訟法新講義
- 瀝青拌合設(shè)備結(jié)構(gòu)認(rèn)知
- GB/T 13234-2018用能單位節(jié)能量計算方法
- (課件)肝性腦病
- 北師大版五年級上冊數(shù)學(xué)教學(xué)課件第5課時 人民幣兌換
- 工程回訪記錄單
- 住房公積金投訴申請書
- 高考物理二輪專題課件:“配速法”解決擺線問題
- 檢驗科生物安全風(fēng)險評估報告
評論
0/150
提交評論