女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

解鎖TSMaster fifo函數:報文讀取的高效方法

上海同星智能科技有限公司 ? 2025-03-14 20:04 ? 次閱讀

前言:

TSMaster目前有兩種讀取報文的模式:回調函數模式和fifo模式。fifo函數是TSMaster近期新增的函數,本文將重點介紹fifo模塊。關于回調函數的使用方法可以參考幫助模塊的《快速入門》手冊。

1.

技術背景

TSMaster的小程序模塊中提供了接收事件、發送事件以及預發送事件等回調事件,如圖 1。相比于回調函數,fifo函數使用起來比較靈活方便,可以在任意一個模塊使用,不再局限于接收、發送等回調事件。相關的fifo函數可以在【設計】-【C小程序】-【函數】中找到,如圖2。

71df9122-00cc-11f0-9434-92fbcf53809c.png

圖 1:小程序的回調模塊

7208cee8-00cc-11f0-9434-92fbcf53809c.png

圖 2:小程序的fifo函數模塊

2.

fifo函數概述

fifo是一種數據結構或緩沖機制,它遵循先入先出的原則。在數據接收過程中,最早進入 fifo的數據會被最先處理或讀取。fifo 有一個輸入端口和一個輸出端口。數據從輸入端口依次進入 fifo緩沖區,然后按照進入的順序在緩沖區中排隊等待。當需要讀取數據時,從輸出端口按照先入先出的順序將數據取出。這樣可以確保數據的接收和處理順序與它們到達的順序一致,避免數據混亂或丟失。fifo的優點是用戶可以在自己的任務或者線程中根據需要從驅動中讀取數據,延時等可以自己控制。缺點是異步的方式,是在報文已經收發完成之后才會將數據取出進行處理。

典型應用:

在汽車發動機、變速器等動力總成系統中,多個傳感器和執行器通過 CAN 總線進行通信。fifo用于接收來自各個傳感器(如節氣門位置傳感器、曲軸位置傳感器)的 CAN 報文。這些報文包含了發動機運行狀態、轉速、負荷等關鍵信息。fifo 按照報文到達的先后順序存儲,發動機控制單元(ECU)從 fifo 中依次讀取報文,進行數據分析和處理,進而調整噴油時間、點火提前角等參數,確保發動機在不同工況下都能高效、穩定運行。

3.

fifo函數讀取報文功能實現

3.1 功能實現


3.1.1 讀取CAN報文

使用fifo讀取緩存報文之前,需要先調用com.tsfifo_enable_receive_fifo()函數。本小節將提供一個簡單示例,可參考以下步驟。

【步驟1】新建程序啟動事件,將使能fifo的函數添加到該事件函數里。如圖 3。

7240904e-00cc-11f0-9434-92fbcf53809c.png

圖 3: 程序啟動事件

【步驟2】新建按鍵事件,將讀取fifo的函數添加到該事件函數里。如圖 4。

72795ee2-00cc-11f0-9434-92fbcf53809c.png

圖 4: 按鍵事件

【步驟3】新建程序停止事件,將取消使能fifo的函數添加到該事件函數里。如圖 5。

72a80d50-00cc-11f0-9434-92fbcf53809c.png

圖 5: 程序停止事件

【源碼如下】

72d6c2bc-00cc-11f0-9434-92fbcf53809c.png

3.1.2 讀取LIN報文

使用fifo讀取緩存報文之前,需要先調用com.tsfifo_enable_receive_fifo()函數。可參考3.1.1讀取CAN報文小節。

【源碼如下】

72e2ab40-00cc-11f0-9434-92fbcf53809c.png

3.1.3 讀取FlexRay報文

使用fifo讀取緩存報文之前,需要先調用com.tsfifo_enable_receive_fifo()函數??蓞⒖?.1.1讀取CAN報文小節。

【源碼如下】

73001298-00cc-11f0-9434-92fbcf53809c.png

3.2 實現效果

啟動小程序,發送報文,打印的消息可在【分析】-【系統消息】處查看,如圖 6。

7343a896-00cc-11f0-9434-92fbcf53809c.png

圖 6: 實現效果

4.

TSMaster fifo函數說明

4.1 fifo函數說明

4.1.1 com.tsfifo_enable_receive_fifo

736ae0be-00cc-11f0-9434-92fbcf53809c.png

4.1.2 com.tsfifo_disable_receive_fifo

738a9332-00cc-11f0-9434-92fbcf53809c.png

4.1.3 com.tsfifo_enable_receive_error_frames

739f88b4-00cc-11f0-9434-92fbcf53809c.png

4.1.4 com.tsfifo_disable_receive_error_frames

73cd154a-00cc-11f0-9434-92fbcf53809c.png

4.1.5 com.tsfifo_add_can_canfd_pass_filter

73e14a10-00cc-11f0-9434-92fbcf53809c.png

4.1.6 com.tsfifo_delete_can_canfd_pass_filter

73f73e4c-00cc-11f0-9434-92fbcf53809c.png

4.1.7 com.tsfifo_add_lin_pass_filter

7416c7c6-00cc-11f0-9434-92fbcf53809c.png

4.1.8 com.tsfifo_delete_lin_pass_filter

7445e38a-00cc-11f0-9434-92fbcf53809c.png

4.1.9 com.tsfifo_clear_can_receive_buffers

746a91b2-00cc-11f0-9434-92fbcf53809c.png

4.1.10 com.tsfifo_clear_canfd_receive_buffers

74889428-00cc-11f0-9434-92fbcf53809c.png

4.1.11 com.tsfifo_clear_lin_receive_buffers

74a13140-00cc-11f0-9434-92fbcf53809c.png

4.1.12 com.tsfifo_clear_flexray_receive_buffers

74b9c1b0-00cc-11f0-9434-92fbcf53809c.png

4.1.13 com.tsfifo_read_can_buffer_frame_count

74d580ee-00cc-11f0-9434-92fbcf53809c.png

4.1.14 com.tsfifo_read_can_rx_buffer_frame_count

74f92850-00cc-11f0-9434-92fbcf53809c.png

4.1.15 com.tsfifo_read_can_tx_buffer_frame_count

750e2a5c-00cc-11f0-9434-92fbcf53809c.png

4.1.16 com.tsfifo_read_canfd_buffer_frame_count

751cd52a-00cc-11f0-9434-92fbcf53809c.png

4.1.17com.tsfifo_read_canfd_rx_buffer_frame_count

7534ed9a-00cc-11f0-9434-92fbcf53809c.png

4.1.18 com.tsfifo_read_can_tx_buffer_frame_count

753d9882-00cc-11f0-9434-92fbcf53809c.png

4.1.19 com.tsfifo_read_lin_buffer_frame_count

7554a126-00cc-11f0-9434-92fbcf53809c.png

4.1.20 com.tsfifo_read_lin_rx_buffer_frame_count

75614980-00cc-11f0-9434-92fbcf53809c.png

4.1.21 com.tsfifo_read_lin_tx_buffer_frame_count

757b1856-00cc-11f0-9434-92fbcf53809c.png

4.1.22 com.tsfifo_read_flexray_buffer_frame_count

758f1f5e-00cc-11f0-9434-92fbcf53809c.png

4.1.23 com.tsfifo_read_flexray_rx_buffer_frame_count

75ac4de0-00cc-11f0-9434-92fbcf53809c.png

4.1.24 com.tsfifo_receive_can_msgs

75c2ee9c-00cc-11f0-9434-92fbcf53809c.png

4.1.25 com.tsfifo_receive_canfd_msgs

75d2b9bc-00cc-11f0-9434-92fbcf53809c.png

4.1.26 com.tsfifo_receive_lin_msgs

75ec9b48-00cc-11f0-9434-92fbcf53809c.png

4.1.27 com.tsfifo_receive_flexray_msgs

75f90540-00cc-11f0-9434-92fbcf53809c.png

5.

縮寫

BLF

Binary Logging Format

CAN

Controller Area Network

CAN FD

CAN with Flexible Data-Rate

ID

Identifier

LIN

Local Interconnect Network

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

    關注

    3

    文章

    400

    瀏覽量

    44614
  • 函數
    +關注

    關注

    3

    文章

    4369

    瀏覽量

    64190
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    TSMaster 中不同總線報文消息過濾的操作方式

    TSMaster軟件平臺支持對不同總線(CAN、LIN、FlexRay)報文和信號的過濾,包括全局接收過濾、數據流過濾、窗口過濾、字符串過濾、可編程過濾,針對不同的總線信號過濾器的使用方法基本相
    的頭像 發表于 06-22 08:21 ?2023次閱讀
    <b class='flag-5'>TSMaster</b> 中不同總線<b class='flag-5'>報文</b>消息過濾的操作方式

    MPU6050 dmp讀取數據FIFO溢出

    。據說解決的方法就是,不能只用一個dmp_read_fifo(gyro, accel, quat, &sensor_timestamp, &sensors,&more);函數。我
    發表于 04-15 01:05

    CAN通信實驗報文對象的FIFO緩沖器應用

    關鍵詞 CAN報文對象的FIFO模式應用摘 要 CAN通信實驗
    發表于 11-07 14:18 ?33次下載

    FPGA之FIFO的原理概述

    FIFO隊列不對報文進行分類,當報文進入接口的速度大于接口能發送的速度時,FIFO報文到達接口的先后順序讓
    的頭像 發表于 11-29 07:04 ?4833次閱讀

    MPU6050不講武德,FIFO溢出始終無法解決,提高或降低讀取速度都不得行

    抄了原子哥的驅動代碼,放在了c8t6最小系統板上去跑,一切正常,自檢原本通過不了,一頓操作后可以通過了,加速度角速度讀取也OK,唯獨讀取FIFO中的數據讀不出來具體為mpu_dmp_get_data
    發表于 12-06 14:51 ?4次下載
    MPU6050不講武德,<b class='flag-5'>FIFO</b>溢出始終無法解決,提高或降低<b class='flag-5'>讀取</b>速度都不得行

    新功能發布 | TSMaster診斷功能的典型應用

    TSMaster典型應用前面幾個章節主要介紹了關于TSMaster診斷模塊的一些基礎操作詳解,相信大家對TSMaster診斷模塊也有了一定的了解和認知。本章節主要介紹關于TSMaster
    的頭像 發表于 07-04 09:27 ?1696次閱讀
    新功能發布 | <b class='flag-5'>TSMaster</b>診斷功能的典型應用

    應用筆記 | TSMaster如何代碼自動發送LIN報文

    前面我們出了關于TSMaster應用筆記系列的幾篇文章,小伙伴反饋都非常實用,也是工程師們在使用TSMaster軟件中切切實實會遇到的問題,今天繼續給大家帶來應用筆記系列文章——如何代碼自動發送
    的頭像 發表于 08-25 11:05 ?2289次閱讀
    應用筆記 | <b class='flag-5'>TSMaster</b>如何代碼自動發送LIN<b class='flag-5'>報文</b>

    應用筆記 | TSMaster快速入門篇(2)-報文回放

    支持格式TSMaster的數據回放默認支持blf格式(未來會增加對其他格式的支持)。如果需要分析其他數據格式的log文件,需要通過文件轉換器從其他格式轉成blf格式。一離線回放離線回放也就是通常所說
    的頭像 發表于 11-23 09:35 ?4785次閱讀
    應用筆記 | <b class='flag-5'>TSMaster</b>快速入門篇(2)-<b class='flag-5'>報文</b>回放

    干貨分享 | TSMaster的記錄功能需求與實踐

    ,TSMaster記錄模塊怎么開始使用?1.2測試時總是忘記開始記錄報文,如何實現工程啟動后【自動記錄】報文trace?1.3我想實現【不同通道】的【特定報文】記
    的頭像 發表于 04-20 10:20 ?2312次閱讀
    干貨分享 | <b class='flag-5'>TSMaster</b>的記錄功能需求與實踐

    干貨分享 | TSMaster小功能之如何在圖形中監控某一條DBC報文發送周期?

    今天給大家介紹TSMaster小功能之如何在圖形中監控某一條DBC報文發送周期,想要實現這個功能,需要借助TSMaster的小程序功能來實現。步驟一1.創建一個用戶變量Cycle,用于在圖形中顯示
    的頭像 發表于 05-09 15:48 ?1754次閱讀
    干貨分享 | <b class='flag-5'>TSMaster</b>小功能之如何在圖形中監控某一條DBC<b class='flag-5'>報文</b>發送周期?

    單片機自定義協議FIFO高效發送數據方法

    單片機自定義協議FIFO高效發送數據方法
    的頭像 發表于 09-28 17:32 ?1034次閱讀
    單片機自定義協議<b class='flag-5'>FIFO</b><b class='flag-5'>高效</b>發送數據<b class='flag-5'>方法</b>

    TSMaster報文發送的信號生成器操作說明

    信號生成器功能是TSMaster分析中的報文發送模塊。信號生成器用于發送和配置每個CAN/LIN信號的值變化行為,簡而言之,這是一個可以控制和調整CAN/LIN信號值的功能。我們可選擇的信號生成器
    的頭像 發表于 12-23 08:21 ?1428次閱讀
    <b class='flag-5'>TSMaster</b><b class='flag-5'>報文</b>發送的信號生成器操作說明

    TSMaster VLAN配置方法

    ,以太網目錄Catalog1.VLAN的配置方法2.TCP/IP通訊帶VLAN測試1.TSMaster配置VLANVLAN配置流程如下:1)VLAN配置窗口位于菜單
    的頭像 發表于 05-18 08:21 ?743次閱讀
    <b class='flag-5'>TSMaster</b> VLAN配置<b class='flag-5'>方法</b>

    詳解TSMaster CAN 與 CANFD 的 CRC E2E 校驗方法

    關鍵字:TSMaster,CAN/CANFD,CRC校驗,E2E校驗目錄Catalog1.CRC/E2E在報文傳輸過程中的應用2.基于TSMaster剩余總線仿真的
    的頭像 發表于 05-25 08:21 ?3805次閱讀
    詳解<b class='flag-5'>TSMaster</b> CAN 與 CANFD 的 CRC E2E 校驗<b class='flag-5'>方法</b>

    軟件更新 | TSMaster 202504 版本已上線!三大功能讓車載測試更智能

    車載測試的智能化時代正在加速到來!TSMaster202504版本正式發布,本次更新聚焦以太網通信與數據高效處理,帶來三大核心功能升級—以太網報文信息過濾、XCPonEthernet支持、按時間范圍
    的頭像 發表于 05-23 20:05 ?134次閱讀
    軟件更新 | <b class='flag-5'>TSMaster</b> 202504 版本已上線!三大功能讓車載測試更智能