0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于RTT-LVGL便携Can诊断仪系统设计案例

冬至子 来源:小手凉凉 作者:小手凉凉 2023-11-14 12:54 次阅读

应用背景:

随着生活水平提升,越来越多的车进去用户家庭,车辆在保养健康维护过程中好多隐藏的问题不便于拆卸和查看,比如hud模块,是否有遇到过高压冲击,是否有点击、led、屏、间断性失去通讯等一些列隐藏故障以及版本是否较老,有新版本软件更新迭代是否可以升级等等。针对这一类问题,车身模块本身有版本定义、故障码诊断反馈以及uds测试模式调图等功能,这时候需要有一定的诊断设备发特定报文与模块通讯才能请求到uds诊断信息

于是就有了这个便携诊断工具设计。为了方便4S店以及维修人员对车辆的健康状态的维护和保养,快捷的获取车辆状态等信息,该诊断仪当前可用于对汽车的诊断模块版本信息,uds诊断调节基本功能检查是否有故障,部分模块切换测试图查看显示效果是否异常,读取故障状态等,最终联网数据储存服务器,便于后续统计车辆维护状态,历史故障情况

另外该诊断工具小巧,便于携带,一些不便于携带大件行李情况下可以方便携带,装口袋即可;未来对于一些有一定专业技能的人士可以添加诊断报文用户定义编译,可以指定报文发送请求,这样对于使用的广泛性得以扩大。

实现功能:

通过按键以及调节滑块等操作发出指定uds诊断报文,请求对应诊断模块的故障状态显示出来。另外可以连接网络上报服务器此次诊断具体信息,用于服务器统计记录该车历史排查维修记录,方便排查历史记录

正文:

1.效果展示

设计操作页面如下,通过点击按钮可发出can诊断报文,等待回应状态显示到诊断仪上。最终连接网络,上传诊断数据信息。整体ui效果页面如下:

1.jpg

2.硬件框架

硬件结构上比较简单,框架设计如下,芯片的can 口通过OBD连接车身can网,wifi模块连接在服务器局域网内(当然在不方便联网情况下可以先进行诊断,后面将数据存储诊断仪flash中,待有网络下联网上报诊断数据)

1.jpg

3.软件框架

软件结构上主要是上电启动后注册驱动,初始化完can wifi等外设后加载ui,随后子线程中信号阻塞监听can报文,直到接收到了can报文,单片机中断,发出信号量,子线程读取can报文内容。

Ui任务中按钮以及滑块等用户交互接口会触发对应点击事件,收到按钮点击后组包发出一条can诊断报文,等待can回应信息后,解析回应内容存储对应buffer中,并更新ui显示内容。
Tcp连接按钮按下会在子线程创建socket任务,等待上传任务或者再次点下按钮终止任务。上传按钮按下会将诊断信息从buffer中取出,重新组包,按字符串形式存储,之后调用先前创建的socket中send指令发出

1.jpg

4.软件逻辑

a) Ui使用SquareLine工具设计,开机后加载ui,如下是绘制的ui效果

1.jpg

b) 配置can数据波特率500kbit/s,初始化设备驱动后打开设备,创建线程不断监听can信息

1.jpg

子线程中通过阻塞监听信号量,而信号量是由can收到数据中断发出信号量,配置驱动中Every Message触发can中断,再读取can数据解析打印出来。

1.jpg

开机后点击按钮,可以看到can接受线程打印的log,can发送接受数据正常

1.jpg

c) Wifi使用板子上rw007模块,使能ifconfig等工具方便调试,在加载ui后配置了wifi名字和密码3次请求连接

1.jpg

复位开机后串口中也可以看到wifi连接是成功的

1.jpg

d) Can诊断统一封装到can_port_req_uds_cmd接口请求和第四个参数为返回结构体指针,void*类型可按个人需求封装数据结构,最终返回了id,len长度以及data指针,最终数据按对应格式调整显示

1.jpg

e) Tcp客户端在按钮connect点击后创建新线程连接,连接后保持等待,直到提交数据按钮按下时

1.jpg

诊断到的信息打包成对应格式按字符串方式传递,通过socket实例发送出去给服务器端

1.jpg

通过tcp上位机监听和串口打印信息,可以看到诊断信息上传ok

1.jpg

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 上位机
    +关注

    关注

    27

    文章

    930

    浏览量

    54732
  • 诊断仪
    +关注

    关注

    1

    文章

    77

    浏览量

    8822
  • TCP通信
    +关注

    关注

    0

    文章

    146

    浏览量

    4217
  • RTThread
    +关注

    关注

    8

    文章

    132

    浏览量

    40811
  • LVGL
    +关注

    关注

    1

    文章

    80

    浏览量

    2912
收藏 人收藏

    评论

    相关推荐

    免费提供通用诊断仪

    本人有通用汽车诊断仪,如果有需要,可以免费提供进行汽车诊断,如有需要请联系
    发表于 06-03 23:16

    家庭节能诊断仪

    家庭节能诊断仪,后面再详细。
    发表于 10-24 22:34

    如何利用CMOS图像通道设计超声诊断仪

    空间变换、窗体调整等多种操作,是诊断图像以及其他图像应用传输的理想通道。本文讨论了一种基于32位微处理器ARM9E和嵌入式Linux的便携式超声诊断仪的解决方案。系统以CMOS图像通道
    发表于 07-31 06:25

    如何利用SOPC设计一款便携式边界扫描故障诊断仪

    边界扫描是什么原理?如何利用FPGA作为载体来实现边界扫描故障诊断仪的SOPC系统
    发表于 04-12 06:07

    如何设计一款基于2.4G射频的车栽CAN总线故障诊断仪

    本文设计一款基于2.4G射频的车栽CAN总线故障诊断仪,详细介绍其工作原理及系统硬件电路,最后分别阐述接收端、发射端和PC端的软件模块。该方案采用自动跳频的2.4G空中协议,经测试统计误码率保持在
    发表于 05-13 06:49

    请教大神如何去设计一种故障诊断仪

    本文提出了一种基于车载CAN总线故障诊断仪设计方案。
    发表于 05-13 07:06

    便携式柴油机诊断仪的研制

    介绍了一种便携式船舶柴油机诊断仪的研制方法,采用低功耗ETR100E 模块,利用低功耗、串行接口输 出的ad 芯片实现船舶柴油机瞬时转速信号的采集。对采集的数据通过时域、频域
    发表于 06-01 15:15 25次下载

    基于车载CAN总线故障诊断仪设计方案

    本文提出了一种基于车载CAN总线故障诊断仪设计方案。本方案成本低廉,携带方便,具有很强的灵活性与适应性。1 方案设计系统总体设计框图如图l所示。系
    发表于 07-02 18:05 1421次阅读
    基于车载<b class='flag-5'>CAN</b>总线故障<b class='flag-5'>诊断仪</b>设计方案

    基于汽车CAN总线在线诊断仪的应用

    对汽车的局域网进行诊断检测,一直是让很多中小维修企业感到棘手的问题。究其原因,除了技术实力方面的原因,更为重要的是没有配备相关检测设备。由于检测汽车CAN系统的故障诊断仪一般都是高端发
    发表于 09-04 16:28 12次下载

    基于CAN总线结合射频和USB实现车载故障诊断仪的设计方案

    设计一款基于2.4G射频的车载CAN总线故障诊断仪,详细介绍其工作原理及系统硬件电路,最后分别阐述接收端、发射端和PC端的软件模块。
    发表于 04-13 09:21 1210次阅读
    基于<b class='flag-5'>CAN</b>总线结合射频和USB实现车载故障<b class='flag-5'>诊断仪</b>的设计方案

    ​植物营养诊断仪的特点介绍

    【霍尔德仪器HED-YD】植物营养诊断仪是通过检测植株中的氮磷钾等养分,植物营养诊断仪为玉米提供营养套餐。植物营养诊断仪根据植物体内的营养含量状况,快速的判断植物营养是否达标。在后期的种植管理中给于
    发表于 08-09 15:11 431次阅读

    植物营养诊断仪的详细介绍

    植物营养诊断仪【恒美HM-ZY20】是通过检测植株中的氮磷钾等养分,植物营养诊断仪为农作物提供营养套餐。植物营养诊断仪根据植物体内的营养含量状况,快速的判断植物营养是否达标。在后期的种植管理中给于
    发表于 08-14 16:52 666次阅读

    植物营养诊断仪的使用方法

    植物营养诊断仪【恒美HM-ZY20】的使用方法是什么?植物营养诊断仪由恒美电子土壤养分检测仪器厂家专业生产提供植物营养诊断仪检测服务,致力于植物营养诊断仪的研发与设计,质量可靠,专业打
    发表于 09-30 09:59 560次阅读

    汽车故障诊断仪的原理与作用详解

    车辆故障诊断仪,又称汽车解码器,是用于检测汽车故障的便携式智能汽车故障自检,用户可以利用它迅速地读取汽车电控系统中的故障,并通过液晶显示屏显示故障信息,迅速查明发生故障的部位以及原因
    的头像 发表于 06-24 17:27 4745次阅读
    汽车故障<b class='flag-5'>诊断仪</b>的原理与作用详解

    基于IMX8MPlus SMARC核心板的便携式床旁超声诊断仪应用解决方案

    医学的高速发展,使得超声仪器得到了广泛的普及,便携式的床旁超声诊断仪,不仅满足临床医学对可视化、便携式、智能化的需求,还能满足基层患者随时随地快速筛查的需求。便携式的床旁超声
    的头像 发表于 06-29 08:00 1473次阅读
    基于IMX8MPlus SMARC核心板的<b class='flag-5'>便携</b>式床旁超声<b class='flag-5'>诊断仪</b>应用解决方案