PSoC™ 5, 3 & 1 Forum Discussions
Hi all, i tried for design very low frequency like 0.05hz. But if i entered the value into filter configuration box, it displaying red sign. can any one tell me how to design filtering very low frequency.
Show LessThe sample code suggests code like this...
/* Wait until component is ready to send data to host. */
while (0u == USBUART_CDCIsReady())
{
}
Is it possible to get stuck in this loop if there is a problem with the USB connection?
Show Lessgreetings,
Can Someone please tell the meaning and how to solve this error ?
Signal "\WDAC1:Net_189\" is expected to connect to only one GPIO analog pin but instead it connects to "\WDAC1:VDAC8:viDAC8\". Please fix the connection
Signal "\WDAC2:Net_189\" is expected to connect to only one GPIO analog pin but instead it connects to "\WDAC2:VDAC8:viDAC8\". Please fix the connection.
project attached below.
Thank you.
Show LessDoes anyone know what would cause this schematic error message when building?
"Object reference not set to an instance of an object"
I wish these errors would at least show the source of the error or at least some more info. This is a design that was compiling with no problems until now.
Show LessProblem:
Hey, I have gotten myself a little bit stumped here. I plan on moving data from a SAR ADC (480kbps) to SRAM with DMA (already done), and buffering it before moving it to an external ONFI NAND Flash. I would like to run the bus clock (cpu clock) as slow as possible, let's say 3 Mhz in order to save power. I tried doing this with the CPU and got less than stellar results, so I decided it would be a good idea to us the digital blocks to operate the bus to the ONFI Program Page sequence. The EMIF component does not seem like it would be a good match since does not support ONFI NAND and the custom EMIF seems like all the same work of implementing the bus in verilog.
Proposed Solution:
Implement the ONFI Program Page Sequence using the digital blocks to generate the control signals and DMA to move data in tandem with the WE signal from the SRAM to the GPIO pins. Let the DMA Controller assert the end of transfer signal after it has moved a byte to the GPIO so the digital blocks know that it's ok to assert the WE signal. Then assert a data request signal to the DMA controller letting it know that it's ok to transfer the next byte to the GPIO pins.
Issue:
I am not sure of a good way to set up the DMA transfer. My page size is to large to just simply chain together enough dma descriptors to were each descriptor waits on a data request and terminates once the entire chain is finished. The other approach that I thought about was using a single dma descriptor to post increment the source address, keep the destination address static, send 1 byte per burst, and require a request per given burst. If set the transfer length to 1 byte long as well, I would get my data request (nrq) signal at the end of the transfer. I would have to set the next TD so that it would loop also. However, in this case, I am not sure how to stop the DMA and set the source address back to the start of my ram buffer so that when I am ready to write the next page, I can start again.
So, what would be really great, would be a circular DMA buffer that sends 1 byte per data request and let me know when that byte was sent, and would loop around to the start of the buffer once it had sent a page worth of bytes.
In case anyone finds it helpful in understanding what I am trying to do, I am attaching a timing diagram for the program page sequence.
Thanks in advance!
Show LessHello all,
First time poster, first time project using a Cypress device. We would like to drive the 1550E LED from Thor Labs using the 5LP. We have sussessfully light up a Red LED using the following TopDesign: Please see the topDesign.JPG image attached. As well as code, please see code block below.
The data sheet for the 1550E LED is as follows:
Code:
{
CyGlobalIntEnable; /* Enable global interrupts. */
PWM_NearIR_01_Start();
PWM_NearIR_02_Start();
PWM_LEDG_Start();
PWM_LEDR_Start();
PWM_IR_Start();
PGA_Start();
{
/* Place your application code here. */
}
}
Using the same code and topDesign we were able to light up the LED using a period of 100 and a CMP value of whatever we chose, in this case it was 15. We are using an 8 bit resolution and a UDB implementation with a 500 kHz clock cycle. The regular LED lights up just fine.
However, the Near Infrared LED doesn't seem to light up. Yes, we are aware the LED is not visible to the naked eye in that spectral range. However, we belived it was possible to check via a phone camera since it sees Infrared light.
We were able to see the pulse we set in PSoC Creator via an oscilloscope but were unsuccessful in observing the current. We did observe the voltage on the input of the diode, so we know it was at least powered. In addition, the regular LED light up just fine.
The question:
Do we need a specific clock cycle, period and compare value to get a signal (light) to come out of this device that wasn't needed for the regular LED Diode?
Thanks in advance for your help,
James Hayek
Show LessI'm using a PSoC 5LP to control a PCA functional test fixture (a.k.a. bed-of-nails). An operator can open the lid of the tester at any time during the test. I've found that if the lid is opened at exactly the right time it will cause the I2C component to error out in several different ways and I can't recover. Sometimes it ends up at CyHalt or at one of the blocking statements (i.e. the 'while' loops) in the I2C auto-generated code.
I'm sure this is pretty basic knowledge but I could not find the answer: I need to modify a driver and I don't have enough flexibility with the small code sections that are user modifiable, so is there an easy way of shutting off code generation so that I can modify the driver code?
thanks
Doug
Show LessI have a Psoc5lp kit. I want to know how I can use the function of swv.