PSoC™ 4 Forum Discussions
Recently, I conducted a test using CY8C4014LQI-422, which mainly has the following problems:
1、During the test, I found that raw count and diff had a slow rising trend as the temperature of the test environment increased. According to the documentation AN85951, baseline is the compensation for raw count temperature. In fact, during the test, the temperature had little effect on the baseline.
In this chart, I use a hot air device for heating. But the difference in its temperature is still relatively large. Please explain the relationship between temperature and raw count, baseline and diff.
2、When I use capsense, I expect a steady baseline at initialization. The current set of parameters is as follows: SACN 14 bit RESOLUTION -, CsdRawCountCalibrationLevel-10, in theory, should be the baseline initial value of 1683, but the current initial value is 2004. Please help to find out the problem
Hey, seems to be a problem with the Glitch Filter component, when interference with the same time width of the glitch is inserted into the glitch component, the output signal will be much longer than the insert pulse.
For example: if the GlitchFilter is supposed to filter pulses under 10[microsec], pulse of 9 micro will be filtered as expected, pulse of 11 micro will be outputed as expected, but pulse of around ~10 micro will be outputed around 126 micro.
What should I do?
I have something I would like to confirm about the generation of Capsense architecture.
In table2 Device family of AN85951, we can see that PSoC4000 is the 4th generation of CAPSENSE.
However, the Product over view document "PSoC 4S-Series: Scalable, Smart MCU Portfolio" (page 11) available from the product homepage states that PSoC4000 is 3rd generation.
I could not identify which is correct from the datasheet, so please let me know the correct answer.
Chihiro Tatebayashi / NEXTYShow Less
I'm porting a project from another CPU that measures capacitance for level detection. Yes, I know CapSense can do this, but the complexity is huge overkill for this project, and trying to sort through it all and distill a simple case like I need was daunting. So you might say I'm reinventing the wheel, taking advantage of some of the PSOC features, possibly derived from CapSense. The basic algorithm is as follows:
- Set the pin as an open drain output low (to force it to zero)
- Switch to hi-z analog and pull up with an IDAC
- At the same time start a timer
- There is a comparator on the pin. When it transitions, the timer value is captured
The count of the timer will be proportional to the capacitance on the pin, because the IDAC is charging that capacitance and the comparator indicates when a certain charge level has been reached and captures the elapse time.
My biggest issue is that I don't know how to switch from open drain to analog. I thought that SetDriveMode should do it, and that the analog output (which is a small current) would just be overridden by the open drain pulling it down. However, it seems that the open drain isn't in the pin circuit at that point. I can't seem to find a register that switches the pin to analog, other than the mode, or that disables the output circuitry because it is connected to the IDAC.
A similar scenario exists in trying to read resistive touch screens where some pins need to drive high or low at certan times and at other times become ADC inputs.
Is there a way to do this from the program?
A related problem I found with the 4200M was that I couldn't find a way to access the reference. It seems that all reference outputs are dedicated. I wanted a reference voltage to be an input to a comparator, but I couldn't find a way to do that or to bring it out to a pin so I could then re-insert it. I did the next best thing--I sent the other IDAC to a pin and attached a known pull down resistor to it to generate a regulated voltage, and used that pin as an input to a comparator, so I have a work around, but I was surprised that I couldn't access the reference directly.
I've worked with other kits and processes, and haven't seen this, but I have two problems.
1. When I run the kit with PSOC creator (download and run) everything works fine. But after it is programmed, if I unplug the USB and plug it back in (to provide target power. It doesn't start--i.e. I assume it doesn't get a reset. I would expect power on reset to take care of this. Looking at the schematic, there is no pull up on reset or a capacitor to ground or other way to externally do a POR, but the IC is supposed to reset. Maybe KIT-PROG2 is holding it in reset? My goal is to leave KIT-PROG2 attached so I can access data via the virtual com port, and also possibly update the code.
2. After I plug USB back in, if I press reset on the KIT-PROG2 (which asserts XRES on the target directly) it does come to life. Of course that isn't useful in an embedded application with no UI. But maybe it sheds some light on the first problem. HOWEVER, one of my serial commands that starts an I2C device operating never returns when the program starts this way. Looking into it, I found that it is stuck in the default interrupt handler and it got there after an I2C status function disabled interrupts read some stuff from the I2C working memory and then re-enabled interrupts on exit. When it re-enabled interrupts is when the unhandled interrupt occurred. Strangely, if I download and run this unhandled interrupt doesn't occur, only if it was powered up and then XRES asserted and then this status function called. Seems like restoring interrupts turns on more than it turned off or something.
Any ideas on either of these?
My customer need FW test that will enable BLE certification (i.e. will provoke the behavior of the BLE track as required in BLE certification tests).
Do you have one? In the form of ready-made bins or libraries?
Thanks for help.Show Less
I'm using CY8C4248LQI-BL543 chipset and PSoC 4.4 IDE. I'm using BLE chipset as peripheral device. In the Gap settings of PSoC 4.4 IDE, I wrote my device name (15 bytes). after connecting to my android app, I'm sending new device name of same length (15 bytes) to my chipset. when I disconnect my app and try to scan the available ble devices then I'm getting my NEW DEVICE name in stead of old device name. but the problem is that it is not updated in to the flash. because if I power off my chipset and again power ON it then I'm getting the old DEVICE NAME. so please go through the below code and give any suggestions regarding my problem. I implemented below code with the help of the below thread linkShow Less
In which folder are the components installed by Component Installer placed? Can the user specify it?
If I build after using this, it will get an error as the installed path doesn't seem to be readable. (It seems that the Japanese name is included in the folder path and Creator cannot read it).