搜索
ST MCU Finder
安装免费手机应用,
寻找理想的ST MCU

[STM32F1] 批量串口数据收集求指导

[复制链接]
258|24
 楼主 | 2020-10-17 13:34 | 显示全部楼层 |阅读模式
本帖最后由 zzqnysafe 于 2020-10-20 11:27 编辑

如题,请教一下,有没有比较经济的方式实现多个STm32设备串口数据的收集,数量从几个到几百个不等,USART不支持并联,每一路都转485又太贵
上个图 是从看到的视频里截的图

传感器

传感器

恒温箱

恒温箱

使用特权

评论回复
| 2020-10-17 16:20 | 显示全部楼层
稳定的工程角度来看必须使用UART转485的芯片或者模块。要是使用廉价经济的方式需要使用二极管三极管搭建。稳定性一致性不好,不建议使用。

使用特权

评论回复
| 2020-10-17 17:05 | 显示全部楼层
几百个串口?物理距离也很大了吧。想办法串口转网络。

使用特权

评论回复
| 2020-10-17 20:55 | 显示全部楼层
感觉这种应用,还是RS485吧!如果搞不定,可以三极管自己搭一个啊!

使用特权

评论回复
| 2020-10-17 22:49 | 显示全部楼层
这种场合,用485确实是个非常好的办法,都走标准的modbus,如果是非标器件和协议,确实是没有办法的。

使用特权

评论回复
| 2020-10-18 09:37 | 显示全部楼层
转485都嫌贵,恐怕没有更好的办法了

使用特权

评论回复

评论

sjnh 2020-10-22 08:34 回复TA
@zzqnysafe :工装不要太考虑成本,要考虑稳定、准确、操作方便,你多花的钱有可能生产上几天就能给省出来 
zchong 2020-10-20 16:32 回复TA
@zzqnysafe :不对啊,不做产品应该成本更不敏感才对 
zzqnysafe 2020-10-20 11:28 回复TA
我要做个数据采集的工装,不是做产品,所以觉得成本高 
| 2020-10-18 16:50 | 显示全部楼层
不知道总是数据量多大,  波特率和总线负载

使用特权

评论回复
| 2020-10-18 22:14 | 显示全部楼层
这是要做串口服务器吗

使用特权

评论回复
| 2020-10-19 20:43 | 显示全部楼层
CAN总线

使用特权

评论回复
 楼主 | 2020-10-20 11:21 | 显示全部楼层
zhengfish 发表于 2020-10-17 17:05
几百个串口?物理距离也很大了吧。想办法串口转网络。

从恒温箱到电脑 就一两米

使用特权

评论回复
 楼主 | 2020-10-20 11:29 | 显示全部楼层
airwill 发表于 2020-10-18 16:50
不知道总是数据量多大,  波特率和总线负载

波特率9600,数据很少,每帧16个字节

使用特权

评论回复
| 2020-10-20 21:37 | 显示全部楼层
用I2C总线,单个I2C总线可以接127的设备,总线长度一两米没什么问题。

使用特权

评论回复
| 2020-10-20 21:49 | 显示全部楼层
如果硬件已经定型改不了I2C,还有一个方案:
将所有设备的TxD跟RxD并成一路TxD、RxD,但同一时刻只使一个设备上电,这样不断切换设备的上电来进行分时的串口通信; 供电控制方案类似矩阵式键盘,将设备正极作为行、负极作为列,同一时刻只选通单行单列。

使用特权

评论回复
| 2020-10-20 22:35 | 显示全部楼层
简单地并联一起,  变成一条线,  是不行的

使用特权

评论回复
| 2020-10-21 08:49 | 显示全部楼层
airwill 发表于 2020-10-20 22:35
简单地并联一起,  变成一条线,  是不行的

并联在一起,但同一时刻只有一个设备在供电,这种方案我在实际项目中做过,没有问题。
我的项目是几十个设备并一起。
楼主这个项目可以将设备分成多组,host端用多个串口来收集,这样就可以同时收集几个设备数据,快不少。

使用特权

评论回复
| 2020-10-21 11:51 | 显示全部楼层
本帖最后由 netjob 于 2020-10-21 11:52 编辑

不知可以不可以, 我觉得可以试试。 用同轴线带屏蔽的  把 主机(PC)的串口 TX/RX  并联到N个机器上面。   距离当然没有RS485(差分好),  先要双交线,带屏蔽地。实在不行  带总线隔离驱动。 增大驱动能力,同时添加TVS放在EMC等或静电击穿。

之后就是  每个子机地址协议的问题。 主机发命令带地址, 子机器同时接收到, 判断地址是自己的就恢复。  感觉也是可以试试的

使用特权

评论回复
| 2020-10-21 14:53 | 显示全部楼层
ufbycd 发表于 2020-10-21 08:49
并联在一起,但同一时刻只有一个设备在供电,这种方案我在实际项目中做过,没有问题。
我的项目是几十个 ...

用 "线与" 方式,  多个接口连在一起的可行的,  也是比较便宜的方案

使用特权

评论回复
 楼主 | 2020-10-22 08:10 | 显示全部楼层
ufbycd 发表于 2020-10-20 21:49
如果硬件已经定型改不了I2C,还有一个方案:
将所有设备的TxD跟RxD并成一路TxD、RxD,但同一时刻只使一个设 ...

好的 我做个板试一试 这样比较好理解

使用特权

评论回复
 楼主 | 2020-10-22 08:11 | 显示全部楼层
netjob 发表于 2020-10-21 11:51
不知可以不可以, 我觉得可以试试。 用同轴线带屏蔽的  把 主机(PC)的串口 TX/RX  并联到N个机器上面。    ...

有协议 但是USART不支持并联 可一起收,但是发送同一时间应该只有一个可以通,多了就不行了

使用特权

评论回复
| 2020-10-22 09:19 | 显示全部楼层
CAN是最佳选择

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表