基于UDS烧录的上位机源代码使用说明
1.总体说明
1.1.设备(CAN卡)操作
(1)软件集成了PCAN USB的设备操作,硬件设备的操作参考了设备的官方例程,本软件中仅使用了设备启动和关闭,消息接收和发送相关的接口,及例程中的先关参数定义。
(2)软件集成了周立功CAN设备操作
1.2.开发工具
本软件使用Visual Studio 2013集成IDE开发。
2.软件模块
2.1软件工程说明

打开软件工程,软件工程下的文件目录如下图所示。

点击文件后缀名为*.csproj的文件启动工程,软件工程的结构如下图所示。

2.2窗体界面
软件共有三个窗体界面:Form2为登录窗体界面,Form1为软件主窗体界面,Form3为解锁设置界面。
(1)Form2界面描述
Form2界面如下图所示。软件启动时会首先展示该界面。再输入正确的账号和密码后,会离开该界面进入主界面。

(2)Form1界面描述
Form1界面如下图所示,该界面包含了整个软件的所有功能。
界面上的“设置CAN设备”部分为CAN卡设置,用户可以切换页选择不同的设备,配置不同的设备参数,最后点击“启动设备”即可启动正确连接的CAN卡,如果启动失败会弹出错误提示弹窗。由PCAN的驱动可以共享,启动PCAN后,打开PCAN View或PCAN Explorer等软件仍然可以对本上位机已经启动的设备进行连接,连接的设备名称为PCAN Ligth USB 16…。

“升级设置”部分为软件升级的参数设置,用户可以通过“浏览”选择需要烧录的文件,可以通过文本框设置软件升级的参数:起始地址(烧录的起始地址),数据长度(烧录的数据量大小),填充码(MCU的Flash默认值),UDS的物理寻址ID,UDS的功能寻址ID,UDS的响应ID,以及ID的格式(标准帧/扩展帧ID格式)等信息。其中的保存设置按钮的作用是在设置好上述参数后,点击“保存设置”会将设置的参数保存到软件运行目录下的配置文件中,在下次启动软件时,软件会将上次设置你的参数导入,避免每次软件升级时都需
要设置一遍参数。点击“开始升级”按钮,软件将开启进行软件升级。
空白部分为调试信息显示文本框,软件升级过程中将实时显示软件升级进行的步骤及信息提示。
(3)Form3界面描述
Form3界面用于使用明文烧录时进行密码解锁,界面如下

在文本框中输入密码即可解锁。
2.3软件框架说明
(1)多线程处理。软件升级的过程耗时较长,为不造成UI卡顿和假死,软件采用多线程处理。软件主要线程有软件升级线程和消息接收线程。软件升级线程使用backgroundworker创建,消息接收线程由system.Thread创建。
(2)线程同步。软件升级线程和消息接收线程由用户编写的方法(见源代码说明部分)进行同步和事件通知。
(3)模块化。不同功能模块的方法和参数封装在不同的类中。
(4)软件升级线程由“开始升级”的按钮点击事件启动,消息接收线程也由“开始升级”的按钮点击事件启动,软件升级结束时,将结束消息接收线程。
2.4软件工程文件列表
序号 文件名称 描述
1 OpenDevice.cs 该文件包含了CAN卡设备操作的方法和参数。
2 PCANBasic.cs 该文件来自PCAN的官方例程,包含了PCAN设备的参数和API接口声明
3 LicenseModule.txt 该文件为软件license的模板,用于读取license时进行关键字匹配
在license验证策略没有变更的情况下,请勿随意