Quantcast
Channel: Cypress Semiconductor - PSoC 4 Architecture
Viewing all 796 articles
Browse latest View live

CY8C4245 Watchdog

$
0
0

I want to use the WDT interrupt in wdt counter 0 and WDT reset in wdt counter 1 but after initialize, it will go to infinite loop can't reset.

If I just enable EDT interrupt in wdt counter 0, it will no problem.  Below is my config code of the watchdog timer

    CySysWdtDisable(CY_SYS_WDT_COUNTER0_MASK);
    while (CySysWdtReadEnabledStatus(0));

    CySysWdtWriteMode(CY_SYS_WDT_COUNTER0,CY_SYS_WDT_MODE_INT);
    CySysWdtWriteMatch(CY_SYS_WDT_COUNTER0,WDT_INTERVAL_1MS); // WDT interval  Timer = 1msec in counter 0
    CySysWdtWriteClearOnMatch(CY_SYS_WDT_COUNTER0, 1u);
    CySysWdtWriteCascade(CY_SYS_WDT_CASCADE_NONE);
    
    //Enable WDT counter 0 
    CySysWdtEnable(CY_SYS_WDT_COUNTER0_MASK);

    CySysWdtWriteMode(CY_SYS_WDT_COUNTER1,CY_SYS_WDT_MODE_INT);
    CySysWdtWriteMatch(CY_SYS_WDT_COUNTER1,WDT_1S); // WDT Timer = 1sec in counter 1
    CySysWdtWriteClearOnMatch(CY_SYS_WDT_COUNTER1, 1u);
    CySysWdtWriteCascade(CY_SYS_WDT_CASCADE_NONE);

    //Enable WDT counter 1 
    CySysWdtEnable(CY_SYS_WDT_COUNTER1_MASK);

    // Lock WDT registers
    CySysWdtLock();

 


Resource limit error: PSoC4

$
0
0

Hi all

            I am new to PSoC, i have used UART, SPI and one timer in my project(Project attached), i am getting resource error

Error: mpr.M0014: Resource limit: Maximum number of UDB Macrocells exceeded (max=32, needed=42). (App=cydsfit)
Error: mpr.M0014: Resource limit: Maximum number of UDB Unique Pterms exceeded (max=64, needed=86). (App=cydsfit)
Error: mpr.M0014: Resource limit: Maximum number of UDB Datapath Cells exceeded (max=4, needed=5). (App=cydsfit)
Error: mpr.M0014: Resource limit: Maximum number of UDB Status Cells exceeded (max=4, needed=7). (App=cydsfit)

Note: PSoC creator3.2

Kindly help me out.

R.Kishore Kumar.

Attachments: 

Why i can not use capsense csd in psoc4000s?

$
0
0

   I am using psoc4000s in our project developing, We need touch key,slider key,and also water level measurement function, I haved used capsense component to implement the touch key,and slider key function by refer some examples.But when i will refer to  CE202479_PSoC_4_Capacitive_Liquid_Level_Sensing for water level measurement,I find i can't use it,errs "Error in component: CapSenseCsd. The CapSense_CSD_P4_v2_20 component (CapSenseCsd) is not compatible with the selected device. Please check the component datasheet for details on updating to a compatible component."

   I can't find any example using CapSense for liquid measurement.so i am beated!

   Any one can help me? I am appreciated all!

Two CSD Module Using in Same Project (CY8C4126AZI-M445)

$
0
0

Hi everybody,

I would like to use two CSD modules in same project. But i took error message about Resource limit end of the building operation like attached. 4100M datasheet says : 

"Each CSD block has two IDACs which can be used for general
purposes if CapSense is not being used.(both IDACs are
available in that case) or if CapSense is used without water
tolerance (one IDAC is available). The PSoC 4100M has two
CSD blocks which can be used independently; one for
CapSense and the other for IDACs.
The two CapSense blocks are referred to as CSD0 and CSD1.
Capacitance sensing inputs on Ports 0, 1, 2, 3, 4, 6, and 7 are
sensed by CSD0. Capacitance sensing inputs on Port 5 are
sensed by CSD1."
 

Do you have any IDEA ? Also, i have another dramatic information : when i try to same operation with CY8C4127AZI-M485, it can work without any error. There is a table at page 30 of datasheet. The table gives some information about IDAC and CSD capabilities. But i can not comment table and above information at same time.

Thanks in advance for your valuable comments. 

Where can i find the EZI2C slave sub-address get

$
0
0

Hi:

    I want to use the PSoC4 EZI2C Slave block.

I also study the example "SCB_EzI2cCommSlave", but I can't find where i can get the sub-address from master.

In this demo project, it is said that the read base address is 0x03, but I can't find where it is set?

For example:

The master want to read data from sub-address"0x01"-"0x05", how can I set the slave?

Best regards

thanks a lot.

102 - Failed to erase the flash [help me ; please]

$
0
0

I using to the PSOC 4 with CY8C4126LTQ-M445.

when Program(Ctrl+F5] button is push.  The message is appear " PSOC creator error dbg.M0023 (102-failed to erase the flash)"

i dont solve the problem. Tell me know the method~ please!!

installed software as follows

1. PSOC creator 3.3 CP3

2. PSOC Programmer 3.23.0 (PSOC Programmer 3.24.1 : the same symptoms)

Unable to launch cap sense CSD tuner

$
0
0

Hi all,

We have created a 5 x 5 touchpad project using PSoC 4000.We are using CY8CKIT-043 programmer interfaced(EZI2C) with our remote board(CY8C4014LQI-422) as tuner.We are successfully able to load the program but the issue is "unable to launch the tuner due to "read operation failed! check I2C bus connection(SDA:P3.0,SCL:P3.1).

Project files uploaded for your reference.

Regards

Pankaj

PSOC4 SPI Using

$
0
0

Hi All! 

I am using the CY8C4126AZI-M445 as MCU. I will control 31 capacitive sensors and I will drive to led display also. So, I have to optimize pin using.

For this reason, I plan to use HC595 ICs to drive display via SPI. But I won’t use MISO pin in our project and I don’t want to assign any pin for MISO of SPI. When I try don’t assign, after build operation, complier assign automatically. What can I do ? PSOC4 SCB Module(Ver 3.10) has not bidirectional option for SPI. Could you guide to me what can I do use SPI module with only 3 pins ( MOSI,SS,SCK) ? 

Thanks in advance


I2C lockup on power up

$
0
0

Just wanted to run a scenario by you that is causing me some grief. I have a brd with a cy8c4247lqi-bl453 talking to an accelerometer (MMA8451) through I2C. The circuit is powered from a coin cell (CR2032) and the cypress chip is the master. I am using P1.4 and P1.5 for I2C. If I program the chip from the miniprog the I2C will start as soon as the chip is done programming and will run fine as verified by my scope. As soon as I try to run the device from battery with the miniprog disconnected the I2C locks up, both SCLK and Data go high. The chip is running because I am toggling one of the cypress pins and it is cycling. For some reason the I2C is getting hung up under battery supply. BTW, I also replaced the battery with my bench supply and had the same issue so I don’t think it is a supply issue because the chip is running. Any ideas?

PSoC 4 "Unknown Device" Silicon ID 0x0BB11477

$
0
0

Dear all PSoC fans,

I am having a problem when connecting to a PSoC 4® chip that I am using in a project. Apparently the MiniProg 3® connects to the PSoC and reads something as shown on the picture attached. I have 5 boards using a PSoC4 (CY8C4245AXI-473) but only one of them had connected properly to the Miniprog and the PSoC Creator. All of the others ar showing the same issue where the Cypress ID is 0x00001193 but one that shows 0xBEEF1193. Sometimes the PSoC Creator detects a valid PSoC4 chip, but when I try to program it just say that the connection failed or was unable to erase the flash.

Have you guys know what is happening? Did I fry the PSoCs?

Nicolas

LED Status on CY8CKIT-049

$
0
0

Hello all,

I recently got a new CY8CKIT-049-42XX. I wat to make a project that blinks an led for 30 seconds, then turns it off. My problem is that every other 30 seconds, the led is on for 30 seconds. So, to make this work, I added an if statement with if (led_Read == 0), but that generates an error. How would I solve this?

 

Thanks,

Wilson 

USBUART showing as Unknown USB Device

$
0
0

I'm using a PSOC CY8C4248AZI-L485 and trying to implement the USBUART but no matter what I do, I can't get it to recognize the device in Windows.

I started with the sample USBUART project, and made very few changes beyond stripping out some #ifdef code that wasn't executing, and adding a red and green status LED.  

The 4248 is running at 3.3V, and I'm self-powering it from an external source.  The 5V from the USB is applied to the VBUS, and I've tried all combinations of VBUS monitoring both on and off.  I've tried swapping D+/D- and it made no difference.  The D lines were initially passed through series resistors, but I've since eliminated them.  There is no other filtering or static protection on the current prototype.

Whenever I plug it in, I get an error message in Windows (10) that the Device Descriptor Request Failed.  It usually recognizes that I did plug something in to the USB port, but I will add that especially early on during the dev cycle, it wouldn't always attempt to load drivers.  Somewhere along the way it's gotten more responsive to that function.

I installed the .inf file that is generated as part of the projct (I had to boot into the recovery mode to allow Windows to install an unsigned driver).  That made no difference.

I had also installed some generic Cypress USB driver that I found during my travels, but that hasn't seemed to make any difference either.

Attached is the project as it stands today, as well as a screenshot of the error message that I'm seeing in Device Manager.  

I'm new to the USB device development, so I'm not really sure what else might be useful to others to troubleshoot.  It seems like I'm just one little step away from getting this going though.

Zack

Read analog pin

$
0
0

I am completely new to this platform. I have a PSoC 4200 BLE CY8C4247LQ. I am not sure this is the right forum.

I need to read an analog pin to get the voltage read by a sensor I conected. It is an IR sensor (TCST 2103), I want to get the voltage the sensor is reading but I haven't found an easy way to do it. I don't know how to use the SAR ADC  since in my PSoC Creator there is just a "Sequencing SAR ADC" with multiple inputs I don't understand.

Can you please give me some ideas about how to connect it and how to read after that? I thought it would be as easy as a digital pin. Or if I need an external circuit to modify the signal before reading it.

UART command for bootloader

$
0
0

hi all,

i am trying to send command of UART (using docklight)for bootloading psoc4200.except program row command all other command is working properly.for program row command 0x03 error is coming.i tried different way to send this command but same problem is comming.

i want to load my project file through this command on docklight.

following is sequence:-

>>  01 38 00 00 C7 FF 17    ->Enter bootloader command (0x38) 

 << 01 00 08 00 93 11 C8 04 11 28 01 01 4c FE 17  -.response.

>>01 32 01 00 00 CC FF 17     ->Get flash size.(0x32)

<< 01 00 04 00 34 00 FF 00 C8 FE 18   ->response (first row:-34 00,last row:-FF 00)

>>01 37 04 00 01 01 01 01 C0 FF 17   ->Send data (0x37)

<<01 00 00 00 FF FF 17                   <-Response.

>>01 39 04 00 00 34 00 01 8D FF 17      ->program row (0x39) (array id:-00 row:-34 00 data:-01) (i also send last block of send data command with approriate checksum also try different row.)

<<01 03 00 00 FC FF 17               ->error 0x03.

Bootloader setting:-

communication component:-UART 

wait for command time (ms): 0 (wait forever) (i also tried 2000)

checksum :- basic summation.

why i always get 0x03 error?

File Transfer Example

$
0
0

Hi,

I am working on a color LED controller, and want the user to be able to upload their own programs over a USB-UART link.  Does anyone have any examples of this for PSOC?  What are the best methods to do this?  Just stream the data and look for terminating characters?

Thank you,

Tom


Looking for an I2C interface solution that will work with the HD44780 LCD

$
0
0

I have been working with the PCF8574 chip which is set up to work in a 4 bit mode where P0-P3 from the 8574 chip  are connected to D4-D7 of the LCD and P4-P6  are connected to E, R/W and RS. P7 is connected to the Back Plane. I have been trying to use the I2C_LCD component which has not worked since it appears that the data is being transferred in an 8 bit format rather than upper and lower 4 bit nibbles. Are there any software solutions? I am hoping someone can point me in the right direction.

My PC board Layout design would be significantly simpler and I would be able to keep it to a single sided board if I could find an I2C solution rather than having to use the CHAR_LCD component to interface with the LCD.

Thanks

Measuring the internal reference voltage using ADC

$
0
0

Hy,

I am trying to read the battery voltage, but the reference voltage (VDDA) is not stable at all. Therefore, the output of the ADC varies a lot. I was thinking to use another resistive divider to be able to reference everything to 1.024V, but I have a lot of PCBs and I do not want to make this modification on each. Therefore, I am wondering if there is a solution to measure the reference voltage and then, from this, calculate the real VDDA.

I am using a PSOC 4xx7 BLE

 

Thank you in advance

Bootloader error help.

$
0
0

I'm attempting to add a bootloader to a touch pad project, so I can make tuning settings to when its in the case. I've added a new bootloader project to that workspace, made the original project bootloadable, and pointed the dependencies of bootloadable to my bootloader. When I try to build these projects together I am getting a series of errors.

1. prj.M0120:Build error: address 0x41b8 of .\CortexM0\ARM_GCC\484\Debug\CapTouch.elf section '.text' is not within region 'rom'
2. prj.M0120:Build error: .\CortexMo\ARM_GCC_484\Debug\CapTouch.elf section \.eh_frame' will not fit in region 'rom'

3.prj.M0120:Build error: section .cyloadablemeta loaded at [00003fc0,00003fff] overlaps section .text loaded at [00001580,000041b7].

4. prj.M0120: Build error: region 'rom' overflowed by 0 bytes.

Can anyone help? 

Bootloader Tutorial

$
0
0

I'm looking for help on understanding the bootloader and bootloadable components of the PSOC Creator. I've looked at the forums a lot and seen some of the tutorial videos, but I'm still confused on how exactly to implement this.
 

End Goal: Running a CPU with Android on it connected to a PSOC microcontroller and capsense touch pad via I2C. I want to be able to update the firmware of the touchpad controller with a custom driver using the CPU to do I2C writes to the bootloader.

To get an understanding I'm starting with a simple project using LEDs to indicate switches between the bootloader project to two bootloadable projects on the PSOC 4000 kit.

I used the Bootloader Example project provided by Cypress and the two bootloadable projects which will simply toggle the red or green LED depending on which one is called by the bootloader. I call the Bootloader_Start() function in my bootloader main.c and then I poll two buttons attached to gnd and an IO. When the button is pressed the I call Bootloader_Exit() with the application ID of one of the bootloadable projects. The project then should begin to run and exit when the button is released.

Things I think I got wrong:

1.) While debugging the bootloader after I call Bootloader_Start() the code doesn't continue to run into the polling part. How do I properly implement this, so that if none of the buttons were pressed I would theoretically be able load an updated firmware for one of the bootloadables? (Soon I'll get to the point of using the bootloader utils api to create the custom driver to do this, not there yet though)

2.) I've seen some mention in the forums that the PSOC 4000 kit board already goes into a bootloader program and what I'm doing here won't work unless I point the bootloadbles to the bootloader workspace that comes with the kit. Is there away to implement my own bootloader on the PSOC kit, so I can expand my understanding of how this works?

PSoC 4 Device Programming Specification

$
0
0

Hi,

I'm almost new working with PSoC 4 devices, and i'm looking for the PSoC 4 Device Programming Specification document (if it exist), i had found the PSoC 5LP version of it but i have not being able to find the PSoC 4 one.

Does it exist? or shall i look into the different Family TRM?

Thanks in advance

Carlos

Viewing all 796 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>