CHAPTER 1 INTRODUCTION

Abstract:
This report presents embedded processor based automatic temperature control of VLSI chips, using temperature sensor LM35 and ARM processor LPC2378. Due to the very high packing density, VLSI chips get heated very soon and if not cooled properly, the performance is very much affected. In the present work, the sensor which is kept very near proximity to the IC will sense the temperature and the speed of the fan arranged near to the IC is controlled based on the PWM signal generated by the ARM processor. A buzzer is also provided with the hardware, to indicate either the failure of the fan or overheating of the IC. The entire process is achieved by developing a suitable embedded C program.

Introduction
With the phenomenal developments in VLSI technology, the ambitious IC designers are trying to put more transistors in to smaller packages. So, the ICs run at higher speeds and produce large amount of heat which creates the problem of thermal management. For example, nowadays the CPU chips are becoming smaller and smaller with almost no room for the heat to escape. The
1

total power dissipation levels now reside on the order of 100 W with a peak power density of 400-500 W/Cm2, and are still steadily climbing [1]. As the chip temperature increases its performance is very much degraded by parameters shift, decrease in operating frequencies and out-of specification of timings. So the high speed chips must be cooled to maintain good performance for the longest possible operating time and over the widest possible range of environmental conditions. The maximum allowable temperature for ahigh speed chip to meet its parametric specifications depends on the process and how the chip is designed. Among the various cooling techniques, heat sinks, heat pipes, fans and clock throttling are usually employed. Among these techniques, fans can dramatically reduce the temperature of a high speed chip, but they also generate a great deal of acoustic noise. This noise can be reduced significantly by varying the fans speed based on temperature i.e. the fan can turn slowly when the temperature is low and can speed up as the temperature increases. The other prominent method is clock throttling i.e. reducing the clock speed to reduce power dissipation. But it also reduces the system performance and the systems functionality is lost. So, the objective of the present work is, to design a hardware system consisting of a brushless DC motor fan whose speed is controlled based on the temperature of the chip, sensed by the sensor LM35. The LM35 series are precision integrated-circuit temperature sensors, whose output voltage is linearly proportional to the Celsius (Centigrade) temperature. The LM35 thus has an advantage over linear temperature sensors calibrated in °Kelvin, as the user is not required to subtract a large constant voltage from its output to obtain convenient Centigrade scaling. The LM35 does not require any external calibration or trimming to provide typical accuracies of ±1⁄4°C at room temperature and ±3⁄4° over a full −55 to +150°C
2

temperature range. Low cost is assured by trimming and calibration at the wafer level. The LM35’s low output impedance, linear output, and precise inherent calibration make interfacing to readout or control circuitry especially easy. It can be used with single power supplies, or with plus and minus supplies. As it draws only 60 µA from its supply, it has very low self-heating, less than 0.1°C in still air. The LM35 is rated to operate over a −55° to +150°C temperature range, while the LM35C is rated for a −40° to +110°C range (−10° with improved accuracy). The LM35 series is available packaged in hermetic TO-46 transistor packages, while the LM35C, LM35CA, and LM35D are also available in the plastic TO-92 transistor package. The LM35D is also available in an 8-lead surface mount small outline package and a plastic TO-220 package [3]. To monitor the voltage at the terminals of the DC motor fan, the PWM signal is generated by the ARM7TDMI processor. This PWM signal is changed in accordance to the output of the LM35 temperature sensor. So the important component of this entire project is the temperature sensor.

DESCRIPTION:
In ARM processor based automatic temperature control system, the output of the temperature sensor is fed to the on chip ADC and the output of the ADC is given to the L293D driver IC which in turn is fed to DC motor fan as shown in the block diagram in Fig. 1. A graphic LCD (128x64 pixels) is interfaced to the ARM LPC 2378 processor to display the temperature of the IC and the speed of the fan.

3

in case of the failure of the fan or overheating of the chip beyond some level.A buzzer is also connected to the processor which gives an indication.
BLOCK DIAGRAM:
4
.

set or reset individual pixels. LPC2378ARM7TDMi Processor 4. L293D Motor Driver 5. DC Motor Fan
128X64 Graphics LCD:
Description: This is a smaller version of our serial graphic LCD. circles and boxes.
5
. 128X64 Graphics LCD 2. The Serial Graphic LCD backpack is soldered to the 128x64 pixel Graphic LCD and provides the user a simple serial interface to a full range of controls. this serial graphic LCD allows the user to draw lines. erase specific blocks of the display. LM35 Temperature Sensor 3.CHAPTER 2 HARDWARE DESCRIPTION
In ARM processor based automatic temperature control system the general hardware components that are required are listed as follows:
1. control the backlight and adjust the baud rate. Besides writing text.

2: Pin Diagram of 128x64 LCD
6
.1: 128x64 LCD
Fig2.Fig 2.

3: LM35 Temperature Sensor
7
. The sensor circuitry is sealed and not subject to oxidation.LM35 Temperature Sensor:
The LM35 is an integrated circuit sensor that can be used to measure temperature with an electrical output proportional to the temperature (in oC)
The LM35 . The LM35 generates a higher output voltage than thermocouples and may not require that the output voltage be amplified. etc.An Integrated Circuit Temperature Sensor

LM35 is used to measure temperature because:
o o o
One can measure temperature more accurately than a using a thermistor.
Fig 2.

1 oC temperature rise in still air. (Shown in the picture above)

How Do You Use An LM35? (Electrical Connections)
o o
Here is a commonly used circuit. including the following.8 oC over a range of 0 oC to +100 oC. The sensor selfheating causes less than 0.
   
TO-92 plastic transistor-like package.
The LM35 comes in many different packages. Ra = Vc /10-6
8
.
What Does an LM35 Do? How does it work?
o o o
It has an output voltage that is proportional to the Celsius temperature. For connections refer to the picture above.
o
Another important characteristic of the LM35DZ is that it draws only 60 micro amps from its supply and possesses a low self-heating capability. parameter values commonly used are:
  
Vc = 4 to 30v 5v or 12 v are typical values used.0.01V/oC The LM35 does not require any external calibration or trimming and maintains an accuracy of +/-0. In this circuit. T0-46 metal can transistor-like package 8-lead surface mount SO-8 small outline package TO-202 package. The scale factor is .4 oC at room temperature and +/.

that is 100 oC/V. then. The general equation used to convert output voltage to temperature is:
 
Temperature ( oC) = Vout * (100 oC/V) So if Vout is 1V .4: Circuit Connection of LM35 Sensor

What Can You Expect When You Use An LM35?
o o o o o
You will need to use a voltmeter to sense Vout. Temperature = 100 oC
9
. Use a conversion factor that is the reciprocal.
Actually. but most just use 80 KW. The sensor has a sensitivity of 10mV / oC. The output voltage is converted to temperature by a simple conversion factor.
Fig 2. it can range from 80 KW to 600 KW .

8 kB SRAM for USB and general purpose use. two CAN channels. USB full speed device with 4 kB of endpoint RAM. 10-bit DAC. a CAN control unit. For critical performance in interrupt service routines and DSP algorithms. an improved 10-bit ADC. the alternative 16-bit Thumb mode reduces code by more than 30 % with minimal performance penalty. The LPC2378 is ideal for multi-purpose serial communication applications. For critical code size applications.
The output voltage varies linearly with temperature. two Synchronous Serial Ports (SSP).
10
. It incorporates a 10/100 Ethernet Media Access Controller (MAC). together with 2 kB battery powered SRAM make this device very well suited for communication gateways and protocol converters. and an External Memory Controller (EMC). 16 kB SRAM for Ethernet. this increases performance up to 30 % over Thumb mode. SRAM of 32 kB. PWM unit. This blend of serial communications interfaces combined with an on-chip 4 MHz internal oscillator. Various 32-bit timers. an I2S interface. A 128-bit wide memory interface and a unique accelerator architecture enable 32-bit code execution at the maximum clock rate.
LPC2378 ARM7TDMI Processor:
GENERAL DESCRIPTION:
The LPC2378 microcontroller is based on a 16-bit/32-bit ARM7TDMI-S CPU with real-time emulation that combines the microcontroller with 512 kB of embedded high-speed flash memory. an SPI interface. three I2C interfaces. four UARTs.

16 kB SRAM for Ethernet interface.
11
. 8 kB SRAM for general purpose DMA use also accessible by the USB. and the Secure Digital/MultiMediaCard (SD/MMC) card port. General Purpose AHB DMA controller (GPDMA) that can be used with the SSP serial interfaces. Dual Advanced High-performance Bus (AHB) system that provides for simultaneous Ethernet DMA. supporting up to 32 vectored interrupts. USB DMA. and program execution from on-chip flash with no contention between those functions. EMC provides support for static devices such as flash and SRAM as well as off-chip memory mapped peripherals. 32 kB of SRAM on the ARM local bus for high performance CPU access.
FEATURES:
ARM7TDMI-S processor. Up to 512 kB on-chip flash program memory with In-System Programming (ISP) and In.and up to 104 fast GPIO lines with up to 50 edge and up to four level sensitive external interrupt pins make these microcontrollers particularly suitable for industrial control and medical systems. Can also be used as general purpose SRAM. Flash program memory is on the ARM local bus for high performance CPU access. the I2S port.Application Programming (IAP) capabilities. A bus bridge allows the Ethernet DMA to access the other AHB subsystem. running at up to 72 MHz. as well as for memory-to-memory transfers. Advanced Vectored Interrupt Controller (VIC).

SPI controller. Four UARTs with fractional baud rate generation. one with IrDA support. one with modem control I/O. Three I2C-bus interfaces (one with open-drain and two with standard port pins). with FIFO and multi-protocol capabilities. It can be used with the GPDMA. The PWM has
12
. 10-bit DAC. One PWM/timer block with support for three-phase motor control.0 full-speed device with on-chip PHY and associated DMA controller. Two SSP controllers. Four general purpose timers/counters with 8 capture inputs and 10 compare outputs. One is an alternate for the SPI port. 10-bit ADC with input multiplexing among 8 pins. I2S (Inter-IC Sound) interface for digital audio input or output. all with FIFO. USB 2. sharing its interrupt and pins. Each timer block has an external count input.Serial Interfaces: Ethernet MAC with associated DMA controller. 104 General purpose I/O pins with configurable pull-up/down resistors. These can be used with the GPDMA controller. Other peripherals: SD/MMC memory card interface. CAN controller with two channels. These functions reside on an independent AHB bus.

3 V power supply (3. and power-down. Single 3. Standard ARM test/debug interface for compatibility with existing tools.0 V to 3. On-chip power-on reset. Brownout detect with separate thresholds for interrupt and forced reset. Three reduced power modes: idle. Four external interrupt inputs configurable as edge/level sensitive. allowing data to be stored when the rest of the chip is powered off. WatchDog Timer (WDT). On-chip crystal oscillator with an operating range of 1 MHz to 24 MHz.6 V). RTC interrupt. Real-Time Clock (RTC) with separate power pin. Ethernet wake-up interrupt). USB activity. Two independent power domains allow fine tuning of power consumption based on needed features. 4 MHz internal RC oscillator trimmed to 1 % accuracy that can optionally be used as
13
.two external count inputs. Processor wake-up from Power-down mode via any interrupt able to operate during Power-down mode (includes external interrupts. 2 kB SRAM powered from the RTC power pin. All pins on PORT0 and PORT2 can be used as edge sensitive interrupt sources. Emulation trace module supports real-time trace. the RTC oscillator. or the APB clock. Each peripheral has its own clock divider for further power saving. sleep. clock source can be the RTC oscillator or the APB clock. The WDT can be clocked from the internal RC oscillator.

APPLICATION:
Industrial control Medical systems Protocol converter Communications
Fig2. When used as the CPU clock. the internal RC oscillator. May be run from the main oscillator.the system clock. does not allow CAN and USB to run On-chip PLL allows CPU operation up to the maximum CPU rate without the need for a high frequency crystal. or the RTC oscillator. Boundary scan for simplified board testing. Versatile pin function selections allow more possibilities for using on-chip peripheral functions.5 LPC2378 ARM7TDMI Processor
14
.

Fig 2.6 :Block Diagram
15
.

and memory systems to operate continuously. and the processing. This enables several operations to take place simultaneously. A three-stage pipeline is used. so instructions are executed in three stages: • Fetch • Decode • Execute.
16
.The instruction pipeline:
The ARM7TDMI-S processor uses a pipeline to increase the speed of the flow of instructions to the processor.

The Thumb instruction set:
The Thumb instruction set is a subset of the most commonly used 32-bit ARM instructions. Thumb implements a 16-bit instruction set on a 32-bit architecture to provide: • higher performance than a 16-bit architecture • higher code density than a 32-bit architecture.ARM7TDMI-S architecture:
The ARM7TDMI-S processor has two instruction sets: • the 32-bit ARM instruction set • the 16-bit Thumb instruction set. Therefore. Thumb instructions are each 16 bits long. 32-bit architectures had higher performance manipulating 32-bit data and could address a large address space much more efficiently than 16-bit architectures. and greater than half the performance. and have a corresponding 32-bit ARM instruction that
17
.
Instruction compression:
Microprocessor architectures traditionally had the same width for instructions and data.16-bit architectures typically had higher code density than 32-bit architectures. The ARM7TDMI-S processor is an implementation of the ARM architecture v4T.

according to the requirements of their applications. Thumb code is typically 65% of the size of the ARM code and provides 160% of the performance of ARM code when running on a processor connected to a 16-bit memory system. makes the ARM7TDMI-S processor ideally suited to embedded applications with restricted memory bandwidth. Thumb. The availability of both 16-bit Thumb and 32-bit ARM instruction sets gives designers the flexibility to emphasize performance. Thumb has all the advantages of a 32-bit core: • 32-bit address space • 32-bit registers • 32-bit shifter and Arithmetic Logic Unit (ALU) • 32-bit memory transfer.
18
. powerful arithmetic operations. where code density is important. Thumb instructions operate with the standard ARM register configuration. allowing excellent interoperability between ARM and Thumb states. On execution. 16-bit Thumb instructions are transparently decompressed to full 32-bit ARM instructions in real time. critical loops for applications such as fast interrupts and DSP algorithms can be coded using the full ARM instruction set and linked with Thumb code. therefore. For example. Thumb therefore offers a long branch range.has the same effect on the processor model. without performance loss. or code size on a subroutine level. and a large address space.

Enable pins 1 and 9 (corresponding to the two motors) must be high for motors to start operating. The motor operations of two motors can be controlled by input logic at pins 2 & 7 and 10 & 15. Input logic 00 or 11 will stop the corresponding motor.L293D Motor Driver:
L293D is a dual H-Bridge motor driver. Moreover for protection of circuit from back EMF ouput diodes are included within the IC. which has made L293D a best choice for DC motor driver. the associated driver gets enabled. that driver is disabled. Similarly. two DC motors can be driven simultaneously. respectively.
19
. and their outputs are off and in the high-impedance state. When an enable input is high. L293D has output current of 600mA and peak output current of 1. L293D contains two inbuilt H-bridge driver circuits. The output supply (VCC2) has a wide range from 4. In its common mode of operation. both in forward and reverse direction. As a result. Logic 01 and 10 will rotate it in clockwise and anticlockwise directions. So with one IC we can interface two DC motors which can be controlled in both clockwise and counter clockwise direction and if you have motor with fix direction of motion the you can make use of all the four I/Os to connect up to four DC motors.2A per channel.5V to 36V. when the enable input is low. the outputs become active and work in phase with their inputs.

8:Pin Description of L293D
20
.7:L293D Motor driver
Fig2.Fig 2.

Fig 2. the output of the temperature sensor is fed to the on chip ADC and the output of the ADC is given to the L293D driver IC which in turn is fed to DC motor fan.9:circuit connection of L293D with Motor
CIRCUIT DIAGRAM OF PROJECT:
In ARM processor based automatic temperature control system. A graphic LCD (128x64 pixels) is interfaced to the ARM
21
.

fans and clock throttling are usually employed. fans can dramatically reduce the temperature of a high speed chip. The entire circuit diagram is shown in Fig. This noise can be reduced significantly by varying the fans speed based on temperature i. the fan can turn slowly when the temperature is low and can speed up as the temperature increases. the objective of the present work is. Among these techniques.e.
Among the various cooling techniques. to design a hardware system consisting of a brushless DC motor fan whose speed is controlled based on the temperature of the chip. But it also reduces the system performance and the systems functionality is lost.e. sensed by the sensor LM35. heat sinks. A buzzer is also connected to the processor which gives an indication. but they also generate a great deal of acoustic noise. So. The other prominent method is clock throttling i.LPC 2378 processor to display the temperature of the IC and the speed of the fan. heat pipes.
22
. in overheating of the chip beyond some level. reducing the clock speed to reduce power dissipation.

Fig 2.10: Circuit Diagram
23
.

A 128-bit wide memory interface and unique accelerator architecture enable 32-bit code execution at the maximum clock rate. four UARTs. In-System Programming is programming or reprogramming the on-chip flash memory. using the bootloader software and a serial port. For critical code size applications. For critical performance in interrupt service routines and DSP algorithms. two CAN channels. and an I2S interface. The LPC2387 is ideal for multi-purpose serial communication applications. two Synchronous Serial Ports (SSP). an SPI interface. three I2C interfaces. the alternative 16-bit Thumb mode reduces code by more than 30 % with minimal performance penalty.
24
. this increases performance up to 30 % over Thumb mode. This blend of serial communications interfaces combined with an on-chip 4 MHz internal oscillator. 16 kB SRAM for Ethernet. The LPC2387 microcontroller is based on a 16-bit/32-bit ARM7TDMI-S CPU with real-time emulation that combines the microcontroller with 512 kB of embedded high-speed flash memory.CHAPTER 3 SOFTWARE DESCRIPTION
The present work is implemented using ARM IAR Workbench IDE and the necessary embedded C program is developed and dumped into the embedded processor using Flash magic ISP Utility. The ARM IAR Workbench IDE is a very powerful Integrated Development Environment (IDE) that allows you to develop and manage complete embedded application projects. USB full speed device with 4 kB of endpoint RAM. It incorporates a 10/100 Ethernet Media Access Controller (MAC). 64 kB SRAM.

1: Flowchart
25
. Various 32-bit timers. a CAN control unit.16 kB SRAM for USB and general purpose use.
Fig 3. and up to 70 fast GPIO lines with up to 12 edge or level sensitive external interrupt pins make this microcontroller particularly suitable for industrial control and medical systems. together with 2 kB battery powered SRAM makes this device very well suited for communication gateways and protocol converters. Philips provides a utility program for InSystem programming called Flash magic Software . an improved 10-bit ADC. one PWM unit. The LPC2378 Microcontroller provides on-chip boot-loader software that allows programming of the internal flash memory over the serial channel. 10-bit DAC.

This is done by placing a temperature sensor close to the target chip either directly next to it or in some cases. controlling fan speed or clock throttling based on temperature requires that the temperature of the high speed chip should be first measured. Though the present system is working well in the given environment. the temperature sensor is kept inside a small oven and its temperature is increased beyond the room temperature. still it is worthwhile to highlight the following conclusions. Normally.CHAPTER 4 RESULTS AND CONCLUSION
Embedded ARM processor based automatic speed control DC motor fan is designed and implemented . Of course a better alternative is possible with a number of high speed chips. Now the fan is operated to run with full speed and the temperature is found to come back to normal temperature. FPGA chips etc. This is repeated with various VLSI chips like Pentium processor. These results are displayed on LCD panel. but can be significantly lower and the difference between measured temperature and the actual die temperature increases as the power dissipation increases. Now the temperature sensor is kept very near to the Pentium processor of the computer and it is observed that. under it or on the heat sink.To test the validity of the design. the temperature of the circuit board or heat sink must be correlated to the die temperature of the high speed chip. Many CPUs. as the time lapses the speed of the fan is automatically increased and the temperature of the chip is found to be controlled. FPGAs and other high speed ICs include a thermal diode which is actually a diode connected bipolar
26
. So. The temperature measured in this way corresponds to that of the high speed chip.

the temperature of the high speed IC’s die can be measured directly with an excellent accuracy. In some systems. This is inexpensive and also efficient. So to avoid these effects the fan’s drive signal must be limited to an acceptable level. Simply switching a fan on and off or changing speed immediately as temperature changes is acceptable in some environments. This is critical when the system is in close proximity to users. the sudden changes in fans noise are highly annoying. which is easily audible.transistor. whose duty cycle is varied to adjust the fan’s speed. There is also a drawback in fan speed control. Normally the fan speed is controlled by adjusting the power supply voltage of the fan. on the die. Using a remote diode temperature sensor connected to this thermal diode.
27
. but it also eliminates the long thermal time constants. it is also important to limit the rate of change of the fan speed. This is done by a low-frequency PWM signal. usually in the range of about 50 Hz. The PWM waveforms fast edges cause the fans mechanical structure to move. But when users are in nearby. from several seconds to minutes. This not only eliminates the large temperature gradients involved in measuring temperature outside the target IC’s package. that cause delays in responding to die temperature changes. But the disadvantage of this method is that it makes the fan somewhat nosier because of the pulsed nature of the power supply.

So. Fan speed regulators with multiple channels of fan tachometer monitoring can provide reliable control of fan RPM or supply voltage based on commands from an external microcontroller. Both include complete thermal fault monitoring with over temperature outputs. which can be used to shut down the system if the high speed chips get too hot. the present work can be improved further by using the above mentioned techniques. we can use a remote diode temperature sensor connected to the thermal diode which measures the temperature of the high speed ICs directly with excellent accuracy. The second IC also performs a similar function but drives the fan with a PWM waveform through an external pass transistor. So. Another important aspect is a variety of remote temperature sensors with up to five sensing channels is available that can detect the die temperature of the high speed chip and transmit temperature data to a microcontroller.
28
. But the temperature sensed by the IC LM35 is not very accurate even though we keep the IC very near to the processor or VLSI chip. The first IC can sense the remote temperature and controls the fan speed based on that temperature. It produces a DC supply voltage for the fan through an internal power transistor. For this simple ICs are provided by MAXIM MAX6660 and MAX6653.CHAPTER 5 FUTURE SCOPE
In the present work temperature is sensed using the temperature sensor LM35 and the speed of the motor is controlled by varying the width of PWM generated by the processor.

29
. using temperature sensor LM35 and ARM processor LPC2378. the sensor which is kept very near proximity to the IC will sense the temperature and the speed of the fan arranged near to the IC is controlled based on the PWM signal generated by the ARM processor. A buzzer is also provided with the hardware.SUMMARY
This paper presents embedded processor based automatic temperature control of VLSI chips. In the present work. to indicate either the failure of the fan or overheating of the IC. the performance is very much affected. VLSI chips get heated very soon and if not cooled properly. Due to the very high packing density.