產品詳情
                        
                        
            簡單介紹:
        
        
              無線通訊模塊:MCU_RF_V1.2
  無線通訊模塊=無線串口使用說明書:
?	250信道,250地址
?	不大于28dbm發射功率
?	半雙工透明傳輸  無線應用 簡單有效
?	無線愛好者得福音,提供全部技術支持
?	代替232、485等傳統有線方案
?	徹底解決有線方案施工繁瑣、設備后期維護成本高等難題
?	更大功率模塊或其他要求請來電,我司可定制
        
    
            詳情介紹:
        
        無線通訊模塊MCU_RF_V1.2
無線通訊模塊=無線串口使用說明書
 無線通訊模塊主要技術參數:
Ø      250信道,250地址
Ø      不大于28dbm發射功率
Ø      半雙工透明傳輸 無線應用 簡單有效
Ø      無線愛好者得福音,提供全部技術支持
Ø      代替232、485等傳統有線方案
Ø      徹底解決有線方案施工繁瑣、設備后期維護成本高等難題
Ø      更大功率模塊或其他要求請來電,我司可定制
長沙太陽人電子有限公司/長沙雙能電子科技有限公司
電話:0731-83520730/83520732/85862870/84167806 / 84167808
傳真:0731-84167807/85862870
地址:長沙桐梓坡西路229號麓谷國際工業園A1棟三樓
網址:http://www.sunman.cn/,http://www.sunneng.com.cn/
Ø      MCU_RF_V1.2外形圖
如模塊外觀因設計有所改變,請以實際產品為準。
Ø      尺寸
²       模塊長*寬*厚 30*20*2
²       與MCU_RFB_V1.2模塊引腳完全兼容
Ø      模塊介紹
1、配置我司的簡易天線,離地面高于1.2米的地方,工作頻率433MHz,空中速率20Kbps,(VCC輸入為7.5V),空曠地實測有效通信距離可達800m,1200m仍有信號(如降低空中速率或更換高增益天線,有效通信距離還可增大)。
2、基礎載波頻率為433MHz,可通過串口命令選擇不同信道和地址,適合多節點的特殊場合。
3、串行接口:TTL電平,8N1模式,默認波特率為9600bps。
4、信道:通過配置可提供250個信道,信道選擇和地址選擇配置相同的兩個模塊才能正常通訊。
5、地址:通過配置可提供250個不同地址,信道選擇和地址選擇配置相同的兩個模塊才能正常通訊。
6、透明數據傳輸:提供透明的數據接口,能夠適應任何標準或非標準用戶協議,自動過濾掉空中產生的噪聲信號和假數據,即發及所收。
7、智能數據控制:可無限制連續發送數據,即使空中為半數工數據傳輸,用戶也無需多余的編程操作,只需從串口接收/發送即可,其余空中收/發、網絡連接、數據應答、數據重發等,模塊自動完成。
8、寬電壓、低功耗:模塊3.3V和3.3V~8V雙電源供電,接收電流小于20mA,發射電流請參照電流與VCC電壓對照表。
9、高可靠性、體積小:嵌入式高速單片機和高性能射頻芯片,外圍電路少,可靠性高,故障率低,并有看門狗實時監控,即使射頻芯片**擾(如雷擊等)也可重新啟動,改變目前無線通訊行業的致命問題,使該產品永不死機。
Ø      應用
²       工業遙控、遙測
²       自動化數據采集
²       無線數據傳輸
²       樓宇自動化、安防、機房設備監控、門禁系統
²       汽車檢測設備
²       互動節目表決設備
²       政府路燈節能設備
²       工業控制、銀行系統等
Ø      引腳說明
引腳  | 方向  | 說明  | 
1、GND  | 輸入  | 電源地  | 
2、VCC33  | 輸入  | 3.3V電源輸入(3.3-3.6)  | 
3、CD  | 輸入  | 命令/數據輸入選擇,低電平為命令,高電平為數據  | 
4、NC  | --  | 空,模塊定制預留接口  | 
5、NC  | --  | 空,模塊定制預留接口  | 
6、NC  | --  | 空,模塊定制預留接口  | 
7、NC  | --  | 空,模塊定制預留接口  | 
8、NC  | --  | 空,模塊定制預留接口  | 
9、NC  | --  | 空,模塊定制預留接口  | 
10、NC  | --  | 空,模塊定制預留接口  | 
11、NC  | --  | 空,模塊定制預留接口  | 
12、NC  | --  | 空,模塊定制預留接口  | 
13、NC  | --  | 空,模塊定制預留接口  | 
14、NC  | --  | 空,模塊定制預留接口  | 
15、RXD  | 輸入  | 串行數據輸入  | 
16、TXD  | 輸出  | 串行數據輸出  | 
17、GND  | 輸入  | 電源地  | 
18、VCC  | 輸入  | 3V~8V電源輸入  | 
19、RF  | 輸入/輸出  | 天線接口  | 
Ø      電氣特性
典型參數  | 數值  | 單位  | 
工作電壓VCC33  | 3.3-3.6  | V  | 
工作電壓VCC  | 3-8  | V  | 
各IO口操作電壓  | 3.3-3.6  | V  | 
溫度范圍  | -40-70  | ℃  | 
工作濕度  | 10-90  | %  | 
工作頻率  | 433  | MHz  | 
發射功率  | <=28  | dbm  | 
空中速率  | 20  | Kbps  | 
發射電流  | 90-250  | mA  | 
接收電流  | 20  | mA  | 
*高靈敏度  | -110  | dbm  | 
串口速率  | 9600  | bps  | 
Ø      發射電流與VCC電壓對照表
VCC(V)  | Pout(dbm)  | 發射電流(mA)  | 
3.0  | 21.50  | 90  | 
3.6  | 22.98  | 111  | 
4.5  | 24.61  | 132  | 
5  | 25.34  | 142  | 
6  | 26.52  | 161  | 
7  | 27.33  | 176  | 
7.5  | 28.11  | 185  | 
8  | 28.51  | 204  | 
Ø      使用說明
1、命令流程及命令列表
模塊可以輸入命令以讀取或改變運行參數,輸入命令流程如下:
1)、將C/D腳拉低,進入命令狀態
2)、通過串口連續的發送命令數據包
3)、等待串口返回
4)、將C/D腳拉高,進入正常數據傳輸狀態
一條完整的命令數據包包含8個字節:
字節  | 1  | 2  | 3  | 4  | 5  | 6  | 7  | 8  | 
含義  | 包頭  | 包頭  | 命令字  | 數據  | 數據  | 數據  | 數據  | 和校驗  | 
包頭:MCU向模塊發送命令包時,固定為0x24,模塊返回時固定為0x25;
命令字:不同的命令有著不同的命令字,參照命令列表;
數據:要傳送的命令數據或模塊返回的命令數據,參照命令列表;
和校驗:除和校驗字節外所有字節累加和,取低8位。
注意:
       1)、模塊以數據超時(每個連續的數據之間不超過30ms)方式判斷數據包是否傳送完畢,因此一次數據包的傳送必須是連續不間斷的,MCU也可以數據超時方式接收模塊返回的數據包;
       2)、不同的命令執行時間不同,一次命令數據包發送完畢后,必須等待模塊返回或等待命令執行超時才能啟動下一次的命令傳送,否則可能出現不可預料狀況,所有命令執行等待時間小于100ms;
       3)、在模塊返回之前,CD腳不能拉高,否則可能出現不可預料狀況;
       4)、如遇到不可解析的命令數據包或命令執行失敗,模塊將返回命令解析錯誤數據包;
       5)、模塊出廠默認使用信道0、地址0,建議使用前先讀取模塊當前的信道值和地址值,根據命令不同,可以選擇設置參數是否需要掉電保存;
       6)、模塊在命令狀態(即CD腳拉低),不會接收無線數據。
命令數據包列表:
含義  | 數據包格式  | 備注  | |
設置信道和地址(參數掉電不保存)  | MCU至模塊  | 0x24 0x24 0x01 信道值地址值 0x00 0x00 和校驗  | 信道值、地址值取值范圍       0x00~0xf9  | 
模塊返回  | 0x25 0x25 0x01 信道值地址值 0x00 0x00 和校驗  | ||
讀取信道和地址  | MCU至模塊  | 0x24 0x24 0x02 0x00 0x00 0x00 0x00 和校驗  | |
模塊返回  | 0x25 0x25 0x02 信道值地址值 0x00 0x00 和校驗  | ||
讀取上次數據傳輸無線信號強度  | MCU至模塊  | 0x24 0x24 0x03 0x00 0x00 0x00 0x00 和校驗  | 測試,信號強度根據LQI和 RSSI計算  | 
模塊返回  | 0x25 0x25 0x03 LQI RSSI 0x00 0x00 和校驗  | ||
設置信道和地址(參數掉電后保存)  | MCU至模塊  | 0x24 0x24 0x04 信道值地址值 0x00 0x00 和校驗  | 信道值、地址值取值范圍       0x00~0xf9  | 
模塊返回  | 0x25 0x25 0x04 信道值地址值 0x00 0x00 和校驗  | ||
復位模塊  | MCU至模塊  | 0x24 0x24 0xfe 0x00 0x00 0x00 0x00 和校驗  | 特殊情況下使用  | 
模塊返回  | 0x25 0x25 0xfe 0x00 0x00 0x00 0x00 和校驗  | ||
命令解析錯誤返回  | 模塊返回  | 0x25 0x25 0xff 0x00 0x00 0x00 0x00 和校驗  | |
舉例:
如將信道和地址修改為0x18、0xF3,并且掉電后不保存,操作步驟如下:
       1)、將C/D腳拉低,進入命令狀態
       2)、通過串口發送命令
              0x24 0x24 0x01 0x18 0xF3 0x00 0x00 0x54
       3)、等待串口返回
              0x25 0x25 0x01 0x18 0xF3 0x00 0x00 0x56
       4)、將C/D腳拉高,進入正常數據傳輸狀態
2、上電
模塊上電后需要等待不小于5ms才能操作。
3、典型連接示意圖
如果需要控制模塊加電和斷電以降低功耗,只需控制VCC33的通斷即可。
4、與電腦連接示意圖
Ø      示例代碼
/********************************************************************
;copyright    :SN.LTD
;filename     :main.c
;mcu         :STC12LE5204
;crystal       :12MHZ
;startdate     :2011.6.11
;enddate      :
;writeby      :liubo
;revision     :A
;describe     :模塊通信測試
;notice       :
;complier     :Keil C
;********************************************************************
;                            --------------------------------
;                    GND |1 GND           RF 19 | 
;                  VCC33 |2 VCC33               | 
;                    P1.0 |3  CD                  | 
;                          |4                      | 
;                          |5                      | 
;                          |6                      | 
;                          |7                      | 
;                          |8                      | 
;                          |9                      | 
;                          |10                     | 
;                          |11                     |  
;                          |12                     | 
;                          |13                     | 
;                          |14                     | 
;                   TXD |15 RXD                | 
;                    RXD |16 TXD                | 
;                    GND |17 GND                | 
;                    VCC |18 VCC                | 
;                            --------------------------------
;                                   
;********************************************************************/
#include "STC.h"
#include <intrins.h>
sbit CD = P1^0;
unsigned char RX_Buf[64];
unsigned char RX_Count;
/*----------------------------------------------------
函數名: delay_5us      
返回值: 無
參 數: i,延時計數
功 能: 5us延時
----------------------------------------------------*/
void delay_5us(unsigned int i)
{
       unsigned int j;
       for(;i>0;i--)
       for(j=3;j>0;j--);
}
/*----------------------------------------------------
函數名: UartInit   
返回值: 無
參 數: 無
功 能: 初始化串口,19200,8N1
----------------------------------------------------*/
void UartInit(void)              //19200bps@12MHz
{
       PCON |= 0x80;          //使能波特率倍速位SMOD
       SCON = 0x50;           //8位數據,可變波特率
       AUXR |= 0x40;           //定時器1時鐘為Fosc,即1T
       AUXR &= 0xfe;          //串口1選擇定時器1為波特率發生器
       TMOD &= 0x0f;         //**定時器1模式位
       TMOD |= 0x20;          //設定定時器1為8位自動重裝方式
       TL1 = 0xD9;        //設定定時初值
       TH1 = 0xD9;              //設定定時器重裝值
       ET1 = 0;              //禁止定時器1中斷
       TR1 = 1;              //啟動定時器1
}
/*----------------------------------------------------
函數名: com_interrupt       
返回值: 無
參 數: 無
功 能: 串口中斷處理
----------------------------------------------------*/
void com_interrupt(void) interrupt 4
{
       if(_testbit_(RI))     //如果是串口接收引發的中斷
       {
              RX_Buf[RX_Count] = SBUF;
              RX_Count++;
       }
       else
       {
       }
}
/*----------------------------------------------------
函數名: Send_Char
返回值: 無
參 數: unsigned char
功 能: 通過串口發送一字節數據
----------------------------------------------------*/
void Send_Char(unsigned char buffer)
{
       ES = 0;
       SBUF = buffer;
       while(!TI);     //等待發送完成
       TI = 0;
       ES = 1;
}
/*----------------------------------------------------
函數名: Send_buf
返回值: 通過串口發送的字節個數
參 數: buffer,要發送的數據緩沖,i,要發送的數據個數
功 能: 通過串口發送一字節數據
----------------------------------------------------*/
unsigned char Send_buf(unsigned char *buffer,unsigned short i)
{
       unsigned short j;
       if(i==0)
              return 0;
       for(j=0;j<i;j++)
       {
              Send_Char(*(buffer+j));
       }
       return j;
}
void get_and(unsigned char * buf,unsigned char count)
{
       unsigned char i,j;
       j = 0;
       for(i=0;i<count;i++)
       {
              j += buf[i];
       }
       buf[i] = j;
}
unsigned char check_and(unsigned char *buf,unsigned char count)
{
       unsigned char i,j;
       j = 0;
       for(i=0;i<count;i++)
       {
              j += buf[i];
       }
       if(j==buf[i])
       {
              return 1;
       }
       else
       {
              return 0;
       }
}
void main(void)
{
       unsigned char buf[8],i;
       for(i=0;i<64;i++)
       {
              RX_Buf[i] = 0;
       }
       RX_Count = 0;
       delay_5us(1000); //上電延時5ms
       UartInit();
       CD = 0; //命令輸入狀態
       buf[0] = 0x24;
       buf[1] = 0x24;
       buf[2] = 0x01;
       buf[3] = 0x01;
       buf[4] = 0x01;
       buf[5] = 0;
       buf[6] = 0;
       get_and(buf,7);
       Send_buf(buf,8); //發送命令,設置信道1,地址1
       RX_Count = 0;
       while(!(RX_Count==8));
       if(!check_and(buf,7))
       {
              //錯誤處理
       }
       if((RX_Buf[0]!=0x25||(RX_Buf[1]!=0x25))
       {
              //錯誤處理
       }
       if(RX_Buf[2]!=0x11)
       {
              //錯誤處理
       }
       if(RX_Buf[3]!=0x01)||(RX_Buf[4]!=0x01))
       {
              //錯誤處理
       }
       CD = 1;        //設置命令完成,數據輸入狀態
       Send_buf("this is test!",13); //發送數據
       while(1);
}
Ø      建議及注意事項
1、說明書描述的通信距離均為實測,無線通信距離受天線、遮擋物、數據速率等因素影響很大,如有特殊要求,請聯系本司;
2、無線通信為半雙工,不建議同時向成對模塊發送數據,不建議連續對模塊發送大量數據,建議每次發送數據不超過1024字節;
3、空中存在大量電磁雜波,雖然模塊做了濾波處理,但不能保證將所有雜波濾掉,有可能在串口輸出無用數據,建議按照一定格式編排數據;
4、成對模塊使用*小間距建議不小于50cm,距離太近,容易造成信號阻塞;
5、應用程序和引腳與MCU_RFB_V1.2完全兼容。
        
    