关键词:DSP 分级分布 FIFO 中断
1 概述
1.1 背景
数字信号处理器(DSP)一般是用来运行核心数据处理算法的,但在一些特殊的环境中,必须使用DSP来承担管理控制单元的核心片芯。本文给出一套分级分布式图像处理系统,其中的管理计算机的核心芯片是AD公司的浮点DSP(ADSP21020)。它不仅承担着对图像处理系统的管理控制任务,还必须实时响应执行上级1553总线的关键指令。本文重点讨论基于DSP芯片管理计算机对两级分布式系统的协调控制。
1.2 系统介绍
此套图像处理系统是一个分布式计算机系统,共由5个模块组成,包括预处理单元、海量存储器、离线数据并行处理单元、通信单元和管理计算机。其中管理计算机是这套系统的控制核心,通过RS485总线管理内部系统,并通过1553总线和上级系统通信。
管理计算机对内部控制的功能分为两类:实时控制和非实时控制。实时控制针对时序要求严格且需实时响应的任务。管理计算机通过独享的RS422串行总线向CCD探测器和通信单元提供控制脉冲。非实时控制针对不求时间精确,甚至可以被其它程序中断的信号,即传送指令、数据的串行总线RS485,作为控制核心的管理计算机,通过它和其它单元交换数据,查询健康状态。
管理计算机的设计关键在于两级分布式系统间的协调,包括RS485总线与1553总线的并行管理,以及接受外部控制和管理内部单元两种工作模式的切换。两级分布式系统如图1所示。本文主要针对这一部分进行讨论。
2 管理计算机的设计
2.1 管理计算机的工作分析
管理计算机有两种工作方式:①接收1553总线指令和数据;②管理控制图像处理系统内部单元。1553总线发来的信息主要包括处理任务类型、工作时间、工作次数、状态检测等。管理计算机对内管理的任务包括相关图像公用信息的传输,比如图像生成时间、地点等,以及健康状态检测。
管理计算机接收1553总线指令和数据的优先级显然要高于对内部管理的工作。一般情况下,管理计算机总是处于对内部管理工作状态,因此当1553总线有命令发来时,必须中断其对内的管理工作,保存工作状态,响应上层1553总线的命令。
1553总线中断管理计算机的工作可以有两种不同的方式:精确中断和不精确中断。精确中断即是无论管理计算机正在进行什么工作,必须立刻中止。不精确中断是指必须等待管理计算机将本次通信任务执行完毕,再响应1553总线中断。考虑到1553总线发来的命令没有非常荷刻的时间要求,同时考虑到设计的复杂性,在图像处理系统中采用了第二种策略,即不精确中断。
由于设计采用不精确中断,则1553总线发来的命令得不到及时的响应,必须使用缓冲策略。这里采用具有先进先出功能的FIFO双口存储器。它可以自动接收并暂时存储来自1553总线的数据,同时管理计算机也通过FIFO向1553总线发送数据。
管理计算机单元的功能框图如图2所示。
2.2 1553总线接口设计
1553总线RT板卡与管理计算机的接口通过一块共享双口FIFO缓冲存储器实现。FIFO要用CY7C439双向存储器。
1553总线接口设计如图3所示。
2.3 RS485接口设计
RS485接口由并串转换芯片TL16C550和RS485驱动接收器MAX489实现,如图4所示。
2.4 1553总线与RS485总线的协调
管理计算机的程序包括三部分:1553总线通信程序、RS485通信程序和RS485状态保存程序。它们的通信方式都是通过中断进行的。1553总线通信程序通过FIFO的中断方式实现,而RS485总线通信程序响应TL16C550的中断。DSP有四根用户中断线。由于1553总线中断的优先级大于RS485总线,因此,在DSP内部将中断向量1553总线设在优先级更高的部分。
程序控制流程如图5所示。
3 原理样机调试结果
3.1 RS485总线调试
RS485总线通信协议采用NRM(正常响应模式)。系统中其它单元不能直接向管理计算机发送信息,必须由管理计算机发送命令,由它们响应命令。各被控单元之间的通信必须通过管理计算机进行。相应的数据传输包括图像时间、图像区域、仪器的工作状态(温度、压力等)、工作模态。数据帧格式如下:
标志7位 | 地址7位 | 控制7位 | 信息 | 帧校验 | 标志7位 |
控制字:指令、数据标识。
测试结果:
①各类数据接收无误;
②收方可以启动自检程序,并返回相应信息。
3.2 1553总线接口调试
FIFO中断线连接到DSP的最高优先级INTR0,管理计算机作为1553总线的RT,解释执行1553标准帧格式指令。
测试结果:
①当管理计算机空闲时,可以及时响应1553总线中断;
②当管理计算机向RS485发送信息时,可以正确响应1553总线中断;
③当管理计算机接收RS485信息时,发送方无法得知中断状态,仍然继续发送。解决方法是中断返回后,管理计算机向该设备发送要求重新传送的指令。
结语
本文讨论了基于DSP的管理系统设计,重点是两级分布式系统之间的协调。在1553总线中断上,如果采用精确中断,程序会很复杂,但对于实时控制系统会有很大益处。由于这套系统高层命令的实时性并不是很强,采用非精确中断就足够了。