免费色播,亚洲国产欧美国产第一区二区三区,毛片看,日本精品在线观看视频,国产成人精品一区二区免费视频,日本黄色免费网站,一级毛片免费

雙冗余CAN總線模塊的設(shè)計(jì)與實(shí)現(xiàn)

來源:網(wǎng)絡(luò)

點(diǎn)擊:1652

A+ A-

所屬頻道:新聞中心

關(guān)鍵詞: FPGA,CAN總線,CAN控制器,

      為滿足惡劣環(huán)境下計(jì)算機(jī)系統(tǒng)的高可靠性需求,將冗余技術(shù)結(jié)合到CAN總線模塊的硬件與軟件開發(fā)中,介紹其總體方案。硬件及軟件設(shè)計(jì)方法,重點(diǎn)描述了在V×Works系統(tǒng)下的驅(qū)動(dòng)軟件實(shí)現(xiàn),給出了部分實(shí)現(xiàn)細(xì)節(jié)及設(shè)計(jì)流程。測(cè)試結(jié)果表明,此設(shè)計(jì)可成功實(shí)現(xiàn)CAN冗余模塊在總線故障情況下的冗余切換,提高了設(shè)備可靠性。

      引言

      冗余技術(shù)有兩種方式:工作冗余和后備冗余。工作冗余是對(duì)關(guān)鍵設(shè)備以雙重或三重的原則來重復(fù)配置,這些設(shè)備同時(shí)處于工作運(yùn)行狀態(tài),工作過程中若某一臺(tái)設(shè)備出現(xiàn)故障,它會(huì)自動(dòng)脫離系統(tǒng),但并不影響系統(tǒng)的正常工作。后備冗余方式是使一臺(tái)設(shè)備投入運(yùn)行,另一臺(tái)冗余設(shè)備處于熱備用狀態(tài),但不投入運(yùn)行,在線運(yùn)行設(shè)備一旦出現(xiàn)故障,后備設(shè)備立即投入運(yùn)行。常用的冗余系統(tǒng)按其結(jié)構(gòu)可分為并聯(lián)系統(tǒng)。備用系統(tǒng)和表決系統(tǒng)3種。最簡(jiǎn)單的冗余設(shè)計(jì)是并聯(lián)裝置,其它方法還有串并聯(lián)或并串聯(lián)混合裝置和多數(shù)表決裝置等。

      本文通過以上冗余技術(shù)的分析選擇,將其結(jié)合到CAN總線模塊的設(shè)計(jì)中,并在VxWorks系統(tǒng)下設(shè)計(jì)了雙冗余驅(qū)動(dòng),通過測(cè)試,驗(yàn)證了本設(shè)計(jì)的有效性。

      1 總體設(shè)計(jì)

      雙冗余CAN總線模塊設(shè)計(jì)主要包括硬件與軟件設(shè)計(jì)兩部分。為實(shí)現(xiàn)冗余功能,硬件上需要有幾個(gè)相同可獨(dú)立工作的設(shè)備支持;軟件上要具備錯(cuò)誤檢測(cè)和動(dòng)態(tài)切換功能,且切換時(shí)間要盡可能短。在本設(shè)計(jì)中,雙冗余CAN總線模塊硬件配置兩個(gè)獨(dú)立的CAN控制器,并有FPGA對(duì)其進(jìn)行控制,軟件通過讀取CAN總線狀態(tài)寄存器判斷是否進(jìn)行冗余切換動(dòng)作。

      下面將詳細(xì)描述雙冗余CAN總線模塊的硬件與軟件設(shè)計(jì),以及冗余功能的實(shí)現(xiàn)細(xì)節(jié)。

      2硬件設(shè)計(jì)

      我們選擇PCI9052作為接口芯片,利用功能芯片實(shí)現(xiàn)硬件的邏輯和物理實(shí)現(xiàn)。CAN控制器采用PHILIPS的SJAl000,可工作于BasicCAN模式或PeI.CAN模式下,其中PeIiCAN模式支持CAN 2.0B協(xié)議,采用8位地址/數(shù)據(jù)復(fù)用總線接口。如圖1所示,PC J總線雙CAN接口卡由兩片SJAl000提供兩路獨(dú)立的CAN接口,每片芯片的8位地址/數(shù)據(jù)總線和讀寫控制信號(hào)。鎖存信號(hào)直接與PCI9052相連。SJAl000輸出信號(hào)經(jīng)過光耦到CAN收發(fā)器PCA82C250,82C250供電電源為隔離電源,由隔離電源轉(zhuǎn)換模塊提供。CAN總線的復(fù)位信號(hào)由FPGA提供,CAN控制器SJAl000的中斷信號(hào)輸出到FPGA.

    雙冗余CAN總線模塊的設(shè)計(jì)與實(shí)現(xiàn)

      在硬件上CAN總線冗余模塊要求使用相同兩套CAN設(shè)備(CAN0.CANl),每套包含獨(dú)立的總線電纜??偩€驅(qū)動(dòng)器和總線控制器,從而實(shí)現(xiàn)物理介質(zhì)。物理層。數(shù)據(jù)鏈路層及應(yīng)用層的全面冗余。兩套設(shè)備采用熱備份方式運(yùn)行:一個(gè)CAN控制器作為系統(tǒng)上電后默認(rèn)的CAN(稱為主CAN);另一個(gè)為系統(tǒng)的備用CAN(稱為從CAN)。系統(tǒng)正常工作時(shí),主CAN設(shè)備(CAN0)投入運(yùn)行,當(dāng)主CAN設(shè)備發(fā)生故障時(shí),系統(tǒng)自動(dòng)切換至從CAN設(shè)備運(yùn)行,保證整個(gè)系統(tǒng)的正常通信,提高系統(tǒng)可靠性。

      3軟件設(shè)計(jì)

      3.1 VXWorks驅(qū)動(dòng)開發(fā)模型

      VXWorks操作系統(tǒng)是風(fēng)河公司(Wind River SyStem)推出的一款運(yùn)行在目標(biāo)機(jī)上的高性能??刹脺p的嵌入式強(qiáng)實(shí)時(shí)操作系統(tǒng),它包括進(jìn)程管理。存儲(chǔ)管理。設(shè)備管理。文件系統(tǒng)管理。網(wǎng)絡(luò)協(xié)議及系統(tǒng)應(yīng)用等幾個(gè)部分,只占用了很小的存儲(chǔ)空間,并可高度裁減,保證了系統(tǒng)能以較高的效率運(yùn)行。它以其良好的可靠性和卓越的實(shí)時(shí)性被廣泛地應(yīng)用在通信。軍事。航空。航天等高精尖技術(shù)及實(shí)時(shí)性要求極高的領(lǐng)域中。

      VXWorks操作系統(tǒng)提供幾種標(biāo)準(zhǔn)驅(qū)動(dòng)模型,如串行設(shè)備驅(qū)動(dòng)。塊設(shè)備驅(qū)動(dòng)。網(wǎng)絡(luò)接口驅(qū)動(dòng)??偩€控制器驅(qū)動(dòng)等。根據(jù)設(shè)備不同,可選擇相應(yīng)的標(biāo)準(zhǔn)驅(qū)動(dòng)模型或自定cAN模塊是串行設(shè)備,設(shè)計(jì)選擇了標(biāo)準(zhǔn)串行設(shè)備驅(qū)動(dòng)模型。CAN總線驅(qū)動(dòng)VXWorks系統(tǒng)中的結(jié)構(gòu)框圖如圖2所示。

    雙冗余CAN總線模塊的設(shè)計(jì)與實(shí)現(xiàn)

      3.2.1 CAN模塊驅(qū)動(dòng)設(shè)計(jì)

      CAN模塊驅(qū)動(dòng)設(shè)計(jì)主要包括實(shí)現(xiàn)設(shè)備初始化。與上層IO通信。數(shù)據(jù)收發(fā)。參數(shù)設(shè)置。驗(yàn)收濾波器設(shè)置等。其中設(shè)備初始化要針對(duì)CAN設(shè)備冗余的特點(diǎn),對(duì)兩個(gè)CAN控制器進(jìn)行相同的初始化操作;與上層IO通信。數(shù)據(jù)收發(fā)。參數(shù)設(shè)置。驗(yàn)收濾波器設(shè)置操作只控制當(dāng)前處于工作狀態(tài)的CAN控制器。

      3.2.2驅(qū)動(dòng)冗余設(shè)計(jì)

      在雙CAN冗余系統(tǒng)的設(shè)計(jì)中,較之硬件結(jié)構(gòu)而言,軟件設(shè)計(jì)相對(duì)復(fù)雜,其關(guān)鍵之處在于CAN系統(tǒng)故障檢測(cè)及CAN系統(tǒng)自動(dòng)切換。由于采用兩套完全獨(dú)立的傳輸介質(zhì)??偩€驅(qū)動(dòng)器和總線控制器,因此它們能分別獨(dú)立檢測(cè)到自己通道的故障,比如CANH與CANL短路,CANH或CANL斷開。CANH與地短路。CANL與電源短路。總線驅(qū)動(dòng)器損壞等。實(shí)際調(diào)試中發(fā)現(xiàn),如果CANH.CANL斷開或只有一個(gè)發(fā)送器在總線上,均會(huì)造成發(fā)送/接收錯(cuò)誤計(jì)數(shù)器不斷增加到128,使節(jié)點(diǎn)處于忽略錯(cuò)誤態(tài);而CANH與CANL短路。CANH與地短路或CANL與電源短路均會(huì)造成發(fā)送/接收錯(cuò)誤計(jì)數(shù)器不斷增加到256,使節(jié)點(diǎn)處于總線脫離態(tài)。所以,通過節(jié)點(diǎn)狀態(tài)改變中斷子程序中調(diào)用CAN冗余模塊,可以達(dá)到實(shí)現(xiàn)上述故障自動(dòng)檢測(cè)及CAN系統(tǒng)自動(dòng)切換的目的。

      (1)接收冗余設(shè)計(jì)CAN設(shè)備接收時(shí)無法主動(dòng)檢測(cè)連接線路的通斷狀態(tài),這時(shí)就要求系統(tǒng)中的兩個(gè)CAN控制器都同時(shí)工作于接收狀態(tài)。這時(shí)系統(tǒng)中出現(xiàn)以下幾種情況:①正常工作。這個(gè)時(shí)候兩個(gè)CAN控制器都在接收數(shù)據(jù),此時(shí)我們只要取其中主CAN設(shè)備中的數(shù)據(jù)即可,從CAN設(shè)備中的數(shù)據(jù)丟棄;②主CAN設(shè)備沒有接收到數(shù)據(jù)而從CAN設(shè)備能正常接收到數(shù)據(jù),主CAN設(shè)備控制器的狀態(tài)寄存器中并沒有錯(cuò)誤標(biāo)志,這種情況是因?yàn)橹鰿AN設(shè)備的連接線路斷開而引起的,此時(shí)進(jìn)行通道切換,將主CAN設(shè)備設(shè)置為備用通道,把從CAN設(shè)備設(shè)置為工作通道并從中取出數(shù)據(jù)送給10系統(tǒng);③主CAN設(shè)備能接收到數(shù)據(jù),但其狀態(tài)寄存器中有錯(cuò)誤標(biāo)志,這是因?yàn)榫€路上的數(shù)據(jù)出錯(cuò)引起的,此時(shí)主CAN設(shè)備中的數(shù)據(jù)為錯(cuò)誤數(shù)據(jù),不能被使用,因此要進(jìn)行通道切換,把從CAN設(shè)備設(shè)定為工作通道,從中取出數(shù)據(jù)送IO系統(tǒng),而主CAN設(shè)備進(jìn)行復(fù)位處理后再讓其工作于接收狀態(tài),作為備用通道。數(shù)據(jù)接收流程如圖3所示。

    雙冗余CAN總線模塊的設(shè)計(jì)與實(shí)現(xiàn)

     ?。?)發(fā)送冗余設(shè)計(jì)當(dāng)CAN設(shè)備處于發(fā)送狀態(tài)時(shí),如果發(fā)生主CAN設(shè)備連接線路斷開的情況,會(huì)在主CAN設(shè)備控制器的狀態(tài)寄存器中置位錯(cuò)誤標(biāo)志,這樣相對(duì)于接收程序來說要簡(jiǎn)單一些。

      發(fā)送過程中系統(tǒng)只會(huì)出現(xiàn)兩種情況:①正常工作時(shí),只有主CAN設(shè)備在發(fā)送數(shù)據(jù),從CAN設(shè)備處于復(fù)位狀態(tài)或者偵聽狀態(tài),隨時(shí)準(zhǔn)備工作;②主CAN設(shè)備控制器的狀態(tài)寄存器的錯(cuò)誤標(biāo)志置位時(shí),主設(shè)備不能正常發(fā)送,應(yīng)通道切換,復(fù)位主CAN設(shè)備,在從CAN設(shè)備上進(jìn)行信息重發(fā)數(shù)據(jù)

    雙冗余CAN總線模塊的設(shè)計(jì)與實(shí)現(xiàn)

      3.3冗余測(cè)試測(cè)試

      利用雙通道CAN分析儀分別連接本CAN冗余模塊的A.B通道上,在從A通道連續(xù)發(fā)送數(shù)據(jù)至分析儀的過程中,手動(dòng)斷開此鏈接,則備用通道B開始工作,切換成功。
     

    (審核編輯: 智匯李)