PLC 在Linux 上的仿真方案


1、实现功能
a. 实现业务基本通路仿真

b. 实现加入/离开网络仿真

c. 实现中继转发仿真

2、对仿真平台技术要求及解决方案
a. 技术要求

① 要能模拟信号衰减

② 要能模拟PHY收发数据

③ 要能模拟总线链路

④ 要能模拟总线冲突检测

b. 解决方案

① 要能模拟信号衰减
  可以给每个站点设置一个位置属性L, 表示到CCO之间的距离, CCO为0。 然后,设置一个信号衰减距离为P。 每个仿真站点在 发送数据时,将自己站点的位置属性写入数据包中,每个站点收到 后, 用自己的位置属性值减去收到数据包中的位置属性值,得到的 差值与P比较即可判断该数据包是否应该丢弃。

② 要能模拟PHY收发数据

利用socket进行收发数据, 使用UDP协议并且是广播方式。当然 如果是要在一台linux PC上模拟多个仿真站点,那么这里可以做适当调整。

③ 要能模拟总线链路

通过实现一个虚拟PHY层来达到此目的。过滤掉信号衰减后的包,过滤掉冲突无法检测的包,过滤掉目的站非本站点的包。

④ 要能模拟总线冲突检测

在收到的包中有发送时间t0, 帧长FL0. 如接收站点在(t0, t0+FL0) 时间范围内收到其他的包,则该报及收到包均丢弃。接收站点在t0 + FL0时刻将包上交,如果没有冲突被检测到。

3、仿真平台虚拟PHY层架构

相关内容