新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 一种基于多DSP协同工作的控制系统

一种基于多DSP协同工作的控制系统

作者:冯伍伍 和玮 陈辉林 张利 清华大学时间:2008-06-18来源:电子技术应用 收藏

  尽管数字信号处理器()的性能越来越强,基于系统的功能也越来越多,但对于实时性、容错性、可靠性要求很高的多任务信号处理及多路过程控制方面的应用,单个系统的处理能力是不够的。处理能力强、可靠性高,采用多个DSP子系统构成,利用的并发性实现多个DSP的并行处理,满足多任务、实时性的要求。同时,通过硬件和软件冗余设计,保证了系统的可靠性。

本文引用地址:http://www.amcfsurvey.com/article/84427.htm

  本文采用TMS320F2812 DSP实现了三个同构的、具有多种实时信号处理和多个过程控制功能的嵌入式子系统A、B、C,以为通信网络构成分布式系统。该系统能够与外部测控中心实时交互,同时完成23路模拟信号的实时采集/预处理、16路数字信号处理、16路数字信号的输出、1路脉冲信号处理、多路过程控制参数的实时计算、各种状态及参数的实时记录等。三个子系统的硬件设计完全相同,通过与RS422串口交换信息,通过软件配置为各子系统分配资源、动态分配任务,有效地均衡了各处理机的负载。三个子系统资源共享、互为备份,提高了整个系统的可靠性。

  在实时系统中,如果系统的运行不能满足响应时间的要求,将会导致整个系统的崩溃。因此,分布式系统各组件之间的通信和协调工作是实现系统各组件并发处理、系统资源共享、均衡系统各组件的负载、提高整个系统的吞吐量、保证系统可靠工作的关键。

  本文重点讨论了各子系统之间的通信方式、系统的任务分配和系统的协调工作机制。

  1 系统的构成

  1.1

  CAN(Controller Area Network)属于总线式串行通信网络。CAN总线有效地支持安全可靠的分布式实时控制系统,通信方式灵活、抗干扰能力强、可靠性高,直接通信距离最远可达10km(传输率5kbps以下),通信速率最高达1Mbps(通信距离40m以内),网上节点数可达110个。CAN总线为多主工作方式,可以方便地构成多机备份系统[4]。

  1.2 数字信号处理器

  TMS320F2812 DSP是工业控制领域的一种高端产品,具有速度快、功耗低、接口方便灵活、易于开发、精度高、兼容性好、资源丰富等特点。F2812采用哈佛总线结构,具有32位高性能的CPU,时钟频率为150MHz并支持动态改变锁相环的频率,拥有Flash等多种类型存储器、PIE中断模块、A/D转换模块、事件管理器、SCI口、SPI口、eCAN总线和McBSP通信模块等丰富的外围设备,可以满足各种应用的需求。

  1.3 基于DSP的嵌入式子系统的硬件构成

  基于TMSF2812 DSP的嵌入式子系统(见图1)是为满足实时多任务而设计的,硬件、软件可根据需要进行裁剪,可靠性高、响应速度快、自动化程度高。

  三个子系统的硬件设计完全相同,除DSP片上资源外,每个子系统都扩展了非易失性存储器(E2PROM或铁电随机存储器)、SRAM、四路RS422接口(两路RS232可选)、实时时钟等辅助模块。

  1.4 系统的体系结构

  该系统是由三个基于F2812 DSP的嵌入式子系统A、B、C通过CAN总线构成同构异步的分布式系统(见图2)。三个子系统没有主从关系,各子系统的功能根据系统状态,通过任务分配策略,用软件配置。三个子系统与硬件、软件互为备份,提高了系统的可靠性。

  三个子系统之间主要通过CAN总线进行信息交换,变化较慢的数据也可以通过UART串口进行交换。每个子系统都能够同时接收信号,也能够输出控制信号。通过特殊的硬件设计,每个子系统都具有故障隔离的功能,可以防止因为一个子系统出现故障而影响整个系统的工作。

  2 分布式系统的协同工作

  分布式系统的资源位于不同的位置,系统需要不断监视各组件的状态,检查资源的使用情况。当一个处理器出现故障时,系统应该立即响应,重新调配资源,规划任务分配方案,确定任务分配策略,重构系统,必要时牺牲系统的某些性能,以保证系统正常工作。

  2.1 系统状态监视

  系统状态包括每个子系统各个模块的工作状态(CPU、UART的工作状态、片上存储器(SDRAM、FLASH等)和片外存储器(SRAM)、非易失性存储器的分配情况)、每个子系统之间的通信状态等。

  分布式系统中,各子系统难以确定系统的状态。为此,网络上的每个子系统应定时向其他子系统广播,将各自的状态通知其他子系统(见图3)。如果在规定的时间内没有收到某个子系统的消息,则认为该子系统出现故障,系统应重新配置系统资源、重新分配任务,重构系统。

  图3中:SCAB表示子系统A到B通信的情况。通过A、B、C之间的相互通信,确定系统的状态。

  不失一般性,令三个子系统的状态的集合为SA、SB、SC,则系统状态SS为:

  SS=ρ(SA∪SB∪SC)={Si|0≤i≤N}    (1)

  其中:ρ(A)表示A的幂集,N=|SS|

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭