CY8CKIT-016 PSoC® 1 Thermal Management Kit Guide Doc. # 001-80790 Rev. ** Cypress Semiconductor 198 Champion Court San Jose, CA 95134-1709 Phone (USA): 800.858.1810 Phone (Intnl): 408.943.2600 http://www.cypress.com Copyrights Copyrights © Cypress Semiconductor Corporation, 2012. The information contained herein is subject to change without notice. Cypress Semiconductor Corporation assumes no responsibility for the use of any circuitry other than circuitry embodied in a Cypress product. Nor does it convey or imply any license under patent or other rights. Cypress products are not warranted nor intended to be used for medical, life support, life saving, critical control or safety applications, unless pursuant to an express written agreement with Cypress. Furthermore, Cypress does not authorize its products for use as critical components in lifesupport systems where a malfunction or failure may reasonably be expected to result in significant injury to the user. The inclusion of Cypress products in life-support systems application implies that the manufacturer assumes all risk of such use and in doing so indemnifies Cypress against all charges. Any Source Code (software and/or firmware) is owned by Cypress Semiconductor Corporation (Cypress) and is protected by and subject to worldwide patent protection (United States and foreign), United States copyright laws and international treaty provisions. Cypress hereby grants to licensee a personal, non-exclusive, non-transferable license to copy, use, modify, create derivative works of, and compile the Cypress Source Code and derivative works for the sole purpose of creating custom software and or firmware in support of licensee product to be used only in conjunction with a Cypress integrated circuit as specified in the applicable agreement. Any reproduction, modification, translation, compilation, or representation of this Source Code except as specified above is prohibited without the express written permission of Cypress. Disclaimer: CYPRESS MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Cypress reserves the right to make changes without further notice to the materials described herein. Cypress does not assume any liability arising out of the application or use of any product or circuit described herein. Cypress does not authorize its products for use as critical components in life-support systems where a malfunction or failure may reasonably be expected to result in significant injury to the user. The inclusion of Cypress’ product in a life-support systems application implies that the manufacturer assumes all risk of such use and in doing so indemnifies Cypress against all charges. Use may be limited by and subject to the applicable Cypress software license agreement. PSoC® is a registered trademark and PSoC Designer™ is a trademark of Cypress Semiconductor Corp. All other trademarks or registered trademarks referenced herein are property of the respective corporations. Flash Code Protection Cypress products meet the specifications contained in their particular Cypress PSoC Data Sheets. Cypress believes that its family of PSoC products is one of the most secure families of its kind on the market today, regardless of how they are used. There may be methods, unknown to Cypress, that can breach the code protection features. Any of these methods, to our knowledge, would be dishonest and possibly illegal. Neither Cypress nor any other semiconductor manufacturer can guarantee the security of their code. Code protection does not mean that we are guaranteeing the product as ‘unbreakable’. Cypress is willing to work with the customer who is concerned about the integrity of their code. Code protection is constantly evolving. We at Cypress are committed to continuously improving the code protection features of our products. 2 CY8CKIT-016 PSoC 1 Thermal Management Kit Guide, Doc. # 001-80790 Rev. ** Contents 1. Introduction 1.1 1.2 1.3 1.4 1.5 1.6 Overview......................................................................................................................5 Prerequisites................................................................................................................5 Features.......................................................................................................................5 Kit Contents .................................................................................................................6 Document History ........................................................................................................6 Documentation Conventions .......................................................................................6 2. Getting Started 2.1 2.2 2.3 3.2 13 Example Project: Thermal Management System ......................................................13 3.1.1 Overview ........................................................................................................13 3.1.2 Screen 1 - Zone 1 Summary ..........................................................................14 3.1.3 Screen 2 - Zone 2 Summary ..........................................................................14 3.1.4 Screen 3 - Temperature Sensor Summary.....................................................15 Technical Details .......................................................................................................15 3.2.1 High-Level Architecture..................................................................................15 3.2.2 PSoC 1 Resource Usage Details ...................................................................16 3.2.2.1 Global Resources ............................................................................16 3.2.3 Firmware Structure.........................................................................................21 3.2.4 Firmware Flowchart........................................................................................24 4. CY8CKIT-036 Hardware 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 7 Software Installation ....................................................................................................7 Hardware Setup...........................................................................................................8 2.2.1 CY8CKIT-001 PSoC DVK ................................................................................8 2.2.2 CY8CKIT-036 Jumper Settings: .....................................................................10 Running the Example Project ....................................................................................10 2.3.1 Programming..................................................................................................10 2.3.2 Demo Walk Through ......................................................................................11 3. Example Project 3.1 5 25 Hardware Overview ...................................................................................................25 2×20 pin Interface Header .........................................................................................26 CY8CKIT-036 Headers and Jumpers ........................................................................27 PWM Output Digital Temperature Sensors ...............................................................28 I2C Digital Temperature Sensor ................................................................................28 1-Wire Digital Temperature Sensor ...........................................................................29 Diode Analog Temperature Sensors .........................................................................29 4-Wire Fan Connectors..............................................................................................29 Development Kit and Expansion Board Kit Compatibility ..........................................29 CY8CKIT-016 PSoC 1 Thermal Management Kit Guide, Doc. # 001-80790 Rev. ** 3 Contents A. Appendix A.1 A.2 A.3 4 31 CY8CKIT-036 Schematics......................................................................................... 31 A.1.1 Power Supply................................................................................................. 31 A.1.2 4-Wire Fan Sockets ....................................................................................... 31 A.1.3 I2C/SMBus/PMBus Port................................................................................. 32 A.1.4 2x20 Pin DVK Connector and Test Points ..................................................... 32 A.1.5 1-Wire Temperature Sensor .......................................................................... 32 A.1.6 Temperature Diodes ...................................................................................... 32 A.1.7 I2C Temperature Sensor ............................................................................... 33 A.1.8 PWM Temperature Sensors .......................................................................... 33 CY8CKIT-036 Board Layout...................................................................................... 34 A.2.1 Top layer ........................................................................................................ 34 A.2.2 Bottom Layer ................................................................................................. 35 A.2.3 Top Silkscreen ............................................................................................... 36 CY8CKIT-036 Bill of Materials .................................................................................. 37 CY8CKIT-016 PSoC 1 Thermal Management Kit Guide, Doc. # 001-80790 Rev. ** 1. 1.1 Introduction Overview Thank you for your interest in the CY8CKIT-016 PSoC® 1 Thermal Management Kit. Thermal management is a combination of temperature sensing, fan control, and the algorithms or transfer functions that map temperature to fan speed. Thermal management is a critical, system-level function, which ensures that all components in the system operate within safe temperature limits, while at the same time minimizing power consumption and acoustic noise. The PSoC 1 Thermal Management Kit is designed to work with the CY8CKIT-001 PSoC Development Kit (DVK) and CY8CKIT-036 PSoC Thermal Management Expansion Board Kit (EBK). To evaluate the thermal management functions and capabilities of PSoC 1 devices, the CY8CKIT001 with CY8C28 family processor module and the CY8CKIT-036 are prerequisites. You can evaluate the example project described in this guide or alter the example project provided with this kit based on your design requirement. Typical solutions for thermal management include devices such as CPLDs, mixed-signal ASICs, and limited-functionality and inflexible discrete devices. Thermal management solutions need to be flexible enough to interface with many kinds of digital and analog temperature sensors. To maximize efficiency, they must also be able to drive a multitude of fans independently. Finally, thermal management solutions must have enough intelligence built in to reliably control the cooling systems autonomously, independent of a master control processor in the event that communications are lost or the master control processors fail or go offline. The PSoC 1 architecture enables a flexible and unique method of thermal management in a single chip, combining analog sensing capabilities for any analog temperature sensor, such as remote diodes, thermistors, and resistance temperature detectors (RTDs). The versatile digital resource pool of PSoC 1 enables the integration of I2C bus interfaces and capture timers to support interfaces to a wide variety of digital temperature sensors such as I2C based, pulse-width-modulated (PWM) based, and other proprietary serial interface digital temperature sensors. 1.2 1.3 Prerequisites ■ CY8CKIT-001 PSoC Development Kit ■ CY8CKIT-036 PSoC Thermal Management EBK Features CY8CKIT-016 demonstrates how to develop a PSoC 1 based thermal management coprocessor solutions with the help of an example project that has the following functions: ■ Temperature monitoring ■ Closed-loop fan control ■ Thermal zone management - relationship between temperatures and cooling functions ■ Algorithms - to detect thermal and cooling failures or warnings CY8CKIT-016 PSoC 1 Thermal Management Kit Guide, Doc. # 001-80790 Rev. ** 5 Introduction 1.4 Kit Contents You can download the CY8CKIT-016 Kit Setup executable file from http://www.cypress.com/go/ CY8CKIT-016. If you already have PSoC Designer and PSoC Programmer installed, download CY8CKIT-016 Kit Only. The executable file includes the following: 1.5 1.6 ■ PSoC Designer™ 5.2 SP1 or later ■ PSoC Programmer 3.14 or later ■ Thermal Management example project using the CY8CKIT-001 DVK and CY8CKIT-036 EBK ■ User Guide (this document) ■ Application Note (AN78920): PSoC 1 Temperature Measurement Using Diode ■ Application Note (AN78737): PSoC 1 - Temperature Sensing Solution using a TMP05/TMP06 Digital Temperature Sensor ■ Application Note (AN78692): PSoC 1 - Intelligent Fan Controller ■ Application Note (AN2163): PSoC 1 - Temperature Sensing Solution using a 1-Wire/2-Wire (I2C) Digital Temperature Sensor Document History Revision PDF Creation Date Origin of Change ** 08/22/2012 PRKU Description of Change Initial version of kit guide Documentation Conventions Table 1-1. Document Conventions for Guides Convention 6 Usage Courier New Displays file locations, user entered text, and source code: C:\ ...cd\icc\ Italics Displays file names and reference documentation: Read about the sourcefile.hex file in the PSoC Designer User Guide. [Bracketed, Bold] Displays keyboard commands in procedures: [Enter] or [Ctrl] [C] File > Open Represents menu paths: File > Open > New Project Bold Displays commands, menu paths, and icon names in procedures: Click the File icon and then click Open. Times New Roman Displays an equation: 2+2=4 Text in gray boxes Describes cautions or unique functionality of the product. CY8CKIT-016 PSoC 1 Thermal Management Kit Guide, Doc. # 001-80790 Rev. ** 2. Getting Started This section provides instructions to install software and set up the hardware to run the example project provided with the kit. 2.1 Software Installation 1. Download the executable file, as described in 1.4 Kit Contents and run the file to install the PSoC 1 Thermal Management Kit software. Figure 2-1. Kit Menu After the installation is complete, the kit contents are available at the following location: C:\Program Files\Cypress\CY8CKIT-016\1.0 When installing the PSoC 1 Thermal Management Kit software, the installer checks if your system has the required software. This includes PSoC Designer, PSoC Programmer, Windows Installer, .NET framework, and Adobe Acrobat. If these applications are not installed, then the installer prompts you to install all pre-requisite software, which is also available in the CY8CKIT-016 ISO file at http://www.cypress.com/go/CY8CKIT-016. CY8CKIT-016 PSoC 1 Thermal Management Kit Guide, Doc. # 001-80790 Rev. ** 7 Getting Started The software can be uninstalled using one of the following methods: ■ Go to Start > Control Panel > Add or Remove Programs; select the appropriate software package; select the Remove button. ■ Go to Start > All Programs > Cypress > Cypress Update Manager > Cypress Update Manager; select the Uninstall button for the appropriate software package. ■ Run the executable file and click Install CY8CKIT-016 button. In the CyInstaller for PSoC 1 Thermal Management Kit 1.0 window, select Remove from the Installation Type drop-down menu. Follow the instructions to uninstall. Note This method will only uninstall the kit software and not all the other material/software that may have been installed along with the kit software. 2.2 Hardware Setup The following sections describe how to set up the hardware to run the example project. Make sure you have the hardware prerequisites before proceeding with this section. 2.2.1 CY8CKIT-001 PSoC DVK Using the pin header/breadboard area of the PSoC DVK base board, use jumper wires to make the following connections: ■ VR to P0_7 ■ SW1 to P1_7 Figure 2-2. CY8CKIT-001 PSoC DVK Breadboard Set the system to run at 3.3 V using SW3 and set J6 ‘VDD ANLG’ and J7 ‘VDD DIG’ to VDD=3.3 V, as shown in Figure 2-3. 8 CY8CKIT-016 PSoC 1 Thermal Management Kit Guide, Doc. # 001-80790 Rev. ** Getting Started Figure 2-3. CY8CKIT-001 PSoC DVK Power Jumpers Attach the LCD included with the PSoC DVK and set the LCD power jumper (J12) in the ON position. Figure 2-4. CY8CKIT-001 PSoC DVK LCD Power Jumper Ensure that the VR_PWR jumper (J11) is installed. Figure 2-5. CY8CKIT-001 PSoC DVK VR_PWR Jumper CY8CKIT-016 PSoC 1 Thermal Management Kit Guide, Doc. # 001-80790 Rev. ** 9 Getting Started 2.2.2 CY8CKIT-036 Jumper Settings: Set the jumpers as follows: ■ J2 to SINGLE ■ J3 to 3.3V ■ J9 to 12V_DVK ■ bullet 4: Connect Fans to FAN1 (J7),FAN2(J8) Note Ensure that the jumpers are set as provided above before proceeding to the next step. Also, ensure that the CY8CKIT-001 hardware and CY8CKIT-035 hardware are functional before starting with this example project. The corresponding kit documents can be used to verify if the hardware is functional. Figure 2-6. Jumper Settings 2.3 Running the Example Project 2.3.1 Programming 1. If this is the first time that the example project firmware is being programmed into PSoC, make sure the CY8CKIT-036 EBK is not connected to the CY8CKIT-001 DVK. 2. Ensure that the CY8C28 family processor module is connected to CY8CKIT-001. 3. Connect the MiniProg3 first to a USB port on the PC and then to the PROG port on the CY8C28 family processor module. 10 CY8CKIT-016 PSoC 1 Thermal Management Kit Guide, Doc. # 001-80790 Rev. ** Getting Started Figure 2-7. MiniProg3 Connected 4. Open the example project in PSoC Designer; select Program > Program Part. Figure 2-8. PSoC Programmer 5. Ensure the programmer settings as given in Figure 2-8 and then click on the Program button. 6. When programming is completed successfully, remove the MiniProg3. 2.3.2 Demo Walk Through 1. Connect the CY8CKIT-036 to port A of the CY8CKIT-001 DVK. CY8CKIT-016 PSoC 1 Thermal Management Kit Guide, Doc. # 001-80790 Rev. ** 11 Getting Started 2. Power the CY8CKIT-001 DVK using the 12-V DC high-current power supply (comes with CY8CKIT-036) that is capable of supplying the inrush current needed by the fans installed on CY8CKIT-036. 3. If the CY8CKIT-036 cannot be detected by PSoC, status debug messages will be displayed on the LCD to help rectifying the error. Figure 2-9. CY8CKIT-001 PSoC DVK with CY8CKIT-036 Connected to Port A The first screen shows Zone 1 temperature and fan speed set and actual. The potentiometer R20 can be used to increase or decrease Zone 1 temperature and notice how fan speed varies accordingly. SW1 can be used to navigate across different screens. 12 CY8CKIT-016 PSoC 1 Thermal Management Kit Guide, Doc. # 001-80790 Rev. ** 3. Example Project 3.1 Example Project: Thermal Management System 3.1.1 Overview This example project demonstrates how the temperature sensors combined with the fans on the CY8CKIT-036 can create a complete thermal management system. The example shows how to combine temperature readings from a number of temperature sensors in a variety of ways and use the composite temperature to set desired fan speeds according to customized transfer function. The thermal management example project uses the concept of ‘Thermal Zone’. A thermal zone describes: ■ How to combine multiple temperature sensor readings together to form a composite ‘zone temperature’. ■ How to map the zone temperature to a fan speed. By this definition, each fan will be controlled according to its own independent thermal zone. This example has two thermal zones because CY8CKIT-036 has only two fans installed. Algorithms currently implemented to combine multiple temperature sensors into a composite zone temperature include straight average, weighted average, and maximum. This example project uses the weighted method on both fans. A zone temperature to fan speed transfer function is then definable for each zone. Transfer functions currently implemented include linear and table driven. In this project, the transfer function used is table driven on both fans. That is, a look-up table maps composite zone temperature to fan speed. ■ Two temperature zones – Zone 1 and Zone 2 ■ Two 4-wire BLDC fans – Fan1 and Fan2 installed in Zone 1 and Zone 2, respectively ■ Four temperature sensors Table 3-1. Zone Configuration Label Temperature sensor U1 in CY8CKIT-036 I2C output temperature sensor - TMP175 R20 in CY8CKIT-001 Diode temperature sensor U2 in CY8CKIT-036 One wire temperature sensor - DS1820 U3,U4 in CY8CKIT-036 PWM output temperature sensor - TMP05 To be installed in Zone 1 Weight 10% 90% Zone 2 90% 10% This example is a simulation of a thermal management system. The first zone, Zone 1, combines temperature measurements from two temperature sensors (1 analog and 1 digital). The analog sensor is simulated using a variable potentiometer to allow easy demonstration of fan control over a wide simulated temperature range without the need for an environmental chamber to cycle through temperatures. In Zone 1, the temperature sensors are combined using a weighted average where the potentiometer is given 90% weight and the digital I2C temp sensor (U1 on CY8CKIT-036) is given 10% weight. Adjust the potentiometer (R20 on the CY8CKIT-001 DVK) to vary the simulated CY8CKIT-016 PSoC 1 Thermal Management Kit Guide, Doc. # 001-80790 Rev. ** 13 Example Project temperature value in the approximate range of 15 °C to 100 °C. The Zone 1 speed transfer function is table driven and follows the profile shown in Table 3-2. Table 3-2. Zone 1 Thermal Profile Temperature (°C) Fan Speed (RPM) 0–15 5000 15–35 5500 35–55 6500 55–75 8500 >75 10500 Zone 2 consists of two temperature sensors and a single fan. The Zone 2 speed transfer function is table driven and is shown in Table 3-3. Note that the temperature range is narrow and close to room temperature. This is to allow for simple testing at room by just touching a temperature sensor with a warm finger to cause a fan speed change. In Zone 2, the temperature sensors are combined using a weighted average where the 1-wire temperature sensor (U2 on CY8CKIT-036) is given approximately 90% of the weight. The TMP05 temperature sensor (U3, U4 on CY8CKIT-036) is given 10% weight. In this example, U2's temperature reading will dominate the overall zone temperature calculation. Table 3-3. Zone 2 Thermal Profile Temperature (°C) Fan Speed (RPM) 0–23 5000 23–25 6000 25–27 7000 27–29 9000 >29 10000 The LCD screen displays status information about thermal management system across three screens. You can cycle through the status screens by pressing SW1 on the CY8CKIT-001 DVK. 3.1.2 Screen 1 - Zone 1 Summary This screen displays the current status of Zone 1. Line 1 displays the zone number, the current composite zone temperature, and the zone temperature calculation algorithm used. Line 2 displays the desired fan speed and the actual fan speed for Zone 1. Figure 3-1. Zone 1 Summary Z 1 : T = 1 6 F 1 : 5 5 0 0 3.1.3 WE I GH T E D A 1 : 5 4 9 4 Screen 2 - Zone 2 Summary This screen displays the current status of Zone 2. Line 1 displays the zone number, the current composite zone temperature, and the zone temperature calculation algorithm used. Line 2 displays the desired fan speed and the actual fan speed for Zone 2. 14 CY8CKIT-016 PSoC 1 Thermal Management Kit Guide, Doc. # 001-80790 Rev. ** Example Project Figure 3-2. Zone 2 Summary Z 2 : T = 2 5 F 2 : 7 0 0 0 3.1.4 WE I GH T E D A 2 : 6 9 9 3 Screen 3 - Temperature Sensor Summary This screen displays the current temperature sensor readings for all sensors in the system. Line 1 displays the Zone 1 temperature sensor values. The left most temperature is the zone's composite temperature followed by the temperatures of each contributing sensor. Line 2 displays the same information for Zone 2. Figure 3-3. Temperature Sensor Summary Z 1 : 1 6 Z 2 : 2 5 ( 2 5 , 1 6 ) ( 2 5 , 2 6 ) 3.2 Technical Details 3.2.1 High-Level Architecture The block diagram shows the high-level architecture inside PSoC 1. Figure 3-4. Thermal Management Functional Block Diagram Communication Global resources Analog and Digital functions 16 bit PWM (x2) FANs Interrupt Tachometer feedback Clocks External Host MUX Timer I2C CMP Ref M8C 4MIPS Temperature Sensors Timer PWM output One wire 1 Wire I2Cm I2C output 16K Flash 1K SRAM Voltage Reference 14 Bit ADCINC Diode PGA PSoC 1 CY8CKIT-016 PSoC 1 Thermal Management Kit Guide, Doc. # 001-80790 Rev. ** 15 Example Project 3.2.2 PSoC 1 Resource Usage Details The following table lists the resources used inside PSoC 1. Table 3-4. Resource Usage IP Functions Digital Blocks Analog Blocks Pins 6 1 4 (2/Fan) 16-bit Timer 2 0 1 I2C HW 0 0 2 1 2 1 3 0 2 10-bit PWM (2) Fan Controller 16-bit Timer Hysteresis Comparator TMP05 I2C Analog Sensor OneWire 3.2.2.1 PGA ADC Transciever Clock Global Resources This window is used to set the global resource parameters. Figure 3-5. Global Resource Parameters Set ADC measurement in the range 0 V to 5 V The VC1 clock of 1.6 MHz drives the ADCINC block. This gives sample rate as 24 sps. 16 CY8CKIT-016 PSoC 1 Thermal Management Kit Guide, Doc. # 001-80790 Rev. ** Example Project Figure 3-6. FanPWM1. User Module Parameters User Module PSoC Designer Screen Figure 3-7. FanPWM2 User Module Parameters User Module PSoC Designer Screen FanPWM ■ FanPWMs are used to drive BLDC fans ■ PWM frequency is set to 48 kHz ■ Input clock is set to 48 MHz. This gives duty cycle resolution of 1000 counts CY8CKIT-016 PSoC 1 Thermal Management Kit Guide, Doc. # 001-80790 Rev. ** 17 Example Project Figure 3-8. Comparator User Module Parameters User Module PSoC Designer Screen Comparator ■ Comparator takes the Fan tach signals and checks the level between the set hysteresis limit Figure 3-9. Tach Timer User Module Parameters User Module PSoC Designer Screen Tach Timer ■ 18 Tach Timer is the 16-bit timer used to measure pulse width for the tach input from the BLDC fans CY8CKIT-016 PSoC 1 Thermal Management Kit Guide, Doc. # 001-80790 Rev. ** Example Project Figure 3-10. TMP05 User Module Parameters User Module PSoC Designer Screen TMP05 ■ PulseWidthTimer is the 16-bit timer used to measure pulse width for PWM based temperature sensors Figure 3-11. PGA User Module Parameters User Module PSoC Designer Screen PGA ■ PGA gain is set to 1 ■ This module takes the input from a potentiometer, which is used to simulate the diode sensor output CY8CKIT-016 PSoC 1 Thermal Management Kit Guide, Doc. # 001-80790 Rev. ** 19 Example Project Figure 3-12. ADCINC User Module Parameters User Module PSoC Designer Screen ADCINC ■ ADCINC will read the voltage from potentiometer (simulated diode sensor) ■ Resolution is set to 14 bits ■ Sample rate is set to 24 sps ■ The input for this user module is taken from PGA Figure 3-13. OneWire User Module Parameters User Module PSoC Designer Screen OneWire 20 ■ OneWire is the one-wire communication user module to read temperature data from one wire temperature sensor ■ PWM_Onewire supplies input clock to the OneWire user module CY8CKIT-016 PSoC 1 Thermal Management Kit Guide, Doc. # 001-80790 Rev. ** Example Project 3.2.3 Firmware Structure Figure 3-14. Workspace Explorer The Thermal Management System example consists of dedicated .c and .h files for every function. You can remove any function you do not need by removing the associated .c and .h file. The main application is responsible for the user interface and for periodically calling the thermal manager. The application implementation can be found in main.c. The thermal manager implementation can be found in ThermalManager. The main application only needs to call ThermalManager_Start() to initialize the thermal manager and then it must periodically call ServiceThermalManager() to run temperature and speed updates. All the parameters that define the zone composite temperature sensor algorithm and the zone temperature to fan speed algorithm are defined at the top of ThermalManager.c. To modify these settings, refer to ThermalManager.h for the relevant keywords. CY8CKIT-016 PSoC 1 Thermal Management Kit Guide, Doc. # 001-80790 Rev. ** 21 Example Project Figure 3-15. Zone Temperature Vs. Fan Speed Lookup Table The entries in Table 3-2 and Table 3-3 are defined in the highlighted boxes. These entries can be changed based on design requirements. 22 CY8CKIT-016 PSoC 1 Thermal Management Kit Guide, Doc. # 001-80790 Rev. ** Example Project Figure 3-16. Zone Configuration ■ Key zone configuration parameters can be changed here based on design requirements. ■ The highlighted box in red marks where the weights for different temperature sensors are entered. See Table 3-1 for details. ■ The highlighted box in blue sets the hysteresis for both the zones. Hysteresis has been defined to avoid unnecessary fan speed changes in the temperature borders of the lookup table. For example, if Zone 1 temperature varies between 34.9 °C and 35.1 °C, the fan speed will be fluctuating between 5500 and 6500 RPM. To avoid this, hysteresis logic is implemented in the firmware. In this case, it is defined as '4', which means, if the temperature changes from 34.9 °C to 35 °C, the fan speed will change from 5500 to 6500 RPM, but if the temperature again falls from 35 °C, the fan speed will not change until 31 °C to avoid unnecessary speed fluctuations in the border. This entry can be changed according to design requirements. CY8CKIT-016 PSoC 1 Thermal Management Kit Guide, Doc. # 001-80790 Rev. ** 23 Example Project 3.2.4 Firmware Flowchart The following flowchart shows the basic function of the thermal manager inThermalManager.c, which implements the main service loop. Figure 3-17. Thermal Manager Flowchart Start Initialize Components and Variables Calculate Zone 1 and Zone 2 Temperatures Calculate Fan 1 and Fan 2 Speeds Based on Thermal Profiles Fan Speeds Need Change? NO YES Set Desired Fan Speeds Launch Next Temperature Measurement 24 Handle Button Presses Update LCD and I2C buffer CY8CKIT-016 PSoC 1 Thermal Management Kit Guide, Doc. # 001-80790 Rev. ** 4. 4.1 CY8CKIT-036 Hardware Hardware Overview The CY8CKIT-016 uses the CY8CKIT-036 hardware for the example project. This section provides an overview of the CY8CKIT-036 Hardware. The CY8CKIT-036 contains two 4-wire, 12-V brushless DC fans with connectors to support an additional two fans for designers who need to prototype with their own specific fan models. Six temperature sensors (four different kinds) are also installed on the kit: ■ TMP175 I2C digital temperature sensor ■ Two TMP05 PWM output digital temperature sensors ■ DS18S20 "One Wire" digital temperature sensor ■ Two MMBT3094 temperature diodes. This combination of hardware elements enables designers to rapidly prototype thermal management solutions in a variety of configurations. CY8CKIT-036 also provides an I2C/SMBus/PMBus compatible header to support systems that have a requirement for communication with a host controller. All of this functionality is implemented on a single PSoC 1. CY8CKIT-036 routes all the input and output signals for thermal management to a PSoC 1 mounted on a development kit platform such as the CY8CKIT-001. PSoC 1 is not mounted on CY8CKIT-036. Figure 4-1 shows a functional diagram of the PSoC 1 Thermal Management solution. This solution enables control of up to four 4-wire fans using MCU based control. Fan drive signals are generated by independent hardware PWM blocks in PSoC 1 to drive the 4-wire fans. To determine fan rotational speeds, tachometer signals from the fans are interpreted by PSoC 1. Speed control to the desired RPM is achieved by the firmware running on PSoC 1. The firmware also detects fan stall or rotor lock faults. To support digital sensor temperature sensing, standard PSoC 1 interfaces are used where possible (such as I2C); PSoC user modules have been developed for non-typical digital sensors such as the PWM output TMP05 sensor and 1-wire temperature sensor. For analog sensors, PSoC 1 also provides on-board filtering, multiplexing for better resolution, and accurate temperature sensor measurement. The example project provided with the CY8CKIT-036 illustrates how to aggregate temperature sensor readings using a variety of methods. The resultant "zone" temperature is used to set individual fan speeds - this is defined as a "thermal zone". The example project shows how each fan can be configured to be dependent on any of the available temperature sensors in any combination. It also demonstrates how the composite "zone temperature" can be used to determine the required fan speed to achieve system cooling needs. Although not included in the example project, PSoC 1 devices also include nonvolatile EEPROM memory that can be used to store sensor calibration information or for event and fault logging purposes. Communication with a host controller or management processor can be achieved via I2C, CY8CKIT-016 PSoC 1 Thermal Management Kit Guide, Doc. # 001-80790 Rev. ** 25 CY8CKIT-036 Hardware SMBus, PMBus, or a variety of other communications protocols implemented with easy-to-use PSoC 1 user modules. Note that CY8CKIT-036 hardware limits support a maximum of four fans. The PSoC 1 Thermal Management solution can be easily extended to support up to 10 fans in a single device. Contact Cypress for further information on the full PSoC 1 Thermal Management solution. Figure 4-1. CY8CKIT-036 Hardware Components 4.2 2×20 pin Interface Header The 40-pin interface (2×20 pin header) provides a mechanism to connect CY8CKIT-036 to a Cypress development kit platform. Table 4-1 lists the pin assignments of the 2×20 connector. Table 4-1. 2x20 Header (J14) Pin Definition Description Signal Pin Pin Signal Tachometer signal from Fan #4 TACH4 1 2 PWM4 PWM speed control for Fan #4 Tachometer signal from Fan #3 TACH3 3 4 PWM3 PWM speed control for Fan #3 Tachometer signal from Fan #2 TACH2 5 6 PWM2 PWM speed control for Fan #2 Tachometer signal from Fan #1 TACH1 7 8 PWM1 PWM speed control for Fan #1 Analog ground AGND 9 10 NC – – NC 11 12 NC – – NC 13 14 NC – – NC 15 16 NC – – Analog ground 26 Description NC 17 18 NC – AGND 19 20 NC – CY8CKIT-016 PSoC 1 Thermal Management Kit Guide, Doc. # 001-80790 Rev. ** CY8CKIT-036 Hardware Table 4-1. 2x20 Header (J14) Pin Definition (continued) Description Signal Pin Pin Signal Temperature diode current source TD-I 21 22 TD-K Temperature diode anode TD-A 23 24 1-WIRE I2C temperature sensor data T-SDA 25 26 T-SCL PWM temperature sensor output P-OUT 27 28 P-IN PWM temperature sensor input Analog Ground AGND 29 30 NC – Reserved RESV 31 32 SM-ALT Serial Data (I2C/SMBus/PMBus) SM-SDA 33 34 SM-SCL 3.3-V power from DVK 3.3 V 35 36 VADJ Digital Ground DGND 37 38 5V 12V 39 40 DGND Optional 12-V power from DVK 4.3 Description Temperature diode cathode One-wire temperature sensor I2C temperature sensor clock Alert signal (I2C/SMBus/PMBus) Serial cock (I2C/SMBus/PMBus) Unused 5 V power from DVK Digital ground CY8CKIT-036 Headers and Jumpers A number of jumpers are provided on the CY8CKIT-036. Table 4-2 lists the default jumper settings for the board. Table 4-2. CY8CKIT-036 Jumper Settings Headers and Jumpers Description Factory Default Configuration J1 5-pin header for connecting an external host or management processor via I2C/SMBus/PMBus J2 3-pin header to choose between single sensor or dual sensor (daisy 1-2 position (dual chain) connection for the PWM temperature sensors. Place jumper in 1sensor daisy chain) 2 position to enable dual sensor daisy-chain mode J3 3-pin header to set logic signal levels for digital temperature sensors. 2-3 position (3.3 V Place in 1-2 for 5 V interfacing; place in 2-3 position for 3.3 V interfacing interfacing) J4 4-pin header (1.25 mm pitch) to connect Fan 1. Supplies 12-V power, ground, PWM drive, and tachometer feedback. All signals replicated on J7 Not connected J5 4-pin header (1.25 mm pitch) to connect Fan 2. Supplies 12-V power, ground, PWM drive, and tachometer feedback. All signals replicated on J8 Not connected J6 4-pin header (1.25 mm pitch) to connect Fan 3. Supplies 12-V power, ground, PWM drive, and tachometer feedback. All signals replicated on J10 Not connected J7 4-pin header (2.54 mm pitch) to connect Fan 1. Supplies 12-V power, ground, PWM drive, and tachometer feedback. All signals replicated on J4 Connected to Fan 1 J8 4-pin header (2.54 mm pitch) to connect Fan 2. Supplies 12-V power, ground, PWM drive, and tachometer feedback. All signals replicated on J5 Connected to Fan 2 J9 3-pin header for fan power supply. Place in 1-2 position to source exter1-2 position (fan nal power from the power jack (J13); place in 2-3 position to source 12-V power from J13) power from the DVK. CY8CKIT-016 PSoC 1 Thermal Management Kit Guide, Doc. # 001-80790 Rev. ** Connector fitted 27 CY8CKIT-036 Hardware Table 4-2. CY8CKIT-036 Jumper Settings (continued) Headers and Jumpers 4.4 Description Factory Default Configuration J10 4-pin header (2.54 mm pitch) to connect Fan 3. Supplies 12-V power, ground, PWM drive, and tachometer feedback. All signals replicated on J6 Not connected J11 4-pin header (2.54 mm pitch) to connect Fan 4. Supplies 12-V power, ground, PWM drive, and tachometer feedback. All signals replicated on J12 Not connected J12 4-pin header (1.25 mm pitch) to connect Fan 4. Supplies 12-V power, ground, PWM drive, and tachometer feedback. All signals replicated on J11 Not connected J13 Power jack. 12-V DC nominal Connector fitted J14 2×20 pin header for connecting to PSoC DVK Connector fitted J15 2×20 pin header that replicates signals on J14 for easy connection to a logic analyzer or oscilloscope Open PWM Output Digital Temperature Sensors The TMP05 is a monolithic temperature sensor that generates a modulated serial digital output (PWM) signal. The duty cycle of this PWM signal is proportional to the ambient temperature measured by the device. The high period (TH) of the PWM remains generally static over all temperatures, while the low period (TL) varies. The ratio of TH/TL provides a method for determining the temperature according to the formula, Temperature (°C) = 421 – (751 × TH/TL). The TMP05 sensors have a 2-pin interface: CONV/IN input, which when pulsed by PSoC initiates a new temperature measurement and OUT output, which provides a PWM signal that can be decoded using the formula above to determine ambient temperature. The TMP05 sensors support a daisy chain mode of operation where the OUT signal of the first sensor can be directly connected to the CONV/IN input of the subsequent sensor. The OUT of the second sensor carries the PWM signals from both sensors. Many sensors can be daisy chained in this fashion, with the final OUT signal carrying the PWM temperature encoding from all sensors in the daisy chain.This sensor is generally operated in either the one-shot mode or continuous mode. For more details, refer to the TMP05 device datasheet, which is available on the device manufacturer's website or under the datasheet folder at the install location. Application note AN78737, PSoC 1 - Temperature Sensing Solution using a TMP05/TMP06 Digital Temperature Sensor discusses more about the temperature sensor and the implementation in PSoC 1 with an example project. 4.5 I2C Digital Temperature Sensor CY8CKIT-036 demonstrates I2C temperature sensing capability using a two-wire I2C compatible digital temperature sensor, the TMP175. I2C digital temperature sensors are common sensors for thermal management and are used in a variety of communication, computer, consumer, environmental, industrial, and instrumentation applications due to the popularity of the I2C bus. For more details, refer to its datasheet, which is available on the manufacturer's website or under the datasheet folder at the install location. Application note AN2163, PSoC 1 - Temperature Sensing Solution using a 1-Wire/2-Wire (I2C) Digital Temperature Sensor discusses more about the temperature sensor and the implementation in PSoC 1 with an example project. 28 CY8CKIT-016 PSoC 1 Thermal Management Kit Guide, Doc. # 001-80790 Rev. ** CY8CKIT-036 Hardware 4.6 1-Wire Digital Temperature Sensor CY8CKIT-036 has a Maxim DS18S20 1-wire high-precision digital temperature sensor installed. The DS18S20 digital thermometer provides 9-bit resolution Celsius temperature measurements and has an alarm function with nonvolatile user-programmable upper and lower trigger points. The DS18S20 communicates over a proprietary 1-wire bus that by definition requires only one data line (and ground) to communicate with a host microprocessor. It has an operating temperature range of –55°C to +125°C. For more details, refer to its datasheet, which is available on the manufacturer's website or under the datasheet folder at the install location. Application note AN2163, PSoC 1 - Temperature Sensing Solution using a 1-Wire/2-Wire (I2C) Digital Temperature Sensor discusses more about the temperature sensor and the implementation in PSoC 1 with an example project. 4.7 Diode Analog Temperature Sensors MMBT3904 is a bipolar junction transistor (BJT) designed as a general-purpose amplifier and switch. The useful dynamic range extends to 100 mA as a switch and to 100 MHz as an amplifier. The delta Vbe method described in application note AN78920, PSoC 1 Temperature Measurement Using Diode can be used with CY8CKIT-036; the application note discusses the operation theory and relevant mathematical equations. The implementation is primarily driven by firmware due to the complexities associated with varying the source current fed to the BJT, filtering the ADC measurements, and calibrating the analog sub-system all of which are required to achieve sufficiently high accuracy with these low-cost temperature sensors. 4.8 4-Wire Fan Connectors The CY8CKIT-036 provides four industry-standard 4-wire fan interface connectors and two AVC 12 V brushless DC fans. The fan speeds are controllable up to 13,000 RPM via PWM control, with tachometer output to calculate actual fan speeds. For more details, refer to its datasheet, which is available on the manufacturer's website or under the datasheet folder at the install location. Table 4-3. Fan Connector Pinouts Pin Number Name Colors 1 GND Black 2 POWER Red 3 TACH Yellow 4 PWM Blue Description Ground 12-V DC power Frequency generator signal PWM control signal Application note AN78692, PSoC 1 - Intelligent Fan Controller discusses more about the 4-wire fan and implementation inside PSoC 1. 4.9 Development Kit and Expansion Board Kit Compatibility The CY8CKIT-016 kit contains only a PSoC 1 thermal management example project. It requires the CY8CKIT-036 EBK and CY8CKIT-001 PSoC DVK. CY8CKIT-016 PSoC 1 Thermal Management Kit Guide, Doc. # 001-80790 Rev. ** 29 CY8CKIT-036 Hardware 30 CY8CKIT-016 PSoC 1 Thermal Management Kit Guide, Doc. # 001-80790 Rev. ** A. Appendix A.1 CY8CKIT-036 Schematics A.1.1 Power Supply Power VDD12 VDD12_EXT D1 J13 DC-12V 1 2 3 VDD12 SM340A SM340A 12V/3A VDDIO R5 1K VDD12_EXT VDD12 VDD12_DVK + SM340A D5 SM340A TP1 VDDIO TP2 DGND DIGITAL GND VDDIO 0 ANALOG GND Default : VDDIO <-> VDD3P3 VDD5 TP3 AGND R11 C9 C17 22u 10u 0.1u TP5 VDD5 VDD5 VDD3P3 TP6 VDD3P3 J3 VDD5 VDDIO VDD3P3 1 2 3 VDD3P3 C8 D4 VDD12 JMP-3 D3 TP4 VDD12 VDD12 J9 1 2 3 VDD12_DVK D2 Default : VDD12 <-> VDD12_EXT VDD12_EXT C23 C22 C10 C18 10u 0.1u 10u 0.1u JMP-3 A.1.2 4-Wire Fan Sockets VDDIO VDD12 VDDIO F1_DGND F1_VDD12 F1_TACH F1_PWM R7 J4 1 2 3 4 4.7K TACH1 J7 C20 PWM1 C13 1 2 3 4 VDD12 R8 F1_DGND F1_VDD12 F1_TACH F1_PWM J5 1 2 3 4 4.7K TACH2 1.25MM PITCH 1 1.25MM PITCH 1 0.1u VDDIO F3_DGND F3_VDD12 F3_TACH F3_PWM TACH3 C15 J6 1 2 3 4 J10 C12 PWM3 1 2 3 4 VDD12 F4_DGND F4_VDD12 F4_TACH F4_PWM R10 F3_DGND F3_VDD12 F3_TACH F3_PWM 0.1u 0.1u PWM2 F2_DGND F2_VDD12 F2_TACH F2_PWM 2.54MM PITCH 1 R9 4.7K C21 1 2 3 4 0.1u 2.54MM PITCH 1 VDD12 J8 C14 0.1u 0.1u VDDIO F2_DGND F2_VDD12 F2_TACH F2_PWM 4.7K TACH4 C16 1.25MM PITCH 1 J12 1 2 3 4 J11 C19 PWM4 CY8CKIT-016 PSoC 1 Thermal Management Kit Guide, Doc. # 001-80790 Rev. ** F4_DGND F4_VDD12 F4_TACH F4_PWM 0.1u 0.1u 2.54MM PITCH 1 1 2 3 4 1.25MM PITCH 1 2.54MM PITCH 1 31 A.1.3 I2C/SMBus/PMBus Port VDDIO J1 R6 0 SMBUS_SDA SMBUS_SCL SMBUS_ALERT_n 5 4 3 2 1 SM_SDA SM_SCL SM_ALT SM_GND VDDIO I2C/SMBus Port A.1.4 2x20 Pin DVK Connector and Test Points Config Pin 2 4 6 8 to OC Output Mode Debug & Signal Probe Port TACH4 TACH4 TACH3 TACH3 TACH2 TACH2 TACH1 TACH1 AGND NC_11 LCD_NC NC_13 LCD_NC NC_15 LCD_NC NC_17 LCD_NC AGND TD-I TD-I TD-A TD-A I2C-TEMP_SDA I2C_SDA PWM-OUT PWM_OUT AGND NC_31 RESV SMBUS_SDA SM_SDA VDD3P3 VDD3P3 DGND VDD12_DVK VDD12_DVK 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 J15 CON40A A.1.5 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 PWM4 PWM3 PWM2 PWM1 NC_10 NC_12 NC_14 NC_16 NC_18 NC_20 TD-K ONEWIRE I2C-TEMP_SCL PWM-IN NC_30 SMBUS_ALERT_n SMBUS_SCL NC_36 VDD5 PWM4 PWM3 PWM2 PWM1 NC LCD_NC LCD_NC LCD_NC LCD_NC NC TD-K ONEWIRE I2C_SEL PWM_IN NC SM_ALT SM_SCL VADJ VDD5 DGND TACH4 TACH4 TACH3 TACH3 TACH2 TACH2 TACH1 TACH1 AGND NC_11 LCD_NC NC_13 LCD_NC NC_15 LCD_NC NC_17 LCD_NC AGND TD-I TD-I TD-A TD-A I2C-TEMP_SDA I2C_SDA PWM-OUT PWM_OUT AGND NC_31 RESV SMBUS_SDA SM_SDA VDD3P3 VDD3P3 DGND VDD12_DVK VDD12_DVK DNI 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 J14 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 PWM4 PWM3 PWM2 PWM1 NC_10 NC_12 NC_14 NC_16 NC_18 NC_20 TD-K ONEWIRE I2C-TEMP_SCL PWM-IN NC_30 SMBUS_ALERT_n SMBUS_SCL NC_36 VDD5 PWM4 PWM3 PWM2 PWM1 NC LCD_NC LCD_NC LCD_NC LCD_NC NC TD-K ONEWIRE I2C_SEL PWM_IN NC SM_ALT SM_SCL VADJ VDD5 DGND CON40A 1-Wire Temperature Sensor VDDIO VDDIO U2 C4 R4 DNI C5 1 0.1u 2 DNI 4.7K 3 ONEWIRE 4 NC1 NC8 NC2 NC7 VDD NC6 DQ GND 8 7 6 5 DS18S20 A.1.6 Temperature Diodes TD-I TD-A Q2 MMBT3094 Q1 MMBT3094 TD-K 32 CY8CKIT-016 PSoC 1 Thermal Management Kit Guide, Doc. # 001-80790 Rev. ** A.1.7 I2C Temperature Sensor VDDIO C3 DNI VDDIO DNI R1 R2 R3 C2 10K 2.2K 2.2K 0.1u U1 I2C-TEMP_SDA 1 I2C-TEMP_SCL 2 3 4 SDA V+ SCL A0 ALERT A1 GND A2 8 7 6 5 TMP175 I2C Address 8'b01001000 A.1.8 PWM Temperature Sensors VDDIO C6 DNI VDDIO DNI U3 1 PWM-IN 3 J2 SINGLE PWM_TMP DUAL 3 2 1 JMP-3 Default : PWM_TMP <-> DUAL 2 PWM-OUT OUT VDD 5 C7 CONV/IN FUNC GND 4 0.1u TMP05 U4 1 2 3 OUT VDD 5 C11 CONV/IN FUNC GND 4 0.1u TMP05 CY8CKIT-016 PSoC 1 Thermal Management Kit Guide, Doc. # 001-80790 Rev. ** 33 A.2 CY8CKIT-036 Board Layout A.2.1 Top layer 34 CY8CKIT-016 PSoC 1 Thermal Management Kit Guide, Doc. # 001-80790 Rev. ** A.2.2 Bottom Layer CY8CKIT-016 PSoC 1 Thermal Management Kit Guide, Doc. # 001-80790 Rev. ** 35 A.2.3 36 Top Silkscreen CY8CKIT-016 PSoC 1 Thermal Management Kit Guide, Doc. # 001-80790 Rev. ** A.3 CY8CKIT-036 Bill of Materials Item Qty. Designator Value Description Manufacturer Manufacturer Part No. 1 15 C2,C5,C7, C11,C12, C13,C14,C15, C16, 0.1u C17,C18,C19,C20, C21,C22 2 1 C8 22u 22uF, +/-10%, 25V, X5R(1210) MURATA GRM32ER61E226K E15L 3 3 C9,C10,C23 10u 10uF, +/-10%, 25V, X5R(1206) MURATA GRM31CR61E106 KA12 4 4 D1,D2,D3,D5 SM340A Schottky Rectifier 40V/3A(SM340A) GW SM340A 5 1 D4 VDD12 Light Emitting Diode (Yellow) LITEON LTST-C170KSKT 6 1 J1 I2C/ SMBus Port ONN HEADER 5POS .100 VERT TIN MOLEX 22-05-3051 7 3 J2,J3,J9 JMP-3 1X3 .100"CENTER HEADER SAMTEC TSW-103-07-G-S 8 4 J4,J5,J6,J12 1.25MM PITCH 1 FAN socket, 1.25mm CHERNG WEEI Wafer 180° CCX-W125-04-DIP FAN socket, 2.54mm Wire-to-Board CHERNG WEEI Header, DIP 180° Type CD-W254-(3.4) 32753PA Ceramic Capacitor, 0.1uF, +/-10%, 25V, X5R(0402) Taiyo Yuden TMK105BJ104KV-F 9 4 J7,J8,J10,J11 2.54MM PITCH 1 10 1 J13 DC-12V DC Power Socket Pin Header, 2X20, Pitch 2.54MM, male, NA Right Angel 11 1 J14 CON40A 12 2 Q1,Q2 MMBT30 NPN General Pur94 pose Amplifier 13 1 R1 10K 14 2 R2,R3 15 5 16 CHERNG WEEI NA Fairchild MMBT3094 10K ohm, +/-1%, 1/ 16W(0402) YAGEO RC0402FR-0710KL 2.2K 2.2K ohm, +/-1%, 1/ 16W(0402)_ YAGEO RC0402FR-072K2L R4,R7,R8,R9,R10 4.7K 4.7K ohm, +/-1%, 1/ 16W(0402) YAGEO RC0402FR-074K7L 1 R5 1K 1K ohm, +/-0.1%, 1/ 16W(0402)_ SAMSUNG RG1005P-102-B-T5 17 2 R6,R11 0 ohm 0 ohm, Jumper, 1/ 10W(0603)_ WALSIN WR06X000 PTL 18 1 U1 TMP175 Digital Temperature Sensor with TwoWire Interface Texas Instruments TMP175AID 19 1 U2 High-Precision 1DS18S20 Wire Digital Thermometer CY8CKIT-016 PSoC 1 Thermal Management Kit Guide, Doc. # 001-80790 Rev. ** MAXIM DS18S20Z 37 38 Designator Value Description Manufacturer Manufacturer Part No. Item Qty. 20 2 U3,U4 TMP05 ±0.5°C Accurate PWM Temperature Sensor ADI TMP05AKS500RL7 21 4 MH1,MH2, MH3, MH4 screw holes BUMPER CLEAR.370X.19" CYLINDER Richco Plastic Co RBS-35 22 3 Mini Jumper 2.54 Pitch Open Type(13.5) CHERNG WEEI CMJ-135BB 23 8 M3 35mm, Nickel Plated, Round Head NA NA 24 8 M3 Nickel Plated Hexagonal Nut NA NA 25 2 DC Brushless axial flow fan, 40x40mm, 4-wire, 12V AVC DB04028B12UP01 4 CY8CKIT-016 PSoC 1 Thermal Management Kit Guide, Doc. # 001-80790 Rev. **