日志档案

发表于 2008-8-13 16:29:56

0

标签: 嵌入式系统  arm  嵌入式  嵌入式仿真平台系统  

以ARM和DSP嵌入式系统为核心的实时仿真平台的开发

  本文关键词:嵌入式系统 arm 嵌入式 嵌入式仿真平台系统

一个大型的船舶轮机模拟器蕴含着30多个全物理过程的数学模型,涉及千余个实时参变量,通常采用功能分散的DCS网络来实现。早期开发成功的SMSC2000型轮机模拟器采用工控机作为仿真计算机,所有数据的处理和输入输出的控制都经过它的数据采集卡来完成。推进系统仿真的精确度与实时性无法两全。近期航运仿真中心在开展多模式机舱仿真实验的同时,针对I/O点最多(200多个)、半实物环境最复杂的船舶推进系统进行了剖析,研制了嵌入式微机的新颖仿真平台。

  船舶推进系统仿真平台的选取

  船舶推进系统仿真平台需要以ARM+DSP为核心的嵌入式系统具有很强的控制接口能力和高速数字处理能力,用来代替以工控机为核心的仿真系统,可以达到实时运行精确的船舶推进系统的数学模型、实时控制外围物理设备的目的,从而实现精确实时的半物理实物在环的船舶推进仿真系统。

  ARM+DSP嵌入式船舶推进系统仿真平台的硬件结构

  ARM+DSP嵌入式仿真平台主要由以ARMC5000DSPC2000DSP3个处理器为中心的功能部分构成。其中ARM部分的ARM核微控制器是主处理器,是整个系统的控制中心。ARM部分带有自己的FLASHRAMA/DD/A转换器等外围设备,主要负责上电后完成整个系统的自举加载和系统的任务分配、从物理设备输入和向物理设备输出信号、通过CAN总线与上位计算机通信等。C5000DSP部分主要运行船舶推进系统的数学模型,并将仿真所得的转速和转矩的数据传递给C2000DSP部分的电机控制单元,以在电动机上表达出推进系统的实时状态,即用电动机来模拟推进主机。

  ARM+DSP嵌入式仿真平台的软件结构

  ARM部分中的软件

  ARM部分是整个系统的控制中心,其运行的主要是系统软件,包括自举加载程序、指令响应程序、键盘扫描程序、LCD显示驱动程序、A/DD/A转换控制程序、直接数字量/开关量输入输出程序、CAN总线通信控制程序及与C5000DSP部分进行内部实时数据交换的控制程序。

  自举加载程序是上电或复位后首要实现的任务。它先对ARM的一些关键寄存器(如时钟、中断等)进行初始化(即部分初始化);之后将ARM部分中要运行的主程序和各个子程序(如指令响应程序、键盘扫描、LCD显示驱动等)从片外的非易失性存储器FLASH中加载到片内或片外的SRAM中,以增加程序的运行速度;接着,开始负责对C5000DSP部分进行复位初始化,再把数学模型程序通过API控制加载到C5000DSP中。这样,自举加载程序就完成了两个部分的自举加载工作。

  自举加载完成后,ARM部分开始执行系统的全部初始化,然后便进入系统的主程序(该主程序是一个无限循环等待程序),在主程序中再以中断方式反复运行键盘扫描、LCD显示驱动、指令解释响应、A/DD/A转换控制、数字量/开关量的输入输出及与C5000DSP部分通讯的程序。其中,指令解释的响应程序是一个核心程序,类似于操作系统的内核程序,接受来自输入处理子程序(键盘扫描、数字量/开关量的输入等)的接口数据,并根据它们的值启动相应的任务,如果需要将任务执行的结果作为接口数据(指令)输出给显示或控制处理子程序,则经由各输出子程序再进行处理。

  C5000DSP部分的软件

  C5000DSP部分主要用来运行推进系统的数学模型,该推进系统可以是传统的柴油主机推动系统,也可以是新型的电力推动系统,关键在于不同的推动类型对应不同的数学模型。

  C5000DSP程序实质上是以实时循环迭代求解微分方程组为主的程序,该微分方程组即推进系统的数学模型,并且每循环求解一次,要确定有没有从ARM部分传递来的指令及参数更改的信息。如果有,就改变相应状态及参数再求解微分方程组;如果没有,则仍按上一次的状态和参数求解。在每个循环中,方程组完整求解一次,从而得到推动系统在该时刻的仿真数据。在每个循环的最后,把仿真数据结果传送给ARM部分及C2000DSP部分(通过FIFO),用于显示和控制。

 芯片间的通信控制

  该系统由3大部分构成:ARMC5000DSP之间相互通信,C5000DSPC2000DSP之间相互通信,ARMC2000DSP之间也相互通信。其中,前两者是通过中断方式来完成的,而后者是通过直接传送的方式完成的。

   ARM+DSP嵌入式仿真平台与以工控机为核心的仿真平台的比较   

     ARM+DSP为核心的嵌入式仿真平台系统与以工控机为核心的仿真平台系统相比在仿真的实时性和精确度方面具有很多优势。

  (1)使用专用的DSP完成运算,相比通用PC处理器80×86的精确度更高。

  (2)ARMDSP分工明确,各司其职,比单一的PC处理器完成仿真任务要快很多。SMSC2000在进行主机仿真时,由于处理器、操作系统和VB开发工具的限制,每求解一次数学模型需要的时间在ms级,其采样周期也在ms级以上;而以ARM+DSP为核心的嵌入式仿真平台系统,由于采用功能强大的双核构架,每求解一次数学模型需要的时间在μs级,采样周期也相应减小很多,即仿真的步长更小,大幅度提高了仿真的精确度。

  (3)软件系统是在裸机的基础上建立的,实时性完全由开发人员决定,不受非实时操作系统限制。

  总之,针对船舶推进系统研制的新颖ARM+DSP嵌入式仿真平台扬长了ARMDSP两种嵌入式处理器的特点,集丰富的控制接口和高速运算处理能力于一体。该仿真平台系统结构清晰,各部分专用功能强大,任务分配明确,相互之间都有通信交互。该系统存储器容量大,各器件速度快,集成度高。软件编程从系统和应用的角度出发,密切结合实际情况,软件结构适合嵌入式系统运行。系统的软硬件都有较大扩展空间。用该仿真平台代替传统的基于工控计算机的仿真模式真正达到了实时要求,其运行的数学模型更精确,控制物理设备的能力更强。

       该仿真平台同样可用于船舶电站、船舶辅机、机舱报警等系统的仿真,并通过CAN总线与主控站联络。它不光强化了单一工作站的功能,而且使整个DCS网络演化为FCS网络,大大提高了系统的实时性。

 

系统分类: 设备材料   |   用户分类: 无分类   |   来源: 原创

    阅读(90)    回复(0)