PSoC™ 5, 3 & 1 Forum Discussions
text.format{('custom.tabs.no.results')}
I had a basic I2C transaction with a temperature sensor working. I disabled all the I2C stuff and brought in the RTC counter from the example, and that was working as well. But when I re-enabled the I2C calls, it looks like it's hanging forever waiting for the last byte to be transferred (line 951 of I2C.c). I am worried that one of the interrupt routines is causing the I2C transaction to be messed up, but I am not sure where to look to find out how, or to debug. I've attached my project.
Am I missing something fundamental about how these modules interact with one another?
Thanks,
Andrew
Show LessHi:
I just noticed in datasheet, there are two types of datapath, one in UDB, the other in DFB. Is that correct? Obviously the two 'types' datapath are not the same architecture, different ALU input selection, RAM size, output pipeline...and so on.
It seems the datapath configure tool is to configure the UDB datapath only, is that correct? I can not find any tool to help customized design on DFB datapath.
Thanks.
B.R
Show LessERROR :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 Less