基于ARM和FPGA的多成果车辆总线嵌入式体系计划
发布日期:2011-05-19
在谋略机、互联网和通讯技能高速生长的同时,嵌入式体系开辟技能也获取敏捷生长,嵌入式技能应用范畴的急剧扩大。本文先容了一种基于ARM和FPGA,从软件到硬件完全自主开辟多成果车辆总线(Multifunction Vehicle Bus)MVB嵌入式体系的计划和实现。
体系计划和实现
通常来说,一个嵌入式体系的开辟进程如下:
确定嵌入式体系的需求;
计划体系的体系布局:选择处理惩罚器和相干外部配置,操纵体系,开辟平台以及软硬件的支解和总体体系集成;
细致的软硬件计划和RTL代码、软件代码开辟;
软硬件的联调和集成;
体系的测试
一、步调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. 独立的通讯成果
d. 采取及时操纵体系
e. 供TCN的及时协议栈协议(RTP)
f. 支持 4096 逻辑端口的进程数据
g. 支持与上位PC104主机的双口RAM接口
h. 输入电压5V
i. 事变环境温度:-40℃?75℃
3、其他需求
多成果车辆总线MVB体系与用户的列车控制体系同步计划,有着严格的时间限定。
二、步调2:计划体系的体系布局,协同分派硬件/软件方面的请求
嵌入式体系包括硬件和软件两部分:硬件架构上以嵌入式处理惩罚器为中间,配置存储器、I/O配置、通讯模块等须要的外设;软件部分以软件开辟平台为内核,向上提提供用编程接口(API),向下屏蔽详细硬件特性的板级支持包BSP。嵌入式体系中,软件和硬件精密共同,和谐事变,共同完成体系预定的成果。根据OSI的七层模型可以确定链路层和物理层由硬件实现,其他各层由软件实现,如图1。
图1:MVB的OSI模型和MVB体系软硬件分别。
1、嵌入式操纵体系选择:
通常而言,为一个嵌入式体系选择操纵体系要思量如下几个因素:
操纵体系支持的微处理惩罚器
操纵体系的性能
操纵体系的软件组件和配置驱动步伐
操纵体系的调试东西,开辟环境、在线仿真器(ICE)、编译器、汇编器、连接器、调试器以及模仿器等等
操纵体系的标准兼容性
操纵体系的技能支持程度
操纵体系是提供源代码还是目标代码
操纵体系的容许利用环境
操纵体系的开辟者荣誉状态
根据体系的需求和以上的原则,在MVB体系中采取了Vxworks及时操纵体系,VxWorks是风河公司(Windriver)开辟的及时操纵体系之一,以其良好的可靠性、及时性及内核的可淘汰性,被遍及应用于通讯、军事、航天、航空、产业控制等关键行业范畴,其开辟环境为Tornado。
2、处理惩罚器的选择:
在为嵌入式体系选择处理惩罚器时必要思量以下几个方面:
性能:处理惩罚器必须有充足的性能实行任务和支持产品生命周期。
东西支持:支持软件创建、调试、体系集成、代码调解和优化东西对团体项目告成与否非常关键。
操纵体系支持:嵌入式体系应用必要利用有资助的抽象来淘汰其巨大性。
开辟职员已往的处理惩罚器经历:拥有处理惩罚器或处理惩罚器系列产品的开辟经历可以淘汰可观的学习新处理惩罚器、东西和技能的时间。本钱,功耗,产品上市时间,技能支持等等
在本体系的计划中,综合以上各方面的因素,思量到处理惩罚器性能,操纵体系支持以及列车上严格的产业环境等等,在MVB体系中选用了ATMEL 用于产业控制范畴的产业级的AT91系列
ARM处理惩罚器AT91M40800,它是基于
ARM7TDMI内核,内含高性能的32位RISC处理惩罚器、16位高集成度指令集、8KB片上SRAM、可编程外部总线接口(EBI)、3通道16位计数器/定时器、32个可编程I/O口、停止控制器、2个USART、可编程看门狗定时器、主时钟电路和DRAM时序控制电路,并配有高级节能电路;同时,可支持JTAG调试,主频可到达40MHz。
3、相干外部配置的选择:
在确定操纵体系和处理惩罚器之后,就可以确定相干的外部配置,如FLASH,RAM,串口等等。在MVB体系中,MVB控制器MVBC (Multifunction Vehicle Bus Controller)是一个MVB电路和实际的物理配置之间的接口控制器,它的重要成果是实现MVB总线信号与数据帧的编解码,纠错等成果,是本体系中要实现的关键的硬件模块。由于体系范围,上市时间等方面的请求,体系临时不思量ASIC实现,因此在MVB体系中用
FPGA来实现这个关键模块,
FPGA 是ASIC最机动和最合算的更换方案。思量到体系需求与
FPGA资源,本钱,供货环境等因素,终极选择了Altera公司的Cyclone系列
FPGA, 其开辟东西是Quartus II。
4、MVB体系架构
由以上的需求阐发和选型,完备的体系硬件架会商软件架构如图2图3所示
图2:MVB体系的硬件架构。
图3:MVB体系的软件架构。
此中,处理惩罚器和 MVBC通过Traffic Memory(TM)举行通讯数据互换,全部软件和MVBC要互换的控制信息和数据都可以在TM地点空间中找到,这个地点空间对处理惩罚器和MVBC都是可访问的。其表示图4如下
图4:Traffic Memory。
三、步调3:细致的软硬件计划和RTL代码、软件代码开辟
在体系架构确定的底子上,细致的软硬件计划就可以开始了。
1、硬件计划
硬件计划计划包括了MVB控制器的
FPGA计划和MVB总线体系的板级计划,此中关键的MVB控制器的计划如图5
图5:MVB控制器的框图。(点击放大该图)
如图所示,MVB控制器包括以下成果模块:
编码器:孕育产生曼彻斯特编码,发送数据帧
发送缓冲区:作为要发送的数据和CRC检测值的缓冲区
译码器:吸取、曼彻斯特译码,数据提取、数据错误检测
吸取缓冲区:作为吸取端数据和CRC结果的缓冲区
报文阐发单位:检测主帧和从帧超时,帧误检测、错误状态报告
状态控制寄存器:MVBC配置
主控单位:支持MVBC作为主配置大概从配置事变,支持行列步队消息发送
配置地点读取和保存单位:硬件定义的配置地点可以被差别的值包围
地点逻辑:把CPU对MVBC内部寄存器举行访问的输入地点举行分析;孕育产生MVBC访问TM的输出地点
总线复用、转换单位:处理惩罚MVBC内部的数据发送
停止逻辑:支持16种停止源;
通用定时器:两个定时输出信号,可提提供体系同步利用
时钟孕育产生电路:孕育产生全部MVBC事变的时钟和计数器
2、软件计划
由于在MVB体系中,进程数据,消息数据,监督数据是三种差别的通讯机制,因此,MVB体系软件的模块计划如图6。
图6:MVB体系软件模块。
四、软硬件的联调和集成
下面,以一个大略的例子来阐明MVB体系的软硬件的集成和验证。
进程数据在MVB体系中是周期性发送的数据,其在本体系中的通讯机制如下:对付发送方,用户应用模块将一个端口的进程变量发送给进程数据处理惩罚模块,进程数据处理惩罚模块根据逻辑端口的设置定时通过链路层接口模块更新Traffic Memory当中的相应逻辑端口的数据,此时发送方软件的任务完成。发送方的MVBC硬件吸取总线办理器BA定时发出的主帧,通过译码器解码得到相应的逻辑端口的值,通过查问Traffic Memory相干的逻辑端口发送设置后将MVBC主动设置为发送状态,将逻辑端口的数据作为进程数据从帧通过编码器发出,如图7所示:
图7:进程数据通讯示例。
对付吸取方,其吸取进程与发送方相逆,吸取方的MVBC硬件吸取总线办理器BA定时发出的主帧,通过译码器解码得到相应的逻辑端口的值,通过查问Traffic Memory相干的逻辑端口吸取设置后将MVBC主动设置为吸取状态将,在收到发送方发出的从帧后更新相应逻辑端口在Traffic Memory的数据并发出停止信号从而完成硬件的吸取进程。吸取方的软件可以用停止或定时查问的方法通过进程数据处理惩罚模块得到更新后的逻辑端口的进程数据
五、体系的测试
在本体系中,体系的测试即包括了软件的测试,也包括了硬件,FGPA的测试,在本文中不再赘述。
结束语
上述的MVB体系现已运行在列车控制体系中,告成实现对列车的运行控制、机车控制、车辆控制、状态监测、妨碍诊断。固然,如有必要,本文中的MVB体系可以转化成为ASIC计划,从而成为一个SOC的嵌入式体系。
参考文献:
1、International Standard IEC-61371-1
2、AT91M40800 datasheet