Sei sulla pagina 1di 30

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 14C at room temperature and 34 over a full 55 to +150C
2

temperature range. Low cost is assured by trimming and calibration at the wafer level. The LM35s 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.1C in still air. The LM35 is rated to operate over a 55 to +150C temperature range, while the LM35C is rated for a 40 to +110C 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.

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

BLOCK DIAGRAM:

CHAPTER 2 HARDWARE DESCRIPTION

In ARM processor based automatic temperature control system the general hardware components that are required are listed as follows:

1. 128X64 Graphics LCD 2. LM35 Temperature Sensor 3. LPC2378ARM7TDMi Processor 4. L293D Motor Driver 5. DC Motor Fan

128X64 Graphics LCD:


Description: This is a smaller version of our serial graphic LCD. 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. Besides writing text, this serial graphic LCD allows the user to draw lines, circles and boxes, set or reset individual pixels, erase specific blocks of the display, control the backlight and adjust the baud rate.

Fig 2.1: 128x64 LCD

Fig2.2: Pin Diagram of 128x64 LCD


6

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 - 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. The sensor circuitry is sealed and not subject to oxidation, etc. The LM35 generates a higher output voltage than thermocouples and may not require that the output voltage be amplified.

Fig 2.3: LM35 Temperature Sensor


7

What Does an LM35 Do? How does it work?


o o o

It has an output voltage that is proportional to the Celsius temperature. The scale factor is .01V/oC The LM35 does not require any external calibration or trimming and maintains an accuracy of +/-0.4 oC at room temperature and +/- 0.8 oC over a range of 0 oC to +100 oC.

Another important characteristic of the LM35DZ is that it draws only 60 micro amps from its supply and possesses a low self-heating capability. The sensor selfheating causes less than 0.1 oC temperature rise in still air.

The LM35 comes in many different packages, including the following.


TO-92 plastic transistor-like package, T0-46 metal can transistor-like package 8-lead surface mount SO-8 small outline package TO-202 package. (Shown in the picture above)

How Do You Use An LM35? (Electrical Connections)


o o

Here is a commonly used circuit. For connections refer to the picture above. In this circuit, parameter values commonly used are:

Vc = 4 to 30v 5v or 12 v are typical values used. Ra = Vc /10-6


8

Actually, it can range from 80 KW to 600 KW , but most just use 80 KW.

Fig 2.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. The output voltage is converted to temperature by a simple conversion factor. The sensor has a sensitivity of 10mV / oC. Use a conversion factor that is the reciprocal, that is 100 oC/V. The general equation used to convert output voltage to temperature is:

Temperature ( oC) = Vout * (100 oC/V) So if Vout is 1V , then, Temperature = 100 oC


9

The output voltage varies linearly with temperature.

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. A 128-bit wide memory interface and a unique accelerator architecture enable 32-bit code execution at the maximum clock rate. For critical performance in interrupt service routines and DSP algorithms, this increases performance up to 30 % over Thumb mode. For critical code size applications, 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. It incorporates a 10/100 Ethernet Media Access Controller (MAC), USB full speed device with 4 kB of endpoint RAM, four UARTs, two CAN channels, an SPI interface, two Synchronous Serial Ports (SSP), three I2C interfaces, an I2S interface, and an External Memory Controller (EMC). This blend of serial communications interfaces combined with an on-chip 4 MHz internal oscillator, SRAM of 32 kB, 16 kB SRAM for Ethernet, 8 kB SRAM for USB and general purpose use, together with 2 kB battery powered SRAM make this device very well suited for communication gateways and protocol converters. Various 32-bit timers, an improved 10-bit ADC, 10-bit DAC, PWM unit, a CAN control unit,
10

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.

FEATURES:

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

11

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

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

the system clock. When used as the CPU 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. May be run from the main oscillator, the internal RC oscillator, or the RTC oscillator. Boundary scan for simplified board testing. Versatile pin function selections allow more possibilities for using on-chip peripheral functions.

APPLICATION:
Industrial control Medical systems Protocol converter Communications

Fig2.5 LPC2378 ARM7TDMI Processor

14

Fig 2.6 :Block Diagram


15

The instruction pipeline:


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

16

ARM7TDMI-S architecture:
The ARM7TDMI-S processor has two instruction sets: the 32-bit ARM instruction set the 16-bit Thumb instruction set. The ARM7TDMI-S processor is an implementation of the ARM architecture v4T.

Instruction compression:
Microprocessor architectures traditionally had the same width for instructions and data. Therefore, 32-bit architectures had higher performance manipulating 32-bit data and could address a large address space much more efficiently than 16-bit architectures.16-bit architectures typically had higher code density than 32-bit architectures, and greater than half the performance. 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.

The Thumb instruction set:


The Thumb instruction set is a subset of the most commonly used 32-bit ARM instructions. Thumb instructions are each 16 bits long, and have a corresponding 32-bit ARM instruction that
17

has the same effect on the processor model. 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, without performance loss. 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. Thumb therefore offers a long branch range, powerful arithmetic operations, and a large address space. 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. Thumb, therefore, makes the ARM7TDMI-S processor ideally suited to embedded applications with restricted memory bandwidth, where code density is important. The availability of both 16-bit Thumb and 32-bit ARM instruction sets gives designers the flexibility to emphasize performance, or code size on a subroutine level, according to the requirements of their applications. For example, 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.
18

L293D Motor Driver:

L293D is a dual H-Bridge motor driver, 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. L293D has output current of 600mA and peak output current of 1.2A per channel. Moreover for protection of circuit from back EMF ouput diodes are included within the IC. The output supply (VCC2) has a wide range from 4.5V to 36V, which has made L293D a best choice for DC motor driver. L293D contains two inbuilt H-bridge driver circuits. In its common mode of operation, two DC motors can be driven simultaneously, both in forward and reverse direction. 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. Logic 01 and 10 will rotate it in clockwise and anticlockwise directions, respectively.

Enable pins 1 and 9 (corresponding to the two motors) must be high for motors to start operating. When an enable input is high, the associated driver gets enabled. As a result, the outputs become active and work in phase with their inputs. Similarly, when the enable input is low, that driver is disabled, and their outputs are off and in the high-impedance state.

19

Fig 2.7:L293D Motor driver

Fig2.8:Pin Description of L293D


20

Fig 2.9:circuit connection of L293D with Motor

CIRCUIT DIAGRAM OF PROJECT:

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. A graphic LCD (128x64 pixels) is interfaced to the ARM
21

LPC 2378 processor to display the temperature of the IC and the speed of the fan. A buzzer is also connected to the processor which gives an indication, in overheating of the chip beyond some level. The entire circuit diagram is shown in Fig.

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.

22

Fig 2.10: Circuit Diagram


23

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. In-System Programming is programming or reprogramming the on-chip flash memory, using the bootloader software and a serial port. 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. A 128-bit wide memory interface and unique accelerator architecture enable 32-bit code execution at the maximum clock rate. For critical performance in interrupt service routines and DSP algorithms, this increases performance up to 30 % over Thumb mode. For critical code size applications, the alternative 16-bit Thumb mode reduces code by more than 30 % with minimal performance penalty. The LPC2387 is ideal for multi-purpose serial communication applications. It incorporates a 10/100 Ethernet Media Access Controller (MAC), USB full speed device with 4 kB of endpoint RAM, four UARTs, two CAN channels, an SPI interface, two Synchronous Serial Ports (SSP), three I2C interfaces, and an I2S interface. This blend of serial communications interfaces combined with an on-chip 4 MHz internal oscillator, 64 kB SRAM, 16 kB SRAM for Ethernet,
24

16 kB SRAM for USB and general purpose use, together with 2 kB battery powered SRAM makes this device very well suited for communication gateways and protocol converters. Various 32-bit timers, an improved 10-bit ADC, 10-bit DAC, one PWM unit, a CAN control unit, 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. The LPC2378 Microcontroller provides on-chip boot-loader software that allows programming of the internal flash memory over the serial channel. Philips provides a utility program for InSystem programming called Flash magic Software .

Fig 3.1: Flowchart


25

CHAPTER 4 RESULTS AND CONCLUSION

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

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

27

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. 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. So, 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. 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. 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. For this simple ICs are provided by MAXIM MAX6660 and MAX6653. 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. The second IC also performs a similar function but drives the fan with a PWM waveform through an external pass transistor. 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. So, the present work can be improved further by using the above mentioned techniques.

28

SUMMARY

This paper 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.

29

REFERENCES

Philips Semiconductors LPC2378 Manual.


en.wikipedia.org/wiki/ARM_architecture

ARM Architecture Reference Manual, Addison-Wesley, 2001 ARM7TDMI-S Revision: r4p3Technical Reference Manual

30

Potrebbero piacerti anche