This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

how to use cc1120 receive the pocsag message?

Other Parts Discussed in Thread: CC1120, CC1101

Hello,

    i want to receiver pocsag format.

    so i am disable the address field check and crc check (cc1120 standard packet format).

    the data length is used "fixed packet length mode", and gpio-2 to trigger pkt_sync_rxtx event.

    then the cc1120 running in sniff mode.

    but when the message come in, and the gpio-2 is active.

    i am read the rx fifo size and data.

    the data always is 0xF9, 0xA2, 0x15, 0xD8, 0xF9, 0xA2, 0x15, 0xD8.....(repeat).

    i don't understand why the sync word correct active but the fifo data is wrong.

    is it register setting wrong or cc1120 can't receiver?

thanks

   

  • Hello,

        i am find the problem.

        the pocsag data is invert.

        so must be set the reg SYMBOL_MAP_CFG value not 0.

        then the rx fifo is correct.

    thanks

  • Hi

    I'm working with CC1101 to receive POCSAG messages (f=452.6MHz, Baud=1200, Ch=25KHz, Dev=4.5KHz).

    CC1101 is configured with 2-FSK, FREQ=452.599792MHz, CHANSPC=25.39KHz, DRATE=1.19948kBaud, DEVIATN=4.364KHz, CHANBW=58KHz, FREQ_IF=457KHz.

    RX FIFO and Important Status registers are polled at nearly 4-times the baud rate and sent to a serial port on a PC. During the whole packet reception, RX FIFO=0xFF, FREQEST=0x09, LQI=0x80, RSSI~0xE2.

    What's the problem with the data? Which configuration is wrong?

    Thank you in advance

  • hi,

      Are you set the sync word for pocasg?

      And the crc check must be set close.

     

    Thanks

      

      

  • Hi

    No Preamble, No Sync, No CRC. POCSAG signals are transmitted by a public transmitter and my pager device receives the message, but CC1101 just received 0xFF!

  • Hi,

      i don't know the cc1101 is the same with cc1120, 

      but the cc1120 is detected sync word and put the next data into rx fifo.

      then check cc1120 is idle state or read fifo size.

      if the fifo has data, i am read it.

      so, i think you need to set the correct sync word to test.

    thanks

  • Hi ellis

    Would you please send me full configuration of CC1120 for receiving POCSAG?

  • hi,

    this is my cc1120 registers in rx mode.

    static const registerSetting_t preferredSettings[]=
    {
    {CC112X_IOCFG3, 0x49},
    {CC112X_IOCFG2, 0x06},
    {CC112X_IOCFG1, 0xB0},
    {CC112X_IOCFG0, 0xB0},
    {CC112X_SYNC3, 0x7C},
    {CC112X_SYNC2, 0xD2},
    {CC112X_SYNC1, 0x15},
    {CC112X_SYNC0, 0xD8},
    {CC112X_SYNC_CFG1, 0x0B},
    {CC112X_SYNC_CFG0, 0x17},
    {CC112X_DEVIATION_M, 0x27},
    {CC112X_MODCFG_DEV_E, 0x03},
    {CC112X_DCFILT_CFG, 0x1C},
    {CC112X_PREAMBLE_CFG1, 0x18},
    {CC112X_PREAMBLE_CFG0, 0x2A},
    {CC112X_FREQ_IF_CFG, 0x40},
    {CC112X_IQIC, 0x46},
    {CC112X_CHAN_BW, 0x04},
    {CC112X_MDMCFG1, 0x46},
    {CC112X_MDMCFG0, 0x05},
    {CC112X_SYMBOL_RATE2, 0x43},
    {CC112X_SYMBOL_RATE1, 0xA9},
    {CC112X_SYMBOL_RATE0, 0x2A},
    {CC112X_AGC_REF, 0x20},
    {CC112X_AGC_CS_THR, 0x19},
    {CC112X_AGC_GAIN_ADJUST, 0x00},
    {CC112X_AGC_CFG3, 0x91},
    {CC112X_AGC_CFG2, 0x20},
    {CC112X_AGC_CFG1, 0xA9},
    {CC112X_AGC_CFG0, 0xCF},
    {CC112X_FIFO_CFG, 0x00},
    {CC112X_DEV_ADDR, 0x00},
    {CC112X_SETTLING_CFG, 0x03},
    {CC112X_FS_CFG, 0x14},
    {CC112X_WOR_CFG1, 0x08},
    {CC112X_WOR_CFG0, 0x21},
    {CC112X_WOR_EVENT0_MSB, 0x00},
    {CC112X_WOR_EVENT0_LSB, 0x00},
    {CC112X_PKT_CFG2, 0x04},
    {CC112X_PKT_CFG1, 0x01},
    {CC112X_PKT_CFG0, 0x00},
    {CC112X_RFEND_CFG1, 0x0F},
    {CC112X_RFEND_CFG0, 0x00},
    {CC112X_PA_CFG2, 0x7F},
    {CC112X_PA_CFG1, 0x56},
    {CC112X_PA_CFG0, 0x7C},
    {CC112X_PKT_LEN, 0x20},
    {CC112X_IF_MIX_CFG, 0x00},
    {CC112X_FREQOFF_CFG, 0x22},
    {CC112X_TOC_CFG, 0x0B},
    {CC112X_MARC_SPARE, 0x00},
    {CC112X_ECG_CFG, 0x00},
    {CC112X_CFM_DATA_CFG, 0x20},
    {CC112X_EXT_CTRL, 0x01},
    {CC112X_RCCAL_FINE, 0x00},
    {CC112X_RCCAL_COARSE, 0x00},
    {CC112X_RCCAL_OFFSET, 0x00},
    {CC112X_FREQOFF1, 0xff},
    {CC112X_FREQOFF0, 0xe6},
    {CC112X_FREQ2, 0x70},
    {CC112X_FREQ1, 0x83},
    {CC112X_FREQ0, 0x33},
    {CC112X_IF_ADC2, 0x02},
    {CC112X_IF_ADC1, 0xA6},
    {CC112X_IF_ADC0, 0x04},
    {CC112X_FS_DIG1, 0x00},
    {CC112X_FS_DIG0, 0x5F},
    {CC112X_FS_CAL3, 0x00},
    {CC112X_FS_CAL2, 0x20},
    {CC112X_FS_CAL1, 0x40},
    {CC112X_FS_CAL0, 0x0E},
    {CC112X_FS_CHP, 0x28},
    {CC112X_FS_DIVTWO, 0x03},
    {CC112X_FS_DSM1, 0x00},
    {CC112X_FS_DSM0, 0x33},
    {CC112X_FS_DVC1, 0xFF},
    {CC112X_FS_DVC0, 0x17},
    {CC112X_FS_LBI, 0x00},
    {CC112X_FS_PFD, 0x50},
    {CC112X_FS_PRE, 0x6E},
    {CC112X_FS_REG_DIV_CML, 0x14},
    {CC112X_FS_SPARE, 0xAC},
    {CC112X_FS_VCO4, 0x14},
    {CC112X_FS_VCO3, 0x00},
    {CC112X_FS_VCO2, 0x00},
    {CC112X_FS_VCO1, 0x00},
    {CC112X_FS_VCO0, 0xB4},
    {CC112X_GBIAS6, 0x00},
    {CC112X_GBIAS5, 0x02},
    {CC112X_GBIAS4, 0x00},
    {CC112X_GBIAS3, 0x00},
    {CC112X_GBIAS2, 0x10},
    {CC112X_GBIAS1, 0x00},
    {CC112X_GBIAS0, 0x00},
    {CC112X_IFAMP, 0x01},
    {CC112X_LNA, 0x01},
    {CC112X_RXMIX, 0x01},
    {CC112X_XOSC5, 0x0E},
    {CC112X_XOSC4, 0xA0},
    {CC112X_XOSC3, 0x03},
    {CC112X_XOSC2, 0x04},
    {CC112X_XOSC1, 0x03},
    {CC112X_XOSC0, 0x00},
    {CC112X_ANALOG_SPARE, 0x00},
    {CC112X_PA_CFG3, 0x00},
    {CC112X_WOR_TIME1, 0x00},
    {CC112X_WOR_TIME0, 0x00},
    {CC112X_WOR_CAPTURE1, 0x00},
    {CC112X_WOR_CAPTURE0, 0x00},
    {CC112X_BIST, 0x00},
    {CC112X_DCFILTOFFSET_I1, 0x00},
    {CC112X_DCFILTOFFSET_I0, 0x00},
    {CC112X_DCFILTOFFSET_Q1, 0x00},
    {CC112X_DCFILTOFFSET_Q0, 0x00},
    {CC112X_IQIE_I1, 0x00},
    {CC112X_IQIE_I0, 0x00},
    {CC112X_IQIE_Q1, 0x00},
    {CC112X_IQIE_Q0, 0x00},
    {CC112X_RSSI1, 0x80},
    {CC112X_RSSI0, 0x00},
    {CC112X_MARCSTATE, 0x41},
    {CC112X_LQI_VAL, 0x00},
    {CC112X_PQT_SYNC_ERR, 0xFF},
    {CC112X_DEM_STATUS, 0x00},
    {CC112X_FREQOFF_EST1, 0x00},
    {CC112X_FREQOFF_EST0, 0x00},
    {CC112X_AGC_GAIN3, 0x00},
    {CC112X_AGC_GAIN2, 0xD1},
    {CC112X_AGC_GAIN1, 0x00},
    {CC112X_AGC_GAIN0, 0x3F},
    {CC112X_CFM_RX_DATA_OUT, 0x00},
    {CC112X_CFM_TX_DATA_IN, 0x00},
    {CC112X_ASK_SOFT_RX_DATA, 0x30},
    {CC112X_RNDGEN, 0x7F},
    {CC112X_MAGN2, 0x00},
    {CC112X_MAGN1, 0x00},
    {CC112X_MAGN0, 0x00},
    {CC112X_ANG1, 0x00},
    {CC112X_ANG0, 0x00},
    {CC112X_CHFILT_I2, 0x08},
    {CC112X_CHFILT_I1, 0x00},
    {CC112X_CHFILT_I0, 0x00},
    {CC112X_CHFILT_Q2, 0x00},
    {CC112X_CHFILT_Q1, 0x00},
    {CC112X_CHFILT_Q0, 0x00},
    {CC112X_GPIO_STATUS, 0x00},
    {CC112X_FSCAL_CTRL, 0x01},
    {CC112X_PHASE_ADJUST, 0x00},
    {CC112X_PARTNUMBER, 0x00},
    {CC112X_PARTVERSION, 0x00},
    {CC112X_SERIAL_STATUS, 0x00},
    {CC112X_MODEM_STATUS1, 0x01},
    {CC112X_MODEM_STATUS0, 0x00},
    {CC112X_MARC_STATUS1, 0x00},
    {CC112X_MARC_STATUS0, 0x00},
    {CC112X_PA_IFAMP_TEST, 0x00},
    {CC112X_FSRF_TEST, 0x00},
    {CC112X_PRE_TEST, 0x00},
    {CC112X_PRE_OVR, 0x00},
    {CC112X_ADC_TEST, 0x00},
    {CC112X_DVC_TEST, 0x0B},
    {CC112X_ATEST, 0x40},
    {CC112X_ATEST_LVDS, 0x00},
    {CC112X_ATEST_MODE, 0x00},
    {CC112X_XOSC_TEST1, 0x3C},
    {CC112X_XOSC_TEST0, 0x00},
    {CC112X_RXFIRST, 0x00},
    {CC112X_TXFIRST, 0x00},
    {CC112X_RXLAST, 0x00},
    {CC112X_TXLAST, 0x00},
    {CC112X_NUM_TXBYTES, 0x00},
    {CC112X_NUM_RXBYTES, 0x00},
    {CC112X_FIFO_NUM_TXBYTES, 0x0F},
    {CC112X_FIFO_NUM_RXBYTES, 0x00},
    };