LabVIEW系统设计软件
概览
长期以来的预测趋势揭示了整个系统设计流程中的设计和测试趋于统一,这两个先前独立的功能将被集成在一起。集成功能的明显优势在于缩短了投入市场的时间并获得更好的整体质量,而这些优势都归功于在创建设计的同时集成了测试定义和实现。在系统设计过程中,从仿真到实现以及最终系统部署,都可以对这些早期测试平台进行重用。
为了真正实现设计和测试统一,尤其对于类似RF通信等复杂功能,需要在测试和实现的设计生命周期的所有阶段都能够有效执行所选的系统设计软件和语言。在这之前,用于系统仿真或设计与用于系统实现的工具及技术存在很大不同。此外用于设计和实现的工具和语言通常不同于测试中使用的工具。这将导致不同功能团队使用不同的工具,将增加交流的复杂程度并降低设计和测试中可重用代码的流动性。这些因素都是实现设计和测试统一的主要障碍,因此理想的系统设计软件需要提供单一语言用于仿真、实现和测试,并在所有设计阶段和功能间最大化代码重用。
减少限制的传统方法
通常能够跨越设计过程各个阶段和功能的工具都尝试着减少每个阶段和功能之间的限制,而不是创建可跨越所有阶段和功能的单一环境和语言。例如,在新兴的RF通信标准开发中,通信系统设计专家可能会使用纯数学算法对通信流进行建模和仿真。为了测试模型,设计人员可能会创建自定义的测试平台或者重用合规套件对工业标准协议进行测试。
当设计功能达到要求时,从设计到实现的传统转换方法会将算法交给其它组,并通过手动方式将数学算法转换为程序实现,通常将根据实现的执行要求使用ANSI C或HDL语言。
图1. "V"框图通常用于说明设计、实现和测试的理想流程。将通用系统设计语言用于跨越整个"V"流程可以最大化技能和算法重用,同时可以最小化转换错误和查找修正周期数。
此外需要转换测试平台本身,该转换步骤需要具有不同技能的其他组实现,并且任何转换中丢失的部分都可能导致新缺陷或测试覆盖度降低。即使初始转换阶段可能不够复杂,但该问题会随着重新定义设计或发现程序实现缺陷等变得更加复杂。设计算法和程序实现的分离将导致"查找并修复"开发周期变慢。
为了缓解部分问题,一些工具可提供自动代码生成步骤以便帮助仿真至ANSI C或HDL的转换。虽然该过程有利于将算法设计迁移至处理器或现场可编程门阵列(FPGA),但仍需要由熟悉ANSI C或HDL的开发人员进行部署和调试设计。可能不会存在完美的原始设计,而自动代码生成也会存在缺陷。
LabVIEW所提供的单工具方法
替代方法将利用到NI LabVIEW系统设计软件,通信设计人员可以使用LabVIEW对通信流进行建模,然后实现测试平台。当满足设计和测试要求后,系统设计人员仅需将设计算法的终端直接重新设定为处理器或FPGA以用于具体程序实现。从最初的实验性设计到最终程序实现,系统设计人员可以使用相同的环境、算法以及调试和测试方法。该方式可以最大化技能和算法重用,同时最小化转换错误和查找修正周期数。
既然在设计、实现和测试中重用相同算法而无需独立的代码生成步骤可提供各种优势,那么为什么其他系统设计软件不直接使用重用的方法?这主要是由于一些历史原因导致了该情况的出现。大多数系统设计软件最初用于仿真空间,并且该仿真已为系统行为的时域验证进行优化,然后向程序实现方向发展。LabVIEW核心为系统实现,并朝设计和仿真方向发展。其编程语言、环境以及更重要的IP/算法模块是为了在处理器和FPGA上以实时速率进行编译和执行而设计的。
除了实现算法重用,LabVIEW的程序实现传统很大程度上对部分仿真-时间活动进行了加速。例如,LabVIEW可将台式机算法完整编译为专用处理器的机器代码。对于纯功能DSP类型算法,系统设计人员将以相对于连续时域仿真方法的更快速度对算法进行实现和调试。与用于终端FPGA的设计仿真相比,该优势尤其明显。LabVIEW可支持位及周期精度仿真的预期形式。在特定情况下功能测试通常能满足需求,但LabVIEW可将速度提高多个数量级,主要原因为功能代码已为本地功能执行进行了完全编译和优化,而不再仅仅是"仿真"。相对于较慢的仿真算法,在仿真中重用快速的实现算法更具实际用途,因此与其他系统设计软件相比,LabVIEW优势更为明显。
LabVIEW系统设计和RF通信设计
在RF的设计和测试趋于统一范例中,相对于普遍统一的趋势,通信设计将导致部分特有的复杂性。最主要情况为,当测试RF接收器时必须创建一个发送器,而测试发送器也必须创建一个接收器。大多数时候该测试的信号和测试特性必须超出设计本身规范。此
- 基于LabVIEW RT的自定义流程测控系统(10-30)
- 基于LabVIEW的语音分析平台的实现(10-30)
- 基于示波器卡和LabVIEW的马达编码器测试系统(11-06)
- 基于虚拟仪器的网络虚拟实验室构建(11-06)
- 运用LabView控制DS3900串口通信模块(02-02)
- 采用模块化仪器,对新兴音频和视频应用进行测试(02-19)