Some sequences of characters are very similar to characters that were recently sent out the UART0 port, some are seeming random and on some occasions it receives a serial BREAK which causes the next character to be treated as a system command character. Unfortunately, if the next character is a ‘b’ then the system will reboot.
What could be causing the unwanted characters to show up and what can I do to stop it?
Thank you,
It may be that the UART0 RX signal is accidentally floating, or something is pulling it to an indeterminate logic state. To check, try connecting a strong pull-up resistor (the relevant power rail is board-dependent of course) and see if the issue still appears.
It could be helpful to know whether you’re using an off-the-shelf or custom board. (For instance, by “nothing connected”, do you mean there are absolutely no components on the board connected to the RX pin?)
This is a custom board based on the Beagle Bone Black. The BBB has a 6-pin header for console output via connecting a USB to 3.3v TTL cable. UART0_TX and UART0_RX from the OSD3358 are connected to the 6-pin header through a SN74LVC2G241DCUR chip. I can’t find anywhere in the Octavo app notes where the UART0 is used as a console port. The BBB has a 100k ohm resistor connected to pin-2 (B_UARTo_RX) to ground.
Do you recommend the same?
Thank you,
I looked at the OSD3358-BAS-SBC-Ref-Design-SCH.pdf and OSD3358-SM-RED_Platform_sch.pdf. Both have a 100K resistor connecting Sn74LVC2G241 pin-2 (B_UART0_RX) to GND. I tried same on one of my custom board and it seems to have fixed the ‘receiving characters when nothing connected’ problem. I will try same on multiple boards.
Thank you
UART0 pin out in shown on sheet 3/9 the OSD3358-BAS-SBC-Ref-Design-SCH.pdf.
Where in the OSD335x Reference Design Tutorial Series is the UART0 pin out mentioned?
Thank you,
jackthree,
The UART0 console is discussed here in the tutorial series: https://octavosystems.com/app_notes/osd335x-design-tutorial/bare-minimum-boot/peripheral-circuitry/. As you can see, there is no pull-down on RX. The pull-down on RX in the reference designs were added to make sure that the RX pin is not floating, which ensures that there is no halt during u-Boot execution, but this is not necessary to do in hardware. You can activate internal pull-up/pull-down in device tree as shown in https://github.com/octavosystems/OSD335x-Device-Tree/blob/master/OSD3358-SM-RED/osd3358-bsm-refdesign.dts#L219. Please check your device tree and try to add pull-up/pull-down configuration there. Note that internal configuration is a weak pull-up/pull-down. If you are still having issues after that, something might be interfering with UART0 comm lines.
Best,
Neeraj
Octavo Systems LLC all rights reserved
OCTAVO is registered in the U.S. Patent and Trademark Office. OSD, C-SiP, and the Octavo Logo are trademarks of Octavo Systems LLC.
"*" indicates required fields
"*" indicates required fields
"*" indicates required fields
"*" indicates required fields