新手上路
- 积分
- 20
- 金钱
- 20
- 注册时间
- 2018-12-16
- 在线时间
- 5 小时
|
1金钱
最近有一个项目,需要同时采集多个振动传感器的数据,采集到之后通过485总线将数据传输,要求设备间采样误差在1ms以内,采样频率100Hz,设备可能有100来个,考虑到设备比较多,将采集数据设备统称为终端,由于终端数量庞大,普通的485传输一般采用115200,最多传输6~8个设备,所以需要在上一级增加一个小Hub,用来汇总数据。汇总后通过串口将数据发送给大Hub,大Hub负责将小Hub发过来的数据通过W5500模块 使用UDP协议发送到服务器,然后处理入库。由于大Hub上有5个串口,但是之后UART1~4可以使用DMA,所以只能使用4路,这样一个大Hub就可以连接4个小Hub,每个小Hub连接6个设备,共24个设备。24个设备之间同步比较容易,当设备数量达到80个时,需要使用4个大Hub,现在想到的方法是通过路由器UDP组播发送时间戳给每个大Hub,请问这个UDP时间误差一般有多大?组播UDP达到大Hub间的延时是一样的吗?有没有什么好的方法可以实现大Hub之间us级别同步。50us之内即可。 |
|