转向仿真系列-扭矩信号仿真01

  助力转向电机中(EPS)一般除了接收CAN节点,还接收来自于转向管柱下端的扭住传感器信号,所以要想电机正常工作,需将这一路信号给模拟出来并和下位机模型能实现数据的实时交互,这主要分为三个大的步骤。

一:信号协议的学习和解析
二:板卡的选择和仿真应用(FPGA仿真应用)
三:软件集成-(Veristand CD应用)

一:信号协议的学习和解析

因为扭矩传感器都在助力转向电机中,没有对外接口,因此仿真时最困难的是去确定协议,但市面上相关传感器所有协议基本就几种,一般而言,厂家也会对协议进行部分修改,以满足设计或者安全的需求,但也不会改变太多,变更太多可能会导致硬件层的变更,因此解析难度也不算高。

采集前,最好先用示波器在各PIN的样件端和ECU端各测一次,确定芯片输出模式。(漏极、源极)
实采波形如下:
实采波形
根据实采数据,可大概推测出可能协议,
协议的内容,本案例不做展开,有了此波形数据,确定我们的仿真目标

(注:最好办法就是查看其芯片,根据芯片手册,即可知道协议内容以及校验方式等信息)
芯片查询网址:

二:板卡的选择和仿真应用(FPGA仿真应用)

1>环境搭建

首先环境配置,请注意62bit Labview 2021无法生成FPGA模板。
软件环境
硬件为:NI实时机和PXI-7856

环境配置完成后,就开始创建一个
选择最后一个
选择完成后,选择项目类型
项目类型选择
然后进入系统设置,可以选择已连接上的硬件,或者创建一个新的硬件。建议是新建一个硬件(PXI-7856),一切选择完成后,会出现下图关于此硬件的一些基本情况,其中40 MHz Onboard Clock即为此硬件的时钟周期(Ticks),换算下来(1/40MHz)等于0.025us,可以理解为,要是你想隔1us发一个电平,此板卡中需要设置40个实时周期(Ticks),Connector0/1为板卡的IO,也是这次的调用对象。
硬件配置
综上,FPGA编程环境搭建完成

2>FPGA编程

进入项目主界面,在FPGA Target下面新建VI ,如下图
项目主界面
进入后面板,可看到关于板卡的函数
函数
本案例中主要操作的函数有:
IO的选择和控制
此函数主要用于IO的选择,并赋值,比如IO赋真
方法选择
此函数提供了一些常用的操作方法,比如等待下降沿触发
时钟

此函数主要用于时间的控制

举个小例子:
接收到上位机给出的下降沿指令后,令板卡通道1上面发送一个周期为1us的方波(当然了方波的高低电平在板卡输出和输入范围之内)
代码
但一般,我们需将控制变量放在上位机进行实时控制,并和主程序进行互动,这就需在上位机新建VI,如下图
主要是open->read/write/close,本例中就不做详细展开了
(注意:open时,一般选择编译好FPGA的文件,此步骤一般也是在编译完成之后,调试阶段除外)
上位机函数

3>FPGA编译

将例子中的VI点击运行,即开始编译(有云端编译和本地编译,云端不占用本地内存,但需注册NI账号且只有90天试用期)
编译过程一般较长
编译完成后,会有提示并生成xxx.lvbitx文件,上位机调用时,即可选用此文件。

一般调试时,因避免编译浪费时间,可选择仿真,这样就可以直接运行,查看逻辑是否正确。
模式选择

至此,我们完成了扭矩信号的FPGA的仿真。

三:软件集成-(Veristand CD应用)

此案例中是NI 实时系统,但NI veristand中对FPGA板卡的应用只提供的了几个简单常见的调用接口,对于此类自定义的,我们需要从custom devices中添加并实现数据交互。
(注意本段学习最好有一定的Labview编程基础)
FPGA官方接口

1>环境搭建

此模板中选用 64bit labview,32位无法正常识别驱动。
编程环境
veristand的版本:2021

需安装CD 开发驱动环境,如下:

  1. ni-custom-device-development-tools-2021-support_23.0.0.10_windows_x64.nipkg
  2. ni-veristand-2021-custom-device-labview-support-common_23.0.0.10_windows_x64.nipkg
  3. ni-labview-memory-management-tools-labview-2021-support_23.0.0.10_windows_x64.nipkg
  4. ni-custom-device-wizard-labview-2021-support_23.0.0.1_windows_x64.nipkg

2>驱动编程

如下图,新建一个模板程序
新建项目
选择异步执行
模式选择
此模板程序用于板卡和veristand的交互口定义和数据传输,但并没有规定具体的板卡和交互,这一块也正是我们所需要在模板程序中添加的部分。编译完成后,既可以在veristand配合模型中完成板卡的数据交互
项目主界面
这里面有三个VI比较重要,如下图两个VI主要是用于变量的定义和控制,本案例中不详细展开,可自行搜索,相关解释挺多的。
其中两个函数
主要讲解 RT Driver VI.vi,
下图中,黄色框部分即为函数从veristand中读取数据,我们需在此将控制板卡写入的VI插入
(可理解为将FPGA上位机控制的部分)
Veristand数据读取
同理,此部分为板卡采集的数据需在此插入,写入到veristand中
Veristand数据写入

举个小例子:
此处重点强调下,Veristand的中的参数如下图,是依顺序依次传入到FIFO中,无需人为匹配
参数

其中的交互程序就是FPGA板卡的上位机控制程序
Drive RT

3>CD编译

编译需在上下位机各进行一次,如下图,点击右键->build
上位机编译
下位机编译时,请确保操作系统为Linux,下位机系统
下图中的系统则是不对的, 编译完成后,导入veristand会显示路径报错!如何处理此类型报错,本文不做展开。
错误的操作系统
(PharLap是NI公司早期的实时系统,较Linux相比,有点像windows,现已基本不用)
下位机编译如下
下位机编译
编译后生成文件的地址:
C:\Users\Public\Documents\National Instruments\NI VeriStand 2021\Custom Devices
其中的xxx.xml文件即为Veristand的可识别文件
索引地址

综上,完成基于Veristand环境下CD驱动的编写,导入Veristand CD模块,即可正常使用

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值