查看: 3475|回复: 4

[开发求助] Lora 470-RL22模组通信

[复制链接]

1

主题

2

帖子

8

积分

助理工程师

Rank: 1

积分
8
发表于 2021-4-7 10:05:05 | 显示全部楼层 |阅读模式
本帖最后由 13888467934 于 2021-4-7 10:14 编辑

针对Lora 470-RL22,使用文档《LSD4RFC-2L722N10规格书_Rev02_20201210》,《DS_LLCC68_V1.0》(Sx官方LLCC68芯片手册),目前使用软件模拟SPI与模组通讯,SPI按照LLCC68芯片时序编写,应用代码移植sx1262,目前SPI波形完全符合手册。现阶段主要想验证SPI与模组是否能够正常通讯,程序中首先复位芯片,然后唤醒,最后读取寄存器(PS:读取寄存器目的是为了看是否能够读出默认的芯片数据-,验证通讯正常),目前读取的寄存器为REG_RX_GAIN-0x08AC,手册默认值为0x94,不知道这个思路是否正确。其次,当前设备读出的数据为A2,使用逻辑分析仪抓取后仍然是0xA2,折腾了好几天了,搞懵逼了,不知道怎么弄了。求各位大神帮助。另附图逻辑分析仪抓取的时序,寄存器map

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

74

主题

169

帖子

573

积分

利尔达员工

Rank: 9Rank: 9Rank: 9

积分
573
发表于 2021-4-13 17:15:03 | 显示全部楼层
这个读取过应该是0X94   
你那个软件SPI的最底层那几行发我看下
你用软件SPI的话参考下这个用
static unsigned char LSD_RF_SpiInOut (unsigned char mosi)
{
    unsigned char i;
    unsigned char onebyte;
    onebyte = mosi;
    for(i = 8; i > 0; i--)
    {
       __no_operation();
        if(onebyte & 0x80)
        {
            LSD_SPI_SIMO_OUT(1);
        }
        else
        {
            LSD_SPI_SIMO_OUT(0);
        }

        __no_operation();
        LSD_SPI_SCK_OUT(1);
        onebyte <<= 1;      // next bit
        if(LSD_SPI_SOMI_IN())
        {
            onebyte++;      // 1 found on MISO
        }
        __no_operation();
        LSD_SPI_SCK_OUT(0);
    }
    return onebyte;         //
}
unsigned char LSD_RF_SpiRW_Reg (unsigned char addr, unsigned char val)
{
    unsigned char rc;
    SX1276SPISetup();
    LSD_SPI_NSS_OUT(0);
    LSD_RF_SpiInOut(addr);
    rc = LSD_RF_SpiInOut(val);
    LSD_SPI_NSS_OUT(1);
    return rc;
}


然后流程这样搞下
tSX126xError SX126x_Lora_init(void)
{
          uint8_t test = 0;
    if(false == LoRaConfig_Check()) //Èç¹ûÊäÈë²ÎÊý´íÎó
    {
      return PARAMETER_INVALID;  //±¨´íÊäÈë
    }
                SX126X_SPI_Init();              //SPI³õʼ»¯
    SX126X_InitIo();                // PAIO¿Ú³õʼ»¯

                /*------------------------------------------------
        SX126X Loraģʽ³õʼ»¯ --------  */
    SX126X_Reset();                 //¸´Î»RF
                SX126xWakeup();
                SX126xSetStandby(STDBY_RC);    //Çл»µ½LoRamode£¬standby״̬
                SX126xWriteRegister(TxClampConfig, SX126xReadRegister(TxClampConfig) | 0x1E); //SX126X оƬPAÄÚ²¿Óйýѹ±£»¤£¬Èç¹ûʧÅä»áµ¼Ö¹¦ÂʽµµÍÎÊÌ⣻
                                                                                //Ð޸ļĴæÆ÷TxClampConfigÀ´ÓÅ»¯PAµÄãÐÖµ£¬Î»4-1±ØÐë
                                                                                //ÉèÖÃΪ"1111¡°£¨Ä¬ÈÏΪ0100£©---2019.07.31
                SX126xSetRegulatorMode( USE_DCDC );
                SX126xSetPacketType( PACKET_TYPE_LORA );  //ÉèÖóÉLORAģʽ
    /*------------------------------------------------
    SPI ÑéÖ¤                   */
    test = SX126xReadRegister( REG_RX_GAIN );
    //delay1ms(5000);
    SX126xWriteRegister( REG_LR_PAYLOADLENGTH, 0xAA);   //Ñ¡Ò»¸öÓò»µ½µÄ¼Ä´æÆ÷À´×öÑéÖ¤
    //delay1ms(5000);
    test = SX126xReadRegister( REG_LR_PAYLOADLENGTH );
                //delay1ms(5000);
    SX126xWriteRegister( REG_LR_PAYLOADLENGTH, 0x55);   //Ñ¡Ò»¸öÓò»µ½µÄ¼Ä´æÆ÷À´×öÑéÖ¤
    //delay1ms(5000);
    test = SX126xReadRegister( REG_LR_PAYLOADLENGTH );
                //delay1ms(5000);
    SX126xWriteRegister( REG_LR_PAYLOADLENGTH, 0x09);   //Ñ¡Ò»¸öÓò»µ½µÄ¼Ä´æÆ÷À´×öÑéÖ¤
    //delay1ms(5000);
    test = SX126xReadRegister( REG_LR_PAYLOADLENGTH );
    if(test != 0x09)
        return SPI_READCHECK_WRONG;
                //delay1ms(5000);
==================================================================
然后看下你说的那个REG_RX_GAIN读取出来是不是0x94

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

74

主题

169

帖子

573

积分

利尔达员工

Rank: 9Rank: 9Rank: 9

积分
573
发表于 2021-4-13 17:27:43 | 显示全部楼层
亲爱的   “好利友”(使用利尔达模块的好朋友的简称)在 ?        SX的SPi 底层通用的  试下  结果咋样 给个反馈
回复

使用道具 举报

74

主题

169

帖子

573

积分

利尔达员工

Rank: 9Rank: 9Rank: 9

积分
573
发表于 2021-4-13 17:30:54 | 显示全部楼层
亲爱的“好利友”(使用利尔达模块的好朋友的简称),SX的SPI底层时序相同的   你用下  结果给个反馈   还有你的编译器 代码优化等级你先放到最低级再调试  排除掉编译器 代码优化的可能性
回复

使用道具 举报

0

主题

1

帖子

3

积分

助理工程师

Rank: 1

积分
3
发表于 2021-8-12 08:49:56 | 显示全部楼层
我用了一下,不好使:
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表