PSoC™ 5, 3 & 1 Forum Discussions
I'm trying to use a UDB clock enable to create a gated clock for a bunch of shift registers and a counter.
The input clock (to the clock enable) is just a 1MHz clock generated by the PSoC. The enable signal is a control register bit. The output of the UDB clock enable *only* connects to the clock input of 6 ShiftReg_v2_30 blocks and a Counter_v2_40 block which has been configured to use UDB (not fixed function).
When I go to build the application, PSoC Creator explodes, saying "The UDB Clock/Enable components may only drive clocks in UDB content and \MyUDBEn:udbclkenable\ is connected to clk_en on \MyShiftReg:bSR:ClkEn\" -- the same error is repeated for what I am guessing is every register the clock enable output touches in each of the modules.
I do notice that some PSoC component blocks have a pink header and most have a green header, and I am guessing that that has something to do with why I can't get this to work.
On a more general note, what is the correct way to generate a glitch-free gated clock for PSoC components?
Show LessI am trying to use CY8C24894 in a design including the USB interface. I want to use it as a self-powered device.
I read several files on it but one thing is not clear. Do I need to provide an external pull-up resistor to D+ or is that handled by the USBFS module. The supply voltage for my PSoC1 device is 5V.
Show LessHello,
I was going thru the TRM and I didn't find much explanation on fixed-function blocks.
After going thru several chapters, I concluded that fixed-function blocks are a separate set of programmable logic (not sure if it is "programmable" since it only has a fixed function) than the UDB.
So I'm asking the gurus of PSoC (5LP to be precise), is this true?
Show LessI have created a function named "keypad". then I have placed the function in a header file called "keypad.h".
then I have used the keypad function all over the different ISRs. when I build the project I get this error:
Build error: multiple definition of `keypad'
I am quite sure that it is only defined once. so what is the problem?
Show LessHi,
I need to finely tune frequency of PWM output of PSoC 5LP within approx +/-10Hz, centered at 32.768 kHz (standard Quartz oscillator frequency). I need such fine-tuning to syncronize 32.76 kHz signals on two separate devices within approx. <0.5 Hz. (clock sharing between devices is NOT possible). I thought that all Quartz resonators are closely matched, but as I go through them, frequency deviation from one to another can be as much as 10 Hz. I can pre-select a pair of relatively closely matched Quartz resonators, but some fine adjustment of the frequency is still required.
Is there any PLL possibilities of PSoC5LP for fine adjustment of the output frequency with resolution 0.1 Hz? What other possibilities exist to fine-tune Quartz frequency: adjusting Quartz oscillator driving voltage, changing bypassing capacitors, temperature?
Show LessI'm trying to get a very basic USB implementation up and running. I intend on just doing some basic vendor-specific transfers but at the moment I can't seem to get the USB device to enumerate for more than a few fractions of a second.
My main loop is very straightforward:
int main(void) { int i; CyGlobalIntEnable; USB_Start(0, USB_DWR_VDDD_OPERATION); i = 0; while (! USB_GetConfiguration()) { Port2Reg_Write(1 << i); wait100(); i++; if (i == 😎 { i = 0; } } Port2Reg_Write(0); /* ... */ }
Right now, USB_GetConfiguration() never returns nonzero so I sit and spin. The computer (OSX, also tried on Windows and Linux) shows the USB device enumerating and then disappearing, over and over again. If I am quick enough I can see that my manufacturer name and product name strings show up in lsusb output but that's it.
Is there something basic I'm missing? I have studied the examples and they seem to do the same thing, and in fact if I load one of the other PSoC5LP demos (such as the PSoC 4 Pioneer programmer source) it does the same thing, leading me to believe that something isn't correct perhaps on my board.
Show LessI encounter a failure using the Miniprogrammer1 whenever I try to read checksum of CY8C20075 device. An error prompts wherein the detected si id of the unit is 01 01 11 55 and this particular Si ID is not in the database.
I checked the .dat file in the Devices folder and was able to confirm that this Si ID is not included. I tried to add this Si ID but I still get the same error prompt.
By the way i'm using psoc programmer 3.20.1 build 1831.
rgds,
RAndy
Show LessHello,
I'm trying to measure the consumption of the pin component in PSoC5LP.
I want to evaluate it in terms of sourcing and sinking current.
Therefore I decided to go thru all the different modes available for all different pin configs (analog, digital in/out/inout).
So I wanted to ask before proceeding : are all the modes suited for sinking AND sourcing, or are there modes that are better used to source/sink?
For example, I'm kind of convinced that Strong Drive is good for sourcing current, but not so good at sinking. Is that true?
As for the test plan :
For pins that are sourcing, I thought of sourcing the current into a passive load (around 5.6kOhms; about the same value as the pull resistances, and around 20 pF capacitance in parrallel). I'm not so good at designing circuits. Is this ok?
For pins that are sinking, I thought of sourcing current from an op-amp wired as a follower (for DC) and as an oscillator which outputs a sine and square wave (for AC). Again, I'm not so good at designing circuits. Is this ok?
Thanks,
Show Lessi have a link here that is an example of UART.
http://www.cypress.com/?docID=35078
what is the VR pin of j5? to it we are connecting the p0.1 analog input pin. why? Is it directly connected to the UART?
Show LessHi,
I am using CY8C24894 to develop a serial port comminication with IC. The communication require PSoC to send a 7 bit data only to IC. I implement it using SPIM UM, but i got a problem with the SPIM to send a 7 bits data to my IC.
My method is to use SPIM to send 1 byte data, and AND the SPIM sclk 8 pulse signals with a counter which has a duty cyle of 7/8, in the way 1 pulse will be masked and only the rest 7 sclk pulse can be sent out.
my problem is how can I make sure the counter can mask exactly the 1st pulse of sclk or the last pulse of sclk, in order to pass the desired 7 data bits? I have attached the diagram to illustrate the desired situations.
I have try the following method to solve it, but none of them works so far:
1) programming in main.c to start counter and send data by SPIM.
"while( ! (SPIM_bReadStatus() & SPIM_SPIM_TX_BUFFER_EMPTY ) );
Counter_Start();
SPIM_SendTxData(databyte);"
The starting time of counter is not constant, thus position of the masked sclk pulse is random every time.
2) use SPIM ISR to start counter. the SPIM interrupt mode is TXRegEmpty. the counter starting time is constant now, but it will delay a few cycle of sclk. Thus the first 4 sclk pulses will all be masked as showed in attached file.
Right now i am stucked here, could anyone give me some suggestion on sending only 7 bits data by SPIM?
Thanks,
CC
Show Less