历史上的今天
返回首页

历史上的今天

今天是:2025年01月25日(星期六)

2021年01月25日 | 以ARM和DSP嵌入式系统为核心的实时仿真平台的开发

2021-01-25 来源:eefocus

简介:针对船舶推进系统研制的新颖ARM+DSP嵌入式仿真平台扬长了ARM与DSP两种嵌入式处理器的特点,集丰富的控制接口和高速运算处理能力于一体。

引言


一个大型的船舶轮机模拟器蕴含着30多个全物理过程的数学模型,涉及千余个实时参变量,通常采用功能分散的DCS网络来实现。即便如此,个别仿真工作站由于模型复杂、任务繁重,难以满足实时仿真的要求。例如,动力推进系统的仿真是一个半实物在环的仿真系统,其中既有虚拟的动力装置即仿真计算机上运行的数学模型,又有真实的控制盘台、物理显示设备,是一种集实时控制和高速运算功能于一体的典型系统。


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


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


船舶推进系统仿真平台需要有很强的控制接口(输入输出)能力和高速的数字运算处理能力。TI公司的DSPC2000系列率先为电机的实时控制开拓了应用领域,但并不适合于具有众多I/O的复杂机电模型的仿真。由于市场上无现成的仿真装置可购,只能针对机舱模拟器的对象自行探索。实际上,当代嵌入式芯片既提供了高速的数字信号处理器(DSP),也提供了有强大控制功能的微控制器(MCU)。采用MCU+DSP架构,就可兼备两者的长处。


基于ARM核的32位RISC微控制器在监视控制、人机接口方面的功能非常完善,数字信号处理器(DSP)对各种数字信号或数据处理的能力十分强大。因此,许多嵌入式实时应用系统采用ARM+DSP的结构组合来充分发挥两种处理器的优势,从每个处理器中获得最大益处,以获得更高性能。其中,ARM作为主处理器,负责任务管理、输入输出接口、对外部设备的控制,甚至运行嵌入式操作系统;而DSP作为从处理器,仅仅负责快速的数据运算处理。两个处理器核之间通过共用一部分存储器等方式进行通信。


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


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


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


C2000DSP部分的功能是接收C5000DSP部分数学模型的运算结果,按照该结果控制电动机达到仿真的转速和转矩,最终实现用电动机来模拟推进主机。这3个部分按一定的方式组合在一起,构成一个整体,共同完成推进系统仿真的任务。其基本组织结构如图1所示。

图1ARM+DSP嵌入式微机系统的基本组成


实际上,从可靠性角度考虑,对于ARM部分和C5000DSP部分,采用一块ARM7+C54x的双核芯片(TI的TMS320VC5470)把两部分的核心集成到一起。这两部分的主要外围设备有ARM侧的FLASH,SRAM,SDRAM,键盘,LCD,CAN总线接口,A/D,D/A转换器(用于模拟量的输入输出),光耦电路(用于数字量或开关量的输入输出),用于编程调试用的JTAG接口及DSP侧的程序空间外扩SRAM,数据空间外扩SRAM,及I/O空间的FIFO(用于向C2000DSP部分传递数据)。这两部分的硬件组织结构如图2所示。

图2ARM和C5000DSP的硬件结构


C2000DSP部分为任选部分。若省略这部分,则仿真结果仅显示在LCD,LED状态指示灯上。加上这部分后,仿真推进系统的各种动静态转速及转矩特性可在C2000DSP部分控制的仿真电机上反映出来,达到用电机模拟推进系统主机的目的。图3所示的C2000DSP子系统实际上是一个电机的闭环控制系统,由DSP控制器、功率驱动放大电路、电机和转速检测环节(光电编码盘)4个子部分构成。可见,ARM+DSP嵌入式船舶推进系统仿真平台的硬件资源丰富,且有很大的可扩展空间。该系统平台在硬件方面有以下一些特点。


(1)从处理器的速度上看,ARM最大为47.5MHz,C5000DSP最大为100MHz,C2000DSP最大为40MHz,属于较高速处理器。

图3C2000DSP部分的硬件结构


(2)FLASH的容量很大。在ARM和C5000DSP(即TMS320VC5470)部分有8MB的外部FLASH;在C2000DSP(TMS320LF2407)部分有32KW的在片FLASH,而且还可以进行外扩。这样,该系统就可以固化大量的程序代码,适合开发大型的程序。


(3)SRAM的容量也很大。在ARM部分有16KB的在片高速SRAM和2MB的外部SRAM;在C5000DSP部分有72KW高速在片SRAM和64KW外扩程序SRAM和64KW外扩数据SRAM;在C2000DSP(TMS320LF2407)部分有2.5KW的在片SRAM,而且还有64KW外扩程序SRAM和64KW外扩数据SRAM。这样,大量的SRAM可以保证处理器在SRAM中读取程序,以保证程序快速运行。


(4)系统的I/O端口资源丰富。既有数字量的输入输出,也有模拟量的输入输出;既提供了串行方式,也提供了并行方式。为数据采集、控制指令输出、与上位机通信等奠定了硬


件基础。


(5)C2000DSP的处理器TMS320LF2407是专用来进行电机控制的芯片,用来产生PWM信号和捕获转速反馈信号很容易,而且运算速度快,可以实现对电机的各种高效复杂的控制。


(6)各部分间需要实时交换数据,其硬件上都采用了共享存储器的方式(ARM与C5000DSP之间的ARMPortInterface,简称API,C5000DSP与C2000DSP之间的FIFO)。这样,通信速度很快,从硬件上满足了实时要求。


(7)因为器件数量较多且速度相对较高,有些芯片采用的是先进的BGA(BallGridArray)封装技术,所以在设计印刷电路板时,采用了6层板,布线充分考虑了器件的高速性和封装技术。


(8)该系统平台提供了很多可扩展的接口,用户可针对具体对象扩充硬件、添加新的功能。对于构成SMSC2000轮机模拟器的其他工作站,无须扩展任何I/O接口,可见该系统具有通用性。


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


ARM部分中的软件


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


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


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

图4ARM部分的软件组织结构


C5000DSP部分的软件


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


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

图5C5000DSP部分的软件组织结构


C2000DSP部分的软件结构


C2000DSP部分的主要任务就是读取FIFO接收来自C5000DSP部分的仿真结果中的转速和转矩信号,并将之表达为电动机的相应转速和转矩。该部分实际上是独立构成的一个专门控制交流电机的子系统。


其中,C2000DSP处理器TMS320LF2407为该控制子系统的核心。它首先采用查询的工作方式,检测主控指令位是否指示打开该进程,检查系统与主电路是否正常。如果主控指令位指示“关闭”,则切断主电路,封锁输入输出,再关闭系统;如果不正常,则切断主电路,封锁输入输出,再关闭系统,并发出警报;如果一切正常且主控指令位指示“打开”,则读取此子系统的给定信号(由通信中断服务程序从FIFO中读出并存入相应地址的存储器中),即转速和转矩仿真结果数据的接收,再调用捕获子程序从相应接口输入实际转速和转矩的反馈值。给定值和反馈值准备完毕,系统才开始使用某种控制算法对给定数据和反馈数据进行处理。


完成了一个电机闭环恒转速控制算法后,产生相应的PWM信号输出给电机功率驱动电路,再由驱动电路控制电机跟随仿真给定转速和转矩信号,完成对推动系统转速和转矩的物理模拟。这里使用的控制算法可以是交流电机控制的各种算法,有要求较低的恒压频比、恒电动势频比算法,也有要求高的矢量控制算法和直接转矩控制算法。完成此步控制算法输出PWM信号后,再返回到开头处。如此循环,直到出现不正常或ARM主控程序结束该任务进程。该部分程序的主要结构如图6所示。

图6C2000DSP部分的软件组织结构


芯片间的通信控制


该系统由3大部分构成,各部分之间的通信关系如图1所示。ARM与C5000DSP之间相互通信,C5000DSP与C2000DSP之间相互通信,ARM与C2000DSP之间也相互通信。其中,前两者是通过中断方式来完成的,而后者是通过直接传送的方式完成的。


ARM与C5000DSP之间通过ARM向C5000发出中断信号,告知C5000要准备接收数据。然后ARM将数据放到两方共享的API中。DSP接收到中断信号后,开始中断服务程序,从API的相应位置取出数据,之后向ARM发出回复信号,以表示数


据被取走,而后继续准备开始接收新的数据。ARM接收到来自C5000的回复信号,开始发送新的数据。如此反复,直到传递完所有数据。反过来,由C5000DSP向ARM发送数据,其过程与上面相同,只是收发方互换位置。


C5000DSP与C2000DSP之间的通信是单向的,即C5000只进行发送而C2000只进行接收。它们之间是通过FIFO进行缓冲的。C5000首先将仿真运算的转速和转矩数据通过总线放入接在其IO空间的FIFO中,再向C2000发送中断请求。C2000收到后,响应中断,进行中断服务,从FIFO的相应位置取出数据并存入特定地址的存储器中,再回复C5000告知数据已经被取出。如此周而复始,不断进行数据的收发。


ARM与C2000DSP之间的通信主要是ARM主控打开或关闭C2000系统,采用单向直接传送方式。它们之间通过各自的一个GPIO(通用IO口)相连,ARM发送,C2000接收。ARM要打开C2000系统时,只需向其对应的GPIO写1,而ARM要关闭C2000系统时,只需向其对应的GPIO写0。在C2000部分,在主体循环程序中每次查询C2000的对应GPIO口,读为1则表示继续其进程,而读为0则表示关断其进程。


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


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


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


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


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


结束语


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


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


推荐阅读

史海拾趣

ACT [Advanced Crystal Technology]公司的发展小趣事

ACT(Advanced Crystal Technology)公司是一家专注于晶体技术的企业。以下是该公司发展的五个相关故事:

  1. 公司成立与起步阶段: ACT公司成立于1984年,总部位于美国加利福尼亚州。创始人致力于研究和开发高性能的晶体材料和晶振产品。公司最初是一家小型的研究型企业,致力于满足军事和航空航天领域对高精度晶振的需求。

  2. 技术创新和产品拓展: 随着市场需求的增长和技术进步,ACT公司不断进行技术创新,并扩展了产品线。公司推出了一系列高精度、高稳定性的晶振产品,覆盖了频率范围广泛的应用,包括通信、医疗、工业控制等领域。

  3. 市场拓展和国际化发展: ACT公司积极开拓国内外市场,并与全球各地的客户建立了合作关系。公司的产品不仅畅销于美国本土市场,还远销至欧洲、亚洲等国家和地区。通过与国际合作伙伴的合作,ACT逐步实现了国际化发展战略。

  4. 质量控制和技术支持: ACT公司注重产品质量和技术支持,建立了严格的质量控制体系和售后服务体系。公司拥有一支专业的研发团队和技术支持团队,为客户提供定制化的解决方案和技术支持,确保产品的稳定性和可靠性。

  5. 未来发展展望: ACT公司将继续致力于晶体技术领域的研发和生产,不断推出更先进、更高性能的晶振产品,以满足客户在不断变化的市场需求。公司将加强与客户的合作,深化技术创新,提升产品品质和服务水平,努力成为行业内的领先企业。

台湾富晶(FORTUNE)公司的发展小趣事
对于老化或损坏的元件进行更换,确保触发器的正常工作。
City_Technology公司的发展小趣事

随着业务的不断扩展,City Technology于1990年在英国南海岸的普茨茅斯建立了生产基地,并将办公楼从伦敦中心区迁至该地。这一举措不仅提高了公司的生产效率,也为其进一步拓展国际市场提供了有力支持。此后,公司开始在全球范围内设立销售中心,包括波恩(德国)、苏黎世(瑞士)、上海及芝加哥等地,逐步实现了业务的国际化。

启珑(CHIPLON)公司的发展小趣事

随着市场的不断变化和需求的日益增长,City Technology并未满足于已有的成就。在1980年代末至1990年代初,公司积极扩展产品线,相继开发了电化学有毒气体传感器和可燃气体传感器。这些新产品的推出,不仅丰富了公司的产品线,也进一步巩固了其在气体传感领域的领先地位。同时,公司还不断对已有产品进行优化升级,以满足客户日益多样化的需求。

中微股份(Cmsemicon)公司的发展小趣事

中微股份(Cmsemicon)的起点可以追溯到2004年,当时公司以刻蚀设备为核心业务,致力于引领中国刻蚀技术水平的提升。经过几年的不懈努力,2007年,中微成功研制出首台CCP刻蚀设备,这一里程碑标志着公司在刻蚀设备领域取得了重大突破。此后,公司不断突破技术壁垒,2011年刻蚀设备达到45nm工艺节点,2013年达到22nm,2016年更是达到了14nm,并当前已量产5nm工艺节点设备。这些技术成果不仅证明了中微在刻蚀设备领域的实力,也为公司的后续发展奠定了坚实基础。

CHONGQING PINGYANG ELECTRONICS CO.,LTD.公司的发展小趣事

随着公司的发展,技术创新成为推动重庆平洋电子有限公司不断前进的重要动力。公司不断加大对研发的投入,引进高端人才,积极研发新技术、新产品。经过多年的努力,公司在电子元器件领域取得了重大突破,产品性能和质量得到了显著提升,赢得了市场的广泛认可。

问答坊 | AI 解惑

关于12232模块

大家谁有AT89S51控制12232模块显示的程序拿出来分享哈,非常感谢。。。…

查看全部问答>

电子小制作电路图:双键触摸式照明灯

电子小制作电路图:双键触摸式照明灯 本电路图使用两个触摸电极片,分别代替在实际生活中的开和关控制。 一、电路工作原理 双触摸式照明开关电路如图1所示。 VS与VD7构成了开关回路。当人触摸到M1(开)电极片时,人体通过R4、VD5整流后给IC NE5 ...…

查看全部问答>

WDK+DDKWizard+vs2005环境,都设置好了却总是生成win7的sys,怎么回事

ddkbuild.bat,cmd,拷到了winddk目录下,加了wxpbase环境变量,vc目录选好了。 用ddkwizard建一个driver,选winxp的驱动,生成工程。原封不动的编译,只能得到win7的驱动。 ddkwizard连win7都不支持,怎么会出现这种情况?! 高手帮忙看一下好 ...…

查看全部问答>

求问 什么是MO/MT call 啊?

看到网上都说的不仔细 到底是什么东西 一个是打入 一个是接听么? 还是什么东西啊…

查看全部问答>

请教s3c2442的sdram初始化问题

各位朋友,请问有做过s3c2442的么?我现在在调试s3c2442的开发板,uart和nand flash已经测试可用了,但是到sdram的时候卡住了 具体的问题就是:根据s3c2442的数据手册,初始化之前首先要precharge all,我看了precharge all的真值表,需要设置RA ...…

查看全部问答>

移植minigui遇到的问题

我用的是S3C44B0的板子已经移植好的uclinux和framebuffer,按照网上一篇点击率较高的帖子进行对minigu1.3.3版本的i移植   在进入mde-1.3.0目录编译时遇到了问题,解决到最后出现如下信息:   /usr/bin/ld: cannot find -lmgextcollec ...…

查看全部问答>

基于STM32 虚拟示波器(通信协议*下位机源工程*原理图完全公开)

        以“低成本和高性能”为设计思想,借助虚拟仪器的概念和高速的数字信号处理算法将传统的函数发生器、示波器、数据记录仪、频率计、谱分析仪以及滤波器设计和仿真等功能高度集成、统一平台方便使用。 &n ...…

查看全部问答>

2812搜查令+TMS320F2812在足球机器人上的应用

摘要:介绍了RoboCup小型组足球机器人的结构 及其底层控制系统的性能要求,详细阐述了TMS320F2812作为主控芯片在足球机器人底层控制中的地位及其在通讯、电机控制、带球和击挑球控制等方面 的具体应用。关键词:TMS320F2812 足球机器人 控制系统机 ...…

查看全部问答>

我来迟了,送上春风电源资料以供参考

正想做一个自己实验用的电源,想来论坛发起活动,没想到大家竟然先开工了…… 资料来自网络,原作者为春风 上资料……    …

查看全部问答>

求助430仿真软件

我wind7  64 位的笔记本安装IAR MPS 430 后程序下载不了,求大神教下?  如果有其他的仿真软件的话请发下  1024611960@qq.com   新手请大家帮助…

查看全部问答>