人工智能与机器人技术论坛

 找回密码
 立即注册
查看: 17|回复: 0
打印 上一主题 下一主题

关于 ICM 4** 陀螺仪的共用SPI或者I2C总线的问题

[复制链接]

132

主题

310

帖子

1541

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1541
跳转到指定楼层
楼主
发表于 5 天前 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
我们在研发过程中分析,此系类的陀螺仪芯片在和**模块例如FLASH共用SPI总线或者I2C总线的过程中,就算CS脚拉搞使其无法工作,依然有可能对总线产生影响 导致总线上的**芯片无法工作,所以在使用 ICM42670等同系类芯片 要不不要共用,实在需要共用,那需要先把gsersen 芯片 先初始化,方法是 先读取ID,然后设置电源寄存器 使其休眠 ,然后才能让其处在一个稳定状态不影响总线,以下是ICM42607 的一个简单初始化例程:
/**
* @brief 共用SPI 总线 ICM42607 首先要配置一下 Gsenser 不然可能影响 FLASH SPI
*
*/
void gsenser_init_config(void)
{
    GPIO_SetPins(GPIO_PORT_C, GPIO_PIN_05);  //  FLASH power  en
    GPIO_ResetPins(GPIO_PORT_C, GPIO_PIN_04);  // gsenser power en


    GPIO_ResetPins(GPIO_PORT_D, GPIO_PIN_08);  //gsenser CS  --有效
    GPIO_SetPins(GPIO_PORT_A, GPIO_PIN_15);  //  FLASH cs--失效


    delay1ms(1000);

    char buf[10]={0};
    uint8_t id;
    uint8_t i=0;

    SWDT_FeedDog();

    while (1)
    {
        GPIO_ResetPins(GPIO_PORT_D, GPIO_PIN_08);  //  G CS
        id=bsp_spibyte(0x75|0x80);

        id=bsp_spibyte(0);

        sprintf(buf,"ID1=%X",id);
        tty_tran_buf(buf, 10);

        GPIO_SetPins(GPIO_PORT_D, GPIO_PIN_08);  //  G CS
        delay1ms(1000);
        if(id==0x61)
        {
            GPIO_ResetPins(GPIO_PORT_D, GPIO_PIN_08);  //  G CS
            // bsp_spibyte(0x06);
            // bsp_spibyte(0x01);

            bsp_spibyte(0x1f);
            bsp_spibyte(0x1f);

            // bsp_spibyte(0x2c);
            // bsp_spibyte(0x08);

            // bsp_spibyte(0x1f);
            // bsp_spibyte(0x06);

            // bsp_spibyte(0x21);
            // bsp_spibyte(0x68);

            break;
        }
        i++;
        if(i>3)
        {
            break;
        }
    }
    SWDT_FeedDog();
    GPIO_SetPins(GPIO_PORT_D, GPIO_PIN_08);  //  G CS
    GPIO_ResetPins(GPIO_PORT_A, GPIO_PIN_15);  //  FLASH
}

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|AiRobotNews.com|人工智能与机器人技术论坛  

GMT+8, 2026-1-19 20:22 , Processed in 0.084950 second(s), 6 queries , File On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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