亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種雙速率CANFD的波特率測量方法及裝置與流程

文檔序號(hào):12821827閱讀:458來源:國知局
一種雙速率CAN FD的波特率測量方法及裝置與流程

本發(fā)明涉及數(shù)據(jù)測量領(lǐng)域,特別涉及一種雙速率canfd的波特率測量方法及裝置。



背景技術(shù):

在can總線分析儀器、邏輯分析儀、示波器等測量儀器中,需要對(duì)待測的can總線信號(hào)進(jìn)行波特率測量,然后再進(jìn)行后續(xù)的解碼分析。由于經(jīng)典的can總線只有一種通信速率,可以采用最小位寬的測量方法就可以偵測出波特率。

現(xiàn)有的單一速率的信號(hào)的波特率測量可以如圖1所示,從開始測量時(shí)記錄總線信號(hào)的邊沿跳變信息,并用相鄰的兩個(gè)邊沿信息的時(shí)間相減即可得到當(dāng)前邏輯電平信號(hào)的位寬信息。如t2-t1即為第一個(gè)顯性電平(低電平)的位寬,按此方法可找到待測信號(hào)的最小位寬tm-(tm-1),即可計(jì)算相應(yīng)的波特率。顯然,現(xiàn)有的波特率測量方法僅能用于測量單一速率的信號(hào)的波特率,不能用于測量有兩種通信速率的canfd(靈活可變速率的can)信號(hào)的波特率。因此,如何測量雙速率canfd的波特率是現(xiàn)今亟需解決的問題。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的是提供一種雙速率canfd的波特率測量方法及裝置,以測量具有兩種通訊速率的canfd總線信號(hào)的波特率,提升用戶體驗(yàn)。

為解決上述技術(shù)問題,本發(fā)明提供一種雙速率canfd的波特率測量方法,包括:

獲取位寬信息;

記錄已獲取的位寬信息中的第一最大位寬信息、次大位寬信息、最大位寬結(jié)束時(shí)間和第一最小位寬信息;

記錄當(dāng)前位寬結(jié)束時(shí)間;

判斷是否滿足所述次大位寬信息除以所述第一最小位寬信息大于等于2、所述當(dāng)前位寬結(jié)束時(shí)間減去所述第一最大位寬結(jié)束時(shí)間大于等于16倍的所述第一最小位寬信息且所述第一最大位寬信息除以所述第一最小位寬信息大于等于第一閾值;其中,所述第一閾值大于等于5;

若是,則計(jì)算第一波特率,根據(jù)所述第一波特率計(jì)算并記錄第二最大位寬信息和第二最小位寬信息;

再次獲取位寬信息;

根據(jù)已再次獲取的位寬信息更新或保持所述第二最大位寬信息和/或所述第二最小位寬信息;

判斷是否滿足所述第二最大位寬信息大于等于7除以所述第一波特率且所述第二最小位寬信息乘以第二閾值小于等于1除以所述第一波特率;

若是,則計(jì)算第二波特率;

輸出所述第一波特率和所述第二波特率。

可選的,所述判斷是否滿足所述次大位寬信息除以所述第一最小位寬信息大于等于2、所述當(dāng)前位寬結(jié)束時(shí)間減去所述第一最大位寬結(jié)束時(shí)間大于等于16倍的所述第一最小位寬信息且所述第一最大位寬信息除以所述第一最小位寬信息大于等于第一閾值之后,還包括:

若不滿足所述次大位寬信息除以所述第一最小位寬信息大于等于2、所述當(dāng)前位寬結(jié)束時(shí)間減去所述第一最大位寬結(jié)束時(shí)間大于等于16倍的所述第一最小位寬信息且所述第一最大位寬信息除以所述第一最小位寬信息大于等于第一閾值,則判斷所述次大位寬信息除以所述第一最小位寬信息是否大于等于3;

若所述次大位寬信息除以所述第一最小位寬信息大于等于3,則執(zhí)行所述計(jì)算第一波特率并根據(jù)所述第一波特率計(jì)算第二最大位寬信息和第二最小位寬信息的步驟;

若所述次大位寬信息除以所述第一最小位寬信息不大于等于3,則執(zhí)行所述獲取位寬信息的步驟,用于獲取下一位寬信息。

可選的,所述輸出所述第一波特率和所述第二波特率之前,還包括:

更新所述當(dāng)前位寬結(jié)束時(shí)間;

重繪所述第一最大位寬結(jié)束時(shí)間至更新的所述當(dāng)前位寬結(jié)束時(shí)間之間的波形;

對(duì)重繪的所述波形進(jìn)行canfd解碼;

判斷所述解碼是否成功;

若是,則執(zhí)行所述輸出所述第一波特率和所述第二波特率的步驟;

若否,則判斷所述第二最大位寬信息是否大于等于10除以第一波特率;

若所述第二最大位寬信息不大于等于10除以第一波特率,則執(zhí)行所述再次獲取位寬信息的步驟;

若所述第二最大位寬信息大于等于10除以第一波特率,則用所述第二最大位寬信息更新所述第一最大位寬信息,執(zhí)行所述獲取位寬信息的步驟。

可選的,所述判斷是否滿足所述第二最大位寬信息大于等于7除以所述第一波特率且所述第二最小位寬信息乘以第二閾值小于等于1除以所述第一波特率之后,還包括:

若不滿足所述第二最大位寬信息大于等于7除以所述第一波特率且所述第二最小位寬信息乘以第二閾值小于等于1除以所述第一波特率,則執(zhí)行所述判斷所述第二最大位寬信息是否大于等于10除以第一波特率的步驟。

可選的,所述記錄已獲取的位寬信息中的第一最大位寬信息、次大位寬信息、最大位寬結(jié)束時(shí)間和第一最小位寬信息,包括:

判斷當(dāng)前的位寬信息是否大于預(yù)設(shè)或已記錄的所述第一最大位寬信息;

若是,則更新所述第一最大位寬信息和所述最大位寬結(jié)束時(shí)間或更新所述第一最大位寬信息、所述次大位寬信息和所述最大位寬結(jié)束時(shí)間,執(zhí)行所述記錄當(dāng)前位寬結(jié)束時(shí)間的步驟;

若否,判斷當(dāng)前的位寬信息是否大于預(yù)設(shè)或已記錄的所述次大位寬信息;

若當(dāng)前的位寬信息大于預(yù)設(shè)或已記錄的所述次大位寬信息,則更新所述次大位寬信息,執(zhí)行所述記錄當(dāng)前位寬結(jié)束時(shí)間的步驟;

若當(dāng)前的位寬信息不大于預(yù)設(shè)或已記錄的所述次大位寬信息,則判斷當(dāng)前的位寬信息是否小于預(yù)設(shè)或已記錄的所述第一最小位寬信息且大于預(yù)設(shè)或已記錄的所述第一最小位寬信息除以第三閾值;

若當(dāng)前的位寬信息小于預(yù)設(shè)或已記錄的所述第一最小位寬信息且大于預(yù)設(shè)或已記錄的所述第一最小位寬信息除以第三閾值,則更新所述第一最小位寬信息,執(zhí)行所述記錄當(dāng)前位寬結(jié)束時(shí)間的步驟;

若當(dāng)前的位寬信息不小于預(yù)設(shè)或已記錄的所述第一最小位寬信息,和/或當(dāng)前的位寬信息不大于預(yù)設(shè)或已記錄的所述第一最小位寬信息除以第三閾值,則執(zhí)行所述記錄當(dāng)前位寬結(jié)束時(shí)間的步驟。

可選的,所述根據(jù)已再次獲取的位寬信息更新或保持所述第二最大位寬信息和/或所述第二最小位寬信息,包括:

判斷當(dāng)前的位寬信息是否小于已記錄的所述第二最小位寬信息且大于已記錄的所述第二最小位寬信息除以第四閾值;

若是,則更新所述第二最小位寬信息,執(zhí)行所述判斷是否滿足所述第二最大位寬信息大于等于7除以所述第一波特率且所述第二最小位寬信息乘以第二閾值小于等于1除以所述第一波特率的步驟;

若否,則判斷當(dāng)前的位寬信息是否大于已記錄的所述第二最大位寬信息;

若當(dāng)前的位寬信息大于已記錄的所述第二最大位寬信息,則更新所述第二最大位寬信息,執(zhí)行所述判斷是否滿足所述第二最大位寬信息大于等于7除以所述第一波特率且所述第二最小位寬信息乘以第二閾值小于等于1除以所述第一波特率的步驟;

若當(dāng)前的位寬信息不大于已記錄的所述第二最大位寬信息,則執(zhí)行所述判斷是否滿足所述第二最大位寬信息大于等于7除以所述第一波特率且所述第二最小位寬信息乘以第二閾值小于等于1除以所述第一波特率的步驟。

可選的,所述獲取位寬信息和/或所述再次獲取位寬信息,還包括:

當(dāng)電平信號(hào)在預(yù)定時(shí)間間隔內(nèi)未產(chǎn)生邊沿跳變時(shí),按所述預(yù)定時(shí)間間隔添加電平信息。

此外,本發(fā)明還提供了一種雙速率canfd的波特率測量裝置,包括:

第一獲取模塊,用于獲取位寬信息;

第一記錄模塊,用于記錄已獲取的位寬信息中的第一最大位寬信息、次大位寬信息、最大位寬結(jié)束時(shí)間和第一最小位寬信息;

第二記錄模塊,用于記錄當(dāng)前位寬結(jié)束時(shí)間;

第一判斷模塊,用于判斷是否滿足所述次大位寬信息除以所述第一最小位寬信息大于等于2、所述當(dāng)前位寬結(jié)束時(shí)間減去所述第一最大位寬結(jié)束時(shí)間大于等于16倍的所述第一最小位寬信息且所述第一最大位寬信息除以所述第一最小位寬信息大于等于第一閾值;其中,所述第一閾值大于等于5;若是,則向第一計(jì)算模塊發(fā)送第一計(jì)算信號(hào);

第一計(jì)算模塊,用于接收所述第一計(jì)算信號(hào),計(jì)算第一波特率,根據(jù)所述第一波特率計(jì)算并記錄第二最大位寬信息和第二最小位寬信息;

第二獲取模塊,用于再次獲取位寬信息;

第一更新模塊,用于根據(jù)已再次獲取的位寬信息更新或保持所述第二最大位寬信息和/或所述第二最小位寬信息;

第二判斷模塊,用于判斷是否滿足所述第二最大位寬信息大于等于7除以所述第一波特率且所述第二最小位寬信息乘以第二閾值小于等于1除以所述第一波特率;若是,則向第二計(jì)算模塊發(fā)送第二計(jì)算信號(hào);

第二計(jì)算模塊,用于接收所述第二計(jì)算信號(hào),計(jì)算第二波特率;

輸出模塊,用于輸出所述第一波特率和所述第二波特率。

可選的,該裝置還包括:

第三判斷模塊,用于若不滿足所述次大位寬信息除以所述第一最小位寬信息大于等于2、所述當(dāng)前位寬結(jié)束時(shí)間減去所述第一最大位寬結(jié)束時(shí)間大于等于16倍的所述第一最小位寬信息且所述第一最大位寬信息除以所述第一最小位寬信息大于等于第一閾值,則判斷所述次大位寬信息除以所述第一最小位寬信息是否大于等于3;若是,則向所述第一計(jì)算模塊發(fā)送所述第一計(jì)算信號(hào);若否,則向所述第一獲取模塊發(fā)送獲取信號(hào),用于獲取下一位寬信息。

可選的,該裝置還包括:

第二更新模塊,用于更新所述當(dāng)前位寬結(jié)束時(shí)間;

重繪模塊,用于重繪所述第一最大位寬結(jié)束時(shí)間至更新的所述當(dāng)前位寬結(jié)束時(shí)間之間的波形;

解碼模塊,用于對(duì)重繪的所述波形進(jìn)行canfd解碼;

第四判斷模塊,用于判斷所述解碼是否成功;若是,則向所述輸出模塊發(fā)送輸出信號(hào);若否,則向第五判斷模塊發(fā)送判斷信號(hào);

第五判斷模塊,用于接收所述判斷信號(hào),判斷所述第二最大位寬信息是否大于等于10除以第一波特率;若否,則向所述第二獲取模塊發(fā)送再次獲取信號(hào),用于獲取下一位寬信息;

第三更新模塊,用于若所述第二最大位寬信息大于等于10除以第一波特率,則用所述第二最大位寬信息更新所述第一最大位寬信息,則向所述第一獲取模塊發(fā)送所述獲取信號(hào),用于獲取下一位寬信息。

本發(fā)明所提供的一種雙速率canfd的波特率測量方法,包括:獲取位寬信息;記錄已獲取的位寬信息中的第一最大位寬信息、次大位寬信息、最大位寬結(jié)束時(shí)間和第一最小位寬信息;記錄當(dāng)前位寬結(jié)束時(shí)間;判斷是否滿足所述次大位寬信息除以所述第一最小位寬信息大于等于2、所述當(dāng)前位寬結(jié)束時(shí)間減去所述第一最大位寬結(jié)束時(shí)間大于等于16倍的所述第一最小位寬信息且所述第一最大位寬信息除以所述第一最小位寬信息大于等于第一閾值;其中,所述第一閾值大于等于5;若是,則計(jì)算第一波特率,根據(jù)所述第一波特率計(jì)算并記錄第二最大位寬信息和第二最小位寬信息;再次獲取位寬信息;根據(jù)已再次獲取的位寬信息更新或保持所述第二最大位寬信息和/或所述第二最小位寬信息;判斷是否滿足所述第二最大位寬信息大于等于7除以所述第一波特率且所述第二最小位寬信息乘以第二閾值小于等于1除以所述第一波特率;若是,則計(jì)算第二波特率;輸出所述第一波特率和所述第二波特率;

可見,本發(fā)明通過第一最大位寬信息、次大位寬信息、最大位寬結(jié)束時(shí)間、第一最小位寬信息和當(dāng)前位寬結(jié)束時(shí)間這些數(shù)值間的比較可以確定仲裁域最小位寬,從而計(jì)算出第一波特率也就是仲裁域的波特率;通過第二最大位寬信息、第二最小位寬信息和第一波特率這些數(shù)值間的比較可以確定數(shù)據(jù)域最小位寬,從而計(jì)算出第二波特率也就是數(shù)據(jù)域的波特率,以達(dá)到測量具有兩種通訊速率的canfd總線信號(hào)的波特率的目的,提升了用戶體驗(yàn)。此外,本發(fā)明還提供了一種雙速率canfd的波特率測量裝置,同樣具有上述有益效果。

附圖說明

為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。

圖1為傳統(tǒng)的波特率測量方法的示意圖;

圖2為本發(fā)明實(shí)施例所提供的一種雙速率canfd的波特率測量方法的流程圖;

圖3為本發(fā)明實(shí)施例所提供的一種雙速率canfd的波特率測量方法的電平信息添加的示意圖;

圖4為本發(fā)明實(shí)施例所提供的一種雙速率canfd的波特率測量方法的量化位寬比值的示意圖;

圖5為本發(fā)明實(shí)施例所提供的另一種雙速率canfd的波特率測量方法的流程示意圖;

圖6為本發(fā)明實(shí)施例所提供的一種雙速率canfd的波特率測量裝置的結(jié)構(gòu)圖。

具體實(shí)施方式

為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

請參考圖2、圖3和圖4,圖2為本發(fā)明實(shí)施例所提供的一種雙速率canfd的波特率測量方法的流程圖;圖3為本發(fā)明實(shí)施例所提供的一種雙速率canfd的波特率測量方法的電平信息添加的示意圖;圖4為本發(fā)明實(shí)施例所提供的一種雙速率canfd的波特率測量方法的量化位寬比值的示意圖。該方法可以包括:

步驟101:獲取位寬信息。

其中,位寬信息可以為相鄰的兩個(gè)邊沿跳變信息的時(shí)間相減得到。而對(duì)于邊沿跳變信息的記錄方式,也就是位寬信息的記錄方式,考慮到總線長時(shí)間無報(bào)文出現(xiàn)的情況,也就是總線信號(hào)有可能出現(xiàn)長時(shí)間的隱性電平,如幾秒長的時(shí)間。這個(gè)長時(shí)間的隱性電平如果一直不結(jié)束將不利于本發(fā)明對(duì)幀結(jié)束的判斷,如總線上只出現(xiàn)1幀報(bào)文,這時(shí)報(bào)文結(jié)束后的信號(hào)一直沒有邊沿跳變,最后一段隱性電平的寬度將無法測量,也就判斷不出幀結(jié)束的位置。可以增加對(duì)長時(shí)間不變的電平信號(hào)做記錄的控制,可以當(dāng)電平信號(hào)在預(yù)定時(shí)間間隔內(nèi)未產(chǎn)生邊沿跳變時(shí),按預(yù)定時(shí)間間隔添加電平信息。由于can總線的最小通信速率為5kbps,即一個(gè)邏輯位的時(shí)間為0.2ms,上述預(yù)定時(shí)間間隔可以選擇大于等于3ms的數(shù)值,具體預(yù)定時(shí)間間隔的設(shè)置可以由設(shè)計(jì)人員或用戶根據(jù)實(shí)用場景和用戶需求自行設(shè)置,本實(shí)施例對(duì)此不受任何限制。如圖3中tm和tm+1的位置所示,可以在電平信號(hào)超過4ms未產(chǎn)生邊沿跳變時(shí)自動(dòng)添加電平信息,也就是預(yù)定時(shí)間間隔為4ms。

步驟102:記錄已獲取的位寬信息中的第一最大位寬信息、次大位寬信息、最大位寬結(jié)束時(shí)間和第一最小位寬信息。

其中,本步驟的目的是記錄已獲取的位寬信息中的第一最大位寬信息(amax1)、次大位寬信息(amax2)、最大位寬結(jié)束時(shí)間(tmax)和第一最小位寬信息(amin)。對(duì)于具體的記錄方式,可以通過獲取的當(dāng)前位寬信息分別與已記錄的amax1、amax2和amin比較的方式,選擇是否更新amax1、amax2、tmax和amin的數(shù)值;為了排除干擾信號(hào)的影響,也可以在當(dāng)前位寬信息與amin比較中加入與amin/p的比較,也就是比較當(dāng)前位寬信息是否小于amin且大于amin/p。通過前位寬信息是否大于amin/p的判斷中第三閾值(p)的取值的設(shè)置,可以將小于amin的p分之一的寬度的干擾信號(hào)剔除。對(duì)于p的具體數(shù)值可以由設(shè)計(jì)人員或其他軟件配置,可根據(jù)can總線不同的應(yīng)用環(huán)境配置不同的值,典型取值可以為4。本實(shí)施例對(duì)此不做任何限制。

可以理解的是,對(duì)于本步驟中第一最大位寬信息、次大位寬信息、最大位寬結(jié)束時(shí)間和第一最小位寬信息的具體記錄方式,本實(shí)施例不做任何限制。

步驟103:記錄當(dāng)前位寬結(jié)束時(shí)間。

其中,當(dāng)前位寬結(jié)束時(shí)間可以用tbit表示。

步驟104:判斷是否滿足次大位寬信息除以第一最小位寬信息大于等于2、當(dāng)前位寬結(jié)束時(shí)間減去第一最大位寬結(jié)束時(shí)間大于等于16倍的第一最小位寬信息且第一最大位寬信息除以第一最小位寬信息大于等于第一閾值;其中,第一閾值大于等于5;若是,則進(jìn)入步驟105。

其中,次大位寬信息除以第一最小位寬信息大于等于2、當(dāng)前位寬結(jié)束時(shí)間減去第一最大位寬結(jié)束時(shí)間大于等于16倍的第一最小位寬信息且第一最大位寬信息除以第一最小位寬信息大于等于第一閾值,可以分別用amax2/amin>=2、tbit-tmax>=16*amin和amax1/amin>=m表示。對(duì)于第一閾值(m)的取值,由can總線的填充規(guī)則可知,如果測量起始點(diǎn)在幀起始后,那么只要檢測到amax1/amin>=5就可以確定已檢測到仲裁域的最小位寬,也就是m的取值為5,但考慮到總線信號(hào)位寬通常存在隱性位被顯性位侵占而變小的情況,可以將m取大于5的數(shù)值,如可以將條件設(shè)為amax1/amin>=7。本實(shí)施例對(duì)此不受任何限制。

可以理解的是,本步驟的目的是通過amax2/amin>=2、tbit-tmax>=16*amin和amax1/amin>=m的條件限定,確定出仲裁域的最小位寬(amin),上述的限定條件對(duì)所有的標(biāo)準(zhǔn)canfd幀均適用。對(duì)于部分拓展canfd幀,可以在不滿足上述限定條件的情況下,判斷是否符合amax2/amin>=3;若是,則也可以確定出仲裁域的最小位寬,進(jìn)行接下來的步驟;若否,則說明未確定出仲裁域的最小位寬,需要返回步驟101,繼續(xù)獲取位寬信息。

需要說明的是,本實(shí)施例中對(duì)于不滿足amax2/amin>=2、tbit-tmax>=16*amin和amax1/amin>=m條件的情況,并未進(jìn)行過多的描述,可以進(jìn)行如上述是否滿足amax2/amin>=3的判斷,也可以直接返回步驟101繼續(xù)獲取位寬信息??梢愿鶕?jù)本實(shí)施例所提供的方法使用環(huán)境中是否存在拓展canfd幀進(jìn)行選擇,本實(shí)施例對(duì)此不受任何限制。

對(duì)于本步驟中的amax2/amin>=2、tbit-tmax>=16*amin和amax1/amin>=m的三個(gè)限定條件,可以如本實(shí)施例所展示的在一個(gè)步驟中直接判斷三個(gè)條件,也可以在多個(gè)步驟中分別判斷上述三個(gè)條件,本實(shí)施例對(duì)此不受任何限制。

步驟105:計(jì)算第一波特率,根據(jù)第一波特率計(jì)算并記錄第二最大位寬信息和第二最小位寬信息。

其中,盡管計(jì)算出的第一波特率可以是仲裁域的波特率也可以是數(shù)據(jù)域的波特率,但通過接下來的步驟可以將第一波特率為數(shù)據(jù)域的波特率的情況排除,確保輸出的第一波特率為仲裁域的波特率。因此,對(duì)于最終的輸出結(jié)果而言第一波特率為仲裁域的波特率(abtr),上述amin為仲裁域的最小位寬信息。

可以理解的是,測量出仲裁域的最小位寬信息之后,由于信號(hào)變形的原因,不能將仲裁域的最小位寬信息(amin)直接作為仲裁域的波特率的周期1/abtr。因此計(jì)算第一波特率,可以在第一最大位寬信息(amax1)之后開始,將后續(xù)的每一段位寬信息除以amin,舍去余數(shù)得到位寬比值n,共有i個(gè)n,如圖4所示,再用公式(tbit-tmax)/(n1+n2+…+ni-1+ni)求得波特率的倒數(shù)1/abtr,進(jìn)而得出仲裁域波特率abtr的值,也就是第一波特率。這樣就能避免總線信號(hào)變形的影響,減小波特率計(jì)算誤差。可以理解的是,對(duì)于第一波特率的具體計(jì)算方式,可以使用上述方式,使用其他方式也可以達(dá)到本實(shí)施例的目的,本實(shí)施例對(duì)此不受任何限制。

需要說明的是,根據(jù)第一波特率(abtr)計(jì)算并記錄第二最大位寬信息(dmax)和第二最小位寬信息(dmin),可以為通過1/abtr的方式計(jì)算并記錄dmax和dmin的初始值。

步驟106:再次獲取位寬信息。

可以理解的是,再次獲取位寬信息可以為繼續(xù)獲取幀內(nèi)的位寬信息,只是接下來對(duì)于獲取的當(dāng)前位寬信息的比較對(duì)象發(fā)生了改變。

步驟107:根據(jù)已再次獲取的位寬信息更新或保持第二最大位寬信息和/或第二最小位寬信息。

其中,本步驟可以為獲取的當(dāng)前位寬信息分別與已記錄的dmax和dmin進(jìn)行比較,將大于dmax或小于dmin的當(dāng)前位寬信息更新到對(duì)應(yīng)的dmax或dmin,否則保持dmax或dmin不變。

可以理解的是,為了排除干擾信號(hào)的影響,也可以在當(dāng)前位寬信息與dmin比較中加入與dmin/q的比較,也就是比較當(dāng)前位寬信息是否小于amin且大于amin/q,對(duì)于q(第四閾值)的具體設(shè)置方式與上文中p的設(shè)置方式相似,在此不再贅述。

步驟108:判斷是否滿足第二最大位寬信息大于等于7除以第一波特率且第二最小位寬信息乘以第二閾值小于等于1除以第一波特率;若是,則進(jìn)入步驟109。

其中,第二最大位寬信息大于等于7除以第一波特率且第二最小位寬信息乘以第二閾值小于等于1除以第一波特率,可以分別用dmax>=7/abtr和dmin*k<=1/abtr表示。由于數(shù)據(jù)域的位速率比仲裁域的位速率大,可以通過dmin*k<=1/abtr,確定記錄的dmax和dmin是否屬于數(shù)據(jù)域,從而確保計(jì)算的第一波特率和第二波特率分別為仲裁域的波特率(abtr)和數(shù)據(jù)域的波特率(dbtr)。第二閾值(k)可以選擇大于1的數(shù)值,k的數(shù)值決定了數(shù)據(jù)域的波特率與仲裁域的波特率的最小比值,對(duì)于k的數(shù)值的具體配置方式,可以由設(shè)計(jì)人員或其他軟件配置,典型值可以為1.5。以k=2,仲裁域波特率為1mbps為例,只有數(shù)據(jù)域的波特率大于等于2mbps時(shí)才能被本發(fā)明所提供的方法測量出。

可以理解的是,通過dmin*k<=1/abtr可以確定出當(dāng)前位寬屬于數(shù)據(jù)域,通過dmax>=7/abtr可以判定當(dāng)前幀結(jié)束。當(dāng)上述兩個(gè)限定條件滿足的情況下,可以通過步驟109計(jì)算第二波特率,也就是數(shù)據(jù)域的波特率。當(dāng)上述兩個(gè)限定條件滿足的情況下不滿足的情況下,可以通過判斷是否滿足dmax>=10/abtr來確定當(dāng)前位寬信息是否不屬于數(shù)據(jù)域;若是,則返回步驟101,獲取位寬信息,重新計(jì)算仲裁域的波特率;若否,則返回步驟106,再次獲取位寬信息,進(jìn)行判定,從而計(jì)算第二波特率。優(yōu)選的,可以在上述返回步驟101之前,用記錄的dmax更新amax1的數(shù)值。

需要說明的是,只要達(dá)到dmin*k<=1/abtr和dmax>=7/abtr的限定目的,對(duì)于這兩個(gè)限定的具體步驟的設(shè)置,可以如本實(shí)施例中在一個(gè)步驟中直接判斷,也可以分兩個(gè)步驟分別判斷,本實(shí)施例對(duì)此不做任何限制。

步驟109:計(jì)算第二波特率。

可以理解的是,計(jì)算出的第二波特率可以為數(shù)據(jù)域的波特率(dbtr),對(duì)于計(jì)算第二波特率的方式可以使用與計(jì)算第一波特率相似的方式,在此不再贅述。

步驟110:輸出第一波特率和第二波特率。

優(yōu)選的,在輸出第一波特率(abtr)和第二波特率(dbtr)之前,為了確保測量出來的上述兩個(gè)波特率的正確性,可以使用位寬信息進(jìn)行波形重繪,并用測量出來的上述兩個(gè)波特率對(duì)重繪的波形進(jìn)行canfd協(xié)議解碼;當(dāng)解碼成功時(shí),說明波特率的測量是準(zhǔn)確的,則可以輸出上述兩個(gè)波特率信息;當(dāng)解碼出現(xiàn)錯(cuò)誤時(shí),則需要進(jìn)行波特率的重新測量,也就是直接返回步驟101重新測量兩個(gè)上述波特率,或者返回判斷是否滿足dmax>=10/abtr的步驟,選擇重新測量第二波特率還是重新測量兩個(gè)波特率。本實(shí)施例對(duì)此不受任何限制。

可以理解的是,根據(jù)測量起始點(diǎn)位置的不同,本發(fā)明實(shí)施例所提供的方法最快能在只有一幀雙速率的canfd幀的情況下測量出兩個(gè)波特率,最慢也只需要兩幀雙速率的canfd幀就能測量出兩個(gè)波特率。

本實(shí)施例中,本發(fā)明實(shí)施例通過第一最大位寬信息、次大位寬信息、最大位寬結(jié)束時(shí)間、第一最小位寬信息和當(dāng)前位寬結(jié)束時(shí)間這些數(shù)值間的比較可以確定仲裁域最小位寬,從而計(jì)算出第一波特率也就是仲裁域的波特率;通過第二最大位寬信息、第二最小位寬信息和第一波特率這些數(shù)值間的比較可以確定數(shù)據(jù)域最小位寬,從而計(jì)算出第二波特率也就是數(shù)據(jù)域的波特率,以達(dá)到測量具有兩種通訊速率的canfd總線信號(hào)的波特率的目的,提升了用戶體驗(yàn)。

請參考圖5,圖5為本發(fā)明實(shí)施例所提供的另一種雙速率canfd的波特率測量方法的流程示意圖。該方法可以包括:

步驟201:獲取位寬信息。

其中,本步驟與步驟101相似,在此不再贅述。

步驟202:判斷當(dāng)前的位寬信息是否大于預(yù)設(shè)或已記錄的amax1;若是,則進(jìn)入步驟203;若否,則進(jìn)入步驟204。

步驟203:更新amax1和tmax或更新amax1、amax2和tmax,進(jìn)入步驟208。

步驟204:判斷當(dāng)前的位寬信息是否大于預(yù)設(shè)或已記錄的amax2;若是,則進(jìn)入步驟205;若否,則進(jìn)入步驟206。

步驟205:更新amax2,進(jìn)入步驟208。

步驟206:判斷當(dāng)前的位寬信息是否小于預(yù)設(shè)或已記錄的amin且大于預(yù)設(shè)或已記錄的amin除以p的值;若是,進(jìn)入步驟207;若否,進(jìn)入步驟208。

步驟207:更新amin,進(jìn)入步驟208。

可以理解的是,步驟202至步驟207是為了獲取仲裁域的最大位寬信息(amax1)和最小位寬信息(amin),以及接下來步驟209判定所需的最大位寬結(jié)束時(shí)間(tmax)和次大位寬信息(amax2)。對(duì)于amax1和amax2可以預(yù)設(shè)為0,amin可以預(yù)設(shè)為0.2ms。

步驟208:記錄tbit。

步驟209:判斷是否滿足amax2/amin>=2、tbit-tmax>=16*amin且amax1/amin>=7;若否,則進(jìn)入步驟210;若是,則進(jìn)入步驟211。

步驟210:判斷是否滿足amax2/amin>=3;若是,則進(jìn)入步驟211;若否,則進(jìn)入步驟201。

需要說明的是,對(duì)于拓展數(shù)據(jù)幀,只用步驟209中amax2/amin>=2、tbit-tmax>=16*amin且amax1/amin>=7這三個(gè)條件來判定,有時(shí)會(huì)出現(xiàn)誤檢最小位寬的情況。而在這種情況下,因?yàn)槲涣髦邪羞B續(xù)4位或5位相同邏輯電平的位流,所以,位速率切換時(shí)必然滿足amax2/amin>=3,即這種情況下只要進(jìn)行amax2/amin>=3這個(gè)條件判斷即可確定仲裁域的最小位寬。

步驟211:計(jì)算abtr,用1/abtr計(jì)算并記錄dmax和dmin。

步驟212:再次獲取位寬信息。

步驟213:判斷當(dāng)前的位寬信息是否小于已記錄的dmin且大于已記錄的dmin除以q的值;若是,進(jìn)入步驟214;若否,進(jìn)入步驟215。

步驟214:更新dmin,進(jìn)入步驟217。

步驟215:當(dāng)前的位寬信息是否大于已記錄的dmax;若是,進(jìn)入步驟216;若否,進(jìn)入步驟217。

步驟216:更新dmax,進(jìn)入步驟217。

步驟217:更新tbit。

可以理解的是,本步驟中的更新當(dāng)前位寬結(jié)束時(shí)間(tbit)目的是為了接下來重繪波形做準(zhǔn)備。因此本步驟也可以放在步驟221中的計(jì)算dbtr的之前或之后,本實(shí)施例對(duì)此不受任何限制。

步驟218:判斷是否滿足dmax>=7/abtr且dmin*k<=1/abtr;若否,則進(jìn)入步驟219;若是,則進(jìn)入步驟221。

步驟219:判斷是否滿足dmax>=10/abtr;若否,則進(jìn)入步驟212;若是,則進(jìn)入步驟220。

步驟220:用dmax更新amax1,進(jìn)入步驟201。

步驟221:計(jì)算dbtr,重繪tmax至tbit之間的波形并對(duì)重繪的波形進(jìn)行canfd進(jìn)行解碼。

步驟222:判斷解碼是否成功;若否,則進(jìn)入步驟219;若是,則進(jìn)入步驟223。

步驟223:輸出abtr和dbtr。

本實(shí)施例中,本發(fā)明實(shí)施例通過加入amax2/amin>=3這個(gè)條件的判斷,確保了本發(fā)明實(shí)施例所提供的方法在標(biāo)準(zhǔn)canfd幀和canfd幀中均能適用,進(jìn)一步提升了使用場景,通過對(duì)信號(hào)進(jìn)行canfd協(xié)議解碼,進(jìn)一步確保測量出的兩個(gè)波特率的準(zhǔn)確性。進(jìn)一步提升了用戶的體驗(yàn)。

請參考圖6,圖6為本發(fā)明實(shí)施例所提供的一種雙速率canfd的波特率測量裝置的結(jié)構(gòu)圖。該裝置可以包括:

第一獲取模塊100,用于獲取位寬信息;

第一記錄模塊200,用于記錄已獲取的位寬信息中的第一最大位寬信息、次大位寬信息、最大位寬結(jié)束時(shí)間和第一最小位寬信息;

第二記錄模塊300,用于記錄當(dāng)前位寬結(jié)束時(shí)間;

第一判斷模塊400,用于判斷是否滿足所述次大位寬信息除以所述第一最小位寬信息大于等于2、所述當(dāng)前位寬結(jié)束時(shí)間減去所述第一最大位寬結(jié)束時(shí)間大于等于16倍的所述第一最小位寬信息且所述第一最大位寬信息除以所述第一最小位寬信息大于等于第一閾值;其中,所述第一閾值大于等于5;若是,則向第一計(jì)算模塊發(fā)送第一計(jì)算信號(hào);

第一計(jì)算模塊500,用于接收所述第一計(jì)算信號(hào),計(jì)算第一波特率,根據(jù)所述第一波特率計(jì)算并記錄第二最大位寬信息和第二最小位寬信息;

第二獲取模塊600,用于再次獲取位寬信息;

第一更新模塊700,用于根據(jù)已再次獲取的位寬信息更新或保持所述第二最大位寬信息和/或所述第二最小位寬信息;

第二判斷模塊800,用于判斷是否滿足所述第二最大位寬信息大于等于7除以所述第一波特率且所述第二最小位寬信息乘以第二閾值小于等于1除以所述第一波特率;若是,則向第二計(jì)算模塊發(fā)送第二計(jì)算信號(hào);

第二計(jì)算模塊900,用于接收所述第二計(jì)算信號(hào),計(jì)算第二波特率;

輸出模塊1000,用于輸出所述第一波特率和所述第二波特率。

可選的,該裝置還可以包括:

第三判斷模塊,用于若不滿足所述次大位寬信息除以所述第一最小位寬信息大于等于2、所述當(dāng)前位寬結(jié)束時(shí)間減去所述第一最大位寬結(jié)束時(shí)間大于等于16倍的所述第一最小位寬信息且所述第一最大位寬信息除以所述第一最小位寬信息大于等于第一閾值,則判斷所述次大位寬信息除以所述第一最小位寬信息是否大于等于3;若是,則向所述第一計(jì)算模塊發(fā)送所述第一計(jì)算信號(hào);若否,則向所述第一獲取模塊發(fā)送獲取信號(hào),用于獲取下一位寬信息。

可選的,該裝置還可以包括:

第二更新模塊,用于更新所述當(dāng)前位寬結(jié)束時(shí)間;

重繪模塊,用于重繪所述第一最大位寬結(jié)束時(shí)間至更新的所述當(dāng)前位寬結(jié)束時(shí)間之間的波形;

解碼模塊,用于對(duì)重繪的所述波形進(jìn)行canfd解碼;

第四判斷模塊,用于判斷所述解碼是否成功;若是,則向所述輸出模塊發(fā)送輸出信號(hào);若否,則向第五判斷模塊發(fā)送判斷信號(hào);

第五判斷模塊,用于接收所述判斷信號(hào),判斷所述第二最大位寬信息是否大于等于10除以第一波特率;若否,則向所述第二獲取模塊發(fā)送再次獲取信號(hào),用于獲取下一位寬信息;

第三更新模塊,用于若所述第二最大位寬信息大于等于10除以第一波特率,則用所述第二最大位寬信息更新所述第一最大位寬信息,則向所述第一獲取模塊發(fā)送所述獲取信號(hào),用于獲取下一位寬信息。

本實(shí)施例中,本發(fā)明實(shí)施例通過第一判斷模塊400中第一最大位寬信息、次大位寬信息、最大位寬結(jié)束時(shí)間、第一最小位寬信息和當(dāng)前位寬結(jié)束時(shí)間這些數(shù)值間的比較可以確定仲裁域最小位寬,從而使第一計(jì)算模塊500計(jì)算出第一波特率也就是仲裁域的波特率;通過第二判斷模塊800中第二最大位寬信息、第二最小位寬信息和第一波特率這些數(shù)值間的比較可以確定數(shù)據(jù)域最小位寬,從而使第二計(jì)算模塊900計(jì)算出第二波特率也就是數(shù)據(jù)域的波特率,以達(dá)到測量具有兩種通訊速率的canfd總線信號(hào)的波特率的目的,提升了用戶體驗(yàn)。

說明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見即可。對(duì)于實(shí)施例公開的裝置而言,由于其與實(shí)施例公開的方法相對(duì)應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。

專業(yè)人員還可以進(jìn)一步意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來實(shí)現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。

結(jié)合本文中所公開的實(shí)施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實(shí)施。軟件模塊可以置于隨機(jī)存儲(chǔ)器(ram)、內(nèi)存、只讀存儲(chǔ)器(rom)、電可編程rom、電可擦除可編程rom、寄存器、硬盤、可移動(dòng)磁盤、cd-rom、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。

以上對(duì)本發(fā)明所提供的雙速率canfd的波特率測量方法及裝置進(jìn)行了詳細(xì)介紹。本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對(duì)本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1