一種基于can總線的數據采集系統及采集處理方法
【專利說明】
【技術領域】
[0001]本發明屬于汽車電子設計開發技術領域,特別涉及一種基于CAN總線的數據采集系統及采集處理方法。
【【背景技術】】
[0002]隨著國外汽車公司涉足中國市場,先進技術的引進及國內現有技術的不斷進步,我國商用汽車領域電子化程度在不斷加劇。隨著汽車電子技術的飛速發展,汽車電子化程度越來越高,傳統布線方式已經不能滿足需求。整車領域由于對駕駛舒適度的需求使得電子化發展迅速,整車CAN通信技術已經較為成熟,各類配套設備完善。隨著道路安全意識深入人心,各類輔助制動,ABS等安全設備都逐漸走入商用汽車用戶的視野。但是這類產品往往都需要電控單元進行系統控制,并通過CAN通信與整車進行協調,實際操作中帶來很多不便。CAN通信已經作為汽車上設備控制,設備間協調工作,故障反饋,信息通信的重要方式。
【
【發明內容】
】
[0003]本發明的目的在于克服上述現有技術的缺點,提供了一種基于CAN總線的數據采集系統及采集處理方法,本系統實現了對被測試對象的安全操作,并且結構簡單、操作方便。
[0004]為達到上述目的,本發明采用以下技術手段:
[0005]一種基于CAN總線的數據采集系統,包括主控制模塊、顯示模塊及數據采集模塊;其中,
[0006]所述的主控制模塊包括微處理器、總線處理電路、模擬電路和CAN控制器,總線處理電路、模擬電路和CAN控制器均與微處理器、電連接;CAN控制器還通過CAN收發器與CAN總線連接;
[0007]所述的顯示模塊連接所述主控制模塊的微處理器,用于人機交互,顯示當前采集的車輛的參數信息和故障狀態;
[0008]所述的數據采集模塊與安裝在車輛上的數據采集裝置連接,數據采集模塊通過處理電路與微處理器。
[0009]優選的,所述的CAN控制器與CAN收發器之間還設置有光電隔離。
[0010]優選的,所述的數據采集模塊包括模擬量數據采集模塊和數字量數據采集模塊,通過各自對應的處理電路與主控制模塊連接;數字量數據采集模塊與整車的參數采集裝置連接,,模擬量數據采集模塊連接多路I/o信號。
[0011]優選的,所述的CAN控制器包括CAN初始化子程序、CAN中斷程序和CAN數據收發子程序。
[0012]優選的,所述的CAN控制器還包括均與的CAN控制器主芯片連接的數據收發模塊、軟件看門狗模塊、開關量信號處理模塊、頻率處理模塊、自檢模量和A/D采樣處理模塊,
[0013]所述的自檢模塊用于接收到上位機發出的自檢命令后,微控制器斷開外部信號的輸入,系統內部產生的標準信號被接入數據采集系統,將得到的數據上傳到上位機與標準值進行比較,以確定故障點是傳感器系統還是數據采集系統,若自檢通過則表示數據采集系統工作正常;
[0014]所述的數據發送模塊用于對上位機的數據通信,每隔100毫秒將數據分組發送到上位機;
[0015]所述的數據轉存模塊用于完成各種數據寫入CAN控制器片主RAM ;
[0016]所述的Α/D采樣模塊用于將數據采集模塊的每一路12位采樣數據分兩次讀入指定的RAM單元中。
[0017]優選的,還包括與主控制模塊連接的濾波電路和保護電路,濾波電路和保護電路設置在數據采集裝置和處理電路之間。
[0018]一種基于CAN總線的數據采集處理方法,包括以下步驟:
[0019]I)數據采集模塊采集車輛實時參數信號,通過對應的處理電路進行處理,在顯示模塊上進行顯示;
[0020]2)微處理器控制CAN控制器根據CAN總線或本地指令,按照控制策略,對響應的數據進行采集和分析處理操作,實現對產品的測試;
[0021]3)采集得到的數據在CAN控制器內完成CAN協議包的封裝,由發送端口經發送器傳送到CAN總線上。
[0022]作為本發明的進一步改進,步驟2)之前還包括CAN控制器初始化步驟:當CAN中斷寄存器復位請求被置位時,CAN內部地址的寄存器可被訪問,在復位操作結束后將該位置O。
[0023]作為本發明的進一步改進,步驟3)還包括中斷處理步驟:CAN中斷子程序首先讀CAN中斷寄存器以判斷中斷類型,據此轉入相應的操作:如果接收緩存器存滿而另一個報文的首字節又需要被存儲時,數據超限位被置位,則調用CAN初始化子程序,清除超限并釋放接收緩存,然后重新發送數據請求;如果正常則進行判斷是否是遠程數據請求,若是,則數據發送給CAN數據收發子程序;若否,在數據接受子程序中當數據被轉入CAN控制器的RAM區后,應及時釋放接受緩存器,為接收下一幀數據做好準備。
[0024]作為本發明的進一步改進,還包括自檢步驟:自檢模塊接收到上位機發出的自檢命令后,微控制器斷開外部信號的輸入,系統內部產生的標準信號被接入數據采集系統,將得到的數據上傳到上位機與標準值進行比較,以確定故障點是傳感器系統還是數據采集系統,若自檢通過則表示數據采集系統工作正常。
[0025]與現有技術相比,本發明具有以下有益的技術效果:
[0026]本發明系統采用模塊化的設計可根據不同產品快速的進行移植和開發,能夠為多款產品提供相應服務,其數據采集和分析為一體的采集系統。成熟的開發編譯環境和優良的代碼優化為系統提供更加可靠地穩定性能。由于具有良好的二次開發功能,顯示功能靈活多變,具有數據顯示,對產品的運維狀態實時反饋,方便開發人員對產品進行維護和升級的數據采集系統,降低維護成本。
[0027]進一步,在模一數電路之間和系統到CAN總線之間采用了光電隔離,能夠提高系統抗干擾能力。
[0028]進一步,系統中增加了響應的濾波和保護電路以了提高可靠性和穩定性。
[0029]本發明的方法簡單,采集數據準確,能夠實時、準確的采集和分析車輛的參數和故障情況,給測試帶來便捷和數據支持。實現了對被測試對象的安全操作,并且結構簡單、操作方便。
[0030]進一步,CAN控制器初始化檢驗程序是否合理,前期避免不利因素影響整個通信過程。
[0031]進一步,自檢步驟可以很好的檢驗數據采集系統工作正常,確保后續工作的正常。【【附圖說明】】
[0032]圖1本發明數據采集的硬件控制單元;
[0033]圖2本發明數據采集的軟件流程圖;
[0034]圖3本發明數據采集的中斷處理流程圖。
【【具體實施方式】】
[0035]下面結合附圖對本發明做進一步詳細描述:
[0036]如圖1所示,本發明針對某款車輛上相關信號,設計了一套基于CAN總線的數據采集,其中包含主控制模塊、顯示模塊及數據采集模塊,主控制模塊包括微處理器、總線處理電路、模擬電路和CAN控制器。CAN控制器通過CAN收發器與汽車CAN總線連接通信,通過軟硬件設計所述主控制模塊的微處理器與總線處理電路、CAN總線芯片、模擬電路均連接,程序運行后,根據CAN總線或本地指令,按照一定的控制策略,對響應的數據進行采集和分析處理操作,實現對產品的測試。所述顯示模塊用于人機交互,通過顯示當前采集的車輛的相關信息如(發動機油水溫、工作指示燈、ABS狀態等)、故障狀態等,可幫助操作者隨時了解車輛運行情況。數據采集模塊包括模擬量數據采集模塊和數字量數據采集模塊兩個模塊,通過各自對應的處理電路與主控制模塊連接。數字量數據采集模塊主要連接整車的各個采集裝置連接,測試整車溫度信號、頻率脈沖信號等。模擬量數據采集模塊連接多路I/O十目號等。
[0037]圖1給出了系統硬件結構圖。系統采用的16位高性能微控制器其主要特性有:內建與內部RAM進行DMA數據傳送的CAN控制器;含多個捕獲端口位定時/計數器,模擬量輸入,在片CAN控制器可以完全實現CAN協議,因此減少了系統連