|
发表于 2011-11-19 09:19:13
|
显示全部楼层
我用SI1000做无线收发,不用天线分集,用FIFO包处理,一直接收不到,是不是引导码长度、引导码侦测这一块有问题?
发送端相关程序://设置中心频率434MHz
WriteReg(EZRADIOPRO_FREQUENCY_BAND_SELECT,0x53);
WriteReg(EZRADIOPRO_NOMINAL_CARRIER_FREQUENCY_1,0x64);
WriteReg(EZRADIOPRO_NOMINAL_CARRIER_FREQUENCY_0,0x00);
//发射数据速率(9.6Kbps)
WriteReg(EZRADIOPRO_TX_DATA_RATE_1,0x4E);
WriteReg(EZRADIOPRO_TX_DATA_RATE_0,0xA5);
WriteReg(EZRADIOPRO_MODULATION_MODE_CONTROL_1,0x2C);
//发射偏差(+ -4.8kHz)
WriteReg(EZRADIOPRO_FREQUENCY_DEVIATION, 0x08);
WriteReg(EZRADIOPRO_MODULATION_MODE_CONTROL_2,0x00);
/*set the packet structure and the modulation type*/
WriteReg(EZRADIOPRO_PREAMBLE_LENGTH, 0x09); //前导码长度
//Disable header bytes; set variable packet length (the length of the payload is defined by the
//received packet length field of the packet); set the synch word to two bytes long
WriteReg(EZRADIOPRO_HEADER_CONTROL_2, 0x02);
//Set the sync word pattern to 0x2DD4
WriteReg(EZRADIOPRO_SYNC_WORD_3, 0x2D);
WriteReg(EZRADIOPRO_SYNC_WORD_2, 0xD4);
//enable the TX & RX packet handler and CRC-16 (IBM) check
WriteReg(EZRADIOPRO_DATA_ACCESS_CONTROL, 0x0D); //
//Disable the receive header filters
//WriteReg(EZRADIOPRO_HEADER_CONTROL_1, 0x00 ); //
//WriteReg(EZRADIOPRO_HEADER_CONTROL_2, 0x04 ); //
//enable FIFO mode and FSK modulation
WriteReg(EZRADIOPRO_MODULATION_MODE_CONTROL_2, 0x22); // FSK Mode
接收端相关程序:
//设置中心频率434MHz
WriteReg(EZRADIOPRO_FREQUENCY_BAND_SELECT,0x53); //0x53,从240-479.9MHz中选择
WriteReg(EZRADIOPRO_NOMINAL_CARRIER_FREQUENCY_1,0x64);
WriteReg(EZRADIOPRO_NOMINAL_CARRIER_FREQUENCY_0,0x00);
//频偏(+ -4.8kHz)
WriteReg(EZRADIOPRO_IF_FILTER_BANDWIDTH, 0x2E); //
WriteReg(EZRADIOPRO_CLOCK_RECOVERY_OVERSAMPLING_RATIO, 0x68);
WriteReg(EZRADIOPRO_CLOCK_RECOVERY_OFFSET_2, 0x01);
WriteReg(EZRADIOPRO_CLOCK_RECOVERY_OFFSET_1, 0x3A);
WriteReg(EZRADIOPRO_CLOCK_RECOVERY_OFFSET_0, 0x93);
WriteReg(EZRADIOPRO_CLOCK_RECOVERY_TIMING_LOOP_GAIN_1, 0x02);
WriteReg(EZRADIOPRO_CLOCK_RECOVERY_TIMING_LOOP_GAIN_0, 0x78);
WriteReg(EZRADIOPRO_AFC_LOOP_GEARSHIFT_OVERRIDE, 0x01);
WriteReg(EZRADIOPRO_FREQUENCY_DEVIATION, 0x18);
/*set the packet structure and the modulation type*/
//set preamble detection threshold to 20bits
WriteReg(EZRADIOPRO_PREAMBLE_DETECTION_CONTROL, 0x03);//前导码侦测控制
//Disable header bytes; set variable packet length (the length of the payload is defined by the
//received packet length field of the packet); set the synch word to two bytes long
WriteReg(EZRADIOPRO_HEADER_CONTROL_2, 0x02);
//Set the sync word pattern to 0x2DD4
WriteReg(EZRADIOPRO_SYNC_WORD_3, 0x2D);
WriteReg(EZRADIOPRO_SYNC_WORD_2, 0xD4);
//enable the TX & RX packet handler and CRC-16 (IBM) check
WriteReg(EZRADIOPRO_DATA_ACCESS_CONTROL, 0x85); //
//enable FIFO mode and FSK modulation
WriteReg(EZRADIOPRO_MODULATION_MODE_CONTROL_2, 0x22); // FSK Mode
帮忙看看程序有问题吗??? |
|