新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > MVBC的帧收发器设计

MVBC的帧收发器设计

作者:时间:2013-02-17来源:网络收藏


3.3 总线接口模块的设计实现

总线接口模块包括上述的Encoder、Decoder。

3.3.1 Encoder

Encoder模块主要有以下功能:

(1)构建帧头帧尾;
(2)按照传输层指示进行CRC校验;
(3)对数据进行曼彻斯特编码;
(4)实现主、从帧的发送;

在Class 1 mode以及其它Class mode下,Encoder分别由Class1模块和MCU控制。

如果当前配置允许发送,且控制模块告诉Encoder有帧要发送,以及帧类型、帧长度,则Encoder先将配置好的帧头发送,然后将帧数据、产生的CRC校验码移位后经曼彻斯特编码输出,最后发送帧尾,这样完成主、从帧的发送。电路实现如图3-6所示:

3.3.2 Decoder

MVB总线采用冗余介质,因此MVBC需要冗余的接收模块来完成帧的接收。

(1)两个Decoder根据选择各自完成信号检测(信任线)或冗余检测(冗余线)功能,完成各自帧数据的起始位判定、数据采样、数据解码和数据移位功能;
(2)Decoder从信任线上接收数据,并监视冗余线;
(3)判断帧类型,从帧中提取数据和校验序列(非CRC校验,可选)并存入RXBuffer中;
(4)实现CRC校验,并报告接收状态。

初始化时ICA,ICB分别置为信任线和冗余线(LAA=1),如果信任线超时、寂静,或用户强制,则信任线与监视线互相交换。接收帧的同时,ICA、ICB两个线路上的Decoder将是否接到帧、何种帧类型、接收是否完成、结果对错等信息告诉线路控制模块,该模块将这些信息与哪一个BUFFER有效上报至上层模块进行报文分析。Decoder线路控制图如图3-8:

4、 总线接口模块的验证

验证的思想是通过不同的控制信号,来模拟不同的工作环境下,帧的收发正确性:曼彻斯特编码、帧头、帧尾以及帧数据、帧类型、CRC码的正确性。验证实现结构如图4-1所示:

控制模块将一帧数据写入Txbuffer,并控制Encoder开始发送,此时Encoder发送的帧被Decoder接收;控制模块同时监控Encoder、Decoder的状态,当接收完成后,控制模块将解收到的数据从Rxbuffer读出,从Decoder的接收状态来验证帧的属性:帧是否有效、帧类型、帧长度,并从读出的数据来验证数据的正确性。

5、 结束语

MVB总线伴随着下一代列车通信系统的广泛应用将被普遍采用,同时MVBC也将具有巨大的市场前景。本文主要介绍MVBC与MVB总线接口部分的帧收发器模块的算法分析、设计实现及验证方案。通过作者近期对该模块进行的FPGA验证,充分论证了该设计工作和验证方案的可行性。(end)
linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭