|PJRC.COM Offline Archive, February 07, 2004
Visit this page on the live site
|Shopping Cart Checkout Shipping Cost Download Website|
|Home||MP3 Player||8051 Tools||All Projects||PJRC Store||Site Map|
|You are here: 8051 Tools Development Board Troubleshooting||Search PJRC|
This page shows information for the older Rev 3 boards
Figure 9's photo need to be taken for Rev 4.
In a perfect world, everything would work on the first try. If the board responded as shown in figure 7, then you should skip this section.
If the board does not respond when you press Enter, then you will need to do some troubleshooting. It is possible that board, power supply, PC serial port, or cable has a problem. If you purchased a fully assembled and tested board from PJRC, it should have a green dot on the serial port connector, which is placed there when the board passes all of the tests. If you built the board yourself from a kit or your own parts, it is more difficult to know if the board is working correctly. In either case, there is a simple way to test the PC serial port and cable, so we'll cover that first.
You can easily test your PC serial port and cable with a simple loopback test. On a 9 pin connector, the PC transmits data on pin 3, and receives on pin 2. With the cable disconnected from the board, you can short pins 2 and 3 together, as shown in figure 8. Most small metal objects will work, such as a paper-clip, though the test will be much less frustrating with two people, one to hold the connection on pins 2 and 3 while the other uses the computer.
Figure 8: Serial Port Loopback Test, Short Pins 2 and 3
While pins 2 and 3 are shorted, you should type into the terminal emulation window. As you type, the characters should appear on the screen, because they are sent on pin 3 and immediately received on pin 2. When the short is removed, no characters should appear on the screen as you type.
If this test fails, usually as no characters appearing when the pins are shorted, then something is wrong with the PC serial port, or the cable. Often times the ports are simply mis-labeled and the cable is connected to the wrong one. In some cases, a serial port may not work because some other program is attempting to use it. It is rare for the actual serial port hardware to have a problem, except in the case of older PC motherboards where the serial port is connected by a ribbon cable to the board. Sometimes the ribbon cable comes loose, or is plugged in backwards or is not seated properly.
If the loopback test passes, then the only other thing to check is that the baud rate is set to a legal value. The 8051 development board (rev 4) can operate detect and work at all standard baud rates, except 300.
If you purchased a fully assembled and tested board from PJRC, it should have a green dot on the serial port connector. These boards have been tested. If you built the board yourself, perhaps something isn't quite right. The remainder of this section provides some simple tests that should allow you to get the board to respond.
Testing the 8051 development board requires a multimeter. The first test to measure the power supply voltage on the board. On the 87C52 chip, measure between pins 20 and 40. The power supply should be +5 volts.
Another simple test is the measure the DC voltage on the serial port connector transmit pin. This is pin 2. The screw holding the voltage regulator makes an easy point for the ground probe, as shown in figure 9.
Figure 9: Transmit Voltage Test, Serial Port Pin 2
When the PC is not connected, the transmit voltage should measure approximately -10 volts. When the PC is connected, it will load the line and the voltage will change, to approximately -8.5 volts.
Next, you can measure the voltage received from the PC. This is on pin 3 of the serial port. Most PC serial ports will deliver between -11 to -9 volts DC. If you press and hold the Enter key, the voltage will decrease slightly. The actual change will depend on your keyboard repeat speed and the baud rate (faster repeat and slow baud rates make a larger change). With 57600 baud and 30 repeats/sec, I measured a change from -9.45 to -9.40. Holding the space-bar will produce a larger change, in this case -9.45 to -9.38. At 2400 baud, the changes are more substantial. At the same 30 repeats/sec, I measured -9.45 to -7.96 with the Enter key held, and -9.45 to -7.46 with the space bar held. These exact voltages may not appear with your PC serial port, but they are representative of what you should see. The point of this measurement is to verify that a signal is being received from the PC, and to cause the PC to transmit a stream of characters and check that the DC voltage changes.
After checking the signal from the PC, it is also possible to check if this signal is reaching the 8051 at its RXD pin (pin 10). This pin should normally be at 5 volts, when no data is being sent by the PC, regardless of a serial cable being attached, so this measurement is only meaningful when observing the change between inactivity and a stream of characters sent from the PC. When the PC sends data, the voltage will decrease. Testing with the Enter key held at 57600 baud and 30 repeats/sec, I measured a decrease from 5.04 to 5.02 volts. Not much. Changing to 2400 baud, the change was from 5.04 to 4.65 volts. If you measure similar changes, then the PC's data is reaching the 8051's RXD pin.
If data reaches the RXD pin, there are only two more things to check, the reset circuit and the crystal oscillator. The reset circuit is easy to check. When the reset button is pressed, 5 volts should appear at the reset pin (pin 9). When the button is released, it should return to zero volts in less and 1 second. The crystal oscillator can be tricky to test, because attaching a probe may add enough capacitance to stop the oscillator. The best place to measure is at pin 18, which connects to a 1k resistor. If the oscillator is running, there should be a voltage between 2 to 3 volts.
If the reset and oscillator circuits are working, then the 87C52 should transmit data is response to the Enter key. The activity can be seen at the TXD pin (pin 11), which should also appear at pin 2 of the serial port.