新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于FPGA的通信接口模块的设计

基于FPGA的通信接口模块的设计

作者:时间:2012-10-10来源:网络收藏

  某新型设备分为两个相互分离的部分:射频及信号处理部分(简称“前端”)、数据处理及系统控制部分(简称“后端”),两部分之间相距较远。前端由多个模块组成,均受后端中心机的控制,并且还需向中心机传输模块状态信息。为保证两部分之间的通信并尽量简化通信线路设计,需要在前端设置模块,负责前端各模块与中心机之间的通信。文中设计了一个模块,通过光纤接口与中心机连接,实现了对前端受控模块的远程控制和状态监测。

  中心机和前端受控模块之间相距较远,而且需要传输较大的数据量。一般的485串行接口已无法满足要求,而光纤具有传输速度快、传输距离远、抗干扰能力强和重量轻等优点,在高速通信中得到了广泛应用。因此这里选择光纤作为通信介质。模块连接的受控模块众多,各模块具有不同的通信协议和接口形式,并且部分数据对通信延时的要求很高,因此适宜采用灵活性强且可以并行发送数据的来实现该模块功能。

  1 通信协议设计

  1.1 传输数据类型分析

  通信接口模块需要处理的数据分为3种:中心机发给前端受控模块的控制命令(上行数据);前端受控模块发送给中心机的状态信息(下行数据);中心机控制通信接口模块实现信息转发控制的命令。通信接口模块对前两种数据分开处理,两者之间互不干扰。后一种数据则是通过设置通信接口模块内的参数实现。

  控制命令分为两种,即周期性命令和非周期性命令。周期性命令在周期性的定时信号的控制下发送到各个设备,如周期性命令由于某些原因在下一周期到来之前没有发送,则旧命令就会被清除掉。非周期性命令任何时间都可以发送,与定时信号无关。非周期命令发送次数较少,但较重要,一般为初始化命令或重要参数的设置命令,不允许有丢失。

  状态信息也有周期性和非周期性之分,但状态信息所要传输的数据较少、周期较长,相对于高速的光纤接口则可视为非周期数据,状态信息可以用统一的方式处理,并且各模块使用固定的优先级顺序传输。

  1.2 前端受控模块接口协议

  根据各模块对传输数据量及对时间准确度的要求,使用了3种接口协议:三线同步串行接口、通用异步串行接口和逻辑电平接口。

  (1)三线同步串行接口。需要高速传输和对实时性要求较高的模块采用三线同步串行接口。三线同步串行接口包含数据、时钟、帧结束等3个信号线。相对于通用异步串行接口具有传输速度快的优点,相对于使用随路时钟方式的串行接口具有实现简单的优点。根据不同设备的控制命令字或状态信息数据长度不同,设置同步串行接口的数据发送/接收长度和有效时钟边沿个数。为保证在较高速度下的通信传输质量,三线制同步串行接口采用LVDS电平。LVDS电路是一种具有低电平电压摆幅差分信号传输结构的电路,具有工作时驱动电流恒定、低功耗、低EMI、抗噪声干扰等特点,工作频率最高可达几GHz。

  (2)通用异步串行接口。对于数据率和实时性要求不高的模块,采用通用异步串行接口。恰好大部分慢速传输数据的模块都用单片机实现控制,而单片机都有通用异步串行接口。异步串行接口较同步串行接口使用较少的连接线。只需一对双绞线就可以完成传输,并且可以进行长距离传输。同样为保证信号传输质量,通信电平采用RS485。RS485采用差分传输,具有抗干扰能力强、传输距离远的优点。

  (3)逻辑电平接口。部分前端模块没有专用的通信接口,其控制接口和状态信息是按照逻辑电平信号实现的。对于控制命令,由于前端受控模块的控制接口没有锁存功能,需要在通信接口模块上对输出信号进行寄存,直到下次命令发生更改。对于逻辑电平信号输入的状态信息,由于信号电平变化较少,仅在检测到有效电平变动时通信接口模块才回传状态信息。

  1.3 协议

  协议分为物理层、数据链路层和应用层。物理层定义了传输介质和信号传输方式,物理层处理包括光电转换、串行解串和8B/10B编解码等。数据链路层定义了帧格式和数据传输规则,链路层处理包括成帧和解帧。协议结构如图1所示。


上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭