飞利浦医疗集团开发用于MRI系统的智能数字射频电源子系统

挑战

开发一种用于MRI系统的新型数字射频功率分系统

解决方案

使用Si万博1manbetxmulink对设计进行建模、仿真和验证,并使用HDL Coder为FPGA实现生成一致和可预测的VHDL代码

结果

  • 在开发早期解决了设计问题
  • 权衡迅速评估和实施
  • 改进了流程的一致性和可预测性

S万博1manbetximulink帮助系统架构师和硬件设计师进行沟通。它就像一种共享的语言,使我们能够交流知识、思想和设计。万博1manbetxSimulink和HDL Coder使我们能够专注于开发算法,并通过仿真优化设计,而不是检查VHDL语法和编码规则。”

Marcel van Bakel,飞利浦医疗
范·赫尔沃特(左)和范·巴克尔在飞利浦医疗保健中心使用核磁共振扫描仪。

磁共振成像(MRI)系统应用强大的射频(RF)和强磁场系统排列人体组织中的质子磁矩。为了使MRI系统产生高质量的图像,必须精确控制射频电源子系统的时间和线性度。由于射频功率放大器的峰值功率接近40kw,保持信号相位精确到几皮秒内是一个重大挑战。

飞利浦医疗保健工程师使用MATLAB进行基于模型的设计®,仿万博1manbetx真软件®,以及HDL Coder™来开发用于MRI机器的创新数字射频电源子系统。实现硬件描述语言(VHDL)®该子系统采用数字预失真和反馈控制回路,以达到所需的精度和线性度。

Philips Healthcare的高级经理Mark van Helvoort说:“创建VHDL代码是我们必须做的一项活动,但我们并没有为它增加多少价值。”“万博1manbetxSimulink和HDL Coder使我们能够专注于开发算法,并通过模拟来改进设计,而不是检查VHDL语法和编码规则。”

挑战

在以前的项目中,Philips Healthcare的硬件工程师通常很难将系统架构师用C开发的算法思想转换为位和周期精确的FPGA实现。这些翻译问题,加上放大器线性度的变化和VHDL程序员编码风格的差异,使得开发过程难以预测。

手工编码HDL减缓了设计迭代,使调试现有算法、测试新算法思想和评估设计折衷以确保整个设计适合目标FPGA变得困难。Philips医疗保健工程师需要一种方法,在硬件测试之前评估设计修改和权衡,并加快在FPGA上实现经过验证的设计。

解决方案

飞利浦医疗集团采用基于模型的设计方法开发了MRI数字射频电源子系统,并在VHDL中实现。

工程师们使用Simulink对一个由数万博1manbetx字射频接收机和比较器、射频波形发生器和放大器组成的架构进行建模。在这种结构中,放大器的前向和反射输出被感知并反馈到数字接收机,在那里它与所需的有效信号输入进行比较。利用数字预失真产生校正后的目标信号,并将其发送到波形发生器。

Simulink中的射频波形发生器子模型包括一个载波NCO、单边带混频、级联万博1manbetx积分器-梳(CIC)和有限脉冲响应(FIR)滤波器组件,以及一个多频带调制器。数字接收机和比较器子模型包括模数转换器、解调和数字下转换器模块,以及附加的滤波器。

该团队在Simulink中使用浮点精度对这些子系统建模,然后对模型进行模拟,以测试、调试和优化射频传输链。万博1manbetx

他们将模型转换为定点精度,并运行额外的模拟来验证转换。

使用HDL Coder,他们从他们的Simulink模型生成VHDL代码,并将代码打包到库中。万博1manbetx将库导入到Mentor Graphics之后®ModelSim®,该团队将生成的代码集成到整个FPGA设计中。在ModelSim中运行模拟以证明总体设计是正确的之后,他们将代码部署到Xilinx中®Virtex®FPGA。

在团队生成新的VHDL库并更新FPGA以进行进一步测试之前,在Simulink模型中复制、诊断和解决了硬件测试期间发现的问题。万博1manbetx

飞利浦医疗保健计划在生产MRI机上使用创新的数字射频电源子系统,包括由HDL编码器生成的代码。

结果

  • 在开发早期解决了设计问题.飞利浦医疗的电子设计师Marcel van Bakel说万博1manbetx:“Simulink中的定点模拟揭示了一个我们的系统架构师认为不可接受的虚假频率。”“使用Simu万博1manbetxlink,我们追踪问题到一个舍入误差。基于模型的设计使我们能够在开发早期解决这个问题。”

  • 权衡迅速评估和实施.van Bakel说:“早期的设计包括一个24级FIR滤波器,但我们发现它会消耗太多的FPGA资源。”“在30分钟内,我们建模了一个更简单的过滤器,并使用Simulink中的频谱分析仪进行验证。万博1manbetx这种改变需要一周的时间在VHDL中手工编码,并在硬件上进行测试。”

  • 改进了流程的一致性和可预测性.van Bakel说:“不同于由不同开发人员编写的VHDL代码,由HDL Coder生成的代码是一致的,这意味着使用它的下游工具的行为是可预测的。”“生成代码不仅节省了时间,还降低了风险,降低了引入错误的机会。”