發(fā)動機(jī)測試系統(tǒng)中can總線的應(yīng)用
CAN橋接器的軟硬件設(shè)計(jì)
CAN橋接器的設(shè)計(jì)是將RS-422電平與CAN標(biāo)準(zhǔn)的邏輯電平能夠相互轉(zhuǎn)換,同時(shí)使得RS-422和CAN的幀格式能夠相互轉(zhuǎn)換。系統(tǒng)采用了SJA1000控制接口芯片,SJA1000有BasicCAN模式和PeliCAN模式兩種工作模式,本系統(tǒng)中選擇了工作模式為基本型。SJA1000作為微控制器的片外擴(kuò)展芯片,其片選引腳CS接在微控制器的地址譯碼器上,從而決定了CAN總線控制器各寄存器的地址。SJA1000通過CAN控制器接口芯片82C250連接在物理總線上。82C250器件提供對總線的差動發(fā)送能力和對CAN控制器的差動接受能力,完全和ISO11898標(biāo)準(zhǔn)兼容。其引腳8允許選擇高速、斜率控制和待機(jī)三種不同的工作方式。
在圖2所示的電路中實(shí)現(xiàn)了RS-422電平和CAN標(biāo)準(zhǔn)邏輯電平的相互轉(zhuǎn)換,同時(shí)系統(tǒng)軟件也實(shí)現(xiàn)了RS-422和CAN幀格式的相互轉(zhuǎn)換,系統(tǒng)中CPU為AT89C52單片機(jī)。
芯片MAX1490B完成了RS-422和TTL邏輯電平的相互轉(zhuǎn)換,而芯片SJA1000則完成了TTL邏輯電平和CAN邏輯電平的相互轉(zhuǎn)換,在MAX1490B中TTL側(cè)和RS-422側(cè)實(shí)現(xiàn)了完全電隔離,A、B為其RS-422側(cè)輸入端,Y、Z為RS-422側(cè)輸出端,DI為隔離的TTL側(cè)驅(qū)動輸入,RO為隔離的TTL輸出端,MAX1490B內(nèi)部的DCPDC 變換器在不需要外部隔離電源的情況下實(shí)現(xiàn)了輸入輸出的電隔離。82C250是CAN總線通信控制器,由其實(shí)現(xiàn)CAN的物理層和數(shù)據(jù)鏈路層,是CAN總線收發(fā)器,可支持多達(dá)110個節(jié)點(diǎn)的CAN總線負(fù)載。
測控設(shè)備的改造
原有的系統(tǒng)采用了下位控制,即將控制權(quán)限和管理權(quán)限在每一獨(dú)立的系統(tǒng)中單獨(dú)實(shí)現(xiàn),數(shù)據(jù)的輸出,給定控制目標(biāo)以及各種工況的信息打印均由前端機(jī)控制,上位機(jī)只是用來對系統(tǒng)進(jìn)行簡單的數(shù)據(jù)匯總通訊。在原系統(tǒng)中每個測控設(shè)備是孤立的,是信息孤島,在改造過程中上位機(jī)中配置CAN適配器,用雙絞線與CAN總線相連,在原測控設(shè)備上利用預(yù)留RS-422與CAN橋接器相連。在軟件編程中,增加了單獨(dú)的通信單元,不增加原有的控制系統(tǒng)的其他功能和軟件開銷,經(jīng)過簡單的軟硬件改造后,形成了一個具有數(shù)據(jù)交互功能的測控系統(tǒng)。改造后的系統(tǒng)能夠通過上位機(jī)對前置機(jī)進(jìn)行控制工框的設(shè)定、數(shù)據(jù)采集匯總等,可以通過上位機(jī)對前置機(jī)進(jìn)行控制,突破了原有系統(tǒng)的信息交互的障礙。系統(tǒng)拓?fù)浣Y(jié)構(gòu)如圖4所示。
結(jié)束語
經(jīng)過改造后的測控設(shè)備連成了一個CAN總線系統(tǒng),突破了原有的信息孤島的模式,原系統(tǒng)中的各種工作模式、各種控制目標(biāo)給定由上位機(jī)管理,下位機(jī)通過接收廣播、點(diǎn)對點(diǎn)方式和上位機(jī)通信,接受工況狀態(tài)的轉(zhuǎn)換以及控制給定等參數(shù),同時(shí)定期上傳其工作狀態(tài)、測試數(shù)據(jù)等,上位機(jī)對其進(jìn)行統(tǒng)一管理,實(shí)現(xiàn)了“分散控制,集中管理”的模式。上位機(jī)通訊管理軟件的編制采用DELPHI5.0,在WIN2000下編譯完成。
通過對原有系統(tǒng)進(jìn)行總線升級改造,針對原有測試系統(tǒng)進(jìn)行現(xiàn)場總線改造的嘗試,也具有積極的實(shí)際意義。
評論