摘要:本文通過對CAN總線進行概述的方式引入正文,通過理論與實際相結合的方式,首先針對CAN總線所對應數據記錄儀軟件的設計工作展開了深入探討,然后又針對數據記錄儀硬件的設計進行了系統探究,希望可以在某些方面為設計人員提供幫助。
關鍵詞:CAN總線數據記錄儀;研究;設計
CAN總線最初作為串行數據通信的總線被用于對大量汽車測量控制部件所對應數據進行交換的過程中,通過不斷的實踐與優化,現階段,CAN總線以自身愈發完善的良好性能,開始在航空航天、工業控制等諸多領域發揮作用,并且由此而成為國際范圍內應用范圍最廣泛、頻率最高的現場總線。因此,對CAN總線的數據記錄儀進行研究是非常有必要的。
1 CAN總線數據記錄儀軟件設計
1.1 設計流程
對數據記錄儀軟件進行設計時所應用的編程方式為C語言,設計方法為模塊化程序,設計人員需要保證對軟件流程加以安排的合理性,只有這樣才能保證不同模塊在運行過程中的協調配合,也才能達到有效控制硬件電路的目標。數據記錄儀在上電之后,首先需要進行的是對CAN控制器、單片機等部分的初始化操作,需要注意的是,一般來說數據記錄儀所對應USB接口的默認工作模式是主機模式,當然,相關人員可以通過對外部按鍵進行選擇的方式讓USB接口由主機模式向從機模式進行轉變。如果USB接口應用的工作模式為主機模式,那么系統軟件首先需要對記錄儀和U盤是否已經連接完畢進行判斷,避免一直等待的問題出現,如果二者已經連接完畢并且處于準備的過程中,就可以選擇在U盤中根據實際需求創建用于對數據進行接收并且存儲的文件,在文件記錄工作告一段落后將文件關閉,記錄工作完成,對存儲格式為FAT16的數據文件而言,該類數據文件可以通過計算機直接完成相應的讀取工作[1]。如果USB接口應用的工作模式為從機模式,相關人員可以通過將上機位和USB接口進行直接通信的方式,完成CAN總線數據的上傳工作,再通過上機位對上傳數據進行解析并顯示。
1.2 USB存儲模塊
1.2.1 傳輸類型
(1)批量傳輸。批量傳輸的原理是通過對USB總線空閑帶寬進行有效利用,以此來完成數據的傳輸工作,批量傳輸通常被用于傳輸大量數據,或是傳輸對速率與時間要求相對寬松的數據。對于空閑總線而言,在諸多傳輸類型中擁有最快傳輸速度的即為批量傳輸。
(2)同步傳輸。同步數據需要對最大的傳送次數以及帶寬值加以確定。與批量傳輸不同,同步傳輸通常被用于傳輸對時間具有嚴格要求的數據,或容錯性較強的數據。除此之外,在同步傳輸的過程中,主機能夠保證所對應數據能夠在特定時間內完成傳輸工作。
1.2.2 程序設計
一般來說,計算機會將位于USB設備內部用于存儲的單元組織為相應的文件系統,這樣做能夠在某些方面為計算機和USB設備之間對某些數據進行交換的過程提供便利,對于單片機而言,USB設備同樣可以被組織為相應的文件系統。當然,單片機在對USB設備所對應文件系統進行處理時,通常不包括傳輸協議層、硬件接口芯片以及用過山區對硬盤或是閃存進行讀寫這三個內部結構層次,但是對作為內置相關程序的主機接口芯片——CH375而言,在對其加以應用的過程中,需要單片機程序進行處理的文件系統僅僅包括FAT系統。
1.3 CAN通信模塊
CAN通信模塊最主要的作用在于對CAN總線所對應報文進行接收和存儲。首先需要對上電后的系統進行初始化,然后方可開展接下來的工作。對處于CAN總線之上的數據而言,在接收過程中使用頻率較高的方式為中斷接收,也就是說每當系統完成對一幀CAN報文的接收工作后,便需要通過一次中斷實現對單片機的觸發,使單片機在中斷過程中完成對這一幀數據的讀取和在緩沖區內進行暫存的工作,在緩沖區被暫存數據填滿之后,再將數據一次性寫入到所對應的U盤之中。
2 CAN總線數據記錄儀硬件設計
2.1 設計總方案
作為總線網絡和總線節點之間的通信平臺,CAN總線所對應數據記錄儀的硬件結構通常由以下幾個方面構成:電源模塊、實時時鐘模塊、通信模塊、控制模塊等。下面就針對眾多硬件結構中具有代表性的實時時鐘以及電源模塊展開討論,為數據記錄儀的設計提供幫助。
2.2 電源模塊
作為在各類電子系統中均具有非常重要位置的組成部分,電源自身性能的優劣與電子系統是否能夠穩定運行存在直接聯系。對所設計的數據記錄儀而言,由于為系統供電的電源電壓為12V,系統各部分所需電源電壓為5V和3.3V,因此,設計人員需要保證對穩壓芯片進行選擇的合理性,才能完成為系統提供所需不同電壓的工作[2]。
2.3 實時時鐘模塊
對于大部分數據記錄儀來說,在監聽所對應CAN總線網絡的過程中,對所記錄數據的起始時間加以明確是非常重要的,這樣做不僅是因為所記錄文件需要以記錄開始的時間命名,更重要的是這樣做可以在對歷史數據進行回放的過程中,提供科學、系統的時間基準。除此之外,由于需要記錄的文件數量較多,記錄時間的存在還可以在某些方面為文件管理工作的開展提供方便。通過上文的分析可以看出,根據實際情況選擇用以對準確時間信息進行提供的時鐘芯片是非常重要的,DALLAS公司所生產的DS12CR887在數據記錄儀中的使用頻率相對較高。
3 結論
綜上所述,文章主要以軟件和硬件作為切入點,針對數據記錄儀的設計工作展開了討論。對軟件設計而言,設計人員關注的重點應當放在USB存儲模塊和CAN通信模塊這兩個方面,對硬件設計來說,電源模塊和實時時鐘模塊具有的重要性是不容忽略的。只有保證數據記錄儀整體性能的有效提升,才能將CAN總線在各領域發展過程中具有的作用進行最完整的呈現,也才能推動社會的和諧、穩定發展。
參考文獻:
[1]趙良,翁寅生,田宏亮.車載鉆機CAN總線數據記錄儀設計[J].電子設計工程,2015,(05):5557.
[2]劉慧豐,李遠哲,單建兵,王偉,賀海文.基于SD卡的CAN總線數據存儲設備設計[J].計算機測量與控制,2014,(04):12361239.
作者簡介:劉洋(1994),男,湖北武漢人,本科,研究方向:自動化。