專利名稱:一種pci雙冗余can總線卡的制作方法
技術領域:
:本發(fā)明涉及一種PCI雙冗余CAN總線卡,屬于CAN總線網絡控制技術及雙冗余切換技術領域。
背景技術:
:基于總線網絡的控制系統(tǒng),系統(tǒng)的檢錯能力和可靠性成為了一種關鍵技術。國內外對此進行了很多研究,冗余技術就是其中之一。目前的技術采用軟件管理冗余,綜合當前各種冗余管理方案,概括起來有三種:第一種是總線驅動器級冗余,即一個CPU、一個CAN控制器和兩個物理總線驅動器;第二種是CAN總線控制器級冗余,即一個CPU、兩個CAN控制器、兩個物理總線驅動器;第三種是系統(tǒng)級冗余,即兩個CPU、兩個CAN控制器、兩個物理總線驅動器。雙冗余CAN總線控制系統(tǒng),一般包括多個雙冗余CAN總線節(jié)點,每個節(jié)點具有兩個物理層線路通道。
發(fā)明內容
本發(fā)明提出的雙冗余CAN總線切換網絡,填補了硬件冗余管理的空白,實現(xiàn)了真正的雙冗余切換網絡,無需軟件干涉冗余功能管理,只需簡單的讀寫寄存器即可,冗余管理完全由硬件實現(xiàn)。本發(fā)明提出一種基于CAN總線的雙冗余通信系統(tǒng),安裝有本發(fā)明的PCI雙冗余CAN總線卡的節(jié)點,具有雙冗余通信的功能。本發(fā)明提供PCI雙冗余CAN總線卡,是基于背景技術中的第二種冗余方案即CAN總線控制器級冗余所提出的冗余解決方案,不同的是本發(fā)明中冗余管理由硬件邏輯實現(xiàn)。將第二種方案中的CAN控制器和CAN物理總線驅動器均由PCI雙冗余CAN總線卡實現(xiàn),而安裝了 PCI雙冗余CAN總線卡的計算機作為第二種方案中的CPU。PCI雙冗余CAN總線卡的核心是用FPGA芯片實現(xiàn)CAN總線控制器和冗余管理。上述冗余管理的功能特征在于自動通道狀態(tài)判斷、自動消息發(fā)送通道選擇、自動鎖存兩個發(fā)送通道的發(fā)送狀態(tài)。所述的自動通道狀態(tài)判斷是輔助狀態(tài)機通過周期發(fā)送心跳消息實現(xiàn),若發(fā)送心跳消息導致CAN總線節(jié)點錯誤被動激活時,則判定此通道故障。所述心跳消息的發(fā)送周期和內容由寄存器設定,最大默認發(fā)送周期是20ms。所述的自動消息發(fā)送通道選擇是主狀態(tài)機通過判斷兩個輔助狀態(tài)機給出的通道狀態(tài)實現(xiàn)。一個消息的發(fā)送是從判斷主通道的狀態(tài)開始的,若主通道狀態(tài)正常則從主通道發(fā)送,否則判斷備用通道的狀態(tài),若備用通道狀態(tài)正常則從備用通道發(fā)送,否則發(fā)送失敗。通道切換時間隨機分布在幾微秒到周期發(fā)送時間之間。
所述的自動鎖存兩個發(fā)送通道的發(fā)送狀態(tài)包括發(fā)送成功通道號、發(fā)送失敗通道號、消息發(fā)送消耗時間、消息切換消耗時間和消息發(fā)送狀態(tài)。本發(fā)明一種PCI雙冗余CAN總線卡,其結構如圖1所示,它包含PCI接口芯片、FPGA芯片、隔離電源芯片、隔離芯片、驅動芯片和DB9接頭,它們按序彼此相互連接。所述的PCI接口芯片,一方面通過PCB板上的布線與板上的金手指相連,另一方面通過PCB板上的布線連接到FPGA芯片上。該PCI接口芯片采用PLX公司的PCI9030芯片,該芯片可以把PCI總線協(xié)議轉化成本地地址數(shù)據(jù)總線。PCI9030具有132MB/S的數(shù)據(jù)傳輸量、本地總線最高時鐘60MHz、支持5個本地地址范圍、4個本地總線選通信號、具有字節(jié)格式大字和小字轉換功能、支持中斷產生和3.3V、5V信號兼容10。使用PCI9030能夠大大減少PCI總線的開發(fā)風險,縮短產品的研發(fā)周期。所述的FPGA芯片,一方面通過PCB板上的布線連接到PCI接口芯片上,另一方面通過PCB板上的布線連接到隔離芯片上。該FPGA芯片采用XILINX公司的SPARTAN3系列的X3C400芯片,完成PCI本地接口和雙冗余CAN總線控制器。X3C400具有40萬個系統(tǒng)門、56K位分布RAM、288K位集成塊RAM、16個專用乘法器、4個時鐘管理單元和141個最大可用IO數(shù)量,并具有價格低廉、應用廣泛等特點,成為本發(fā)明的最佳選擇。所述的隔離電源芯片,隔離電源芯片的電源輸入由PCI總線上的5V金手指,通過布線連接提供,隔離電源芯片的電源輸出提供電源給隔離芯片和驅動芯片。該隔離電源芯片采用TI公司的IW隔離電源芯片DCP010505,具有輸出短路保護、過熱保護、滿負載最大75%的工作效率、1000V有效值電壓隔離和工業(yè)級工作溫度范圍等特點。所述的隔離芯片,一方面通過PCB板上的布線連接到FPGA芯片上,另一方面通過PCB板上的布線連接到驅動芯片上。該隔離芯片采用Fairchild Semiconductor公司的HCPL0611,其功能是接收FPGA芯片發(fā)出的信號,然后隔離后傳遞給驅動芯片,或者接收驅動芯片發(fā)出的信號,然后隔離后傳遞給FPGA芯片。HCPL0611是小型8腳表貼封裝,其超高的10Mbit/s傳輸速度和良好的共模抑制比能夠滿足苛刻環(huán)境的抗干擾環(huán)境需要。HCPL0611的超高傳輸速度是提高CAN總線波特率和決定總線布線長度的關鍵條件。HCPL0611的工業(yè)級溫度范圍也能夠滿足工業(yè)現(xiàn)場環(huán)境的需要。所述的驅動芯片,一方面通過PCB板上的布線連接到隔離芯片上,另一方面通過PCB板上的布線連接到DB9接頭上。該驅動芯片采用Philips Semiconductors的PCA82C250,轉換CAN總線信號成為TTL信號,或者轉換TTL信號成為CAN總線信號。PCA82C250具有最高IM波特率信號傳輸能力、防突變電流的總線保護措施、為減少射頻干擾的信號斜率控制、帶有寬共模范圍差分信號的接收器和過熱保護,最重要的是價格低廉、應用廣泛,從而成為CAN總線驅動器的最佳選擇。所述的DB9接頭,是CAN總線驅動器芯片輸出信號經過PCB布線連接到兩個DB9連接器上。采用標準DB9孔型接插件。優(yōu)點及功效:本發(fā)明一種PCI雙冗余CAN總線卡,其優(yōu)點是:(一 )本發(fā)明采用通用高速并行PCI總線把計算機和雙冗余CAN總線控制器軟核連接起來,有效提高系統(tǒng)穩(wěn)定性,同時可具有良好的用戶界面。(二)本發(fā)明利用FPGA實現(xiàn)硬件冗余管理,有效減少上層軟件的干預,進一步增強系統(tǒng)穩(wěn)定性。
(三)本發(fā)明中FPGA代碼采用可綜合的、模塊化語言設計,便于實現(xiàn)產品化。
圖1本發(fā)明實施例中PCI雙冗余CAN總線卡的結構圖;圖2本發(fā)明實施例中FPGA代碼結構框圖;圖3本發(fā)明實施例中FPGA代碼結構的CAN雙冗余管理控制器對外接口圖;圖4本發(fā)明實施例中FPGA代碼結構的CAN雙冗余管理控制器數(shù)據(jù)地址總線接口讀時序圖;圖5本發(fā)明實施例中FPGA代碼結構的CAN雙冗余管理控制器數(shù)據(jù)地址總線接口與時序具體實施例方式為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面結合附圖對本發(fā)明實施例作進一步詳細說明。實施例本發(fā)明提出一種PCI雙冗余CAN總線卡,其結構如圖1所示,它包含PCI接口芯片、FPGA芯片、隔離電源芯片、隔離芯片、驅動芯片和DB9接頭。它們按序彼此相互連接。所述的PCI接口芯片,一方面通過PCB板上的布線與板上的金手指相連,另一方面通過PCB板上的布線連接到FPGA芯片上。PCI接口芯片采用PLX公司的PCI9030芯片,該芯片可以把PCI總線協(xié)議轉化成本地地址數(shù)據(jù)總線。PCI9030具有132MB/S的數(shù)據(jù)傳輸量、本地總線最高時鐘60MHz、支持5個本地地址范圍、4個本地總線選通信號、具有字節(jié)格式大字和小字轉換功能、支持中斷產生和3.3V、5V信號兼容10。使用PCI9030能夠大大減少PCI總線的開發(fā)風險,縮短產品的研發(fā)周期。所述的FPGA芯片,一方面通過PCB板上的布線連接到PCI接口芯片上,另一方面通過PCB板上的布線連接到隔離芯片上。該FPGA芯片采用XILINX公司的SPARTAN3系列的X3C400芯片,完成PCI本地接口和雙冗余CAN總線控制器。X3C400具有40萬個系統(tǒng)門、56K位分布RAM、288K位集成塊RAM、16個專用乘法器、4個時鐘管理單元和141個最大可用IO數(shù)量,并具有價格低廉、應用廣泛等特點,成為本發(fā)明的最佳選擇。所述的隔離電源芯片,隔離電源芯片的電源輸入由PCI總線上的5V金手指,通過布線連接提供,隔離電源芯片的電源輸出提供電源給隔離芯片和驅動芯片。該隔離電源芯片采用TI公司的IW隔離電源芯片DCP010505,具有輸出短路保護、過熱保護、滿負載最大75%的工作效率、1000V有效值電壓隔離和工業(yè)級工作溫度范圍等特點。所述的隔離芯片,一方面通過PCB板上的布線連接到FPGA芯片上,另一方面通過PCB板上的布線連接到驅動芯片上。該隔離芯片采用Fairchild Semiconductor公司的HCPL0611,其功能是接收FPGA芯片發(fā)出的信號,然后隔離后傳遞給驅動芯片,或者接收驅動芯片發(fā)出的信號,然后隔離后傳遞給FPGA芯片。HCPL0611是小型8腳表貼封裝,其超高的10Mbit/s傳輸速度和良好的共模抑制比能夠滿足苛刻環(huán)境的抗干擾環(huán)境需要。HCPL0611的超高傳輸速度是提高CAN總線波特率和決定總線布線長度的關鍵條件。HCPL0611的工業(yè)級溫度范圍也能夠滿足工業(yè)現(xiàn)場環(huán)境的需要。
所述的驅動芯片,一方面通過PCB板上的布線連接到隔離芯片上,另一方面通過PCB板上的布線連接到DB9接頭上。該驅動芯片采用Philips Semiconductors的PCA82C250,轉換CAN總線信號成為TTL信號,或者轉換TTL信號成為CAN總線信號。PCA82C250具有最高IM波特率信號傳輸能力、防突變電流的總線保護措施、為減少射頻干擾的信號斜率控制、帶有寬共模范圍差分信號的接收器和過熱保護,最重要的是價格低廉、應用廣泛,從而成為CAN總線驅動器的最佳選擇。所述的DB9接頭,是CAN總線驅動器芯片輸出信號經過PCB布線連接到兩個DB9連接器上。采用標準DB9孔型接插件。本發(fā)明提出一種PCI雙冗余CAN總線卡,其FPGA代碼的CAN雙冗余管理控制器能夠作為獨立功能模塊應用在大型FPGA代碼設計當中,即圖2虛線部分。其包含寄存器I模塊,連接PCI接口到冗余管理模塊。設置冗余管理模塊的工作狀態(tài)、設置CAN總線通道I的工作狀態(tài)、記錄CAN總線通道I的運行狀態(tài)。其包含寄存器2模塊,連接PCI接口到冗余管理模塊。設置CAN總線通道2的工作狀態(tài)、記錄CAN總線通道2的運行狀態(tài)。其包含冗余管理模塊,連接PCI接口模塊、寄存器I模塊和寄存器2模塊到兩個CAN總線位流處理器。冗余管理模塊包括3個狀態(tài)機和一些其他組合邏輯。其包含冗余管理模塊中的主狀態(tài)機功能包括:通道切換、鎖存通道切換時間、鎖存數(shù)據(jù)發(fā)送時間、鎖存消息發(fā)送狀態(tài)、鎖存發(fā)送失敗的通道號、鎖存發(fā)送成功的通道號。其包含冗余管理模塊中的輔助狀態(tài)機功能包括:消息的發(fā)送、心跳消息的發(fā)送、監(jiān)視通道狀態(tài)及與主狀態(tài)機進行控制交換。其包含位流處理器模塊,連接冗余管理模塊和寄存器模塊到FPGA串行輸入輸出。管理CAN總線協(xié)議,例如消息發(fā)送、消息接收、錯誤處理、消息格式產生與識別、消息濾除和消息存儲管理等。所述的CAN雙冗余管理控制器的對外接口如圖3所示,在本實施例中,對外接口分為5大部分,分別是:全局信號、數(shù)據(jù)地址總線、第一通道信號、第二通道信號和測試信號。所述的全局信號包括全局復位信號,高電平輸入復位,和時鐘信號,16MHz標準時鐘信號輸入。所述的數(shù)據(jù)地址總線包括讀輸入信號、寫輸入信號、總線開始輸入信號、總線應答輸出信號、數(shù)據(jù)總線輸入信號、數(shù)據(jù)總線輸出信號和地址總線輸入信號。所述的FPGA內部結構的CAN雙冗余管理控制器數(shù)據(jù)地址總線接口讀時序圖如圖4所示,每個總線讀周期,由ads開始,ack結束。所述的FPGA內部結構的CAN雙冗余管理控制器數(shù)據(jù)地址總線接口寫時序圖如圖5所示,每個總線寫周期,由ads開始,ack結束。所述的第一通道信號包括:通道選擇信號chan_a_cs,CAN總線物理層信號輸入chan_a_rx_i, CAN總線物理層信號輸出chan_a_tx_o,中斷信號輸出chan_a_irq_on,時鐘信號輸出chan_a_clkout_o,狀態(tài)信號輸出chan_a_status。所述的第二通道信號包括:通道選擇信號chan_b_cs,CAN總線物理層信號輸入chan_b_rx_i, CAN總線物理層信號輸出chan_b_tx_o,中斷信號輸出chan_b_irq_on,時鐘信號輸出chan_b_clkout_o,狀態(tài)信號輸出chan_b_status。
測試信號,系統(tǒng)實時時鐘信號輸入sysrtc,寬度32位,最小分辨率50 μ S,測試信號組I輸出testl,寬度32位,測試信號組2輸出test2,寬度32位。
權利要求
1.一種PCI雙冗余CAN總線卡,其特征在于:它包含PCI接口芯片、FPGA芯片、隔離電源芯片、隔離芯片、驅動芯片和DB9接頭,它們按序彼此相互連接; 所述PCI接口芯片,一方面通過PCB板上的布線與板上的金手指相連,另一方面通過PCB板上的布線連接到FPGA芯片上;該PCI接口芯片是PCI9030芯片,它把PCI總線協(xié)議轉化成本地地址數(shù)據(jù)總線; 所述FPGA芯片,一方面通過PCB板上的布線連接到PCI接口芯片上,另一方面通過PCB板上的布線連接到隔離芯片上;該FPGA芯片是X3C400芯片,完成PCI本地接口和雙冗余CAN總線控制器; 所述隔離電源芯片,是DCP010505芯片,其電源輸入由PCI總線上的5V金手指,通過布線連接提供,其電源輸出提供電源給隔離芯片和驅動芯片; 所述隔離芯片,一方面通過PCB板上的布線連接到FPGA芯片上,另一方面通過PCB板上的布線連接到驅動芯片上;該隔離芯片是HCPL0611芯片,它接收FPGA芯片發(fā)出的信號,然后隔離后傳遞給驅動芯片,或者接收驅動芯片發(fā)出的信號,然后隔離后傳遞給FPGA芯片; 所述驅動芯片,一方面通過PCB板上的布線連接到隔離芯片上,另一方面通過PCB板上的布線連接到DB9接頭上;該驅動芯片是PCA82C250芯片,它轉換CAN總線信號成為TTL信號,或者轉換TTL信號成為CAN總線信號; 所述DB9接頭,是CAN總線驅動器芯片輸出信號經過PCB布線連接到兩個DB9連接器上,采用標準DB9孔型接插件。
2.根據(jù)權利要求1所述的一種PCI雙冗余CAN總線卡,其特征在于:該PCI雙冗余CAN總線卡的冗余管理的功能特征在于自動通道狀態(tài)判斷、自動消息發(fā)送通道選擇、自動鎖存兩個發(fā)送通道的發(fā)送狀態(tài)。
全文摘要
一種PCI雙冗余CAN總線卡,它包含PCI接口芯片、FPGA芯片、隔離電源芯片、隔離芯片、驅動芯片和DB9接頭,它們按序彼此相互連接;所述PCI接口芯片是PCI9030芯片,所述FPGA芯片是X3C400芯片,所述隔離電源芯片是DCP010505芯片,所述隔離芯片是HCPL0611芯片,所述驅動芯片是PCA82C250芯片,所述DB9接頭是采用標準DB9孔型接插件。本發(fā)明設計的PCI雙冗余CAN總線卡,實現(xiàn)了真正的雙冗余切換網絡,無需軟件干涉冗余功能管理,只需簡單的讀寫寄存器即可,冗余管理完全由硬件實現(xiàn),它填補了硬件冗余管理的空白。
文檔編號G06F13/40GK103198044SQ20131007836
公開日2013年7月10日 申請日期2013年3月12日 優(yōu)先權日2013年3月12日
發(fā)明者袁慧梅, 韓相東 申請人:首都師范大學