第一届空中交通管理系统技术学术年会论文集
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

基于DPRAM和中断判决机制的嵌入式数据通信方法

李洪伟,章学锋,付 红

(四川九洲空管科技有限责任公司,四川绵阳 621000)

作者简介:李洪伟(1978—),高级工程师,硕士研究生,主要研究领域为机载监视与防撞系统。E-mail:284361803@qq.com

摘 要:DPRAM作为多处理器嵌入式系统中广泛应用的数据交互方法,具有应用便利、速度快、易于完成大数据量的数据传输的优点,随着FPGA的发展和普及,它可以通过FPGA编程实现,可以降低成本,提高系统的可靠性。基于中断机制的DPRAM通信依赖于中断产生和响应机制,在复杂应用环境下,由于软硬件因素,偶发性的丢中断或响应异常现象可造成数据包丢失。本文引入中断判决和补发机制,较好地解决了由于“中断丢失”和“响应异常”导致的数据丢包现象。该设计成功应用于空中交通告警与防撞系统(TCAS)的工程项目,数据通信容量及实用性满足系统要求,有效解决数据丢包问题。

关键词:DPRAM;通信机制;中断判决

中图分类号:V241.6 文献标识码:A

Embedded Data Communication Method Based on DPRAM and Interrupt Decision Mechanism

Li Hongwei,Zhang Xuefeng,Fu Hong

(Sichuan Jiuzhou Aero Technology co.,ltd,Sichuan Province Mianyang City 621000,China)

Abstract:DPRAM which is the widely used method of data translated,has the many advantages,such as application convenience,fast translation speed,able to translate vast datum.Along with the development and popularization of FPGA,DPRAM could be integrated in FPGA by program,in favor of system cost reduction and reliability improvement.DPRAM communication method based on interrupt depends on the correct production and the timely respond of the interrupt.When it is used in the complex environment,the interrupts maybe lose once in a while,as a result,the data package will lose.This paper resolves the problem by interrupt adjustment and retrigger mechanism.This method has been successfully applied in TCAS engineering project.The practicability satisfies real time specification,the problem of the data lost has been worked out.

Key words:DPRAM;Communication mechanism;Interrupt decision

0 引言

在嵌入式系统广泛应用的今天,随着系统集成度、复杂度和综合化程度的日益提高,经常需要设计多处理器协同完成信号处理和控制的复杂系统。多处理器系统设计技术的优点在于,可以通过计算能力的均匀分布,使系统具有较好的冗余能力、更快的处理速度、模块化的体系结构,并且简化编程难度。多处理器系统的应用越来越广泛,如何解决多处理器数据共享和交互问题也变得越来越重要。常见的不同处理器之间的通信方式包括借助通信寄存器的通信方式、借助先进先出设备(FIFO)的通信方式、借助双端口随机存储器的通信方式、串行通信方式等。如果需要在两个处理器之间进行大量数据传输,借助双端口随机存储器(DPRAM)则是最佳的选择方案。DPRAM与普通单口RAM不同,DPRAM芯片具有两组数据总线、两组地址总线、两组控制总线,只要不是同时访问同一存储单元,就允许两个端口对片内任何单元同时进行独立的读/写操作,而且互不干扰。借助DPRAM实现数据通信,工程实现时一般有“查询”和“中断”两种机制:前者为上位机(信息接收方)定时/周期性读取DPRAM进行处理,其设计简单,缺点是实时性差;后者基于中断机制,实时性较高,缺点是依赖中断产生和响应机制,在复杂应用环境下,偶发性的丢中断现象可造成数据包丢失。本文引入中断判决和补发机制较好地解决了由于“中断丢失”导致的数据丢包现象。

1 基于中断机制的DPRAM通信一般方法

中断机制具有实时性高、应用灵活等优点,基于中断机制的DPRAM通信方法在工程设计中得到广泛应用,其原理框图如图1所示。处理器1、2是两个独立的处理核心,两者通过DPRAM完成数据交换。一般情况下,为避免数据冲突,两者的写操作地址空间是独立的。地址空间1仅用于处理器1向处理器2发送数据,地址空间2则仅用于处理器2向处理器1发送数据。

图1 DPRAM通信原理框图

DPRAM的两个端口一般各有一组特殊功能寄存器,包括接收状态寄存器、中断触发寄存器和数据长度寄存器。通信过程依赖于寄存器的功能。以处理器1向处理器2发送数据为例,一次数据通信包括处理器1写数据和处理器2读数据两个流程,前者通过中断信号触发后者。写数据和读数据的流程如图2所示。

图2 写数据和读数据的流程

2 DPRAM一般通信机制存在的问题及中断判决机制原理

2.1 存在的问题

DPRAM通信一般流程的正常运作有赖于中断机制的正确响应,即任何一次通信,发送方触发的中断信号,接收数据方都能及时响应并快速完成处理。这需要三个前提:其一,中断产生稳定、可靠,无外部干扰;其二,中断响应及时,处理迅速;其三,不存在中断竞争等复杂情况。实际工程应用中,客观存在以下问题:

(1)接收方响应中断速度低于发送方再次写入速度,导致发送方再次发送数据时,接收方仍未读完上次的数据。

(2)外部使用环境复杂,干扰了中断信号的产生或响应。

(3)接收方处于其他中断处理过程中,错过了本次中断信号,发生数据丢包现象。

为提高上述数据交互的稳定性和可靠性,在嵌入式系统中,要找出上述问题的处理方法。

2.2 中断判决机制原理

为解决中断异常导致数据包丢失问题,在DPRAM通信机制中引入“中断未响应”概念,并借助“接收状态寄存器”用于识别该状态,设计通信机制时据此采取针对性措施,可有效解决由于中断响应问题导致的通信异常。具体实现方式为:数据接收方设置一个特殊功能寄存器——接收状态寄存器,用于表征接收数据方是否响应了中断,以及是否读取完。通常,读数时可写为一个特定数值,读数完成后在接收状态寄存器中写入一个“变量”(例如1~N循环值)。发送数据方通过检查该寄存器状态,并将该数据与上次操作的历史值进行比较,据此采取相应的措施以保证通信的正常进行。

3 工程应用实例及分析

3.1 工程背景

本文中的DPRAM通信机制是以空中交通防撞系统(TCAS)应用为背景提出的。国内外的飞行试验和使用经验表明,TCAS能显著地减小航空器相撞的危险性,有效地帮助驾驶员主动搜寻和目视发现可能的交通冲突。将TCAS系统分为监视子系统和防撞子系统,前者基于二次雷达原理,对空域中装备了航管应答机或S模式应答机的其他飞机进行监视、跟踪,获取其距离、高度、方位等信息;后者则针对前者获取的信息进行防撞算法处理和威胁评估,在必要时给出语音和视频告警,提示飞行员注意潜在碰撞威胁或采取垂直方向的机动飞行。通过DPRAM进行监视子系统和防撞子系统之间的数据交换信息详见表1。

表1 DPRAM通信数据信息

3.2 应用实例

空中交通与防撞系统的防撞主机,包括监视子系统和防撞子系统,均为嵌入式单板技术机,CPU为MPC8280,主频为400MHz。两个子系统通过DPRAM进行数据交互,应用框图如图3所示。

图3 DPRAM在TCAS中的应用框图

其中,DPRAM通过FPGA编程实现,统一地址空间分配为4KB,监视子系统和防撞子系统均可独立操作该地址空间,地址空间操作和中断产生分别使用独立的进程实现,中断信号宽度为5μs。以一个端口为例,其Verilog代码如下:

两个端口具有独立的特殊功能寄存器。以左侧端口为例,特殊功能寄存器定义见表2,右侧端口也有三个特殊功能寄存器。

表2 特殊功能寄存器定义

引入接收状态寄存器后,数据发送方和接收方操作该寄存器,获取或设置当前状态信息。对于接收方,响应中断后,首先读取并存储该寄存器值,这里记为X,然后写该寄存器为“忙”状态并按数据长度读取数据,最后更新该寄存器为X+1。对于发送方,再次发送数据时,首先要查询该寄存器状态并采取相应措施:

(1)查询接收状态寄存器是“就绪:值为X+1”状态,进行写数操作;

(2)查询接收状态寄存器是“忙:值为0Xfafa”状态,则等待为就绪状态直到超时推出;

(3)查询接收状态寄存器是“未响应:值为X,即上次写入数值”状态,则补发一次中断信号,延时后再次查询为“就绪状态”,连续三次未响应,则退出。

写数据流程图和读数据流程图分别如图4和图5所示。

图4 写数据流程图

图5 读数据流程图

4 结束语

本文首先回顾了多处理器嵌入式系统数据通信交互方法,然后阐述了基于中断机制的DPRAM一般方法,分析了其存在的问题。在此基础上,引入了中断判决机制的概念、方法和原理。通过数据长度寄存器、中断触发寄存器、接收状态寄存器等特殊功能寄存器,表征数据通信过程的交互状态,具有忙标志、中断未响应时进行等待、中断丢失判决和补发等机制,在保证数据通信实时性的同时,有效提高数据通信的可靠性。最后,结合TCAS应用的工程实例给出了试验效果分析,数据交互稳定、可靠。

参考文献

[1]中国民用航空局.关于TCAS使用的暂行规定[民航飞发〔1998〕188号],1998