Electronic products have come to rely heavily on microprocessors to implement sophisticated functions and reduce cost. Additionally, silicon manufacturers have reduced the package size of their devices such that access to a connection point is impossible. Finally, competition within markets and time-to-market pressures have made it necessary to restrain development time and cost. Therefore, it is faster and more efficient to begin a project with an evaluation of what it will take to minimize the effort in developing the software components. In this blog, our engineering expert shares how development printed circuit boards minimize the development effort for faster and more cost-effective product design.
My camera is no longer a camera. It evolved into a camera and a telephone. Now it is a camera and a telephone and my messenger and my talkative, brilliant, research assistant who also can change the thermostat in my home from 7,700 miles away if I ask.
The thermostat in my house is no longer a bimetallic strip supporting a mercury switch at a preselected angle that must be adjusted by my nephew when I am away. It is a microprocessor, with more than 500,000 transistors in it, that is connected to a radio that communicates with the internet using a radio frequency of around 2.4 gigahertz. Not to be marginalized, the receiving radio contains an even more sophisticated microprocessor and receiver that will receive, decode and ship data from my camera/phone/messenger/brilliant assistant to the thermostat in less than a tenth of a second.
What are the Challenges with Wafer-Level Package Parts in PCBs?
So, how is the software in my thermostat developed? In the worst-case scenario, deadlines, cost and competitive products force the electrical engineer to shrink the printed circuit board (PCB) as small as possible in order to make it fit within a predefined package. Since the components are barely separated, all the semiconductors are wafer-level package (WLP) parts. This means that the connections are under the silicon wafer in a ball-grid array (BGA) and the PCB is many layers thick, with the connecting points buried within. Great! There is no way to connect to it to begin development! The beautiful board is the size of a postage stamp but much less useful.
What Types of Test Points are on a Development Printed Circuit Board?
But all is not lost! You can still back up and produce a development PCB. Yes, a development PCB would have all the same schematic components, plus test points and connectors. What type of test points? Well, look at the circuit and decide what you will need to instrument should there be a bug. Make a laundry list for the electrical designers to work from. Start with the most basic — a J-Tag connector for in-circuit programming and a universal asynchronous receiver-transmitter (UART) connector for serial debug.
For each device connected via a serial peripheral interface (SPI) bus, provide a jumper between the chip select and the microprocessor. This allows you to isolate a device that hangs on the bus due to a programming error. For the SPI bus itself, provide a pin for attaching a logic analyzer to the clock, serial in and serial out portions of the bus. Similarly, for an inter-integrated circuit (I2C or I2C) bus, provide a jumper to disconnect each I2C special input/output (SIO) pin from the bus. That way, if a software bug causes a device to latch up the bus, you can easily disconnect each device until the culprit is found.
Other necessities that are often overlooked are ground connections to which the logic analyzer or scope connects. The inputs to analog-to-digital (A/D) converter and digital-to-analog (D/A) converter pins are also good candidates. With these, you can validate the noise floors and accuracy so long as the copper paths and flows are the same as will be found in a similar product.
External watchdog timer circuit? You’ll need a way to look at that as well in case one of your loops takes too long to execute, and you get bitten or a bug keeps it asserted. The same goes for any other interrupt input to the processor.
What are Challenges Transitioning from a Development Board to a Finished-Production PCB?
So, at this point, we have gone from a production board to a development board that will get the software developed as expediently as possible. The caveat being that it is not always possible to go from a development board to a finished-production PCB. Problems occur when the electrical design uses components that do not exactly match the finished product. They also occur when the physical copper layout does not provide the shielding or isolation required for the finished product. Therefore, it is imperative that the components exhibit the same electrical, thermal and electromagnetic compliance (EMC) characteristics as the finished product.
Microprocessors are now prolific in today’s products. Embedded software development for these connected devices requires the addition of mechanisms to allow the developer insight into what is happening within the electronic circuitry. Thus, it is imperative that the development plan includes the inclusion of the interfaces needed for development. If this is not possible with the production product, then the plan should include the parallel manufacture of a development version of the electronic circuitry with the instrumentation points available for the software developer to access.