Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 
    SOLVED

    Cannot get chip ID BHA260

    Cannot get chip ID BHA260

    Minh
    New Poster

    Hi,

    I'm trying to communicate nrF52832 and  BHA260AB shuttle board but I cannot get the chip ID. I checked with the logic analyzer and saw the ACK is returned. 

    Minh_0-1635927327126.png

    this is I2C read function:

    int8_t twi_read(uint8_t sl_addr, uint8_t reg_addr, uint8_t* output, uint8_t len)
    {
    ret_code_t err_code;

    err_code = nrf_drv_twi_tx(&m_twi, sl_addr, &reg_addr, 1, false);
    APP_ERROR_CHECK(err_code);

    nrf_delay_us(300); //not work if no delay
    NRF_LOG_FLUSH();

    err_code = nrf_drv_twi_rx(&m_twi, sl_addr, output, len);
    APP_ERROR_CHECK(err_code);

    nrf_delay_us(500); //delay to wait for the response

    if(rx_done)
    return 0;
    else
    return -1;
    }

    Please tell me what is the problem here? thanks.

     

    15 REPLIES 15

    BSTRobin
    Community Moderator
    Community Moderator

    Hello Minh,

    You should check host I2C read function, there was two I2C stop signal in your waveform.
    It works well on my side.

    BHI260 read chip ID.png

    Hi BSTRobin,

    Thanks for your response. I removed a stop signal but the result is still 0.

    Minh_0-1635946793838.png

    In writing case, I received NACK like this so I cannot write data.

    Minh_0-1635947664654.png

    BHA260 shuttle board is new and is the first time I use it. Is the firmware already uploaded to the BHA260 chipset? I feel like the chip is blocked and I cannot access it.

    Thanks

     

     

     

    BSTRobin
    Community Moderator
    Community Moderator

    Hello Minh,

    The chip ID can be read before the firmware is loaded.
    In your SW code, you need to shift one bit to the right your device address(sl_addr) to 0x50, and try it again.

    Hi BSTRobin,

    I tried with slave address 0x50 but received NACK.

    Minh_1-1636012171021.png

    I selected the address 0x28. My hardware setup:

    bha260.jpg

     

    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