Adrian Tudor

How to enable UART communication support on MCP5744P and MotorGD DevKits for Motor Control Applications

Discussion created by Adrian Tudor Employee on Dec 10, 2018

Introduction

NXP offers multiple low-cost solutions for motor control that can be interchanged to enable various scenarios based on the I/O needs and/or application performance requirements.

Using MPC5744P DevKit with MotorGD DevKit, one can build motor control applications by leveraging the MPC574xP product family key features for automotive domains with the simplicity of a $50 power stage kit capable of driving both PMSM and BLDC in 150W power range.

Since the MotorGD DevKit integrates an MC34GD3000 MOSFET pre-driver, a special initialization sequence needs to be done to drive the 3-phase power stage. Such sequence is based on driving the pre-driver reset and enable inputs in specific state under specific timings.

Unfortunately, due to the design of the MPC5744P development kit used as mother board to control the power stage, the pins that are default allocated for the UART communication are also routed to the MotorGD DevKit pins that controls the MC34GD3000 pre-driver causing run-time malfunctions in the power stage.

 

 

Detailed explanation

When using MPC5744P DevKit with MotorGD DevKit the following observations can be made:

  • On MotorGD DevKit the J1_1 and J1_3 pins are assigned to Enable and Reset functionalities for onboard MC34GD3000 integrated circuit pre-driver (see Fig. 1),

Fig.1  MotorGD DevKit pin-header

 

  • On MPC5744P DevKit (see Fig. 2) J1_1(LT_PD12) and J1_3(LT_PD9) pins are connected to MPC5744P microcontroller PD12 and PD9 pins, thru an integrated circuit (see Fig. 3) U21 NTB0102DP (dual supply translating receiver),
Fig. 2 MPC5744P DevKit pin-headerFig. 3 Level translator schematic
  • On the same MPC5744P DevKit, OpenSDA communication interface (UART) is connected to MPC5744P microcontroller thru PD12 and PD9 pins (see Fig. 4),

Fig. 4 OpenSDA block diagram

 

 

Solution -  How to use UART and MC34GD3000 in the same time

To use onboard OpenSDA UART communication interface (that is connected to PD9 and PD12 pins), those pins must be assigned to UART peripheral. Leaving those pins connected to J1_1 and J1_3 pins it will create some functionalities interferences on MotorGD DevKit enable and reset pins. That means when MPC5744P DevKit will communicate thru UART with some external device (e.g. PC), on enable and reset (on MotorGD DevKit) pins will arrive some unwanted pulses who will disable pre-driver integrated circuit.


First thing that should be made, is to disable the outputs of U21 NTB0102DP. To do that, jumper J25 (see Fig. 5) it has to be ON (closed) and optional jumper J24 can be disconnected completely (that will turn off B side of translating receiver integrated circuit).

Fig. 5 Jumper settings on MPC5744P DevKit board

 

Second step is to assign reset and enable functionalities to other pins (e.g. for enable use PA3 pin and for reset use PA4 pin).

 

Third step is to route (Fig. 6) the chosen pins (PA3 and PA4) to the default pins (J1_1 and J1_3 pins) and since MPotorGD DevKit is placed over MPC5744P DevKit, routing those pins can be made with wire jumpers directly on MotorGD DevKit pin-header J1.

 

Fig. 6 Routing reset an enable pin functionalities

Outcomes