In addition to understanding the factors that affect the performance of robots or other microprocessor-based systems (as explained in section 9.9), it is also necessary to understand the working principles of the robot's control paths and control loops, so that maintenance and repair actions can be carried out efficiently.
1. Identifying Functional Blocks
Sometimes a system failure does not occur in the system components, but in its control paths. The first step that must be taken to track this failure is to identify the system's functional blocks. If these blocks are not available in the manual, then the maintenance technician can ask an engineer to create a system functional block based on the information in the manual or instructional book. Figure 9.20 is an example of a wave generator system (Function Generator).
Figure 9.20: Functional Block of a Function Generator
This system can be divided into 3 main parts:
- Main Generator Section
- Modulation Section
- Output Section.
The Main Generator output can be controlled by the Modulation Generator, which has a frequency range between 0.1 to 13 MHz, and a sweep that can be set in either AM or FM mode.
Basic Block Diagram Description
The Main Generator works on the basis of voltage to frequency conversion.
1. Wave Generator Block
Triangle Wave
Generated by charging and discharging a capacitor from a constant current source. The time required for charging and discharging the capacitor forms a cycle that will determine the frequency.
Square Wave
The output of the triangle wave generator can be used to generate a square wave. The output of the triangle generator is fed to the input of the comparator, which acts as a limiter. Changes in the level of the triangle wave at the comparator input will produce a square wave at the comparator output.
Sine Wave
Sine wave is obtained from triangle wave formed by Diode circuit in Sine Shaper. Diode circuit will function as non-linear load, which will change the input attenuation of triangle wave according to its level.
2. Modulation Generator Block
Modulation Generator
This section can be used in several modes:
- Frequency Modulation
- Amplitude Modulation
- Sweep
- Burst Signal Generation.
Sweep and frequency modulation modes are used to determine the frequency by controlling the output voltage of the Tuning Amplifier. In amplitude modulation mode, the main signal is passed through a balanced modulator, then mixed with the modulated signal, to produce the required modulation level.
3. Output Block
Output Amplifier
The output amplifier has two separate paths, one for low frequency and one for high frequency. This technique will produce a wide frequency range and a high slew rate, to maintain the quality of square and triangle waves, without being affected by DC stability and low offset. Op-Amp IC is used for low frequency, while AC coupling is used for high frequency path.
Output Damper (Output Attenuator)
This section is used to reduce the output amplitude by a selectable attenuation factor: 0 dB, 20 dB, 40 dB or 60 dB.
2. Identifying Simple Control Paths
After knowing the function of the blocks in a system, the next step is to know the control path of the system.
1. Linear Control Path
A linear control path is a series of function blocks, each with only one input and one output. The function blocks are connected in series, so that the output of one block becomes the input of the next block. Figure 9.21 is an example of a linear control for a Gripper motor on a robot.
The control signal path starts from the timer system. When the power supply is turned on, the signal generator (oscillator) will produce a reference signal with a frequency of 1024 Hz. This signal is fed to the interrupt circuit to produce an interrupt signal (IRQ). The IRQ signal will be sent to the microprocessor. The microprocessor will then command the motor drive through an optical isolator. The motor can move following 4 different bit patterns.
Figure 9.21: Gripper Block Diagram
2. Control Path Tracking Method
A frequently used control path damage tracking technique is Divide and Conquer. For example, take Figure 9.21: Gripper Block Diagram, then divide the function block into two parts. The tracking starts from the middle. Check the output signal in one of the blocks on the left. If the result is good, then move the inspection to the output of the block on the right. Check the output signal. If the result is good, continue to the block on the right, and so on. If there is a discrepancy in a block, then the damage occurs in that block. If the damaged block has been localized, continue with the circuit inspection.
In general, circuits can be divided into two: Analog Circuits or Digital Circuits. Damage tracking techniques for each circuit can be seen (studied) in Chapter-6 (Analog System Damage Tracking) and Chapter-5 (Digital System Damage Tracking).
3. Simple Control Loop and Loop Breaking
In a control loop, the output of one block becomes the input of the next block. The most effective method of fault detection is by loop interruption. With this method, the control loop is interrupted and the signal is simulated. Once the loop is interrupted into a linear control path, the Divide and Sort method can be used.
Loop Breaking Method
Electronic systems or subsystems with feedback are very difficult to detect without disconnecting the loop. A suitable DC voltage or signal must be injected at the point where the loop is disconnected.
The voltages and signals passing through the circuit should be able to be used to monitor for faults.
The injected voltage or signal can be changed to see how the circuit responds from its normal state.
Usually the loop is disconnected at the point where the signal has a small power so that it can be injected properly.
This technique can be used for example in a PLL (phase lock loop).
The power supply and the reference oscillator output should be checked first before the loop is disconnected. In this case the output should not be normal or unstable or missing, so you can be sure that the VCO is not good. Then you can disconnect the loop at the appropriate point.
So the loop disconnection here is not necessarily the feedback part, but is sought in the small signal area that is easy to inject with existing equipment.
3. Tracking Control Line Damage
In reality, the control path of the system in the field is more complex than the example in Figure 9.20. In principle, the steps that must be taken to track complex control path damage are the same as the steps for tracking simple control path damage, namely: first, by identifying the functional block diagram of the system, then continuing by isolating the damaged area with the method that has been explained in previous chapters, for example by Divide & Sort.
Summary
- Microprocessor is a data processing system that can be used in data processing systems, signal processing or automation systems. This concerns a very broad field: production, communication, health, and others.
- Maintenance of microprocessor-assisted systems can basically be divided into two: microprocessors attached to the system and microprocessors not attached to the system. The basis of tracking damage for both systems is the same in principle, but the tracking techniques are each very unique and distinctive. Technicians need to have sufficient knowledge of how the two systems work and the characteristics.
- Microprocessors basically consist of 3 main parts, namely the Input-output (I/O) part, the processing part (CPU) and the data storage part (memory).
- Microprocessors work with digital systems. In fact, many microprocessors are used for systems that are directly related to analog quantities, for example as room temperature control. Room temperature is not digital but analog. Therefore, a circuit is needed as part of a microprocessor-assisted electronic system, which can convert analog quantities into digital quantities. This circuit is called an ADC (Analog to Digital Converter). Furthermore, after the data is processed, the data is needed to drive the actuator (for example a motor to move a robot arm), which mostly works with an analog system. Therefore, a digital to analog signal converter circuit is needed, called a DAC (Digital to Analog Converter).
- Some symptoms of damage to the robot system can generally be categorized into four, namely: if the robot does not respond at all; if the robot can only respond to certain commands; if the robot can respond but incorrectly; and if the robot initially worked well, but suddenly stopped or jammed. The method of tracking damage is based on the symptoms shown by the robot.
- To localize the damage to the robot, sharpen the analysis based on the visual observations you have made. Then determine the tests on the suspected damaged blocks, such as data path blocks, control path blocks, and so on.
Exercises
- Describe the main parts of a microprocessor, then try to explain briefly how the microprocessor works!
- Name any devices in your school that use microprocessors?
- Mention at least 3 input and output tools or components each!
- A DAC like Figure 9.8, but for 8 bits, has a reference voltage of 5V. Determine: a) What is the output voltage range of the DAC? b) What is the voltage value of each step? What is the maximum output of the DAC?
Robotic Control System Fault Identification
In general, it can be said that to track a system failure, the first step that must be taken is to recognize the characteristics of the system. The more we know about the system, the easier it is to identify and localize various abnormal function blocks, if incorrect system input and output are found. It would be even better if we also recognize the characteristics of the components that are very important in the system.
The best source for detailed information about the system is from the manual, its working principle, circuit description, and circuit diagram. After studying these items, do the next step, as described below.
1. Program
Robots (or other systems that use microprocessors) work according to instructions written in the program. If the programmer does not write complete instructions, the system will not have the ability to respond to changes in environmental conditions. Errors in program control are very diverse. But damage is often found in application programs written by users.
2. Environment
The environment can have a major impact on the performance of electronic equipment. Be careful also of adverse conditions, such as changes in temperature, humidity, and others, because these can change the value or characteristics of components. Electromagnetic wave interference can induce signals into cables and surrounding circuits, if the shielding layer is not good.
Figure 9.19: Changes in temperature, weather & humidity can affect the performance of electronic equipment.
The sonar system in the system is also very easily affected by ultrasonic noise from motor vehicles or vacuum cleaners. Large changes in environmental conditions from place to place can occur. For example, when the robot is tested in a test room, the environmental conditions are very ideal. But when in the field, conditions can be very different. Therefore, adjustments are needed, and this must be done in practice.
3. Machine
Extreme environmental conditions will accelerate the mechanical damage of robots. Many robots are equipped with equipment to detect damage and send damage signals to the robot's microprocessor, so that preventive measures can be taken against more extensive damage.
Damage to robots mostly occurs in their electrical systems, and this is also due to natural factors, for example, switches that have been used for a long time, wiring whose insulation has begun to deteriorate, or parts that are subject to pressure or vibration, such as sensors or transducers.
Initial Diagnostics of Microprocessor Failure
To get a clearer picture, we will take the case of a robot (a microprocessor-based system) which is generally used in industry.
Before dismantling the system, both hardware and software, it is better to do initial diagnostics to reduce the area of tracking system damage, by dividing the damage problem into 4 categories of disturbances:
- If all the robot's driving devices cannot respond (cannot move or speak at all).
- If one or more parts of the robot do not work at all.
- If a part of the robot can operate but not properly.
- If all parts of the robot seem to be working fine, but then suddenly stops.
1. If All Drive Devices Are Not Responding
It is possible that the entire system is not receiving power. Another possibility is that the communication system on the robot is not working, so the robot cannot receive commands or forward commands to the output operators. This can be caused by program damage or damage to the circuits associated with the microprocessor. As a result, there is no information that can be used to reach the I/O address. If this is true, then continue with the steps as explained in section 9.9 Robot Control System Damage Tracking.
2. If One or More Parts of the Robot Are Not Working
For example, there are two or more robot parts that do not work together. First: check everything that is part of the same, such as the power supply; then check the cables or hydraulic and/or pneumatic lines that work in the damaged area. Finally, check the I/O. If the damage occurs in only one part, then check the power supply, grounding, and mechanical problems, then check the signals to and from the I/O.
3. If the Robot Part Can Operate But Not Correctly
If there is an instruction, then the robot responds (eg moves), but its performance does not match the instruction, then there is a possibility of several problems. If the operator can move but cannot stop, it is usually because the signal from the sensor is not understood by the microprocessor. This can be caused by damage to the sensor itself, the feedback signal to the I/O section, the I/O section, or the microprocessor.
If the operator is moving randomly, the operator may be misinterpreting the instructions. The I/O may be sending too many signals to the operator (some of which may be intended for other operators), the microprocessor and its supporting circuits may be sending signals to the wrong I/O addresses. Or there may be a problem with the power supply and its grounding.
Figure 9.16: Too many signals sent to one operator address
Another problem that may occur is due to noise, which is an unwanted external signal, such as the influence of electromagnetic waves or wave frequencies from equipment around the robot, and so on. These noise signals can change the logic level of a logic circuit, change instructions, or even change data bits.
Figure 9.17: Noise Comes from Radio Waves
The actions that must be taken are to use the most appropriate filter for the power supply used, make good grounding, especially coaxial cables, because they can act as antennas, as well as other circuits that have the potential to cause similar interference.
Figure 9.18: One of the Grounding Systems
Another problem that also needs attention is: if the robot moves erratically when turned on, then check the flipflops in the area around the I/O on the power supply, which have the wrong logic level. Some flipflops have resistors or capacitors connected to the power supply, so that they have the correct logic when they start working (initiated). If there is a broken circuit, it will change the flipflop condition and cause the supply to be directly connected to the driver. There are also flipflops that work with the correct logic if they get the right supply. If the power supply decreases, the microprocessor can send wrong instructions. Therefore, check the supply voltage on the microprocessor.
4. If the robot stops suddenly
Sometimes the robot stops at a certain position after operating well for a while. The problem may be in the microprocessor or the feedback signals related to the movement. Usually the instructions in the robot program are like "move" & "wait". These instructions tell the microprocessor to move a certain device and wait for the next action (movement) after the first action is completed. If the first action is not completed (the microprocessor does not think that the first action is completed) then the microprocessor will not send the next instruction.
How to Diagnose and Repair Microcomputers
CAUTION! Before starting to troubleshoot (micro)computers, read the operating manual to make sure that the procedures you are performing are correct. The manual usually contains instructions on how to fix minor problems/damages.
1. Physical Examination
Also perform a visual inspection as follows:
- AC Interlock, on front and rear panels, chassis, etc.
- All fuses and CB
- Connect the connector cables to all plugs
- Status indicator lights
- Monitor: check the brightness control if the display on the monitor appears dark, or check the contrast control if the image appears blurry and out of focus. Check all keyboard and other controls.
- Check for signs of physical damage, such as cracks in the motherboard, keyboard, etc.
- Check carefully for splashes or spills of liquids such as coffee, tea, ink, etc. on the keyboard and control panels.
- Open all panel accesses, then check for corrosion, disconnected or damaged connecting cables, burnt parts, cracks, or other similar damage.
- Check the devices connected to the microcomputer, such as cables, printer (paper drive wheels, indicator lights, etc.).
Figure 10.5: Visual Inspection
If the physical examination does not show any significant signs of damage, then seek specific information from the micro (computer) operator, by asking several things related to the operation of the computer. For example, by asking the following questions:
- When are symptoms of damage noticed?
- What was the last thing the operator did before the failure occurred. This is to track the chronology of the failure.
- Describe the damage in detail. Is the damage related to previous natural events, such as lightning, floods, earthquakes, temperature spikes (extremely high or low), etc. that can damage the computer?
- Do you use operating instructions, program printouts or other application documents to supplement computer performance in the event of a disruption?
- Has a similar disruption or damage occurred before? If so, when and how was it resolved?
- Were there any repairs to any part before the failure? If so, when and what repairs were made? Who made the repairs?
- After the disruption/damage occurred, was there any repair? If so, what was done and who did it?
Figure 10.6: Finding Error Information from a Computer Operator
2. Inspection with Simple Measuring Instruments
1) Inspection with EVM and Oscilloscope
EVM (Electronic Volt Meter) can be used to find and localize damaged hardware parts. The advantage of this method is that the tools used are simple and do not require special preparation.
The disadvantage of this method: it takes a long time to diagnose. Likewise, using an oscilloscope to diagnose digital circuits does not help much, because digital circuits only work based on certain voltage levels to indicate logic 0 and 1. For digital-based systems, using an oscilloscope also does not help much, unless overshoot is suspected (a momentary voltage spike due to various reasons).
2). Examination with Digital Instruments
This instrument is designed for computer maintenance or other digital-based systems. Included in this type of instrument are: logic probe, logic-pulser, and digital current tracer. Check the condition of the logic level change (transition) from 0 to 1 or vice versa, and or check the duty cycle on the IC pins suspected of being damaged by using a logic probe. If necessary to check the pulse sequence, use a logic pulser. Use digital current flow to check for possible short-circuited logic inputs on the data bus or address bus.
3. Single Stepping Inspection
This inspection method is basically comparing the existing engine cycle character with the engine cycle under normal conditions. The tool used is a logic analyzer or a data latch. Connect the logic analyzer or data latch to the data bus and address bus of the system to be tested. This tool will follow the system's work while executing the program. The program being executed is usually an application program or control program. This single stepping tracking method can also be done using a special test program that can track step by step.
There are two approaches that can be taken using single-stepping:
- Using single instructions or
- Using a single cycle.
If using a single instruction: the data on the bus is latched at the end of each incoming op code cycle. If using a single cycle: the data on the bus is latched at the end of each cycle.
1). Latch Data for Failure Diagnosis
A data latch is a hardware device that contains a series of Dflip-flops connected to the data bus and address bus of the system under test. The output of the latch activates the display. The display is usually in binary or hexadecimal form. A control network built into the data latch determines when data is placed stable on the data bus and address bus. Once the data is latched on the buses, the control network stops the processor. The data can then be compared to whether it matches the data that should be there.
Figure 10-7: A Data Latch for tracking failures on a computer.
2). Logic Analyzer
Tracking with data latch for large data, which is executed with several machine cycles certainly takes a very long time. A logic analyzer can be used to capture information from several machine cycles in memory at once. The data will be compared with data that has been determined by the factory (this data is called word trigger). The results of the comparison of the two data will be displayed. The display can be in the form of numbers or waveforms.
If the memory contents are displayed in the form of numbers (binary or hexa), then the logic analyzer is called a logic state analyzer. This analyzer is suitable for the single-step approach. If the memory contents are displayed in the form of waves, then this analyzer is called a logic timing analyzer.
There are now logic analyzers that can display both (numbers and waveforms). For single-step fault tracking, connect the data leads of the logic analyzer to the data and address buses of the computer under test. The extra data leads are connected to the control and status signals being tested.
The clock lead is usually connected to a control signal that has a transition when the contents of the data and address buses have stabilized. The logic analyzer begins to capture data if the trigger word (trigger word as test-word) has been determined.
Figure 10-8: Logic Analyzer Block Diagram
Figure 10-6 shows the operation of a logic analyzer in general. A register of a memory (RAM) consisting of 8 bits (Figure 10-6 (a)) will be tested. Input data can be entered into the register in series or parallel, but the output will always be parallel. The test results are shown in Figure 10-6 (b). The test results of test-word A (with LSB or List Significant Bit with a binary value of 0) show that all outputs are correct, both for serial and parallel input. While the test of test-word B (with LSB with a binary value of 1) shows that there is an error in the LSB register when given parallel input, but when given serial input, the register response is correct. Likewise, the test results of test-word C, there is an error when given.
Figure 10-9: Example of Inspection with Logic Analyzer
Diagnosis
From the example of testing and logic analysis above, it can be concluded that the damage occurs in the parallel input gate circuit of its LSB. Solution: replace the 4-bit register (where the damage occurred in its LSB) with a new 4-bit register.
Similar tests can be performed for other parts, and diagnosed as in the example above. For example:
If the RAM reads incorrect data (read on the display), but the data written in the RAM is correct (this can be checked with a data-latch or logic analyzer), then there is likely damage to:
- RAM itself
- Control circuit for writing.
- Control circuit for reading.
- Upper address decoder
- Data bus driver.
If incorrect data is read from the ROM, and the data written into the ROM is also incorrect, then the damage is likely to occur in:
- The ROM itself
- Address decode circuit
- Data bus driver.
Sometimes wrong data can be read from ROM or RAM, because more than one IC is used for the address. Data latch or logic analyzer can be used to get more detailed information from ROM and RAM.
If the opcode and data for the instructions can be read by the CPU but the instructions fail to be processed correctly, then the damage has occurred to the microprocessor. In this case, it is also necessary to check the bus drivers associated with the microprocessor.
The advantage of using the single-step method is that no special preparation for the examination or diagnosis is required.
The disadvantage of this method is that it requires sufficient basic knowledge about the working of computer hardware tools and systems, understanding all microprocessor instructions, how the machine cycle works for each instruction, and mastering various damage tracking techniques. Technicians must also have a circuit diagram of the system being examined and check the list of machine codes from the test program used. The test program used is usually a control program or bootstrap loader with a high-level language (a language understood by humans, and not machine language or binary codes). In addition, the method requires a long diagnosis time.
4. Examination with Self-Diagnostic Program
Many computer manufacturers provide software or programs for damage diagnostics. This program is called a self-test (diagnostic) program. This program is used to help technicians determine the location of damage inside (micro) computers. Some computer products have installed self-test programs in their production computers. But there are also programs provided from outside the computer. The program has been equipped with test instructions that can be sent by the CPU to the parts to be tested, such as printers, ROM or RAM. From this test, it will be possible to find out which parts are experiencing interference or damage.
1). RAM testing
Testing programs are usually done by writing and reading one or more patterns in RAM. All bits are usually set and reset. The patterns tested are patterns that can show sensitivity patterns. The symptoms that will be shown are RAM can respond to one particular pattern but reject other patterns. This pattern can be done by setting and resetting all bits. Some RAM tests will be able to detect missing bits.
2). ROM testing
A technician usually just runs a ROM test program. The program will compare the checksum of the ROM contents with the test ROM. The checksum is an example of an arithmetic check code, or modulo arithmetic. For ROM testing, a 16-bit checksum is usually used, where the result is downloaded into two registers. The checksum is calculated by adding the contents of each memory location in the ROM, ignoring any excess bits that might occur with the addition. For example, a 16-bit checksum will be calculated. The result may be more than 16 bits.
3). Interface Testing
Interfaces are usually tested with diagnostic programs. The input interface is a keyboard, and the output interface can be a light that can be turned on. Data entered by the technician will be displayed on the output interface. The software used allows data created by the technician to be displayed on the output interface. Interfaces whose input and output are compatible can be tested simultaneously with the loopback technique. For example, the input and output of the RS-232 interface will be tested by connecting the data-in and data-out simultaneously.
Some advanced diagnostic programs can locate the damage on the PC board and print it out via a printer. This can certainly simplify and shorten the work of tracking damage to the computer. This can be done if there is no problem with downloading (loading) and executing the program. But if the program cannot be downloaded or cannot be executed, it is likely that the damage is in the I/O terminal, RAM or CPU itself. Therefore, other approaches or tracking methods must be used.
Damage to the ROM can also cause the system to be inoperable. If this happens, then signal tracking methods, logic analysis and substitution methods can be used.
5. Signature Analysis
A signature analysis is basically a test program that is run through a loop. The waveform or signature of each node or connection point in the system is measured. The signature is compared to the signature measured when the system is operating properly. These signatures are usually recorded in a table. Corrupted signatures are traced back to determine the faulty component. Signature testing is done with a signature analyzer.
There are usually two test programs: the first is a free-run or kernel test. Free-run testing is implemented with hardware. The second test is a software test of the system when it stops working.
The Start-and-stop lead on the signature analyzer is used to determine when the analyzer starts and stops working. The clock lead will signal/command the analyzer to sample data or measure the signature.
1). Free-run or Kernel test
In this test the data bus connection with the microprocessor will be disconnected by the NOP (No Operation) instruction. The microprocessor will calculate the address from 0 to the highest. The address line will function as a counter output, and indicate the condition of the circuit.
Free-run testing is suitable for testing address lines, upper address decoders, some logic controls of the system and CPU. Free-run can also be used to check ROM in the system.
2). Second Test
The second test will examine the system at rest. Patterns will be written to and read from RAM, output ports will be stimulated, input ports will be read. Loopbacks will be executed on the corresponding input and output ports. The program will not respond if the pattern is read correctly. The signature analyzer will highlight incorrect data.
Test Results
There are at least two test result tables: 1) a read table containing a list of read signatures; 2) a write table containing a list of written signatures (if the pattern is not written correctly in RAM and I/O chips).
The read table usually has several sub-tables for data bus signatures. If the data bus consists of two or more chips, and data is being pushed into the read table at the same time, it will be difficult to determine which chip is faulty. Therefore, there is usually a switch to select the RAM chip and the peripherals present. The switch in the chip that produces the wrong signature will isolate the faulty chip.
Profit
The main advantage of using signature analysis is that with relatively low technician skills it is possible to track chip damage. Additional equipment, such as logic pulsers, or digital current tracers can be used to track damage to the node where the damaged chip is located.
Loss
- It is relatively slow to isolate the area of failure, but once the failure is identified, the node and chip failures can be isolated.
- It requires high skills and knowledge in hardware, computer architecture, and software at the assembly code level to determine the connection of the signature analyzer and the written test device (program).
- All test programs and signatures must be in place before any maintenance & repairs are performed on the system.
- Signature analysis is more difficult than program self-test.
- Program signatures cannot be used to identify restart failures, unless they have been prepared in advance.
- It takes a relatively long time to prepare all the documents required for signature analysis. Test tools must be written and debugged. Signatures for all tests must be measured, documented, checked and matched.
6. Restart Failure Check
Damage to any of the control or status paths to the CPU, RAM, ROM or the CPU itself can cause a restart failure. Conventional approaches up to signature analysis packages can be used to detect chip damage.
Logic probes and oscilloscopes can be used to check the activity of the data and address buses, the chip select output of the upper address decode network, the RAM refresh circuit, the console of the interface, and so on. The following checks are also performed:
- Power supply: Make sure the voltage produced is as required. An inappropriate power supply will prevent the computer from restarting.
- Clock: Check the clock on the memory and programmable peripheral chips in the system. Use a logic probe or oscilloscope to check the clock and other control or status lines. Changes in crystal frequency can cause restart failures.
- Reset Line: Press the reset button while observing the reset input on the microprocessor. Repeat this procedure with the programmable peripheral chip attached to the reset line. If this chip does not reset properly, the system will not restart. Some microprocessors require several seconds to restart, especially during a power-up. If the system under test does not power up properly, but restarts with the reset button, check the delay circuit on the reset line.
- Ready or Wait Line: This is a control to slow down the processor, memory and I/O chips. If this control line is activated, the processor will be in a wait state. The processor will continue to wait if this line hangs in an active condition. Check the line on the microprocessor. Look for sources of damage around the memory and I/O chips.
- Halt or Hold Line: If this control line is activated, the processor will complete the current instruction and then stop. Usually the data and address buses become floating. This line is then used by other processors such as DMA (Direct Memory Access) to speed up disk operations or refresh monitor control, or to strengthen memory control. If this line hangs in the active state, the processor cannot fetch instructions. Check the line on the microprocessor and trace the source of the damage.
- Interrupt Line: All microprocessors have at least one interrupt line. Check to make sure this line is not active during a restart. If this line is hung, the microprocessor will continue to service interrupts, both during and after the restart routine.
7. Software Damage
Damage to microcomputer software is very rare. But there are things that can cause programs in memory to become damaged, including:
- The memory (inside the EPROM) is exposed to x-rays.
- There is physical damage to the memory IC (cracks, corrosion, broken legs, exposure to liquids, exposure to excessive heat, etc.).
Damage caused by viruses, trojans, etc. is rare. This is because microcomputers are rarely used to communicate with other computers. Programs stored in microcomputers are usually permanent, used to perform certain tasks. Microcomputers are usually used for special programs, such as children's toys, car engine systems, ignition systems, industrial processes.
Summary
The classification of a computer, mini or micro, is not determined by its physical size, but rather by the number of functions it can perform and the speed of data processing and memory capacity it has.
A microcomputer generally consists of a microcomputer IC on a PCB (printed circuit board), a ROM containing a program (usually an operating program) that is only a few bytes in size (256 bytes), and a RAM containing data. Compared to a PC computer, the size of the RAM and ROM of a microcomputer is smaller, so the programs that can be stored are limited. A microcomputer also has a master clock from a crystal and several other ICs to form special functions and handle operations on all I/O ports (Input output ports). The I/O port of a microcomputer is also equipped with a UART (Universal Asynchronous receiver/transmitter) which produces a standard interface to the printer.
All microprocessors (the heart of the computer) have at least two types of machine cycles:
Reading cycle
Writing cycle.
Common damage to microcomputers includes:
- General damage caused by the user, for example spills (drips) of liquids, food or drinks.
- Functional impairment, whether or not it shows symptoms
- System failure (hardware and/or software)
- Restart failure.
Ways to track damage to a microcomputer can be done by using:
- Physical examination
- Simple measuring tools: Multimeter, Logic Probe, Oscilloscope
- Software.
Chapter 10 Practice Questions
- What is the basis for classifying computers, so that they can be classified as micro, mini or personal computers (PC)?
- Draw a block diagram of a microcomputer system!
- Mention at least 3 examples of microcomputer-assisted systems!
- What are the types of computer damage that are often encountered, and what are the symptoms of damage that appear?
- What tools are needed to track computer damage?
Types of Computer Damage
1. General Damage
Since most microcomputer components are IC (Integrated Circuit), a technician needs to recognize damage that often occurs to the IC. Damage to the IC that is visible from the outside is generally caused by connections (connectors, for example broken IC legs, or connected between one leg and another), damaged packaging (for example corrosion or spilled liquid), short circuits between the IC and the power supply, ground, or EPROM (memory whose program contents can be erased) has been exposed to X-rays or dropped, so that the program is lost.
Figure 10.3(a) shows an IC with some of its pins broken due to various reasons. While Figure 10.3(b) shows one of the ICs damaged due to a liquid spill.
Figure 10.3: Example of IC Damage
2. Visible & invisible damage (Hard and Soft Failures)
Hard failures are permanent (definite) failures, with clear patterns of failure symptoms. For example, there is input or output data that is always 0 or 1. This may be caused by one of the input or output pins of a chip that is short-circuited to logic 0 or 1. In general, this type of failure is easy to recognize.
Soft failures are failures that have no clear pattern of failure. This can be caused by data on an open output pin (e.g. a disconnected output pin). The chip input connected from the disconnected output pin will cause its data status to "float". This type of failure is usually more difficult to diagnose.
3. System Damage
System failures can be caused by software errors or programs running on the system. Program errors are usually caused by errors in writing the program, for example, code errors, it should be written " ;" (semicolon) but it is written " : " (colon). Code errors can also be caused by hardware errors, for example, setting the switch position on the dip-switch incorrectly.
Figure 10.4: Incorrect placement of the switch position on the dipswitch can cause the system to not work.
4. Restart Failure
Restart error or failure: This occurs when the machine fails to respond properly when the power supply is turned on or when the Reset button is pressed. This error can occur in the RAM, ROM or CPU. Restart errors are usually easier to detect or diagnose than errors that occur after the machine is reset. Restart errors occur for several reasons, including:
- A break in one of the control lines or status lines to the CPU
- There are programs that "collise" (crash) during the routine restart program.
The symptoms that arise are when the computer is turned on, the computer does not respond (does not work at all).
5. Hardware or Software Damage?
To determine whether the damage is to the hardware or software of a microcomputer, replace the suspected damaged hardware with another (identical/similar) piece of hardware. If the computer then works properly, then the damage is most likely to be to the hardware.
Testing can also be done using other software. If after being replaced the computer can work properly, then the damage occurs in the program created by the user. Damage caused by software failure and hardware damage is often difficult to diagnose, so it is often tedious or even frustrating for technicians.