To: John Mansfield who wrote (554 ) 8/21/1998 6:26:00 AM From: John Mansfield Read Replies (4) | Respond to of 618
INTERESTING DESCRIPTION OF ACTUAL EMBEDDED SYSTEM REMEDIATION ___________________ '...A case history As a case in point, a few years ago the authors designed an automated fueling control system consisting of four independent units: a bar-code input unit at the fueling kiosk, a printer unit for receipts, a tank-level-monitoring unit for measuring the amount of fuel in the underground storage tanks, and a central control unit. The central control unit coordinates the system and supplies an interface to a wide-area network. The units were designed as standalone embedded systems, but were also networked together using RS-485 twisted-pair communications. Each of the four types of units was designed around an Intel 8051 microprocessor and a Dallas Semiconductor DS1287 RTC. The units, mounted on poles placed at the fueling kiosks, are exposed to rain, sleet, snow, and extreme temperature variations, so they are housed in cases certified by the National Electrical Manufacturers Association (NEMA) for the stated environmental operating conditions. A problem would arise if the system sent an emergency message or tank-refill request with a 1900 date to headquarters. The message--apparently 100 years old--would roll off the system monitoring screen immediately, shoved aside by ones with more recent dates. Hence it would be ignored and the emergency or request not be responded to. The first step in making these units year-2000-compliant was to go back to the development laboratory and prototype each one. The old Dallas Semiconductor DS1287 RTCs must be replaced with the new DS1687 RTC chip, which redefines the function of four of the original 24 pins [Fig. 3] for non-Y2K-related functions. To make the new chip work properly, circuit board vias to these pins must be cut and jumpered. With the clock hardware updated, the embedded software is taken in hand. Each unit has on-chip software specific to the task it performs. The existing software must be modified to take advantage of the four-character year designation in the DS1687 real-time clock chip. Once the new software has been extensively tested, it must be programmed into new Intel 8051 microprocessors, one for each of the old processors. Thus the update kit will contain four Intel 8051 microprocessors, each configured for one type of unit, plus four Dallas Semiconductor DS1687 RTC chips that are generic and can be used in any of the units. Aside from completely replacing the units with new ones, there are two major ways to get the new parts into the field--board swapping and on-site repair. In the first case, a set of four spare boards could be updated in the lab, and a technician sent into the field with these boards to replace defective ones. The defective boards would be cycled back to the lab for repair and afterwards used to upgrade another facility. Were there a large enough number of boards, this might even give rise to a cottage industry. However, in this instance, trained technicians capable of making on-site repairs to the printed-circuit boards were already on the company payroll. Since there was sufficient time, and the technicians were scheduled to visits the sites anyway, it was decided to make the swap on site. In the field, the NEMA enclosure on each unit is opened, and the power supply cabling and all interface cabling marked and removed from the circuit board. The board is unscrewed and taken out of the enclosure and the straps securing the clock chip to it are removed. Because the DS1287 RTC has an internal lithium battery, it had been realized from the start that the battery might have to be replaced periodically. Hence, it is one of the few socketed devices on the circuit board and its replacement is easy. Once the new RTC is in place, a new tie-down strap must be installed to secure the device against vibration. The replacement of the Intel 8051 microprocessor is not so simple. The 8051 is soldered directly to the circuit board as a socket would have increased product cost and there was no absolute need for one. Each of the 40 pins of the old microprocessor must be cut to remove the part from the circuit board. Each hole in the circuit board is then desoldered and cleaned enough for the pin of the replacement microprocessor to be inserted. After the new chip is inserted, its 40 pins are each soldered to the board. The circuit board is now reinstalled in the NEMA enclosure and has the power cables and other cabling reconnected to it. The rubber O-ring seal of the NEMA enclosure should probably be replaced at this time also, since it is likely to have been damaged by many years of exposure to the elements. The same procedure must be performed for each of the units of the fueling control system before this location is year 2000 compliant. It takes about two hours to update each unit, so the total time needed to update a typical location would be eight hours, or one working day. The firm that installed these systems has over three hundred sites across the United States; some sites employ more than one bar-code-reader unit to service more fueling kiosks, which lengthens the time required to update the site. With a team of four technicians, it will take approximately three months to update the overall system. What made the fuel-kiosk company lucky in this case was that the original designers of the system were still available to them; when this is not the case, deciphering and repairing the assembly code may be a challenge. The fact that the company owned both hardware and software also avoided many sorts of legal issues. ... itpolicy.gsa.gov