新型的現場總線控制系統(FCS)突破了集散控制系統(DCS)中通信由專用網絡的封閉系統來實現所造成的缺陷,把基于封閉、專用的解決方案變成公開化、標準化的解決方案。它可以把來自不同廠商而遵守同一協議規范的自動化設備,通過現場總線網絡連成系統,實現綜合自動化的各種功能;同時把傳統DCS集中與分散相結合的集散系統結構,變成了新型基于現場總線的全分布式的結構,在傳統的DCS網絡的下一層再引入一個現場總線網絡層,將底層智能的I/O模塊、各種智能化的電子設備和各種智能化的儀表通過現場總線網構成底層的控制網絡。
由于分散度的提高,每個智能單元所涉及的面很少,即使出現故障,也只影響這一個單元。同時,由于這些規模很小的智能單元可以實現全面有效的自診斷功能,出現故障可以及時報警、報告故障類型及故障點,因此給維護帶來了極大的方便。另外,這個網絡還具有很大的獨立性,它將控制進一步下放到各個智能模塊、設備中,各個單元的處理并不完全依賴于上位機的運行,即使上位機出現故障或失效,各個智能單元仍可獨立地運行并執行預定功能,甚至仍可以通過現場總線傳遞信息,完成某些協調功能。
下面以CAN總線為例,闡述了CAN現場總線的結構、特點及其實現。
CAN總線技術特點
CAN總線是一種串行數據通信總線,在CAN總線通信接口中集成了CAN協議的物理層和數據鏈路層功能,可完成對數據的成幀處理。CAN協議的一個最大特點是廢除了傳統的站地址編碼,而代之以對通信數據塊進行編碼。采用這種方法的優點是使網絡內的節點個數在理論上不受限制,數據塊的標示碼可由11位或29位二進制組成,因此可以定義211或229個不同的數據塊,這種按數據塊編碼的方式,還可使不同的節點同時接收到相同的數據。CAN總線的數據通信具有突出的可靠性、實時性和靈活性。其特點可概括如下:
* CAN為多主工作方式,網絡上任一節點均可在任意時刻主動向網絡上的其它節點發送信息,而不分主從,通信方式靈活,且無需站地址等節點信息。利用這一特點可方便的構成多機備份系統。
* CAN網絡上的節點信息分成不同的優先級,可滿足不同的實時要求,高優先級的數據最多可在134ms內得到傳輸。
* CAN采用非破壞性總線仲裁技術,當多個節點同時向總線發送信息時,優先級較低的節點會主動退出發送,而最高優先級的節點可不受影響地繼續傳輸數據,從而大大節省了總線沖突仲裁時間。尤其在網絡負載很重的情況下,也不會出現網絡癱瘓的情況(以太網則可能)。
* CAN只需通過報文濾波即可實現點對點、點對多點及全局廣播等幾種方式傳送接收數據,無需專門的“調度”。
* CAN的直接通信距離最遠可達10km(速率<5Kbps);通信速率最高可達1Mbps(此時通信距離最遠為40m)。
* CAN上的節點數主要取決于總線驅動電路,目前可達110個;報文標識符可達2032種(CAN2.0A技術規范),而擴展標準(CAN2.0B技術規范)的報文標識符幾乎不受限制。
* 采用短幀結構,數據段的長度最多為8個字節,可滿足通常工業領域中控制命令、工作狀態及測試數據的一般要求。同時,8個字節的數據長度不會占用過長的總線時間,從而保證了通信的實時性。另外,傳輸時間短,受干擾的概率低。
* CAN的每幀信息都有CRC校驗及其它措施,保證了數據出錯率極低。
* CAN的通信介質可為雙絞線、同軸電纜或光纖,選擇靈活。
* CAN節點在錯誤嚴重的情況下具有自動關閉的功能,以使總線上其它節點的操作不受影響。
CAN總線電平如圖1所示。
CAN總線控制通信系統
的實現
CAN的網絡一般有3種實現方式:微控制器+CAN控制器+CAN收發器;集成CAN控制器的微控制器+CAN收發器;CAN的串行I/O器件+CAN收發器。只要符合CAN總線規范的單元都可以通過CAN接口接入CAN總線。CAN總線得到了Intel、Motorola、Philips、Siemens等眾多大公司的支持,提供了許多可以實現CAN總線協議的芯片來供用戶選擇。另外,CAN協議是完全公開的,這些都給CAN總線的開發設計帶來很大的方便。CAN控制器有Philips公司的82c200、SJA1000,Intel公司的82526、82527等。集成了CAN控制器的微控制器也很多,如Philips公司的P8XC592/598,Intel公司的196CA/CB,TI公司的TMS320LF2407(DSP)等。CAN的串行I/O芯片可以采用Philips的82c150。CAN的收發器有Philips的82c250,TI的SN65HVD230等。這些芯片一般都兼容最新的CAN2.0A/B協議。
基于DSP芯片的嵌入式控制器CAN節點實現
TI公司推出的TMS320LF240X系列、TMS320LF28X系列芯片是專門針對控制領域的應用而設計的DSP芯片。這類芯片內部不但集成有豐富的控制類單元,而且也集成CAN控制器(兼容CAN2.0A/B),因此可以很方便地將基于DSP芯片的嵌入式控制系統設計CAN總線上的一個CAN節點接入,并且只占用DSP的兩根I/O口線(CAN的發送和接收端與I/O是復用的)。圖2(基于CAN的第2種實現方式)是采用TMS320LF2407作為微控制器的CAN節點實現。它不但完成各類控制律,而且完成總線的通信功能。
可以看到,這個CAN節點主要是在DSP的基礎上增加了一個CAN發送器PCA82C250。需要注意的是:2407采用低功耗設計,3.3V供電,而CAN發送器PCA82C250是5V供電,假如直接相連,2407肯定無法承受。采用兩路光耦6N137不僅起到隔離DSP和CAN總線的作用,而且在保護DSP芯片的同時又可以進行電平轉換。當然進行電平匹配,還可以采用專門的電平轉換芯片,或者CPLD芯片。CAN節點的通信有三種通信模式:高速模式、斜率控制模式、等待模式。三種模式的選擇是通過PCA82C250端子的接法來實現的。高速模式下要求接一個0 ~1.8kW的電阻到地;斜率控制模式下要求接一個16.5kW~140kW的電阻到地;等待模式下要求RS接到高電平,至少保證RS的端電壓大于0.75VCC。顯然圖2采用的是斜率控制模式。至于CAN總線的終端匹配電阻的選擇并不是固定的,這與所設計的CAN網絡的節點個數,采用的傳輸介質等都有關系。終端電阻主要起到吸收信號的作用,對于較大型的CAN網絡,一般在CAN總線的兩端各接上一個幾百歐的電阻,對于只有幾個節點的試驗系統,可以在每個節點的接口處接上一個幾百歐或稍大一些的電阻都是可以的。
CAN控制器并不一定需要接CAN發送器才可以接到CAN上的。圖3中CAN控制器通過采用一些分立的元件直接連到總線上,這種方法的不足在于必須很細致地調節電阻參數,使其滿足在顯性和隱性情況下,CANH與CANL的電平滿足圖1的形式。在隱性情況下,VCANH與VCANL被固定于平均電平下,Vdiff近似為零。在顯性情況下以差分形式表示,這樣可以達到抗共模干擾的作用,而且這樣的連接形式只能下掛30個節點。加上CAN收發器后,不僅可以提供對總線的差動發送和接收的功能,同時也大大增強了總線的驅動能力,通信速率可達最高1Mbps,還可最大掛接110個節點。
CAN節點發送數據的程序流程圖如圖4所示。
CAN節點在接收數據的操作首先也是對CAN寄存器進行配置,接收到報文后,CAN控制器先進行報文濾波,假如符合要求就產生報文接收中斷,DSP處理中斷服務子程序將mailbox中的數據接收進來,進行處理。
基于51單片機和SJA1000 CAN控制器的CAN節點實現
由于DSP具有很強的數字信號處理能力,因此,基于DSP芯片設計的CAN節點常被用于處理信息量較大的場合。另外,在工控系統中,沒有大量數據需要處理,在只要實現簡單控制的場合,為了降低成本也常采用單片機開發CAN節點。采用片內帶CAN控制器的單片機設計CAN節點,與上述的基于DSP的CAN節點設計類似。圖5(基于CAN的第1種實現方式)就是采用AT89C52(普通單片機,不帶CAN控制器)、SJA1000(CAN控制器)和PCA82C250設計的CAN節點。單片機和SJA1000 CAN控制器都需要時鐘信號(SJA1000的時鐘還是比較關鍵的,因為這將關系到以后總線波特率的設定,假如晶振太小,CAN節點就無法在高速模式下運行),這里使用24MHz的晶振,51單片機的時鐘采用SJA1000的CLKOUT輸出。采用集成了CAN控制器的單片機或DSP芯片設計CAN節點,可以減小系統的復雜度,提高系統的可靠性,同時也方便設計者的開發,而在價格上卻并不一定會比非集成的方案高。
基于串行I/O器件的CAN節點實現
為了提高微控制器的I/O能力,降低線路數量和復雜性,進一步降低成本,Philips等公司還提供了CAN的串行智能I/O器件。這些I/O器件支持由端口輸入管腳上變化引起的自動發送,時鐘振蕩器不要求外部器件,從而大大降低了CAN鏈路的成本。圖6(基于CAN的第3種實現方式)是采用82c150串行連接I/O器件設計的CAN節點實現。
整個CAN通信系統的實現
圖7顯示的一個比較完整的CAN網絡,這個網絡還可以通過單片機或DSP的串口與其它網絡系統通信,或通過CAN網絡上PC節點的以太網接口等其它通信接口接入上層的網絡中,從而形成一個更大的網絡體系。基于PC機的CAN節點設計與上述幾種都不相同,關鍵是設計符合PC機PCI或ISA插槽的板卡以及板卡的驅動開發,較以上的實現都要復雜的多。CAN總線上節點之間的通信與其它通信一樣,必須采用相同的波特率以及相同的協議規范。實際應用中,我們對CAN2.0B做了一定的改進,CAN2.0B提供了29位標識符,利用前24位作為數據標識,8位一組,后五位做作為特殊功能位。將最后一位定義為數據和命令的區分位,前24位符合的報文就可以通過報文濾波,被接收節點接收,節點接收后,根據后5位來區分接收到的是什么數據,并對數據進行相應的處理。
結語
本文詳細地研究了基于現場總線的集散控制系統的組成和實現,并研究了基于DSP的嵌入式控制器和基于單片機的串行智能I/O的CAN節點實現方案。研究結果表明,含有DSP和單片機的基于CAN總線而組成的集散控制系統有許多優良的性能,并能充分發揮各類節點的功能。■
參考文獻:
1. 鄔寬明, CAN總線原理和應用系統設計, 北京航空航天大學出版社, 1996
2. 世界儀表與自動化, 2002年2月
3. 陽憲惠, 現場總線技術及其應用,清華大學出版社, 1999
4.Philips, PCA82C250/251 CAN Transceiver Application Note, 1996
5.Philips, SJA1000 Data Sheet, 2000
6.ATMEL, AT89C52 Data Sheet, 1999
作者簡介:
周嶸,王慧:西北工業大學,主要從事工業自動化技術研究、自動控制理論、現場總線技術和DSP芯片技術和應用開發等。
吳旭光:西北工業大學自動化教研室,教授。主要從事自動控制理論、系統建模、計算機仿真和工業自動化技術研究。
圖1 CAN總線電平
圖2 基于DSP的CAN節點實現
圖3 ISO11898建議電氣連接
圖4 發送數據流程圖
圖5 基于微控制器和CAN控制器的CAN節點實現
圖6 基于串行I/O器件的CAN節點實現
圖7 CAN通信系統
- 控制系統(108281)
相關推薦
評論
查看更多