关于ARM处理器的MVB 2类设备研究

发布者:化羽2015最新更新时间:2012-11-10 来源: 21ic 关键字:ARM处理器  BSP  启动代码 手机看文章 扫描二维码
随时随地手机看文章
引 言

  列车需要传输大量的设备控制和旅客服务信息,随着这些信息的数量和种类不断地增长,迫切需要一种大容量,高速度的信息传输系统。为此,国际电工委员会(IEC)制定了一项用于规范车载设备数据通信的标准——IEC61375(列车通信网标准),即TCN标准,该标准于1999年6月成为国际标准。目前国际上主要的TCN产品供应商是德国西门子和瑞士Duagon公司,国内的株洲电力机车研究所和大连北车集团电力牵引研究所等单位进行了大量的TCN相关研究工作并取得了丰硕的科研成果。

  TCN标准推荐在机车上层使用绞线式列车总线WTB,在下层使用多功能车辆总线MVB。MVB总线和机车中的各种电气设备相连,这些设备按性能可以分为5类,其中二类设备的主要特征是具有消息数据通信的功能。为了实现消息数据通信,需要在实时操作系统的支持下采用软件编程,利用应用程序接口API等接口来调用网络协议的各种功能,从而实现消息数据的通信。MVB 2类设备硬件核心采用ARM7内核微处理器NET+50作为主CPU实现系统的总体控制,采用MVBC01芯片作为MVB通信控制器实现链路层的数据处理,软件核心采用嵌入式实时操作系统Nucleus Plus来实现任务管理、中断管理等上层管理。

  2 MVB 2类设备系统硬件设计

  硬件系统设计主要包括应用处理器模块、通信存储器模块、通信控制器模块、存储器模块、PC104接口模块、物理层接口模块等几部分的设计,其中核心模块是ARM处理器和MVB通信控制器MVBC01。系统硬件设计框图如图1所示。

系统硬件设计框图

  系统硬件各部分电路的功能和设计方法如下:

  2.1 应用处理器模块

  应用处理器采用ARM核微处理器NET+50作为核心处理器。NET十50由Netsilicon公司生产,属于ARM7系列。NET+50处理器包括一个ARM7TDMI核,32位内部总线,支持所有SRAM,SDRAM,FLASH,E2PROM,有40个可编程I/O接口引脚,16个输入接口引脚,36个可编程中断,2个完全独立的HDLC/UART/SPI串行口以及完整的以太网控制器。

  2.2 存储器模块

  存储器模块为ARM处理器NET+50正常工作时提供所需的程序存贮空间,内存空间和数据存储空间。NET+50集成了内存控制器模块(Memory Controller Mod-ule),为存储设备提供无缝连接,系统通过配置内存控制器模块的控制寄存器和片选CS控制寄存器来实现访问相应存储器的信号和逻辑。

  本设计中选用大小为16 MB的高速SDRAM为系统提供内存服务,选用大小为512 kB的NVRAM为系统提供数据存储空间,选用大小为4 MB的FLASH为系统提供程序存储空间。使用ARM处理器的地址线、数据线以及相应的片选、读/写、时钟线完成对存储器的寻址。

  2.3 通信控制器模块

  通信控制器MVBC是MVB总线上的新一代核心处理器,他独立于物理层和功能设备,为在总线上的各个设备提供通讯接口和通讯服务,可通过配置应用在符合TCN标准的1,2,3,4类设备中。MVBC把来自于MVB总线的串行化信号转换为并行的数据字节,也把需发送的字节交由串行化电路发送到传输介质上。MVBC可实现数据链路层以及一部分传输层的数据处理,并通过通讯存储器来与上层软件交互。

  本系统中MVB通信控制器采用MVBC01 ASIC专用芯片,符合IEC61375-1国际标准。MVBC01专用芯片采用16位数据总线,提供了丰富的接口控制信号,简化了与各种宿主CPU以及通信存储器的接口设计,支持MVB协议中链路层及以下的功能。

  2.4 通信存储器模块

  通信存储器地址空间保存MVBC01的所有数据和信息,既可以被MVBC01访问又可以被ARM处理器访问。本系统中采用两片512 kB大小的SRAM cy62148扩展成1 MB的寻址空间。通信存储器的寻址空间划分为4部分,分别为Logical AddreSS Space(LA),Device AddressSpace(DA),Service Area(1 kB)和Miscellany。

  通信存储器分别通过数据线,地址线和ARM处理器以及MVBC01相连,从而实现数据交换和地址寻址,ARM处理器、MVBC01和通信存储器的连接示意图如图2所示。[page]

ARM处理器

  MVBC01内部集成Traffic Memory Controller(TMC)模块,负责控制通信存储器的访问模式,TMC与仲裁控制器和逻辑地址密切相关。TMC模块负责控制3种存储器访问模式,分别是:ARM CPU访问通信存储器;ARM CPU访问MVBC内部寄存器;MVBC01访问通信存储器。TMC模块还对ARM处理器和MVBC同时访问通信存储器所产生的访问冲突做出仲裁。

 

  2.5 MVB物理层接口电路模块

  物理层接口电路模块的设计如图3所示。物理层接口采用电气短距离介质ESD+接口,系统信号通道使用光耦实现主系统与外界得电隔离以提高系统可靠性,使用RS 485芯片作为收发器,并使用过压保护模块来防止瞬问过压对器件的损坏。

物理层接口电路模块的设计

  图3所示的MVBC端口ICA(MVB Input Data Chan-nel A)和ICB(MVB Input Data Channel B)分别为MVB输入数据通道A和输入数据通道B,来自物理层收发器的MVB信号由此端口送入MVB通信控制器MVBC01中;MVBC端口OC(MVB Output Data Channel)是MVB数据输出端口,数据经由此端口将发送至物理层收发器;MVBC端口SF(Send Frame)为输出端口,输出信号可作为物理层的使能信号,该信号有效时表示一个报文正在通过MVBC端口OC(MVB Output Data Channel)输出。

  2.6 其他

  在MVB设备正常运行时,可以通过RS 485/RS 232通信接口进行程序的监控和调试。系统可以通过跳线选择RS 485/RS 232接口是工作在RS 485还是RS 232下。

  其他还有诸如看门狗、JTAG接口、时钟、电源、PC104接口等模块,本文不再详述。

  3 系统软件设计

3.1 系统软件体系结构

  MVB 2类设备软件体系采用典型的嵌入式软件体系结构,包括驱动层、操作系统层、应用软件层,其中操作系统层是软件体系的核心。系统的软件结构如图4所示。

系统的软件结构

  系统软件结构各部分功能如下:

  3.1.1 驱动层

  驱动层是直接和硬件相联系的一层,他对操作系统和应用提供所需的驱动支持。该层主要包括3种类型的程序:板级支持BSP、系统级驱动和应用级驱动。

  板级支持BSP 在用户的应用程序启动之前,完成对系统的初始化必须有专门的一段启动代码,即板级支持BSP。板级支持BSP介于物理硬件和实时操作系统之间,在系统上电后,初始化系统的硬件环境,包括初始化ARM处理器、初始化中断控制器、初始化存储器、初始化堆栈等。NucleusPlus操作系统的BSP初始化程序流程如图5所示。[page]

NucleusPlus操作系统的BSP初始化程序流程

  系统级驱动 与系统软件相关的驱动,这类驱动是操作系统和中间件等系统软件所需的驱动程序,他们的开发要按照系统软件的要求进行。

  应用级驱动 与应用程序相关的驱动,和操作系统无关,由应用决定。

  3.1.2 操作系统层

  操作系统层足嵌入式软件的核心,是系统的软件支持平台。主要包括实时操作系统内核、文件系统、电源管理、嵌入式GUI系统、嵌入式网络系统。其中嵌入式内核是基础和必备的部分,主要完成任务调度、内存管理、任务间通信、任务的同步与互斥、中断管理、定时器等功能。本系统采用Nucleus Plus嵌入式操作系统,能完全满足MVB对于实时性、可靠性、完整性和有效性的要求。NucleusPlus采用了软件组件的方法,每个组件具有单一而明确的目的,包括任务控制管理、内存控制管理、定时器管理、中断、系统诊断、I/O驱动管理等16个组件。

  3.1.3 应用软件层

  应用软件层主要由多个相对独立的应用任务组成,每个应用完成一个特定的工作,这里主要包括MVB协议栈软件。MVB协议栈软件在实时操作系统内核的支持下,通过MVB驱动模块完成MVB网络数据通信任务。用户应用可以利用MVB协议栈的接口函数访问需要的数据集,并利用收到或者发送的数据进行相应的控制或其他数据处理工作。

  3.2 实时协议

  每个网络都要有与之相应的网络软件在其上运行,这些软件被称为协议。在互联网上运行的协议我们称之为TCP/IP协议,在列车通信网上运行的类似TCP/IP的协议我们称之为实时协议(Real Time Protocol,RTP),实时协议为一个应用与另一个应用在列车通信网上的通信提供协议和服务。

  实时协议分层结构如图6所示。由图中的分层结构可知MVB实时协议包括过程变量通讯和消息数据通讯两部分。由图可知变量的协议和服务包括过程数据链路层接口(LPI)和变量的应用层接口(AVI)。消息协议和服务包括消息数据链路层接口(LMI)、网络层、传送层、会话层、应用层接口(AMI)。其中链路层接口又称为低层接口,他规定来自总线的服务,应用层接口又称为高层接口,他规定提供给应用的应用层接口。

实时协议分层结构

  3.3 消息通信机制及其实现

  MVB 2类设备的主要特征是实现消息数据的发送和接收。消息通信中实时协议是由信使执行的,他是作为独立的进程与应用并行运行。实时协议的网络层、传输层、会话层、表示层是由信使来执行并实现的,信使与应用层有一个消息应用层接口(AMI),通过这个接口应用可以调用信使的服务。同时信使与链路层也有一个接口:消息链路层接口(LMI),链路层通过这个接口向信使提供服务。在编程实现消息通信时,只需要使用消息应用层接口。

 

  用户开发程序来实现消息通信,就是使用消息应用层接口中的接口函数来调用信使的各项功能,实现消息通信的应用程序就是按照这个顺序编写和执行的。消息数据的实现程序的流程如图7所示。

消息数据的实现程序的流程

  4 结 语

  使用符合TCN标准的产品是开发下一代新式列车的重要发展趋势,本文通过对IEC61375-1列车通讯网络标准的研究,提出了MVB 2类设备软硬件的设计方案并完成了系统硬件各功能模块设计和上层软件的部分设计,对MVB实时协议RTP和消息通信的机制也做了深入的研究,并给出了消息通信的编程实现方法。通过对基于ARM处理器的MVB 2类设备的深入研究和功能设计实现,不但为以后开发更高类别的MVB设备积累了经验,而且为进一步自主开发其他符合TCN标准的MVB产品提供了借鉴。

关键字:ARM处理器  BSP  启动代码 引用地址:关于ARM处理器的MVB 2类设备研究

上一篇:基于Web的区域联网视频监控系统设计与实现
下一篇:ARM7平台下基于VxWorks的网络接口设计

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

ARM处理器的未定义指令异常处理过程分析
在前面的两篇文章中已经介绍了ARM处理器的工作模式和ARM异常中断处理流程。这篇文章我们通过代码来详细介绍ARM处理器未定义指令的异常中断处理;当发生未定义指令异常中断时,CPU进入未定义指令模式。可以通过读取CPSR寄存器的值来判定是否真的进入了未定义指令模式。 开发板:tiny4412; 工具链版本:gcc version 4.5.1 (ctng-1.8.1-FA) 主要设置以下几个文件: start.S文件,详细内容如下: .text .global _start _start: b reset /* vector 0x46000000 reset*/ ldr pc, _undefined_ins
[单片机]
ARM处理器异常处理
1.1 ARM处理器异常处理 所谓异常就是正常的用户程序被暂时中止,处理器就进入异常模式,例如响应一个来自外设的中断,或者当前程序非法访问内存地址都会进入相应异常模式。 1.1.1 异常分类 (1)复位异常 当CPU刚上电时或按下reset重启键之后进入该异常,该异常在管理模式下处理。 (2)一般/快速中断请求 CPU和外部设备是分别独立的硬件执行单元,CPU对全部设备进行管理和资源调度处理,CPU要想知道外部设备的运行状态,要么CPU定时的去查看外部设备特定寄存器,要么让外部设备在出现需要CPU干涉处理时 打断 CPU,让它来处理外部设备的请求,毫无疑问第二种方式更合理,可以让CPU 专心 去工作,这里的 打断 操作就叫做
[单片机]
<font color='red'>ARM处理器</font>异常处理
浅谈arm处理器的优势
目前,世界正在向物联网、人工智能的潮流迈进,也随着物理网、人工智能技术上的发展与推进,微处理器技术也在不断革新,各种新型微处理器的应用也在不断深入。对于现阶段大量32位嵌入式应用的出现, ARM嵌入式技术广泛地使用在许多嵌入式系统设计。正因为ARM的处理器拥有众多优势,才得以如此广泛的应用。 体积小、低功耗、低成本、高性能 ARM处理器因为其体积小,不占空间,所以能够完美完成嵌入式环境下的应用,ARM针对嵌入式应用,同样保持着超强的性能,处于世界领先地位,不仅如此还力求做到最低的功率消耗。之前ARM还发布了一颗名为 “Cortex-M0” 的新处理器,最大的特色在于体积号称世界最小,耗电世界最低。ARM结构的优点是能兼顾到性能
[单片机]
浅谈<font color='red'>arm处理器</font>的优势
ARM处理器芯片选型指南
要选好一款处理器,要考虑的因素很多,不单单是纯粹的硬件接口,还需要考虑相关的操作系统、配套的开发工具、仿真器,以及工程师微处理器的经验和软件支持情况等。微处理器选型是否得当,将决定项目成败。当然,并不是说选好微处理器,就意味着成功,因为项目的成败取决于许多因素;但可以肯定的一点是,微处理器选型不当,将会给项目带来无限的烦恼,甚至导致项目的流产。 1 嵌入式微处理器选型的考虑因素 在产品开发中,作为核心芯片的微处理器,其自身的功能、性能、可靠性被寄予厚望,因为它的资源越丰富、自带功能越强大,产品开发周期就越短,项目成功率就越高。但是,任何一款微处理器都不可能尽善尽美,满足每个用户的需要,所以这就涉及选型的问题。 (1)应用领域
[单片机]
[单片机框架][bsp层][cx32l003][bsp_crc] 硬件CRC配置和使用
循环冗余校验(CRC)计算单元是根据固定的生成多项式得到任意字节数据的 CRC 计算结果。在应用中, CRC 技术主要应用于核实数据传输或者数据存储的正确性和完整性。 本模块算法遵从 ISO/IEC13239 的定义,采用 16 位长度的 CRC,计算多项式为: 计算初始值为 0xFFFF。 本模块功能包括: ⚫ CRC 编码和 CRC 校验 ⚫ 3 种位宽访问方式:8 位、16 位、32 位 ⚫ 8 位位宽下输入数据示例为 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77 ⚫ 16 位位宽下输入数据示例为 0x1100, 0x3322, 0x5544, 0x7766 ⚫ 32
[单片机]
创建并移植K10 BSP包的具体步骤和方法(二)
3. BSP包代码的修改   在C:\Freescale\Freescale_MQX_4_0\mqx\source\psp\cortex_m文件夹里的psp_cpudef.h文件中可以找到支持Kinetis K10/K20/K30/K40/K50/K60/K70等相关芯片的PSP宏定义,例如支持K10DN512的宏定义为:   #define PSP_CPU_MK10DN512Z (PSP_CPU_NUM(PSP_CPU_ARCH_ARM_CORTEX_M4, PSP_CPU_GROUP_KINETIS_K1X, 2))   同时在该文件中还可以找到所有Freescale指定PSP处理器支持包所支持内核的宏定义,如ColdF
[模拟电子]
创建并移植K10 <font color='red'>BSP</font>包的具体步骤和方法(二)
[bsp层][nrf52832][nrf52840][nrf52810][nrf52820][bsp_led] LED配置和使用
重新封装一层函数,用于bsp层函数,方便调用。 void bsp_led_init(void); void bsp_led_deinit(void); void bsp_led_on(bsp_led_t ch); void bsp_led_off(bsp_led_t ch); void bsp_led_toggle(bsp_led_t ch); /******************************************************************************** * @file bsp_led.c * @author jianqiang.xue * @version V1.0.
[单片机]
基于VxWorks的BSP概念与开发
摘 要:本文以VxWorks操作系统为例阐述了BSP的概念和系统启动流程,并描述了BSP的开发过程。 关键词:BSP;VxWorks;镜像;boot Rom 概述 VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),它采用微内核的结构,具有支持多种处理器,丰富的网络协议,良好的兼容性和裁减性等特点,同时具有程序动态链接和下载的功能。 BSP(Board Support Packet——板级支持包)是介于底层硬件和上层软件之间的底层软件开发包,它主要功能为屏蔽硬件,提供操作系统的驱动及硬件驱动,具体功能包括: ·单板硬件初始化,主要是CPU的初始化,为整个软件系统提供底层硬件支
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

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

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

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