<tr id="tp1vn"><td id="tp1vn"><dl id="tp1vn"></dl></td></tr>
  1. <p id="tp1vn"></p>
  2. <sub id="tp1vn"><p id="tp1vn"></p></sub>
    <u id="tp1vn"><rp id="tp1vn"></rp></u>
    <meter id="tp1vn"></meter>
      <wbr id="tp1vn"><sup id="tp1vn"></sup></wbr>
      日韩第一页浮力,欧美a在线,中文字幕无码乱码人妻系列蜜桃 ,国产成人精品三级麻豆,国产男女爽爽爽免费视频,中文字幕国产精品av,两个人日本www免费版,国产v精品成人免费视频71pao
      網(wǎng)易首頁 > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

      CANoe CAN采樣點(diǎn)測(cè)試方法及誤差分析

      0
      分享至

      在車載控制器中,CAN采樣點(diǎn)的測(cè)試是控制器的基本測(cè)試之一,那CAN總線的采樣點(diǎn)一般怎么測(cè)試呢?今天一起來捋一捋。

      首先CAN報(bào)文的位將分割為同步段(Sync Segment)、時(shí)間片段 1(TSEG1 Segment)和時(shí)間片段 2(TSEG2 Segment)。這些片段由不同數(shù)量的 TQ 組成, TQ 為該總線電平中最小的時(shí)間單位。預(yù)分頻(Prescaler)值以及收發(fā)器使用的時(shí)鐘頻率直接影響了一個(gè)位長度的總 TQ 數(shù)量。采樣點(diǎn)位置將由各個(gè)片段中 TQ 的數(shù)量計(jì)算得到。


      1 個(gè)位中包含 8 或 16 個(gè) TQ 的分段示意圖

      采樣點(diǎn)的理論計(jì)算值可由下式得到:

      = ( + 1)/( + 1 + 2)

      在此必須知道所使用的 CAN 時(shí)鐘頻率,以此來計(jì)算一個(gè)標(biāo)稱位時(shí)間所使用的總 TQ 數(shù)量。

      例如:若一個(gè) TQ 的長度為 0.0625us,時(shí)鐘頻率是 16MHz(通常 CAN 所使用的時(shí)鐘頻率),預(yù)分頻數(shù)為1。這就導(dǎo)致在 500kBaud 下一個(gè)位含有 32 個(gè) TQ。若預(yù)分頻數(shù)為 2,則一個(gè)位包含 16 個(gè) TQ。

      同步段(Sync Segment)在任何情況下均僅為 1 個(gè) TQ 長度,剩余的 TQ 將會(huì)被分為 TSEG1 和 TSEG2。

      例如:若一個(gè)位的總 TQ 數(shù)為 16,采樣點(diǎn)位置為 75%,則 TSEG1 的 TQ 數(shù)為 11, TSEG2 的 TQ 數(shù)為 4。

      CAN采樣點(diǎn)測(cè)試的原理是節(jié)點(diǎn)判斷信號(hào)邏輯電平的位置,對(duì) CAN總線來說極其重要,尤其是在一個(gè)CAN網(wǎng)絡(luò)里,多個(gè)節(jié)點(diǎn)要保持同一個(gè)采樣點(diǎn)。如果其中一個(gè)偏差較大,有可能使整個(gè)網(wǎng)絡(luò)出現(xiàn)故障,所以對(duì) CAN節(jié)點(diǎn)進(jìn)行采樣點(diǎn)的測(cè)試顯得尤為重要,采樣點(diǎn)測(cè)試目的用于檢查控制器的采樣點(diǎn)設(shè)置是否遵守規(guī)范要求。

      采樣點(diǎn)的位置不受控制器所處的收發(fā)狀態(tài)影響,故針對(duì)采樣點(diǎn)測(cè)試既可以干擾控制器發(fā)送的指定報(bào)文的某個(gè)位,也可以通過測(cè)試工具發(fā)送特定干擾報(bào)文去檢測(cè)控制器的行為。

      下面以CANoe發(fā)送特定干擾報(bào)文的方法為例。VH6501 在檢測(cè)到總線空閑時(shí),發(fā)送較高優(yōu)先級(jí)的特定干擾報(bào)文,完成一個(gè)干擾循環(huán)。每次干擾循環(huán)發(fā)送結(jié)束,微調(diào) CRC Delimiter 位長度,使其逐次縮短,導(dǎo)致后一位 ACK Slot前移,并將 ACK Slot 長度增加,保證整幀報(bào)文的長度不變。當(dāng)顯性位電平由后往前,移至 DUT 采樣點(diǎn)位置,會(huì)被 DUT 采到并判定 CRC Delimiter 位為高電平,出現(xiàn)格式錯(cuò)誤,DUT 隨即發(fā)送錯(cuò)誤幀,并被 CANoe 采集到。另外每次干擾循環(huán)結(jié)束, VH6501 將發(fā)送 30 次控制器正常接收的任意一幀正常報(bào)文,從而使 DUT 始終保持 Error Active 狀態(tài),因其主動(dòng)錯(cuò)誤幀容易辨認(rèn)。


      那CANoe工程如何配置呢?首先打開軟件后,選擇CANoe的示例工程Disturbance SamplePoint Test (CAN)。進(jìn)入工程后,將 VH6501 通道分配給軟件通道 CAN1,在下圖所示界面設(shè)置 Mode 為 CAN,并勾選 Activate 選項(xiàng)使能 VH6501 總線干擾功能。


      VH6501 的采樣點(diǎn)設(shè)置盡量靠前,確保優(yōu)先干擾到控制器的采樣點(diǎn),此處BTL Cycles(指的是TQ數(shù)量,將一個(gè)位分為16個(gè)TQ) 和SJW(同步跳變寬度) 要選擇數(shù)值較大的組合,可參考下圖配置。


      配置完成之后,就可以寫capl測(cè)試腳本了。

      /*@!Encoding:936*/
      includes
      {
      
      }
      variables
      {
      CanDisturbanceFrameTrigger frameTrigger;
      CanDisturbanceFrameSequence frameSequence;
      CanDisturbanceSequence sequence;
      CanDisturbanceTriggerRepetitions repetitions;
      const int repetition_times_in_one_cycle = 10;
      //Number of disturbance repetitions in a cycle
      long result;
      long errfrmcount; //The error frame count in one cycle
      long first_err_bit_length,first_error_occur, ten_error_occur;
      long validityMask;
      long cycleFlag;
      message 0x100 triggerMessage; //The trigger
      message.(ID is not important.)
      message 0x0 spTestMsg; //The disturbance frame sequence which CRC DEL need to be shorten.
      message 0x1 Keep_DUT_ErrorActive;
      const long CountMsgKeepErrorActive = 30;
      long MsgCntKeepErrorActive = 0;
      char spTestDone[33] = "SPDone";
      }
      on errorFrame
      {
      if(this.msgChannel == @sysvar::CANDisturbanceInterface1::ChannelNo)
      {
      errfrmcount++;
      if((errfrmcount == 1) && (first_error_occur == 0))
      {
            first_err_bit_length = frameSequence.CRCDelimiter.BitSequence[0].segmentLength[0];
      first_error_occur = 1;
      write("+++++++++First error frame occurs+++++++++++.");
      }
      if(errfrmcount == repetition_times_in_one_cycle)
      {
      ten_error_occur = 1;
      testSupplyTextEvent(spTestDone);
      }
      }
      }
      
      on message 0x1
      {
      if(MsgCntKeepErrorActive <= CountMsgKeepErrorActive)
      {
      ++MsgCntKeepErrorActive;
      output(Keep_DUT_ErrorActive);
      }
      else
      {
      ActivateTriggerAgain();
      }
      }
      
      void ActivateTriggerAgain()
      {
      if(ten_error_occur == 0)
      {
      errfrmcount = 0;
      //CRC Delimiter is shorten with 6.25ns per cycle.
          --frameSequence.CRCDelimiter.BitSequence[0].segmentLength[0];
      ++frameSequence.AckSlot.BitSequence[0].segmentLength[0];
      result = canDisturbanceTriggerEnable(@sysvar::CANDisturbanceInterface1::DeviceNo,frameTrigger, frameSequence, repetitions);
      if(result == 1)
      {
      write("Trigger is enabled,
      frameSequence.CRCDelimiter.BitSequence[0].segmentLength[0] = %d",
      frameSequence.CRCDelimiter.BitSequence[0].segmentLength[0]);
      }
      else
      {
      write("Enable trigger error Result = %d", result);
      }
      }
      }
      
      on sysvar sysvar::CANDisturbanceInterface1::Trigger::State
      {
      //6501 is Idle after repetition_times_in_one_cycle finish
      if(@sysvar::CANDisturbanceInterface1::Trigger::State == 0)
      {
          //At the end of each disturbance cycle, the VH6501 need to outputsome normal message to prevent the DUT from being in a passive error state
          //because the passive error frame is not easily to be observed and
      //identified.
      MsgCntKeepErrorActive = 0;
      output(Keep_DUT_ErrorActive);
      }
      }
      
      testcase SamplePointTest_forVH6501()
      {
      first_error_occur = 0;
      ten_error_occur = 0;
      errfrmcount = 0;
      cycleFlag = 1;
        frameSequence.SetMessage(@sysvar::CANDisturbanceInterface1::DeviceNo,spTestMsg);
      validityMask = 0; //trigger on any CAN messages
      frameTrigger.SetMessage(triggerMessage,
      @sysvar::CANDisturbanceInterface1::DeviceNo, validityMask);
      frameTrigger.TriggerFieldType =
      @sysvar::CanDisturbance::Enums::FieldType::EndOfFrame;
        frameTrigger.TriggerFieldOffset = 9; //Trigger position is the thirdbit of IFS.
      write("CRC Delimiter Bit Length = %d",
        frameSequence.CRCDelimiter.BitSequence[0].segmentLength[0]);
      repetitions.Cycles = 1;
      repetitions.HoldOffCycles = 0;
      repetitions.HoldOffRepetitions = 0;
      repetitions.Repetitions = repetition_times_in_one_cycle;
        result = canDisturbanceTriggerEnable(@sysvar::CANDisturbanceInterface1::DeviceNo,frameTrigger,frameSequence,repetitions);
      
      if(result == 1)
        {
      write("Trigger is enabled.");
        }
      else
      {
      write("Enable trigger error Result = %d", result);
      }
      result = testWaitForTextEvent(spTestDone, 10000);
      if(result == 1)
      {
      write("frameSequence.CRCDelimiter.BitSequence[0].segmentLength[0] = %d
      , sample point lies in %f%%~%f%%",
      frameSequence.CRCDelimiter.BitSequence[0].segmentLength[0],
      (frameSequence.CRCDelimiter.BitSequence[0].segmentLength[0] * 100.00) /
      frameSequence.DLC.BitSequence[1].segmentLength[0], (first_err_bit_length *
      100.00) / frameSequence.DLC.BitSequence[1].segmentLength[0]);
      }
      }
      
      void maintest()
      {
      SamplePointTest_forVH6501();
      }

      那采樣點(diǎn)的測(cè)試結(jié)果一般受什么影響呢?一般來說受3個(gè)因素影響。


      在總線信號(hào)和 RxD 引腳信號(hào)上影響采樣點(diǎn)測(cè)試結(jié)果的因素示意圖

      ?指VH6501每次縮短或增長的步進(jìn)長度。

      ?指控制器的CAN參數(shù)配置中一個(gè)TQ的時(shí)間長度。

      ?指總線上一個(gè)位的電平長度與控制器內(nèi)部主控芯片 RxD 引腳上的一個(gè)位電平長度的時(shí)間差。? = () - ()

      如果一個(gè) CAN 的設(shè)備使用的時(shí)鐘對(duì)應(yīng)的最小 TQ 時(shí)間長度在?的范圍內(nèi),并且實(shí)際 TQ 配置在此范圍內(nèi),則?所帶來的誤差需要考慮在采樣點(diǎn)測(cè)試的結(jié)果中 。ISO11898-2: 2015規(guī)定了在2MBaud下,規(guī)定了?的允許范圍為-65ns 到+40ns。而對(duì)于 2MBaud下,一個(gè)位時(shí)間長度為500ns, 這意味著在RxD引腳上的為時(shí)間長度將會(huì)比在總線上的為時(shí)間長度短13%或長 8%。而 TQ 時(shí)間長度的計(jì)算公式為:? =/

      如果在 2MBaud 下, 一個(gè) TQ 的時(shí)間長度小于一個(gè)位的 13%, 則?將會(huì)被考慮進(jìn)采樣點(diǎn)測(cè)試的結(jié)果當(dāng)中。具體的誤差將取決于 CAN 發(fā)送器和使用的波特率。

      假設(shè) CAN 時(shí)鐘頻率為 80MHz, ?為 25ns,預(yù)分頻(Prescaler) 為 1, ?為 12.5ns, ?為6.25ns。仲裁相為 500kBaud,數(shù)據(jù)相為 2MBaud。

      這意味著?所帶來的誤差在仲裁相為 1.25%,在數(shù)據(jù)相則會(huì)上升到 5%(由于單個(gè)位時(shí)間長度縮短了) 。這幾乎相當(dāng)于 2 個(gè) TQ 的時(shí)間長度。測(cè)試工具 VH6501 步進(jìn)長度?所帶來的誤差分別為0.3125%和 1.25%。

      由于 CAN 協(xié)議 11898 中并未規(guī)定重同步后跳變沿一定要在同步段(Sync Segment) 的哪個(gè)位置,從同步段(Sync Segment) 的開始到結(jié)束均可以,因此這會(huì)帶來 1 個(gè) TQ 的誤差。在仲裁相和數(shù)據(jù)相中帶來的誤差分別為 0.625%和 2.5%。

      因此綜上所述,在仲裁相中總的最大誤差為 2.1875%(1.25% + 0.3125% + 0.625%) ,在數(shù)據(jù)相中總的最大誤差為 8.75%(5% + 1.25% + 2.5%)。

      由上可知, 由 VH6501 所帶來的誤差所占比例是很小的。而大部分是由于 CAN 協(xié)議本身所帶來的誤差。

      -end-

      分享不易,懇請(qǐng)點(diǎn)個(gè)【】和【在看】

      特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

      Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

      相關(guān)推薦
      熱點(diǎn)推薦
      52歲謝金燕近況曝光!馬甲線鋒利如刀,背后卻藏著數(shù)不盡的坎坷

      52歲謝金燕近況曝光!馬甲線鋒利如刀,背后卻藏著數(shù)不盡的坎坷

      飄飄然的娛樂匯
      2026-05-14 21:15:11
      都體:長友佑都39歲入選世界杯,第五次參賽當(dāng)場(chǎng)落淚

      都體:長友佑都39歲入選世界杯,第五次參賽當(dāng)場(chǎng)落淚

      懂球帝
      2026-05-16 02:20:07
      “你兒子比農(nóng)村土狗還好養(yǎng)!”中學(xué)男孩全碳水飲食,吃出可憐面相

      “你兒子比農(nóng)村土狗還好養(yǎng)!”中學(xué)男孩全碳水飲食,吃出可憐面相

      妍妍教育日記
      2026-05-12 17:35:01
      剛接公婆來家,爸媽就停我12000房貸:錢給親家養(yǎng)老房貸

      剛接公婆來家,爸媽就停我12000房貸:錢給親家養(yǎng)老房貸

      麥子情感故事
      2026-05-15 16:35:19
      槍聲響起!小馬科斯大勢(shì)已去,菲軍方緊急切割,中菲關(guān)系或迎轉(zhuǎn)機(jī)

      槍聲響起!小馬科斯大勢(shì)已去,菲軍方緊急切割,中菲關(guān)系或迎轉(zhuǎn)機(jī)

      深挖全球熱點(diǎn)
      2026-05-16 05:01:28
      訪華最后一天,中方以茶論道,給了特朗普中美外交史上唯二的待遇

      訪華最后一天,中方以茶論道,給了特朗普中美外交史上唯二的待遇

      泛舟碧波湖水
      2026-05-15 22:56:48
      馬刺新星瓦塞爾身家1900萬,5年1.35億合同細(xì)節(jié)曝光

      馬刺新星瓦塞爾身家1900萬,5年1.35億合同細(xì)節(jié)曝光

      慢享生活集
      2026-05-16 01:55:35
      官方回應(yīng)“廣州一網(wǎng)紅粥店后廚員工用掃把洗鍋”:情況屬實(shí),已立案調(diào)查,該店已自行停業(yè)整頓

      官方回應(yīng)“廣州一網(wǎng)紅粥店后廚員工用掃把洗鍋”:情況屬實(shí),已立案調(diào)查,該店已自行停業(yè)整頓

      新浪財(cái)經(jīng)
      2026-05-15 22:43:11
      4 種最佳抗衰老的運(yùn)動(dòng),平均壽命延長5-10年

      4 種最佳抗衰老的運(yùn)動(dòng),平均壽命延長5-10年

      增肌減脂
      2026-04-07 21:15:04
      馬斯克訪華像回家,母親已長住上海,兒子身價(jià)萬億她還做視頻帶貨

      馬斯克訪華像回家,母親已長住上海,兒子身價(jià)萬億她還做視頻帶貨

      別人都叫我阿腈
      2026-05-15 12:53:23
      小玥兒雨中崩潰大哭,張?zhí)m佛堂痛哭,孩子委屈背后藏什么隱情

      小玥兒雨中崩潰大哭,張?zhí)m佛堂痛哭,孩子委屈背后藏什么隱情

      君笙的拂兮
      2026-05-15 23:45:00
      《一簾幽夢(mèng)碎,誰解癡心人》

      《一簾幽夢(mèng)碎,誰解癡心人》

      青蘋果sht
      2026-05-15 04:59:04
      耍大牌!NBA豪門內(nèi)訌要解散,超巨遭隊(duì)友背刺離隊(duì),哈登被你害慘了

      耍大牌!NBA豪門內(nèi)訌要解散,超巨遭隊(duì)友背刺離隊(duì),哈登被你害慘了

      老侃侃球
      2026-05-15 15:27:54
      兩年輸光2000億資產(chǎn)的王健林,可能是中國地產(chǎn)的最后贏家

      兩年輸光2000億資產(chǎn)的王健林,可能是中國地產(chǎn)的最后贏家

      流蘇晚晴
      2026-05-12 19:20:28
      韓國南極科考站發(fā)生一起恐怖電影般事件:一50多歲研究員,用車間不銹鋼板自制30厘米刀具,亮刀威脅同事!只因與其發(fā)生矛盾……

      韓國南極科考站發(fā)生一起恐怖電影般事件:一50多歲研究員,用車間不銹鋼板自制30厘米刀具,亮刀威脅同事!只因與其發(fā)生矛盾……

      都市快報(bào)橙柿互動(dòng)
      2026-05-15 22:36:39
      深圳地鐵站偶遇王鷗!熒幕上顏值一般,現(xiàn)實(shí)中卻美得驚艷又年輕

      深圳地鐵站偶遇王鷗!熒幕上顏值一般,現(xiàn)實(shí)中卻美得驚艷又年輕

      陳意小可愛
      2026-05-16 05:28:09
      大興機(jī)場(chǎng)卷成吃住一條龍?bào)A站了

      大興機(jī)場(chǎng)卷成吃住一條龍?bào)A站了

      Vista氫商業(yè)
      2026-05-15 18:56:49
      特朗普稱美伊停火系“應(yīng)其他國家要求”

      特朗普稱美伊停火系“應(yīng)其他國家要求”

      新京報(bào)
      2026-05-15 21:44:04
      昔日接班人穩(wěn)坐核心,水谷隼為何容不下張本一家?答案刺痛日乒

      昔日接班人穩(wěn)坐核心,水谷隼為何容不下張本一家?答案刺痛日乒

      曹老師評(píng)球
      2026-05-15 22:23:13
      2025長沙初中實(shí)力榜出爐!頭部梯隊(duì)斷層領(lǐng)先,四大率差距一目了然

      2025長沙初中實(shí)力榜出爐!頭部梯隊(duì)斷層領(lǐng)先,四大率差距一目了然

      朗威談星座
      2026-05-15 18:48:06
      2026-05-16 09:19:00
      新能源自動(dòng)駕駛 incentive-icons
      新能源自動(dòng)駕駛
      專注于半導(dǎo)體行業(yè)資訊
      977文章數(shù) 347關(guān)注度
      往期回顧 全部

      汽車要聞

      高爾夫GTI刷新紐北紀(jì)錄 ID. Polo GTI迎全球首秀

      頭條要聞

      魯比奧訪華期間回應(yīng)媒體提問:中美兩國關(guān)系至關(guān)重要

      頭條要聞

      魯比奧訪華期間回應(yīng)媒體提問:中美兩國關(guān)系至關(guān)重要

      體育要聞

      德約科維奇買的球隊(duì),從第6級(jí)聯(lián)賽升入法甲

      娛樂要聞

      張嘉譯和老婆的差距讓人心酸

      財(cái)經(jīng)要聞

      造詞狂魔賈躍亭

      科技要聞

      直降千元起步!蘋果華為率先開啟618讓利

      態(tài)度原創(chuàng)

      本地
      時(shí)尚
      親子
      游戲
      旅游

      本地新聞

      用蘇繡的方式,打開江西婺源

      頂級(jí)團(tuán)隊(duì)拍出來的作品不如素人,問題出在哪兒了?

      親子要聞

      兒童補(bǔ)腦DHA品牌怎么挑?神經(jīng)酸+磷脂酰絲氨酸PS品牌嚴(yán)選,穩(wěn)固提升理解能力

      《街霸6》春麗新品來了!招牌肉腿完美還原

      旅游要聞

      縉云·巫山時(shí)序丨劉紅梅:深山叢林

      無障礙瀏覽 進(jìn)入關(guān)懷版 主站蜘蛛池模板: 精品无码黑人又粗又大又长| 曰韩无码二三区中文字幕| 99精品国产高清一区二区麻豆| 亚洲色婷婷综合开心网| 久久精品www人人做人人爽| 99久久亚洲综合精品成人网| 午夜影院 中文 无码| 亚洲最新版无码AV| 精品国产一区二区三区麻豆| 波多野结衣无码视频一区二区三区| 国产综合内射日韩久| 精品卡通动漫亚洲AV第一页| 亚洲午夜成人久久久久久| 欧美人与动牲交xxxxbbbb| 国产精品无码久久久久AV| 国产va免费精品观看| 欧美另类人妻制服丝袜| 欧美交a欧美精品喷水| 亚洲一区亚洲二区| 裸体美女无遮挡免费网站| 最近更新中文字幕第一| 国产亚洲日韩一区二区三区| 自拍偷自拍亚洲一区二区| 国产av制服丝袜| 亚洲AV中文无码乱人伦在线视色| 成人黄色电影网址| 狠狠色狠狠色综合日日不卡| 久久精品国产亚洲av高| 成人无码AV片| 日韩精品久久久久久久电影蜜臀| 一级毛片在线播放免费观看| 一区二区三区日本久久九| 老司机免费的精品视频| 在线免费观看a视频| 综合图区亚洲欧美另类图片| 国产亚洲精久久久久久无码77777| 亚洲色成人网站www永久四虎| 人妻少妇精品视频三区二区| 久久精品女| 一本色道久久综合熟妇人妻| 国产日本一线在线观看免费|