Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    I can't get BMX160 CHIPID using STM32 SPI

    fish
    Community Moderator

    Re: I can't get BMX160 CHIPID using STM32 SPI

    Hi

    BMIX60 prilimary interface defaut is I2C, need switch to SPI. Usually  we using a dummy ready to change the interface to SPI. You could refer to chapter 3.1 in BMX160 datasheet.  The read chip id process as bellow.bmi160 read chipid 2020-06-09_11h19_53.png

     

    zx556605
    New Poster

    Re: I can't get BMX160 CHIPID using STM32 SPI

    您好魚
    我已閱讀數據表
    要使用SPI,CSB需要一個上升信號
    我已經將CSB設置為具有上升信號
    結果是錯誤代碼rslt = -3(BMI160_E_DEV_NOT_FOUND)

    *In bmc.c file bmi160_init() function,
    if ((rslt == BMI160_OK) && (dev->chip_id == BMI160_CHIP_ID))
    This line will not be established!! rslt = -3 (BMI160_E_DEV_NOT_FOUND)
    If you look at the if judgment separately, the first half (rslt == BMI160_OK) is established,
    But the second half dev->chip_id == BMI160_CHIP_ID) is not established.
    dev->chip_id=0
    BMI160_CHIP_ID = 0xD8
    Why can't my dev->chip_id = 0xD8
    *對不起,請問我應該使用PIN SPI VDDIO
    以下是我的接線

    MCU <--------------------------> BMX160
    -------------------- ------------------------
    VDD ------------------------- -> VDD(3.3 V)
    MISO -------------------------> MISO                  
    MOSI -------------- -----------> MOSI
    CLK ---------------------------> CLK
    GPIO_輸出------ -------> CS
                                                    VDDID ----> VDD(BMX160 VDDVDD)

    fish
    Community Moderator

    Re: I can't get BMX160 CHIPID using STM32 SPI

    Hi,

    I think you could check MISO & MOSI connection. Meanwhile, VDD&VDDIO can powered by 3.3V.

    You had better check the SPI waveform with logic analyzer tool or oscilloscope.

    MCU <--------------------------> BMX160
    -------------------- ------------------------
    VDD ------------------------- -> VDD(3.3 V)
    MISO <------------------------- SDO(PIN  1)
    MOSI -------------- -----------> SDX (PIN 14)
    CLK ---------------------------> SCX(PIN 13)
    GPIO_輸出------ -------> CS
    VDDID ----> VDD(BMX160 VDDVDD)

     
    zx556605
    New Poster

    Re: I can't get BMX160 CHIPID using STM32 SPI

     

    I run bmi_init (   )

    get rslt =-3 

    *In bmc.c file bmi160_init() function,
    if ((rslt == BMI160_OK) && (dev->chip_id == BMI160_CHIP_ID))
    This line will not be established!! rslt = -3 (BMI160_E_DEV_NOT_FOUND)
    If you look at the if judgment separately, the first half (rslt == BMI160_OK) is established,
    But the second half dev->chip_id == BMI160_CHIP_ID) is not established.
    dev->chip_id=0
    BMI160_CHIP_ID = 0xD8

    fish
    Community Moderator

    Re: I can't get BMX160 CHIPID using STM32 SPI

    Hi,

    rslt == BMI160_OK, just prove the param dev of function int8_t bmi160_init(struct bmi160_dev *dev) isn't NULL pointer.

    Would you please provide SPI waveform during read BMX160 chip id?

     

    Icon--AD-black-48x48Icon--address-consumer-data-black-48x48Icon--appointment-black-48x48Icon--back-left-black-48x48Icon--calendar-black-48x48Icon--center-alignedIcon--Checkbox-checkIcon--clock-black-48x48Icon--close-black-48x48Icon--compare-black-48x48Icon--confirmation-black-48x48Icon--dealer-details-black-48x48Icon--delete-black-48x48Icon--delivery-black-48x48Icon--down-black-48x48Icon--download-black-48x48Ic-OverlayAlertIcon--externallink-black-48x48Icon-Filledforward-right_adjustedIcon--grid-view-black-48x48IC_gd_Check-Circle170821_Icons_Community170823_Bosch_Icons170823_Bosch_Icons170821_Icons_CommunityIC-logout170821_Icons_Community170825_Bosch_Icons170821_Icons_CommunityIC-shopping-cart2170821_Icons_CommunityIC-upIC_UserIcon--imageIcon--info-i-black-48x48Icon--left-alignedIcon--Less-minimize-black-48x48Icon-FilledIcon--List-Check-grennIcon--List-Check-blackIcon--List-Cross-blackIcon--list-view-mobile-black-48x48Icon--list-view-black-48x48Icon--More-Maximize-black-48x48Icon--my-product-black-48x48Icon--newsletter-black-48x48Icon--payment-black-48x48Icon--print-black-48x48Icon--promotion-black-48x48Icon--registration-black-48x48Icon--Reset-black-48x48Icon--right-alignedshare-circle1Icon--share-black-48x48Icon--shopping-bag-black-48x48Icon-shopping-cartIcon--start-play-black-48x48Icon--store-locator-black-48x48Ic-OverlayAlertIcon--summary-black-48x48tumblrIcon-FilledvineIc-OverlayAlertwhishlist