中国电子技术网

设为首页 网站地图 加入收藏

 
 

基于嵌入式各子系统之间的通信方式、任务分配和协调工作机制

关键词:嵌入式 DSP 脉冲信号

时间:2020-05-12 16:03:42      来源:网络

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

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

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


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

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

1、系统的构成

1.1 CAN 总线

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

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|

2.2 任务分配策略

一般情况下,多处理机任务分配问题是 NP- 完全的,通常是根据具体应用需求,确定一个可行的、比较满意的任务分配策略。任务分配的目的是合理配置系统资源,设法减少系统中各处理器间的通信开销和执行模块所需的开销。均衡负载是将系统承担的任务合理地分配给系统中各处理机,最大限度地提高系统的吞吐量。一般来说,减少系统的通信量和均衡负载是相互矛盾的。因此,任务分配策略也就是最大限度地减少系统中各子系统间的通信量,同时均衡各子系统的负载,以此提高整个系统的性能。

系统的任务分配有两种方式:自动方式和人工方式。自动分配方式是根据系统状态和各子系统任务量的估计确定任务分配策略,通过软件自动为各子系统分配任务。人工分配方式是测控中心通过指令为子系统分配任务。

不妨假设系统是由 N 个组件构成的一个分布式系统,承担的任务为 T,则:

在实际应用中,任务分配策略受多种因素的制约和影响,如空间限制、信号干扰、通信距离等,所以,只能在一定条件下最大限度地满足负载均衡、任务间最小通信量等任务分配原则。

在该系统的具体应用中,考虑到信号干扰和数据传输的要求,将系统承担的任务主要分为信号的采集 / 预处理(SP)、信号运算(SC)、过程控制(SO)。SP 任务主要承担 23 路模拟信号的采集、AD 转换、信号滤波等;SC 任务主要承担各类信号的运算;SO 任务主要承担过程控制的参数计算、控制信号输出、与测控中心实时交互等。经过测试,CPU 对于 SP、SC、SO 任务的负载基本均衡,三个子系统之间的通信量基本相同。将承担 SP 任务的子系统尽量放置在信号源附近,将承担 SO 任务的子系统尽量放置在控制部件附近,可以减小信号的干扰,同时也能减少数据的通信量。基于以上因素的考虑,根据系统状态,确定如表 1 所示的任务分配策略。

2.3 系统的协同工作

系统协同工作包括系统资源的统一调配(CPU、各类存储器、事件管理器、GPIO 等)、根据实际需求和系统状态确定任务分配策略以及为各子系统分配任务。当系统状态变化时,重新配置系统资源、确定任务分配策略,为每个子系统重新分配任务(见图 4)。该系统正常工作时,三个子系统分别承担信号采集 / 预处理、信号运算和过程控制任务;当一个或两个子系统出现故障时,系统通过 CAN 总线检测各子系统情况,确定系统的状态,根据任务分配策略,由其余子系统代替故障子系统的任务。当线路出现故障时,由测控中心通过串口发送指令,人工分配任务,保证系统正常工作。

2.4 辅助通信、与测控中心交互

系统由三个子系统构成,每个子系统有四路 RS422 串口,记作 Ai、Bi、Ci(i=1、2、3、4)。根据任务的需求,Ai、Bi、Ci 连接在一起,分别完成信息采集、子系统之间辅助通信、与测控中心交互的任务。

与测控中心实时交互的目的是:一方面将系统状态和各种参数传送到测控中心;另一方面,测控中心可以发送指令,完成指定的任务。

测控中心实时监视系统的工作状态。当 CAN 总线工作正常时,系统自动完成任务分配等任务;当 CAN 总线出现断路或其他线路故障时,测控中心发送指令给系统,人工分配任务,保证系统正常工作。

根据任务的需求,三个子系统的串口 Ai、Bi、Ci(i=1、2、3、4)连接在一起发送数据时会发生冲突,因此,系统应根据各串口的工作状态确定线路状态,根据线路状态决定对串口的读写。

本文介绍了由三个 DSP 嵌入式子系统构成的基于 CAN 总线的分布式系统的软、硬件设计方案,着重分析了各子系统之间协同工作的方式。该系统充分利用了分布式系统的并发性和可靠性等特点,在满足多路信号实时处理、多个过程控制、与测控中心实时交互等要求的基础上,采用自动分配任务和指令分配任务相结合的方式,有效地提高了系统的可靠性。实验仿真和现场测试表明,该系统不仅满足了任务要求,而且还具有很高的稳定性和可靠性。

  • 分享到:

 

猜你喜欢

  • 主 题:平稳控制与位置服务中至关重要的ADI MEMS IMU
  • 时 间:2020年07月28日
  • 公 司:Arrow&ADI

  • 主 题:ADI音频产品和方案介绍
  • 时 间:2020年07月30日
  • 公 司:ADI

  • 主 题:ADI基于ADPD188BI的烟雾探测器集成解决方案
  • 时 间:2020年08月12日
  • 公 司:Arrow&ADI