LT8900SSK:2.4GHz ISM频段无线收发解决方案

需积分: 9 19 下载量 21 浏览量 更新于2024-07-25 2 收藏 920KB PDF 举报
"LT8900SSK是一款无线通信芯片,专为2.4 GHz ISM频段设计,集成了CMOS射频收发器、GFSK数据调制解调器和包帧器功能,具有低成本和高效性能的特点。它支持SPI和IIC总线接口,适用于与微控制器配合使用。" LT8900芯片是一款高度集成的无线收发解决方案,主要特点包括: 1. **集成度高**:该芯片整合了发射、接收、射频合成器和数字调制解调器功能,外部只需少量组件即可完成工作,降低了系统复杂性和成本。 2. **数字功率控制**:发射器支持数字功率控制,能够根据需要调整输出功率。在描述中提到,LT8900在GFSK模式下大约能提供1 dBm的输出功率。 3. **高性能接收器**:接收器采用低中频(Low-IF)架构,具有良好的选择性,灵敏度可达-87 dBm。此外,提供数字RSSI(接收信号强度指示)值,帮助监控信道质量。 4. **数据处理能力**:即使在存在干扰和发射器性能下降的情况下,通过其内部的大量数字处理,仍能保持出色的总体性能。 5. **数据缓冲**:片上集成的发送和接收FIFO(先进先出)寄存器用于在微控制器和芯片之间缓冲数据传输,确保数据流的连续性。 6. **高速数据传输**:即使与慢速、低成本的微控制器连接,也能实现始终如一的1 Mbps空中数据速率。 7. **错误检测与纠正**:内置CRC(循环冗余校验)、FEC(前向纠错)、数据扰码以及自动重试/确认机制,这些特性有助于优化特定应用的性能和可靠性。 8. **灵活的数字基带接口**:LT8900可以支持4线SPI或2线I2C两种通信协议,提供了与各种微控制器兼容的选项。 LT8900SSK无线收发芯片是2.4 GHz ISM频段应用的理想选择,尤其适合那些需要高性能、低功耗、小尺寸和低成本的无线通信解决方案的场合,例如智能家居、物联网设备、无线传感器网络等。其丰富的内置功能和灵活的接口使其在设计中易于集成,同时保证了通信的稳定性和效率。
475 浏览量
by chaofu.zhang //2010-06-01 #ifndef LT8900_H #define LT8900_H //=================================================== // LT8900 Parameter Definition //=================================================== #define SYNCWORD_0 0x34 #define SYNCWORD_1 0x56 #define SYNCWORD_2 0x78 #define SYNCWORD_3 0x9A #define SYNCWORD_4 0xBC #define SYNCWORD_5 0xDE #define SYNCWORD_6 0xF0 #define SYNCWORD_7 0x12 #define LT_XTAL_OSC_EN 1 //Enable crystal #define LT_RSSI_PDN 0 //RSSI operation #define LT_VCO_CAL_EN 1 //calibrate VCO for each RF operation //Reg32 (0x20) #define LT_PREAMBLE_LEN 7 //preamble = 4byte #define LT_SYNCWORD_LEN 3 //syncword = 64bit #define LT_TRAILER_LEN 0 //trailer = 4bit #define LT_DATA_PACKET_TYPE 0 //data packet type = NRZ law #define LT_FEC_TYPE 0 // No FEC #define LT_BRCLK_SEL 0 // NO BRCLK clock output #define LT_R32H ((LT_PREAMBLE_LEN << 5) + (LT_SYNCWORD_LEN << 3) + LT_TRAILER_LEN) #define LT_R32L ((LT_DATA_PACKET_TYPE << 6) + (LT_FEC_TYPE << 4) + (LT_BRCLK_SEL << 1)) //Reg40 (0x28) #define LT_FIFO_EMPTY_THRESHOLD 4 #define LT_FIFO_FULL_THRESHOLD 4 #define LT_SYNCWORD_THRESHOLD 7 #define LT_R40H ((LT_FIFO_EMPTY_THRESHOLD <> 2)) #define LT_R40L ((LT_FIFO_FULL_THRESHOLD<<6) + LT_SYNCWORD_THRESHOLD) //Reg41 (0x29) #define LT_CRC_ON 1 //CRC on #define LT_SCRAMBLE_ON 1 //scrable off #define LT_PACK_LENGTH_EN 1 //first data byte is packet length #define LT_FW_TERM_TX 1 #define LT_AUTO_ACK 0 //auto ACK #define LT_PKT_FIFO_POL 0 //PKT_FLAG is active high #define LT_CRC_INIT_DATA 0x00 //CRC initial data const char code LT_CH_Table[10][8] = { (0,10,20,30,40,50,60,70), (1,11,21,31,41,51,61,71), (2,12,22,32,42,52,62,72), (3,13,23,33,43,53,63,73), (4,14,24,34,44,54,64,74), (5,15,25,35,45,55,65,75), (6,16,26,36,46,56,66,76), (7,17,27,37,47,57,67,77), (8,18,28,38,48,58,68,78), (9,19,29,39,49,59,69,79) }; sbit MISO = P1^0; //input sbit RESET_N = P1^1; //output sbit CLK = P1^2; //output sb