提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
1、dSpace的软硬件组成
1.1 硬件组成
1.1.1 实时机
本质上为工业服务器/消费级PC+实时操作系统RTLinux/QNX
【硬件】独立可拓展服务器:工业RTPC(大模型,可拓展,用于HIL。使用Intel XEON处理器,例如E3-1275v6,SCALEXIO RTOS based on RTLinux)
【硬件】小型嵌入式处理器:DS6001板卡(小模型,高带宽,用于RCP。使用Intel Core处理器,例如I7 6820EQ,使用QNX RTOS)
【硬件】级联板卡:IOCNET通讯板卡(DS2502 IOCNET Link Board),用于RTPC
【硬件】组网板卡:千兆以太(如DS6335)/车载以太板卡(如DS6333)
【系统】RTOS:SCALEXIO RTOS(基于RTLinux)、QNS RTOS
【级联】RTPC可以运行SCALEXIO Hypervisor Extension(基于KVM实现),可以同时运行SCALEXIO实时系统(基于RTLinux)和标准Linux/QNX RTOS(如运行在板卡上如DS6001 With I7 6820EQ),物理上通过dSpace IOCNECT光纤协议,实现跨系统的低延时、高带宽通讯。
RTLinux介绍:链接1、链接2、PREEMPT_RT补丁官方介绍
1.1.2 板卡
本质上为PC拓展IO,将入口高带宽接口分发到各个出口低带宽接口,或携带部分处理运算功能。目前所有的跨板通讯均为差分串行接口,其中以光纤和多通道PCIe速度最快。光纤传输距离长、物理限制小,PCIe基本用在板卡插槽处。
IOCNET->PCIe->其他接口,如ETH/串口/定制单端口/定制差分口等
模拟数字通用IO板卡
- DS6101:数字IO+模拟IO
- DS6121:数字IO+模拟IO
- DS6201:数字IO
- DS6202:数字IO
- DS6221:模拟In,AD转换
- DS6241:模拟Out,DA转换
- DS2680:数字IO+模拟IO+阻抗Out,FIU
- DS2690:数字IO,FIU
FPGA定制板卡(嵌入某些定制模型)
- DS2655:5AD,5DA,10数字IO
- DS6601:32数字IO,RS232/RS485
- DS6602:6AD,6DA,16数字IO
信号板卡
- DS2601:数字IO+模拟IO,信号采集卡,FIU
- DS2621:数字IO+模拟IO,信号发生卡,FIU
故障注入板卡
- DS2642:电源切换,中央FIU(配合其他板卡IO,实现IO故障注入)
通信板卡
- SCALEXIO Processer:RS232,ETH
- DS6001 Processer:RS232,ETH
- DS6301:CAN/LIN
- DS6311:FlexRay
- DS6321:UART
- DS6331-PE:ETH
- DS6334-PE:AETH
- DS6335-CS:ETH
- DS6336-CS:ETH
- DS6336-PE:AETH
- DS6341:CAN
- DS6342:CAN
- DS2671:CAN,LIN,FlexRay,RS232,RS422,RS485,FIU
- DS2672:CAN,LIN,FlexRay,FIU
每个板卡在通道数量、通道的In/Out配置、是否支持FIU、各协议的支持情况和兼容情况均有差别。
1.1.3 外设
除Processor(RTPC/DS6001)和各种IO板卡外,其他均为功能性外设,例如:
- SensorSim PC:高性能消费级渲染PC(RTX4000-RTX6000,I9),用于多路传感器RAW数据渲染
- 视频暗箱:用于摄像头暗箱仿真
- ESI:基于FPGA,用于摄像头注入仿真
- RadarOTA台架:用于毫米波回波模拟HIL仿真
- UltrasonicOTA台架:用于超声波回波模拟HIL仿真
- 制动台架:用于制动系统HIL仿真,湿式柜+直线电机
- 转向台架:用于转向系统HIL仿真,横向负载+方向盘扭力
- 驱动台架:低功率级/功率级/测功级
- 座舱台架:用于智能座舱系统HIL仿真
- V2X台架:用于V2X网联系统HIL仿真
- 转股:用于VIL测试
- 测功机:用于VIL测试或者电机测试
- 所有被测件:利用Processer和板卡的IO资源实现在环
- 各种台架上的传感器、执行器以及其他被控和监控设备
1.1.4 组网
所有基于网络的设备(对延迟不敏感,对空间敏感)需要利用交换机组在同一个网内,需相互可寻址,主要需要组网的设备包括但不限于:
- 各种PC机
- 低实时需求的大型设备
- 数据和版本管理服务器
1.1.5 总成
dSpace硬件集成解决方案的交付方式总共分为3种:
- AutoBox:搭载Processor DS6001,用于车载VIL测试或RCP(车载供电,抗震性好)
- LabBox:搭载Processor DS6001,用于零件IO测试或RCP(交流供电,卡槽多)
- RackSystem:搭载Processor RTPC,用于大模型(如整车模型)或RCP(交流供电,可定制机柜,可级联)
【AutoBox】
【LabBox】
【Rack System】(9HU-9 Height Units)
1.1.6 典型应用
【HIL测试】
被测件在环,仿真总线环境及整车模型
下图为9HU标准机柜HIL测试解决方案
【RCP验证】
环境在环(如有真实的整车环境或总线环境),仿真被测ECU硬件,利用dSpace的架构在Matlab-Simulink种实现快速原型开发并上车,或者接入上方的HIL系统。
下图为LabBox,上车可使用AutoBox
1.2 软件组成
1.2.1 ControlDesk-控制及监控软件
安装于上位机中。主要功能包括:
- 设计模拟控制面板
- 监控模型和设备状态
- 与实时机中的模型进行实时信号交互
- 查看模型及被测件网络信号状态并录制
1.2.2 MotionDesk-场景渲染软件
安装于上位机、SensorSim PC中。主要功能包括:
- 场景渲染(Host、Slave)
- 静态场景模型添加
- 传感器模型原始数据仿真
- 环境仿真
- 视角切换
- 场景可视化
1.2.3 ModelDesk-模型编辑软件
安装于上位机。主要功能包括:
- 路面模型编辑
- 路网模型编辑
- 交通模型编辑
- 车辆模型编辑
- 交互信号设置
1.2.4 ConfigurationDesk-接口配置软件
安装于上位机。主要功能包括:
- 配置硬件关系
- 配置模型关系
- 模型编译(基于Matlab二次编译)
1.2.5 AutomationDesk-自动化测试软件
安装于上位机。主要功能包括:
- 自动化测试程序设计
- 自动化测试流程设计
- 自动化数据分析脚本
1.2.6 SYNECT-数据管理软件
安装于上位机、服务器。主要功能包括:
- 账号管理
- 自动化测试管理
- 数据库管理(Microsoft MySQL)
- 测试报告功能
1.2.7 Matlab-Simulink模型
安装于上位机。主要功能包括:
- 多核模型设计
- 模型搭建
- 模型编译
除了传感器原始数据模型,所有模型均由Matlab-Simulink实现。
1.2.8 文件体系
【.sdf】: system description file,系统描述文件。由ConfigurationDesk编译过程生成,定义了实时应用、参数和测量变量。
- 【.rta】:real-time application file,实时应用文件。由ConfigurationDesk编译过程生成,包含可在processor上运行的可执行目标文件,用于下载到实时系统。
- 【.osa】:offline simulation application,离线仿真应用。与rta文件互相替代,用于下载到VEOS(离线仿真平台)平台中。
- 【.map】:map file,物理映射文件。 由ConfigurationDesk编译过程生成,需与trc在同一目录下,反应symbolic和 physical address的映射关系。
-【 .trc】:variable description file,变量描述文件。ASCII文件,由ConfigurationDesk编译过程生成,也可以手动更改,面向dSpace实时硬件,提供实时应用的变量信息、Simulink模型变量从试验软件到模型的追溯信息,用于在软件中访问相应的变量。
-【 .cancfg】:总线配置文件。
SDF文件内容
- 系统信息
每个核的trace信息
RTA文件内容:二进制文件
MAP文件内容:编译信息
TRC文件内容:变量结构体
CANCFG文件:CAN信息结构体
1.2.9 文件工程
- Animation:对应MotionDesk,场景+传感器模型相关文件
- Automation:对应AutomationDesk,含自动化测试工程文件
- Configuration:对应ConfigurationDesk,含模型配置工程文件
- Documentation:资料文档管理
- Instrumentation:对应ControlDesk,含控制面板工程文件
- Parameterization:对应ModelDesk,含车、路、交通模型及参数
- Simulation:Matlab-Simulink模型
Animation
- 【Folder】MotionDesk_Traffic:MotionDesk交通渲染相关所有文件
- 【File】.UCD:定义了SensorSim PC的IP等接口和SensorSim工程实例目录
Automation
- 【Folder】ProjectTest@adpx:AutomationDesk工程依赖文件及结果
- 【File】.adpx:工程文件(XML描述)
Configuration
- 【Folder】工程文件夹:ConfigurationDesk工程相关所有文件
- 【Folder】backup
Documentation
- 【Folder】工程文件夹:交付和依赖文档管理
Instrumentation
- 【Folder】工程文件夹:ControlDesk工程相关所有文件
Parameterization
- 【Folder】Env_RoadConverter:经纬度转换Demo
- 【Folder】模型文件夹:ModelDesk工程相关所有文件
- 【Folder】RawData:模型参数汇总表
Simulation
- 【Folder】依赖m文件夹:模型及台架
- 【Folder】ASM模型
- 【Folder】总线模型:dbc文件,Simulink配置后生成的依赖文件
- 【Folder】功能模型:s-function,slave app等非Simulink模型
- 【Folder】初始化文件
- 【Folder】工程依赖库
- 【Folder】Simulink模型
- 【Folder】Simulink Project文件
- 【File】.m启动文件
2、使用步骤
2.1 架构设计
2.1.1 硬件架构设计
核心问题:硬件选型及拓扑设计、OSI七层架构模型的实现
2.1.2 交互架构设计
核心问题:针对需求的核心交互诉求梳理
2.1.3 模型架构设计
核心问题:针对测试需求、交互需求、硬件基础的软件架构
2.1.4 自动化测试方案
核心问题:高效、鲁棒的自动化设计,远程调度解决方案
2.1.5 数据管理方案
核心问题:账户管理、数据存储、数据清洗、数据分析解决方案
2.2 架构实现
2.2.1 硬件设计:ConfigurationDesk工程配置
快速上手官方手册:ConfigurationDeskGettingStarted.pdf
2.2.1.1 总体简介
官方help文档给出的Configuration在整体架构中的作用:连接ECU和Matlab/Simulink模型
下边这个框图注明了Simulink Model和ConfigurationDesk的交互,以及两个不同核Simulink模型交互的链接方式
下图说明了ConfigurationDesk界面工作区中三个分区的概念和作用
下图体现了基于ConfigurationDesk进行Matlab/Simulink编译的过程
ConfigurationDesk界面说明:
其中Working View Manager功能介绍如下:
- Project:管理ConfigurationDesk项目和应用。
- Model-Function:
- Signal Chain:
- Buses:
- Tasks:
- Multiple Models:
- Build:
2.2.1.1.1 工程和应用管理
工程Projects:应用+技术管理文档。与应用是一对多关系。
应用Application:包含以下内容:
- Device Topology 设备拓扑
包含外部设备通讯接口,如DUT(Device Under Test)、外部负载。包含设备pin信息及其特性。可以从DTFX或XLSX文件导入,或直接在ConfigurationDesk中搭建。其中DTFX文件是设备拓扑描述文件格式。
- Hardware Topology 硬件拓扑
- Model Topology 模型拓扑
- Communication Topology 通讯拓扑
- External Cable Harness 外部线束拓扑
- Build results 编译结果
- Generated Containers
设备拓扑、硬件拓扑、模型拓扑、通讯矩阵、外部线束、编译结果(成功编译后生成)、生成容器(在总线仿真容器生成后生成)
下图为两者之间关系的描述:
下图为各个要素在ConfigurationDesk中的视图
2.2.1.2 学习内容
2.2.1.2.1 创建实时应用:建立ECU->Model桥梁
官方help给出的搭建单模型ConfigurationDesk应用的流程图如下:
【Step1】创建项目Project和应用Application
确认好根目录、项目名、应用名后,单击Create,得到如下空白项目界面:
至此新项目和应用已创建完成,可以在上方窗口顶部看到Project:XXXX Application:XXXX
【Step2】创建Device Topology
View->Switch Control Bars->External Devices,调出Device窗口
在External->Devices窗口右键,new,新增一个Device
配置device的IO,这里仅配置了一路CAN总线,实现device对RTPC中模型的控制
配置功能模块。Configuration 6.7版本后没有CAN功能模块,这里采用CAN BUS Manger。
自己编辑一个CAN dbc文件,在BUS界面中右键Add Communication Matrix 导入,并拖拽至Bus Configuration下。结果如下图
如果没有Bus Configuration,在Home->Windows下拉箭头下启用Bus Configuration窗口
使能Model Access
配置Signal Chain。由于CAN通信需要先配置好硬件拓扑,下方根据Build栏检测到的硬件,在Signal Chain->Hardware Resources中配置硬件拓扑资源。注意上位机和实时机保持在同一网段内,否则检测不到硬件。
Hardware Resouces中灰色小图标代表纯硬件,例如卡槽、机箱等
建立Function Block。在BUS->BUS Access Requests->Assign Automatically,会在Signal Chain中自动生成Function Block。修正External Device,增加接地port。并检查properties->general的设置内容
给CAN Function Block分配硬件IO,如下图:
导入slx,并创建Model Port Blocks与Signal Chain的链接
Model窗口右键Import->Add Model
右键Bus Configuration->Propagate to Simulink Model,自动根据输入输出导入既有slx中
或选择Generate New Simulink Model Interface,直接创建新模型
【Step3】创建