Can't acquire or program PSOC 4013SXI-400

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

I am trying to use this chip in a new design but I am having no luck.  I am using the MiniProg3 and Creator 4.1.

   

When I try to bring up the program window, the box pops up and I see the MiniProg3 and it usually sits there for several minutes.  Sometimes it will say "unknown device" below it, sometimes it will say "Arm M0 Device", and once in a blue moon it will actually say the correct PSOC part number.  But even when I get the correct part number of the chip showing, it won't program.  It will just sit there and the application freezes and becomes unresponsive until I unplug the MiniProg.

   

I normally use an SOIC test clip attached to the chip.  I have tried clipping it onto the chip in-circuit.  I have tried clipping it onto a bare chip.  I have tried soldering magnet wires directly onto the chip legs and them onto a 5-pin programming header plugged directly into the MiniProg3. 

   

I have two different MiniProg3's and both do the same thing.  I tried un-installing Creator and re-installing.  I fired up PSoC Programmer and checking for firmware updates on the MiniProg3 but it's up to date.  

   

I know that VCCD needs bypassed (it is in my circuit) but the only time I can get the chip to acquire is using the test clip... so i am not sure how critical it is that VCCD is bypassed.

   

I am 100% sure the MiniProg3 settings are correct (internal power, 5 pin connector, SWD programming, power cycle, 1.6mhz).

   

 

   

What on earth could be wrong?  I have basically soldered the chip directly to the pins on the MiniProg3 and it still won't acquire.  I don't understand what could be wrong.  Ideas?

0 Likes
1 Solution
Anonymous
Not applicable

Ok, so I figured it out - and I am extremely annoyed.

   

I removed parts from my circuit board one by one until I discovered that some resistors in a divider being removed let me read the chip.  This baffled me as they were on an input on a totally different pin, P1.6.  I looked at the datasheet again and on a table on page 7, on the right hand column under "alternate functions" there is a note on that line and at the bottom of that page it says there shouldn't be any ground load during POR.  It is absolutely not clear that it's talking about the whole pin rather than just that function (compare out of the TCPWM block), and NOWHERE else is this documented.  Not in the hardware design considerations, not in the programming specifications - nowhere.

   

But that's the problem.  If you use P1.6 as an input on a PSOC4 and have any load to ground, you will not be able to program using the POR method.  Which basically means all the SOIC8 chips cannot use P1.6 as an input.  I would think this is a pretty big and important issue that should be highlighted prominently and made very clear.  Not tucked away as a footnote on a column of a table where it's not clear at all that it's referencing the P1.6 pin.

View solution in original post

0 Likes
7 Replies
HeLi_263931
Level 8
Level 8
100 solutions authored 50 solutions authored 25 solutions authored

Bypassing is essential. In fact, you need to have this done completely as specified in the data sheet (so at least 4 caps). Do not forget a (small) capacitor on reset.

   

And have a look at AN88619.

0 Likes
DaBr_1233126
Level 4
Level 4
10 likes given 5 likes given First like received

I am using the 4014SXI-420 which is very similar (ie: almost the same...) as your chip.  I have a proto board I use for programming that just bypasses Vcc (Pin 3) to GND on Pin 5.  Then I am connecting pins 1,4,5,8 to the MiniProg3.  If you are having issues connecting, make sure that pins 1 and 8 aren't reversed.

   

I was seeing the Arm M0 Device error, when the settings where for Reset and not powercycle.  So recheck that setting.

   

Can you see it with PSoC Programmer?  It is easier to play with setting using it and then set them in PSoC Creator afterwards.

   

Which version of Creator are you using?  I am using v4.1 with success...

0 Likes
Anonymous
Not applicable

Ok, so I figured it out - and I am extremely annoyed.

   

I removed parts from my circuit board one by one until I discovered that some resistors in a divider being removed let me read the chip.  This baffled me as they were on an input on a totally different pin, P1.6.  I looked at the datasheet again and on a table on page 7, on the right hand column under "alternate functions" there is a note on that line and at the bottom of that page it says there shouldn't be any ground load during POR.  It is absolutely not clear that it's talking about the whole pin rather than just that function (compare out of the TCPWM block), and NOWHERE else is this documented.  Not in the hardware design considerations, not in the programming specifications - nowhere.

   

But that's the problem.  If you use P1.6 as an input on a PSOC4 and have any load to ground, you will not be able to program using the POR method.  Which basically means all the SOIC8 chips cannot use P1.6 as an input.  I would think this is a pretty big and important issue that should be highlighted prominently and made very clear.  Not tucked away as a footnote on a column of a table where it's not clear at all that it's referencing the P1.6 pin.

0 Likes
Anonymous
Not applicable

And just to rant a bit more - this is my biggest complaint with Cypress - important information is spread out over so many different places.  Even in the hardware design document linked above, this issue is nowhere to be found.  And in that document and in the programming document, both state that a reset pin is required for programming and neither show the 4-wire POR programming connection method.  I know the method because I've used it for a long time with PSOC1, but why isn't it documented anywhere other than as some sort of forgotten footnote or something the user is supposed to just know or figure out?

   

Don't even get me started trying to figure out interrupts on PSOC1... the necessary information is spread over about 3 or 4 application notes, it seems.  

   

 

   

Luckily, it appears that by increasing my voltage divider resistor values by a lot, it worked... but this is obviously a hack/workaround and contrary to what Cypress states in the datasheet.  My alternative would be to leave this resistor off the board and add it after programming (a HUGE hassle) or program chips prior to installing on board (equally a hassle).  

   


Or, y'know... would have been nice to know that P1.6 is output only on the SOIC8 part.

0 Likes
DaBr_1233126
Level 4
Level 4
10 likes given 5 likes given First like received

Ahh!  Good info there!  I am using P1.6 for Cmod in my project.  So a 2.2nF cap and 220K resistor to ground.  I was also previously using it as a PWM output. But moved that to P1.1 so I guess I was just lucky!  Course I let the software assign pins the first time through.

   

I agree that PSoC Creator should have some sort or warning message though.  That seems like a fairly critical piece of info!  If only I could figure out how to get ADC and PWM working together on the 4014 I would be happy!

0 Likes
Anonymous
Not applicable

It would be great if there was a warning in PSoC Creator for this, but I would also say there should be something very prominent in the datasheet.  POR programming is the only way to program the SOIC8 parts because they have no XRES pin, so an issue like 'this pin cannot have any load to ground during POR' is *really* important information to know.  They don't say the reason in the datasheet, but I found out the hard way - it either keeps the chip in reset or prevents it going into reset but either way, it means you can't program it.  That's a huge, massive design consideration.  Cypress is, again IMO, notorious for creating endless app notes when the info really should have been front and center in the datasheet to begin with. 

   

Side note to any Cypress employees reading this - if I sound harsh, it's because I LOVE Cypress chips and I don't want noobies to get scared away.  Your product is fantastic and IMO, if everyone knew the power and flexibility of the PSoC platform, everyone would use it.  But it's little things like this that cause hours/days of lost time and frustration that cause newcomers to go with PIC instead. 

   

 

   

Morantz, what is the issue you're having with the ADC/PWM on the 4014?  I haven't used them on the 4014 part specifically but I have extensive experience with both the ADC and PWM functionality of PSoC... maybe I can offer some help?

0 Likes
DaBr_1233126
Level 4
Level 4
10 likes given 5 likes given First like received

I went to clean up the code a bit before packaging it to show you, and decided to remove the ISR since I wasn't really using it.  (It just cleared the interupt...)  That fixed most of the problem.  So it appears an ISR interupts the PWM counter, which was causing my LED panel to flicker ALOT.  As the panel is used to view XRay Images, it wasn't acceptable!  Earlier versions of my project are in the ADC to PWM posts.

0 Likes