热门关键词:

浮空器惯性姿态测量系统冗余CAN总线设计

  • 该文件为pdf格式
  • 文件大小:875.52KB
  • 浏览次数
  • 发布时间:2014-09-03
文件介绍:

本资料包含pdf文件1个,下载需要1积分

Design of redundant CAN bus for aerostat inertial attitude measurement systemLi Baoguo,Wu Meng,Hu W enyuan,Zhang Haihong(School of Instrumentation& Opto-Electronics Engineering,Beihang University,Beijing 100191,China)Abstract:In order to improve the CAN communication ability of aerostat inertial atitude measurement system under severe en-vironment,a system method of double-CAN redundant bus is designed.Two LPC1 1C24 micro-controlers with high integration areused to establish the redundant system based on DSP & FPGA navigation computer.The system S function iS tested and verifiedwith upper computer.The test result shows that this redundant system performs wel1.Slave CAN starts working when ever the mas,ter CAN fails.Fauh tolerance iS stable.The reliability and quality of aerostat inertial attitude measurement system are enhancedwithout adding cost and space。

Key WOrds:inertial atitude measurement system ;CAN bus;redundant;LPC l 1 C24目前 ,CAN总线 系统 已经 成熟 应用 在惯 性 姿态 测量系 统 中 ,具 有很 好 的实 时性 和 抗 干扰 能力 l1]。虽 然 CAN协议 本身 具有较 强 的检错 纠错 能力 ,但 在 -些 特殊 应用诚 ,比如高 空 长航 的 工作 状 态 ,或受 恶 劣天 气 等 环境的干扰 ,以及传输介质损坏等都会严重影响 CAN的可靠通信。在要求高可靠性的应用系统中,解决这-问题的有效途径是进行 CAN总线冗余设计1 2-31。本文针对浮空器 惯性 姿态测 量 系统 ,基 于两 片 LPC11C24微 控制 器 ,设计实现了 CAN总线冗余系统。

1冗余 系统设计典型 的 CAN总线通信 电路主要 由微控制 器 、CAN总线控制器和 CAN总线驱动器以及总线 4部分组成[41。

基于 CAN总线的冗余方法主要从 3个环节进行不同程度的冗余 :有总线驱动器冗余 、总线控制器冗余和全系统冗余 3种 。3种 冗余 方 法各 有优 缺 点 ,其 中全 系 统冗余方 法可 靠度最 高[51。全 系统 冗余 方法 由双路 CAN通信《电子技术应用》2013年 第39卷 第7期电路组成 ,需要的主要器件数为无冗余系统的 2倍 。传统的惯性姿态测量系统 由导航计算 机作为微控制器 ,CAN总线节点设计需要 CAN总线控制器 、CAN总线驱动器 以及相 关 电平 转换 芯片 。导 航计算 机属 于嵌入 式产品 ,固定在 载 体 的机 械结 构 上 ,几 何形 状 和 质量 都 -般力求 小型化 。冗余设 计器 件数 的增多 不但会 增加 系统 的成本和容量的开销 ,而且使系统 的构成较复杂 ,也可能会 引来新 的错误 。

本文 选用 LPC11C24微 控制器 来设计 CAN总线 冗余系统 ,其基本架构如图 1所示。LPC11C24是恩智浦(NXP)公司近年推出的-款 Cortex-MO微控制器 ,内嵌易用型片上 CAN驱动,集成了高速 CAN物理层收发器 TJF1051,在低 成 本 LQFP48封 装 中实 现 了完整 的 CAN功 能 。

LPC11C24的成本低 、集成度高 ,是兼容 CAN 2.OB的LPC11COO系列控 制 器 的新 成员 之- ,可 为恶 劣 环境 下的应用带来最佳性能 j。基于 LPC11C24的 CAN总线冗21Embedded Technology∞ TXD .- TXDT - 。

J、 CPUl - 总 线 总线 确。 - 控 制 器 1 驱 动 器 1导 垦 里广 RXD H航 -- Lt ·C11C24计算 -- L 机 TXD Tx 线 LA J、 CPU2 - 总线-V - 控制 器 2 驱动 器 2RXD RXD HI f , 1lC24图 I CAN总线 冗 余 系统 方 案余设计能充分利用该款芯片的优势 ,减少导航计算机的电气互 连 ,节 省 50%以上 的 电路 ,从 而 提高 了整个 系 统的可靠性 。

2 系统 硬件设计本文惯性姿态测量系统导航计算机采用 DSPFPGA架 构 ,DSP主要 实 现导 航 姿态 的实 时解 算 和 系统 控 制 ,FPGA集成系统所有的接口功能 ,包括 CAN通信接 口。

CAN总线冗 余 系统 是基 于两 路 LPC11C24最 小 系统来 实现的 ,两片 LPC微控制器以主-从模式工作。其在导航计 算机 中的基本 设计 原理如 图 2所 示 。

号 CAN RST两 LPC微 控制 器共 用数 据线 DO~D7和 数据 发送 准备完成信号线 CAN-RDY,数据线和地址线通过 GPIO口实现 。数据 发送准 备完成后 ,同时触发 两 LPC微 控制 器INT,INT通过定时器捕获外部事件中断来实现。复位信号由FPGA产生-个低电平实现,读写控制信号在 FPGA与 CAN通信数据交互过程中分别有效。

实现 CAN通信功能还需搭建 LPC微控制器最小系统 。LPC最小 系统 主要包 括供 电 电源 、外 部 时钟 和调试接 口。LPC微控制 器所需 电压 3.3 V由导航计 算机 电源拈提 供 。本文 采用 12 MHz外 部时钟 给 系统提供 基 准时钟 。 由于 LPC1100系列 Codex-M0不再 支持 JTAG调试模式 ,所以调试接 口采用 SwD串行调试模式。两总线输 出之 间连接 EMI滤波 器 ,滤除 总线上 的高频 干扰 。此外 ,两 LPC之 间有两 交互信 号 ,分别 为 EN0和 EN1,ENO是发出故障切换信号 ,ENI是接受处理信号,或称之使能 CAN通信信号。工作过程中,使能-个 CAN的同时禁用- 个 CAN。

3 系统软件 设计图 2 CAN总 线冗 余 系 统原 理 框 图DSP输 出的主要是导航姿态信息 ,接收的信息主要是 IMU数据 、外部传感器 (GPS、磁强计等 )数据以及相关指令信息。CAN通信拈搭建在 FPGA上 ,通过 FPGA与 DSP进行数据交互 ,数据信息在 FPGA内部寄存器中缓 冲。这样的设计减少了 DSP对外开销 ,保证了导航姿态的实时解算以及与人机交互低速数据的匹配。FPGA与 LPC微控制器的主要连接如下 :(1)数据 线 DO~D7:8根 数据 线 ,用 于 完 成 FPGA与LPC的数 据交互 。

(2)地 址线 A0~A4:5根地 址线 ,最 大 数据 交互 的字节数 不应超 过 32,若 超过 ,则需增 加地 址线 。

(3)信号控制线 :读控制信号 CAN-RE、写控制信号CAN-RE、数据发送准备完成信号 CAN-RDY以及复位信22 欢 迎 网上投 稿 .cornCAN总线冗余 系统采用两条完全独立的 CAN总线,实现系统的物理层和数据链路层全面冗余。

系统 上 电复位 后 ,初 始化两 路 CAN 总线 ;-路 CAN 总线 中断 开启 ,处 于正 常 运 行状 态 ,另-路 CAN总线 中断 关 闭 ,处 于备 用 状 态 ;系统 采用兼容 两种 触发方 式 的报文分 配方 式 ,将 传输 报文分为周期传送报文(时间触发)与非周期传送报文(事件 触发 ),其 中导航 姿态 信 息为 20 ms周 期 报文 ,控制 报文 为非周期 报文 。惯性姿 态测量 系统平时不输出任何报文,当控制报文控制其启动后才按 照总线 调度策 略进行输 出 ,完成 导航 测姿功 能 。

CAN总线冗余系统设计主要实现两部分功能 :-为单路通信程序设计,二为双路总线切换设计。冗余 系统 的工作流程 如 图 3所示 。

3.1单路 CAN通信程 序设计CAN节点 通信 过程 主要包括 系统 初始 化 、CAN报 文接 收 、CAN报文发 送和 CAN 中断 处理等 。其 中系统初 始化 主要包 括 系统 配置 初 始化 、管脚 初始 化 、定时 器初 始化 以及 CAN拈初 始化 等 。LPC11C24微 控制 器 中包 含了 ccAN片上驱动 ,片 上驱动 程序存放 在引导 ROM 中 ,并通过定义好的 API向用户应用程序提供 CAN初始化和通信特性17。下列几个常用的函数包含在 API中,其调用实现 如下 :(1)CAN控制器的初始化是在基于寄存器的阵列值上实现 的 ,这些值 通过指针 来进行 传递 。CAN初 始化 调用范例 如下 :void CAN- initROM rom (ROM )0xlfflff8:《电子技术应用》2013年 第39卷 第7期Embedded Technology系统上电复位初始化 LPC微控制器读取 FPGA缓存导航测姿数据接收中断 l I发送 中断 l I错误 中断读蓉制报文 l I发送导航姿态报文l l故障处理发送到FPGA缓存l l启动备用 CAN图 3 冗 余 系 统 工 作流 程 图uint32 t CanApiClkInitTable2:0xoo0o0O00UL, //晶 振 时钟 分 频 数OxO0007EC3UL 1;//位 定 时 寄存 器 配 置 7EC3:24;//CAN通信速率为 500 kb/sr rom)->pCANAPI->initcan(&CanApiCanlnitTable01);(2)CAN发送函数允许设置报文对象,并可在总线上触发 CAN报文的传送;报文编号随着每-次通信而增加 ,而且可用于监控引入的信息。当超过 255时 ,信息代码会归零。这使得网络中的任意节点可以通过报文编号来测定报文的进程和正确的顺序,以进行检查。发送函数如 下 :void CAN- sendmsgobj.msgobj2; //报文对象msgo.mode-idOxOO1UL; //报文对象编号msgobj.mask0x0UL; //不屏蔽任何 IDmsgobj.dlc1; //数据长度msgobj.data[0OxO0;f rom)->pCAND->cantransmit(&msgobj);l(3)CAN接 收 函数在 调用 之前 ,必 须在 结构 体 中设置要被 读取 的报 文对 象 的编号 ,这 样指 向报文对 象 结构的指 针会 被传递 到接 收 函数 中。其实 现如 下 :void CAN- receivemsgo.msgobj1:r rom)->pCAND->canreceive(&msgobj);(4)用户应用程序必须为 CAN中断提供中断处理程序才能处理 CAN事件 ,调用 回调 函数 ,并根据 CAN总线 上 接 收 到 的数 据 和 检 查 到 的 状 态 采 取 相 关 的 操 作 。

《电子技术应用》2013年 第39卷 第7期CAN中断处理 程序 调用如 下 :( rom)->pCAND->isr0;(5)CAN AP1支持各种事件的回调函数 ,包括报文发送 、报文接收和错误处理等。回调函数通过 API函数来 发 布 ,CAN 中 断 处 理 程 序 会 按 照 中 断 级 别 来 调 用CAN 回调 函数 。注册 回调表 如下 :const CAN-CALLBACKS calbacks CAN- -rx ,CANtx,CANerror ,;3.2双 路 CAN 总线切换 设计双 CAN总线冗余采用热备方式运行 。-个 CAN控制器作为系统上电后默认的 CAN,另-个为系统的备用CAN。系统正常工作时 ,投入运行的 CAN称为主 CAN,另-路称为从 CAN。当主 CAN发生故障时 ,从 CAN总线投入运行。系统运行时,要求两路 CAN控制器处于热备状 态 ,经 初始 化后 都 随 时准 备 接收 信息 ,但 是在 -个时 间点上 ,系统 中有且 仅有- 路 CAN通 道在 工 作 ,另 -路处于监听状态(正 常工作时)或故 障状 态(发生故 障时)。实现 CAN总线系统的全面冗余 ,主要解决总线故障 的 自动 检测和 总线 的切换 问题 。

CAN2.0协 议 中规定 节 点处 于 错误 激 活态 、忽略 错误 态 、脱 离总 线态 3种 状态 之- [81。总线 正 常工 作时 处于错 误激 活 状态 ,利 用 CAN总线 控制 器 的故 障界定 机制 可 以判断 总线错 误 。硬 件初 始 化后错 误计 数 器 为 0,控 制 器 检 测 到错 误 后 将 发 送/接 收错 误 计 数 器 的 值 递增 。 当发送 或者 接收错 误计 数值 大于 127时 ,总线状 态为 忽 略错 误 态 ,可 能 的原 因 是 CANH、CANL断 开 ;当总线发送或者接收错误计数值大于 255时,总线状态为脱离总线态 ,可 能的原 因是 CANH与 CANL短路 ,或者CANH 与地短 路 ,或者 CANL与 电源 短路 。在错误状 态发生 时 ,需 立 即执行 总线切 换操 作 。

系统运行时,如两路 CAN(CAN0和 CAN1)都运行良好 ,则选取 CAN0作为 默认 主 CAN,CAN1处于关 闭状 态 ,等待 CAN0发出的使能信号 ,从 CAN则随时备用。当主CAN发 生错 误 状态 时 ,读 取错 误状 态 寄存 器 ,同时 触发CAN1使能引脚 ,CAN1给 出响应并禁用 CANO,响应完毕后 ,开 启 CANI,两 CAN主从 模式 切换 。CAN0处 于故障状态,等待修复 ,若修复完毕 ,即可作为从 CAN备用 ,在下-次出现故障时由 CAN1给出使能信号启动 ;若没有及时修复 ,则系统处于无冗余状态,若再次出现故障 ,则禁止系统运行。

4 测试 与验证要验证本文设计的 CAN总线冗余系统的有效性 ,需搭建测试平台进行实验。实验软件环境包括 TKScope嵌入式智能仿真开发平 台 、ZLGCANTset监测软件 以及 串23

正在加载...请等待或刷新页面...
发表评论
验证码 验证码加载失败