显示标签为“Aluminum_PCB; LED printed circuit board; 2 layer aluminum PCB;2W thermal value PCB”的博文。显示所有博文
显示标签为“Aluminum_PCB; LED printed circuit board; 2 layer aluminum PCB;2W thermal value PCB”的博文。显示所有博文

2015年12月28日星期一

Hardware Engineer: How to solve your problems?

When the Gantt charts are drawn up at the beginning of a project, perhaps the hardest part for the hardware engineer to estimate is the debug phase of a product development. It is also one of the most ignored sections in planning. 



CAD tools have progressed over the years in terms of ease of use and integration into PCB and mechanical. But ultimately, the design work is carried out by a person who is not only fallible, but may also be working with incomplete or incorrect data. Some bugs are inevitable on all but the simplest designs and so the art of troubleshooting these bugs is all-important.


Bugs can range from something going BANG the first time power is applied to intermittent glitches reported in association with completely unrelated things like “it was raining” or “it only happens on his bench, not on mine”. Consequently the ease of fixing bugs similarly ranges from a five-minute job to months of work.


Debugging can be the most fun part of electronics design when it is going well. There is a great of satisfaction in finding and fixing the intractable bugs. But to succeed, it is important to be systematic in the approach taken to fixing bugs.


In this article are listed the steps needed to bring such a systems approach to troubleshooting hardware in product development. To illustrate these principles, I will refer back occasionally to work I performed years ago as a junior engineer on a system that was used for monitoring sixteen analog audio inputs at the same time. It looked something like Figure 1 below:

Figure 1: Monitoring sixteen analog audio inputs at the same time


The system consisted of a multichannel ADC board, with the digital audio signal passing through an FPGA that multiplexed it onto a DSP bus. The DSP received interrupts telling it that when data was ready, it was to read and store that data. The FPGA logic was entirely asynchronous.
Occasionally, the DSP would stop receiving interrupts and the whole system would grind to a halt. This could happen days apart, or in a matter of just minutes. Software bugs had been eliminated as the cause, so this looked like a hardware bug and I was asked to investigate.


Step 1: Picture success 
An important part of debugging is having the right mental attitude, as persistent problems can grind down your morale. In particular, it feels bad going to work two days in succession with the investigation stuck at exactly the same point. In such a case, ask yourself “Will I still be working on this bug in a year’s time?” The answer: Of course not! This bug isn’t forever, it’s going to be fixed. It’s not that there’s no solution, it’s that I simply haven’t seen it yet.



Step 2: Keep notes
Resist the temptation to dive straight in trying to fix the bug immediately. But it is important to determine first if others have dealt successfully with a similar problem. Collect reports from multiple sources, even though they may sometimes have conflicting data attached. A spreadsheet can work well here to organize what you find.



Step 3: Reproduce the problem
This is often the hardest and most time-consuming part. The frequency that bugs show themselves varies enormously. So at this point, based on the information you have collected, you need to create the conditions by which you can make the bug happen at your command.
At this point diagnosis can begin. The initial bug report may be “It stopped working”, “It crashed”, or other equally vague reports. Keep working until you have all the information you can get from the one who reported the problem and also have enough to narrow down the range of possible causes.
Don’t worry about or speculate on the cause, just focus on reproducing the bug. Be careful at this point. Sometimes, similar but different issues can appear to be caused by the same bug, with one masking the other. If other bugs are uncovered while looking for the initial bug, make a note of them and go back to them later, but don’t get side-tracked.
In the example shown in Figure 1, the bug was extremely sporadic, so the first part of the exercise was to write software that exercised the system vigorously, sampling at the maximum rate This reduced the time between failures and made analysis easier.


Step 4: Gather the evidence
Be methodical and document what you see and what happens. Don’t theorize at this point about causes, just create a table of what aggravates or alleviates the bug as well what as has no effect. Be aware that multiple bugs can have the same symptoms, which can produce contradictory evidence.






Step 5: Try the easy stuff first
So you can reproduce the problem, look for the easy explanations first. For instance, are the connectors wired back-to-front? Are the chip pin-outs as per the data sheet? Are clocks running at the correct frequency? Very often, bugs are caused by mistakes that look dumb only in hindsight.
Remember when you did the design work, you had probably thousands of small decisions to make; most of these were correct. If the error proves to be “obvious” you can correct it and skip to step 9.





Step 6: Break the problem down
SPONSOR VIDEO, MOUSEOVER FOR SOUND
So now the easy things have been checked out. You can reproduce the problem, but perhaps only occasionally, or there are conflicting messages. It is important to remember that In complex systems, multiple bugs can show the same symptoms on the surface, but require different cures.
To help clarify the issue, eliminate as much of the system as possible that doesn’t appear to be relevant to the bug. For instance, you could power down devices on the PCB that are unrelated, or unplug cables to other boards. Do this while retesting. If the bug suddenly stops when an unrelated module is taken out of the equation, you have a smoking gun. Document it. Try to reproduce the bug again, with the module and then again without it.
In the DSP system described earlier (Figure 1), the only symptom was that the interrupts from the FPGA sometimes just stopped coming in. We wrote a simple program that just thrashed the system, reading from the interrupt status registers at the highest rate possible with the sample rate as high as possible, but without any other accesses to other parts of the system.
The frequency of the bug dramatically increased and a bug in the FPGA was found, relating to the system reading the interrupt status register at the same time as a new interrupt arrived. We fixed the issue and put the board on for a 24-hour soak test. After 23¾ hours, the bunting was up and we were starting to push the champagne corks out of the bottles….then it crashed again.


Step 7: Talk it over with a colleague
When dealing with what seem to be intractable bugs, just talking it over with someone else can often help, even when that person is from a different engineering discipline. Explaining what you see to another can be all that is required for you to see the bug from a different point of view and realize a crucial fact. At the very least you may come up with inconsistencies that need ironing out or receive suggestions of other things to try.
This conversation is best had away from the action. Go through exactly what the evidence is, one bit at a time, then look for what other experiments or investigations can be carried out. Then go back to the board and carry on.
In my example, we had a meeting with the office hardware guru and ran through the system, drawing it all up on a white board. Looking at how the FPGA logic worked in action, he suggested there might be a meta-stability issue in the FPGA. 





Step 8: Apply the fix
You understand the bug and have come up with a rational solution. You run the code and the problem appears to be solved. However, your job isn’t over yet.

Step 9: Try to break it again
Try to break the system again. To be sure you succeeded you will need to put the system through an appropriate series of stress tests an order of magnitude beyond that of the original implementation.
For instance, if a real-time system such as the one above, crashed every ten minutes and never lasted longer than an hour, but now runs for ten hours, the bug is almost certainly fixed.
You may find that the system behaves better, but still crashes. But at this point you may have discovered a new bug that had been masked by the previous bug. You need to treat it as such and go back to step one, creating a fresh investigation on the “cured” system.
Happily, in my example, our resident guru was correct and a simple modification to the FPGA solved the problem. There had been two bugs with one symptom, one which resulted in crashes on a period of about five minutes, the other on a period of many hours (typically about five). The nearly 24 hours in our soak test turned out to be a fluke. We had finally reproduced, analysed, understood and fixed the problem.

Step 10: Remember ‘disappearing’ bugs are still there if you haven’t fixed them
Sometimes bugs just appear to go away by themselves. This can be frustrating, but you can be sure that you haven’t fixed the bug. Either the initial report was incorrect or the bug is still there. These are the sort of bugs that reappear when your boss, his boss, or a customer is present.
It can be tempting to lift up the carpet and sweep these bugs under it, but don’t. Perhaps document it and carry on looking into other issues as it may return by itself. Ultimately though, you need to go back and fix it at some point. So, more effort needs to be applied in aggravating the problem to reproduce the bug.




Baggio WANG FAN
SHENZHEN JAAPSON TECHNOLOGY CO LTD
baggio@jaapson-pcb.com  
www.jaapsonpcb.com
skype: baggiowang0214

JAAPSON, Expert in HDI Multi-layer PCB Manufacturing




2015年9月1日星期二

Best of Free PCB Design Software


Do you need a free PCB design software or tool to put in practice the new electronic project you’ve just designed? So, we present you 10 of the best PCB software tools available on the internet that will help you to develop your printed circuit board faster and with ease.



 

 
  PCBWeb Designer
PCBWeb is a free CAD application for designing and manufacturing electronics hardware. Design multi-sheet schematics with our fast and easy-to-use wiring tool. Route multi-layer boards with support for copper pours and DRC checking. Integrated Digi-Key Parts Catalog with Bill of Materials Manager.


 

 

 ZenitPCB
Is an excellent pcb layout design software tool to create professional printed circuit board (PCB). It is flexible and easy to use CAD program, which allow you to realize your projects in a short time. With ZenitPCB Layout is possible to create the project starting both from the schematic capture or by the layout itself.

 

 


 
 FreePCB
Is a free, open-source PCB design editor for Microsoft Windows. It was designed to be easy to learn and easy to use, yet capable of professional-quality work. Some of its features are: 1 to 16 copper layers, board size up to 60 inches by 60 inches, imports and exports PADS-PCB netlists and more

 

 
 
 
 
 
 TinyCAD
Is a program to help you draw circuit diagrams. It comes complete with symbol libraries to get you started straight away. As well as being able to simply print your designs, you can use TinyCAD to publish your drawings by copying and pasting into a Word document or saving as a PNG bitmap for the web.

 

 

 
 
 Osmond PCB
Is a flexible tool for designing printed circuit boards. It runs on Macintosh. Its many features include: virtually unlimited board sizes, number of board layers, number of parts, and support for both through-hole and surface mount parts and more.

 

 
 
 
 
 
 
 
 BSch3V
Is a schematic capture program for Windows. The name “BSch” is an abbreviation of “Basic Schematic”. It has only basic functions, in order to simplify operation.

 

 
 
 
 
 
 
 
 
 
 
 
 ExpressPCB
Is a snap to learn and use. Laying out PCBs is easy, even for the first time user.

 

 
 
 
 
 
 
 
 
 
 
 
 
 Kicad
Is an open source (GPL) software for the creation of electronic schematic diagrams and printed circuit board artwork. It is useful for everybody working in electronic design (schematic diagrams and Printed Board up to 16 layers).

 

 
 
 
 
 
 
 
 
 gEDA
Runs on Linux and has produced tools which are used for electrical circuit design, schematic capture, simulation, prototyping, and production. Currently, the gEDA project offers a mature suite of free software applications for electronics design; including schematic capture, attribute management, bill of materials (BOM) generation, netlisting into over 20 netlist formats, analog and digital simulation, and printed circuit board (PCB) design layout.

 

 
 
 
 
 Fritzing
Fritzing software is an interesting open-source initiative to support designers, artists, researchers and hobbyists to work creatively with interactive electronics and develop electronic projects. Fritzing helps you learn more about electronic circuits, to document your projects and even let’s you prepare them for production.

 

 
 
 
10  DesignSpark PCB
DesignSpark PCB is the world’s most accessible electronics design software. Easy to easy to learn and easy to use, it is designed to significantly reduce your concept-to-production time. At the core of this unique approach is a powerful software engine that enables you to capture Schematics, design PCB boards and layouts.









Baggio WANG FAN
-----------------------------------------------------------
SHENZHEN JAAPSON TECHNOLOGY CO LTD
Building 2, Tongfuyu Industrial Park,Shenzhen, China, 518104
Tel: 86-755-82596922
Fax:86-755-82596922/82596923
skype: baggiowang0214
baggio.wang@funsunpcb.com
baggio@jaapson-pcb.com
www.jaapsonpcb.com

JAAPSON, The Expert in HDI Multi-layer PCBs

2015年5月20日星期三

COB PCB technology


COB (known as Chip-on-Board) is semi-conductor assembly technology where micro-chip also known as die is electrically interconnected instead of using traditional assembly process or individual IC packaging on the final product board. The general term meaning of this technology is direct chip attachment also refereeing to DCA. In DCA many kinds are available as substrate in form of ceramic glass or ceramic substrate which has substances of excellent dielectric and thermal property. It is also available in form of flex substrate, which exhibits bendable ability. Other names are known as COG (chip-on-glass) or COF (chip-on-flex).

COB process consists of three main categories to perform when manufacturing the Chip-on-Board. The first process is 'die mount or die attach', the second is 'wire bonding' and lastly 'the encapsulation of die wires'. In many COB assembly technology, FCOB(flip-chip-on-board) have chips facing downward on the board and does not require wire bonding which employees chip which the bond pads are pop up and it connects directly to pads on the board. It is necessary to underfill flip-chip on active surface to protect bumps from chemical and thermo-mechanical damage.

In context of COB manufacturing process, 1) 'die attach' consists of applying die attach holding to board or substrate mounting chip or die over die attach materials. 2) For wire bonding, thermosonic (Au or Cu) ball bending and ultrasonic (Al) wedge bending are used to connect wires between die and substrate. Last part the encapsulation is done dispensing chemical liquid (usually epoxy) over die and wires. Die and bond wires are encapsulated to protect chemical and mechanical damage.

The advantages of COB include better performance due to deceased interconnection between length and resistance. And better protection against reverse engineering; Reduced space and cost; Shorter time to the market. Higher reliability with better heat dispatch and small number of solder joint.

Applications
LED Backlight for LCD TV
LED Front light for E-Book
Agriculture & Horticulture Lighting
Street & Parking Lot Lighting

Invention
Reflective Pocket in PCB for LED Die Attachment (COB)
Patent pending

Advantages
Improved output efficiency of LED lighting
Avoid photonic absorption and scattering over the pocket wall




SHENZHEN JAAPSON TECHNOLOGY CO LTD
Building 2, Tongfuyu Industrial Park,Shenzhen, China, 518104
Tel: 86-755-82596922
Fax:86-755-82596922/82596923