Designer's Guide to the Cypress PSoC by Robert Ashby Download Designer's Guide to the Cypress PSoC Designer's Guide to the Cypress PSoC Robert Ashby . Foreword Acknowledgments What's New with PSoC? What's On The Companion Website Introduction to Microcontroller Basics Chapter 1: Why Use the Cypress. Designers Guide to the Cypress PSoC (Paperback)by Robert Ashby "A microcontroller is a microprocessor system with attached peripherals.
|Language:||English, Arabic, Portuguese|
|Genre:||Science & Research|
|ePub File Size:||27.50 MB|
|PDF File Size:||14.60 MB|
|Distribution:||Free* [*Register to download]|
This it the first technical reference book available on the PSoC, and it offers the most comprehensive combination of technical data, example code, and. PSoC™ Designer: Integrated Development Environment. User Guide. Revision CMSA. Last Revised: May 30, Cypress MicroSystems, Inc. The Cypress MicroSystems PSoC™ Development Tools combine a full-featured hardware emulator PSoC Designer Device Editor enables rapid configuration of the PSoC device. PSoC Emulator Replacement Pod Feet Selection Guide.
Certain instructions at certain memory boundaries had the potential of being lost in the fetch from Flash. Cypress added a protection in the PSoC Designer to warn you of this situation. They also built a tool into the linker that will allow PSoC Designer to shift the Flash contents of your program around so that these instructions will not fall on those Flash boundaries and be a potential problem.
These options can be selected by choosing Settings… from the Project menu and then selecting the Linker tab See Figure If you do need to run at 24 MHz, then the Enable silicon errata warnings checkbox will display any instance of this error potential within your code. The other option is to optimize the code that is being used to free up some extra space to allow the shift to happen.
Some optimization ideas are discussed in Chapter 10 — Project Pruning. Note that the crystal must be referenced to Vcc and not to GND.
Good design dictates that you should keep the path between Vcc and the crystal as short as possible. If you are going to use this capability, make sure to keep the programming header right next to the crystal pins.
This is imperative for a noise resilient system and can help you keep the capacitance on those pins under control. Unexpected capacitance on your crystal pins will adversely affect the accuracy of your crystal circuit. The PSoC uses 24 MHz internal main oscillator as a clocking source for the digital and switched cap analog blocks around the chip.
Tutorial: Getting started with PSoC Creator | Blinking an LED
These slower frequencies may be selected as the clocking source in lieu of the 24 MHz if desired. The newer parts also specify a clock source called SysClk. It replaces the 24 MHz source of the older parts. SysClk is selectable either as 24 MHz or the input frequency of P1. Selecting 24V1 as a clock selects a frequency equal to 24 MHz divided by the value of 24V1 plus one. It has the same limitations as 24V1 with a value from 0—15 that corresponds to a divisor from 1— It gives a third tap to use to clock the digital and analog blocks in your project.
VC3 has a divider range from 1— VC3 has four different sources to pull its frequency from. The bit program counter allows for 64K of addressing. Parts will be in production by the publication time of this book that will allow up to 64K. The accumulator register A is a general-purpose register that is designed to be at the heart of mathematical operations, port manipulation, and for special move instructions.
I will call the registers, value1 and value2. After I have added the two registers together, then I want the sum to be stored in a register called result. This method may tend to be a little frustrating for those who are used to a more complex processor that will allow all mathematical operations on all register locations. If the Cypress had a more complex instruction set, you might have been able to save one instruction by coding the following instructions.
Fortunately, Cypress made an allotment to copy from register to register directly without going through the accumulator. However, the second instruction is not valid and will cause an error. You are not able to add a register to another register value without using the accumulator. The M8C core does provide some useful methods of performing mathematical and move operations that go above and beyond what I have seen in some other accumulator-based micros.
Certain addressing methods also require the use of the accumulator and or index register. Examples include usage of the swap instruction, or moving nonimmediate values into the control registers.
The index register X allows for indexed addressing. It also serves as a generalpurpose register that allows more operations than a general register location. The index register also allows you to perform indirect functions within the RAM address space. In the indirect addressing method, the index register is used to point into the RAM address space.
From there, the stack pointer will grow towards higher addresses every time a value is pushed into the stack. Care must be taken so that the stack has room to grow. It also contains a bit that indicates if the processor is executing supervisory code or user code.
There are some newer parts coming into production that will have more RAM than this, but the parts were not available during the writing of this book. It is my understanding that Cypress will be implementing a paging procedure to address the additional banks of RAM. For now, however, I use the current allocation of bytes of RAM.
Instructions indicate usage of the general-purpose RAM by enclosing operands in square brackets. The second instruction will move whatever value is in the RAM register at address 4 into the accumulator. Refer to the data sheet under Register Reference. It contains special code to boot the processor, retrieve special calibration settings such as the oscillator trim value, and also contains code to manage Flash functions.
Cypress has recommended that you use the sections of code provided by them to access the supervisory ROM. Interrupt Controller The data sheet for the 27xxx part provides a very eloquent description of the interrupt controller. In this situation, when the guard sensor detects a liquid stream, it blocks other sensors from triggering. Therefore, touch cannot be detected when streaming liquid is present. Therefore, when the device is in Look-for-Proximity mode, false proximity triggering can occur when a liquid stream is present.
Du kanske gillar
If your application requires tolerance to liquid droplets and moisture, choose a CY8CMBR3xxx controller that has the shield feature. If your application also requires tolerance to liquid flow, choose a CY8CMBR3xxx controller that has both shield and guard features. Refer to Table to select the controller. Follow the schematic and layout guidelines explained in the Layout Guidelines for Liquid Tolerance section to construct the shield electrode and guard sensor.
Enable the shield and guard sensor features in EZ-Click as explained in the Shield and Guard Sensor configuration section. Also, the number of buttons, sliders, and proximity sensors supported is fixed in this controller. Selecting the sensor pins is the first step in designing a CapSense application. This chapter provides guidelines on selecting sensor pins for designing a CapSense schematic. Special output pin selection 2. Sensor pin selection 3.
GPO pin selection 4.
Power and ground connections 5. These features are multiplexed with sensor pins and are supported only on dedicated pins.
Therefore, it is important to select these special output pins before connecting sensor pins. For example, consider a CapSense design which requires seven buttons, buzzer output, and the liquid-tolerance feature.
Selecting a sensor pin next to a GPO pin might result in cross-talk. This false trigger can be avoided by choosing a sensor pin CS3, which is not next to a GPO pin as shown in Figure b or by ensuring that the sensor trace and GPO trace do not run in parallel,.
If your design requires a proximity sensor, select the proximity sensor pins PSx before selecting the button CSx pins because the proximity sensors are supported only on two pins. If any CapSense pin is not used, it is recommended to configure it as sensor pin and connect it to ground. Refer to the Sensor Configuration section for details on how to configure a pin as CapSense input.
Table Select all the five pins from the SLD1x group for first five slider segments and then select the pins from the SLD2x group for the remaining segments. Figure shows an example of a schematic designed for a slider with seven segments.
If unused, they should be configured as buttons and connected to ground 1. Make certain that this pin is not grounded during power-up for the device to boot up properly. This avoids selecting a sensor pin, which is next to a GPO pin, as Figure shows.
In this case, select the GPOs corresponding to the selected sensor. Since the sinking capability of GPO is much higher than the sourcing capability, it is recommended to connect the LED in sinking configuration.
To limit the current, add a series resistor of appropriate value depending on the supply voltage. If your design requires a sinking current of more than the maximum limit, connect an external transistor to the GPO pin and configure the GPO in the strong drive mode using EZ-Click.
Schematic Design Checklist No. Decoupling capacitor on the VCC 3 pin Connect a 0. C MOD Connect a 2. Series resistor on I 2 C lines 6. Pull-up on I 2 C lines 7. Pull-up on the HI line 8. A typical mobile phone has up to four touch buttons and requires LED backlighting. The schematic shown in Figure is an example of how to implement touch buttons in mobile phones.
CMOD pin: 2. Supply voltage is 3. Bill of Materials No. The key requirements in these applications are liquid-tolerant CapSense buttons and audio feedback. The schematic shown in Figure is an example of implementing touch buttons in an induction cooktop. Designing the CapSense layout is an important step in the design phase and following the CapSense layout best practices will help your design achieve higher noise immunity, lower parasitic capacitance C P , and higher SNR.
The following factors should be considered while designing the CapSense layout: Parasitic capacitance C P : A high sensor C P makes it more difficult to sense small changes in sensor capacitance and thereby reduces sensitivity.
The CapSense layout should be such that the C P of the sensor is kept to the minimum. Trace length: Longer trace lengths add to the sensor C P and reduce the sensor sensitivity. Also, a long trace acts like an antenna and reduces the noise immunity of the sensor. Sensor dimensions: The sensor dimensions depend on the overlay thickness. A thicker overlay requires larger sensor dimensions. Power consumption: The power consumption of the sensor depends on the C P of the sensor.
Higher sensor C P increases the scan time of the sensor, and results in higher overall power consumption. To achieve lower power consumption, reduce the sensor C P. The design toolbox can be accessed from EZ-Click. This toolbox has four different sections: 1. General Layout Guidelines 2. Layout Estimator 3. Design Validation General Layout Guidelines This sheet provides recommendations on the sensor shape, minimum and maximum sensor dimensions, placement of the sensor, and routing traces on the PCB or FPC.
Follow these guidelines for designing the CapSense layout. Table summarizes the layout guidelines for designing a CapSense application. For a detailed review of these guidelines, see the Getting Started with CapSense guide. It is recommended to have a ground loop surrounding the proximity sensor Proximity sensor trace width Clearance between proximity loop and ground loop 1.
Refer to section Slider Design in Getting Started with CapSense design guide for information on the minimum slider segment width for a given overlay thickness and overlay material.
If ALP filter is enabled, loop diameter should be at least equal to half of required proximity distance. For a different design, refer to Layout Estimator sheet. Shorter the trace lower will be the sensor Cp. Traces should be routed on the non sensor side. If any non- CapSense trace crosses the CapSense trace, ensure that the intersection is orthogonal. Via should be placed near the edge of the button to reduce trace length, thereby increasing the sensitivity.
CapSense resistors have higher priority than LED resistors. Place them first mm 20 mil Mount the device on the layer opposite to the sensor. The CapSense trace length between the device and sensors should be minimum see trace length above Cut a hole in the sensor pad and use rear mountable LEDs.
Standard board thickness for CapSense FR4 based designs is 1. Given maximum limit is for plastic overlay Should be non-conductive material glass, ABS plastic, Formica, wood, and so on.
No air gap should be there between the PCB and overlay. Use adhesive to stick the PCB and overlay. Adhesive should be nonconductive and dielectrically homogenous. The Layout Estimator sheet provides recommendations for minimum sensor size and maximum trace length based on the end-system requirements and industrial design, as Figure shows.
This sheet takes the following parameters as inputs: Overlay thickness: Enter the overlay thickness that will be used in your design. CY8CMBR3xxx supports up to 5 mm thick plastic overlay for a button sensor and up to 2 mm plastic overlay for slider sensor. Overlay dielectric constant: Enter the overlay dielectric constant. Refer to Table C in the sheet to know the dielectric constant of several materials.
Materials with high dielectric constant results in higher sensitivity of sensors. Capacitance of trace per inch: Enter the capacitance of trace per inch by referring to Table C in this sheet. Button sensitivity: This parameter decides the button diameter and maximum overlay thickness. Selecting ff tunes the system for lowest sensitivity and selecting ff tunes the system for highest sensitivity.
Slider sensitivity: If your design has a slider, then enter the sensitivity of the slider.
Thicker overlays require lower values of sensitivity. If your design is required to operate in a high-noise environment, then select High. If the noise condition is not known, select Medium. Proximity sensor type: If your design requires a proximity sensor, then select the proximity sensor type. Proximity distance required: Select the required proximity distance. Valid range is cm. ALP filter: If your design requires a higher proximity distance with smaller loop size, then select Enabled otherwise, select Disabled.
Based on the inputs entered, the toolbox estimates the following: Minimum button diameter required to achieve SNR: If the button diameter required to achieve SNR is greater than 15 mm, the toolbox shows a warning to reduce the overlay thickness or increase the sensitivity of the sensor. To avoid the sensor being oversensitive, you need to start with the button diameter equal to the recommended minimum.
If touch is not detected, increase the button diameter until the touch response is optimum. If the button diameter is too large, it might result in hover effect and turn on even before the finger touches the sensor. Minimum slider dimension required to achieve SNR: The toolbox shows a warning when the required slider dimensions are out of range.
In such cases, reduce the overlay thickness or decrease the sensitivity of the sensor. The Component Catalog is found to the right of your blank schematic sheet. Use the zoom controls in the top toolbar to zoom if necessary.
Note: PSoC Creator has many useful components. You can right click a component to find example projects for that component, and to view the PDF of its datasheet, which describes all of its features and API calls in detail.
Right click or double left click on the Digital Output Pin and select Configure from the context menu. The Configure dialog allows you to edit default properties for that component.
Note: Pay close attention to the case of names of the components. The provided code will not work correctly if the names do not match exactly. Because this pin will not be connected directly to any other PSoC components, uncheck the checkbox titled HW Connection. On the perfect-cell board, the blue LED is mapped to pin P2. Double click the blink-led.
Select the Pins tab at the bottom to show the pin configuration of the project. Select P2 in the Port drop down menu. From the Build menu, select Build blink-led. Note: If the build is successful it will say so in the output frame and there will be new generated source files in the Workspace Editor.
You are now ready to write firmware code. Building the project will generate an API for each of the pin components that you have just created.PSoC Modules Chapter 7: The lower the timeout period value, lower the power consumption. The index register also allows you to perform indirect functions within the RAM address space.
Refer to Table to select the controller. Series resistor on I 2 C lines 6. C F usually ranges from ff. Therefore, when the device is in Look-for-Proximity mode, false proximity triggering can occur when a liquid stream is present.
Because this pin will not be connected directly to any other PSoC components, uncheck the checkbox titled HW Connection.
The trace length of the sensors is minimized by placing the chip close to the sensors. These controllers are ideal for implementing capacitive buttons, sliders, and proximity sensing solutions with minimal development-cycle time.