獲取波特率的方法和裝置的制造方法
【技術領域】
[0001]本發明涉及汽車領域,尤其涉及一種獲取波特率的方法和裝置。
【背景技術】
[0002]隨著汽車的普及,汽車車身上的網絡通訊技術也不斷提高,高效率的CAN (Controller Area Network,控制器局域網絡)總線網絡已逐步替代KWP (KeywordProtocol,關鍵字協議)網絡,在大部分汽車上使用。在傳統的通訊方式中,進行通訊的雙方必須具有相同的波特率才能夠進行正常通訊,而汽車與汽車診斷設備0BD (On-BoardDiagnostic,車載診斷系統)通過CAN總線進行相互通信時,也需具有相同的波特率,即汽車只能與跟自身波特率相同的特定CAN總線進行相互通訊。在實際應用中,CAN總線的波特率不是唯一的,不同的CAN總線有著不同的波特率,而通常情況下汽車的波特率在工廠生產時已經固定,當所述CAN總線的波特率與所述汽車的波特率不一致時,所述0BD設備就無法通過CAN總線與所述汽車進行通訊,造成0BD設備與汽車之間通訊的效率與準確性低下的問題。
【發明內容】
[0003]本發明的主要目的在于提供一種獲取波特率的方法和裝置,旨在解決現有0BD設備無法確定其與汽車進行通訊的CAN總線的波特率的技術問題。
[0004]為實現上述目的,本發明提供的一種獲取波特率的方法,包括步驟:
[0005]通過不同的波特率接收汽車通過控制器局域網絡CAN發送的報文;
[0006]當接收到所述汽車通過所述CAN發送的報文時,獲取接收到所述報文時對應的波特率,并輸出所述接收到所述報文時對應的波特率。
[0007]優選地,所述當接收到所述汽車通過所述CAN發送的報文時,獲取接收到所述報文時對應的波特率,并輸出所述接收到所述報文時對應的波特率的步驟包括:
[0008]當接收到所述汽車通過所述CAN發送的報文時,獲取接收到所述報文時對應的波特率,將所述接收到所述報文時對應的波特率存儲至第一預置列表中,并輸出所述第一預置列表中的波特率。
[0009]優選地,所述通過不同的波特率接收汽車通過CAN發送的報文的步驟之后,還包括:
[0010]當未接收到所述汽車通過所述CAN發送的報文時,獲取未接收到所述報文時對應的波特率,將所述未接收到所述報文時對應的波特率存儲至第二預置列表中。
[0011]優選地,所述當未接收到所述汽車通過所述CAN發送的報文時,獲取未接收到所述報文時對應的波特率,將所述未接收到所述報文時對應的波特率存儲至第二預置列表中的步驟之后,還包括:
[0012]在預設次數內通過所述第二預置列表中的波特率接收所述汽車通過所述CAN發送的報文;
[0013]判斷在預設次數內通過所述第二預置列表中的波特率是否接收到所述汽車通過所述CAN發送的報文;
[0014]若在預設次數內通過所述第二預置列表中的波特率接收到所述汽車通過所述CAN發送的報文,則將所述第二預置列表中接收到所述報文時對應的波特率移動至所述第一預置列表中。
[0015]優選地,所述判斷在預設次數內通過所述第二預置列表中的波特率是否接收所述汽車通過所述CAN發送的報文的步驟之后,還包括:
[0016]若在預設次數內通過所述第二預置列表中的波特率未接收到所述汽車通過所述CAN發送的報文,則刪除所述第二預置列表中未接收到所述報文時對應的波特率。
[0017]此外,為實現上述目的,本發明還提供一種獲取波特率的裝置,所述獲取波特率的裝置包括:
[0018]第一接收模塊,用于通過不同的波特率接收汽車通過控制器局域網絡CAN發送的報文;
[0019]獲取模塊,用于當接收到所述汽車通過所述CAN發送的報文時,獲取接收到所述報文時對應的波特率,并輸出所述接收到所述報文時對應的波特率。
[0020]優選地,所述獲取模塊,還用于當接收到所述汽車通過所述CAN發送的報文時,獲取接收到所述報文時對應的波特率,將所述接收到所述報文時對應的波特率存儲至第一預置列表中,并輸出所述第一預置列表中的波特率。
[0021]優選地,所述獲取模塊,還用于當未接收到所述汽車通過所述CAN發送的報文時,獲取未接收到所述報文時對應的波特率,將所述未接收到所述報文時對應的波特率存儲至第二預置列表中。
[0022]優選地,所述獲取波特率的裝置還包括:
[0023]第二接收模塊,用于在預設次數內通過所述第二預置列表中的波特率接收所述汽車通過所述CAN發送的報文;
[0024]判斷模塊,用于判斷在預設次數內通過所述第二預置列表中的波特率是否接收到所述汽車通過所述CAN發送的報文;
[0025]移動模塊,用于若在預設次數內通過所述第二預置列表中的波特率接收到所述汽車通過所述CAN發送的報文,則將所述第二預置列表中接收到所述報文時對應的波特率移動至所述第一預置列表中。
[0026]優選地,所述獲取波特率的裝置還包括刪除模塊,用于若在預設次數內通過所述第二預置列表中的波特率未接收到所述汽車通過所述CAN發送的報文,則刪除所述第二預置列表中未接收到所述報文時對應的波特率。
[0027]本發明通過不同的波特率接收汽車通過CAN發送的報文;當接收到所述汽車通過所述CAN發送的報文時,獲取接收到所述報文時對應的波特率,并輸出所述接收到所述報文時對應的波特率。輸出的波特率即為所述0BD設備與所述汽車進行通訊的CAN總線的波特率,確定了所述0BD設備與所述汽車進行通訊的CAN總線波特率,避免了通過與所述汽車不一致的波特率的CAN總線與所述汽車進行通訊,導致通訊失敗時,需要更換CAN總線的波特率再次與所述汽車進行通訊,提高了 0BD設備與汽車之間通訊的效率與準確性。
【附圖說明】
[0028]圖1為本發明獲取波特率的方法第一實施例的流程示意圖;
[0029]圖2為本發明獲取波特率的方法第二實施例的流程示意圖;
[0030]圖3為本發明獲取波特率的裝置第一實施例的功能模塊示意圖;
[0031]圖4為本發明獲取波特率的裝置第二實施例的功能模塊示意圖。
[0032]本發明目的的實現、功能特點及優點將結合實施例,參照附圖做進一步說明。
【具體實施方式】
[0033]應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
[0034]本發明提供一種獲取波特率的方法。
[0035]參照圖1,圖1為本發明獲取波特率的方法第一實施例的流程示意圖。
[0036]在本實施例中,所述獲取波特率的方法包括:
[0037]步驟S10,通過不同的波特率接收汽車通過控制器局域網絡CAN發送的報文;
[0038]0BD設備通過不同的波特率接收汽車通過控制器局域網絡CAN發送的報文,具體地,所述0BD設備通過其MCU(Microcontroller Unit,微控制單元,又稱為單片微型計算機或者單片機),根據不同波特率接收汽車0BD診斷座通過CAN總線發送的報文。所述CAN總線是由研發和生產汽車