PSoC™ 5, 3 & 1 Forum Discussions
I am trying to design a simple UDB component which takes two signals (both are 0 or 1) as input and does some logical operations on them. After writing the code in Verilog, when I try to configure the datapath, I need to use the input signals which are defined as 'wires' in verilog. How to load the input signals in the two accumulators so that I can do comparisions on them?
I looked at all the relevent documents and the only hardware input option I can find is through 'Carry In - Route' option. Can anybody suggest something?
Thanks and Regards
Show LessI would just like to say how impressed I am with the PSoC and all the support documents provided by Cypress. I have been able to learn almost everything I need through the Cypress documentation or the forums, however, I have reached a roadblock. I have enabled CAN TX interrups, however, I am not sure how to see which TX message buffer caused the interrup. I think I need to access the CAN[0..0]_CSR_BUF_SR register, but I am just not sure how to read individual bits from the register.
Thanks,
Tom
Show LessHi, I am new to PSoC and for my internship I am trying to get the following logical operation carried out using the DFB:
There are two inputs A and B (A, B can be 0 or 1) and one output (0 or 1). If A is 0, output nothing; if A is 1, output B.
Truth table:
A B Output
0 0 -
0 1 -
1 0 0
1 1 1
The output is supposed to be stored in the local (DFB) memory in form of a sequence of 0s and 1s. I believe I require a simple Compare and Jmp operation, which determines whether to store B or discard the value by checking the value of A, and another Shift and Add operation to keep adding the new bit to a register by shifting the existing sequence to the left by 1 bit. When the DFB registers are full I need to generate an interrupt and transfer the data in DFB memory to main memory.
While I know some assembly language programming, I find the DFB assembler quite confusing. Can anyone who's familiar with the DFB assembly suggest how to execute this? Thank you for your help in advance!
Regards
Show Lesshi
I have a code when I compile it in debug mode it works without any error but when I compile it to release mode the Fx3 crashes and didn't respond to commands that I send from computure
what's wrong !!!!!!
All,
I could not figure out where to post this so moderators please accept my apologies and move this accordingly.
AS part of my final evaluations, I wanted to put together a simple program that can measure low voltage AC sinewave of no higher than 2vp/p and a frequency of 50khz. This is for an LVDT in the end.
Now I started going through the notes and such but found that using Google is a far more efficient way to search this site. I found two articles but not much to go with. I looked in the Example projects but did not see anything there either.
IS there a way to get a catalog of the app notes Cypress has available on the site? It would help because navigating the site is painfull because the site is so slow responding....Whats up with that BTW?
So three questions:
1) Is there an app note table of contents?
2) Any suggestions on how to measure the signal I described above
3) WHY is the site so slow in response?
Regards,
Jim
Show LessI need a way to measure 16 Hobby Servo Signals (1 to 2 ms pulse length and roughly 20ms repetition rate) with low resolution (10us resolution is more than enought). The signals are from different sources (asynchronous) and can have a different repetition rate.
What is the most efficient way to measure them with a PSoC5LP without excessive Interrupt use?
Show LessHello,
I would like accomplish next operation in DFB block:
When signal In1 present take value of stage A register and execute in MAC operation A*A . Computed value then put to holding register A.
I tryied to use simulator integrated in component but value of MacOut in output box is still zero.
Could you give me some advise please?
My code is below:
initial:
acu(hold,hold) dmux(srm,srm) alu(hold) mac(clra)
acu(hold,hold) dmux(srm,srm) alu(hold) mac(hold) jmp(eob, waitfordata)
waitfordata:
acu(hold,hold) addr(1) dmux(ba,ba) alu(hold) mac(macc) jmpl(in1,write_bus)
write_bus:
acu(hold,hold) dmux(srm,srm) alu(seta) mac(hold)
acu(hold,hold)addr(1) dmux(srm,srm) alu(setsem,001) mac(hold)write(abus)
acu(clear,clear) dmux(srm,srm) alu(hold) mac(hold)jmpl(eob,waitfordata)
Show Less
Trying to output a 'message' string with the uart, but I only get the first six bytes and then it goes silent. I thought is may have been the TX buffer, so I increased it to 32 bytes, but that did not fix it.
Here is the UART setup:
clock - 3Mhz
Baud - 187.5k
parity - odd
tx buffer- 32bytes
rx buffer - 4 bytes
Full duplex
no interrupts
Here is the source code, it's not much:
#include <project.h>
#define Port3_1
#define Port3_2
char message[18]={"This is jgmDESIGNS"};
int main()
{
/* Place your initialization/startup code here (e.g. MyInst_Start()) */
WaveDAC8_1_Start();
LCD_Char_1_Start();
LCD_Char_1_DisplayOn();
LCD_Char_1_PrintString("Hello World");
LCD_Char_1_Position(1,5);
LCD_Char_1_PrintString("Daniel!!");
UART_1_Start(); /* Enabling the UART */
UART_1_PutString(message);
/* CyGlobalIntEnable; */ /* Uncomment this line to enable global interrupts. */
for(;;)
{
/* Set OutputPin state to the
inverse of the InputPin state */
Port3_2_Write( Port3_1_Read() );
}
}
Also,
Is there a radio button to put source code in to keep indentation and formatting?
Thanks
Jim
Show Less