诊断小系统通信设计(初步)--Apple的学习笔记

一,前言

bb-black socketCAN和ubuntu python GUI开发预研完成了,难度一般,方案可行,接下来要把系统连接起来。最一开始我想做的就是把PC+BBBlack+TC275连接起来,可以实现通信,然后在上位机的界面上可以制作诊断/FBL界面或者再继续扩展其它功能。3个硬件连接起来后,其实玩法很多。


image.png

二,功能定义

由于玩法很多,但是做功能设计前也就是要把需求敲定。才不至于让我把代码设计的太复杂。所以第一步从最基本的开始做,选择做一个诊断系统(上位机+下位机),bbblack充当vector CAN硬件设计,python界面充当canoe工具,用来测试TC275的CAN诊断功能。然后拿来做什么呢?比如可以录制视频,制作成为教学课程。或者拿着此硬件底层平台,开发上位机,或者使用TC275的以太网将CAN诊断为DoIP,等等。今天正式立项。

三,软件需求分析

由于诊断的特殊性,是上位机主动发送报文后,诊断会有回复(功能请求ID,诊断是不回复的)。大多情况下是一个请求加一个回复。由于先不考虑15765-2的TP多帧协议(python将来可以实现),输入框只能输入CAN的8 byte长度。针对这样的功能特点进行软件需求分析。

3.1 python端(作为上位机工具)

python这次我主要是进阶界面设计及大型工程架构设计,python就作为客户端。关于socket长连接通信的心跳包就由bb-black linux服务器来发送,python端只要接收,然后计时,若10s内没有收到任何服务器发来的信息,则认为断线,对服务器进行重连。
软件功能小结
a,心跳监控,断线重连
b,接收、发送socket数据(分为2个线程)
c,HMI界面根据接收发送数据进行更新(一个独立线程)
d,添加头部标识符,一帧报文长度固定

3.2 BB-Black Linux端(作为设备工具)

Linux定义为服务器,一个线程收,一个线程发,目标就是透明传输,将socketTCP的数据和can转发。

3.3 TC275(检测设备)

添加标准的14229 UDS标准诊断代码即可。为了先进行系统联调,做一个接收任一报文后会将数值+1的转发报文即可。

你可能感兴趣的:(诊断小系统通信设计(初步)--Apple的学习笔记)