METHOD AND APPARATUS FOR IDENTIFYING HARDWARE

Abstract: A microprocessor (digital device) with microcode is incorporated in a mechanical device, having analog electrical signalling wires, to send a digital signal containing identifying data of the device to a central computer. The digital signal includes operating ranges and any other information that will allow the central computer system to recognize the mechanical device and automatically incorporate the device's operating characteristics into the total system without disruption. The digital signal is transmitted to the central computer system immediately after a power-on signal is detected by the microprocessor onboard the mechanical device.

Description: METHOD AND APPARATUS FOR IDENTIFYING HARDWARE BACKGROUND OF HE INVENTION 1. Technical Field: The present invention relates in general to data processing systems and in particular to identifying analog devices. 2. Description of the Related Art: It is a common practice in industry for Original Equipment Manufacturers (OEMs) to rely on third party vendors to supply replacement parts for computer associated systems. OEMs provide standards for third party vendors to build the replacement parts and generally, OEMs provide the parts to the customer. However, customers will often purchase and install "equivalent" parts because of price. "Equivalent" parts may be approved by the OEM for replacement, but not carry the same quality control requirements of the OEM. Replacement parts may depart from the OEMs specification and require an installation service to coordinate the part to the control system. Additionally, an OEM may update or improve a replacement part such that it performs the same task as the original part but it may have altered tolerances or specifications that require system adjustment upon installation. In data processing systems, storage subsystems are constantly undergoing improvements. In tape drive storage subsystems, one of the target areas is in improving the tape. Thinner tape has been developed in order to increase data storage and keep tape cartridges the same size for existing tape drive systems. Thinner tape allows more tape to be wound on the same cartridge and thus, increases memory storage for a standard tape drive cartridge. However, thinner tape increases the likelihood that tape breaks will frequently occur because drive motor assemblies for the cartridges were built and tensioned to operate with thicker tape. Economically, customers using tape drive storage would prefer increased storage via improved tape rather than new storage systems because of the replacement cost involved. So, manufacturers of tape drives provide Engineering Changes (EC) and retrofit solutions that will account for the thinner tape . For instance, the 3590 Magstar™ tape drive, a product of International Business Machines of Armonk, N.Y., required a hardware change to a tension transducer assembly in order to handle new, thinner tape than the standard tape. It was necessary to make changes in the field without requiring the customer to make hardware modifications. Therefore, it was desirable to have microcode available on a new tension transducer assembly that included the mechanical properties of the new transducer. Because this was a field change, hardware had to go into existing drives and no changes could be made to the rest of the system. For example the function of any of the pins on the new transducer card could not be re-assigned nor could any wires be added to the connector cable. Further, the card had to function normally with old microcode so that the assembly could be put into old drives without affecting their operation. The new transducer cards also have to be used as spare parts for old drives and have to function like the old ones so that the code would not have to be changed to support the new hardware . The tape drive tension transducer card has a single output. This output is an analog tension signal to drive motor servo controls. Voltage level output is proportional to the tension> detected in the tape. There are no other signal sources or outputs available. Using a DC offset voltage to distinguish the old and new cards does not work, because the signal may not be large enough to allow reliable determination of old and new sensors. Also, if the offset is too large, the signal adversely affects operation of a servo system associated with the tape drive. Utilizing voltage level to distinguish between old and new transducers is unreliable because the voltage difference between the two signals is too small . Principally, the tape drive tensioning problem revolved around availability of a single source that is currently utilized to supply an analog signal. There are no other connections that may be used for identification of a replacement hardware device in this area. So, in order to improve the storage capacity of an existing tape drive storage subsystem, a customer is required to install new hardware and adjust the control system to fit the new hardware. In general, data processing (computer) systems that control and monitor analog devices are constantly being improved and upgraded by OEMs. OEMs that manufacture process control systems offer improved parts and subsystems to customers with older, existing installations. The new parts usually require additional hardware, new procedures, customer installation, etc. Third party vendors are also improving individual subsystems that would improve operation of these computer control systems such as increasing the life of the system, enhance control, improve efficiency, etc.; all economic benefits to the system user. A problem similar to the OEM problem is caused by new and improved parts from third party vendors in that system parameters may have to be changed to incorporate the new parts. SUMMARY OF THE INVENTION Accordingly, the invention provides a method for identifying hardware, comprising the steps of: providing a pre-programmed digital device onboard an analog device; detecting a signal from said digital device; and responsive to a power on signal, transmitting a digital identity signal for said analog device along a normally analog signal line to a control system. In a further aspect, the invention provides an apparatus for identifying hardware, comprising: a preprogrammed digital device onboard an analog device for identifying said analog device; detection means for detecting a signal from said digital device; and transmission means, responsive to a power on signal, for transmitting a digital identity signal for said analog device along a normally analog signal line to a control system. In a yet still further aspect, the invention provides a computer program product with instructions in an instruction bearing medium for identifying hardware, comprising: instructions within said instruction bearing medium for providing a preprogrammed digital device onboard an analog device; instructions within said instruction bearing medium for detecting a signal from said digital device; and instructions within said instruction bearing medium for transmitting a digital identity signal for said analog device along a normally analog signal line to a control system. Preferably a method and apparatus are provided that enable self -identification for a newly installed analog hardware assembly to a data processing system to which the assembly is being installed. Further, it is preferably possible to identify an analog device to a digital control system and to provide operating characteristics and configuration parameters of the device to the control system. According to a preferred embodiment a method and system are provided for calibrating analog systems without requiring additional wiring for configuration purposes. The presence of a device can also be verified without causing interference in the analog circuitry. According to the preferred embodiment a microprocessor (or generically, digital state machine and timer) with microcode is incorporated in a mechanical device, having analog electrical signalling wires, to send a digital signal containing identifying data of the device to a central computer. The digital signal includes operating ranges and any other information that will allow the central computer system to recognize the mechanical device and automatically incorporate the device's operating characteristics into the total system without disruption. The digital signal is transmitted to the central computer system immediately after a power-on signal is detected by the microprocessor onboard the mechanical device. > BRIEF DESCRIPTION OF THE DRAWINGS A preferred embodiment of the present invention will now be described in detail, by way of example only, and with reference to the following drawings: Figure 1 depicts a high-level block diagram of a data processing system in which a preferred embodiment of the present invention is implemented; Figure 2A - 2B are high-level block diagrams of alternative systems in which a preferred embodiment of the present invention is implemented; and Figure 3 depicts a high-level flow diagram of a method for identifying an analog device in accordance with a preferred embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT With reference to Figure 1, a high-level flow diagram of a data processing system in which a preferred embodiment of the present invention is implemented, is depicted. Data processing system 100 in the exemplary embodiment includes a processor 102, which may, for example, be a PowerPC™ processor available from International Business Machines Corporation of Armonk, New York. Processor 102 is connected to a level two (L2) cache 104, which is utilized to stage data to and from processor 102 at reduced access latency. L2 cache 104 is connected in turn to an interconnect or system bus 106, which is also connected to system memory 108 and memory-mapped graphics adapter 110. Graphics adapter 110 provides a connection for a display device (not shown) on which the user interface of software executed within data processing system 100 is displayed. Also connected to system bus 106 is input/output (I/O) bus bridge 112, which provides an interface between system bus 106 and I/O bus 114. A nonvolatile memory such as magnetic tape drive 116 may be connected to I/O bus 114, as may keyboard/mouse adapter 118, which provides connection to I/O bus 114 for keyboard 120 and pointing device 122. Pointing device 122 may be a mouse, trackball, or the like.> Also connected to I/O bus 114 may be network adapter 124 for connecting data processing system 100 to a local area network (LAN) , the Internet, or both. Those skilled in the art will appreciate that other devices may be incorporated into data processing system 100, such as an optical disk drive or a modem. Referring now to Figure 2A, a high-level block diagram of a magnetic tape storage subsystem connected to a data processing system in accordance with a preferred embodiment of the present invention, is illustrated. In Magnetic tape storage subsystem 200, control system 202 is connected to magnetic tape storage subsystem via I/O bus 204 and by other connections including a signal line 214 connected to tape tension transducer card 210 in tape drive 206. A sensor (not shown) on transducer card 210 comprises a microcontroller 213 which controls a Direct Current (DC) output voltage. Tension transducer 212, during tape drive 206 operation, generates analog voltage signal 216 that is proportional to the tension measured in the magnetic tape (not shown) in magnetic tape cartridge 208. This signal is sent to the data processing system which, in turn, signals tape drive 206 servo motors to adjust tension in response to the voltage signal generated by transducer 212. At power-on, microcode in control system 202 detects that a true power-on occurred. A true power-on is defined as a voltage cycle in the drive, where voltage is first applied to the drive (i.e., turning on the power switch to a drive) . Other types of drive resets include a code reset, where microcode is restarted, or a logic reset, where a "Power-on Reset' (POR) signal is toggled, resetting electronics in tape drive 206, but not actually changing the voltage applied to electronics in tape drive 206. This is important because according to this embodiment microcontroller 213 only raises the DC output when voltage is first applied at power-on. There is no reset line to the tension transducer card. Preferably, a known method of discriminating between a reset and a true power-on is used in which a known pattern is written to volatile memory, in this case the detected configuration information of tension transducer card 210. If the pattern is in memory when the code starts, then the drive did not go through a true power-on. If the pattern is not in memory, then the drive is going through a true power-on, and the sensor needs to be checked. Detected configuration information is saved in a non-volatile storage area, termed Vital Product Data (VPD) 217 onboard control system 202. In the power-on reset case, where the drive did not go through a true power-on, the information stored in the non-volatile VPD 217 is used to determine which sensor assembly is present. According to this embodiment, when voltage is first applied to microcontroller 213 (e.g., when the drive is powered up), microcontroller 213 raises the DC output a significant amount for a small period of time by adding in an offset using a resistor and a transistor switch (neither shown) . DC output then drops to the nominal setting of the original tension transducer card. The new tension transducer card 210 may then be used in the same way as the old tension transducer card. Preferably, it is during normal operation of the drive that the tension signal behaves exactly the same as before. When the drive powers up, the system diagnostics are started first. During the diagnostic time interval the analog signal line is available, as the initialization of the drive has not yet occurred. In this implementation a Magstar™ tape drive is used, and on start up DC output is raised an extra 3 Volts for 30 seconds as this is the time that is typically taken for initial microprocessor and logic checks in the Magstar™ tape drive. Different devices utilizing the present invention may require different voltages and/or more time for initial microprocessor and logic checks. After the microcode in tape drive 206 has determined that the processor is working properly, the new sensor is detected. Logic contained in microcontroller 213 additionally shuts off microcontroller's 213 internal clock (not shown) and goes into sleep mode at the end of the 30 second time period. This effectively removes it from the circuit and avoids adding any additional noise on the tension signal. In sleep mode it draws only microamps of power. After a true power-on, hardware is initialized to detect the DC output of the sensor. If the higher DC output is detected, microcode onboard the computer knows that the new type of tape cartridge can be supported. If the higher DC output is not detected, microcode will reject the new tape cartridge and not allow it to load. Tension transducer card 210 detect a power signal and distinguishes between a true power-on signal and a power reset signal. During the diagnostic time window, the processor transmits all the necessary information to identify the transducer and provide performance values for the new transducer device. Referring now to Figure 2B, a high-level block diagram of a computer system in an automobile in accordance with a preferred embodiment of the present invention, is depicted. Automobile 220 has a computer system 224 with multiple devices which monitor the various systems onboard automobile 220. Sensors 226 - 234 are just a few of the sensors required to operate an automobile that uses a computer system. Each sensor is typically manufactured to meet original equipment standards and is configured with the computer system when manufactured and installed onboard an automobile. A replacement sensor should be manufactured to the same specification as the original, but aftermarket devices may have different specifications and outputs. Since the devices are electrically connected to the computer and sensing data is transmitted by these devices, it is natural to provide microcode stored in a microprocessor on the sensor device. The microcode contains all operating characteristics, performance, voltage parameters, etc. of the subject device. The computer has access to the information at startup, for example when the key is inserted into the ignition and turned from the on position to the start position. The analog device's onboard microprocessor sends a burst of identifying data along with operating characteristics via the sensor wire and then goes into sleep mode until another power up signal or device query is detected. Referring now to Figure 3, a high-level flow diagram of a method for identifying an analog device in accordance with a preferred embodiment of the present invention, is depicted In this flow diagram, the process is described m the case of a tension transducer for a tape drive m a data processing system The process begins w th step 300, which depicts power-on m the control system, including power to a tension transducer card for a tape drive on the system. Alternatively, the power-on may not be a true power-on but a power-on reset. If the event is a power-on reset, the process begins at step 301, which depicts a power-on reset. The transducer card includes an analog signalling device and is provided with a microprocessor containing operating characteristics of the analog device and microcode for transmitting identifying and operating characteristics over the analog signalling l ne to the control system in a digital form. The process proceeds from step 300 or 301 to step 302, which illustrates a tape drive controller powering up and commencing power-on 300 or a power-on reset (POR) 301 program sequence. Concurrently, the process also passes from step 300 to step 303, which depicts a microcontroller onboard the transducer card sending an increased DC voltage to signal a new, or different, analog device The process then passes concurrently to step 304, which illustrates the sensor going into sleep mode, concurrently with step 312, which depicts receiving identity configuration information from the sensor. Returning to step 302, the process passes to step 305, which depicts a determination of whether the power-on signal s a true power-on signal. The control system checks for configuration information (also referred to as a "data pattern") stored in the volatile memory, as discussed previously. If the pattern is present in memory wnen che code starts, the device (m this example the tape drive) did not go through a true power-on The process then proceeds to step 306, which illustrates the determination that the signal is a power-on reset signal Configuration data is not updated and the data pattern commonly stored m non- volatile (NV) and volatile memory is utilized. When the controller is powered on or receives a reset, it checks for a data pattern present in volatile memory. If the data pattern is not in volatile memory, the process continues to step 308, which depicts the control system confirming that the signal is a true power-on signal and the control system is expecting a configuration signal from the sensor. The process then passes to step 310, which illustrates the control system writing pre-determined configuration information from non-volatile memory to volatile memory The process proceeds to step 312, which depicts receiving conf guration information from the sensor. Next, the process proceeds to step 314, which depicts a determination of whether configuration information received from the sensor is the same as the pre-determined configuration information pattern in NV memory. If the conf guration information is the same, the process proceeds to step 320, which illustrates the end of the procedure. If the configuration information is not the same, the process proceeds instead to step 318, which depicts the control system updating (writing) the configuration m NV memory. The process then passes to step 320, which illustrates the end of device identification procedure. In general, the implementation carries one bit of signalling data (a voltage level is either above or below a threshold - m the above example above the threshold) . An analog sensor employing the present invention can according to the preferred embodiment identify itself or send calibration information to the system at power-on time using an analog line to transmit digital information and behave as an analog circuit during run time. This identity or calibration information is stored in the one time programmable processor. Sensors from different manufacturers may be used with different gains or offsets and identify themselves to the system. Analog sensors can preferably be calibrated without extra wires. The presence of the sensor can also preferably be verified and the microprocessor removes itself from the circuit after performing the operation and does not cause interference n the analog circuitry It is important to note that while the present invention has been described n the context of a fully functional device, those skilled m the art will appreciate that the mechanism of the present invention and/or aspects thereof are capable of being distributed in the form of a computer usable medium of instructions m a variety of forms, and that the present invention applies equally regardless of the particular type of signal bearing media used to actually carry out the distribution Examples of computer usable media include: nonvolatile, hard-coded type media such as read only memories (ROMs) or erasable, electrically programmable read only memories (EEPROMs) , recordable type media such as floppy disks, hard disk drives and CD-ROMs, and transmission type media such as digital and analog communication links.

Claims: CLAIMS 1. A method for identifying hardware, comprising the steps of: providing a pre-programmed digital device onboard an analog device (210) ; detecting a signal from said digital device; and responsive to a power on signal, transmitting a digital identity signal for said analog device along a normally analog signal line (214) to a control system (202) . 2 The method of claim 1, further comprising: shutting down said pre-programmed digital device after transmitting said identity signal. 3. The method of claim 1 or 2, wherein providing said preprogrammed digital device onboard an analog device, further comprises: providing said digital identity signal containing configuration information for said analog device. 4 The method of claim 1, 2 or 3 wherein detecting said signal, furtner comprises : distinguishing between a power-on signal and a power-on reset signal (305) . 5 The method of claim 4, wherein distinguishing between a power-on signal and a power-on reset signal, further comprises: determining whether a configuration of said analog device is stored in volatile memory (305); confirming said signal is a true power-on signal if said configuration is not stored m volatile memory (308), and confirming said signal is said power-on reset signal if said stored configuration stored m volatile memory (306) . 6 The method of claim 5, further comprising: increasing DC voltage output for a predetermined time period upon detection of a true power-on signal. 7. The method of claim 6, further comprising: providing system microcode to said control system to detect said increased DC voltage, and if sa d DC voltage is not detected utilizing said configuration m volatile memory. 8. The method of any preceding claim, wherein transmitting said stored digital data from an analog signalling device along an analog signal line to a control system, further comprises: responsive to detecting a true power-on signal, transmitting said digital identity signal data from said pre-programmed digital device onboard said analog device to said control system prior to control system initialization and logic checks. 9. The method of claim 8, further comprising: shutting down said pre-programmed digital device internal clock upon said control system accepting said analog device; and switching sa d pre-programmed digital device to sleep mode (304) 10. An apparatus for identifying hardware, comprising: a preprogrammed digital device onboard an analog device for identifying said analog device (210); detection means for detecting a signal from said digital device, and transmission means, responsive to a power on signal, for transmitting a digital identity signal for said analog device along a normally analog signal line (214) to a control system (202) . 11. The apparatus of claim 10, further comprising: means for shutting down said pre-programmed digital device after transmitting said identity signal. 12. The apparatus of claim 10 or 11, wherein providing said preprogrammed digital device onboard an analog device, further comprises: digital identity data containing operating characteristics for said analog device . 13. The apparatus of claim 10, 11 or 12, wherein detection means for detecting said signal, further comprises: comparison means for distinguishing between a power-on signal and a power-on reset signal. 14. The apparatus of claim 13, wherein distinguishing between a power-on signal and a power-on reset signal, further comprises: logic means for determining whether a configuration of said analog device is in volatile memory; means for confirming said signal is a true power-on signal if said stored configuration pattern is not in volatile memory; and means for confirming said signal is said power-on reset signal if said stored configuration pattern is in said volatile memory. 15. The apparatus of claim 14, further comprising: logic means for increasing DC voltage output for a predetermined time period upon detection of said true power- on signal. 16. The apparatus of claim 15, further comprising: means for said control system to detect said increased DC voltage and if not detected after said signal, means for rejecting operation of said analog device. 17. The apparatus of claim 16, further comprising: a microcontroller (213) onboard said analog device for shutting down said pre-programmed digital device; and logic means for switching said pre-programmed digital device to sleep mode. 18. The apparatus of any of claims 10 to 17, wherein transmission means for transmitting said digital identity signal data from an analog signalling device, along a normally analog signal line to a control system, further comprises: timing means for transmitting said stored digital data prior to said control system initialization and logic checks and after detecting a true power-on signal. 19. A computer program product with instructions in an instruction bearing medium for identifying hardware, comprising: instructions within said instruction bearing medium for providing a preprogrammed digital device onboard an analog device (210); instructions within said instruction bearing medium for detecting a signal from said digital device; and instructions within said instruction bearing medium for transmitting a digital identity signal for said analog device along a normally analog signal line (214) to a control system (202) . 20. The computer program product of claim 19, further comprising: instructions within said computer readable medium for shutting down said pre-programmed digital device after transmitting said identity signal. 21. The computer program product of claim 19 or 20, wherein instructions for providing said preprogrammed digital device onboard an analog device, further comprises: instructions within said instruction bearing medium for providing said digital identity signal containing operating characteristics for said analog device. 22. The computer program product of claim 19, 20 or 21, wherein instructions for detecting said signal, further comprises: instructions within said instruction bearing medium for distinguishing between a power-on signal and a power-on reset signal. 23. The computer program product of claim 22, wherein instructions for distinguishing between said power-on signal and a power-on reset signal, further comprises: instructions within said instruction bearing medium for determining whether a configuration of said analog device is in volatile memory; instructions within said instruction bearing medium for confirming said signal is a true power-on signal if said stored configuration is not in volatile memory; and instructions within said instruction bearing medium for confirming said signal is said power-on reset signal if said stored configuration is in volatile memory. 24. The computer program product of claim 23, further comprising: instructions within said instruction bearing medium for increasing DC voltage output for a predetermined time period upon detection of a true power-on signal. 25. The computer program product of claim 24, further comprising: instructions within said instruction bearing medium for providing system microcode to said control system to detect said increased DC voltage; and instructions within said instruction bearing medium for utilizing said configuration m volatile memory if said DC voltage s not detected. 26 The computer program product of claim 25, further comprising: instructions within said instruction bearing medium for shutting down said pre-programmed digital device upon said control system confirming said analog device is acceptable, and instructions within said instruction bearing medium for switching said pre-programmed digital device to sleep mode. 27. The computer program product of any of claims 19 to 26, wherein instructions for transmitting said digital identity signal from an analog device, along a normally analog signal line to a control system, further comprises : instructions within said instruction Dearmg medium for transmitting said digital identity signal from a digital device onboard said analog device after detecting a true power-on signal and prior to said control system initialization and logic checks.

Inventors: CHLIWNYJ ALEX, HILL MARK EDWARD, CHLIWNYJ, ALEX, HILL, MARK, EDWARD
Applicants: IBM, IBM UK, IBM UNITED KINGDOM LIMITED, INTERNATIONAL BUSINESS MACHINES CORPORATION
Application year: 2000
Main classification: G06F11
IPC codes: G06F11, G06F13