当前位置: 首页 > ops >正文

接口——串口uart(485)

介绍

概念

串口485,通常指的是使用EIA-485标准进行数据通信的串行接口。EIA-485标准是由电子工业协会(Electronic Industries Alliance,EIA)定义的,用于在点对点或网络上进行串行通信。EIA-485标准也称为RS-485,其中“RS”代表“推荐标准”(Recommended Standard)。

特点

  1. 差分信号:EIA-485使用差分信号传输,这意味着信号通过两根线(A和B线)传输,其中一根线的信号是另一根线的信号的相反。这种差分传输方式提高了信号的抗干扰能力。

  2. 多节点支持:EIA-485支持多个设备(节点)在同一总线上通信,使得它可以用于构建多设备网络。

  3. 长距离传输:EIA-485支持长距离通信,理论上可以传输长达1200米的距离,这使得它适用于工业控制和楼宇自动化等领域。

  4. 高速率:EIA-485支持较高的数据传输速率,最高可达10Mbps,尽管在实际应用中,由于距离和噪声等因素,速率通常会低于这个值。

  5. 半双工通信:EIA-485通常用于半双工通信,即设备在同一时间只能发送或接收数据。

  6. 接口电路:EIA-485通信通常需要专门的接口电路,如MAX485或SN75176等芯片,这些芯片将TTL/CMOS电平转换为EIA-485电平。

  7. 总线拓扑:EIA-485网络通常采用总线拓扑结构,所有设备都连接到同一总线上。

应用场景

  1. 工业控制系统:在工业自动化领域,RS-485常用于连接各种传感器、执行器和控制器。例如,在PLC(可编程逻辑控制器)系统中,RS-485可以用于连接远程I/O模块。
  2. 楼宇自动化:在楼宇自动化系统中,RS-485用于连接温度控制器、照明系统、安全系统和门禁系统等。
  3. 数据采集系统:在环境监测、气象站和其他数据采集系统中,RS-485用于将传感器数据传输到中央处理器或记录设备。
  4. 远程监控和控制:在远程监控系统中,RS-485用于传输数据和控制信号,例如在远程监控井场、电力系统或交通信号灯控制。
  5. 工业网络:在工业网络中,RS-485可以用于构建分布式控制系统,如SCADA(监控控制与数据采集)系统。
  6. POS系统:在零售行业中,RS-485用于连接POS(Point of Sale)终端和打印机、扫描器等设备。
  7. 安防系统:在安全系统中,RS-485用于连接摄像头、门禁系统和报警系统。
  8. 医疗设备:在医疗设备中,RS-485用于连接各种医疗仪器和监控设备。
  9. 交通运输:在交通运输系统中,RS-485用于连接车载设备和监控设备。
  10. 农业自动化:在农业自动化系统中,RS-485用于连接灌溉系统、温控系统和监测设备。

由于RS-485具有长距离传输、多点通信和抗干扰能力强等特点,它在需要可靠数据传输的应用中非常受欢迎。随着技术的发展,尽管一些应用场景可能会转向使用更高速的通信协议,如以太网或无线通信,但RS-485仍然在许多领域中被广泛使用。

硬件原理图

我们先通过收发器名称来寻找该收发器手册,了解工作原理。

这里我们通过立创商城来检索

手册会告诉你每个管脚的作用和设计原理

详细内容请自行下载并学习

软件

sdk开发包的设备树

我们从刚刚硬件原理图可以看到,使用了uart5

检索到uart5,注意状态是“disabled”,我们写一个uart5节点,改变一下他的配置

修改status,也就是状态,同时修改对应的rx和tx管脚

先在原理图检索rx和tx管脚,管脚对应的分别是gpio4_B1和gpio4_B0

pinctrl-0就是修改匹配的管脚号

检索后请校对管脚

如果管脚号不对请及时修改

485驱动

如果硬件设计

则多了一个“RS485_DIR”管脚,那么就需要匹配485驱动了。

测试方法

准备一个485串口工具,带有485接口的开发板,并且成功烧录系统

设置485设备连接主机,我这里用的是xshell软件,修改串口配置如下图,端口号根据实际情况来定

连接后:

在开发板端输入指令:

stty -F /dev/ttyS0 speed 115200 cs8
stty -F /dev/ttyS0
echo "123" > /dev/ttyS0

查看另一个串口

检查

如果测试不成功,检查工作

首先检查原理图,可以参考我上面的原理图设计

检查设备树,尤其是状态“status”,然后管脚绑定对不对

系统检查是否成功加载该串口,输入指令“ls /dev/”

其次用电压表测试收发器芯片

注意看:

所以RE和DE都是低电压

如果检查没问题,请用上面测试方法,用示波器量A和B管脚,看看有没有波纹

http://www.xdnf.cn/news/17146.html

相关文章:

  • 常用排序方法
  • LeetCode 面试经典 150_数组/字符串_O(1)时间插入、删除和获取随机元素(12_380_C++_中等)(哈希表)
  • Java throw exception时需要重点关注的事情!
  • 项目中MySQL遇到的索引失效的问题
  • QT+opencv+yolov8推理
  • 基于RPR模型的机械臂手写器simulink建模与仿真
  • 优选算法1
  • YOLOv11改进:集成FocusedLinearAttention与C2PSA注意力机制实现性能提升
  • 机器学习 朴素贝叶斯
  • 怎么免费建立自己的网站步骤
  • 北京JAVA基础面试30天打卡03
  • 数据大集网:企业贷获客数据平台,精准对接助贷获客平台与企业贷获客渠道
  • InfluxDB 集群部署与高可用方案(二)
  • 批量打印Excel条形码
  • 在Word和WPS文字中如何输入汉字的偏旁部首
  • 大数据之HBase
  • 沉寂半年,Kimi归来!
  • java 桌面应用程序基本框架
  • 应急响应linux
  • DDoS 防护的未来趋势:AI 如何重塑安全行业?
  • 深入理解SpringMVC DispatcherServlet源码及全流程原理
  • Flink CDC如何保障数据的一致性?
  • 亚矩阵云手机:解锁 Shopee/Lazada 东南亚电商运营“通关密码
  • WordPress自定义.js文件排序实现方法
  • Unity里的对象旋转数值跳转问题的原理与解决方案
  • Spring Boot集成方案 + Elasticsearch向量检索,语义搜索核弹
  • Linux seLinux
  • AI大语言模型如何重塑软件开发与测试流程
  • 3D开发引擎HOOPS赋能AEC领域:可视化技术助力建筑数字化转型!
  • Promise