® PSoC Creator™ Component Datasheet 1.2 Volt Comparator (CSD Comp) 1.0 Features Two speed modes Any pin in Port 0, Port 1 and Port 2 can be connected to the noninverting input The inverting input is connected to a 1.2 V reference General Description The 1.2 Volt Comparator (CSD_Comp) component provides a hardware solution to compare one input voltage with the internal 1.2 V reference (Vref) of the PSoC 4000 family of devices. The CSD_Comp component makes use of the comparator that is present in the Capacitive Sensing Delta-Sigma Modulator (CapSense® CSD) block. This comparator functionality is only present on the PSoC 4000 family of devices and only available when not using the CapSense CSD block for Capacitive Sensing. You can sample the output in software or route it to a GPIO. There are two speed levels to allow you to optimize for response time or power consumption. Although the CSD_Comp operates from a fixed Vref, it can be made to trigger at different voltage levels using external/internal components. With the help of an additional GPIO, the CSD_Comp can be used to generate interrupts. The CSD_Comp can also be operated with multiplexed inputs. Refer to the Functional Description section for more information. When to Use the CSD_Comp The CSD_Comp can be used in many applications to monitor external voltages and analog signals from transducers. Such applications include a thermal printer, a battery monitor, and an on-off controller. Note This CSD_Comp component uses resources from the PSoC 4 CapSense CSD block. Therefore, the CSD_Comp cannot be used in applications that also require capacitive sensing. Cypress Semiconductor Corporation • 198 Champion Court • San Jose, CA 95134-1709 • 408-943-2600 Document Number: 001-90677 Rev. ** Revised March 23, 2014 1.2 Volt Comparator (CSD Comp) ® PSoC Creator™ Component Datasheet Input/Output Connections This section describes the various input and output connections for the CSD_Comp. Non-inverting Input – Analog Input This input is usually connected to the voltage that is being compared. This input can be routed from any GPIO in Port 0, Port 1 and Port 2. Comparator Out – output This is the digital comparison output. This output goes high when the non-inverting input voltage is greater than the Vref. The CSD_Comp output is always asynchronous. Note The output can be routed only to three dedicated pins: P0[1], P0[4] or P1[6]. Component Parameters Drag a CSD_Comp onto your design and double-click it to open the Configure dialog. Configure Tab Speed/Power This parameter provides a way to optimize speed versus power consumption. The Speed/Power parameter provides two levels: Slow/Low and Fast/High. The High Power mode gives better response time. Page 2 of 11 Document Number: 001-90677 Rev. ** ® PSoC Creator™ Component Datasheet 1.2 Volt Comparator (CSD Comp) Placement The CSD_Comp is placed as a Fixed Function block and all placement information is provided to the API through the cyfitter.h file. Resources The CSD_Comp uses the AMUXBUS-A and Sense Comparator from the CSD fixed-function block. API Memory Usage The component memory usage varies significantly depending on the compiler, device, number of APIs used, and component configuration. The following table provides the memory usage for all APIs available in the given component configuration. The measurements have been done with the associated compiler configured in Release mode with optimization set for Size. For a specific design, the map file generated by the compiler can be analyzed to determine the memory usage. Configuration PSoC 4000 (GCC) Flash Bytes SRAM Bytes 332 2 Default Application Programming Interface Application Programming Interface (API) routines allow you to configure the component using software. The following table lists and describes the interface to each function. The subsequent sections cover each function in more detail. By default, PSoC Creator assigns the instance name “CSD_Comp_1” to the first instance of a component in a given design. You can rename it to any unique value that follows the syntactic rules for identifiers. The instance name becomes the prefix of every global function name, variable, and constant symbol. For readability, the instance name used in the following table is “CSD_Comp”. Function Description CSD_Comp_Start() Performs all of the required initialization for the component, enables power to the CSD block and enables the comparator. CSD_Comp_Stop() Turns off the Comparator block. CSD_Comp_Init() Initializes or restores the component according to the customizer Configure dialog settings. Document Number: 001-90677 Rev. ** Page 3 of 11 ® 1.2 Volt Comparator (CSD Comp) PSoC Creator™ Component Datasheet Function Description CSD_Comp_Enable() Activates the hardware and begins component operation. CSD_Comp_GetCompare() Returns compare result. CSD_Comp_SetSpeed() Sets the power and speed to one of two settings: SLOW_SPEED or FAST_SPEED. CSD_Comp_Sleep() Prepare the component for sleep. CSD_Comp_Wakeup() Restore the component to the state when Comp_Sleep() was called. Global Variables Knowledge of these variables is not required for normal operations. Function CSD_Comp_initVar Description Indicates whether or not the Comparator has been initialized. The variable is initialized to 0 and set to 1 the first time Comp_Start() is called. This allows the component to restart without reinitialization after the first call to the Comp_Start() routine. If reinitialization of the component is required, call Comp_Init() before calling Comp_Start(). Alternatively, the Comparator can be reinitialized by calling the Comp_Init() and Comp_Enable() functions void CSD_Comp_Start(void) Description: Performs all of the required initialization for the component, enables power to the CSD block and enables the comparator. The first time the routine is executed the power level is set. When called to restart the comparator following a Stop() call, the current component parameter settings are retained. Parameters: None Return Value: None Side Effects: None void CSD_Comp_Stop(void) Description: Disable the comparator. Power to the CSD block remains enabled. All other comparator settings remain unchanged and will continue to be the settings used when the comparator becomes active again by calling Start(). Parameters: None Return Value: None Side Effects: None Page 4 of 11 Document Number: 001-90677 Rev. ** ® PSoC Creator™ Component Datasheet 1.2 Volt Comparator (CSD Comp) void CSD_Comp_Init(void) Description: Initializes or restores the component according to the customizer Configure dialog settings. It is not necessary to call Init() because the Start() API calls this function and is the preferred method to begin component operation. Parameters: None Return Value: None Side Effects: None void CSD_Comp_Enable(void) Description: Activates the hardware and begins component operation. It is not necessary to call Enable() because the Start() API calls this function, which is the preferred method to begin component operation. Parameters: None Return Value: None Side Effects: None uint32 CSD_Comp_GetCompare(void) Description: This function returns a nonzero value when the voltage connected to the non-inverting input is greater than the Vref. Parameters: None Return Value: uint32: Comparator output state. Nonzero value when the non-inverting input voltage is greater than the Vref; otherwise, the return value is zero. Side Effects: None void CSD_Comp_SetSpeed(uint32 speed) Description: Parameters: Sets the speed to one of two settings: slow or fast. (uint32) speed: Comparator response time parameter. See table below. Value Description CSD_Comp_SLOW_SPEED Use this setting for very low power applications CSD_Comp_FAST_SPEED Use this setting for fastest response time (50 nsec) Return Value: None Side Effects: None Document Number: 001-90677 Rev. ** Page 5 of 11 ® 1.2 Volt Comparator (CSD Comp) PSoC Creator™ Component Datasheet void CSD_Comp_Sleep(void) Description: Prepare the component for sleep. Call the Sleep() function before calling the CySysPmDeepSleep() functions. Parameters: None Return Value: None Side Effects: None void CSD_Comp_Wakeup(void) Description: Restore the component to the state when Sleep() was called. If the component was enabled before the Sleep() function was called, the Wakeup() function will also re-enable the component. Parameters: None Return Value: None Side Effects: Calling the Wakeup() function without first calling the Sleep() function may produce unexpected behavior. MISRA Compliance This section describes the MISRA-C:2004 compliance and deviations for the component. There are two types of deviations defined: project deviations – deviations that are applicable for all PSoC Creator components specific deviations – deviations that are applicable only for this component This section provides information on component-specific deviations. Project deviations are described in the MISRA Compliance section of the System Reference Guide along with information on the MISRA compliance verification environment. The Comparator component has the following specific deviations: MISRA-C: 2004 Rule 19.7 Rule 1 Class A Rule Description A function should be used in preference to a function-like macro. Description of Deviation(s) Deviated since function-like macros are used to allow more efficient code. This component has the following embedded component: Clock. Refer to the corresponding component datasheet for information on its MISRA compliance and specific deviations. 1 Required / Advisory Page 6 of 11 Document Number: 001-90677 Rev. ** ® PSoC Creator™ Component Datasheet 1.2 Volt Comparator (CSD Comp) Sample Firmware Source Code PSoC Creator provides numerous example projects that include schematics and example code in the Find Example Project dialog. For component-specific examples, open the dialog from the Component Catalog or an instance of the component in a schematic. For general examples, open the dialog from the Start Page or File menu. As needed, use the Filter Options in the dialog to narrow the list of projects available to select. Refer to the “Find Example Project” topic in the PSoC Creator Help for more information. Functional Description This component uses the sense comparator in the CSD fixed-function block of the PSoC 4000 family of devices. The inverting input of this comparator is connected to a fixed reference of 1.2 V. The non-inverting input can be connected to any pins in Port 0, Port 1 and Port 2 using AMUXBUS-A. The output can be routed to any of the three dedicated pins P0[1], P0[4] or P1[6]. When the input voltage at the non-inverting input is above the Vref, the comparator output (comp_out) will be at a logic HIGH state. When the input voltage is below the reference, the output will be at a logic LOW state. The component uses the CSD_CONFIG register to enable, disable and select the speed of the comparator. The CSD_STATUS register could be used for polling via the GetCompare() API. A high-level block diagram is shown below. Refer to the appropriate device Technical Reference Manual (TRM) for a detailed description of each register. Document Number: 001-90677 Rev. ** Page 7 of 11 1.2 Volt Comparator (CSD Comp) ® PSoC Creator™ Component Datasheet Interrupt generation There are no Interrupts available with the Comparator component. But with the help of an additional GPIO, the comparator can be used to generate interrupts. For this the comparator output pin should be externally connected to another GPIO as shown in the image below. Multiplexed operation By using an Analog Multiplexer component (AMuxbus_A), the input of the comparator can be multiplexed to all available GPIOs in Ports 0, 1 and 2. Page 8 of 11 Document Number: 001-90677 Rev. ** ® PSoC Creator™ Component Datasheet 1.2 Volt Comparator (CSD Comp) Operating at a voltage level above 1.2 V By using an external resistive divider, the comparator can be used to detect voltages above 1.2 V. The output transition happens when Vin goes above/below 1.2*(1 + R1/R2) volts. The R1 and R2 must have high values to reduce errors due to source resistance. Operating at a voltage level below 1.2 V By using an IDAC and an external resistive divider, the comparator can be used to detect voltages below 1.2 V. The output transition happens when Vin goes above/below 1.2*(1 + R1/R2) − (R1*IDAC) volts. Document Number: 001-90677 Rev. ** Page 9 of 11 ® 1.2 Volt Comparator (CSD Comp) PSoC Creator™ Component Datasheet Wakeup from Deep-Sleep Mode This component operates in Active power mode only. The following is the correct Deep-Sleep mode entry procedure: /* Prepares Comparator to wake up from Sleep mode */ Comp_Sleep(); /* Switches to the Deep-Sleep mode */ CySysPmDeepSleep(); /* Prepares Comparator to work in Active mode */ Comp_Wakeup(); Registers See the device Technical Reference Manual for more information about registers. Component Debug Window The Comparator component supports the PSoC Creator component debug window. Refer to the appropriate device Technical Reference Manual for a detailed description of each register. The following registers are displayed in the Comparator component debug window: CONFIG – Configuration register STATUS – Status register DC and AC Electrical Characteristics Specifications are valid for –40 °C ≤ TA ≤ 85 °C and TJ ≤ 100 °C, except where noted. Specifications are valid for 1.71 V to 5.5 V, except where noted. DC Specifications Parameter Description Min Typ Max Units ICMP1 Block current, High Bandwidth mode – – 120 μA ICMP2 Block current, Low Power mode – – 90 μA VOFFSET1 Offset voltage, High Bandwidth mode – 10 30 mV VOFFSET2 Offset voltage, Low Power mode – 10 30 mV Page 10 of 11 Conditions Document Number: 001-90677 Rev. ** ® PSoC Creator™ Component Datasheet Parameter Description 1.2 Volt Comparator (CSD Comp) Min Typ Max Units ZCMP DC input impedance of comparator 35 - - MΩ VINP_COMP Comparator input range 0 - 3.6 V Min Typ Max Units Conditions Max input voltage is lower of 3.6 V or VDD AC Specifications Parameter Description TCOMP1 Response Time High Bandwidth mode, 50-mV overdrive – – 50 ns TCOMP2 Response Time Low Power mode, 50-mV overdrive – – 100 ns Conditions Component Changes This section lists the major changes in the component from the previous version. Version 1.0 Description of Changes First component version. Reason for Changes / Impact First component version. © Cypress Semiconductor Corporation, 2014. 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 life-support systems where a malfunction or failure may reasonably be expected to result in significant injury to the user. The inclusion of Cypress products in lifesupport systems application implies that the manufacturer assumes all risk of such use and in doing so indemnifies Cypress against all charges. PSoC® is a registered trademark, and PSoC Creator and Programmable System-on-Chip are trademarks of Cypress Semiconductor Corp. All other trademarks or registered trademarks referenced herein are property of the respective corporations. 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 lifesupport 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. Document Number: 001-90677 Rev. ** Page 11 of 11