8. RS232 && RS485

本章介绍内容为RS-232和RS-485

8.1. RS232

RS-232是美国电子工业联盟制定的串行数据通信接口标准,原始编号全称是EIA-RS-232(简称RS232),它被广泛用于DCE(Data Communication Equipment ) 和 DTE(Data Terminal Equipment) 之间的连接。

  1. LubanCat-2io底板(含有RS232x2)

正面图硬件标识图

LubanCat-2io板卡硬件资源图
  • 图中j13、j14需要使用到跳线帽来进行串口和RS232的选择接口,ttl串口和rs232接口二选一

  • 使用RS232需要用4个跳帽连接,如图下所示

  • rs232的座子的引脚定义已经标注在图中

8.1.1. 软件配置

232引脚

对应串口

RS232-1

UART7-M1

RS232-2

UART9-M1

这里以开启 RS232 为例,开启对应的串口功能

  • 修改设备树文件

LubanCat-2io板卡dts配置

修改完配置文件后需要重新编译固件并且烧写

8.1.2. 使用方法

这里以RS232-1为例

8.1.2.1. adb shell查询串口9的通信参数

串口9外设使能后,在/dev目录下生成ttyS9设备文件,用stty工具查询其通信参数

1
2
#在板卡的终端执行如下命令
stty -F /dev/ttyS9

如下图:

未找到图片

8.1.2.2. 修改串口波特率

1
2
#设置通讯速率,其中ispeed为输入速率,ospeed为输出速率
stty -F /dev/ttyS9 ispeed 115200 ospeed 115200

如下图:

未找到图片

8.1.2.3. 关闭回显

默认串口是开启回显的 可以使用以下命令关闭回显

1
2
3
#需要在root用户下运行

stty -F /dev/ttyS9 -echo

8.1.2.4. 通讯

1
2
3
4
5
#发送消息
echo "I'm lubancat" > /dev/ttyS9

#接收消息
cat /dev/ttyS9

8.1.3. 自检测试

该测试需要把三个RS232引脚的相连接

T1

连接

R2

GND

连接

GND

R1

连接

T2

8.1.3.1. RS232-1发送&RS232-2接收

1
2
3
4
5
6
#RS232-2后台接收
cat /dev/ttyS9 &

#RS232-1发送消息
echo "1234567890" > /dev/ttyS7
echo "abcdefghijklmn" > /dev/ttyS7

发送完成就可以看到有接收到消息了,如下图所示

未找到图片

如果想结束后台运行的 cat /dev/ttyS9 &,参照以下操作

1
pkill cat

RS232-1接收&RS232-2发送的方法与上述方法类似,可以自行修改操作

8.1.4. android apk测试

android串口apk也可以在232进行测试,测试效果如下

未找到图片

8.2. RS485

485,通信接口的远程称重数据采集方法,在要求通信距离为几十米到上千米时,广泛采用RS-485串行总线标准。RS-485采用平衡发送和差分接收,因此具有抑制共模干扰的能力。

8.2.1. 硬件标识和引脚定义

8.2.1.1. 硬件标识

LubanCat-2金手指底板:

LubanCat-2IO板卡硬件资源图

8.2.1.2. 引脚定义

LubanCat-2io底板

485引脚

对应串口

流控引脚

RS485-1

UART3-M1

GPIO2_PD2

RS485-2

UART4-M1

GPIO2_PD3

8.2.2. 使用驱动层换流

这里以开启2io 上 RS485为例。

LubanCat-2io板卡485 dts配置

RS485在板卡上的测试方法跟RS232相差不大。