s
 
设为首页  |  收藏本站
Now everyone can do wireless. Responsibility promise future.
   
首  页 关于我们 产品展示 技术支持 联系我们 English
   
产品系列
 
无线模块
无线传感器
蓝牙2.0
蓝牙音频模块
蓝牙4.0模块
定做项目展示
RFID有源电子标签
无线灯光传输模块DMX512RF
无线音频模块
无线防丢器
无线SKYPE
天气预报方案
WI-FI探测器
无线视频模块
无线芯片
无钥匙进入
无线查找器
开发工具
无线附件
无线遥控器
无线鼠标键盘
遥控马达
文档和应用程序
样品入口
 
 
 
 
当前位置: 无线世界 » 技术支持
 
技术支持
 
» SI4432,SI4431,SI4430 源程序,源代码,参考代码,收发程序

/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  +
  + FUNCTION NAME: U8 SpiReadRegister(U8 reg)
  +
  + DESCRIPTION:   This function reads the registers
  +      
  + INPUT:    U8 reg - register address  
  +
  + RETURN:        SPI1DAT - the register content
  +
  + NOTES:         none
   SI4432, SI4431, SI4430 Source code 
   SI4432,SI4431,SI4430源程序,源代码,参考代码,收发程序  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
u8  SpiRfReadRegister (u8 reg)
{
 u8 tData;
 OpenSpi(); 
 WriteByte(reg);
 tData= ReadByte();
 CloseSpi();
   return tData;
}

/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  +
  + FUNCTION NAME: void SpiWriteRegister(U8 reg, U8 value)
  +
  + DESCRIPTION:   This function writes the registers
  +      
  + INPUT:    U8 reg - register address  
  +      U8 value - value write to register 
  +
  + RETURN:        None
  +
  + NOTES:         Write uses a Double buffered transfer
     SI4432, SI4431, SI4430 Source code 
   SI4432,SI4431,SI4430源程序,源代码,参考代码,收发程序  +
  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
void SpiRfWriteRegister (u8 reg, u8 value)
{                          
 OpenSpi(); 
  WriteByte(reg|0x80);                      
 WriteByte(value);                                                    
 CloseSpi();
}
//******************************************************************************************
//º¯ÊýÃû:void SpiRfWriteBurst(UINT8 add, UINT8* reg, UINT8 counter)
//¹¦ÄÜ:sipд×Ö·û´®
//²ÎÊý: ÎÞ
  // SI4432, SI4431, SI4430 Source code 
  // SI4432,SI4431,SI4430源程序,源代码,参考代码,收发程序 

//*******************************************************************************************
#define REG_READ (0x00)
#define REG_WRITE (0x80)
void SpiRfWriteBurst(u8 add, u8 *reg, u8 counter)
{
 u8 i;
 OpenSpi(); 
 WriteByte(REG_WRITE|add);
 for(i =0; i<counter;i++)
 {
  WriteByte(reg[i]);
 }
 CloseSpi();
}
//*****************************************************************************************
//º¯ÊýÃû:void SpiRfReadBurest(UINT8 add, UINT8* p, UINT8 counter )
//¹¦ÄÜ:sip¶ÁÈ¡×Ö·û´®
//²ÎÊý: ÎÞ
// + SI4432, SI4431, SI4430 Source code
 // SI4432,SI4431,SI4430源程序,源代码,参考代码,收发程序 //******************************************************************************************
void SpiRfReadBurest(u8 add, u8 *p, u8 counter )
{
 u8 i;
 OpenSpi(); 
 WriteByte(add);
 for(i =0; i<counter;i++)
 {
  p[i] =  ReadByte();
 }
 CloseSpi();
}

//*************************************************************
//º¯ÊýÃû:void RfChipInit(void)
//¹¦ÄÜ:оƬ³õʼ»¯
//²ÎÊý: ÎÞ
// + SI4432, SI4431, SI4430 Source code // SI4432,SI4431,SI4430源程序,源代码,参考代码,收发程序 
//*************************************************************

void RfChipInit(void)
{                 
  SDN = 0;         
  Wait_Time(200);
  ItStatus1 = SpiRfReadRegister(0x03);  //read the Interrupt Status1 register
  ItStatus2 = SpiRfReadRegister(0x04);  //read the Interrupt Status2 register
  SpiRfWriteRegister(0x07, 0x80);   //write 0x80 to the Operating & Function Control1 register
  while ( RF_NIRQ_PIN == 1);
  ItStatus1 = SpiRfReadRegister(0x03);   //read the Interrupt Status1 register
  ItStatus2 = SpiRfReadRegister(0x04);   //read the Interrupt Status2 register 
  while ( RF_NIRQ_PIN == 1); 
  ItStatus1 = SpiRfReadRegister(0x03);  
  ItStatus2 = SpiRfReadRegister(0x04); 

/*ÉèÖÃRF ²ÎÊý:ÖжÏƵÂÊ£¨center frequency£©¡¢·¢ÉäÊý¾ÝËÙÂÊ£¨transmit data rate£©ºÍ·¢ÉäÆ«²î£¨transmit deviation£©*/
/*set the center frequency to 433 MHz*/
    SpiRfWriteRegister(0x75, 0x53);
    SpiRfWriteRegister(0x76, 0x4b);
    SpiRfWriteRegister(0x77, 0x00);
/*set the center frequency to 868 MHz*/
    //SpiRfWriteRegister(0x75, 0x73);
    //SpiRfWriteRegister(0x76, 0x64);
    //SpiRfWriteRegister(0x77, 0x00);
/*set the desired TX data rate 4.8K*/
  SpiRfWriteRegister(0x6E, 0x27);
  SpiRfWriteRegister(0x6F, 0x52);
  SpiRfWriteRegister(0x70, 0x24);

/*set the desired TX deviation */
  SpiRfWriteRegister(0x72, 0x18);

/*½ÓÊÕµÄGFSK µ÷ÖÆÊý¾ÝÅäÖõ÷Öƽâµ÷Æ÷²ÎÊý*/
  SpiRfWriteRegister(0x1C, 0x1D);
  SpiRfWriteRegister(0x20, 0xA1);
  SpiRfWriteRegister(0x21, 0x20);
  SpiRfWriteRegister(0x22, 0x4E);
  SpiRfWriteRegister(0x23, 0xA5);
  SpiRfWriteRegister(0x24, 0x00);
  SpiRfWriteRegister(0x25, 0x1B);
  SpiRfWriteRegister(0x1D,0x40);
/*set the TX power to MAX*/
  SpiRfWriteRegister(0x6D, 0x0f);  //20DBM

/*ÅäÖýÓÊÕÊý¾Ý°ü´¦ÀíÆ÷£¨packet handler£©*/
  SpiRfWriteRegister(0x35, 0x28); //write 0x28 to the Preamble Detection Control register
  SpiRfWriteRegister(0x34, 0x0A); //write 0x0A to the Preamble Length register

/*½ûÖ¹èåÍ·×Ö½Ú£¨±¾Ê¾ÀýÖÐδÓã©£¬ÉèÖÃͬ²½×Ö³¤¶ÈΪÁ½¸ö×Ö½Ú*/
  SpiRfWriteRegister(0x33, 0x02); //write 0x02 to the Header Control2 register
/*Disable the receive header filters*/
  SpiRfWriteRegister(0x32, 0x00 ); //write 0x00 to the Header Control1 register

/*ÉèÖÃͬ²½×ÖÑùʽ£¨pattern£©Îª0x2DD4*/
/*Set the sync word pattern to 0x2DD4 */
  SpiRfWriteRegister(0x36, 0x2D); //write 0x2D to the Sync Word 3 register
  SpiRfWriteRegister(0x37, 0xD4); //write 0xD4 to the Sync Word 2 register

/*Enable the receive packet handler and CRC-16 (IBM) check*/
  SpiRfWriteRegister(0x30, 0x8D); //write 0x8D to the Data Access Control register

/*enable FIFO mode and GFSK modulation*/
  SpiRfWriteRegister(0x71, 0x63);//write 0x63 to the Modulation Mode Control 2 register

/*set the GPIO's according the testcard type*/
  SpiRfWriteRegister(0x0C, 0x12); //write 0x12 to the GPIO1 Configuration(set the TX state)
  SpiRfWriteRegister(0x0D, 0x15); //write 0x15 to the GPIO2 Configuration(set the RX state)

/*ÉèÖÃAGC ºÍADC ²ÎÊý*/
  SpiRfWriteRegister(0x6A, 0x0B); //write 0x0B to the AGC Override 2 register
  SpiRfWriteRegister(0x68, 0x04);
  SpiRfWriteRegister(0x1F, 0x03);

/*set Crystal Oscillator Load Capacitance register*/
  SpiRfWriteRegister(0x09, 0x68); //write 0x68 to the CrystalOscillatorLoadCapacitance register
}

//*************************************************************
//º¯ÊýÃû:void RFTransmitMessage(u8 *DataMessage,u8 Length)
//¹¦ÄÜ: ·¢ËÍÒ»¸öÊý¾Ý½á¹¹
//²ÎÊý: MESSAGE ½á¹¹Ìå
// + SI4432, SI4431, SI4430 Source code
 // SI4432,SI4431,SI4430源程序,源代码,参考代码,收发程序 //*************************************************************
void RFTransmitMessage(u8 *DataMessage,u8 Length)
{
//SET THE CONTENT OF THE PACKET 
  SpiRfWriteRegister(0x3E, Length); //write 8 to the Transmit Packet Length register  

//fill the payload into the transmit FIFO
  SpiRfWriteBurst(0x7F, DataMessage, Length);

//Disable all other interrupts and enable the packet sent interrupt only.
//This will be used for indicating the successfull packet transmission for the MCU
  SpiRfWriteRegister(0x05, 0x04);  //write 0x04 to the Interrupt Enable 1 register 
  SpiRfWriteRegister(0x06, 0x00);  //write 0x00 to the Interrupt Enable 2 register 

//Read interrupt status regsiters. It clear all pending interrupts and the nIRQ pin goes back to high.
  ItStatus1 = SpiRfReadRegister(0x03); //read the Interrupt Status1 register
  ItStatus2 = SpiRfReadRegister(0x04); //read the Interrupt Status2 register

//enable transmitter
//The radio forms the packet and send it automatically.
  SpiRfWriteRegister(0x07, 0x09);//write 0x09 to the Operating Function Control 1 register

//enable the packet sent interupt only
  SpiRfWriteRegister(0x05, 0x04);   //write 0x04 to the Interrupt Enable 1 register  

//wait for the packet sent interrupt
//The MCU just needs to wait for the 'ipksent' interrupt.
  while(RF_NIRQ_PIN == 1);
 
//read interrupt status registers to release the interrupt flags
  ItStatus1 = SpiRfReadRegister(0x03); //read the Interrupt Status1 register
  ItStatus2 = SpiRfReadRegister(0x04); //read the Interrupt Status2 register
 
//wait a bit for showing the LED a bit longer
  P_1_LED = ~P_1_LED;
  Wait_Time(200);
}
//*************************************************************
//º¯ÊýÃû:void RFReceiveReady(void)
//¹¦ÄÜ: ½øÈë½ÓÊÕÊý¾Ý״̬
//²ÎÊý: ÎÞ
// + SI4432, SI4431, SI4430 Source code
 // SI4432,SI4431,SI4430源程序,源代码,参考代码,收发程序 //  + SI4432,SI4432,SI4430 ²Î¿¼´úÂë,Ô´´úÂë,Ô´³ÌÐò,ÊÕ·¢³ÌÐò
//*************************************************************
void RFReceiveReady(void)
{
//enable receiver chain
  SpiRfWriteRegister(0x07, 0x05);//write 0x05 to the Operating Function Control 1 register

//Enable two interrupts:
// a) one which shows that a valid packet received: 'ipkval'
// b) second shows if the packet received with incorrect CRC: 'icrcerror'
  SpiRfWriteRegister(0x05, 0x03); //write 0x03 to the Interrupt Enable 1 register
  SpiRfWriteRegister(0x06, 0x00); //write 0x00 to the Interrupt Enable 2 register
 
//read interrupt status registers to release all pending interrupts
  ItStatus1 = SpiRfReadRegister(0x03);//read the Interrupt Status1 register
  ItStatus2 = SpiRfReadRegister(0x04);//read the Interrupt Status2 register
}
//*************************************************************
//º¯ÊýÃû:void RFGetBuffer(u8 * buff)
//¹¦ÄÜ: ¶ÔÈ¡buff Êý¾Ý
//²ÎÊý: ×Ö·û´®Ö¸Õë
// + SI4432, SI4431, SI4430 Source code
//  + SI4432,SI4432,SI4430 ²Î¿¼´úÂë,Ô´´úÂë,Ô´³ÌÐò,ÊÕ·¢³ÌÐò
 // SI4432,SI4431,SI4430源程序,源代码,参考代码,收发程序 //*************************************************************
void RFGetBuffer(u8 *buff)
{
  u8 k;
//wait for the packet sent interrupt
//The MCU just needs to wait for the 'ipksent' interrupt.
  while(RF_NIRQ_PIN == 1);
 
  //wait for the interrupt event
  if( RF_NIRQ_PIN == 0 )
  {
    //read interrupt status registers
    ItStatus1 = SpiRfReadRegister(0x03);//read the Interrupt Status1 register
    ItStatus2 = SpiRfReadRegister(0x04);//read the Interrupt Status2 register
   
    //packet received interrupt occurred
    if( (ItStatus1 & 0x02) == 0x02 )
    {
      //disable the receiver chain
      SpiRfWriteRegister(0x07, 0x01);//write 0x01 to the Operating Function Control 1 register

      //Read the length of the received payload
      k= SpiRfReadRegister(0x4B) ; //¶ÁÈ¡Êý¾Ý³¤¶È

      //Get the received payload from the RX FIFO
      SpiRfReadBurest(0x7F, buff, k); //¶ÁÈ¡fifo Êý¾Ý


  if(buff[0]==0x55)     //È·¶¨ÊDz»ÊǶԷ½·¢³öÀ´µÄ
         { P_2_LED = ~P_2_LED; }
    }
  }
}

 


/* Private functions ---------------------------------------------------------*/
// + SI4432, SI4431, SI4430 Source code
//  + SI4432,SI4432,SI4430 ²Î¿¼´úÂë,Ô´´úÂë,Ô´³ÌÐò,ÊÕ·¢³ÌÐò

#define C_SWITCH_PA_DELAY 2
#define C_PA_ACTIVE
void main(void)
{

   #ifdef C_PA_ACTIVE
    RF_TXON=C_RF_TX_DIS;
   RF_RXON=C_RF_RX_DIS;
    #endif
        
   /*Time Initial*/
   Timer0Ini(); 
 /*RF Initial*/
   RfChipInit();
  
   while (1)
   { 
  #ifdef C_SEND_PROGARM

  #ifdef C_PA_ACTIVE
    RF_TXON=C_RF_TX_EN;
   RF_RXON=C_RF_RX_DIS;
    Wait_Time(C_SWITCH_PA_DELAY);
    #endif
  
  RFTransmitMessage(TxBuffer,10);
  #ifdef C_PA_ACTIVE
    RF_TXON=C_RF_TX_DIS;
   RF_RXON=C_RF_RX_DIS;
    #endif
  Wait_Time(500);  //500ms 
  #else
  #ifdef C_PA_ACTIVE
    RF_TXON=C_RF_TX_DIS;
   RF_RXON=C_RF_RX_EN;
    #endif
            RFReceiveReady();    //RF Receive Stauts
          RFGetBuffer(RxBuffer);   //Get data frm Buffer
  #endif
 }
}

 
» NRF24L01+ 的源代码,参考代码,源程序,收发程序

/**************************************************
Function: SPI_RW();
Description:
  Writes one byte to nRF24L01, and return the byte read
  from nRF24L01 during write, according to SPI protocol
NRF24L01 Source code,NRF24L01+ Source Code
NRF24L01 源代码,参考代码,源程序,收发程序,NRF24L01+ 源代码,参考代码,源程序,收发程序
/**************************************************/
uchar SPI_RW(uchar byte)
{
 uchar bit_ctr;
    for(bit_ctr=0;bit_ctr<8;bit_ctr++)   // output 8-bit
    {
     MOSI = (byte & 0x80);         // output 'byte', MSB to MOSI
     byte = (byte << 1);           // shift next bit into MSB..
     SCK = 1;                      // Set SCK high..
     byte |= MISO;           // capture current MISO bit
     SCK = 0;                // ..then set SCK low again
    }
    return(byte);               // return read byte
}
/**************************************************/

/**************************************************
Function: SPI_RW_Reg();

Description:
  Writes value 'value' to register 'reg'
/**************************************************/
uchar SPI_RW_Reg(BYTE reg, BYTE value)
{
 uchar status;

   CSN = 0;                   // CSN low, init SPI transaction
   status = SPI_RW(reg);      // select register
   SPI_RW(value);             // ..and write value to it..
   CSN = 1;                   // CSN high again

   return(status);            // return nRF24L01 status byte
}
/**************************************************/

/**************************************************
Function: SPI_Read();
Description:
  Read one byte from nRF24L01 register, 'reg'
NRF24L01 Source code,NRF24L01+ Source Code
NRF24L01 源代码,参考代码,源程序,收发程序,NRF24L01+ 源代码,参考代码,源程序,收发程序
/**************************************************/
BYTE SPI_Read(BYTE reg)
{
 BYTE reg_val;

   CSN = 0;                // CSN low, initialize SPI communication...
   SPI_RW(reg);            // Select register to read from..
   reg_val = SPI_RW(0);    // ..then read registervalue
   CSN = 1;                // CSN high, terminate SPI communication

   return(reg_val);        // return register value
}
/**************************************************/

/**************************************************
Function: SPI_Read_Buf();
Description:
  Reads 'bytes' #of bytes from register 'reg'
  Typically used to read RX payload, Rx/Tx address
NRF24L01 Source code,NRF24L01+ Source Code
NRF24L01 源代码,参考代码,源程序,收发程序,NRF24L01+ 源代码,参考代码,源程序,收发程序
/**************************************************/
uchar SPI_Read_Buf(BYTE reg, BYTE *pBuf, BYTE bytes)
{
 uchar status,byte_ctr;

   CSN = 0;                      // Set CSN low, init SPI tranaction
   status = SPI_RW(reg);         // Select register to write to and read status byte

   for(byte_ctr=0;byte_ctr<bytes;byte_ctr++)
     pBuf[byte_ctr] = SPI_RW(0);    // Perform SPI_RW to read byte from nRF24L01

   CSN = 1;                           // Set CSN high again

   return(status);                    // return nRF24L01 status byte
}
/**************************************************/

/**************************************************
Function: SPI_Write_Buf();
Description:
  Writes contents of buffer '*pBuf' to nRF24L01
  Typically used to write TX payload, Rx/Tx address
NRF24L01 Source code,NRF24L01+ Source Code
NRF24L01 源代码,参考代码,源程序,收发程序,NRF24L01+ 源代码,参考代码,源程序,收发程序
/**************************************************/
uchar SPI_Write_Buf(BYTE reg, BYTE *pBuf, BYTE bytes)
{
 uchar status,byte_ctr;

   CSN = 0;                   // Set CSN low, init SPI tranaction
   status = SPI_RW(reg);    // Select register to write to and read status byte
   for(byte_ctr=0; byte_ctr<bytes; byte_ctr++) // then write all byte in buffer(*pBuf)
     SPI_RW(*pBuf++);
   CSN = 1;                 // Set CSN high again
   return(status);          // return nRF24L01 status byte
}
/**************************************************/

/**************************************************
Function: RX_Mode();
Description:
  This function initializes one nRF24L01 device to
  RX Mode, set RX address, writes RX payload width,
  select RF channel, datarate & LNA HCURR.
  After init, CE is toggled high, which means that
  this device is now ready to receive a datapacket.
NRF24L01 Source code,NRF24L01+ Source Code
NRF24L01 源代码,参考代码,源程序,收发程序,NRF24L01+ 源代码,参考代码,源程序,收发程序
/**************************************************/
void RX_Mode(void)
{
 CE=0;
   SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, TX_ADDRESS, TX_ADR_WIDTH); // Use the same address on the RX device as the TX device

   SPI_RW_Reg(WRITE_REG + EN_AA, 0x01);      // Enable Auto.Ack:Pipe0
   SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x01);  // Enable Pipe0
   SPI_RW_Reg(WRITE_REG + RF_CH, 40);        // Select RF channel 40
   SPI_RW_Reg(WRITE_REG + RX_PW_P0, TX_PLOAD_WIDTH); // Select same RX payload width as TX Payload width
   SPI_RW_Reg(WRITE_REG + RF_SETUP, 0x07);   // TX_PWR:0dBm, Datarate:2Mbps, LNA:HCURR
   SPI_RW_Reg(WRITE_REG + CONFIG, 0x0f);     // Set PWR_UP bit, enable CRC(2 bytes) & Prim:RX. RX_DR enabled..

   CE = 1; // Set CE pin high to enable RX device

  //  This device is now ready to receive one packet of 16 bytes payload from a TX device sending to address
  //  '3443101001', with auto acknowledgment, retransmit count of 10, RF channel 40 and datarate = 2Mbps.

}
/**************************************************/

/**************************************************
Function: TX_Mode();
Description:
  This function initializes one nRF24L01 device to
  TX mode, set TX address, set RX address for auto.ack,
  fill TX payload, select RF channel, datarate & TX pwr.
  PWR_UP is set, CRC(2 bytes) is enabled, & PRIM:TX.
  ToDo: One high pulse(>10us) on CE will now send this
  packet and expext an acknowledgment from the RX device.
NRF24L01 Source code,NRF24L01+ Source Code
NRF24L01 源代码,参考代码,源程序,收发程序,NRF24L01+ 源代码,参考代码,源程序,收发程序
/**************************************************/
void TX_Mode(void)
{
 CE=0;
 
   SPI_Write_Buf(WRITE_REG + TX_ADDR, TX_ADDRESS, TX_ADR_WIDTH);    // Writes TX_Address to nRF24L01
   SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, TX_ADDRESS, TX_ADR_WIDTH); // RX_Addr0 same as TX_Adr for Auto.Ack
   SPI_Write_Buf(WR_TX_PLOAD, tx_buf, TX_PLOAD_WIDTH); // Writes data to TX payload

   SPI_RW_Reg(WRITE_REG + EN_AA, 0x01);      // Enable Auto.Ack:Pipe0
   SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x01);  // Enable Pipe0
   SPI_RW_Reg(WRITE_REG + SETUP_RETR, 0x1a); // 500us + 86us, 10 retrans...
   SPI_RW_Reg(WRITE_REG + RF_CH, 40);        // Select RF channel 40
   SPI_RW_Reg(WRITE_REG + RF_SETUP, 0x07);   // TX_PWR:0dBm, Datarate:2Mbps, LNA:HCURR
   SPI_RW_Reg(WRITE_REG + CONFIG, 0x0e);     // Set PWR_UP bit, enable CRC(2 bytes) & Prim:TX. MAX_RT & TX_DS enabled..
 CE=1;

}

 
» ISM频段(Industrial Scientific Medical Band)

 

ISM频段(Industrial Scientific Medical Band)主要是开放给工业、科学和医用3个主要机构使用的频段。ISM频段属于无许可(Free License)频段,使用者无需许可证,没有所谓使用授权的限制。ISM频段允许任何人随意地传输数据,但是对所有的功率进行限制,使得发射与接收之间只能是很短的距离,因而不同使用者之间不会相互干扰。
在美国,ISM频段是由美国联邦通信委员会(FCC)定义出来的,其他大多数政府也都已经留出了ISM频段,用于非授权用途。目前,许多国家的无线电设备(尤其是家用设备)都使用了ISM频段,如车库门控制器、无绳电话、无线鼠标、蓝牙耳机以及无线局域网等。
RFID工作频率的选择,要顾及其他无线电服务,不能对其他服务造成干扰和影响,因而RFID系统通常只能使用特别为工业、科学和医疗应用而保留的ISM频率。ISM频段的主要频率范围如下。
1.频率6.78MHz
这个频率范围为6.765~6.795MHz,属于短波频率,这个频率范围在国际上已由国际电信联盟指派作为ISM频段使用,并将越来越多地被RFID系统使用。
这个频段起初是为短波通信设置的,根据这个频段电磁波的传播特性,短波通信白天只能达到很小的作用距离,最多几百公里,夜间可以横贯大陆传播。这个频率范围的使用者是不同类别的无线电服务,如无线电广播服务、无线电气象服务和无线电航空服务等。
2.频率13.56MHz
这个频率范围为13.553~13.567MHz,处于短波频段,也是ISM频段。在这个频率范围内,除了电感耦合RFID系统外,还有其他的ISM应用,如遥控系统、远距离控制模型系统、演示无线电系统和传呼机等。
这个频段起初也是为短波通信设置的,根据这个频段电磁波的传播特性,无线信号允许昼夜横贯大陆联系。这个频率范围的使用者是不同类别的无线电服务机构,例如新闻机构和电信机构等。
国内绝大多数RFID工作频率在13.56MHz(另一工作频率为125-135KHz).
3.频率27.125MHz
这个频率范围为26.957~27.283MHz,除了电感耦合RFID系统外,这个频率范围的ISM应用还有医疗用电热治疗仪、工业用高频焊接装置和传呼机等。在安装工业用27MHz的RFID系统时,要特别注意附近可能存在的任何高频焊接装置,高频焊接装置产生很高的场强,将严重干扰工作在同一频率的RFID系统。另外,在规划医院27MHz的RFID系统时,应特别注意可能存在的电热治疗仪干扰。
国内很多遥控玩具工作频率在27MHz.
4.频率40.680MHz
这个频率范围为40.660~40.700MHz,处于VHF频带的低端,在这个频率范围内,ISM的主要应用是遥测和遥控。
在这个频率范围内,电感耦合射频识别的作用距离较小,而这个频率7.5m的波长也不适合构建较小的和价格便宜的反向散射电子标签,因此该频段目前没有射频识别系统工作,属于对射频识别系统不太适用的频带。
5.频率433.920MHz
这个频率范围为430.050~434.790MHz,在世界范围内分配给业余无线电服务使用,该频段大致位于业余无线电频带的中间,目前已经被各种ISM应用占用。这个频率范围属于UHF频段,电磁波遇到建筑物或其他障碍物时,将出现明显的衰减和反射。
该频段可用于反向散射RFID系统,除此之外,还可用于小型电话机、遥测发射器、无线耳机、近距离小功率无线对讲机、汽车无线中央闭锁装置等。但是,在这个频带中,由于应用众多,ISM的相互干扰比较大。
国内很多RFID也用这一UHF频率.
6.频率869.0MHz
这个频率范围为868~870MHz,处于UHF频段。自1997年以来,该频段在欧洲允许短距离设备使用,因而也可以作为RFID频率使用。一些远东国家也在考虑对短距离设备允许使用这个频率范围。
7.频率915.0MHz
在美国和澳大利亚,频率范围888~889MHz和902~928MHz已可使用,并被反向散射RFID系统使用。这个频率范围在欧洲还没有提供ISM应用。与此邻近的频率范围被按CT1和CT2标准生产的无绳电话占用。
8.频率2.45GHz
这个ISM频率的范围为2.400~2.483 5GHz,属于微波波段,也处于UHF频段,与业余无线电爱好者和无线电定位服务使用的频率范围部分重叠。该频段电磁波是准光线传播,建筑物和障碍物都是很好的反射面,电磁波在传输过程中衰减很大。
这个频率范围适合反向散射 RFID 系统,除此之外,该频段典型 ISM 应用还有蓝牙和802.11协议无线网络等。
微波炉/蓝牙/WIFI等都用这一频率,此外国内RFID也用这一频率.
9.频率5.8GHz
这个ISM频率的范围为5.725~5.875GHz,属于微波波段,与业余无线电爱好者和无线电定位服务使用的频率范围部分重叠。
这个频率范围内的典型ISM应用是反向散射RFID系统,可以用于高速公路RFID系统,还可用于大门启闭(在商店或百货公司)系统。
非常值得重视的频段,开始得到广泛应用.
10.频率24.125GHz
这个ISM频率的范围为24.00~24.25GHz,属于微波波段,与业余无线电爱好者、无线电定位服务以及地球资源卫星服务使用的频率范围部分重叠。
在这个频率范围内,目前尚没有射频识别系统工作,此波段主要用于移动信号传感器,也用于传输数据的无线电定向系统。
11.其他频率的应用
135kHz以下的频率范围没有作为工业、科学和医疗(ISM)频率保留,这个频段被各种无线电服务大量使用。除了ISM频率外,135kHz以下的整个频率范围RFID也是可用的,因为这个频段可以用较大的磁场强度工作,特别适用于电感耦合的RFID系统。
根据这个频段电磁波的传播特性,占用这个频率范围的无线电服务可以达到半径1 000km公里以上。在这个频率范围内,典型的无线电服务是航空导航无线电服务、航海导航无线电服务、定时信号服务、频率标准服务以及军事无线电服务。一个用这种频率工作的射频识别系统,将使读写器周围几百米内的无线电钟失效,为了防止这类冲突,未来可能在70~119kHz之间规定一个保护区,不允许RFID系统占用。
在无线产品频段管理方面这方面法规还不健全。其中2.4G在不同国家中都是免授权频段,而下面是其他不同的免费频段:
l 北美地区: 315MHZ 和 915MHZ,902~928MHZ 
l 欧盟地区: 433MHZ 和 868MHZ其他还有日本和澳大利亚的一些频段。
而目前在我国800M 和900M 频段目前已经被GSM 的蜂窝移动网所占用,绝大部分的产品都工作在433MHZ左右,315M频段是早期的无线遥控的产品的主要频段,因此在该段的无线电磁环境相当的复杂,进行无线的数据传输是不太可靠的,433M频段目前由于很多新的汽车的遥控器目前也逐步使用该频段,因此也正在变得越来越复杂。所以这两个频段更多的使用在传输简单数据的无线遥控上。而对于水、电、气等公用事业的计量数据采集,国家无线电管理部门释放了两个免申请的无线计量频段(470-510M),专门用于民用计量设备的无线数据传输。

 
» 中国无线电频率分配表?

 中国无线电频率分配表下载

 
» RoHS六大类有害物质含量标准表?

RoHS六大类有害物质含量

 
» AX5402 SPI 接口程序下载?

AX5402_SPI

 
» CC2500 SPI 接口程序下载?

CC2500_SPI

 
» 如何配置AX5402 的寄存器?

先下载EVK 软件包,能后选中仿真AX5402 , 根据的需求设置频率和数据率,调制方式 ,工作模式,能后使用SNIP CODE 的功能自动产生寄存器设置。

 
» AX5042 的寄存器配置文件范例?

寄存器(AX5042)设置 FSK 制式 1200 波特率 

 寄存器(AX5042)设置 FSK 制式 100K 波特率

 
» CC2500 的寄存器配置文件范例?

寄存器设置 FSK 制式 2400 波特率

寄存器设置 FSK 制式 250K 波特率

 寄存器设置 FSK 制式 10K 波特率

 
» CC2500 C51 的参考源代码(Source code)? (下载后,请用 WINRAR 解压CC2500的C51 源代码

CC2500_SOURCE CODE  (Chip: 8051, C 语言)

 
» IA4421 C51 参考源代码(Source code)?

IA4421B_SOURCE CODE  (Chip: 8051, C 语言)

 
» IA4320 C51 参考源代码 (Source code)?

IA4320_SOURCE CODE  (Chip: 8051, C 语言)

 
» IA4421 PIC 参考源代码 (Source code)?

 IA4421B_SOURCE CODE  (Chip: PIC, C 语言)

 
» IA4320 PIC 参考源代码 (Source code)?

IA4320_SOURCE CODE(Chip: PIC , C Language)

 
» 为什么说我公司的无线音频模块是市面上抗干扰能力最强之一?

除了上述的调频方式以外,本公司的2.4G无线音频模块也是市面上唯一的双向传输的模块,自行纠错。

 
» 如何测试2.4G无线音响的抗干扰能力?

在离2.4G数字无线音响(正在工作的2.4G无线音频模块)50cm 远处傍放一到两个微波炉,能够看声音是否出现断续,或者出现杂音。

 
» RPing GROUP 2.4G数字无线音响模块的跳频方式?

2.4G无线音响 每秒钟调频700次,自动侦测外面的干扰(如蓝牙,微波炉,手机,无线路由器),而对定频的方案来说,其是无法避免这些干扰.

 
» 无线音响模块的市面上的分类方式?

从频段上来画分:有 FM 方式,433M ,800M ,900M ,2.4G,5.8G等等。从空中的传输方式来画分:数字方式 和 模拟方式。

 
» 智能型无线模块(RF Modules)的分类?

我们暂时开发两种:一是串口通讯,另外一种是USB接口。

 
» 什么是智能型无线模块(RF Modules)?

在非智能型无线传输模块传输的基础上加上单片机,从而简化开发过程,开发人员可以不用了解模块的控制协议,只需要用串口通讯.

 
» 什么是非智能型无线模块(RF Modules)?

它主要是把RF器件和其周边整合到一块PCB 板上,整个 Module 已经测试过,可以加速产品开发和小规模的生产.

 
  欢迎第位朋友光临本站
FPGA论坛                  
                   
无线方案提供商 | 无线模块 | 无线音频模块 | 无线方案 COPYRIGHT © 2006 RFWORLD All Rights Reserved. 关键字: 无线模块, 有源RFID, iPAD IPHONE 遥控 , DMX512 , 数传模块,蓝牙4.0,低功耗蓝牙 Contact : Sales@mcurf.com