1、系統(tǒng)總體結(jié)構(gòu)
由于工作面到采區(qū)煤倉距離較長,有時(shí)輸送機(jī)多達(dá)10臺(tái)以上,整個(gè)運(yùn)輸系統(tǒng)中的各臺(tái)輸送機(jī)既要能單獨(dú)控制,又要能全部集中控制。在如此長的距離內(nèi).CAN總線控制網(wǎng)絡(luò)是一個(gè)分布式的控制系統(tǒng),各種智能控制、檢測信號(hào)的采集、保護(hù)動(dòng)作都要分布到傳感器和執(zhí)行機(jī)構(gòu)所在現(xiàn)場,CAN總線的各個(gè)智能節(jié)點(diǎn)都具有CAN總線接口掛接到CAN總線上。系統(tǒng)總體結(jié)構(gòu)如圖1所示。
2、CAN總線智能節(jié)點(diǎn)接口電路設(shè)計(jì)
CAN總線智能節(jié)點(diǎn)硬件電路原理圖如圖2所示。從圖中可以看出電路主要由三部分構(gòu)成:獨(dú)立CAN通信控制器SJA1000、CAN總線收發(fā)器82C250和微處理器89S52。SJA1000是一種獨(dú)立CAN控制器,具有BasicCAN和PeliCAN兩種工作方式,PeliCAN工作方式支持具有很多新特性的CAN 2.OB協(xié)議。微處理器89S52負(fù)責(zé)SJA1000的初始化,通過控制SJA1000實(shí)現(xiàn)數(shù)據(jù)的接收和發(fā)送等通信任務(wù)。
SJA1000的ADO~AD7連接到89S52的Pr0口,CS一連接到通過譯碼電路輸出的片選信號(hào)CS_SJA1000,CPU通過這個(gè)地址可對(duì)SJA1000執(zhí)行相應(yīng)的讀寫操作。SJA1000的RD,WR分別與89S52的對(duì)應(yīng)引腳相連,INT接89S52的INT1,89S52也可通過中斷方式訪問SJA1000。ALE管腳外接獨(dú)立的時(shí)鐘電路。
為了增強(qiáng)CAN總線節(jié)點(diǎn)的抗干擾能力,SJA1000的TXO和RXO并不是直接與82C250的ⅨD和RXD相連,而是通過高速光耦6N136后與82C250相連,這樣就很好地實(shí)現(xiàn)了總線上各CAN節(jié)點(diǎn)間的電氣隔離。不過應(yīng)該特別說明的一點(diǎn)是光耦部分電路所采用的兩個(gè)電源VCC和VDD必須完全隔離,否則采用光耦也就失去了意義。
82C250與CAN總線的接口部分也采用了一定的安全和抗干擾措施。82C250的CANH和CANL引腳各自通過一個(gè)5Ω的電阻與CAN總線相連,電阻可起到一定的限流作用保護(hù)82C250免受過流的沖擊。CANH和CANL與地之間并聯(lián)了兩個(gè)30P的小電容,可以起到濾除總線上的高頻干擾和一定的防電磁輻射的能力。另外在兩根CAN總線接入端與地之間分別反接了一個(gè)保護(hù)二極管。當(dāng)CAN總線有較高的負(fù)電壓時(shí),通過二極管的短路可起到一定的過壓保護(hù)作用。82C250的Rs腳上接有一個(gè)斜率電阻,電阻大小可根據(jù)總線通訊速度適當(dāng)調(diào)整,一般在16kfl~140kQ之間。
3、CAN總線智能節(jié)點(diǎn)軟件設(shè)計(jì)
CAN總線智能節(jié)點(diǎn)軟件設(shè)計(jì)主要包括:CAN總線的初始化、報(bào)文的接收、報(bào)文的發(fā)送。完成這三個(gè)部分的編程,就能實(shí)現(xiàn)CAN總線一般的數(shù)據(jù)發(fā)送和接收。如果要想使通信更可靠,就必須了解CAN總線的錯(cuò)誤處理、總線脫離處理、接收濾波處理、波特率參數(shù)設(shè)置和自動(dòng)檢測以及CAN總線通信距離和節(jié)點(diǎn)數(shù)的計(jì)算等方面的詳細(xì)內(nèi)容。
SJA1000的初始化只有在復(fù)位模式下才可以進(jìn)行,初始化主要包括工作方式的設(shè)置、接收濾波方式的設(shè)置、接收屏蔽寄存器(AMR)和接收代碼寄存器(ACR)的設(shè)置、波特率參數(shù)設(shè)置和中斷允許寄存器(IER)的設(shè)置等。在完成SJA1000的初始化設(shè)置以后,SJA1000就可以回到工作狀態(tài)進(jìn)行正常的通信任務(wù)。發(fā)送數(shù)據(jù)時(shí),用戶只需將待發(fā)送的數(shù)據(jù)按特定的格式組合成一幀報(bào)文,送入SJA1000發(fā)送緩存區(qū)中,然后啟動(dòng)SJA1000發(fā)送即可,但在發(fā)送前,要先判斷是否處于接收狀態(tài)、上次發(fā)送是否完成、發(fā)送緩存區(qū)是否鎖定等一系列狀態(tài)。發(fā)送程序分為遠(yuǎn)程幀和數(shù)據(jù)幀兩種。報(bào)文的接收主要有兩種方式:中斷接收方式和查詢方式。兩種接收方式的編程思路基本相同,但在接收程序中要對(duì)總線脫離、錯(cuò)誤報(bào)警、接收溢出等情況進(jìn)行處理。初始化程序流程如圖3所示。
4、結(jié)語
使用CAN總線建立的現(xiàn)場通信網(wǎng)絡(luò)可靠性高、實(shí)時(shí)性強(qiáng),能夠適應(yīng)煤礦并下復(fù)雜環(huán)境。在此基礎(chǔ)上將膠帶輸送機(jī)的多個(gè)獨(dú)立控制、檢測、保護(hù)系統(tǒng)聯(lián)系起來,達(dá)到了信息的共享,可對(duì)現(xiàn)場進(jìn)行實(shí)時(shí)控制,簡化了現(xiàn)場人員的操作,消除了很多不確定因素造成事故的隱患,現(xiàn)場使用效果很好。文中介紹的CAN總線電路和軟件的設(shè)計(jì)方法具有一定的普遍性,便于借鑒。



