0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于SOPC的MVB收发控制器IP核实现MVB网卡的设计

电子设计 来源:电子产品世界 作者:刘文清 , 王永翔 2020-04-18 08:08 次阅读
国内外车载网络技术的发展是随着现场总线网络技术的发展而发展起来的,先后产生了RS485、Lonworks、WorldFIP等多种总线网络形式。1999年,国际电工委员会(IEC)颁布了IEC-61375标准,该标准中将车载网络分为两级总线的层次结构,即用于连接各节可动态编组的车辆间的绞线式列车总线WTB(WireTrainBus)和用于连接车辆(或固定编组的车辆单元)内部各种设备的多功能车辆总线MVB(MultifunctionVehicleBus),它们之间的列车总线节点起着网关的作用,其中MVB网络由于较低的要求和其易用性高的特点,在实际中运用很广泛。本文通过深入研究几种列车通信网络产品底层协议,特别是TCN的底层协议及关键技术,基于SOPC的设计思想,设计出符合IEC-61375标准的MVB总线访问IP(IntellectualProperty)内核和网卡。

系统体系结构

本设计正是基于SOPC的思想,开发实现自主知识产权的MVB收发控制器IP核,借助于QuartersII开发工具,集成至AlteraFPGA器件内部,构建SOC片上系统实现MVB网卡基本功能,相比传统国外的MVB网卡,大大简化了系统的结构,降低了开发难度。

传统MVB网卡的硬件结构比较复杂,设计实现上有较大的难度。如图1所示,是Duagon公司的一款典型的MVB网卡d113的硬件结构。其硬件主要有以下几个部分构成:中央控制器采用高性能的32位ARM处理器,存储系统由非易失性程序存储器(ROM)Flash,以及数据存储器RAM组成,可编程器件上实现MVB收发器以及外部PC/104总线接口。

基于SOPC的MVB收发控制器IP核实现MVB网卡的设计

图1 d113硬件框图

本设计在一片FPGA上,采用SOPC技术实现的MVB网卡:由Altera公司提供的32位高性能软核处理器NiosII取代ARM处理器,ROM,RAM及TrafficMemory均可以在FPGA片内由SOPCBuilder工具实现,再集成MVB总线访问IP核便可以构成MVB网卡,实现了真正的片上系统。其硬件框图如图2所示。

图2 网卡结构框图

总线访问IP核的实现

总线访问IP核是实现WTB和MVB的总线访问处理器(BAP)的核心内容。由此IP核结合物理层的总线收发器完成总线访问。总线访问IP核可分为物理层、数据链路层与应用层的接口三大部分。1)在物理层实现基带曼彻斯特Biphase-L编解码,介质冗余处理,介质安装单元接口;用于输入解码的数字锁相环的设计。2)链路层包括寻址方式,F-code(功能代码)的生成,主从设备帧内容的填充,介质访问控制(MAC)等。3)与应用层的接口通常采用共享存储器的方法,需要完成端口的定义与维护,通信存储器的控制等。其逻辑框图如图3。

图3 网卡结构框图

MVB帧结构

在MVB中有两种帧格式,一种是只能由总线主设备发送的主设备帧,简称主帧,一种是为响应主帧而由从设备发送的从设备帧,简称从帧。一个帧以9位定界符开始,主设备帧分界符和从设备帧分界符对防止同步失败是不相同的。

MVB编码器

MVB总线数据以帧为基本单位,数据帧采用了曼彻斯特码传输,编码和解码器不只是进行曼彻斯特编解码,帧头帧尾的特殊编解码也需要在这里进行,采用传统的曼彻斯特编解码器将无法完成此项工作。在本设计中,采用了结合收发器的状态机具体状态进行编解码的设计方法解决这一问题。MVB帧发送器通过控制逻辑模块调用曼彻斯特编码与CRC校验模块、通信存储单元模块完成缓冲区数据的发送。

MVB帧接收器

接收器实现的关键是有效数据帧的识别,实现思路类似于发送器,根据编码校验可以实现。另一个问题是与总线的接口方式,该设计采用了8位并行数据宽度输出,加序号标识的方法可以接收任意给定长度的有效数据。

数据校验

帧数据用一个或更多的8位校验序列来保护,数据的内容应处理成64位的代码字(对小一些的数据用16或32位),不包括起始分界符和终止分界符。这个代码字和随后的校验序列应作为最高有效的数据位首先发送。

校验序列按被其保护的16,32或64位数据的循环冗余校验(CRC)计算。校验序列按多项式计算,7位运算结果用一个偶校验位进行扩展。所有的8位数据取反发送。

通信存储单元模块

通信存储器(TrafficStore)作为MVB标准中的一个重要实现手段,是MVB接口网卡中的重要组成部分。通信存储器容量的大小依据具体应用而定。在MVB网络中通常所需要的通信存储器容量为32或64个端口即可,每个端口需要占用的空间最大为256位,这样通信存储器所需要的空间为8kbits或16kbits。开辟FPGA中的DRAM作为通信存储单元,完成数据交互功能。用来存储经由MVB总线传输的数据,是控制逻辑模块与编码校验单元之间的共享单元。控制逻辑模块依据通信存储模块端口地址的起始地址,以及其数据长度,来读取相应的过程数据和消息数据等。

Avolon总线接口设计

MVB总线处理IP核与NiosII的接口设计的实现是通过TrafficStore(共享RAM)来实现的。使用QuartersⅡ中的MegaWizard?plug-inManager工具来产生一个双口RAM模块,其设置如表1所示。

该通信存储器与NiosII处理器通过Avalon总线接口。

SOPC片上系统MVB网卡的实现

总线访问IP核与NiosII的系统集成

利用QuartersII的SOPCBuilder工具我们集成了NiosII软核处理器、4k的片内RAM、MVB总线访问IP核(包括编码器和解码器)以及LCD控制模块,构成了一个能实现MVB一类网卡功能的片上系统。

软件设计

基于以上所述的SOPC系统,我们设计了一个基本的MVB节点以实现过程数据传输。本节点将0x14地址设置为源端口,当主帧轮询0x14地址时,本节点将此端口里的数据打包成从帧发送到总线上面,以刷新0x14地址的宿端口。

altera_avalon_mvb.h的设计,包括总线访问IP核寄存器读写的宏定义。

#defineIORD_ALTERA_AVALON_MVB_SENDREG(base)IORD(base,0)

#defineIOWR_ALTERA_AVALON_MVB_SENDREG(base,data)IOWR(base,0,data)

在主函数里置MVB总线接收允许位,循环等待接收MVB主控制器发过来的主帧。节点在接收到主帧之后,程序进入中断处理程序。在中断程序里提取接收到的主帧里的端口地址,并与自身预设的端口地址码进行比较,如果地址码相符,则节点将本端口的数据通过MVB发送器发到总线上,实现端口数据刷新操作。

仿真及实现

仿真波形

在本实验中,对实验室设计的MVB板卡进行了功能仿真和FPGA验证,通过对过程数据的发送与接收验证了所搭建的MVB系统。

实测波形

在编好程序后,再编译一遍QuartersII工程文件,将得到的.pof文件下载至FPGA内,上电后用示波器测输出管脚,便可观察到MVB帧波形。对照IEC-61375协议标准,可以判断出该波形为符合标准的正确波形,并且源端口节点上收到了正确的数据,从而证明该过程数据端口的成功刷新。

结语

目前国内的列车网络及控制技术是在技术引进的基础上发展起来的,国外厂商只愿提供产品而不转让关键技术。由于难以单独购买网络专用芯片等种种原因,目前仍是直接采用国外产品,或用国外(设计)的网卡(万元以上的高价)等进行系统集成,以此构成列车通信网络(即国产化)。本论文围绕MVB总线底层协议展开研究,基于SOPC设计思想,对利用FPGA实现IEC61375协议进行了尝试,初步完成了MVB网络I类板卡的设计。目前,对该网络协议的实现方面还仅限于初期阶段,只实现了MVB总线基本的过程数据的收发。该系统的后续还需加入消息监督数据等的通信。在实际的节点应用中,也可能出现各种各样的问题需要加以改进。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    16198

    浏览量

    177398
  • 总线
    +关注

    关注

    10

    文章

    2866

    浏览量

    87984
  • IP核
    +关注

    关注

    4

    文章

    326

    浏览量

    49428
收藏 人收藏

    评论

    相关推荐

    MVB总线接口技术

    有人做过MVB通信吗,跪求大神指点MVB接口技术和MVB通信,本人打算在STM32上实现MVB通信
    发表于 04-10 22:30

    MVB总线访问IP内核和网卡该如何去设计?

    一种基于SOPCMVB总线访问IP内核和网卡的设计
    发表于 05-27 06:29

    寻国产MVB 和 WTB 控制芯片及解决方案

    国内有MVB 和 WTB 控制芯片和解决方案吗?
    发表于 09-01 16:04

    基于SOPC的列车通信网卡的设计

    本文介绍了MVB总线帧结构,并完成了用于网络连接的MVB总线访问IP核的设计。基于SOPC的设计思想,本文通过Quarters II软件平台的SOP
    发表于 03-28 20:55 33次下载

    MVB技术在列车PIS组网中的应用

    结合列车特殊的使用环境及相关铁路标准、通过对MVB技术进行全面分析研究,明确应用MVB技术建立列车PIS控制网络的可行性和技术优势。按照MVB技术的相关要求设计出完整的并具有创新
    发表于 04-28 10:29 84次下载
    <b class='flag-5'>MVB</b>技术在列车PIS组网中的应用

    基于SOPC的车辆息线控制器设计方案

    本文对国外传统MVB通信控制器芯片MVBC以及MVB底层通信协议进行了深入的研究,在此基础上设计了自主知识产权的MVB总线访问IP核,并利用
    发表于 08-16 17:02 1412次阅读
    基于<b class='flag-5'>SOPC</b>的车辆息线<b class='flag-5'>控制器</b>设计方案

    MVB总线协议分析仪的设计与实现

    本文通过对TCN标准的深入研究,在已有的MVB网卡设计经验基础上,开发了一种基于Windows平台的图形化MⅦ协议分析工具,弥补了现有MⅦ网络协议分析工具的不足,并最终将此工具应用到
    发表于 09-19 14:37 79次下载
    <b class='flag-5'>MVB</b>总线协议分析仪的设计与<b class='flag-5'>实现</b>

    多功能车辆总线,深扒MVB协议

    随着铁路的快速发展,多功能车辆总线(MVB)协议作为列车通信网络(TCN)的重要组成部分,其已经成为高速电力列车控制系统的关键技术,可用于列车状态检测、故障诊断以及车载设备开发和调试等操作。今天我们
    发表于 01-30 07:03 5.8w次阅读
    多功能车辆总线,深扒<b class='flag-5'>MVB</b>协议

    MVB三层架构的网络模型(OPNET仿真)

    MVB、ARCNET、WordFIP、LonWorks和CAN等,而MVB作为IEC61375国际标准列车通信网络之一,因其结构简单,应用广泛,实时性、安全性和可靠性高而成为研究热点。 基于此,建立了基于OPNET Modeler下的M
    发表于 01-30 11:29 9次下载

    MVB-CAN通信网关的硬件设计框图、软件设计和系统性能测试详细介绍

    基于对MVB和CAN通信协议的深入分析,从而实现一种MVB—CAN的网关设 计,有效地完成了两种协议之间的数据通信。本文着重讨论了MVB-CAN网关系统 设计的三大部分:硬件设计框
    发表于 10-11 08:00 43次下载
    <b class='flag-5'>MVB</b>-CAN通信网关的硬件设计框图、软件设计和系统性能测试详细介绍

    采用NET+50和MVBC01芯片实现MVB 2类设备系统的设计

    硬件系统设计主要包括应用处理模块、通信存储模块、通信控制器模块、存储模块、PC104接口模块、物理层接口模块等几部分的设计,其中核心模块是ARM处理
    发表于 04-23 09:04 3117次阅读
    采用NET+50和MVBC01芯片<b class='flag-5'>实现</b><b class='flag-5'>MVB</b> 2类设备系统的设计

    采用可编辑逻辑器件实现MVB总线分析结构的设计

    随着高速铁路的迅速发展以及机车车辆的现代化发展趋势,对列车总线的可靠性、安全性、通讯实时性的要求进一步提高,国内的传统的现场总线难于满足要求,而多功能车辆总线(MVB)是快速的过程控制总线,能提供
    发表于 08-12 16:58 2555次阅读
    采用可编辑逻辑器件<b class='flag-5'>实现</b><b class='flag-5'>MVB</b>总线分析结构的设计

    通用MVB从站网卡Modbus协议概述

    MVBCOM系列是广州众志诚信息科技有限公司生产的MVB转串行接口系列协议转换模块。可以将MVB的EMD接口或者ESD+接口转换为RS232、RS485(ModBus协议)。
    发表于 08-01 14:38 3459次阅读
    通用<b class='flag-5'>MVB</b>从站<b class='flag-5'>网卡</b>Modbus协议概述

    基于MVB总线的动车组网络控制的设计与实现

    电子发烧友网站提供《基于MVB总线的动车组网络控制的设计与实现.pdf》资料免费下载
    发表于 10-13 09:17 3次下载
    基于<b class='flag-5'>MVB</b>总线的动车组网络<b class='flag-5'>控制</b>的设计与<b class='flag-5'>实现</b>

    基于FGPA的MVB总线控制器的研究

    电子发烧友网站提供《基于FGPA的MVB总线控制器的研究.pdf》资料免费下载
    发表于 10-13 10:50 2次下载
    基于FGPA的<b class='flag-5'>MVB</b>总线<b class='flag-5'>控制器</b>的研究