基于ARM7的MVB_CAN网关设计

发布者:RainbowPromise最新更新时间:2011-05-28 关键字:MVB  CAN  MVB-CAN网关 手机看文章 扫描二维码
随时随地手机看文章
0 引言
    随着网络技术和控制技术的发展,机车信息化控制技术向着更高的方向发展。为此,IEC制定出新的列车通信网路国际标准TCN(机车通信
网络),以满足列车微机控制系统中对车载数据通信网提出的新要求。
    按照TCN标准,列车通信网可分为两级:第一级是WTB绞线式列车总线(Wired Train Bus),可实现车辆间的数据通信;第二级是MVB(Mul-
tifunction Vehicle bus)多功能车辆总线,主要实现同一个车辆内各个功能控制单元之间的数据通信。
    多功能车辆总线(MVB)是主要用于有互操作性和互换性要求的互连设备之间进行串行数据通信的一种总线,MVB以其高实时性、高可靠性及可管理性等多方面的优势而广泛的应用在列车总线控制当中。
    控制器局部网(CAN-CONTROLLER AREANETWORK)是BOSCH公司为现代汽车应用推出的一种多主机局部网。由于该网的卓越性能,现已广泛应用于工业自动化、多种控制设备、交通工具、医疗仪器以及建筑、环境控制等众多领域。
    对于现在的机车总线通信,MVB总线主要应用在单台机车内的车载设备间的通讯,而CAN总线则用于车载设备内部模块间的数据通讯。因
此,实现CAN总线与MVB总线之间的通信就成为工程实践中一个必须解决的问题。

1 报文
1.1 CAN报文
    CAN报文主要包括数据帧、远程帧、出错帧、超载帧等四种帧。
    在总线中传送的报文,每帧一般由7部分组成。CAN协议支持两种报文格式,它们之间唯一的不同是标识符(ID)长度不同。它们的标准格
式为11位,扩展格式为29位。
    在标准格式中,报文的起始位通常也称为帧起始(SOF),之后,一般是由11位标识符和远程发送请求位(RTR)组成的仲裁场。RTR位用于标明是数据帧还是请求帧,请求帧中没有数据字节。控制场的包括的标识符扩展位(IDE)用于指出是标准格式还是扩展格式。此外,它还包括一个保留位,以便为将来扩展使用。它的最后四个字节用来指明数据场中数据的长度(DLC)。数据场范围为0~8个字节,其后有一个检测数据错误的循环冗余检查(CRC)。CAN的标准帧格式如图1所示。

a.JPG


    应答场通常(ACK)包括应答位和应答分隔符。发送站发送的这两位均为隐性电平(逻辑1),这时,正确接收报文的接收站会发送主控电平(逻辑0)覆盖它。用这种方法,发送站可以保证网络中至少有一个站能正确接收到报文。报文的尾部应由帧结束标出。在相邻的两条报文间有一很短的间隔位,如果这时没有站进行总线存取,则总线将处于空闲状态。
1.2 MVB报文
    MVB报文主要包括两种帧:主帧和从帧。其中主帧只能由总线主设备发送,而从帧则为响应主帧而由从设备发送。
    主帧应传送16位数据字,发送的数据字的第一位应为它的最高有效位,用bit0来表示,其内容为16位字中的最高前四位,应为FCODE。次有效的后12位用于表示Focde所指定的地址或参数。因此,主帧有固定的格式,为34 bit(9 bit主帧分界符+16 bit数据位+8 bit校验位+1bit终止分界符)。一个主帧应以主起始分界符开始,其后为16位帧数据,接着为8位校验序列。MVB的主帧格式如图2所示。

2.jpg


    一个从帧应以从帧起始分界符开始,接着为16、32、64、128或256位帧数据,在每64个数据位后还包含一个8位的校验序列或当帧数据只有16或32位时将一个8位的校验序列附在其后,其MVB的从帧格式如图3所示。[page]

2 CAN总线与MVB总线协议转换
    CAN总线和MVB总线都属于现场总线范畴,因此,它们都有自己的网络分层结构。对于大多数现场总线,它们都包括物理层,数据链路层和应用层。
    MVB有过程数据和消息数据之分。基于过程数据的网络分层是三层(物理层、数据链路层、应用层),而基于消息数据的网络分层则有7层。由于消息数据比较复杂且应用场合较少,因此,本文只讨论过程数据。但实际上,有时也可以将MVB视为一个三层协议的网络。
    CAN网络分层结构按照CAN总线协议来说,就只有两层即物理层和数据链路层。但是涉及到具体的应用,它实际上也包括应用层。
    为了实现两种总线问的协议转换,通常需要首先对他们的帧格式进行转换,其主要原因是帧字节数大小不同,而帧的编码解码部分是由网卡硬件完成的;其次是对应用层的转换,即通过一定的形式将CAN总线中表示过11位标志符的数据含义和MVB总线中过程变量的数据集对应起来,以实现数据之间的传输。

3 MVB-CAN网关的硬件实现
    为了设计方便,本设计的CAN侧采用三星公司生产的S3C4480微控制器,MVB侧则采用MVBC01 ASIC专用芯片。
    MVB通信控制器选用的MVBC01 ASIC专用芯片采用的是16 bit数据总线,该芯片同时可提供丰富的接口控制信号(如RDY、TMRDY等待信号),因此,可用于简化与各种宿主CPU以及通信存储器的接口设计。此外,MVBC01还内嵌有完整的MVB1类设备协议,其中,MVB物理层接口采用电气短距离介质ESD+接口,系统信号通道则使用光耦来实现主系统与外界的电隔离,从而提高了系统的可靠性。另外,系统还使用RS 485芯片作为收发器,并使用过压保护模块来防止瞬间过压对器件造成的损坏。MVB侧的接口单元如图4所示。

c.JPG


    MVBC01端口ICA (MVB Input Data ChannelA)和ICB(MVB Input Data Channel B)分别为MVB输入数据通道A和输入数据通道B,来自物理层收发器的MVB信号可由此端口送入MVBC01中。MVBC01的端口OC (MVB Output Data Channel)是MVB的数据输出端口,数据经此端口可发送至物理层收发器。MVBC端口SF(Send Frame)的输出信号可作为物理层的使能信号,该信号有效时,表示一个报文正在通过MVBC端口OC(MVB Output Data Channel)输出。
    本系统CAN侧采用的是三星公司生产的S3C44BOX微控制器,S3C44BOX是韩国三星公司推出的一款基于ARM7TDMI核的16/32位RISC高性价比、低功耗的嵌入式微处理器。该芯片的片上资源非常丰富,因为它本身带有可满足CAN2.0B协议的CAN控制器,故可省去CAN控制器和单片机之间的硬件连接。
    CAN收发器采用PHILIPS公司的PCA82C250。主要提供对总线的差动发送能力和对CAN控制器的差动接收能力。当微处理器对CAN控制器进行
相应配置后,收发器即可自动完成相应的CAN总线动作。
    MVBC01的引脚f.jpg除在MVBC01复位时作为复位完成信号外,还可作为MVBC01接收到网络数据时的通知信号。它的状态通过s3c44b0x的g.jpg传送给S3C44BOX。S3C44BOX轮询检测g.jpg,若检测到跳变发生且MVBC01判断此信号为网络控制数据接收事件,则通过I2C接口读取MVBC01的数据。MVBC01的复位可通过微控制器的PA0端口触发。当MVBC01复位完成后,再通过/INT通知微控制器。MVBC01的控制口配置成串行方式的I2C接口,S3C44BOX通过该接口对MVBC01的寄存器进行初始化和其它控制操作。其网关硬件连接图如图5所示。

d.JPG



4 软件实现
    由于MVB-CAN网关两侧连接的是两个现场总线,因此,它们实际的工作就是通过对信息的重新封装以使MVB总线和CAN总线能够读取和传
输。
     由于CAN数据帧包含8个字节的数据,而MVB从帧最多包含256个字节的数据,因此,从CAN侧接收到的数据要通过MVB传输,就需要按照一定的格式把CAN帧中的数据组合成MVB帧的数据格式;同样,从MVB侧接收到的数据要通过CAN传输,也需要按照一定的格式对MVB帧中的数据进行分帧处理。另外,为了实现透明传输,还需要把MVB侧的过程数据的数据集与CAN侧11位标志符对应起来。
    本文采用的方案是建立一种规范的方式来定义MVB端的MVB各种变量的含义,如所在端的端口地址、长度、以及变量在数据集中的偏移量
等。而后再将这些信息按照一定的规则和CAN总线侧的帧的标识符等信息对应成一个表格,这样,在CAN侧的数据接收就可以借助这个表格来
完成。这样做的优点在于把一些必要的信息(位偏移、长度等)按照约定的形式来实现共享,因而不再需要在数据集中分出空间来传输一些(包
括长度和偏移等)信息。本文把表格定义为应用层转换表(inbus-to-outbus或者out-to-inhus)。这里的端口指的是一种既可以被总线访问,又可以被应用处理器访问的存储器,它在MVB中是用来寻址的,数据的发送是通过应用将数据放入端口,数据的接收则是从端口中取数据放到应用中去。至于端口与端口间的数据拷贝,则是通过主轮询方式来实现的。当主节点轮询到需要发送数据的端口(源端口)时,便会产生从源端口到宿端口(数据接收端口)的数据拷贝。数据集在MVB中其实就是一般的纯数据,之所以称它为集,主要是因为MVB中一帧的数据较长,通常我们把多个变量的信息放在一个集中(一个帧中1来传输,这样做较为经济。[page]

    本系统的软件模块主要有CAN模块、MVB控制模块、总任务处理模块、以及数据缓冲模块。其中CAN控制模块主要负责从CAN数据包中解析
出完整的CAN协议报文,并存入数据缓冲区2,同时将数据缓冲区A中的CAN数据封装成完整的CAN协议报文后发送到CAN总线上;MVB控制模块主要负责从MVB数据包中解析出完整的MVB协议报文,并将其存人数据缓冲区1,同时再将数据缓冲NB中的MVB数据封装成完整的MVB协议报文后发送到MVB上;总任务处理模块主要起综合调度和监控作用,同时,它还用于整个传输过程中的中断响应;缓冲区模块主要负责将CAN侧和MVB侧接收的数据存储到缓冲区中。
    网关程序的整体设计思路是当CAN侧数据发往MVB侧时,首先使CAN侧检测到有数据传过来,总处理模块通过调用CAN模块处理函数来接收数据,并通过对CAN帧的解码来获取CAN标志符,然后调用应用层转换表(inbus-to-outbus)以查询出相应的MVB端口的相关变量,接着再把相
应的数据发送到数据缓冲区2中,最后由总任务处理模块通知MVB控制模块将缓冲区2中数据取走,并对数据进行MVB帧格式的编码,再发送到
MVB总线上后释放缓冲区。
    同样,当MVB侧数据发往CAN侧时,首先将数据发送到MVB上,然后由总任务处理模块检测MVB上是否有数据传输,并通知MVB控制模块接收数据,同时对信息进行解码分析,从中获取端口相关变量,依据端口相关变量查询应用层转换表(out-to-inbus),找出对应CAN标识符,同时将数据发送到数据缓冲区1。此时,总任务处理模块可通过CAN控制模块从缓冲区1中提取数据并进行完整的CAN报文封装,再发送到CAN总线上并释放缓冲区A。其中,MVB侧发往CAN侧的主程序流程如图6所示。

e.JPG



5 结束语
    本文主要介绍了MVB-CAN网关的硬件和软件实现方法。其中,应用层协议的转换是整个网关的主要工作所在,所以,设计时必须建立尽量完善的关系对应列表,同时应提供友好的用户接口函数。
    通过MVB-CAN网关的设计可以实现机车内车载设备间不同接口单元之间的通讯,从而为列车通信网络的多元化发展提供有力的支持。

关键字:MVB  CAN  MVB-CAN网关 引用地址:基于ARM7的MVB_CAN网关设计

上一篇:基于ARM7的工业控制数据采集系统的研究
下一篇:FreeARM7 IP核的微处理器逻辑扩展与验证

推荐阅读最新更新时间:2024-03-16 12:36

总线技术及CAN总线技术简介
  一、现场总线技术简介   1.什么是现场总线   现场总线是20世纪90年代发展形成的,用于过程自动化、制造自动化、楼宇自动化、家庭自动化等领域的现场设备互连的通信网络,是现场通信网络与控制系统的集成。   2.现场总线的特点   1)现场总线的结构特点   与传统的控制系统在设备之间采用一对一的连线,测量变送器、控制器、执行器、开关、电机之间均为一对一的物理连接,而在现场总线系统中,个现场设备粉笔作为总线上的一个网络节点,设备之间采用网络式连接是现场总线系统在结构上最显着的特征之一。在两根普通导线制成的双绞线上,挂着几个、十几个自控设备。总线在传输多个设备的多宗信号,如运行参数、设备状态、故障、调校与维护
[嵌入式]
基于CAN总线的仿人机器人力信息检测系统
  随着信息检测技术和控制技术的发展,仿人机器人运动控制已经从传统的离线规划方法研究转向基于环境信息的实时控制研究,仿人机器人的实时姿态调整与实时步态生成方法也成为运动控制的研究重点。对于步行机器人而言,其脚掌所受到的地面反力信息是最重要的外部环境信息之一,它尤其能够反映仿人机器人的姿态信息,在仿人机器人的实时姿态调整中具有重要作用。早在1989年,日本早稻田大学就在他们研制的两足步行机器人WL-12RⅢ中应用了六维力/力矩传感器,该传感器安装在机器人的小腿上,机器人可根据反馈力信息在不平整地面上进行稳定行走;日本HONDA公司的仿人机器人P2,P3以及ASIMO 均安装了集成六维力/力矩传感器,利用传感器信息检测地面反力信息。
[嵌入式]
一种基于CAN总线与以太网的嵌入式网关经典设计
  近年来,随着以太网技术的进一步发展和完善,特别是通信速率的提高和交互技术的应用,使得以太网技术应用于现场控制领域成为可能,这对 工业控制 网络产生了新的影响。从目前的趋势来看,以太网己经进入了现场控制级,但是已有的现场总线仍将继续存在,工业以太网只能占领一定的市场。   从现实来看,以太网扩展了现有的系统,但是现场总线不可能完全被工业以太网替代,后者的潜力巨大,其应用领域一定会不断扩大。所以,将现场总线与以太网结合,从而实现底层生产与上层管理的紧密集成,已经成为一种趋势。CAN总线作为国际上应用最广泛的现场总线之一,在我国也得到了很广泛的应用,该设计以 CAN总线作为工业现场总线,实现其与以太网的互联。   1 硬件结构  
[单片机]
一种基于<font color='red'>CAN</font>总线与以太网的嵌入式<font color='red'>网关</font>经典设计
Loto实践干货(3) 测量CAN总线通讯数据
最近在做运动控制卡的项目,调试样机的过程中,需要验证CAN总线通讯功能的正确性。以前只限于理论上认识CAN总线,使用的CANbus的通讯卡也是有上位机例程,基本上简单地配置上位机软件就可以正常工作了。这次调试需要深入测试CAN接口的通讯过程,正好把之前的对CAN的认识再复习深化一下。 之相对远的距离,在工业现场抗干扰能力也很强。下图是我按照CAN总线的要求做的一条双绞线,黄色和绿色分别是CAN_High线和CAN_Low线。要求绞距20mm,不绞合的距离不超过50mm。所以采用CAN总线,是因为它只需要两根双绞线就可以连接多个通讯节点,并且可以传输 规定的双绞线传输距离与CAN总线的传输速率的关系如下表。我们的传输距离很短
[测试测量]
Loto实践干货(3) 测量<font color='red'>CAN</font>总线通讯数据
基于CAN总线的单片机与数字信号处理器通信系统设计
0 引 言 众所周知,虽然目前8位单片机正逐渐被速度高,性能强的16位或32位微处理器所取代,但8位单片机仍以其低廉的价格、丰富的外围芯片以及众多的多功能产品而在低端应用市场占据主流地位。数字信号处理器(Digital Signal Processor,DSP)作为一种具有高速数字信号处理能力的新型单片机,在通信、自动控制、航天航空、军事、医疗等领域广泛应用。在比较复杂的测控系统中,如微机电动机保护装置,要求在毫秒级的短时间内对电动机实现实时保护和测量,所以对装置硬件系统的实时数据处理能力要求较高,而传统的基于单 CPU微处理器的方案己经难以胜任。因此,这里采用数字信号处理器与单片机构成的双CPU结构。由数字信号处理器完成多
[单片机]
基于<font color='red'>CAN</font>总线的单片机与数字信号处理器通信系统设计
面向汽车市场CAN/Ethernet用共模扼流圈的噪声对策事例
1.背景 近年来汽车市场的电子化日趋明显,今后随着新能源汽车的普及,ADAS等附加功能会越来越丰富,每台汽车中搭载的电子设备的数量也会相应增加,并且电子设备的种类也会越来越多样化。 在汽车的电子化进程中,为了实现车内电子设备间的通信,车载LAN的搭载变成了必不可少的存在。由于车载LAN可以进行大量的信息传输,因此它在高速通信方面不可或缺,而且由于对高可靠性的通信品质的需求,因此会使用大量的独特的车载接口。在车载LAN中,特别大范围普及使用的是CAN(控制器区域网络)。CAN的传输速度最大可达到1Mbps,它通过差分方式跟总线连接。CAN的总线上面可以连接多个节点,实现了1个对多的通信网的结构。由于CAN这种高可靠性的控制方式
[嵌入式]
USBCAN-II和USBCAN-2E-U的区别及互换方法
摘要:ZLG的USBCAN卡型号众多,只有选型精准合适,才能发挥CAN的最佳性能。本文主要介绍USBCAN-I/II和USBCAN-E/2E-U两个系列的区别,方便用户选型和软件二次开发。 本文主要介绍USBCAN-I/II和USBCAN-E/2E-U两个系列的区别,方便客户选型和软件的二次开发。 图 1 USBCAN-II实物图 图 2 USBCAN-2E-U实物图 硬件及收发性能主要区别: 软件升级步骤: 两个系列的CAN 接口卡均采用同一套接口函数库,如果想从USBCAN-II的代码升级到USBCAN-2E-U,只需按以下三个步骤操作。 安
[网络通信]
USB<font color='red'>CAN</font>-II和USB<font color='red'>CAN</font>-2E-U的区别及互换方法
基于CAN总线的数据采集人机界面设计
  0 引言   目前在铁路机车内,模拟表盘大量存在,它给铁路运输的安全管理造成了相当大的不便。使用模拟表盘有以下缺点:第一,没有数据存储功能,如果发生事故,就很难得到事故发生时的确切信息;第二,需要大量布线、安装不便。如果在原模拟系统中添加设备,则需要重新布线;第三,不能利用成熟的基于数字信号的现代信息处理技术。对火车机车监控系统而言,数据测量和传输的快速性、准确性、可靠性、存储性、通讯的灵活性都是至关重要的。有必要将机车内的模拟表数字化和智能化,在此基础上利用现场总线技术构成测控网络,完成对机车内重要数据及时的采集、传输、存储、显示、报警。   本铁路机车数据平台采用了CAN总线技术。选用CAN总线是基于可靠性方面的考虑。
[测试测量]
基于<font color='red'>CAN</font>总线的数据采集人机界面设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved