0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于RTT-LVGL便攜Can診斷儀系統(tǒng)設計案例

冬至子 ? 來源:小手涼涼 ? 作者:小手涼涼 ? 2023-11-14 12:54 ? 次閱讀

應用背景:

隨著生活水平提升,越來越多的車進去用戶家庭,車輛在保養(yǎng)健康維護過程中好多隱藏的問題不便于拆卸和查看,比如hud模塊,是否有遇到過高壓沖擊,是否有點擊、led、屏、間斷性失去通訊等一些列隱藏故障以及版本是否較老,有新版本軟件更新迭代是否可以升級等等。針對這一類問題,車身模塊本身有版本定義、故障碼診斷反饋以及uds測試模式調圖等功能,這時候需要有一定的診斷設備發(fā)特定報文與模塊通訊才能請求到uds診斷信息。

于是就有了這個便攜診斷工具設計。為了方便4S店以及維修人員對車輛的健康狀態(tài)的維護和保養(yǎng),快捷的獲取車輛狀態(tài)等信息,該診斷儀當前可用于對汽車的診斷模塊版本信息,uds診斷調節(jié)基本功能檢查是否有故障,部分模塊切換測試圖查看顯示效果是否異常,讀取故障狀態(tài)等,最終聯(lián)網(wǎng)數(shù)據(jù)儲存服務器,便于后續(xù)統(tǒng)計車輛維護狀態(tài),歷史故障情況

另外該診斷工具小巧,便于攜帶,一些不便于攜帶大件行李情況下可以方便攜帶,裝口袋即可;未來對于一些有一定專業(yè)技能的人士可以添加診斷報文用戶定義編譯,可以指定報文發(fā)送請求,這樣對于使用的廣泛性得以擴大。

實現(xiàn)功能:

通過按鍵以及調節(jié)滑塊等操作發(fā)出指定uds診斷報文,請求對應診斷模塊的故障狀態(tài)顯示出來。另外可以連接網(wǎng)絡上報服務器此次診斷具體信息,用于服務器統(tǒng)計記錄該車歷史排查維修記錄,方便排查歷史記錄

正文:

1.效果展示

設計操作頁面如下,通過點擊按鈕可發(fā)出can診斷報文,等待回應狀態(tài)顯示到診斷儀上。最終連接網(wǎng)絡,上傳診斷數(shù)據(jù)信息。整體ui效果頁面如下:

1.jpg

2.硬件框架

硬件結構上比較簡單,框架設計如下,芯片的can 口通過OBD連接車身can網(wǎng),wifi模塊連接在服務器局域網(wǎng)內(當然在不方便聯(lián)網(wǎng)情況下可以先進行診斷,后面將數(shù)據(jù)存儲診斷儀flash中,待有網(wǎng)絡下聯(lián)網(wǎng)上報診斷數(shù)據(jù))

1.jpg

3.軟件框架

軟件結構上主要是上電啟動后注冊驅動,初始化完can wifi等外設后加載ui,隨后子線程中信號阻塞監(jiān)聽can報文,直到接收到了can報文,單片機中斷,發(fā)出信號量,子線程讀取can報文內容。

Ui任務中按鈕以及滑塊等用戶交互接口會觸發(fā)對應點擊事件,收到按鈕點擊后組包發(fā)出一條can診斷報文,等待can回應信息后,解析回應內容存儲對應buffer中,并更新ui顯示內容。
Tcp連接按鈕按下會在子線程創(chuàng)建socket任務,等待上傳任務或者再次點下按鈕終止任務。上傳按鈕按下會將診斷信息從buffer中取出,重新組包,按字符串形式存儲,之后調用先前創(chuàng)建的socket中send指令發(fā)出

1.jpg

4.軟件邏輯

a) Ui使用SquareLine工具設計,開機后加載ui,如下是繪制的ui效果

1.jpg

b) 配置can數(shù)據(jù)波特率500kbit/s,初始化設備驅動后打開設備,創(chuàng)建線程不斷監(jiān)聽can信息

1.jpg

子線程中通過阻塞監(jiān)聽信號量,而信號量是由can收到數(shù)據(jù)中斷發(fā)出信號量,配置驅動中Every Message觸發(fā)can中斷,再讀取can數(shù)據(jù)解析打印出來。

1.jpg

開機后點擊按鈕,可以看到can接受線程打印的log,can發(fā)送接受數(shù)據(jù)正常

1.jpg

c) Wifi使用板子上rw007模塊,使能ifconfig等工具方便調試,在加載ui后配置了wifi名字和密碼3次請求連接

1.jpg

復位開機后串口中也可以看到wifi連接是成功的

1.jpg

d) Can診斷統(tǒng)一封裝到can_port_req_uds_cmd接口請求和第四個參數(shù)為返回結構體指針,void*類型可按個人需求封裝數(shù)據(jù)結構,最終返回了id,len長度以及data指針,最終數(shù)據(jù)按對應格式調整顯示

1.jpg

e) Tcp客戶端在按鈕connect點擊后創(chuàng)建新線程連接,連接后保持等待,直到提交數(shù)據(jù)按鈕按下時

1.jpg

診斷到的信息打包成對應格式按字符串方式傳遞,通過socket實例發(fā)送出去給服務器端

1.jpg

通過tcp上位機監(jiān)聽和串口打印信息,可以看到診斷信息上傳ok

1.jpg

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 上位機
    +關注

    關注

    27

    文章

    927

    瀏覽量

    54558
  • 診斷儀
    +關注

    關注

    1

    文章

    77

    瀏覽量

    8800
  • TCP通信
    +關注

    關注

    0

    文章

    146

    瀏覽量

    4184
  • RTThread
    +關注

    關注

    7

    文章

    132

    瀏覽量

    40684
  • LVGL
    +關注

    關注

    0

    文章

    79

    瀏覽量

    2737
收藏 人收藏

    評論

    相關推薦

    免費提供通用診斷儀

    本人有通用汽車診斷儀,如果有需要,可以免費提供進行汽車診斷,如有需要請聯(lián)系
    發(fā)表于 06-03 23:16

    家庭節(jié)能診斷儀

    家庭節(jié)能診斷儀,后面再詳細。
    發(fā)表于 10-24 22:34

    如何利用CMOS圖像通道設計超聲診斷儀?

    空間變換、窗體調整等多種操作,是診斷圖像以及其他圖像應用傳輸?shù)睦硐胪ǖ?。本文討論了一種基于32位微處理器ARM9E和嵌入式Linux的便攜式超聲診斷儀的解決方案。系統(tǒng)以CMOS圖像通道
    發(fā)表于 07-31 06:25

    如何利用SOPC設計一款便攜式邊界掃描故障診斷儀?

    邊界掃描是什么原理?如何利用FPGA作為載體來實現(xiàn)邊界掃描故障診斷儀的SOPC系統(tǒng)
    發(fā)表于 04-12 06:07

    如何設計一款基于2.4G射頻的車栽CAN總線故障診斷儀?

    本文設計一款基于2.4G射頻的車栽CAN總線故障診斷儀,詳細介紹其工作原理及系統(tǒng)硬件電路,最后分別闡述接收端、發(fā)射端和PC端的軟件模塊。該方案采用自動跳頻的2.4G空中協(xié)議,經測試統(tǒng)計誤碼率保持在
    發(fā)表于 05-13 06:49

    請教大神如何去設計一種故障診斷儀

    本文提出了一種基于車載CAN總線故障診斷儀設計方案。
    發(fā)表于 05-13 07:06

    便攜式柴油機診斷儀的研制

    介紹了一種便攜式船舶柴油機診斷儀的研制方法,采用低功耗ETR100E 模塊,利用低功耗、串行接口輸 出的ad 芯片實現(xiàn)船舶柴油機瞬時轉速信號的采集。對采集的數(shù)據(jù)通過時域、頻域
    發(fā)表于 06-01 15:15 ?25次下載

    基于車載CAN總線故障診斷儀設計方案

    本文提出了一種基于車載CAN總線故障診斷儀設計方案。本方案成本低廉,攜帶方便,具有很強的靈活性與適應性。1 方案設計系統(tǒng)總體設計框圖如圖l所示。系
    發(fā)表于 07-02 18:05 ?1399次閱讀
    基于車載<b class='flag-5'>CAN</b>總線故障<b class='flag-5'>診斷儀</b>設計方案

    基于汽車CAN總線在線診斷儀的應用

    對汽車的局域網(wǎng)進行診斷檢測,一直是讓很多中小維修企業(yè)感到棘手的問題。究其原因,除了技術實力方面的原因,更為重要的是沒有配備相關檢測設備。由于檢測汽車CAN系統(tǒng)的故障診斷儀一般都是高端發(fā)
    發(fā)表于 09-04 16:28 ?12次下載

    基于CAN總線結合射頻和USB實現(xiàn)車載故障診斷儀的設計方案

    設計一款基于2.4G射頻的車載CAN總線故障診斷儀,詳細介紹其工作原理及系統(tǒng)硬件電路,最后分別闡述接收端、發(fā)射端和PC端的軟件模塊。
    發(fā)表于 04-13 09:21 ?1143次閱讀
    基于<b class='flag-5'>CAN</b>總線結合射頻和USB實現(xiàn)車載故障<b class='flag-5'>診斷儀</b>的設計方案

    ?植物營養(yǎng)診斷儀的特點介紹

    【霍爾德儀器HED-YD】植物營養(yǎng)診斷儀是通過檢測植株中的氮磷鉀等養(yǎng)分,植物營養(yǎng)診斷儀為玉米提供營養(yǎng)套餐。植物營養(yǎng)診斷儀根據(jù)植物體內的營養(yǎng)含量狀況,快速的判斷植物營養(yǎng)是否達標。在后期的種植管理中給于
    發(fā)表于 08-09 15:11 ?384次閱讀

    植物營養(yǎng)診斷儀的詳細介紹

    植物營養(yǎng)診斷儀【恒美HM-ZY20】是通過檢測植株中的氮磷鉀等養(yǎng)分,植物營養(yǎng)診斷儀為農作物提供營養(yǎng)套餐。植物營養(yǎng)診斷儀根據(jù)植物體內的營養(yǎng)含量狀況,快速的判斷植物營養(yǎng)是否達標。在后期的種植管理中給于
    發(fā)表于 08-14 16:52 ?638次閱讀

    植物營養(yǎng)診斷儀的使用方法

    植物營養(yǎng)診斷儀【恒美HM-ZY20】的使用方法是什么?植物營養(yǎng)診斷儀由恒美電子土壤養(yǎng)分檢測儀器廠家專業(yè)生產提供植物營養(yǎng)診斷儀檢測服務,致力于植物營養(yǎng)診斷儀的研發(fā)與設計,質量可靠,專業(yè)打
    發(fā)表于 09-30 09:59 ?518次閱讀

    汽車故障診斷儀的原理與作用詳解

    車輛故障診斷儀,又稱汽車解碼器,是用于檢測汽車故障的便攜式智能汽車故障自檢,用戶可以利用它迅速地讀取汽車電控系統(tǒng)中的故障,并通過液晶顯示屏顯示故障信息,迅速查明發(fā)生故障的部位以及原因
    的頭像 發(fā)表于 06-24 17:27 ?4224次閱讀
    汽車故障<b class='flag-5'>診斷儀</b>的原理與作用詳解

    基于IMX8MPlus SMARC核心板的便攜式床旁超聲診斷儀應用解決方案

    醫(yī)學的高速發(fā)展,使得超聲儀器得到了廣泛的普及,便攜式的床旁超聲診斷儀,不僅滿足臨床醫(yī)學對可視化、便攜式、智能化的需求,還能滿足基層患者隨時隨地快速篩查的需求。便攜式的床旁超聲
    的頭像 發(fā)表于 06-29 08:00 ?1342次閱讀
    基于IMX8MPlus SMARC核心板的<b class='flag-5'>便攜</b>式床旁超聲<b class='flag-5'>診斷儀</b>應用解決方案