本發明涉及一種用于混合動力汽車的整車控制器,尤其涉及一種基于SPI接口實現主控制器的CAN通道擴展的裝置和方法。
背景技術:
:目前隨著汽車裝載的電子設備的增多,對通訊內容和速度日趨增加,對車輛的控制器用于CAN通訊的通道數量的需求有所增加。但是,現有技術中,動力總成控制器的主控制器一般為2路CAN通道,同時為提高安全性會使用1款從單片機作為監控單片機。而且,現有技術中的從單片機有可能不具備CAN通道,或者即使具備CAN通道,在整車控制器上也未使用該CAN通道,因此,無法滿足整車的CAN通道數量的要求。技術實現要素:本發明目的是提供一種基于SPI接口實現主控制器的CAN通道擴展的裝置和方法,其通過SPI總線和SPI協議將主控制器的CAN通道由2路增加為3路,由此使得本發明特別適用于混合動力車。本發明解決技術問題采用如下技術方案:一種基于SPI接口實現主控制器的CAN通道擴展的裝置,其包括主控制器、從控制器和電平轉換模塊;所述主控制器包括CAN通道和SPI通道;所述從控制器通過SPI總線連接于所述主控制器,其中,所述從控制器包括CAN通道和SPI通道;所述電平轉換模塊信號連接于所述從控制器,以對所述從控制器輸出的CAN信號轉換為CAN總線電平,并且將CAN總線電平轉換為從控制器電平。可選的,所述從控制器是型號為S9KEA64AMLH的單片機,其包括1路CAN通道和1路SPI通道;所述主控制器是型號為SH72531的單片機,其具有2路CAN通道和2路SPI通道。可選的,所述電平轉換模塊包括型號為PCA82C50的芯片;所述芯片的第1管腳連接于所述從控制器的第51管腳,所述芯片的第2管腳接地;所述芯片的第3管腳連接于VCC電源,并通過電容C179接地;所述芯片的第4管腳連接于所述從控制器的第52管腳,所述芯片的第6管腳和第7管腳分別通過元件LF3連接于CAN總線的CAN_L和CAN_H;所述CAN_H和CAN_L之間串聯有電容C177和電容C180,所述電容C177和電容C180相互連接的一端接地;所述CAN_H和CAN_L之間串聯有電阻R209和電阻R211,所述電阻R209和電阻R211連接的一端通過電容C178接地;所述CAN_H和CAN_L之間串聯有兩個瞬態電壓抑制器;所述瞬態電壓抑制器是型號為MMBZ33VALT1G的芯片,所述型號為MMBZ33VALT1G的芯片的第3管腳懸空,且所述兩個瞬態電壓抑制器相互連接的一端接地。可選的,所述從控制器的第26管腳信號連接于所述主控制器的NMI管腳,以通過所述從控制器中斷所述主控制器,并使得所述主控制器復位;所述主控制器的I/O管腳信號連接于所述從控制器的63管腳,以在所述主控制器的控制下,使得所述從控制器復位。本發明解決技術問題還采用如下技術方案:一種基于SPI接口實現主控制器的CAN通道擴展的方法,其通過上述裝置實現,其所述方法包括以下步驟:S10、主控制器對控制運行環境監測,將輸出端使能打開;S15、從控制器進行檢測,并對輸出端使能保持關閉;S20、主控制器向從控制器發送工作請求信息;S25、主控制器如果沒有從從控制器收到工作請求信息的應答信息,則每隔100毫秒,主控制器再次發送工作請求信息至從控制器;如果從控制器超過500毫秒沒有給出應答,則復位主控制器和從控制器,并執行步驟S10;如果主控制器從從控制器收到工作請求信息的應答信息,此時從控制器初始化檢查完畢,打開輸出端使能并發送應答信息;S30、所述主控制器接收到從控制器的應答信息后,進行外設自檢等操作;S35、主控制器將要發送的報文信息通過SPI接口傳遞給從控制器;S40、從控制器對所述報文信息進行處理,并將處理后的信息通過電平轉換模塊發送到CAN總線上;S45、主控制器對報文信息的發送狀態進行收集整理;S50、從控制器將從CAN總線上接收的報文信息通過SPI接口發送至主控制器;S55、主控制器對其接收的報文信息進行處理,并執行相應的控制動作。本發明具有如下有益效果:本發明主要是在傳統動力總成平臺上對CAN通道進行了擴展,既壓縮了成本,還因為高可靠算法而提高了安全性,并通過SPI和CAN之間的信息轉換,并用軟件算法保證有效數據不丟失,壓縮數據后使主控制器的一部分負荷轉移到同是32位的從控制器中,而從控制器48M的運行速度保證了負荷在系統安全允許范圍內。附圖說明圖1為本發明的電平轉換模塊的電路結構示意圖;圖2為本發明的基于SPI接口實現主控制器的CAN通道擴展的裝置結構示意圖;具體實施方式下面結合實施例及附圖對本發明的技術方案作進一步闡述。實施例1本實施例提供了一種基于SPI接口實現主控制器的CAN通道擴展的裝置,其包括主控制器、從控制器和電平轉換模塊:所述主控制器采用瑞薩SH72531的單片機,該主控制器具有2路CAN通道(即兩個CAN模塊)和2路SPI通道(即兩個SPI模塊)。所述從控制器通過SPI接口(SPI總線)連接于所述主控制器,以通過主控制器監控從控制器的運行狀態,本實施例中,所述從控制器采用型號為S9KEA64AMLH的單片機,其包括1路CAN通道(即一個CAN模塊)和1路SPI通道(即一個CAN模塊)。本實施例中,所述主控制器通過SPI接口將需要發送的數據發送給從控制器,從控制器通過其自身的CAN通道和電平轉換模塊將數據發送到CAN總線,同時還可以將從CAN總線采集的數據通過電平轉換模塊轉換為合適的電平后,通過從控制器的SPI接口傳遞至主控制器,并由此將主控器的2路CAN通道擴展為3路CAN通道,使得本實施例的裝置特別適用于混合動力車的整車控制器的設計與實現。所述電平轉換模塊信號連接于所述從控制器,以對所述從控制器輸出的數據(CAN信號)轉換為CAN總線電平,并且將CAN總線電平(2.5V)轉換為從控制器電平,以將CAN信號(數據)輸入到從控制器中,也就是說,所述從控制器通過所述電平轉換模塊與CAN總線進行通訊;本實施例中,所述從控制器還用于監控主控制器運行狀態,監控剎車信號、供電電壓和電瓶電壓等,以控制驅動元件和主控制器,并將CAN總線的CAN信號處理為SPI信號。通過上述結構可以看出,本實施例中,所述主控制器和從控制器之間互相監控,并且主控制器和從控制器之間通過SPI接口實現CAN通訊數據的傳遞,從而在從控制器具備CAN通道的前提下,增加了主控制器的CAN通道數量。本實施例中,所述電平轉換模塊包括型號為PCA82C50的芯片,該芯片的第1管腳連接于所述從控制器的第51管腳,該芯片的第2管腳接地;所述芯片的第3管腳連接于+VCC電源(+5V),并通過電容C179接地;所述芯片的第4管腳連接于所述從控制器的第52管腳,所述芯片的第6管腳和第7管腳分別通過元件LF3連接于CAN總線的CAN_L和CAN_H,元件LF3是共模扼流圈,如:TDK公司的ACT45B-510-2P-TL,主要是扼制共模干擾。本實施例中,所述CAN_H和CAN_L之間串聯有電容C177和電容C180,而且,所述電容C177和電容C180相互連接的一端接地;同時,所述CAN_H和CAN_L之間串聯有電阻R209和電阻R211,而且所述電阻R209和電阻R211連接的一端通過電容C178接地;所述CAN_H和CAN_L之間串聯有兩個瞬態電壓抑制器;本實施例中,所述瞬態電壓抑制器是型號為MMBZ33VALT1G的芯片,所述型號為MMBZ33VALT1G的芯片的第3管腳懸空,且所述兩個瞬態電壓抑制器相互連接的一端接地。所述從控制器的第26管腳信號連接于所述主控制器的NMI管腳,以通過所述從控制器中斷所述主控制器,并使得所述主控制器復位;所述主控制器的I/O管腳信號連接于所述從控制器的63管腳,以在所述主控制器的控制下,使得所述從控制器復位。實施例2本實施例提供了一種基于SPI接口實現主控制器的CAN通道擴展的方法,其采用實施例1中的基于SPI接口實現主控制器的CAN通道擴展的裝置實現,具體地,所述方法包括以下步驟:S10、主控制器對控制運行環境監測,將輸出端使能打開;S15、從控制器進行檢測,并對輸出端使能保持關閉;S20、主控制器向從控制器發送工作請求信息;S25、主控制器如果沒有從從控制器收到工作請求信息的應答信息,則每隔100毫秒,主控制器再次發送工作請求信息至從控制器;如果從控制器超過500毫秒沒有給出應答,則復位主控制器和從控制器,并執行步驟S10;如果主控制器從從控制器收到工作請求信息的應答信息,此時從控制器初始化檢查完畢,打開輸出端使能并發送應答信息;S30、所述主控制器接收到從控制器的應答信息后,進行外設自檢等操作;S35、主控制器將要發送的報文信息通過SPI接口傳遞給從控制器;S40、從控制器對所述報文信息進行處理,并將處理后的信息通過電平轉換模塊發送到CAN總線上;S45、主控制器對報文信息的發送狀態進行收集整理;S50、從控制器將從CAN總線上接收的報文信息通過SPI接口發送至主控制器;S55、主控制器對其接收的報文信息進行處理,并執行相應的控制動作。本實施例中,例如,所述主控制器可以根據該信息判斷系統需要下電,從而命令從控制器進入初始化狀態。當從控制器進入初始化狀態,停止從控制器的工作并保持控制器輸出端使能關閉。通過上述步驟可以看出,本實施例中,主控制器通過校驗從控制器的邏輯對從控制器的運行狀態進行監控,同時監控供電電壓,以作出相應動作如復位從控制器和驅動等來保證系統的安全性。本實施例中,所述主控制器對從控制器的校驗通過IO及SPI協議進行,在協議中定義主控制器和從控制器的應答邏輯,以保證主控制器和從控制器運行正常,從而實現高安全性監控及校驗方案。而且,所述主控制器所發送的報文信息包括校驗邏輯和CAN信息,本實施例中,SPI協議的通信包含片選CS、時鐘線SCLK、主出從入MOSI和主入從出MISO四根線,從而實現CAN信息轉換為SPI信息,通信轉換方案簡單可靠成本低。從控制器對CAN總線上的CAN信息、通過主控制器發送的SPI信息和校驗信息進行數據壓縮和校驗,去除冗余信息,從而減少了信息量,降低了主控制器的運行負荷,提高了系統安全性,從而實現低負荷數據壓縮方案。可見,本實施例主要是在傳統動力總成平臺上對CAN通道進行了擴展,既壓縮了成本,還因為高可靠算法而提高了安全性,并通過SPI和CAN之間的信息轉換,并用軟件算法保證有效數據不丟失,壓縮數據后使主控制器的一部分負荷轉移到同是32位的從控制器中,而從控制器48M的運行速度保證了負荷在系統安全允許范圍內。所述從控制器和主控制器的SPI通訊為10毫秒為一個周期,通訊的第一個字節為本周期的數據長度,最后一個字節表示本周期通訊結束,其通訊協議如表一所示:表一:SPI通訊協議同時,為降低主控制器和從控制器之間的數據傳遞,可以在數據傳輸時采用數據壓縮。在主控制器和從控制器的軟件中,將發送的報文ID、數據等信息制作成數據庫,通訊時報文ID用4位bit即0~15的數表示要發送的報文ID,如表二所示。表2,CAN信息報文格式說明報文ID校驗碼報文Bit1~45~89~72長度440~64數值0~F0~F[0~256,…,0~256]主控制器和從控制器之間的SPI通訊信息具備每個字節的校驗、每條通訊報文的校驗、每10毫秒周期內的信息校驗;通過這些對數據的校驗確保通訊信息的準確。當主控制器和從控制器認為信息異常時,會在第二個周期發送報文補發請求,由對方分析判斷是否需要進行補發。當長時間出現無應答信號,或信號校驗不通過時,從控制器對外部驅動進行關閉,主控制器會對系統進行復位,并記錄復位次數。當主控制器記錄相同故障的連續復位次數超過規定次數,主控制器保持通訊并不再進行復位。以上實施例的先后順序僅為便于描述,不代表實施例的優劣。最后應說明的是:以上實施例僅用以說明本發明的技術方案,而非對其限制;盡管參照前述實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發明各實施例技術方案的精神和范圍。當前第1頁1 2 3