- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have build several identical custom boards with a CY8C4245AXI. On some boards I notice that the controller does not run as fast as it should.
I have removed all parts except the capacitors for the controller, still the controller is slow.
The controller is powered by the Miniprog3.
A test application only has a timer and one output pin.
There are no warnings during build.
Here is what I observe:
clock set to 48MHZ
timer should generate a 200kHz signal
running at 3.3V: output signal is 59kHz (slow)
running at 2.5V: output signal is 200kHz (ok)
clock changed to 24MHz
output signal now should bei 100kHz
running at 3.3V: output signal is still 59kHz (same as with 48MHz clock!)
running at 2.5V: output signal is 100kHZ (ok)
I have at least 5 controllers that show this behaviour. And there are about 20 other controllers that run as expected.
Why do some controllers run slowly at 3.3V?
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The VCCD pin is actually an internal 1.8V LDO output pin (1.8v used to power silicon core), it should be connected to a 104 or 105 decoupling cap to ground, provide 3.3v power to this pin directly is wrong.
You can rework on the PCB manually, disconnect this pin from 3.3V power and solder a 104 or 105 cap between VCCD pin and ground, i think the abnormal behavior will disappear.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Some more observations, maybe helpful to find the cause:
In a more complex project, the delays made by CyDelay() and CyDelayUs() are much longer than they should be.
The UART communication is also slower than it should be (e.g. when set to 115200bps, the real baud rate is about 40000bps).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
That's looking rather weird! Can you please provide us with the schematics / layout for the remaining caps and the test project.
Bob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Bob,
here are the schematics and the board (only the parts around the controller).
In the board, I have highlighted the ground level. The bottom layer is hidden, it is basically ground.
There are 5 capacitors that are located next to VDDA, VDDD and VCCD like in the CY8CKIT-049-42xx prototyping kit.
The capacitors are in the upper part of the board image.
Pin 1 of the controller is in the lower left corner.
I have made another test. I have soldered a microcontroller that was slow on my board to the original
CY8CKIT-049-42xx prototyping board. There it runs at normal speed.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Here are the eagle files for the original project.
The board has 4 I2C temperature sensors, 2 UARTs, 1 interface for a button with a LED and 5 MOSFETs for heatings and light.
Note that the controller is slow even if nothing but the controller with its 5 capacitors is on the board.
(EDIT: Schematics removed after the problem was solved. The problem is clearly visible in the attachments of the previous post.)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The VCCD pin is actually an internal 1.8V LDO output pin (1.8v used to power silicon core), it should be connected to a 104 or 105 decoupling cap to ground, provide 3.3v power to this pin directly is wrong.
You can rework on the PCB manually, disconnect this pin from 3.3V power and solder a 104 or 105 cap between VCCD pin and ground, i think the abnormal behavior will disappear.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks xzng, you are right. I disconnectd VCCD, now the microcontroller runs at the intended speed.