第二次作业之CanTool APP功能需求

CanTool APP功能需求

在现代汽车控制技术中,汽车中会使用多个电子控制装置(ECU:Electronic Control Unit)对整车进行控制。而ECU之间的信息交换更多地依赖于CAN(Controller Area Network)总线的网络连接方式来完成。为了检测和控制CAN bus的信息内容,需要使用CAN bus检测设备。CanTool装置是完成CANbus检测的工具。为了实现CAN数据的显示及控制,需要使用本文提出的CanToolApp软件,该软件需要将连接在CAN总线上的CanTool装置采集的CAN信息发送到上位机(移动终端Android、iOS、Windows PC)上。 通过对需求文档进行整理与讨论,我们将Cantool APP的功能主要分为以下四个模块,如下图: 

一、CanToolApp对CAN信息显示处理功能:

  1. 显示数据分为3种:
  • 从CanTool装置接收的数据
  • 用户发送的数据
  • 加载的用户提供的数据
  1. 显示“接收”数据的处理操作:
  • 接受到的数据需要根据CAN信息及信号描述数据库对数据字符串进行解析,然后得到CAN信息中包含的各种CAN信号值。
  • 将此CAN信号值进一步进行计算,还原该信号所代表的物理量的信息,并显示在GUI界面上。
  1. 显示“发送”数据的处理操作:
  • 发送的数据需要采用同种方式,将用户输入的物理值转换为CAN信号。
  • 依据CAN信号描述数据库将属于同一个CAN ID的信号合成为字符串发送给CanTool装置。 4、显示“加载”数据的处理操作,完成CAN信号数据的解析以及CAN发送信息的组装,同“发送”过程。

二、CanToolAPP GUI界面显示:

  1. COM口基本设定信息界面
  2. Can基本设定信息界面
  3. Can信息原始数据及物理数据实时显示界面
  4. Can信号物理值的仪表盘
  5. Can信号实时曲线
  6. Can信号在Can信息中的布局图
  7. Can信号树状结构图

三、CanToolAPP 的数据存储功能:

  1. 用户选择的显示方式可保存到CanToolApp设定文件中,供下次使用。
  2. 可以将接收到的所有CAN信息数据,实时保存为数据文件。格式为CSV格式,或自定义。
  3. 可以加载用户提供的CAN信息和信号数据库,加载的数据库文件相关信息,可保存到CanToolApp设定文件中,供下次使用。
  4. 可以将用户提供的CAN信息和信号数据库另存为xml和JSON (JavaScript Object Notation)格式。
  5. 可以将xml或Json格式的数据库,转换为CAN信息和信号数据库格式。

四、CanToolAPP 通过控制CanTool装置控制Can通信功能:

  1. CanToolApp可以设定CAN总线的通信参数,并通过相应的命令设置CanTool装置的CAN通信参数,以使CanTool装置能够与CAN总线上的其他被测ECU进行正常的通信。
  2. 能够搜索到本机所有可使用的COM口,并在弹出式ComboBox中以列表方式让用户选择CanTool装置在上位机中映射的COM口。并设置相应COM口波特率115200、数据位数8、停止位数1。
  3. 能够实现CANtool装置的CAN速率设置、进入CAN工作状态(Open)、进入CAN初始化状态( Close)。
  4. 控制显示方式,显示时可以让用户选择仪表盘方式显示接收到CAN信号物理值。
  5. 允许用户设定CAN信息中的CAN信号物理值,App可将用户设定的物理值转换为CAN信号值,将CAN信息中包含的所有CAN信号合成完整的CAN信息后,发送给CanTool装置,发送到CAN总线上。
时间: 2024-08-14 21:48:49

第二次作业之CanTool APP功能需求的相关文章

软件测试第二周作业 wordcount

软件测试第二周作业 wordcount Github地址 https://github.com/mxz96102/word_count PSP2.1表格 PSP2.1 PSP 阶段 预估耗时 (分钟) 实际耗时 (分钟) Planning 计划 25 30 · Estimate · 估计这个任务需要多少时间 150 252 Development 开发     · Analysis · 需求分析 (包括学习新技术) 20 20 · Design Spec · 生成设计文档 0 0 · Desig

第二课:IOS(App)UIImage控件与TextField控件学习

作为一名实习生我是1.3.5在办公室工作,2.4.6去另一个地方听课学习IOS(app)课程,为了不落下课程,我准备每天晚上把落下的课程自学一遍,把不懂的记下等去听课的时候问老师,希望自己能跟上学习的步伐,不浪费时间.这一课是前几天听的,今天一起也写上了. 第二课:IOS(App)UIImage控件与TextField控件的学习,代码如下 一:UIImage控件代码:把图片添加到视图中并设置大小,这里没有牵涉到图片背景的颜色设置,我猜想应该是没必要去设置的吧,因为没有按钮功能的话背景颜色也看不到

解题报告——2018级2016第二学期第二周作业

解题报告——2018级2016第二学期第二周作业 D:迷宫问题 题目描述: 定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, }; 它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线. 输入 一个5 × 5的二维数组,表示一个迷宫.数据保证有唯一解. 输出 左上角到右

马哥linux 培训第二周作业

注意:第二周作业,请将以下题目整理在51cto博客当中,完成后请将对应的博文链接地址提交在答案栏中,提交格式如下:学号+姓名+博文链接地址eg:1+张三+http://mageedu.blog.51cto.com/4265610/1794420 本周作业内容:1.Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示. 文件管理的命令有cp.mv.rm 复制命令:cp 用法: cp [-adfilprsu] 来源文件(source) 目标文件(destination) cp [o

第二次作业 孙榜婷

2.9 设有如下语句,请用相应的谓词公式分别把它们表示出来: (1) 有的人喜欢梅花,有的人喜欢菊花,有的人既喜欢梅花又喜欢菊花 . 解:定义谓词 P(x):x是人 L(x,y):x喜欢y 其中,y的个体域是{梅花,菊花}. 将知识用谓词表示为: (∃x )(P(x)→L(x, 梅花)∨L(x, 菊花)∨L(x, 梅花)∧L(x, 菊花)) (2) 有人每天下午都去打篮 解:定义谓词 P(x):x是人 B(x):x打篮球 A(y):y是下午 将知识用谓词表示为: (∃x )(∀y) (A(y)→

牛老师第二次作业

namespace 第二次作业{    class RandomNumber    {        public int Add(int x, int y)        {            return x + y;        }        public int Sub(int x, int y)        {            return x - y;        }        public int Mul(int x, int y)        {    

Linux+Python高端运维班第二次作业

Linux+Python高端运维班第二次作业 1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可. [[email protected] ~]# who |cut -d" " -f1|uniq (unknown) root test1 [[email protected] ~]# who |cut -d" " -f1|sort -u root (unknown) wangyanglin 2.取出当前系统上被用户当作其默认shel

第二周作业补交(请老师看一下)

#include<stdio.h> #include<math.h> int main(void) { int money,year; double rate,sum; printf("Enter money:"); scanf("%d",&money); printf("Enter year:"); scanf("%d",&year); printf("Enter rate:

耿丹16-1第二次作业

-- Deadline: 2016-09-23 23:00 pm -- 作业内容:https://edu.cnblogs.com/campus/bjgygd/Sixteen-One/homework/85 -- 第二次作业总结: 1. 总共5位同学未按时提交,且目前未交. 2. 大部分同学都注意了代码的缩进格式,希望继续保持! 3. 希望同学们下节课作业可以使用博客中自带的代码编辑器,养成良好的代码编写风格! 周刘晋源同学已经开始使用了,特此提出表扬! 4. 大家学习了变量类型的定义,以后会遇到