美文网首页BB-black开发板[Linux arm-v8]
诊断小系统通信设计(初步)--Apple的学习笔记

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

作者: applecai | 来源:发表于2020-05-26 21:07 被阅读0次

    一,前言

    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的学习笔记

        本文链接:https://www.haomeiwen.com/subject/nnwuahtx.html