以下文章来源于汽车ECU开发,作者十六宿舍
电控系统通过CAN网络指挥电动汽车电子器件的运行,包括各种电子控制器,传感器与驱动器等,简单的CAN盒可以实现CAN报文收发以及监控等功能,搭配功能强大的使用软件,CAN总线分析仪能够帮助调试模拟CAN总线状态,完成相关高级功能以及测试过程。
PCAN
PCAN为PEAK-System公司的CAN总线产品,下面我们介绍一下PCAN-Explorer5基本使用方法。
与硬件建立连接
点击Nets Configuration,弹出网络配置对话框,该窗口中显示了已经连接上的硬件,我这里有两个PCAN-USB表示我连接了两个PCAN-USB到电脑上。有把蓝色锁的连接表示该连接已经通过另外一个软件与电脑连接上了。
首先要新建一个工程,然后在添加连接。
接收和发送报文
点击View菜单下的Receive/Transmit,会出现如下图所示的发送接收窗口,在这里可以显示接收到的报文和要发送的报文。
导入DBC文件
CAN总线的dbc文件就是CAN总线的库文件,通过dbc文件,可以将16进制的CAN报文解析为我们容易识别和理解的信号值,如温度,压力等。
但是需要注意的是,导入dbc文件后还需要点击应用才可以解析报文。在dbc文件名上单击右键,选择Open in Symbol Editor,可以再Symbol Editor中看到每个ID所代表的信息,具体哪个字节代表什么信号,报文与信号值之间的数学关系等报文的详细信息。
我们还可以查看DBC文件中对信号的具体定义。
将报文保存为trc文件
使用Trace记录报文,其记录报文的数量可以说是不受限制的,只与硬盘的容量相关,按照下图设置即可:
当然也可以点击主菜单栏中的File中的另存为按钮。
同星CAN卡
上海同星的CAN卡配合TSMaster可以实现一下测试仿真功能。
使用TSMaster从零打造车辆控制器HIL实时仿真,搭配同星的硬件接口模块就可以达到最高性能。基于HIL仿真的实时性,我们就可以通过操纵总线数据发送的方法来执行实时仿真。
运用TSMaster做CCP/XCP标定。标定是作为整车及ECU开发过程中不可或缺的一个开发流程,对整车及ECU性能的优化起着至关重要的作用。
建立诊断控制台基础功能,用户可以根据需求配置自己的发送和应答请求。诊断传输层类型支持CAN/CANFD/LIN。未来将支持汽车以太网与FlexRay。
下面我们介绍一下使用同星CAN卡+TSMaster实现英飞凌TLE989X系列芯片程序烧录功能,无需单独开发上位机,如果更换新的芯片平台以及BootLoader刷写流程,仅需更改配置即可。
方案概述
同星提供的代码包内包含了APP1、APP2、Bootloader、boot_TSmaster、使用说明文档,其中:
APP1文件和APP2文件是LED闪烁不同频率的APP例程。
boot_TSmaster文件夹中是配置好的TSmaster上位机软件工程例程,结合Bootloader可以实现下载APP的功能。
Bootloader文件里面是 bootload 的源代码,需要预先编程至芯片内部,在芯片内部配合TSmaster完成应用程序的刷写功能。
Bootloader service manual是中英文的使用手册。
在BootLoader示例代码中,刷写流程分为以下十个步骤。
10 03 //10服务切换到03扩展模式。
85 02 //关DTC(Boot中为空服务,没有具体实现)。
28 03 01 //服务关报文(Boot中为空服务,没有具体实现)。
10 02 //10服务切换到02编程会话。
27 01 // 27服务,解锁,通过安全验证。
27 02
2e 00 00
31 00 00
(34、36、37) //复合诊断服务下载APP。
11 //ECU复位。
下面从TSMaster软件的基本参数配置,以及诊断服务和刷写流程三个方面介绍一下要完成整个刷写流程,上位机需要完成的相关工程配置(也可以直接使用boot_TSmaster文件夹中是配置好的上位机软件工程例程)
基本参数配置
打开TSMaster软件,选择创建新工程-诊断-UDS诊断,然后选择一个新工作目录,创建一个新文件夹,点击选择之后进入到TSMaster工程文件中。
CAN通道配置,如下图所示,最上方硬件、通道选择设置一下CAN通道:点击总线硬件、配置波特率。配置通道一为1000kbps,通道二为500kbps。
新建一个uds诊断模块。
设置诊断基本参数,Protocal的Transport Layer,通道选择channel 2。
设置Diagnostic layer参数。将安全算法的dll导入。
配置诊断服务
在这里配置我们刷写流程中会用到的所有诊断服务,以及用于下载APP的复合诊断服务(343637),复合诊断服务中包含APP文件的加载、配置校验方式、配置擦除Flash、请求和传输数据配置、传输退出配置等。下面我们挑选两个比较重要的诊断服务进行说明。
下面为新建一个复合诊断服务(343637),在“Basic Diagnostic Config”选项卡,创建服务,在“Service Name”中修改想要的名字,点击+号选中想要烧录的文件之后,下方会显示出了文件中的数据区,以及每个数据区的参数信息,TSMaster会全自动地把这一切全部刷写进去,之后会得到两个重要信息,待刷写数据的地址、待刷写数据的长度。
烧录完s19文件后需要进行一个校验来判断烧录文件的完整性。在31服务中创建一个新的服务,改好对应的数据,在下方参数中的“Value Type”里选择“SystemVar”,修改数据长度为32,最后添加校准参数。
完成之后,再去把该动作添加至“Automatic Diagnostic”中相应烧录文件的流程后。
配置刷写流程
在自动诊断流程中配置根据我们前面提到的步骤配置刷写流程。配置好之后,可以用CAN转USB的CAN卡在线刷写,也可以将这个流程下载到离线工具TF1011中实现离线刷写。
配置完成之后点击启动,则进行整个诊断流程,如下图程序正在刷写中。