|
![]() MCU User Forum
![]() cp2201 error codes
|
| next newest topic | next oldest topic |
| Author | Topic: cp2201 error codes |
|
vprokofiev New Member |
We created own pcb for CP2201 and F340. We used scheem from CP2201EK. But after change pin configuration for new board, error appear. function CP220x_HW_Reset() returns CAL_ERROR. What does it mean? Where I can find error codes for this functions? Best regards IP: Logged |
|
vprokofiev New Member |
CAL_ERROR - self-initialization error Is my CP2201 die? IP: Logged |
|
Tsuneo Member |
> Is my CP2201 die? > Or it may be error in pin configuration on F340? Likely soldering problem, but check it in order. 1) Code modification on SiLabs TCP/IP stack for CP2201EK is found in this post. Anyway, it's better to check the soldering of CP2201 pins. 2) Next, run an example code and check the CP2201 status. a) RSTSTA: Reset Source Status Register b) MAC address (written in factory) If you can't read out CP2201 registers and FLASH, you have trouble on the bus connection between the 'F340 and CP2201. Tsuneo IP: Logged |
|
vprokofiev New Member |
Thanks! I check registers, all values is 0xFF. When CP2201EK connected to PC, all registers good. But it is very strange. I change CP2201 chip on first my pcb and create second pcb. I check all wires on pcb. It is similar to CP2201EK. My scheem: IP: Logged |
|
vprokofiev New Member |
My init. code: <..> void PORT_Init (void) P3MDOUT &= ~0x40; // Set EMIF pins to push pull <..> void EMIF_Init (void) EMI0TC = 0xFF; IP: Logged |
|
vprokofiev New Member |
Bug was found, but i do not understand it. In my board, reset pin is P3^6 instead of P0^6 ( pinconfig and reset functions was changed accordingly to P3^6 ) When this code run, P3^6 is oscillate: do { Therefore reset signal was setting then F340 read CP2201 registers. Then I cut P3^6 reset wire from F340. Registers read correct IP: Logged |
|
Tsuneo Member |
> In my board, reset pin is P3^6 instead of P0^6 > When this code run, P3^6 is oscillate I see.
As the BASE_ADDRESS is 0x10, P3.6 is reset to low while the firmware accesses to the CP2201. While the external bus is in idle, Port3 is kept in "parking" value, ie. P3 latch value. As the default, P3 latch value is 0xFF. P3.6 goes high in idle. In this way, the "oscillation" is observed. You'll see this "oscillation" on other Port3 pins, too.
It's better to keep the reset function for error recovery.
This modification makes other Port3 pins available, too. Tsuneo [This message has been edited by Tsuneo (edited July 26, 2010).] IP: Logged |
|
vprokofiev New Member |
Tsuneo, Thanks for helpful answers! It is working fine! IP: Logged |
All times are CT (US) | next newest topic | next oldest topic |
![]() |
|
Have you seen our MCU Knowledge Base?