Difference between revisions of "How to use UART RK3568"

From ESS-WIKI
Jump to: navigation, search
Line 155: Line 155:
 
Enter U-boot interrupt mode
 
Enter U-boot interrupt mode
  
Connect device to debug port, and open debug console. See more : [http://ess-wiki.advantech.com.tw/view/How_to_debug_RK3568 How_to_debug].
+
Connect device to debug port, and open debug console. See more [http://ess-wiki.advantech.com.tw/view/How_to_debug_RK3568 How_to_debug].
  
Press "ctrl + c" key before power up the device, until get the following information on debug console : 
+
Press "ctrl + c" key before power up the device, until get the following information on debug console :
 
<pre>Hit any key to stop autoboot: 0
 
<pre>Hit any key to stop autoboot: 0
 
=> <INTERRUPT>
 
=> <INTERRUPT>
 
=></pre>
 
=></pre>
  
Then you can&nbsp;input the following cammand to config UART mode.
+
Then you can input the following cammand to config UART mode.
 +
== Config Uart coming from cpu ==
 +
 
 +
'''RS485 Mode(Taking Kedge-350 for example):'''
 +
<pre>setenv uart_mode_cpu 3:1,4:1
 +
saveenv
 +
reset
 +
</pre>
 +
 
 +
'''RS232 Mode(Taking Kedge-350 for example):'''
 +
<pre>setenv setenv uart_mode_cpu 3:0,4:0
 +
saveenv
 +
reset
 +
</pre>
 +
 
 +
 
 +
'''Note :'''
 +
 
 +
The default value is RS232.
 +
 
 +
Above command "uart_mode_cpu 3:1,4:1", 3:1 means set ttyS3 to RS485(0 means to RS232; 1 means to RS485).
 +
 
 +
If you just want ttyS3(or ttyS4)to be RS485 mode, please change "3:1,4:1"to "3:1,4:0"(or "3:0,4:1").
 +
 
  
== Config Uart Mode ==
 
  
Only ttyUSB2 and ttyUSB3 support RS485 mode.
+
== Config Uart coming from cp2108 ==
  
'''RS485 Mode:&nbsp;'''
+
'''RS485 Mode:'''
 
<pre>setenv uart_mode 0x0c
 
<pre>setenv uart_mode 0x0c
 
saveenv
 
saveenv
Line 174: Line 196:
 
</pre>
 
</pre>
  
'''RS232&nbsp;Mode:&nbsp;'''
+
'''RS232 Mode:'''
 
<pre>setenv uart_mode 0x00
 
<pre>setenv uart_mode 0x00
 
saveenv
 
saveenv
Line 180: Line 202:
 
</pre>
 
</pre>
  
'''Note&nbsp;:&nbsp;'''
+
'''Note :'''
  
The default value is RS232.&nbsp;
+
The default value is RS232.
  
 
Cp210x support four port, but RSB4810 Only ttyUSB2 and ttyUSB3 support RS485 mode.
 
Cp210x support four port, but RSB4810 Only ttyUSB2 and ttyUSB3 support RS485 mode.

Revision as of 03:28, 21 March 2024

Overview

The Android/Linux UART/serial port access from user is through the tty-devices. The tty-devices have different names depending on UART driver on different board.

RS-485

RS-485 uses half-duplex communication, which means that one medium is shared for transmitting and receiving data.

Therefore the system needs to control the RS-485 transceiver's transmit mode.

Usually the UART RTS signal is used to switch the transmitter on and off.

Boards

RSB-4810 Borad

COM Name Device Node Remark
COM1 /dev/ttyS4 support RS232, no flow control
COM2 /dev/ttyS7 support RS232, no flow control
COM3 /dev/ttyUSB2 support RS232 and RS485
COM4 /dev/ttyUSB3 support RS232 and RS485
COM5 /dev/ttyUSB0 support RS232
COM6 /dev/ttyUSB1 support RS232

Note : 

1. Only USB2COM2 and USB2COM3 support RS485 mode.

2. COM2 is designed as debug port default. 

KEDGE-350 Borad

COM Name Device Node Remark
COM0 /dev/ttyS3 RS232 2-wire and RS485
COM1 /dev/ttyS4 RS232 2-wire and RS485
COM2(UIO) /dev/ttyS7 RS232 2-wire
COM3(UIO) /dev/ttyS8 RS232 2-wire

Note : 

1. Only COM0 and COM1 support RS485 mode.

ROM-5880 Borad

COM Name Device Node Remark
COM1 /dev/ttyS3 support RS232,
COM2 /dev/ttyS7 support RS232, no flow control
COM3 /dev/ttyS4 support RS232
COM4 /dev/ttyS5 support RS232, no flow control

Note : 

 

How to config RS232 or RS485 mode

Enter U-boot interrupt mode

Connect device to debug port, and open debug console. See more How_to_debug.

Press "ctrl + c" key before power up the device, until get the following information on debug console :

Hit any key to stop autoboot: 0
=> <INTERRUPT>
=>

Then you can input the following cammand to config UART mode.

Config Uart coming from cpu

RS485 Mode(Taking Kedge-350 for example):

setenv uart_mode_cpu 3:1,4:1
saveenv
reset

RS232 Mode(Taking Kedge-350 for example):

setenv setenv uart_mode_cpu 3:0,4:0
saveenv
reset


Note :

The default value is RS232.

Above command "uart_mode_cpu 3:1,4:1", 3:1 means set ttyS3 to RS485(0 means to RS232; 1 means to RS485).

If you just want ttyS3(or ttyS4)to be RS485 mode, please change "3:1,4:1"to "3:1,4:0"(or "3:0,4:1").


Config Uart coming from cp2108

RS485 Mode:

setenv uart_mode 0x0c
saveenv
reset

RS232 Mode:

setenv uart_mode 0x00
saveenv
reset

Note :

The default value is RS232.

Cp210x support four port, but RSB4810 Only ttyUSB2 and ttyUSB3 support RS485 mode.

Above command "setenv uart_mode 0x0c", 0x0c means set bit2(ttyUSB2) and bit3(ttyUSB3) to 1 (0 means to RS232; 1 means to RS485).

If you just want ttyUSB2 (or ttyUSB3)to be RS485 mode, please change 0x0c to 0x04 (or 0x08).