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.

[参考译文] CC1200:与 C1000 &放大器的曼彻斯特兼容性;CC110L

Guru**** 648580 points
Other Parts Discussed in Thread: CC110L, CC1000, CC1200, CC1101
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1121482/cc1200-manchester-compatibility-with-c1000-cc110l

器件型号:CC1200
主题中讨论的其他部件:CC110LCC1000CC1101

您好!

我们开发了一个由基站和移动设备组成的无线生态系统。
基站正在使用 CC110L 收发器、而移动设备早已开发、仍然使用 CC1000。
由于难以获得 CC110L、我们被迫使用 CC1200收发器升级基站。

基站和移动设备之间使用的无线电数据协议非常简单、它使用固定大小的数据包、没有硬件 CRC、但遗憾的是使用曼彻斯特。 我们无法更改它、因为它已被现场部署的移动设备使用。

按照 CC120x 用户指南第5.2章中的说明,我们能够成功地从 CC1000接收 CC1200上的数据包

但是、无论是在 CC1000还是 CC110L 上、我们都无法正确接收来自 CC1200的数据包。 请考虑、CC110L 作为接收器仅用于调试目的、因为它可以从 SmartRF Studio 进行管理。 特别是对于 CC110L、我们仅接收40%到60%的数据包。

请在附件中找到用于 CC110L 的配置、该配置允许使用 CC1000正确的 TX/RX、以及仅允许使用正确 RX 的 CC1200配置。

// Address Config = No address check 
// Bit Rate = 19.2 
// Carrier Frequency = 868.705933 
// Deviation = 32.958984 
// Device Address = 0 
// Manchester Enable = true 
// Modulation Format = 2-FSK 
// Packet Bit Length = 0 
// Packet Length = 25 
// Packet Length Mode = Fixed 
// RX Filter BW = 104.166667 
// Symbol rate = 38.4 
// Whitening = false 
//
// Rf settings for CC1200
//
void cc120X_setup_registers(spi_write_reg_fn write_reg)
{
  write_reg(CC120X_IOCFG2,               0x06); // GPIO2 IO Pin Configuration
  write_reg(CC120X_IOCFG0,               0x3C); // GPIO0 IO Pin Configuration
  write_reg(CC120X_SYNC3,                0xXX); // Sync Word Configuration [31:24]
  write_reg(CC120X_SYNC2,                0xXX); // Sync Word Configuration [23:16]
  write_reg(CC120X_SYNC1,                0xXX); // Sync Word Configuration [15:8]
  write_reg(CC120X_SYNC0,                0xXX); // Sync Word Configuration [7:0]
  write_reg(CC120X_SYNC_CFG1,            0xAB); // Sync Word Detection Configuration Reg. 1
  write_reg(CC120X_SYNC_CFG0,            0x03); // Sync Word Detection Configuration Reg. 0
  write_reg(CC120X_DEVIATION_M,          0xB0); // Frequency Deviation Configuration
  write_reg(CC120X_MODCFG_DEV_E,         0x03); // Modulation Format and Frequency Deviation Configur..
  write_reg(CC120X_PREAMBLE_CFG1,        0x1A); // Preamble Length Configuration Reg. 1
  write_reg(CC120X_PREAMBLE_CFG0,        0x8A); // Preamble Detection Configuration Reg. 0
  write_reg(CC120X_IQIC,                 0xC8); // Digital Image Channel Compensation Configuration
  write_reg(CC120X_CHAN_BW,              0x10); // Channel Filter Configuration
  write_reg(CC120X_MDMCFG1,              0x62); // General Modem Parameter Configuration Reg. 1
  write_reg(CC120X_MDMCFG0,              0x05); // General Modem Parameter Configuration Reg. 0
  write_reg(CC120X_SYMBOL_RATE2,         0x8F); // Symbol Rate Configuration Exponent and Mantissa [1..
  write_reg(CC120X_SYMBOL_RATE1,         0x75); // Symbol Rate Configuration Mantissa [15:8]
  write_reg(CC120X_SYMBOL_RATE0,         0x10); // Symbol Rate Configuration Mantissa [7:0]
  write_reg(CC120X_AGC_REF,              0x27); // AGC Reference Level Configuration
  write_reg(CC120X_AGC_CS_THR,           0xEE); // Carrier Sense Threshold Configuration
  write_reg(CC120X_AGC_GAIN_ADJUST,      0x00); // RSSI Offset Configuration
  write_reg(CC120X_AGC_CFG3,             0xB1); // Automatic Gain Control Configuration Reg. 3
  write_reg(CC120X_AGC_CFG2,             0x20); // Automatic Gain Control Configuration Reg. 2
  write_reg(CC120X_AGC_CFG1,             0x11); // Automatic Gain Control Configuration Reg. 1
  write_reg(CC120X_AGC_CFG0,             0x94); // Automatic Gain Control Configuration Reg. 0
  write_reg(CC120X_FIFO_CFG,             0x00); // FIFO Configuration
  write_reg(CC120X_SETTLING_CFG,         0x0B); // Frequency Synthesizer Calibration and Settling Con..
  write_reg(CC120X_FS_CFG,               0x12); // Frequency Synthesizer Configuration
  write_reg(CC120X_WOR_CFG0,             0x21); // eWOR Configuration Reg. 0
  write_reg(CC120X_WOR_EVENT0_LSB,       0x00); // Event 0 Configuration LSB
  write_reg(CC120X_PKT_CFG2,             0x00); // Packet Configuration Reg. 2
  write_reg(CC120X_PKT_CFG1,             0x00); // Packet Configuration Reg. 1
  write_reg(CC120X_PKT_CFG0,             0x00); // Packet Configuration Reg. 0
  write_reg(CC120X_RFEND_CFG1,           0x0F); // RFEND Configuration Reg. 1
  write_reg(CC120X_RFEND_CFG0,           0x00); // RFEND Configuration Reg. 0
  write_reg(CC120X_PA_CFG1,              0x3F); // Power Amplifier Configuration Reg. 1
  write_reg(CC120X_PA_CFG0,              0x56); // Power Amplifier Configuration Reg. 0
  write_reg(CC120X_PKT_LEN,              0x19); // Packet Length Configuration
  write_reg(CC120X_IF_MIX_CFG,           0x1C); // IF Mix Configuration
  write_reg(CC120X_FREQOFF_CFG,          0x22); // Frequency Offset Correction Configuration
  write_reg(CC120X_TOC_CFG,              0x03); // Timing Offset Correction Configuration
  write_reg(CC120X_MDMCFG2,              0x08); // General Modem Parameter Configuration Reg. 2
  write_reg(CC120X_FREQ2,                0x56); // Frequency Configuration [23:16]
  write_reg(CC120X_FREQ1,                0xDE); // Frequency Configuration [15:8]
  write_reg(CC120X_FREQ0,                0xDF); // Frequency Configuration [7:0]
  write_reg(CC120X_IF_ADC1,              0xEE); // Analog to Digital Converter Configuration Reg. 1
  write_reg(CC120X_IF_ADC0,              0x10); // Analog to Digital Converter Configuration Reg. 0
  write_reg(CC120X_FS_DIG1,              0x04); // Frequency Synthesizer Digital Reg. 1
  write_reg(CC120X_FS_DIG0,              0x50); // Frequency Synthesizer Digital Reg. 0
  write_reg(CC120X_FS_CAL1,              0x40); // Frequency Synthesizer Calibration Reg. 1
  write_reg(CC120X_FS_CAL0,              0x0E); // Frequency Synthesizer Calibration Reg. 0
  write_reg(CC120X_FS_DIVTWO,            0x03); // Frequency Synthesizer Divide by 2
  write_reg(CC120X_FS_DSM0,              0x33); // FS Digital Synthesizer Module Configuration Reg. 0
  write_reg(CC120X_FS_DVC0,              0x0F); // Frequency Synthesizer Divider Chain Configuration ..
  write_reg(CC120X_FS_PFD,               0x00); // Frequency Synthesizer Phase Frequency Detector Con..
  write_reg(CC120X_FS_PRE,               0x6E); // Frequency Synthesizer Prescaler Configuration
  write_reg(CC120X_FS_REG_DIV_CML,       0x1C); // Frequency Synthesizer Divider Regulator Configurat..
  write_reg(CC120X_FS_SPARE,             0xAC); // Frequency Synthesizer Spare
  write_reg(CC120X_FS_VCO0,              0xB5); // FS Voltage Controlled Oscillator Configuration Reg..
  write_reg(CC120X_IFAMP,                0x09); // Intermediate Frequency Amplifier Configuration
  write_reg(CC120X_XOSC5,                0x0E); // Crystal Oscillator Configuration Reg. 5
  write_reg(CC120X_XOSC1,                0x03); // Crystal Oscillator Configuration Reg. 1
}

// Address Config = No address check 
// Base Frequency = 868.705688 
// CRC Autoflush = false 
// CRC Enable = false 
// Carrier Frequency = 868.705688 
// Channel Spacing = 64.064026 
// Data Format = Normal mode 
// Data Rate = 38.4178 
// Deviation = 32.958984 
// Device Address = 0 
// Manchester Enable = true 
// Modulated = true 
// Modulation Format = 2-FSK 
// Packet Length = 25 
// Packet Length Mode = Fixed packet length mode. Length configured in PKTLEN register 
// Preamble Count = 4 
// RX Filter BW = 105.468750 
// Sync Word Qualifier Mode = 16/16 sync word bits detected 
// TX Power = 0 
//
// Rf settings for CC110L
//
void cc110L_setup_registers(spi_write_reg_fn write_reg)
{
  write_reg(CC110L_IOCFG2,             0x29); // GDO2 Output Pin Configuration
  write_reg(CC110L_IOCFG1,             0x2E); // GDO1 Output Pin Configuration
  write_reg(CC110L_IOCFG0,             0x06); // GDO0 Output Pin Configuration
  write_reg(CC110L_FIFOTHR,            0x47); // RX FIFO and TX FIFO Thresholds
  write_reg(CC110L_SYNC1,              0x34); // Sync Word, High Byte
  write_reg(CC110L_SYNC0,              0xAF); // Sync Word, Low Byte
  write_reg(CC110L_PKTLEN,             0x19); // Packet Length
  write_reg(CC110L_PKTCTRL1,           0x00); // Packet Automation Control
  write_reg(CC110L_PKTCTRL0,           0x00); // Packet Automation Control
  write_reg(CC110L_ADDR,               0x00); // Device Address
  write_reg(CC110L_CHANNR,             0x00); // Channel number
  write_reg(CC110L_FSCTRL1,            0x08); // Frequency Synthesizer Control
  write_reg(CC110L_FSCTRL0,            0x00); // Frequency Synthesizer Control
  write_reg(CC110L_FREQ2,              0x20); // Frequency Control Word, High Byte
  write_reg(CC110L_FREQ1,              0x2C); // Frequency Control Word, Middle Byte
  write_reg(CC110L_FREQ0,              0x9E); // Frequency Control Word, Low Byte
  write_reg(CC110L_MDMCFG4,            0xCA); // Modem Configuration
  write_reg(CC110L_MDMCFG3,            0x75); // Modem Configuration
  write_reg(CC110L_MDMCFG2,            0x0A); // Modem Configuration
  write_reg(CC110L_MDMCFG1,            0x21); // Modem Configuration
  write_reg(CC110L_MDMCFG0,            0x37); // Modem Configuration
  write_reg(CC110L_DEVIATN,            0x42); // Modem Deviation Setting
  write_reg(CC110L_MCSM2,              0x07); // Main Radio Control State Machine Configuration
  write_reg(CC110L_MCSM1,              0x30); // Main Radio Control State Machine Configuration
  write_reg(CC110L_MCSM0,              0x18); // Main Radio Control State Machine Configuration
  write_reg(CC110L_FOCCFG,             0x1D); // Frequency Offset Compensation Configuration
  write_reg(CC110L_BSCFG,              0x1C); // Bit Synchronization Configuration
  write_reg(CC110L_AGCCTRL2,           0xC7); // AGC Control
  write_reg(CC110L_AGCCTRL1,           0x00); // AGC Control
  write_reg(CC110L_AGCCTRL0,           0xB2); // AGC Control
  write_reg(CC110L_RESERVED_0X20,      0xFB); // Use setting from SmartRF Studio
  write_reg(CC110L_FREND1,             0xB6); // Front End RX Configuration
  write_reg(CC110L_FREND0,             0x10); // Front End TX Configuration
  write_reg(CC110L_FSCAL3,             0xE9); // Frequency Synthesizer Calibration
  write_reg(CC110L_FSCAL2,             0x2A); // Frequency Synthesizer Calibration
  write_reg(CC110L_FSCAL1,             0x00); // Frequency Synthesizer Calibration
  write_reg(CC110L_FSCAL0,             0x1F); // Frequency Synthesizer Calibration
  write_reg(CC110L_RESERVED_0X29,      0x59); // Use setting from SmartRF Studio
  write_reg(CC110L_RESERVED_0X2A,      0x7F); // Use setting from SmartRF Studio
  write_reg(CC110L_RESERVED_0X2B,      0x3F); // Use setting from SmartRF Studio
  write_reg(CC110L_TEST2,              0x81); // Various Test Settings
  write_reg(CC110L_TEST1,              0x35); // Various Test Settings
  write_reg(CC110L_TEST0,              0x09); // Various Test Settings
  write_reg(CC110L_PARTNUM,            0x00); // Chip ID
  write_reg(CC110L_VERSION,            0x17); // Chip ID
  write_reg(CC110L_FREQEST,            0x00); // Frequency Offset Estimate from Demodulator
  write_reg(CC110L_CRC_REG,            0x00); // 
  write_reg(CC110L_RSSI,               0x80); // Received Signal Strength Indication
  write_reg(CC110L_MARCSTATE,          0x01); // Main Radio Control State Machine State
  write_reg(CC110L_PKTSTATUS,          0x00); // Current GDOx Status and Packet Status
  write_reg(CC110L_TXBYTES,            0x00); // Underflow and Number of Bytes
  write_reg(CC110L_RXBYTES,            0x00); // Overflow and Number of Bytes
}

您能否为我们提供支持以解决沟通问题?

非常感谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    要使用曼彻斯特与 CC1200进行传输并使用 CC110L 进行接收、您需要执行以下操作:

    CC1200必须使用手动曼彻斯特编码的4字节同步字(因为 CC1200不会自动编码曼彻斯特同步)。

    因此、CC110L 只能使用2字节同步字(编码后将为4字节):

    CC1101:0xD391

    CC1200: 0xA65A9656 (0xD391曼彻斯特编码)

    当在 CC110L 上仅使用一个2字节长同步字时、最好使用同步字的 CS 门控、以避免任何错误的同步检测:

    Siri