Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    BNO055 gets busy

    BNO055 gets busy

    Justin
    New Poster

    Hello, 

    I have been working on BNO055 that I program with Arduino IDE. 

    I have a line of multiple sensors that i communicate with through a i2C bus. The clock of the i2C bus has been upped to 400 kHz. 
    As I was working on it, trying to receive the eight bytes for quaternion values, I noticed that sometimes the sensors were taking longer times to respond than other times. So i decided to measure the time of answer for one sensor to the same operation through multiple loops. Here is what i observed : 

    Justin_1-1636965493712.png

     

    As you can see the sensor seems to get busy sometimes and the time of response can move up from  200 microseconds to 1,3 millisecond. As I have multiple sensors to get data from such durations could be improved upon by making sure each sensor is not busy when i try getting data from it. 


    So my question is the following : Is there a way to predict when a sensor is going to be busy ? (some kind of pattern seems to emerge from the figure, but other tests make it seem like it's not that simple) Or is there a way to make the sensor busy less frequently or for lesser periods of time ? 

    Thanks in advance.

    Justin

     

    3 REPLIES 3

    BSTRobin
    Community Moderator
    Community Moderator

    Hello Justin,

    Do you mean response time is 200 microseconds when you communicate with BNO055 individually?

    Hi, 

    Thank you for your reply. 

    Yes,200 microseconds is the minimum time to read the eight bytes of  the quaternion value for one individual sensor (231 microseconds, to be precise). 
    Was it expected to be the time to get data from multiple sensors ? If so, how to achieve such a result ? 


    BSTRobin
    Community Moderator
    Community Moderator

    Hello Justin,

    When there are multiple slave devices, there will be an access arbitration mechanism on the I2C bus, so the corresponding time is slower than single communication.

    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