This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F28069M: EQEP2 GPIOs can be re-used for other function?

Part Number: TMS320F28069M
Other Parts Discussed in Thread: BOOSTXL-DRV8301, , DRV8301, LAUNCHXL-F28069M

Dear All,

I am planning on using the TMS320F28069M as our Test Controller in our hardware re-design and am limited on GPIO resources that I need for my other modules. I plan on using a BOOSTXL-DRV8301 for motor control and an encoder for accurate position control. As far as I can tell, I need to reserve GPIOs 20, 21, 22, 23 for EQEP1 functionality.

Q1. I want to know if can use the GPOs reserved for EQEP2 (GPIO54, 55, 58, 59) for other functionality that would be running 3.3V.

Q2. I see that the schematic has these pins Level shifted from 5V, so would using these as 3.3V cause some drive issues with the level shifter?

Q3. Also, when using DRV8301 jumper JP7 should be set, using J1.3 and J1.4 as FAULT and OCTW for BoostXL-DRV8301.

Q4. Can J7.3 and J7.4 then be used for UART only or can they be re-assigned as GPIOs?

Q5. In order to free up GPIOs, (I need 23 of them) I will be sharing the SPI pins SCLK, SDI and SDO used by the Boostxl-DRV8301 with my other modules and where necessary using a CSB to identify which module is being addressed. Is using these SPI pins as shared resources acceptable?

Q6. I also require 5 ADC input pins with 3.3V input range. These will be used to perform measurements while the motor is stopped. Will using ADC pins pose any conflict with BoostXL_DRV8301?

Regards, James

  • Q1. I want to know if can use the GPOs reserved for EQEP2 (GPIO54, 55, 58, 59) for other functionality that would be running 3.3V.

    Yes, if you only control one motor with a QEP, you can use GPIOs of the other QEP2 for other functionality.

    Q2. I see that the schematic has these pins Level shifted from 5V, so would using these as 3.3V cause some drive issues with the level shifter?

    That is related to the output of the encoder. The outputs of the encoders are 5.0V, so need to convert them to 3.3V for C2000.

    Q3. Also, when using DRV8301 jumper JP7 should be set, using J1.3 and J1.4 as FAULT and OCTW for BoostXL-DRV8301.

    Q4. Can J7.3 and J7.4 then be used for UART only or can they be re-assigned as GPIOs?

    Q5. In order to free up GPIOs, (I need 23 of them) I will be sharing the SPI pins SCLK, SDI and SDO used by the Boostxl-DRV8301 with my other modules and where necessary using a CSB to identify which module is being addressed. Is using these SPI pins as shared resources acceptable?

    Please refer to the schematic, you can configure the unused GPIO or ADCs for other functionality you want, there are only some ADC and GPIOs that are needed for BoostXL_DRV8301.

    Q6. I also require 5 ADC input pins with 3.3V input range. These will be used to perform measurements while the motor is stopped. Will using ADC pins pose any conflict with BoostXL_DRV8301?

    There are many ADC pins that are not used for motor drive with BoostXL_DRV8301 if you only use one BoostXL_DRV8301, so you can use these unused ADC pins.

  • Hello Yanming, thank you for your reply. I would like to clarify Q3 and Q4 please.

    Q3. BoostXL-DRV8301 requires FAULTn and OCTWn from the BOOSTXL-DRV8301 to be configured on pins J1.3 and J1.4. I also want to communicate to the BOOSTXL-F28069M MCU using UART B, configured ideally on J7.3 and J7.4. What is the jumper configuration to allow this please?

    Am I correct in saying that the DRV8301 boost board requires GPIO pins to be on J1.3 and J1.4 according to the schematic Sheet 7 of Launchxl-F28069M, mux_sel=0 and ch_sel=0 (i.e. both jumpers on) in which case I can configure the BOSTXL-DRV8301 fault and octw functionality AND have UART B on the other pins (GPIO15, 58)?

    Regards, James

  • If the GPIOs have been used by BOOSTXL-DRV8301 for PWM, FAULT , OCTW, and EN, you can't use these GPIOs for other functionality. So you can't use these two GPIOs for FAULT/OCTW and UART at the same time. 

    Generally, the nFAULT and OCTW should be connected to the GPIOs supporting the Trip Zone feature.

    Yes, please refer to the schematic, you can use (GPIO15, 58) for UART if you only use the J1 and J3 for one BOOSTXL-DRV8301.