1、引言
隨著工業控制系統逐步的自動化,現代化,現場總線控制系統得到越來越多的重視和應用,CAN總線是目前開發簡單,性能價格比高的一種現場總線 。相對其他現場總線而言,CAN通信控制器的生產廠家最多、品種最全、應用也最為廣泛;诂F場總線控制系統智能化、復雜度的提高,作為現場總線的核心部件微處理器,傳統的51芯片,甚至ARM7已經逐漸不能滿足需要,ARM9成為合適的選擇。但許多ARM9并沒有集成CAN接口,擴展CAN接口成為當務之急。且ARM9將數據地址總線分開,而CAN控制器為數據地址總線復用,使得CAN的擴展不能一味照搬51處理器的方式。在CAN模塊驅動開發上,現有資料往往只針對Linux系統上的驅動開發 進行介紹,而現場總線控制系統對實時性的要求使得Linux系統要讓位于更多的實時操作系統。
本文介紹了一種基于ARM920T現場總線的控制系統,詳細說明了其上擴展CAN總線的兩種方式,并給出具體的CAN模塊在實時操作系統eCos 上驅動程序開發的步驟,最后對兩種擴展進行了簡要的比較。
2、現場總線控制系統簡介
該現場總線控制系統采用EP9315為核心處理器。EP9315是Cirrus Logic公司開發的一款基于ARM920T的工業級處理器。該現場總線控制系統除了外擴的CAN總線接口、還外擴64Mb SDRAM和32MB FLASH、并帶有PCMCIA 接口、E PROM接口、512kb SRAM、IDE接口、實時時鐘、視頻顯示、彩色VGA TFT LCD觸摸屏、支持模擬VGA連接、視頻解碼支持壓縮視頻輸出和S-VIDEO輸出、PS/2鍵盤,三個USB接口、三個串行接口、音頻接口、1/10/100Mbps以太網接口、紅外線接收口;實現了控制系統的數字化、智能化;可實現多種功能,使系統的控制功能本地化,提高了系統的可靠性、實時性;簡化了系統的結構。多接口的系統結構使系統的擴展,變更,拆裝更加靈活便利。
3、硬件系統擴展
3.1 CAN總線模塊結構
本文使用SJA1000T作為CAN控制器擴展CAN模塊 。SJA1000T是使用于汽車和一般工業環境的獨立CAN總線控制器,具有完成CAN高性能通信協議所要求的全部必要特性;具有簡單總線連接的SJA1000T可完成物理層和數據鏈路層的所有功能。支持CAN2.0協議。
CAN總線收發器TJA1040T是CAN控制器和物理總線之間的接口芯片,增強了總線的驅動能力,從而增加CAN總線的通信距離并使得一條總線上可以掛更多的節點。
為增強CAN總線節點的抗干擾能力 ,SJA1000T的TXO和RXO并不直接與TJA1040的TXD和RXD相連,而是通過兩片光耦隔離芯片6N137與TJA1040T相連。很好地實現了收發器與控制器之間的電氣隔離,保護智能節點核心電路安全工作;并實現了總線上各CAN節點間的電氣隔離。需要強調的是:為實現這種電氣隔離,光耦器件兩側的直流電源必須是兩個無直接電氣聯系、相互隔離的直流電源。因而采用兩路DC-DC隔離電源實現。為進一步加強安全性和抗干擾能力,可在總線收發器TJA1040T與CAN總線間串接限流電阻,避免TJA1040T受過流沖擊。同時,在CANH和CANL,與地之間并聯了濾波電容,可以起到濾除總線上的高頻干擾,并具備一定的防電磁輻射能力。此外,通信信號在線路上傳輸時,信號傳輸到導線的端點時會發生反射,反射信號會干擾正常信號的傳輸。為消除這種影響,可在CAN總線兩端并接匹配電阻,起到匹配總線阻抗和消除反射的雙重作用。若忽略這些措施,會使數據通信的抗干擾性和可靠性大大降低,甚至無法通信。
3.2 CAN模塊與ARM9的兩種連接方式
- 1
- 2
- 3
- 4
- 總4頁
來源:互聯網
http:www.mangadaku.com/news/30357.htm

