View previous topic :: View next topic |
Author |
Message |
RVaughn13
Joined: 09 Feb 2006 Posts: 13 Location: Santa Fe, Texas
|
Bed-Of-Nails Testing with ICSP support Question |
Posted: Wed Oct 22, 2014 7:55 am |
|
|
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: 19559
|
|
Posted: Wed Oct 22, 2014 8:12 am |
|
|
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
|
|
Posted: Wed Oct 22, 2014 11:30 am |
|
|
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: 9250 Location: Greensville,Ontario
|
|
Posted: Thu Oct 23, 2014 5:09 am |
|
|
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
|
|
Posted: Thu Oct 23, 2014 5:27 am |
|
|
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: 9250 Location: Greensville,Ontario
|
|
Posted: Thu Oct 23, 2014 6:48 am |
|
|
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
|
|
Posted: Sun Oct 26, 2014 7:41 am |
|
|
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: 19559
|
|
Posted: Sun Oct 26, 2014 9:46 am |
|
|
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
|
|
Posted: Sun Oct 26, 2014 7:34 pm |
|
|
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
|
|
Posted: Sun Oct 26, 2014 7:51 pm |
|
|
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
|
|
Posted: Sun Oct 26, 2014 8:20 pm |
|
|
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
|
|
Posted: Mon Oct 27, 2014 7:19 am |
|
|
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: 1911
|
|
Posted: Mon Oct 27, 2014 8:01 am |
|
|
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: 19559
|
|
Posted: Mon Oct 27, 2014 8:24 am |
|
|
Actually there are solvents that will attack silicone. The problem is what they will do to the board....
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: 1911
|
|
Posted: Mon Oct 27, 2014 8:50 am |
|
|
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. |
|
|
|