BOOSTXL-DRV8305EVM: Communication via SPI

Part Number: BOOSTXL-DRV8305EVM
Other Parts Discussed in Thread: TMS320F28069M, LAUNCHXL-F280049C, BOOSTXL-DRV8320RS

Hello all,

I'm trying to figure out the role of SPI communications between the LaunchPadXL TMS320F28069M and the BOOSTXL-DRV8305EVM before messing about with it. My aim is to use a Raspberry Pi to communicate via SPI to the LaunchPad, so that I can send some of my own data across and use it for plotting/analysing long datasets more easily and also in real-time (the LaunchPad will be connected to the R-Pi, which is connected and run via Matlab on my laptop).

I've successfully run dummy code for sending/receiving data between just the LaunchPad and the R-Pi using SPI (SPIa), and now I want to do the same for when the BOOSTXL-DRV8305EVM is also connected. I guess my problem is, I'm a bit unsure of the role the SPI connection has between the LaunchPad and the BOOSTXL. I've based my InstaSPIN code around tutorial lab 11a and stripped it right back to what I found relevant. I noticed the following lines in the main function of the code:

#ifdef DRV8305_SPI


so I thought I'd assess what's going on at the SPIa lines of the board using an oscilloscope, but there's nothing being sent. Will I be able to just program and use SPIa as I have done before, or does this play a large role in communications between the LaunchPad and BOOSTXL? I find the hal environment pretty confusing to decipher, but from what I can see both SPI handles get initialised and remain unchanged throughout.

Cheers in advance,


  • Hi Jon, and thanks for your question!

    Our experts will get back to you tomorrow!



  • Hi Jon,

    Thanks for reaching out.

    I have a few follow up questions:

    Please check your hardware initialization is correct (PVDD >PVDD_UVLO), EN_GATE = 1, Check to see if CVREG is there since it provides pullup for SDO).

    When using the LaunchPadXL TMS320F28069M + BOOSTXL-DRV8305, can you observe the correct SPI communication using the SPI pins and a logic analyzer?

    It should match the datasheet, and in terms of seeing how the SPI drivers are implemented in HAL software.



  • Hi Michael,

    For the hardware initialisation questions: supply is about 24V, so way beyond UVLO; EN_GATE is high; and as for CVREG... I'm not sure on this one. If it's an external capacitor I need to connect, then no. If it's on the board already, then it might be (C9 looks to be in the right place). I might also need to point out that I'm able to run a motor with no issues

    I've tried to observe SPI communication on the SPI_a lines (those connecting the LaunchPad and BOOSTXL), but don't see any activity at all - both the clock and SDO/SDI are held either high or low (I'd have to double check which). I've also got a sensor running I2C connected, so I tested out observation of that data transfer to make sure I wasn't doing anything wrong with my scope connections: that was fine.

    It seems a bit strange that I have no action on the SPI line, yet I have no issues running a motor - from what I could understand, the SPI communication between the two boards was key to the thing working! Hence, this post. I just want to make sure I'm not missing anything/misunderstood something, and whether or not I'd be good to use the unused SPI_b lines at the other end of the LaunchPad without messing up any other SPI comms



  • Hi Jon,
    When it comes to instaspin, SPI pretty much only programs the registers on DRVx, then it just sits. The majority of the communication comes VSEN,ISEN,INLx and INHx. So, SPI isn’t necessary to get the system to start, other than setting up the registers at the start. I think this helps answer your question, SPI doesn’t do a whole lot to make the system work.

    I will link some information about the SPI configuration and use:

    I also included a link to a video, you may find this helpful: Getting started with InstaSPIN-FOC using LAUNCHXL-F280049C & BOOSTXL-DRV8320RS