KitsRUsBob Registered: July 29, 2005
Posts: 419
|
|
|
Reply with quote | #1 | We are having myriad complaints regarding K149 units. As a result of 2 months of careful analysis, here is a synopsis of what is happening with K149 units. The K149 design is simple, and has been working well for some years for many people. However, due to the almost infinite number of variables possible with K149's, we have decided to stop sales of new K149 kits until the new P19 firmware is fully online. Furthermore, after several explanations, we are asking users to make a few minor changes that we think will improve the reliability of the K149 and other DIY programmers. THE IDENTIFIED PROBLEMS OF K149 & Other DIY programmers The simple, overall explanation is that the K149 is very susceptible to routine ground noise. The source of the noise is partly from the MAX232 RS232 I/O Device's charge pump. When the MAX232 is removed (pulled out of its socket), the noise is reduced greatly, and the K149 is less susceptible. Specifically: 1. The ground near the PIC16F628/-F628A/-F648A oscillator is very poor, so that the PIC allows ground noise to interfere with the oscillator. We noticed that a 6.00M ceramic resonator works better as an oscillator than the 6.000M Crystal. The PIC oscillator is also required to provide drive for the USB chip, the FT232BM. This unbalances the oscillator's load characteristics. 2. None of the DIY programmers provides a capacitor across the VDD and GND pins of the device being pogrammed. This makes some PICs unstable at powerup, as a cap of minimum size is REQUIRED for every PIC for proper operation. Since the signal lines on the K149 are longer (due to larger PCB size) from the onboard PIC16F628A and VPP switches to the device being programmed, this effect becomes even more noticeable. The capacitor value should be minimally 0.001uF, nominally 0.01uF, and works OK to as large as 0.1uF. However if the value is too large, the rise time is slowed to the point where the device is unable to enter programming mode. Furthermore, almost all PICs in the past did NOT use internal timers driven by internal oscillators to accommodate proper powerup of the device being tested. It appears that some devices of the PIC NanoWatt family require the operation of an internal oscillator for proper startup; the PIC16F88 is one in particular. This family of devices especially needs a VDD/GND bypass capacitor, in order for the internal oscillators to start reliably. 3. There is a serious communication problem between MicroPro and the individual programmer. DIY programmers use a "ping-pong" serial protocol, which in theory works fine until either MicroPro or the programmer fails to understand a "pong" or fails to send a "ping" as expected. This kind of scheme works only as long as there are NO errors - and in serial communications, noise is the primary cause of errors. This is a serious oversight, because as PC's become faster and faster, and the PIC devices used in the DIY programmers become faster and faster, the problem becomes more and more serious. Having no method for correcting errors, MicroPro simply gives up and displays its famous "about to apply reset" message. Unfortunately, we have not been able to recover the sources to MicroPro to make changes. 4. Another kind of noise problem is caused by improvements in the PIC itself. As the die size of PICs have dropped and their speed has increased, the susceptibility of the PICs to noise has also increased. This has a compounding effect - the PIC inside the device is now faster and more susceptible to noise, and at the same time, the device being programmed is also more susceptible to noise. This effect is readily seen with common "74HCxx" devices. Products designed with 1992-era HC devices needed very few bypass caps, but the newer HC devices need significant amounts of bypassing. In some cases, the product is so sensitive to noise that the product has had to be redesigned - I've been there, done that, and bought the T-shirt! 5. The most significant source of electrical noise is the PC being used. K149 users are reporting that "it works fine on my older Dell, but won't work on my new, faster Dell". The speed of PCs have trebled in the last 5 years and this higher speed noise is now becoming a factor in peripheral devices. 6. The K149 ground system is weak. The ground return should be at least 20 mils and ideally 50mils; the signal lines can be reduced to 10-12mils. RF pulses always travel on the SURFACE of conductors, so if the surface area of a conductor is too small, RF can't be suppressed by GND/VDD bypass caps. Another problem with long runs of narrow GND traces is that RF noise pulses will increase the longer the trace is; that's why even though other DIY programmers also have thin GNDs, because the length is short, the noise effects are not noticeable. Because the K150 is a much smaller PCB, layout problems are less important. More on this later ***. 7. Power supply problems!! For some reason, customers simply don't understand the importance of a proper power supply. In order to reduce shipping weight and (therefore) costs, DIY chose NOT to sell a power supply matching the needs of the K149 & K150. Customers are attaching 9V power supplies and sometimes it works so they assume that the supply isn't the problem. The K149 and K150 needs a wallwart that can deliver 200mA at 16.5V minimum, WITHOUT ripple, to the K149/K150 supply jack. Here's what happens: A. During some times of the day and night, the electrical supply drops from 125VAC to 110VAC. The output of the wallwart will drop in proportion, so if the wallwart is too weak to start with, the programmer no longer works AT THAT TIME. B. Wallwarts contain electrolytic ripple filters that automatically degrade with time, i.e. they get "old". When they do, ripple slowly increases, can reach an unacceptable level, and the PIC can no longer be programmed. C. People measure the UNLOADED voltage of a wallwart, not understanding that unless the walwart is loaded, that measurement means little. SUGGESTIONS TO IMPROVE USB USE (all programmers) 1. WinXP users will have trouble installing their USB Drivers. We need NON-PNP drivers, because we DO NOT use any Plug-N-Play features. 2. Make sure that the FTDI driver is actually installed, by checking the device manager and verifying that the correct driver is installed. This seems to be a problem only with WinXP. SUGGESTIONS TO IMPROVE OPERATION OF K149 and K150 Except for the fact that the K149 has a DB9 serial port and is sold unassembled, the K150 is identical to K149, so I am including some suggestions applicable to both: 1. Verify that the wall wart delivers 16.5V (or higher) at 200mA without ripple, measured at the power jack. This will ensure that power problems are not at the heart of the problem. 2. Install a 0.01uF capacitor across VDD and GND as close to the device being programmed as possible. For the K149, place it across R9; for the K150, across R7. This might improve the startup problems with devices being programmed. Note: The reason this cap is valued lower for K128/K182 is because the device being programmed is driven directly from the programmer's PIC pin. 3. Communication errors might be reduced by a small cap (47pF) to GND at the RX input to the firmware PIC16F628 or 628A (pin #7). This is U5 for the K149 and U3 for the K150. This is to reduce erroneous serial bit triggering due to noise. 4. In some cases, replacing the programmer device with a PIC16F628 if the programmer device is a PIC16F628A might "fix" the problem. It seems that the PIC16F628A is slightly more susceptible to noise than the PIC16F628 is. 5. If your setup does not require the ICL232 device U3 (because you never use the DB9 connector), you should carefully remove it from its socket. This will greatly lessen the noise on the K149. This does not apply to the K150, which has no such device. 6. Since the K149 is assembled by the final user, we have found that some problems are caused by flux remaining on the PCB. Clean the PCB carefully after assembly using denatured alchohol and an "acid" brush to remove the residue. Finally, wash the PCB in an automatic dishwasher; the detergent used is VERY good at removing flux residue. After the cycle has finished, dry the PCB carefully using a hair dryer. This does not apply to the K150, which is fully assembled. While flux is normally a non-conductor, if it is contaminated with solder particles, it becomes conductive in a humid atmosphere. SUGGESTIONS TO IMPROVE OPERATION OF K128 and K182 Except for the lack of a 40P ZIF, the K182 is identical to K128, so I am including some suggestions applicable to both: 1. Verify that the USB 5V is within 4.75 - 5.25. It is not common knowledge but the USB port can legally deliver "5V" that actually measures 4.3V; if so, the programmer will NOT operate, because (1) the voltage is too low for the PIC being programmed to execute a Bulk Erase command, (2) It is below the proper voltage for the FT232BM, and (3) the 13V charge pump supply can only reach 11V, making the VPP level below the proper level for several (but not all) devices. 2. Install a small (0.002Uf) capacitor across VDD and GND as close to the device being programmed as possible. For the K128, place it across across pins #11 and #12 (SMT 0805 or 1206) of the ZIF socket; for the K182, across the ICSP connector from the VDD pin to GND. This might improve startup problems with devices being programmed. The reason the cap is lower for K128/K182 is because the device being programmed is driven directly from the other PIC pin. 3. Communication errors might be reduced by a small cap (47pF) to GND at the RX input to the firmware PIC16F628 or 628A (pin #7) on K128, or pin #7 of U1 on K182). Frankly, K128 and K182 have little noise, and this probably will not help. 4. In some cases, replacing the programmer device with a PIC16F628 if the programmer device is a PIC16F628A might "fix" the problem. It seems that the PIC16F628A is more susceptible to noise than the PIC16F628 is. ADDITIONAL INFO *** More on ground and signal size relationships: In a normal PCB design, the ground traces are MUCH larger than signal traces. This sets up a signal between logic stages as follows: Scenario #1, Large grounds, small signal traces: PIC signal ----------/\/\/\/\-------- A R PIC GND -----------/\/\/\/\-------- B R/5 In this situation, the IR losses are much smaller in the B conductor than the A conductor, ensuring that the receiving end (at A/B) sees B as much closer to GND than A, so GND noise is not very serious. Scenario #2, small grounds, small signal traces: PIC signal ----------/\/\/\/\-------- A R PIC GND -----------/\/\/\/\-------- B R In this situation, the IR losses are the same in the A and B conductors, so GND noise is a more serious issue. If the load across A-B is heavy or the traces long, GND noise can become so great as to prevent reliable operation. - - - - - THE FUTURE OF K149 As mentioned, sales of K149 will be stopped temporarily until the new P19 firmware and MP2 Windows software is ready for release. We have found in our testing that the greatly improved communication protocol used by the P19/MP2 combination overcomes any noise communication errors between the PC and K149, making it much more reliable. So, rather than spend time and effort in re-designing the hardware we will concentrate our effort into getting P19/MP2 finished as soon as possible. We will issue updates as we get further along in the development cycle. Thanks for your consideration. --Bob |
| | KitsRUsBob Registered: July 29, 2005
Posts: 419
| | Kickstart Registered: July 31, 2005
Posts: 18
|
|
|
Reply with quote | #3 |
Quote: Originally Posted by KitsRUsBobWe are having myriad complaints regarding K149 units. As a result of 2 months of careful analysis, here is a synopsis of what is happening with K149 units. ....... 7. Power supply problems!! For some reason, customers simply don't understand the importance of a proper power supply. In order to reduce shipping weight and (therefore) costs, DIY chose NOT to sell a power supply matching the needs of the K149 & K150. Customers are attaching 9V power supplies and sometimes it works so they assume that the supply isn't the problem. The K149 and K150 needs a wallwart that can deliver 200mA at 16.5V minimum, WITHOUT ripple, to the K149/K150 supply jack. Here's what happens:
A. During some times of the day and night, the electrical supply drops from 125VAC to 110VAC. The output of the wallwart will drop in proportion, so if the wallwart is too weak to start with, the programmer no longer works AT THAT TIME.
B. Wallwarts contain electrolytic ripple filters that automatically degrade with time, i.e. they get "old". When they do, ripple slowly increases, can reach an unacceptable level, and the PIC can no longer be programmed.
C. People measure the UNLOADED voltage of a wallwart, not understanding that unless the walwart is loaded, that measurement means little.
......... THE FUTURE OF K149
As mentioned, sales of K149 will be stopped temporarily until the new P19 firmware and MP2 Windows software is ready for release. We have found in our testing that the greatly improved communication protocol used by the P19/MP2 combination overcomes any noise communication errors between the PC and K149, making it much more reliable. So, rather than spend time and effort in re-designing the hardware we will concentrate our effort into getting P19/MP2 finished as soon as possible.
We will issue updates as we get further along in the development cycle.
Thanks for your consideration.
--Bob
Hi Bob, Firstly I'd like to say how informative I found this post, but, to be honest, I was most suprised by it as I have not experienced ANY of the problems listed!!!! (I must have trodden in something!) I have, however, built my own power supply for my K149D, and maybe this has helped me. Along these lines, I shall upload a picture and diagram of my supply, along with actual measurements from my K149D. If anybody is then interested, they might want to build their own. Keep looking! I am still looking forward to the K185 and MP2. Thanks again for your time and assistance Bob and the rest of you who are doing your bit for 'PIC 'n Programmer'! Regards, Clayton |
| | KitsRUsBob Registered: July 29, 2005
Posts: 419
|
|
|
Reply with quote | #4 | hehe! Nice name. Is it used by somebody already? Publish whatever ya got, many people are interested. --Bob |
| |
|