DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 135|回复: 0
打印 上一主题 下一主题

基于ARM和FPGA的多功能车辆总线嵌入式系统设计

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-16 18:45:20 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

                    否 在计算机、互联网和通信技术高速发展的同时,嵌入式系统开发技术也取得迅速发展,嵌入式技术应用范围的急剧扩大。本文介绍了一种基于ARM和FPGA,从软件到硬件完全自主开发多功能车辆总线(Multifunction Vehicle Bus)MVB嵌入式系统的设计和实现。

系统设计和实现

??? 通常来说,一个嵌入式系统的开发过程如下:

[ol]
  • 确定嵌入式系统的需求;

  • 设计系统的体系结构:选择处理器和相关外部设备,操作系统,开发平台以及软硬件的分割和总体系统集成;

  • 详细的软硬件设计和RTL代码、软件代码开发;

  • 软硬件的联调和集成;

  • 系统的测试。[/ol]
    一、步骤1:确定系统的需求:

      嵌入式系统的典型特征是面向用户、面向产品、面向应用的,市场应用是嵌入式系统开发的导向和前提。一个嵌入式系统的设计取决于系统的需求。

    1、MVB总线简介

      列车通信网(Train Communication Network,简称TCN)是一个集整列列车内部测控任务和信息处理任务于一体的列车数据通讯的IEC国际标准(IEC-61375-1), 它包括两种总线类型绞线式列车总线(WTB)和多功能车厢总线(MVB)。
      TCN 在列车控制系统中的地位相当与CAN总线在汽车电子中的地位。多功能车辆总线MVB是用于在列车上设备之间传送和交换数据的标准通信介质。附加在总线上的设备可能在功能、大小、性能上互不相同,但是它们都和MVB总线相连,通过MVB总线来交换信息,形成一个完整的通信网络。在MVB系统中,根据IEC- 61375-1列车通信网标准, MVB总线有如下的一些特点:

      拓扑结构:MVB总线的结构遵循OSI模式,吸取了ISO的标准。支持最多4095个设备,由一个中心总线管理器控制。简单的传感器和智能站共存于同一总线上。

      数据类型:MVB总线支持三种数据类型:

      a.过程数据:过程变量表示列车的状态,如速度、电机电流、操作员的命令。过程变量的值叫过程数据。它们的传输时间是确定的和有界的。为保证这一延迟时间,这些数据被周期性地传送。

      b.消息数据:消息被分成小的包,这些包分别被编号并由目的站确认。消息包及与之相关的控制数据形成消息数据。消息数据以命令方式传输。功能消息被应用层所使用;服务消息用于列车通信系统自身的管理等。

      c.监视数据:是短的帧,主设备用它作同一总线内设备的状态校验、联机设备的检测、主权传输、列车初运行和其它管理功能。

      介质访问形式:MVB总线支持RS485铜介质和光纤。其物理层的数据格式为1.5Mbps串行曼彻斯特编码数据。

      ?MVB的介质访问是由总线管理器BA进行管理的,总线管理器BA是唯一的总线主设备,所有其它设备都是从设备。主设备按照某种预定的顺序对端口进行周期性轮询,在周期的间隔中,主设备转而处理偶发性请求。

      可靠性措施:MVB容错措施包括

      发送的完整性:链路层有扩充的检错机制,该机制提供的汉明码距为8,可检测位、帧和同步错误。
      故障的独立性:通常对铜介质进行完全双份配置,以确保设备故障的独立性。
      发送的可用性:可用性可以通过介质冗余、电源冗余、管理器冗余等措施得以提高。

    2、MVB系统的基本需求如下:
    a. 完全与IEC-61375-1(TCN) 国际标准兼容,支持MVB总线定义的三种数据类型过程数据,消息数据,监视数据。
    b. 系统可配置成为:

    i. 总线管理器(BA)功能

    ii. 总线管理器(BA)功能和通信功能

    iii. 独立的通信功能
    c. 采用ARM7tdMI的处理器
    d. 采用实时操作系统
    e. 供TCN的实时协议栈协议(RTP)
    f. 支持 4096 逻辑端口的过程数据
    g. 支持与上位PC104主机的双口RAM接口
    h. 输入电压5V
    i. 工作环境温度:-40℃?75℃

    3、其他需求
      多功能车辆总线MVB系统与用户的列车控制系统同步设计,有着严格的时间限制。

    二、步骤2:设计系统的体系结构,协同分配硬件/软件方面的要求
      嵌入式系统包含硬件和软件两部分:硬件架构上以嵌入式处理器为中心,配置存储器、I/O设备、通信模块等必要的外设;软件部分以软件开发平台为核心,向上提供应用编程接口(API),向下屏蔽具体硬件特性的板级支持包BSP。嵌入式系统中,软件和硬件紧密配合,协调工作,共同完成系统预定的功能。根据OSI的七层模型可以确定链路层和物理层由硬件实现,其他各层由软件实现,如图1。





    图2:MVB系统的硬件架构。





    图3:MVB系统的软件架构。

      其中,处理器和 MVBC通过Traffic Memory(TM)进行通讯数据交换,所有软件和MVBC要交换的控制信息和数据都可以在TM地址空间中找到,这个地址空间对处理器和MVBC都是可访问的。其示意图4如下





    图5:MVB控制器的框图。(点击放大该图)

    ?
    ?
    ?
    ?
    ?
    ?
    ?
    ?
    如图所示,MVB控制器包含以下功能模块:


    • 编码器:产生曼彻斯特编码,传送数据帧

    • 发送缓冲区:作为要发送的数据和CRC检测值的缓冲区

    • 译码器:接收、曼彻斯特译码,数据提取、数据错误检测

    • 接收缓冲区:作为接收端数据和CRC结果的缓冲区

    • 报文分析单元:检测主帧和从帧超时,帧误检测、错误状态报告

    • 状态控制寄存器:MVBC配置

    • 主控单元:支持MVBC作为主设备或者从设备工作,支持队列消息传送

    • 设备地址读取和储存单元:硬件定义的设备地址可以被不同的值覆盖

    • 地址逻辑:把CPU对MVBC内部寄存器进行访问的输入地址进行解析;产生MVBC访问TM的输出地址

    • 总线复用、转换单元:处理MVBC内部的数据传送

    • 中断逻辑:支持16种中断源;

    • 通用定时器:两个定时输出信号,可提供给系统同步使用

    • 时钟产生电路:产生所有MVBC工作的时钟和计数器
    2、软件设计
      由于在MVB系统中,过程数据,消息数据,监视数据是三种不同的通讯机制,因此,MVB系统软件的模块设计如图6。





    图7:过程数据通讯示例。


    ?
    ?
    ?
    ?
      对于接收方,其接收过程与发送方相逆,接收方的MVBC硬件接收总线管理器BA定时发出的主帧,通过译码器解码得到相应的逻辑端口的值,通过查询Traffic Memory相关的逻辑端口接收设置后将MVBC自动设置为接收状态将,在收到发送方发出的从帧后更新相应逻辑端口在Traffic Memory的数据并发出中断信号从而完成硬件的接收过程。接收方的软件可以用中断或定时查询的方式通过过程数据处理模块得到更新后的逻辑端口的过程数据

    五、系统的测试

      在本系统中,系统的测试即包括了软件的测试,也包括了硬件,FGPA的测试,在本文中不再赘述。

    结束语

      上述的MVB系统现已运行在列车控制系统中,成功实现对列车的运行控制、机车控制、车辆控制、状态监测、故障诊断。当然,如有需要,本文中的MVB系统可以转化成为ASIC设计,从而成为一个SOC的嵌入式系统。(周缵)
                
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
    收藏收藏 分享分享 支持支持 反对反对
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

    GMT+8, 2025-12-28 05:12 , 耗时 0.087920 秒, 19 个查询请求 , Gzip 开启.

    各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

    桂公网安备 45031202000115号

    DIY编程器群(超员):41210778 DIY编程器

    DIY编程器群1(满员):3044634 DIY编程器1

    diy编程器群2:551025008 diy编程器群2

    QQ:28000622;Email:libyoufer@sina.com

    本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

    快速回复 返回顶部 返回列表