PSoC™ 5, 3 & 1 Forum Discussions
ERROR :Routing of asynchrononus signal Clock_1 as a clock to UDB component "\AudioClkGen:UDB_ACG:div:Div:u0\" is not supported unless a UDB Clock/Enable component is used
Show LessHi.. I have a cy3209-ExpressEVK kit. my problem is, How i can connect Zigbee transceiver(UART) to SPI radio socket.
So. Please Help me to solve this problem.
Thank you
Keyur Patel
Show LessHello everyone,
I'm working with the PSoC5 Dev-Kit CY8CKIT-001 and PSoC Creator 1. I try to transfer the result of the ADC_SAR to the filter-block via DMA. My DMA config is:
/* DMA Configuration for DMA_ADC2Filter */
#define DMA_ADC2Filter_BYTES_PER_BURST 2
#define DMA_ADC2Filter_REQUEST_PER_BURST 1
#define DMA_ADC2Filter_SRC_BASE (CYDEV_PERIPH_BASE)
#define DMA_ADC2Filter_DST_BASE (CYDEV_PERIPH_BASE)
DMA_ADC2Filter_Chan = DMA_ADC2Filter_DmaInitialize(DMA_ADC2Filter_BYTES_PER_BURST, DMA_ADC2Filter_REQUEST_PER_BURST,
HI16(DMA_ADC2Filter_SRC_BASE), HI16(DMA_ADC2Filter_DST_BASE));
DMA_ADC2Filter_TD[0] = CyDmaTdAllocate();
DMA_ADC2Filter_TD[1] = CyDmaTdAllocate();
if(DMA_ADC2Filter_Chan == DMA_INVALID_TD || DMA_ADC2Filter_TD[0] == DMA_INVALID_TD)
{
LCD_Position(0,0) ;
LCD_PrintString("DMA Error") ;
}
if (CyDmaTdSetConfiguration(DMA_ADC2Filter_TD[0], 2, DMA_ADC2Filter_TD[1], TD_INC_SRC_ADR | TD_INC_DST_ADR | TD_SWAP_EN | TD_SWAP_EN ) != CYRET_SUCCESS) // c);
{
LCD_Position(0,0) ;
LCD_PrintString("DMA Error") ;
}
if (CyDmaTdSetConfiguration(DMA_ADC2Filter_TD[1], 2, DMA_ADC2Filter_TD[0], TD_SWAP_EN ) != CYRET_SUCCESS)
{
LCD_Position(0,0) ;
LCD_PrintString("DMA Error") ;
}
CyDmaTdSetAddress(DMA_ADC2Filter_TD[0], LO16((uint32)ADC1_SAR_WRK0_PTR), LO16((uint32)FIR_Filter_STAGEA_PTR));
CyDmaTdSetAddress(DMA_ADC2Filter_TD[1], LO16((uint32)ADC1_SAR_WRK1_PTR), LO16((uint32)FIR_Filter_STAGEA_PTR));
CyDmaChSetInitialTd(DMA_ADC2Filter_Chan, DMA_ADC2Filter_TD[0]);
if (CyDmaChEnable(DMA_ADC2Filter_Chan, 1) != CYRET_SUCCESS)
{
LCD_Position(0,0) ;
LCD_PrintString("DMA Error") ;
}
I took the config from the example and it works fine for the lower byte. But not for the higher one. The problem is that the result of the conversion is stored in two different registers of just 1 byte, not as in the example in one 16 bit-register. I gues the ardesspointers need to be configured in a certain way, but I don't know how.
Can anyone tell me how?
Thanks in advance!
timhappy
Show LessAfter running successful the sample projects for the PSOC 3 First Touch Kit I wanted to write my first own project. I started with the LED-flash project from the document "My first five designs". I adopted the pins of the LED´s to the First Touch board. When I try to load my program into the kit I geht the mesage:
"The selected debug target 'CY8C3866AXA-040 ES2' is not compatible with the project's selected device 'CY8C3866AXI-040 PRODUCTION"
The CPU CY8C3866AXI-040 XI is however used In the First Touch sample projects that are working although there is a CPU version "ES2" on the board. The Version "ES2" is not offered in the device selector in PSOC Creator.
Does anyone know
1.) What is the difference between the AXI and the ES2 version, did I get an outdated version of the board from Digikey ?
2.) How can I convince PSOC creator 1 (production version) to download my firmware into the ES2 version ?
Best regards
Juergen Putzger
Universitaet Regensburg
Show LessHi everyone. I'm trying to determine the frequency of a incoming signal at roughly 7KHz. This signal is correctly identified using a scope and is at correct logic levels. I am using the 16bit Tachometer digital block which adds a second interrupt. It is basically a 16 bit timer with the added interrupt. I have a 1MHz input clock which should get me enough resolution for this. The incoming frequency is fed into the capture port on the block. Now I'm having trouble getting a frequency measurement. Here is some of my code.
void main(void) { LCD_1_Start(); // Initialize LCD hardware TachTimer16_1_WritePeriod(0xFFFF); M8C_DisableGInt; TachTimer16_1_Stop(); TachTimer16_1_EnableInt(); TachTimer16_1_Start(); M8C_EnableGInt; while(1){ LCD_1_Position(0,0); lcd_int(diff,5); freq = (0.000001)*(0x10000-diff); delay(); TachTimer16_1_WritePeriod(0xFFFF); TachTimer16_1_Start(); delay();
void MyCounterISRLSB(void) //capture interrupt { to = TachTimer16_1_wReadTimer(); if (to < tf) diff = tf-to;//(0xFFFF-tf)+to; else diff = ((0xFFFF-tf)+to); tf = to; TachTimer16_1_Stop(); }
Greetings,
I have been experimenting with development for CY8C21434. I am interested in implementing simultaneous touch and prox sensing for this module, such that a hand wave in front of a keypad activates a backlight and allows the user to push buttons. Given the fact that the CSD properties are so different for these applications and that there are only 4 digital and 4 analog blocks, this does not seem possible. I have scoured the application notes, forums, etc, and have found no mention of this. Does anyone know if something like this is possible? I would like to stick to an 8051-based QFN32 part if possible. Thanks for any input.
Show Less...
Hi:
I try to figure out the detail of datapath status register interrupt generation, I can not find example on website.
I creat a module based on PSoC creator 213 project, in MyPWM16 module, I added cy_psoc3_statusi instance:
cy_psoc3_statusi #(.cy_force_order(`TRUE), .cy_md_select(7'b0000011), .cy_int_mask(7'b0000011))
StatusRegi
(
/* input [06:00] */ .status({5'b0,ce1}), // Status Bits
/* input */ .reset(), // Reset from interconnect
/* input */ .clock(clock), // Clock used for registering data
/* output */ .interrupt(irq) // Interrupt signal (route to Int Ctrl)
);
Then Conecting the irq output to an ISR component (posedge trigger mode) ,
enable bit 4 of Auxiliary Control Register (0x40006490),and enable isr_1 & enable global interrupt,
then expect isr_1 handler be entried when debugging.
But irq trigger did not happen...
-- I can not find detail information about datapath status interrupt generation, any file can be referenced?
In the other hand, I try to connnect an verilog wire to .reset() in StatusRegi, but error happened, and information said the:
The statusi register, \MyPWM16_1:StatusRegi\, is using a routed reset which is not available in this revision of the device.
The current device does not support the routed reset feature for the statusi register. Check the selected device and switch to a newer revision that supports the feature.
--Is the reset should be left along?
--And for my concern, where I can find the correct example of datapath status register intterupt generation?
Thanks.
Show Lessi enabled the counter8 with a clock frequency of ~366. the terminal count is expected to occur at every ~0.6 seconds. I connected led1 at the terminal count output to see it is blinking. Yes it is blinking.
i enabled DigInv module. Through row output i connected the teminal count output to DigInv input. The output of DgInv is connected with an led2. I expected that the led2 also will blink with an inverted manner of led1. But led2 is remain on. What went wrong?
regards
gopal
Show LessAll,
background: you can only use PSoC Creator together with a PSoC 3 in mind. It is possible to evaluate the user interface of Creator without hardware but you will get stuck sooner or later.
On the other hand, when you are using PSoC 3 you will use Creator by definition because it is the only tool to configure the hardware of PSoC 3
Because these subjects, PSoC Creator and PSoC 3 are so closely related, we are discussing to merge the content of both forums and call it a PSoC 3 -- Hardware -- Software -- DevKits or similarly a PSoC 3 -- Hardware -- Software -- DevKits forum
You feedback is greatly appreciated and if we get a number of votes, it will have a strong impact on the decision.
Please post your opinion in this thread.
Cheers, Robert
I was trying to get sample code for the RTC working on my PSOC5 kit with ES1 silicone and I may be running into one of the known issues..
If I program and run the code, it writes to the LCD once then seems to hang.
If I debug and put a breakpoint in the main loop, and "play" from that breakpoint after waiting a second, it will update the LCD each time and come back to the breakpoint. If I "Play" from the breakpoint wiht less than a second delay, it never returns to the breakpoint and never updates the LCD any more.
In this document on page 7, item #21:
http://www.cypress.com/?docID=22245
It states that it won't wake from sleep cleanly, and recommends defining a compiler macro for CYLIB_POWER_MANAGEMENT in the project build properties under compiler. Being a noob, I can't seem to figure out what this means, nor can I figure out the right keywords to find any useful information on creating compiler macros to figure it out.. A little help would be greatly appreciated. I already figured out the clock setup mentioned in the same item (I think..)
If I comment out the sleep routines and prevent that from happening, the RTC is alive and well and updates the LCD with no problem. Attached is my project. (with the sleep routines commented out in the main loop
Show Less