CCS C Software and Maintenance Offers
FAQFAQ   FAQForum Help   FAQOfficial CCS Support   SearchSearch  RegisterRegister 

ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

CCS does not monitor this forum on a regular basis.

Please do not post bug reports on this forum. Send them to CCS Technical Support

Bed-Of-Nails Testing with ICSP support Question
Goto page 1, 2  Next
 
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion
View previous topic :: View next topic  
Author Message
RVaughn13



Joined: 09 Feb 2006
Posts: 13
Location: Santa Fe, Texas

View user's profile Send private message Visit poster's website

Bed-Of-Nails Testing with ICSP support Question
PostPosted: Wed Oct 22, 2014 7:55 am     Reply with quote

Hi Everyone,
One of our products will be assembled overseas, and I am working on a bed-of-nails tester for these boards. The new circuit boards need a test program loaded to exercise I/O and the features/functions of the board.
A boot-loader is not an option, so I will need to load the program in the new board using ICSP (the new boards are using the PIC18F46K22 CPU).

It looks like there are two options to consider:
(1) Design an ICSP programmer into the bed-of-nails tester.
(2) Use an off-the-shelf ICSP programmer and use its command line interface to do the ICSP programming.

Has anyone had experience with this, and which option would be the best path to take?

After looking into the creation of an ICSP programmer, it is involved and will take extra time to design and write the software.

I found the following documents from Microchip:
Flash Memory Programming Specification for the PIC18F46K22:
http://ww1.microchip.com/downloads/en/DeviceDoc/41398B.pdf

And, Microchip placed the schematics for the PicKit2 programmer in this document (good reference for an ICSP design):
http://ww1.microchip.com/downloads/en/DeviceDoc/51553E.pdf

As always, I appreciate all comments and suggestions,
thanks,
_________________
--Rick
Ttelmah



Joined: 11 Mar 2010
Posts: 19538

View user's profile Send private message

PostPosted: Wed Oct 22, 2014 8:12 am     Reply with quote

The key problem is software.

The PICKit circuit, could be built into your board, but you need the firmware in the PIC or it won't be seen as a PICKit by programming software on the PC.
Fortunately the PICKit firmware is available online.

If you look at:

<http://www.elproducts.com/build-your-own-pickit-2.html>

This is a 'minimised' PICKit for 5v only operation. Including this on your board should be the simplest way to go.

Obviously the standard 'connection' limitations apply for ICSP (the resistor on MCLR etc.)

Best Wishes
RVaughn13



Joined: 09 Feb 2006
Posts: 13
Location: Santa Fe, Texas

View user's profile Send private message Visit poster's website

PostPosted: Wed Oct 22, 2014 11:30 am     Reply with quote

Hi Ttelmah,
Great information you sent me, I will check it out. Sounds like it would be best to integrate the ICSP programmer as part of the tester design.
I will write the software to manage the ICSP programming based on the programming guidelines from Microchip.
I will use the PicKit2 circuit as a starting point for the ICSP hardware interface.
Since this is a one-trick-pony (for only one CPU), it should reduce some of the software requirements to run the programmer.
Thanks again for taking the time to reply,
_________________
--Rick
temtronic



Joined: 01 Jul 2010
Posts: 9243
Location: Greensville,Ontario

View user's profile Send private message

PostPosted: Thu Oct 23, 2014 5:09 am     Reply with quote

hmmm... it might be better to use a PICkit3 'inside' the bed of nails and use a regular 'stripped down' PC as the 'programmer'.
My thinking is this is simple,cheap and works 'out of the box'. If anything fails a spare PICkit3 is easy to replace, same for the PC. Also the program in the PC could be dead simple to create.
Having a 'one off' NOT nearby could be a nightmare when a 'glitch' or 'hiccup' comes up !

I know you've probably thought of it........


Jay
RF_Developer



Joined: 07 Feb 2011
Posts: 839

View user's profile Send private message

PostPosted: Thu Oct 23, 2014 5:27 am     Reply with quote

temtronic wrote:
hmmm... it might be better to use a PICkit3 'inside' the bed of nails and use a regular 'stripped down' PC as the 'programmer'.
My thinking is this is simple,cheap and works 'out of the box'. If anything fails a spare PICkit3 is easy to replace, same for the PC.


Also, on the "keep it simple" theme, have you considered cutting out the PC element altogether and using a standalone programmer such as the Load-N-Go? Then programming can be as simple as a couple of button presses.
temtronic



Joined: 01 Jul 2010
Posts: 9243
Location: Greensville,Ontario

View user's profile Send private message

PostPosted: Thu Oct 23, 2014 6:48 am     Reply with quote

hmmm.. even simpler.. have Microchip preprogram the PICs for you though I don't know about cost and then there's the 'revision' issue BUT if the test program is solid...it might be feasible.

jay
SuperDave



Joined: 22 May 2008
Posts: 63
Location: Madison, TN

View user's profile Send private message Visit poster's website

PostPosted: Sun Oct 26, 2014 7:41 am     Reply with quote

If you are talking about 'overseas' then you are presumably also talking about VOLUME. Microchip pre-programmed or vendor gang programmed parts pre-assembly is almost certainly the choice.

Concerns I would have with a programmer built into the bed-of-nails would primarily be about time to program. What runs the bed-of-nails tester or records its success? Could it run the programmer as well?

Does the chip then get re-programmed with its functional firmware? If the functional firmware is solid, should the chip be pre-programmed with both pieces of firmware and the choice of operational firmware made by a jumper in the bed-of-nails read at power up?

I've never bought pre-programmed parts but I can't imagine they would cost more than doing it in house or out of house when large volumes are concerned.
Ttelmah



Joined: 11 Mar 2010
Posts: 19538

View user's profile Send private message

PostPosted: Sun Oct 26, 2014 9:46 am     Reply with quote

I think the point may have been missed.

I doubt if the programmer is intended for any form of 'production' use.
Though actually the poster does talk about 'assembly'. If so, I have to agree that having the chips pre-programmed is much easier - most suppliers will do this quite reasonably, and if you factor _time_, it is usually cheaper on any but very small quantities.

For 'on site', I have a slightly similar setup that is used.
We have a system, which is pre-programmed from the construction facility, but has to be serviced in a lot of sites where access is very limited. I went with the two unit route (I wasn't altogether happy about putting the programmer in the tester). We supply a 'Load-N-G' programmer, which allows updates to be either uploaded in the nearest town with some form of internet connectivity, or sent on a memory card, and a separate test unit, which is fully 'standalone'.
I didn't go the 'bed of nails' route, but built a diagnostic connector into the unit.
One thing that hasn't been mentioned, in such sites, it often becomes necessary to actually service the unit. Several designs where we had switched to using surface mount, had to be re-designed to be primarily 'through hole', to make local repair easier....
SuperDave



Joined: 22 May 2008
Posts: 63
Location: Madison, TN

View user's profile Send private message Visit poster's website

PostPosted: Sun Oct 26, 2014 7:34 pm     Reply with quote

My previous post was early this morning when all cylinders were not firing. I'm not sure microchip will pre-program the parts but all the major distributors will and probably for smaller quantities. I haven't used overseas distributors but your builder probably knows.

While the language barrier may be a problem, it's worth several conversations to achieve the best solution and avoid big problems caused by assumptions.
jgschmidt



Joined: 03 Dec 2008
Posts: 184
Location: Gresham, OR USA

View user's profile Send private message Send e-mail Visit poster's website

PostPosted: Sun Oct 26, 2014 7:51 pm     Reply with quote

Microchip supplies pre-programmed parts. I needed a run of 1000 units using PIC16F616 and having the chips pre-programmed was worth it in time saved to program each board after assembly in US. The parts came directly from the Microchip factory in Thailand.

You handle this via the MicrochipDirect site - allow time for them to send you a "proof" that you can check.

For another project, the board assembler, in China, was responsible for pre-programming the chip.

Granted, these were fairly simple projects so no bed-of-nails diagnostics was needed.

Cheers.
_________________
Jürgen
www.jgscraft.com
SuperDave



Joined: 22 May 2008
Posts: 63
Location: Madison, TN

View user's profile Send private message Visit poster's website

PostPosted: Sun Oct 26, 2014 8:20 pm     Reply with quote

Always nice to have good facts from someone who has been there and done that.
RVaughn13



Joined: 09 Feb 2006
Posts: 13
Location: Santa Fe, Texas

View user's profile Send private message Visit poster's website

PostPosted: Mon Oct 27, 2014 7:19 am     Reply with quote

Great suggestions from everyone, thanks for the information! To answer some of the questions brought up in the posts: Due to volume, we are moving one of our products to China for assembly (we have an on-site employee that will handle training and speaks the language). I feel MicroChip may be an option for pre-programmed chips in the future, but probably not for the first run of boards (thanks for bringing this up, I had not thought about it). The production boards will get loaded with a test program to exercise all I/O and features/functions of the assembled board. When we receive them, they will be re-programmed with the production software. The company owners are not comfortable having the production software loaded before it arrives in the states (this may change in the future).

Our employee in China has ask me to keep the tester as simple to operate as possible (Clamp the board, press a "GO" button, and then receive a "Pass" or "Fail" indication after the testing completes). I will have a receipt printer attached to the tester to print out the test results that will be included with the board. The tester will be custom designed using a MicroChip CPU, and will operate the bed-of-nails, LCD display, indicators, receipt printer, and will include the ISCP programming function (if this is included in the design). From the posts, use of the Load-n-Go programmer is also a good option.
_________________
--Rick
newguy



Joined: 24 Jun 2004
Posts: 1909

View user's profile Send private message

PostPosted: Mon Oct 27, 2014 8:01 am     Reply with quote

Good luck, you'll need it.

We experimented with getting our boards built in China on 2 different occasions. Long story short, never again.

Final straw was their conformal coating (which we asked for). We told them what things to mask (connectors and a small pushbutton). What we received was dipped in a silicone-based coating; nothing was masked. Complained and were told to "use a small pointy object to pick it out". Uh, no. Shipped them back, demanded a refund, and actually got it.

Side note, I learned that week that there is absolutely no solvent on earth that will dissolve a silicone based product once it cures.

We now use a place in the US. Couldn't be happier with their quality or service.
Ttelmah



Joined: 11 Mar 2010
Posts: 19538

View user's profile Send private message

PostPosted: Mon Oct 27, 2014 8:24 am     Reply with quote

Actually there are solvents that will attack silicone. The problem is what they will do to the board.... Smile

Have a look at this, if you get stuck with a similar problem again. The emulsifiers do work, but slowly.

<http://electroiq.com/blog/2007/08/solutions-and-solvents-for-removing-silicone-a-practical-guide/>
newguy



Joined: 24 Jun 2004
Posts: 1909

View user's profile Send private message

PostPosted: Mon Oct 27, 2014 8:50 am     Reply with quote

I tried acetone, xylene and toluene. Acetone didn't do anything, one of the others caused the silicone to swell and seemed to dissolve a portion of the matrix. Unfortunately the swelling caused some components to start to pop off of the board. The other chemical did nothing on the coating but did cause a larger power supply inductor to start to dissolve (its case, not the coil). It also started to dissolve the exposed portions of the connectors.

I googled around but didn't have any success (certainly didn't find your link - thanks for that). When I first complained about it, I asked what specifically they used so that I could try to find a suitable solvent. Got a reply that the answer is coming - we'll tell you how to get it off. Reply was finally the "small pointy object" trick mentioned earlier. Even they didn't know the chemical composition of what was used other than a vague description.
Display posts from previous:   
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion All times are GMT - 6 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group