找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 一种分布式结构飞行控制计算机内部总线节点设计

[复制链接]
admin 发表于 2013-3-23 09:08:27 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
摘  要: 根据分布式样例飞行控制计算机特点和内部数据通信需求,提出了以C8051F120单片机与FlexRay共同组成的内部总线通信节点设计方案,完成了通信节点硬件的详细设计,开发了通信软件并讨论了若干设计要点。对所设计的FlexRay通信节点进行了常温和低温下的功能和性能测试,验证了通信效率和可靠性,可满足新型飞行控制计算机的内部数据通信要求。
关键词: FlexRay;飞行控制计算机;内部总线;C8051F120;MFR4310
       目前在一类无人机分布结构的飞行控制计算机中广泛使用CAN作为内部通信总线,其总线采用基于事件触发的通信机制,速率为1 Mb/s[1]。随着无人机的不断发展,作为飞行控制系统核心的飞行控制计算机对内部总线的数据传输速率和可靠性的要求也越来越高,CAN总线在带宽和实时性等方面已经不能满足要求。为了解决这个问题,本文分析研究了多种串行通信总线如ARINC429、1553B等,但其通信速率均不能满足要求[2-3]。而 FlexRay作为一种新兴的通信总线,除具有10 Mb/s的通信速率外,其确定性和可靠性能更好地满足新型分布式结构飞行控制计算机内部总线数据通信需求。
1 FlexRay通信协议概述
1.1 FlexRay协议特性

     FlexRay总线作为一种新型的总线通信协议,与传统的CAN相比,在通信速率、确定性、可靠性等方面有着明显的优势[4-5]:
     (1)更高的传输速率。FlexRay提供A/B两个通信信道,每个信道传输速率最高可达到10 Mb/s,与CAN总线相比,它能将可用带宽提高10~40倍,而且总线利用率可超过90%。
     (2)确定性。FlexRay采用了基于同步时基的媒质访问机制,时基的精确度介于0.5 μs~10 μs之间(通常为1~2 μs)。
     (3)可靠性。FlexRay提供的双通道通信,可进行冗余消息传输,极大地提高了数据传输可靠性。此外,FlexRay还包含总线监控功能,可实时对总线活动进行监测控制。
     (4)灵活性。FlexRay提供了大量参数配置,如通信周期的大小、负载段长度等,可以根据需要灵活调整,支持星型、总线型、混合型等多种拓扑结构,而CAN仅支持总线型拓扑结构。
1.2 FlexRay总线通信机制
     FlexRay采用基于循环往复通信周期的媒质访问机制,每个通信周期包括了静态段、动态段、符号窗口以及网络空闲时间四个部分。在周期的静态段,FlexRay采用静态的时分多路访问(TDMA)机制;而在周期的动态段,FlexRay则采用柔性时分多路访问(FTDMA)机制。
     每个通信周期的静态段和动态段均是由数个时隙(slot)组成的。在周期的静态段,由若干个时间宽度相同的静态时隙(Static Slot)组成,每个时隙单独分配给某一个节点,在该时隙内总线控制权由此节点唯一占有,节点在总线上进行数据发送,即使该节点在该时隙内没有数据需要向总线发送,其所分配的时隙也不会被其他节点所占用。在周期的动态段,引入了一个称为微时隙(minislot)的概念。如果在某个时隙有消息在总线上发送,则该动态时隙的长度等于整个消息所需的若干个微时隙的总长度;如果没有消息发送,则该动态时隙长度等于一个微时隙的长度。在周期的某个时隙内部,仅有一个节点被允许在总线上进行数据发送,且该节点所要发送消息的帧标识符与当前的时隙计数器值必须相等。帧标识符是在系统设计阶段静态地分配给各节点的。由于同一帧标识符不允许被分配给不同的节点,因此,可以确保总线上不会发生媒质访问冲突现象[5]。
2 飞行控制计算机内部FlexRay网络结构
     样例飞行控制计算机采用分布式总线网络结构,主要由CPU单元、模拟量接口单元、开关量接口单元和串口量接口单元四部分组成。其中,CPU单元主要功能是为实现整个飞行控制系统的控制进行律解算、实现外围设备的管理及余度管理,是分布式余度飞行控制计算机的核心主控单元。模拟量接口单元、开关量接口单元、串行量接口单元为分布式余度飞行控制计算机的数据采集及输出部分,三个功能单元主要负责接收传感器数据及采集外围设备的状态,同时也输出由中央处理单元解算及处理后的数据[6]。系统中每个单元作为一个FlexRay节点,节点之间通过FlexRay总线进行数据通信交互,如图1所示。
    20121107051437586722244.gif
   3 FlexRay通信节点方案
     FlexRay节点有三种架构方式,目前已经实现的有MCU+CC+BD和MCU+BD两种方式。MCU+CC+BD是最早的FlexRay节点架构方式,在这种方式下MCU是主机处理器,通过配置通信控制器(CC)中的寄存器设置其工作方式,然后控制它的工作状态实现数据收发;通信控制器在链路层和物理层上实现FlexRay网络协议的可编程组合电路,完成主机控制器和总线驱动器之间的数据交互和流程控制;总线收发器(BD)将通信控制器与总线相连,通过编码处理将FlexRay通信控制器要发送的数据发送到总线上,通过译码处理将来自总线的数据传送到FlexRay通信控制器中[7]。而在MCU+BD的方式下,MCU集成了FlexRay通信控制器的主机处理器,整个节点的集成度有了提高。
     根据样例飞行控制计算机系统资源,本设计采用第一种架构方式,MCU采用C8051F120单片机。C8051F120有16 bit地址总线,8 bit数据总线,处理器可以采用外部有源晶振或内部晶振,内部集成有8 448(8 K+256)B的RAM、128 KB外部数据区、64 KB外部程序区;采用流水线指令结构:70%指令的执行时间为1个或2个系统时钟周期。通信控制器采用飞思卡尔公司2008年推出的、支持FlexRay协议2.1A的MFR4310。MFR4310提供两个独立的FlexRay通道A/B,可多达254 B数据配置的128个消息缓冲器,以及两个可配置接收先进先出(FIFO)消息缓冲器。总线收发器采用恩智浦公司的TJA1080A,其通信速率高达10 Mb/s,并且可工作于总线型和星型两种拓扑结构。FlexRay通信节点结构如图2所示。
    20121107051437617972245.gif
   4 FlexRay节点设计
4.1 节点总体设计

     FlexRay总线节点设计如图3所示。C8051F120复位时从片内Flash存储器执行程序,进入正常工作模式。先进行C8051F120系统模块内其他器件的初始化以及系统需要的其他初始化,然后开始FlexRay通信:单片机产生需要发送的数据,通过位扩展模块将数据信号送到通信控制器MFR4310中对数据信号进行编码等处理后送到收发器TJA1080A,收发器对其进行电平变换,然后再送到总线上与其他节点进行数据交换。
    20121107051437664842246.gif
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-24 10:26 , Processed in 0.054885 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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