Im using beaglebone black with the following board for serial debug:
And Im connecting the tx,rx and gnd appropriately. But when the board boots I m seeing some random characters appearing on my minicom. my baudrate is 115200.
Any other connections to be made other than this??
From the looks of it and the description of NXP your serial connection follows the RS-232 standard.
according to wiki:
The RS-232 standard defines the voltage levels that correspond to logical one and logical zero levels for the data transmission and the control signal lines. Valid signals are either in the range of +3 to +15 volts or the range -3 to -15 volts with respect to the ground/common pin; consequently, the range between -3 to +3 volts is not a valid RS-232 level. For data transmission lines (TxD, RxD and their secondary channel equivalents) logic one is defined as a negative voltage, the signal condition is called “mark”. Logic zero is positive and the signal condition is termed “space”.
As you can see there are three things wrong
a. the voltage level the BBB uses is 3.3 volt max. Your serial board outputs more, maybe much more according to the standard an RS-232 device must be able to accept up to 25 volt input.
b. RS232 data lines are inverted: a “1” (or “mark” in RS232-speak) is negative, a “0” (or “space”) is positive. BBB “1” = 3.3v, “0” = 0v.
c. The output range of the BBB Tx falls mostly in the -3 - +3 range which is not accepted as valid signals by RS-232.
therefore you run the risk of damaging the BBB Rx port from applying out of range voltages and you receive gobblygook, because the signal is inverted and signal levels are marginal.
You need to use a ftdi or similar interface designed for 3.3 volt. Look here: http://circuitco.com/support/index.php?title=BeagleBone_Black_Accessories
Tx and Rx on the BBB are reversed. Make sure to connect Tx to Tx and Rx to Rx other wise it does not work properly.
Reversed? No. they are just labeled as they are on the processor. TX always goes to RX and RX always goes to TX.
Oh ok gotcha. I thought they were reversed because I had to connect Tx to tx and Rx to Rx on my setup for it to work. I seem to remember reading on the wiki that it said to connect them that way. I may be wrong though been a while since I read it.
You need to swap them. If both ends say TX,RX and they are truly TX and RX, which is generally the case, then you swap them. They all should be labeled as what exactly they aae, then make sure you swap them. If people started lebeling them as to what they want, then it can cause confusion.
besides, if you connect Rx to Rx you receive nothing, not garbage.like the OP.
Not entirely true when I had mine hooked up backwards I got uboot showing up but it would state something about not being able to find eMMC and would just stop there.
Ok just reversed my tx and Rx lines and it still goes all the way to the prompt. Not sure how but it does either way I put the lines on it.
ok here is a log with the lines right and second half with the lines swapped.
notice the prompt at the end of the file.
20130623101004.log (9.84 KB)
Can you stop the boot process at the UBoot? Let a few lines go past and hit the enter key several times.
Then see how the serial works in Uboot.
Was the last post for me or the OP?
Response to the log you sent.
Ok with the lines reversed uboot can not be stopped. here is what i get now.
20130623105634.log (4.05 KB)
Please note that my serial debug works fine. i just did that to prove that you do still get an output if lines are crossed, PLyttle said you dont get an output if lines are reversed.
What are the settings on Putty?
115200 bps, 8 data bits, 1 stop bit, none parity, none flow control.