Software Implementation

5.3 Software Implementation

The general software implementation is illustrated in Figure 5-3. It incorporates the main routine entered from Reset and three interrupt states. The main routine includes the initialization of the microcontroller including PWM, HRP, ADC, and pins used in the application, and sets initial values for the PI regulator. The infinite loop is performed as long as board remains connected to the mains and no fault conditions are detected.

The interrupt states provide for trimming the internal oscillator, mains synchronization, reference sine wave generation, and fault detection and processing.

OverFlow Interrupt

of Timer, Fault

Interrupt

 

Fault

 

 

Interrupt

RESET

 

Routine

 

 

done

 

 

PWM Reload Interrupt

 

MCU & Application

 

 

Initialization

 

Sinewave

done

 

Generation

 

 

 

Interrupt

 

done

Routine

 

 

Main

 

 

 

 

Infinite

 

 

Loop

IRQ Interrupt

 

 

Synchronization

Interrupt

Routine

done

Figure 5-3. Software Implementation

5.3.1 Initialization Setup

Prior to running the main program loop, the initialization setup sets the microcontroller operation mode and peripherals. The quickest way to set and PWM is to use the auxiliary Excel sheet Reference [4]. To achieve the required system behavior and communication with peripherals, the following registers and initial values are set.

Set configuration registers CONFIG1 and CONFIG2 at the beginning of the initialization; they can be written once only after each reset.

The register CONFIG1 sets:

long COP time-out period

enable LVI module

disable STOP instruction

Dimmable Light Ballast with Power Factor Correction, Rev. 1

Freescale Semiconductor

39

Page 39
Image 39
Freescale Semiconductor M68HC08 manual Software Implementation, Initialization Setup

M68HC08 specifications

Freescale Semiconductor, known for its innovative solutions in the field of embedded systems, developed the M68HC08 microcontroller family, which includes the MC68HC908QT2. This 8-bit microcontroller is engineered to meet the demands of diverse applications, including automotive, industrial, and consumer electronics.

The MC68HC908QT2 is designed around Freescale’s M68HC08 core, which is renowned for its efficient and reliable performance. This microcontroller integrates a powerful instruction set, enabling developers to create high-performance applications with relatively low power consumption. The device operates at a clock frequency of up to 3 MHz, which is adequate for various control tasks.

One of the key features of the MC68HC908QT2 is its memory architecture. It includes a 2 KB Flash memory for program storage, representing a significant advantage for developers requiring non-volatile memory. Additionally, it encompasses 128 bytes of EEPROM memory, allowing for data retention even after power loss. The microcontroller also has 256 bytes of RAM for efficient data manipulation during operation.

In terms of input/output capabilities, the MC68HC908QT2 supports a variety of interfacing options. The microcontroller features up to 20 general-purpose I/O pins for flexibility in connecting with peripheral devices. Additionally, it provides multiple analog-to-digital converters (ADC) and timers that facilitate efficient analog signal processing and precise control through timing functions.

The architecture of the MC68HC908QT2 also incorporates sophisticated on-chip peripherals, enhancing its functionality. These peripherals include PWM (Pulse Width Modulation) outputs, which are essential for applications requiring motor control and other precise duty cycle processes. The integrated watchdog timer ensures reliable operation by resetting the system in the event of an application failure.

Moreover, the MC68HC908QT2 is equipped with an efficient power management system, enabling operation in a low-power mode, ideal for battery-powered applications. This microcontroller is packaged in a compact 28-pin dual in-line package (DIP), making it suitable for space-constrained designs.

In summary, the Freescale Semiconductor MC68HC908QT2 microcontroller is distinguished by its robust performance, extensive memory options, and versatile I/O capabilities. Its advanced features, including built-in timers, ADC, and a power management system, make it an exceptional choice for developers seeking to implement reliable and efficient embedded solutions. With its comprehensive architecture, the MC68HC908QT2 remains a popular choice in the landscape of 8-bit microcontrollers.