Software Design

For BUSCLKX2 = 8 MHz, the HRPDT= $08

3.Set HRPPERH:HRPPERL to select the desired frequency (e.g. 88 kHz) The period of 88 kHz = 1/88 kHz

Output period (seconds) = HRPPERH:HRPPERL / (BUSCLKX2 * 32) then,

HRPPERH:HRPPERL = 1/88 kHz * (internal bus frequency * 32) = 2909 = $B5D

4.Select variable frequency mode and start the HRP

Writing $01 to the HRPCTRL register configures the module for variable frequency mode (HRPODE = 0) and enables the module (HRPEN = 1).

5.3.2 Main Program Loop

The functions of the main program can be broken down into several chronological phases, as follows:

1.Check required DC-bus voltage

2.Go to maximum ballast frequency

3.Apply maximum ballast frequency for start time

4.Go to preheat frequency

5.Apply preheat frequency for preheat time

6.Go to ignition frequency

7.Run mode

After the initialization stage, the software checks the DC-bus voltage value. When the DC-bus voltage does not reach the required value within the start time or the value is out of limits then the faultISR routine is launched.

In phase 2, the HRP frequency is set to the maximum ballast frequency, and this is maintained for the start time in phase 3.

In phase 4, the HRP frequency is ramped down to the preheat frequency, and this is maintained for the preheat time in phase 5.

In phase 6, the HRP frequency is ramped down to the ignition frequency. If the minimum ballast frequency is reached, then the controller tries again to ignite the lamps. If, in a defined number of attempts, the lamps did not ignite, the ignition is interrupted and the faultISR routine is launched.

Phase 7 is Run mode - a never ending loop. During this phase, the required dimming value is sensed from the dimming level potentiometer. The dimming value is sensed every ADDMININTERVAL. The tube currents are measured every cycle in never ending loop. The ballast frequency is control by PI regulator every 500us according required dimming level sensed from dimming potentiometer.

Dimmable Light Ballast with Power Factor Correction, Rev. 1

42

Freescale Semiconductor

Page 42
Image 42
Freescale Semiconductor M68HC08 manual Main Program Loop

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.