Difference between revisions of "How to use UART RK3568"

From ESS-WIKI
Jump to: navigation, search
(remove dummy setenv cmd)
 
(3 intermediate revisions by one other user not shown)
Line 49: Line 49:
  
 
 
 
 
 +
  
 
== KEDGE-350 Borad ==
 
== KEDGE-350 Borad ==
<table border="1" cellpadding="1" cellspacing="1">
 
  
<tr>
+
'''Main Board'''
<td> <b>COM Name</b>
+
 
</td>
+
{| border="1" cellpadding="1" cellspacing="1"
<td> <b>Device Node</b>
+
|-
</td>
+
| '''COM Name'''
<td> <b>Remark</b>
+
| '''Device Node'''
</td></tr>
+
| '''Remark'''
<tr>
+
|-
<td> COM0
+
| COM0
</td>
+
| /dev/ttyS3
<td> /dev/ttyS3
+
| RS232 2-wire and RS485
</td>
+
|-
<td> RS232 2-wire and RS485
+
| COM1
</td></tr>
+
| /dev/ttyS4
<tr>
+
| RS232 2-wire and RS485
<td> COM1
+
|-
</td>
+
| COM2(UIO)
<td> /dev/ttyS4
+
| /dev/ttyS7
</td>
+
| RS232 2-wire
<td> RS232 2-wire and RS485
+
|-
</td></tr>
+
| COM3(UIO)
<tr>
+
| /dev/ttyS8
<td> COM2(UIO)
+
| RS232 2-wire
</td>
+
|}
<td> /dev/ttyS7
+
 
</td>
+
'''Note&nbsp;:&nbsp;'''
<td> RS232 2-wire
+
 
</td></tr>
+
1. Only COM0&nbsp;and COM1&nbsp;support RS485 mode.
<tr>
+
 
<td> COM3(UIO)
+
&nbsp;
</td>
+
 
<td> /dev/ttyS8
+
'''UIO-4031'''
</td>
+
 
<td> RS232 2-wire
+
{| border="1" cellpadding="1" cellspacing="1"
</td></tr></table>
+
|-
<p><b>Note&#160;:&#160;</b>
+
| '''COM Name'''
</p><p>1. Only COM0&#160;and COM1&#160;support RS485 mode.
+
| '''Device Node'''
</p>
+
| '''Remark'''
 +
|-
 +
| COM0
 +
| /dev/ttyUSB2
 +
| RS485
 +
|-
 +
| COM1
 +
| /dev/ttyUSB3
 +
| RS485
 +
|-
 +
| COM2
 +
| /dev/ttyUSB0
 +
| RS485
 +
|-
 +
| COM3
 +
| /dev/ttyUSB1
 +
| RS485
 +
|-
 +
| COM4
 +
| /dev/ttyS7
 +
| RS232 2-wire
 +
|-
 +
| COM5
 +
| /dev/ttyS8
 +
| RS232 2-wire
 +
|}
 +
 
 +
&nbsp;
 +
 
  
 
== ROM-5880 Borad ==
 
== ROM-5880 Borad ==
Line 105: Line 133:
 
|-
 
|-
 
| COM2
 
| COM2
| /dev/ttyS7
+
| /dev/ttyS5
 
| RS232 2-wire
 
| RS232 2-wire
 
|-
 
|-
Line 113: Line 141:
 
|-
 
|-
 
| COM4
 
| COM4
| /dev/ttyS5
+
| /dev/ttyS7
 
| RS232 2-wire
 
| RS232 2-wire
 
|}
 
|}
Line 133: Line 161:
  
 
Then you can input the following cammand to config UART mode.
 
Then you can input the following cammand to config UART mode.
 +
 
== Config Uart coming from cpu ==
 
== Config Uart coming from cpu ==
  
Line 142: Line 171:
  
 
'''RS232 Mode(Taking Kedge-350 for example):'''
 
'''RS232 Mode(Taking Kedge-350 for example):'''
<pre>setenv setenv uart_mode_cpu 3:0,4:0
+
<pre>setenv uart_mode_cpu 3:0,4:0
 
saveenv
 
saveenv
 
reset
 
reset
 
</pre>
 
</pre>
  
 +
'''Note&nbsp;:'''
  
'''Note :'''
+
The default value is RS485 for Kedge-350.
 
 
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).
 
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").
 
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 ==
 
== Config Uart coming from cp2108 ==

Latest revision as of 11:25, 22 May 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 RS232 2-wire
COM2 /dev/ttyS7 RS232 2-wire
COM3 /dev/ttyUSB2 RS232 4-wire and RS485
COM4 /dev/ttyUSB3 RS232 4-wire and RS485
COM5 /dev/ttyUSB0 RS232 4-wire
COM6 /dev/ttyUSB1 RS232 4-wire

Note : 

 


KEDGE-350 Borad

Main Board

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.

 

UIO-4031

COM Name Device Node Remark
COM0 /dev/ttyUSB2 RS485
COM1 /dev/ttyUSB3 RS485
COM2 /dev/ttyUSB0 RS485
COM3 /dev/ttyUSB1 RS485
COM4 /dev/ttyS7 RS232 2-wire
COM5 /dev/ttyS8 RS232 2-wire

 


ROM-5880 Borad

COM Name Device Node Remark
COM1 /dev/ttyS3 RS232 4-wire
COM2 /dev/ttyS5 RS232 2-wire
COM3 /dev/ttyS4 RS232 4-wire
COM4 /dev/ttyS7 RS232 2-wire

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 uart_mode_cpu 3:0,4:0
saveenv
reset

Note :

The default value is RS485 for Kedge-350.

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).