学习背景:最近想使用CANoe新建一个关于LIN项目地工程,结果发现自己连LIN在哪里接线都不知道。于是上网搜索了一下,发现其中有很多知识点。
本人主要是使用VN1640。
我们先来了解下,Vector的常用产品
1:VN16XX 系列
VN1630A
VN1640A
VN16XX家族系列主要是传统的CAN,LIN,以及各种传感器测试,仿真时测试。可以看到VN1630只有两个ch通道,VN1640有四个ch通道。如同我们第一眼见到某个人一样,我们都是第一眼看外表。我们看VN16XX系列的外表
1)成功安装CANoe软件后,第一步我们使用USB链接电脑和vn1630/40。如下图
2)接着观察指示灯,将VN1640,放正观察。
观察Status,该指示灯有三种颜色 红色、橘黄色、绿色
1)绿色表示设备正常工作,但是绿色也有两种状态。
a):绿色闪烁,表示器件和电脑正常链接,但是工程尚未开启,或者开启了simulation 或者Offline回放模式下。
b):绿色常亮,注意只有一种情况下 online模式,+realbus 模式下,接上实际的模块 ,然后开启测量,也就是这个黄色闪电小图标。本质上,就是当通道接口上,有真实的数据流入流出时,绿色才会常亮。
2)橘黄色
橘黄色比较简单,就是初始化时点亮。另外说一点就是,橘黄色其实就是绿色和红色灯同时亮起。
3)红色表示故障状态。
观察CH1-CH4指示灯
有两种状态
绿色闪烁和红色
绿色闪烁表示数据收发正常。红色表示错误。
作用是指示对应通道的通讯状态。指示灯颜色分红色、橘黄色、绿色三种。
· 绿色:代表当前通道正在进行通信
一般为闪烁状态,闪烁频率和通道内数据量的大小成正比。
· 橘黄色:在CAN总线出现错误帧时会显示为此颜色
· 红色:在CAN总线通信中代表此通道BUS OFF(总线关闭)状态
了解完指示灯,接下来了解VN1640的通道的的针脚定义。注意这个比较重点,因为我们在实际测量时,经常是需要自己制作DB9的公头
所以了解熟悉DB9的pin脚,就非常有必要了。
CANoe里面可以直接查看各个通道的PIN assigment 引脚分布图
上一张图我们VN1640A树结构下,有如下分支LINpigy,和CANpiggy 和onboard D/A io1021
我们想看LIN的引脚是哪一个?直接点击LINpiggy
这里需要注意两个点,PIN3引脚是GND,pin7脚LIN引脚。实测发现,LIN工程,pin3引脚也必须和被测样件共地。工程才能顺利运行。
我们再看看CAN的DB9的引脚:
2pin ==CAN_H;7pin = CAN_L;
2低7高;其他引脚不重要,暂时不需要了解
此外CANoe还有一个比较重要的接口,就是这个CH5-IO
据说这个口是比较神秘的,来让我们会会它吧!先看看CANoe自己的解释
扯个CH5有一路Analog Input,两路Digital input 一路Digital output 一路Digital GND
一路 Analog GND 一路Digital GND;
通道CH5主要用于模拟量输入、数字量输入输出使用,比如当我们需要采集一些电压信号、数字开关信号时,我们就可以通过此接口来完成。反应到具体应用中就是。比如我们在仿真某个节点时,他是需要搭载一些传感器,需要上拉,下拉电阻的。
另外比如我接触到的一些项目中,模块会监视供电电压并以信号的形式输出到总线上,我们需要测试供电电压和总线反馈电压是否一致。就可以用到CH5节点。
还有一点,CH5通道上的输出节点,
CH5的使用有如下步骤
2)选择我们的硬件类型,这里比较多余的提供了两个独立的界面添加,一个是框1,一个是框2.两个独立存在。我们根据与电脑连接硬件类型,选择正确的 I/O,我们选择VN1630/40 I/0.
3)我们发现;系统以及自动创建了4个SystemVariable,AIN(模拟输入),DIN0(数字输入),DIN1(数字输入1),DOUT(数字输出),有了这些输入脚我们就可以模拟一些外设传感器,利用输出脚输出一些pwm 电平。
此外为了更深入的理解,这方面的知识,我们还需要了解I/O口的内部结构
此时又会有小白同学问,pin3和pin7引脚到底是对应实物上,那个引脚
canoe上的是母头,我们用公头引出,如果有合适大小的杜邦线。也可直接套接在CANoe的母端。
了解完,硬件的基础知识,我们可以,创建一个LIN测试工程
因为CANoe的授权licenses机制
1)我们需确定我们拿到的VN16XX工具是否,具有LIN授权,可以先询问了解的同事。大家都不确定的情况下,我们链接好CANoe,打开CANoe软件,
可以看到,我使用的VN1640A,是有LIN授权的。所以可以创建LIN工程。
选择File->New->选择LIN模板->推荐使用Create Configuration (Wizard)。可直接创建一个LIN工程。
工程创建过程中,有以下几点需要注意:
1:本人使用的是CANoe10版本,可以正常使用。15版本会自动识别授权项,没有授权的项目,是不显示相关的模版的。如果想不受这方面限制,可以不接没有LIN授权的硬件。
创建工程后,经过调整和界面如下
1)因为项目本身,已经接上真实的EOP节点,所以在simulation中会将禁止掉(鼠标放在禁用的节点上,按下空格就可以在切换Active和Deactive模式)
2)因为接上真实节点,所以也要选择online&realbus模式。
3)依次选择和设置Channel Usage->Channel Mapping->NetworkHardwork
NetworkHardwork设置中需要注意
我们可以看到的,部分1,可以看到CANoe的驱动程序是什么?还可以看到Firmework的版本,
部分2:可以看到,有一个database setting ,因为LDF设置过程中,已经设置了protocol Type和Baud。故可以直接直接使用。CAN的DBC文件编辑过程中,没有设置CAN版本和波特率,所以必须手动设置。
还延伸出一个问题,就是LDF设置错误的波特率,或者干脆不设置波特率。将该LDF导入到工程中,而在Hardwork中设置正确的波特率。实测并不会报错。
CAN工程也一样,即使是使用500k的的模版,最后你设置实际波特率为100K,也不会报错。
也就是说, CANoe不会做这方面的检查。