logo资料库

论文研究-基于MC9S12DG128B的FlexRay总线节点设计 .pdf

第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
资料共6页,全文预览结束
基于 MC9S12DG128B 的 FlexRay 总线节点设计 http://www.paper.edu.cn 雷冬波,吴友宇 武汉理工大学信息工程学院,武汉(430070) E-mail:leidongbo@163.com 摘 要:FlexRay 总线以其高速率、高可靠性受到汽车业界的高度重视,在 X-by-Wire 领域 将得到广泛的应用。本文研究了一种采用飞思卡尔 HCS12 系列单片机 MC9S12DG128B 为 主控制器的 FlexRay 总线节点设计方法,给出了系统整体结构框图、部分硬件结构连接图和 软件设计流程图,研究了总线控制器 FlexRay 模块的配置方法。整个系统以 MC9S12DG128B 为核心,采用 MFR4310 为 FlexRay 总线控制器,TJA1080 为 FlexRay 总线收发器。该方案 制造简单,有助于实现车内线控操作(X-by-Wire)。 关键词:FlexRay 总线; MC9S12DG128B; MFR4310; TJA1080 中图分类号:TP273 1. 引言 FlexRay 是戴姆勒克莱斯勒公司注册商标[1]。2000 年,FlexRay 联盟成立,其成员包括 戴姆勒克莱斯勒、通用、宝马、飞思卡尔半导体、恩智浦半导体、博世、大众等。CAN 网 络最高性能极限为 1Mbps。而 FlexRay 两个信道上的数据速率最大可达到 10Mbps,总数据速 率可达到 20Mbit/秒。FlexRay 可支持各种拓扑,如总线、星型和混合拓扑。另外,FlexRay 可以进行同步(实时)和异步的数据传输,来满足车辆中各种系统的需求,比如分布式控制 系统就通常要求实时数据传输。FlexRay 不仅可以像 CAN 和 LIN 网络这样的单信道系统一 样运行,而且还可以作为一个双信道系统运行。双信道系统可以通过冗余网络传输数据—— 这可保证系统的高可靠性。因此,FlexRay 可以为下一代车内控制系统提供所需的速度和可 靠性,故在众多总线中,FlexRay 总线被称为车内总线的“明日之星”。 鉴于以上优点,本文对 FlexRay 总线的节点进行了研究。 2. 系统硬件结构 整个系统有 MC9S12DG128B、MFR4310、TJA10801 及外围电路等组成,系统的整体硬 件结构如图 1。 本文的 FlexRay 节点包括主机控制器,一个 FlexRay 总线控制器和一个总线驱动器[2]。 图 1 FlexRay 节点整体结构框图 - 1 -
http://www.paper.edu.cn 如图 1,在该节点中,主机控制器采用 freescale 的 MC9SDG128B 单片机,总线控制器 采用 freescale 的 MFR4310,总线收发器采用 NXP 公司的 TJA1080 芯片。 MC9S12DG128B 单片机采用 16 位的中央处理单元(HCS12 CPU),拥有 128K 字节的 Flash,8K 字节 RAM,2K 字节的 EEPROM,2 个 SCI 接口,2 个 SPI 接口,2 个 8 通道 10 位 ADC,8 路 8 位 PWM,3 个 CAN2.0 接口以及 IIC 等其它总线或电气接口[3]。 MFR4310 为飞思卡尔研发的一款 FlexRay 总线控制器。该控制器符合 FlexRay 通信协 议 V2.1A。MFR4310 提供有 3 种硬件可选的主机接口:一是 HCS12 接口,用于直接与 freescale 的 HCS12 系列微控制器相连;二是异步存储器接口(AMI),用于异步连接微控制器;三是 MPC 接口,用于和 freescale 的 MPC5xx 和 MPC55xx 系列单片机异步连接。MFR4310 可提 供 2.5/5/8/10Mb/s 多种通信速率。有效数据段可以有 0~254 个字节,其中前两个字节可以 用作 16 位的消息 ID[4]。 TJA1080 为 NXP 公司研制的 FlexRay 总线驱动器,它可以提供 10Mbit/s 的总线速率, 电磁辐射(EME)很低可以用非屏蔽线连接。I/O 电平可以自适应主机控制器供应电压。包括 总线监控引脚。支持多种工作模式,如睡眠模式、备用模式等。有温度过热检测电路。使用 BATV , CCV , IOV 进行过低压检测,在这几个脚上若有过低电压出现,可进入自动防故障模 式[5]。 如图 2 所示为主机控制器和 FlexRay 控制器 MFR4310 的连接电路示意图 [4] 。 图 2 MS9SDG128B 和 MFR4310 的连接示意图 在上图中,IF_SEL0 和 IF_SEL1 为主机接口选择引脚,LSTRB 为低字节选通信号, XADDR[14:19]为 HCS12 接口扩展地址线,INT_CC#为 MFR4310 中断请求。 - 2 -
http://www.paper.edu.cn 表 1 外部主机接口选择 引脚 IF_SEL0 IF_SEL1 0 0 1 1 0 1 0 1 接口 MPC 接口 HCS12 同步接口 异步存储接口(缺省) 异步存储接口 当 IF_SEL0 为’1’,IF_SEL1 为’0’时,AMI 接口为缺省接口,即如果这两个脚外部没有 接电阻,此时在芯片内部 IF_SEL0 是上拉的,而 IF_SEL1 则是下拉的,这时主机接口的时 钟引脚是 CLK_CC。当 IF_SEL0 为’1’,IF_SEL1 为’1’时,选择的主机接口也是 AMI 接口, 但此时时钟引脚是 CHICLK_CC。ACS[2:0]在 HCS12 接口模式下都是 HCS12 地址选择输入 端。 如图 3 为 FlexRay 总线驱动器 TJA1080 的电路图[6],TXD_TJA、TXEN_TJA、RXD_TJA 三个引脚与 MFR4310 连接,和 MFR4310 进行通信,BGE 为总线监控使能输入端。正常工 作模式下 TJA1080 通过 BP 和 BM 进行数据的发送和接收。 BGE L X H H 表 2 发送器功能表 TXEN X H L L TXD X X H L 驱动器 状态 1 状态 2 状态 3 状态 4 状态 1:驱动器不工作 状态 2:驱动器不工作 状态 3:驱动器使能;BP 为’H’,而 BM 为’L’ 状态 4:驱动器使能;BP 为’L’,而 BM 为’H’ 为了让 TJA1080 工作在正常模式下,需要将 EN 和 STBN 两引脚置高[7]。在总线驱动和 终端电路之间必须添加一个共模扼流圈(CMC),以便滤除信号线上共模电磁干扰。可使用 DLW31SN222SQ2 绕线型片状共模扼流线圈[8],它是汽车用 EMI 静噪滤波器,该线圈在 100MHz/20℃条件下共模电感值是 2200±25%Ω,符合设计要求[9]。 - 3 -
http://www.paper.edu.cn 2 3 R5 47 C17 10pF/100V C16 0.0047uF R6 47 C18 10pF/100V J1 1 2 CON2 +5v R2 R3 R4 1 L1 k 0 1 k 0 1 k 0 1 TXD_TJA TXEN_TJA RXD_TJA R9 47K 5 6 7 12 8 3 9 15 13 U4 TXD TXEN RXD RXEN BGE EN STBN WAKE ERRN TJA1080 BP BM Vcc Vbuf Vio Vbat INH1 INH2 TRXD0 TRXD1 GND 18 17 19 20 4 14 2 1 11 10 16 4 1000Ω@100MHZ +5v +12v C5 0.1uF C6 0.1uF 图 3 TJA1080 电路图 3. 系统软件结构 如图 4 为 MFR4310 FlexRay 模块配置程序流程图[4] 图 4 FlexRay 初始化流程图 - 4 -
http://www.paper.edu.cn MFR4310 的 FlexRay 模块配置过程如下: 1) 配置 Flexray 模块(MCR) MEN:该位置 1 则使能 FlexRay 模块 SCM:该位置 1 为单通道,置 0 为双通道通信 CHB,CHA 受 SCM 控制 BITRATE:可选择速率 10/8/5/2.5Mbit/s 2) 使能 FlexRay 模块: MCR 寄存器中的 MEN 位置 1,使 FlexRay 模块进入正常工作模式 3) 配置协议部分:将 CONFIG 命令写入协议工作控制寄存器(POCR)中的 POCCMD 区域 4) 配置信息缓冲器和 FIFOs 1 在信息缓存段大小和利用寄存器(MBSSUTR)里设置所使用的信息缓存器的数目和信 息缓存器分割 2 在信息缓冲器数据大小寄存器(MBDSR)里定义信息缓冲器数据大小 3 在信息缓冲器配置控制状态寄存器(MBCCSRn)、信息缓冲器循环计数滤波寄存器 (MBCCFRn)、信息缓冲器帧 ID 寄存器(MBFIDRn)、信息缓冲器目录寄存器(MBIDXRn)里按 照配置值配置每一个信息寄存器。 4 配置接收 FIFOs 5) 在一个 FlexRay 节点启动 FlexRay 模块 1 往协议工作控制寄存器(POCR)POCCMD 区域里写入 READY 协议命令 2 FlexRay 模块配置完成 经过以上这些流程,FlexRay 模块已经被配置成一个 FlexRay 节点,并且可以加入 FlexRay 总线了。 4. 结语 本文研究了一种以 freescale HCS12 系列芯片为核心的 FlexRay 总线节点的设计与实现。 该方案设计简单,实现方便。以此系统为基础,可以在线控驾驶、线控刹车、线控油门等方 面实现应用。该系统中所用总线驱动芯片 TJA1080 已在 BMW X5[10]上得到了实际应用,证 明了该芯片的可靠以及 FlexRay 技术的前景是光明的。 - 5 -
http://www.paper.edu.cn 参考文献 [1] 富士通微电子(上海)有限公司.下一代的车载网络-FlexRay[R].富士通微电子(上海)有限公司, [2] FlexRay Communications System Protocol Specification Version 2.1 Revision A[S]:FlexRay Consortium, [3] MC9S12DT128B Device User Guide V01.09[S]:Motorola,October 2002 [4] MFR4310 Reference Manual Rev. 2 [S]:freescale semiconductor,03/2008 [5] TJA1080 FlexRay transceiver Rev. 01[S]:Philips Semiconductors,20 July 2006 [6] FLXRAYIPMFR4200 & MFR4300FRDC/MFR4310FRDC User Manual[R] :freescale semiconductor, [7] Generic FRDC (MFR4200/MFR4300)[R]:freescale semiconductor,November 14.2005 [8] EVB9S12XF512E.FlexRay Transceivers[R].SCH-21860 PDF: SPF-21860:freescale semiconductor, April 2006-08-18 22-December-2005 November.2005 23, 2007 [9] 静噪元件/ EMI 静噪滤波器(EMIFIL) [S]:muRata,04.2.25 [10] Carsten Böke.FlexRay 正在前行[M] .恒润科技译稿.Vector Informatik,Jun.2007 A FlexRay Bus Node Design Basd On MC9SDG128B Department of Informationa Engineering, WuHan University of Technology, WuHan (430070) Lei Dongbo, Wu Youyu Abstract FlexRay bus is set store by motor-dom because of its high speed, high reliability, it will play an important role in X-by-Wire area. In this paper, a FlexRay bus node which is use freescale’s HCS12 series’ mcu MC9S12DG128B as host controller is designed, draw the system’s whole structure block diagram, part of hardware’s structure connect diagram and programming flowchart, research a configure method about the bus controller’s FlexRay module. The system use MC9S12DG128B as core, MFR4310 as FLexRay bus controller, TJA1080 as FlexRay bus transceiver. This scheme is simple, can help to carry out car’s X-by-Wire. Keywords: FlexRay Bus; MC9SDG128B; MFR4310; TJA1080 作者简介:雷冬波,男,1984 年生,硕士研究生,主要研究方向为嵌入式系统与智能控制。 - 6 -
分享到:
收藏