模塊采用了Silicon Labs的Si4432作為無線收發(fā)芯片,是一塊完整的、體積小巧的、低功耗無線收發(fā)模塊。SI4432由Silicon公司09年推出的Silicon Labs EZRadioPRO系列ISM頻段無線芯片之一,可工作在240-960 MHZ頻段范圍內(nèi),且最大輸出功率可以達(dá)到+20DBm,這一定程度上滿足了射頻信號放大的開發(fā)難的問題。再最大功率設(shè)置條件下,開闊通信距離可達(dá)上千米。模塊集成了所有射頻相關(guān)功能和器件,用戶不需要了解無線電的相關(guān)知識,就可以使用本模塊輕易的開發(fā)出性能穩(wěn)定可靠的無線相關(guān)產(chǎn)品。 SI4432本身通信距離在20dBm條件下,不超過1000米,在某些特殊應(yīng)用中,需要更遠(yuǎn)距離,RFCSI4432A模塊就是在原有SI4432模塊外圍電路的基礎(chǔ)上設(shè)計(jì)入功率放大電路,以提高發(fā)射功率(發(fā)射功率高達(dá)33dBm(約2W),從而直接提升模塊的通信距離(3000米以上),滿足各種應(yīng)用問題,讓無線應(yīng)用,距離不再是問題。 基本特點(diǎn)頻率范圍: 240—960MHZ
接收靈敏度:-115 dBm(波特率9.6Kbps) 通訊波特率:1—128kbps 最大發(fā)射功率:33dBm 在關(guān)斷模式下電流為:10nA 在休眠模式下電流為: 300nA
FSK頻偏可編程(15~240KHz) 接收帶寬可編程(67~400KHz) 具有自動斜率控制功率放大器和頻譜整形 33dBm,發(fā)射能量強(qiáng)勁,空曠通訊距離3000米以上 SPI兼容的控制接口,低功耗任務(wù)周期模式,自帶喚醒定時(shí)器 片內(nèi)集成電池低電量檢測、溫度傳感器、電壓調(diào)節(jié)器 典型主要應(yīng)用車輛監(jiān)控、遙控、遙測、水文氣象監(jiān)控 無線標(biāo)簽、身份識別、非接觸RF智能卡 小型無線網(wǎng)絡(luò)、無線抄表、門禁系統(tǒng)、小區(qū)傳呼 工業(yè)數(shù)據(jù)采集系統(tǒng)、無線232數(shù)據(jù)通信、無線485/422數(shù)據(jù)通信 小型無線數(shù)據(jù)終端、安全防火系統(tǒng)、遙控系統(tǒng)、生物信號采集 備注
VCC5引腳接電壓范圍為 4V到5V之間,推薦電壓4.5V,不能在這個(gè)電壓區(qū)間之 外。如果用普通干電池,推薦供電電壓5.5V; 如果是鋰電池供電,則供電電 壓4.5V即可。注意:鎳氫電池和干電池的特性不同,如果用鎳氫電池的大于5V供電,會永久燒壞無線模塊!而主要原因在于普通干電池內(nèi)阻大,在模塊工作在發(fā)射狀態(tài)發(fā)射電磁波瞬間有150mA電流存在(實(shí)際由于我們內(nèi)部電路放置有鉭電容起到蓄水池的效果,所以瞬間電流變小),而干電池內(nèi)阻分壓高達(dá)到1V到2V不等,所以為保持正常工作,干電池需要供電電壓5.5V,所以不推薦用干電池供電。推薦鋰電池供電。一般說來,功率越大,對電源要求越高,如果是200W的大功率發(fā)射機(jī),則對電源的要求更加嚴(yán)格,甚至對電源開關(guān)順序都有嚴(yán)格要求,如果本身功率小,電流也比較小(<100mA)這個(gè)問題就表現(xiàn)得不明顯。注意在布電源線的時(shí)候,要注意加鉭電容,一般要>100uA,最好加470uF鉭電容,以濾波和當(dāng)存儲電荷使用,尤其在使用了升壓電路后,有些升壓電路輸出電流小于400mA,這個(gè)時(shí)候可以當(dāng)著電量池使用,但也需要防止發(fā)射頻率過高,池的電量入不敷出,可以通過適當(dāng)延時(shí)(20ms)來避免。就可避免發(fā)生電量池透支現(xiàn)象。
2.VCC3.3 引腳的電壓范圍為1.9-3.6V 之間,不能在這個(gè)區(qū)間之外,如超過 3.6V 將會燒毀模塊。推薦電壓 3.3V 左右;
3.硬件沒有集成SPI功能的單片機(jī)也可以控制本模塊,用普通單片IO口模擬 SPI 時(shí)序進(jìn)行讀寫操作即可;
4.模塊接口采用標(biāo)準(zhǔn)2.54mmDIP插針,所有GND需要和系統(tǒng)電路的邏輯地連接起來;
5.與 51 系列單片機(jī) P0 口連接時(shí)候,需要加 10K 的上拉電阻,與其余口連接不需要。其他系列的5V單片機(jī),如AVR、PIC,請參考該系列單片機(jī) IO 口輸出電流大小,如果超過 10mA,需要串聯(lián)2-5K電阻分壓,否則容易燒毀模塊! 如果是 3.3V 的MCU,可以直接和IO口連接。
模塊電氣參數(shù) SI4432射頻芯片初始化函數(shù) void RF4432_Init(void) { RF4432_SDN=0; //允許RF4432工作 delay_ms(20); RF4432_WriteReg(OPERATING_FUNCTION_CONTROL_1, 0x80); //軟件復(fù)位,詳細(xì)請見P101頁 delay_ms(10); RF4432_ReadReg(INTERRUPT_STATUS_1); RF4432_ReadReg(INTERRUPT_STATUS_2); RF4432_WriteReg(INTERRUPT_ENABLE_1, 0x00); RF4432_WriteReg(INTERRUPT_ENABLE_2, 0x00); RF4432_WriteReg(IF_FILTER_BANDWIDTH, 0x8b); RF4432_WriteReg( CLOCK_RECOVERY_OVERSAMPLING_RATIO, 0x2c); RF4432_WriteReg( CLOCK_RECOVERY_OFFSET_2, 0x20); RF4432_WriteReg( CLOCK_RECOVERY_OFFSET_1, 0x6d); RF4432_WriteReg( CLOCK_RECOVERY_OFFSET_0, 0x3a); RF4432_WriteReg( CLOCK_RECOVERY_TIMING_LOOP_GAIN_1, 0x00); RF4432_WriteReg( CLOCK_RECOVERY_TIMING_LOOP_GAIN_0, 0x18); RF4432_WriteReg(RSSI_THRESHOLD_FOR_CLEAR_CHANNEL_INDICATOR, 0xf0); RF4432_WriteReg( DATA_ACCESS_CONTROL, 0x88); RF4432_WriteReg( HEADER_CONTROL_1, 0x8c); RF4432_WriteReg( HEADER_CONTROL_2, 0x0a); RF4432_WriteReg( PREAMBLE_LENGTH, 0x08); RF4432_WriteReg( TRANSMIT_PACKET_LENGTH, RF4432_TxRxBuf_Len ); //發(fā)送數(shù)據(jù)包長度設(shè)置 RF4432_WriteReg( RECEIVED_PACKET_LENGTH, RF4432_TxRxBuf_Len ); //接收數(shù)據(jù)包長度設(shè)置 RF4432_WriteReg( HEADER_ENABLE_3, 0x00); RF4432_WriteReg (HEADER_ENABLE_2, 0x00); RF4432_WriteReg( HEADER_ENABLE_1, 0x00); RF4432_WriteReg( HEADER_ENABLE_0 ,0x00); RF4432_WriteReg(AGC_OVERRIDE_2, 0x0b); RF4432_WriteReg(TX_POWER,0x03); RF4432_WriteReg(TX_DATA_RATE_1, 0x0A); //通信速率40kbps RF4432_WriteReg(TX_DATA_RATE_0, 0x3D); RF4432_WriteReg(MODULATION_MODE_CONTROL_1, 0x02); RF4432_WriteReg(MODULATION_MODE_CONTROL_2, 0x26); //設(shè)置為FIFO模式 FSK reg71H RF4432_WriteReg(FREQUENCY_DEVIATION, 0x40); // RF4432_WriteReg(FREQUENCY_BAND_SELECT, 0x53); //設(shè)置頻率 reg75H RF4432_WriteReg(NOMINAL_CARRIER_FREQUENCY_1, 0x4b); //通信頻率433MHZ reg76H RF4432_WriteReg(NOMINAL_CARRIER_FREQUENCY_0, 0x00);//reg77H RF4432_WriteReg(TX_FIFO_CONTROL_1,0x3F); RF4432_WriteReg(TX_FIFO_CONTROL_2,0x00); RF4432_WriteReg(RX_FIFO_CONTROL,0x3F); RF4432_WriteReg(OPERATING_FUNCTION_CONTROL_2,RF4432_ReadReg(OPERATING_FUNCTION_CONTROL_2)|0x01); RF4432_WriteReg(OPERATING_FUNCTION_CONTROL_2,RF4432_ReadReg(OPERATING_FUNCTION_CONTROL_2)&0xFE); RF4432_WriteReg(OPERATING_FUNCTION_CONTROL_2,RF4432_ReadReg(OPERATING_FUNCTION_CONTROL_2)|0x02); RF4432_WriteReg(OPERATING_FUNCTION_CONTROL_2,RF4432_ReadReg(OPERATING_FUNCTION_CONTROL_2)&0xFD); } SI4432設(shè)置接收模式函數(shù) void RF4432_SetRxMode(void) { RF4432_PAC=0; RF4432_WriteReg(OPERATING_FUNCTION_CONTROL_2,RF4432_ReadReg(OPERATING_FUNCTION_CONTROL_2)|0x02); RF4432_WriteReg(OPERATING_FUNCTION_CONTROL_2,RF4432_ReadReg(OPERATING_FUNCTION_CONTROL_2)&0xFD); RF4432_ReadReg(INTERRUPT_STATUS_1); RF4432_ReadReg(INTERRUPT_STATUS_2); RF4432_WriteReg(INTERRUPT_ENABLE_1, 0x02); RF4432_WriteReg(OPERATING_FUNCTION_CONTROL_1,0x05);//接收 } SI4432數(shù)據(jù)包接收函數(shù) unsigned char RF4432_RxPacket(void) { RF4432_IRQ=1; if(!RF4432_IRQ) { if(RF4432_ReadReg(INTERRUPT_STATUS_1)&0x02) { return 1; } } return 0; } SI4432數(shù)據(jù)包發(fā)送函數(shù) void RF4432_TxPacket(void) { RF4432_PAC=1; RF4432_WriteReg(OPERATING_FUNCTION_CONTROL_2,RF4432_ReadReg(OPERATING_FUNCTION_CONTROL_2)|0x01); RF4432_WriteReg(OPERATING_FUNCTION_CONTROL_2,RF4432_ReadReg(OPERATING_FUNCTION_CONTROL_2)&0xFE); RF4432_WriteBurestReg(FIFO_ACCESS,RF4432_TxRxBuf,RF4432_TxRxBuf_Len); RF4432_ReadReg(INTERRUPT_STATUS_1); RF4432_ReadReg(INTERRUPT_STATUS_2); RF4432_WriteReg(INTERRUPT_ENABLE_1, 0x04); RF4432_WriteReg(OPERATING_FUNCTION_CONTROL_1,0x09);//發(fā)射 while(1) { RF4432_IRQ=1; if(!RF4432_IRQ) { if(RF4432_ReadReg(INTERRUPT_STATUS_1)&0x04) //詳細(xì)請看P95頁 { break; } } } } 無線應(yīng)用注意事項(xiàng)(1) 無線模塊的VCC電壓范圍為 1.8V-3.6V之間,不能在這個(gè)區(qū)間之外,超過3.6V將會燒毀模塊。推薦電壓3.3V左右。 (2) 除電源VCC和接地端,其余腳都可以直接和普通的51單片機(jī)IO口直接相連,無需電平轉(zhuǎn)換。當(dāng)然對3V左右的單片機(jī)更加適用了。 (3) 硬件上面沒有SPI的單片機(jī)也可以控制本模塊,用普通單片機(jī)IO口模擬SPI不需要單片機(jī)真正的串口介入,只需要普通的單片機(jī)IO口就可以了,當(dāng)然用串口也可以了。模塊按照接口提示和母板的邏輯地連接起來 (4) 標(biāo)準(zhǔn)DIP插針,如需要其他封裝接口,或其他形式的接口,可聯(lián)系我們定做。 (5) 任何單片機(jī)都可實(shí)現(xiàn)對無線模塊的數(shù)據(jù)收發(fā)控制,并可根據(jù)我們提供的程序,然后結(jié)合自己擅長的單片機(jī)型號進(jìn)行移植; (6) 頻道的間隔的說明:實(shí)際要想2個(gè)模塊同時(shí)發(fā)射不相互干擾,兩者頻道間隔應(yīng)該至少相差1MHZ,這在組網(wǎng)時(shí)必須注意,否則同頻比干擾。 (7) 實(shí)際用戶可能會應(yīng)用其他自己熟悉的單片機(jī)做為主控芯片,所以,建議大家在移植時(shí)注意以下4點(diǎn): A:確保IO是輸入輸出方式,且必須設(shè)置成數(shù)字IO; B:注意與使用的IO相關(guān)的寄存器設(shè)置,尤其是帶外部中斷、帶AD功能的IO,相關(guān)寄存器一定要設(shè)置好; C:調(diào)試時(shí)先寫配置字,然后控制數(shù)據(jù)收發(fā) D:注意工作模式切換時(shí)間
|