Brushless DC motor (BLDC), also known as electronic commutation motor (ECM, EC motor) or synchronous DC motor, is a synchronous motor powered by DC through inverter or switching power supply. The synchronous motor will generate AC current to drive each connected motor through closed-loop controller. The controller supplies current pulses to the motor windings that control the speed and torque of the motor.

Compared with brush motor, brushless motor has the advantages of high power to weight ratio, high speed and electronic control. Brushless motors are used in computer peripherals (disk drives, printers), hand-held electric tools, and vehicles from model aircraft to automobiles.

This project describes how to use greenpak ™ Control three-phase brushless DC motor.

Below we describe the steps required to understand how the solution is programmed to create a DC motor control. However, if you just want to get the programming results, download the greenpak designer software to view the completed greenpak design file. Insert the greenpak development kit into your computer, and then click program to design the device.

Construction and operation principle

The structure and operation of BLDC motor are very similar to AC induction motor and brush DC motor. Like all other motors, BLDC motors also consist of rotors and stators (Figure 1).

The stator of BLDC motor is made of laminated steel and is used to carry the winding. The windings in the stator can be arranged in two patterns – star pattern (y) or triangle pattern( Δ)。 The main difference between the two modes is that y mode provides high torque at low RPM, while ∆ mode provides low torque at low rpm. This is because in the ∆ configuration, half of the voltage is applied to the non driven winding, which increases the loss, thereby increasing efficiency and torque. BLDC motors are controlled by electrical cycling. An electric cycle has six states. The motor commutation sequence based on Hall sensor is shown in Figure 2.

The basic principle of BLDC motor operation is the same as that of brush DC motor. For brushless DC motors, feedback is achieved by using mechanical commutators and brushes. In BLDC motor, multiple feedback sensors are used to realize feedback. The most commonly used sensors are Hall sensors and optical encoders.

In three-phase BLDC, the number of teeth (poles) is a multiple of 3 and the number of magnets is a multiple of 2. According to the number of magnets and teeth, each motor has a different number of cogging effects (i.e. magnetic attraction) rotor and stator) steps per revolution. To calculate the number of steps (n), we need to know how many teeth and how many magnets are used in the motor. The motor used in this project has 12 teeth (poles) and 16 magnets.

Therefore, to rotate for 1 turn, we need to generate 48 electric steps.


The main block diagram and typical application circuit are shown in Figure 3 and Figure 4 respectively.

The design has two inputs to control the motor speed and direction. Pin#8 control direction; The high level on pin#8 indicates that the motor rotates clockwise, and the low level indicates that it rotates counterclockwise. Pin#2 is used to control the speed by entering the frequency. No frequency signal on this pin will turn off the driver and the motor will stop. Applying a frequency to this pin within the first 500 milliseconds will start the motor. Using the input frequency enables us to control the motor speed very accurately. To calculate rpm, we need to know how many electric steps the motor contains:

The motor in this application has 48 steps, so the motor will run at 6250 rpm at 5KHz.

The design can be divided into four parts (Figure 5): Hall sensor processing block, grid driver block, PWM control or speed control block and protection block.

The processing module of Hall sensor includes ACMP (acmp0, acmp3, acmp4), deburring filter (dly1, dly5, dly6) and DFF (dff6, dff7, dff8). The hall sensor used in this project has 4 pins; VDD, GND and two differential outputs connected to the in+ and in inputs of ACMP. The internal VREF assembly is set to 1.2 V and is used as the VDD of the hall sensor. The filtered signal from ACMP enters the D input of DFF. The input frequency provides a clock for these DFFs and sets the rotation speed. The signals from these DFFs enter the gate driver and the 3-bit lut14 configured as XNOR. The result is that each time any Hall sensor changes its polarity, the output level will change alternately. Both edge detectors generate the actual speed frequency (Hall frequency) and compare it with the input frequency to generate PWM signal to control the rotation speed.

The gate driver module includes 12 3-bit LUTS, which can reverse the external transistors according to the feedback of the hall sensor. Among them, 6 LUTS (3-bit lut8 – 3-bit lut13) are used for CW direction, and the other 6 (3-bit lut1 – 3-bit lut6) are used for switching to CCW direction. The module also includes three 2-bit LUTS (2-bit lut4, 2-bit lut5 and 2-bit lut6), which are used to mix the signal of each phase PMOS transistor with PWM to ensure that the speed is independent of the load.

PWM control includes pwm2 component, counter cnt8, finite state machine fsm1, 3-bit lut15, 2 DFFs (dff0 and dff1), rising edge detector pdly0 and inverter inv0. Dff0 and dff1 are used together as frequency comparators; When the input frequency is higher than the hall frequency, the dff0 NQ output becomes low level; When the input frequency is lower than the hall frequency, the dff1 NQ output becomes low level. When the “+” input is low, the pwm2 out+ output will generate a PWM signal with a duty cycle range of 256/256 to 1/256. When the “-” input is low, pwm2 out+ will generate PWM whose duty cycle changes from 1/256 to 256/256. The PWM frequency is about 100 kHz, and the duty cycle of the IC is set to 0% at startup. The motor stops until the input frequency applied to Pin2. After applying the frequency to Pin2, the dff0 NQ output will become low and PWM will increase the duty cycle from 0 to 99.6%. The motor will continue to rotate until the hall sensor exceeds the input frequency. At this time, dff0 NQ output will become high level, and dff1 NQ output will become low level. This reversal will cause the PWM duty cycle to decrease to an acceptable value at the instant Vdd and load seen on the motor. The system will work continuously to balance the PWM duty cycle. The functions of fsm1, cnt8, 3-bit lut15 and pwm2 in this reversal will cause the PWM duty cycle to reduce to an acceptable value at the immediate Vdd and motor load. The system will work continuously to balance the PWM duty cycle. The functions of fsm1, cnt8, 3-bit lut15 and pwm2 in this reversal will cause the PWM duty cycle to drop to an acceptable value at the instant Vdd and load seen on the motor. The system will work continuously to balance the PWM duty cycle. The functions of fsm1, cnt8, 3-bit lut15 and pwm2 are used in the application note an-1052.

The protection block includes two delays (dly2 and dly9), a counter cnt0, and a 2-bit lut0 configured as an XOR gate. This part is designed to protect the motor and external FET from burning out. If the motor gets stuck or fails to start, the hall sensor will not provide the feedback required to shut down the motor. If no feedback is received after 100 milliseconds, the dly2 output will become low and the 2-bit lut0 turns off the motor. If this happens, cnt0 and dly9 will try to start the motor every 500 milliseconds for 8 milliseconds. This period of time is enough to start the motor, but not enough to cause damage to the motor.


This project describes how to use slg46620 greenpak IC and Hall effect sensor to control three-phase brushless DC motor. Slg46620 also contains other functions that can be used in this project. For example, ADC in greenpak can interpret the input DC voltage and generate PWM pulses based on this value instead of using the input frequency.

Previously, if designers wanted to control BLDC motors, they would be limited by electrical specifications and the functionality of dedicated off the shelf IC solutions. This forces designers to choose solutions that have fixed functions and may be overly lethal or expensive, which usually limits the IO of their systems.

Dialog greenpak reversed this design process by redefining configurability to designers. By using this greenpak application as a universally applicable (although also the only configurable) three-phase BLDC motor control scheme, designers can choose pin assignments and external FETs that meet the unique electrical specifications of their projects. In addition, even considering the external FET, the success of dialog greenpak solution

Leave a Reply

Your email address will not be published.