java怎么拦截某个对象
270
2022-10-25
基于FPGA的通信接口模块设计与实现
1 通信协议设计
1.1 传输数据类型分析
通信接口模块需要处理的数据分为3种:中心机发给前端受控模块的控制命令(上行数据);前端受控模块发送给中心机的状态信息(下行数据);中心机控制通信接口模块实现信息转发控制的命令。通信接口模块对前两种数据分开处理,两者之间互不干扰。后一种数据则是通过设置通信接口模块内的参数实现。
控制命令分为两种,即周期性命令和非周期性命令。周期性命令在周期性的定时信号的控制下发送到各个设备,如周期性命令由于某些原因在下一周期到来之前没有发送,则旧命令就会被清除掉。非周期性命令任何时间都可以发送,与定时信号无关。非周期命令发送次数较少,但较重要,一般为初始化命令或重要参数的设置命令,不允许有丢失。
状态信息也有周期性和非周期性之分,但状态信息所要传输的数据较少、周期较长,相对于高速的光纤接口则可视为非周期数据,状态信息可以用统一的方式处理,并且各模块使用固定的优先级顺序传输。
1.2 前端受控模块接口协议
根据各模块对传输数据量及对时间准确度的要求,使用了3种接口协议:三线同步串行接口、通用异步串行接口和逻辑电平接口。
(3)逻辑电平接口。部分前端模块没有专用的通信接口,其控制接口和状态信息是按照逻辑电平信号实现的。对于控制命令,由于前端受控模块的控制接口没有锁存功能,需要在通信接口模块上对输出信号进行寄存,直到下次命令发生更改。对于逻辑电平信号输入的状态信息,由于信号电平变化较少,仅在检测到有效电平变动时通信接口模块才回传状态信息。
光纤通信协议分为物理层、数据链路层和应用层。物理层定义了传输介质和信号传输方式,物理层处理包括光电转换、串行解串和8B/10B编解码等。数据链路层定义了帧格式和数据传输规则,链路层处理包括成帧和解帧。光纤通信协议结构如图1所示。
协议使用8B/10B编码保证数据通道的直流平衡,完成时钟的恢复。同时利用8B/10B编码的控制字符作为数据帧传输的起始、结束标识,并作为传输信道的同步控制。在每一数据帧的起始位置添加帧起始控制字符,在数据帧的结束位置添加帧结束控制字符,在数据传输过程中有中断或在无数据传输的空闲时段填充同步控制字符。
控制命令和状态数据都以数据帧的方式在光纤上传输。数据帧格式如图2所示。标识字说明数据帧的性质和传输到的设备,不同的应用有不同的标识,且每个标识有唯一对应的设备,一个设备可能有多个标识字。字长为从标识到校验的长度。数据为命令或状态信息。校验字为从字长到数据的所有字节的循环冗余校验码(CRC)。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~