PSoC™ 5, 3 & 1 Forum Discussions
Are there any schematic/PCB symbols for the PSoC 5LP in OrCAD format? I can find some for PSoC 1, 3 and 4 but no 5. There's also Altium symbols for 3/4/5.
It seems like they've been released in response to specific requests - so if there's symbols Cypress (or anyone else) can release that would be handy.
Show LessHi Everyone,
I am new to the world of PSoC and working on my second project.
I am trying to 'talk' with a DS1302 (a pointless exercise I know as the PSoC has a RTC) as a way to learn SPI and the three wire interface, and this was the only device I had to hand.
I have tried numerous ways to do this and had no sucess with any. Can somebody with more experience than I have please tell me if it is a fault in my code or some quirk of this particular chip. One thing I did notice on the data sheet was that during a read cycle the address is clocked on the rising edge but the data packet is clocked on the falling edge - is that normal?
The code is as follows:
#include <project.h>
int main()
{
//Declare a few variables
int8 myData = 0u;
//Enable Interupts
CyGlobalIntEnable;
//Start the SPI Module
SPIM_1_Start();
//Clear all buffers just for good luck!
SPIM_1_ClearFIFO();
/* --------------------------------------------- */
// Let's try to send some data to the slave device.
/* --------------------------------------------- */
//Enable the manual slave select line
//This needs to go HIGH to enable the chip
Control_Reg_1_Write(1);
//Enable Transmit from Master
SPIM_1_TxEnable();
//Clear the write protect bit by setting register 0x8E to be zero
SPIM_1_WriteTxData(0x8E);
SPIM_1_WriteTxData(0x00);
//Set the first RAM address to contain 0xAA
SPIM_1_WriteTxData(0xC0);
SPIM_1_WriteTxData(0xAA);
//Wait for transmission to complete and then go back to receive mode
while(!(SPIM_1_ReadTxStatus() & SPIM_1_STS_SPI_DONE));
SPIM_1_TxDisable();
//Disable the manual slave select line
Control_Reg_1_Write(0);
//Have a short delay and than start again
CyDelay(100);
/* --------------------------------------------- */
// Now read the data back from the slave device.
/* --------------------------------------------- */
//Clear all the buffers
SPIM_1_ClearFIFO();
//Enable the manual slave select line
//This needs to go HIGH to enable the chip
Control_Reg_1_Write(1);
//Enable Transmit from the Master
SPIM_1_TxEnable();
//Send the address that we wish to read from
SPIM_1_WriteTxData(0xC1);
//Wait for transmission to complete and then go back to receive mode
while(!(SPIM_1_ReadTxStatus() & SPIM_1_STS_SPI_DONE));
SPIM_1_TxDisable();
//Disable the manual slave select line
Control_Reg_1_Write(0);
//Read the received data
myData = SPIM_1_ReadByte(); //Returns 00
myData = SPIM_1_ReadByte(); //Returns C1
myData = SPIM_1_ReadByte(); //Returns 00
myData = SPIM_1_ReadByte(); //Returns C0
//Enter never ending loop
for(;;)
{
/* Place your application code here. */
}
}
/* [] END OF FILE */
In most time I have more than 2 boards(pcb). Each board containing one PSoC. I want to know perticular software version running on perticular board (pcb). I think best way is to read checksum and dump through UART. If the checksum is of old pogram then only I update PSoC. If there will be some modification in program file checksum will be automatically changed.
I want to know :
1. how to read checksum in main.c so that I dump it through UART?
2. Is there any better solution to keep tag software version info on PSoC?
Show LessHello,
I am a beginner to psoc. i have a psoc1 eval kit cy8c29466 24pxi microcontroller. i have written the program in c language. while downloading the program to the chip it showing busy in the programmer and then my laptop is not responding anything. I dont know what is the problem. i am using psoc designer 5.3 and my os is windows 7 .. is the software compatible with my hardware?
please help me out of my problem.. suggest me a some solutions
thank you.
Show LessI am using a PSoC 5 that includes two 32-tap FIR filters, an ADC_SAR, a 2-input MuxHw, Sync, LUT, DMA, PWM, Control Register, and an Opamp. My build gives two errors:
mpr.M0014:Resource limit: Maximum number of Opamp Fixed Blacks exceeded (max=0, needed=1).
mpr.M0014:Resource limit: Maximum number of DFB Fixed Blacks exceeded (max=0, needed=1).
What do these messages mean? I can't find any documentation on them.
Is my design too complex?
Show LessCan Analog output pins be routed to any of the VDDio ?
I want 4 x DAC output with the 4V range and need Vddio of 5V on these pins but not on other pins.
My assumption is that I can have 1 of the vdddio pins attached to 5V and the rest to 3.3V so I can have a mix of output levels?
I have looked through several documents but cannot find specific reference to how this is done (or whether it can be done like this).
My system needs Analog DC output from 0 to 2.5V and the DAC only has 1V or 4V option. Though I can use the 4V option with 3.3V supply,I loose resolution of the output by doing this.
I am generating a 0-20mA output signal and want at least 0.1mA resolution. I can achieve this ok with 8 bit if I use almost full range of values. I don't want to use external op amp and gain to translate 0-1V into 0-2.5 V but ok to use simply resistive divider to translate 0-4V into 0-2.5V
Show LessAre these 2 kits compatible? I cant find anything in the documentation that says they are or how to configure.
If so does anyone have any specific information about them?
Thanks
Show LessHi all,
I've been poking around with DMA and learning quite a bit. In short I have a 32 bit counter with DMA that transfers the values to memory. This is done in two DMA channels because of the 16 bit spoke limitation and works just fine.
Then of course I decided to try adding another TD to the second channel. This one is chained to the end of the first (memory to memory 4 byte transfer) but is only 2 bytes long as I would like to transfer the results of a second counter at the same time.
I am going to assume this is foolish as it works only if it comes after the first TD (4 bytes followed by 2 bytes) but not if it goes first (2 bytes followed by 4 bytes).
Does this mean I should use a separate channel for all DMA transfers that are varied widths?
Show LessDoes anybody have an example of using the digital filter without DMA, under software control only?
For example, ADC_SAR > Filter Channel 1 > DAC8, with code in main.c? In other words, simplest way possible without DMA?
Thanks,
Rory