Bosch Sensortec Community

    Showing results for 
    Search instead for 
    Did you mean: 

    BMA400 CC1310 SPI interface

    BMA400 CC1310 SPI interface



    I have a custom board with Texas Instruments' CC1310, I want to send this board's coordinates via RF with bma400's help. RF part is ok, there are files on github as reference but I want to know if there is an example code for TI MCU's. I want to move quickly that's why I need help about that topic. If there is no sample doc as I want, how can I adapt files on github to my project ?

    13 REPLIES 13

    Community Moderator
    Community Moderator

    Hello ffatih, 


    Your interface modification looks okay, but in your code, reset funciton is before init function. 

    If so, your data log should be reset first as below. 

    MOSI: 0x7E;  MISO: 0x00
    MOSI: 0xB6;  MISO: 0x00

    And, for SPI reading in BMA400, we need one dummy byte. ( bma400.c line 593)

    For example, in case of chip ID, data log shall be as below.

    MOSI: 0x80;  MISO: 0x00
    MOSI: 0x00;  MISO: 0x00
    MOSI: 0x00;  MISO: 0x24

    However, in your log, MOSI just sent two bytes as 0x80, 0x00. 

    I think you can check based on this one. 

    Please let me know if you have any quesitons. 


    I have tried it with 3 and 4 bytes read, but no success.

    Community Moderator
    Community Moderator

    Hello ffaith, 

    Please check your SPI mode is running within two SPI mode. 


    Below capture is the BMA400 read with CPOL = '1' and CPHA = '1'. 



    Hi Minhwan,


    Thank you, I have checked SPI mod, Picture I have sent previous message was CPOL = '0' and CPHA = '0'. I read the document and as you shared it supports 0-0 and 1-1 modes. I also tried 1-1 mode, result is same on my side. I see no data on miso line. Maybe poor soldering cause this, I am not sure.




    Community Moderator
    Community Moderator

    Hello ffaith, 


    Yes, it looks like okay and could be working though.

    Here is the two suggestions. 


    1) Slow down SPI like 1Mhz.

    2) Reset before reading ID. (Reg 0x7E, CMD 0xB6), and 150ms delay. 


    Please share your result after test.