1 CAN總線簡介
CAN(Controller Area Network)即控制器局域往,主要用于各種設備檢測及控制的一種現場總線。CAN總線最初是由德國Bosch公司為汽車的檢測、控制系統而設計的。CAN總線具有獨特的設計思想、良好的功能特性和極高的可靠性,現場抗干擾能力強。具體來講,CAN總線具有如下特點:
CAN總線
*結構簡單,只有2根線與外部相連,且內部含有錯誤探測和管理模塊。
*通信方式靈活。可以多主方式工作,網絡上任意一個節點均可以在任意時刻主動地向網絡上的其它節點發送信息,而不分主從。
*可以點對點、點對多點及全局廣播方式發送和接收數據。
*網絡上的節點信息可分成不同的優先級,可以滿足不同的實時要求。
*CAN總線通信格式采用短幀格式,每幀字節數最多為8個,可滿足通常工業領域中控制命令、工作狀態及測試數據的一般要求。同時,8個字節也不會占用總線時間過長,從而保證了通信的實時性。
*采用非破壞性總線仲裁技術。當2個節點同時向總線上發送數據時,優先級低的節點主動停止數據發送,而優先級高的節點可不受影響 地繼續傳輸數據。這大大地節省了總線仲裁沖突時間,在網絡負載很重的情況下也不會出現網絡癱瘓。
*直接通信距離最大可達10km (速率5kb/s以下),最高通信速率可達1Mb/s (此時距離最長為40m);節點數可達110個,通信介值可以是雙絞線、同軸電纜或光導纖維。
*CAN總線通信接口中集成了CAN協議的物理層和數據鏈路層功能,可完成對通信數據的成幀處理,包括位填充、數據塊編碼、循環冗余檢驗、優先級判別等多項工作。
*CAN總線采用CRC檢驗并可提供相應的錯誤處理功能,保證了數據通信的可靠性。
*CAN總線的以上特點,為工業控制系統中高可靠性的數據傳送提供了一種新的解決方案。
其在國外工業控制領域已經有了廣泛的應用, 現國內的許多工業控制領域也開始使用基于CAN的現場總線。CAN總線已成為最有發展前途的4種現場總線之一。
2 單片機控制系統硬件設計
本設計采用Intel 196系列中的87C196NT單片機。87C196NT具有1MB的尋址空間。本身不帶CAN控制器,所以要實現與CAN總線之間的通 信,需外加CAN控制器和CAN驅動芯片.在本設計中作者采用LTL-CAN。LTL-CAN是一種CAN總線控制、驅動隔離收發器,由CAN控制器芯片PCA82C200、CAN驅動芯片PCA82C250、16MHz的晶振及光隔電路用厚膜封裝而成。它只支持標準信息幀格式,其內部邏輯功能圖略(詳見《單片機與嵌入式系統應用》2002.8)。
單片機與CAN總線的接口電路圖略(詳見《單片機與嵌入式系統應用》2002.8)。圖中LTL-CAN是帶光隔的CAN控制器和物理總線間的接口, 提供對總線的差動發送和接收功能。電阻R1作為CAN終端的匹配電阻。LTL-CAN芯片的片選信號CSCAN通過GAL16V8譯碼產生,其地址為08000H -08FFFH。87C196NT的P3口是數據/地址復用口。
3 單片機控制系統軟件設計
3.1 CAN信息包格式說明
一個有效的CAN的數據幀由幀起始、仲裁域、控制域、數據域、校驗域、應答域和幀結束組成。CAN控制器有2種不同的幀格式:標準格式和擴展格式。它們的主要區別在于仲裁域格式不同:標準幀仲裁域由11位標志符和遠程發送請求位RTR組成;擴展幀仲裁域由29位標志符就替代遠程請求 SRR位、標志位和遠程發送請求位RTR組成,圖略(詳見《單片機與嵌入式系統應用》2002.8)。
標志符作為報文的名稱,在仲裁過程期間,首先被送到總線。在接收器的驗收判斷中和仲裁過程確定訪問優先權中都要用到。
遠程發送請求位(RTR)用來確定發送遠程幀還是數據幀:當RTR為高電平時,CAN控制器發送遠程幀;為低電平時,發送數據幀。
數據長度碼(DLC)用來確定每幀要發送幾字節的數據,最多為8字節。
3.2 CAN控制器PCA82C200介紹
PCA82C200芯片是Philips公司生產的CAN控制器,是一種I/O設備基于內存編址的微控制器。該設備的獨立操作是通過像RAM一樣的片內寄存器修正來實現的。它只支持標準的信息幀格式。
PCA82C200的地址區包括控制段和信息緩沖區控制段。在初始化載入時可被編程來配置通信參數(例如,位時序)。微控制器也是通過這個段來控制CAN總線上通信的。
PCA82C200有2種工作模式:復位模式和工作模式。在復位模式下可以對接收代碼、接收屏蔽、總線時序寄存器0和1以及輸出控制寄存器 進行設置。一般在CAN初始化時完成對以上寄存器的設置,當CAN進入工作模式后,它們的值就不再變化。在工作模式下可進行數據的發送和接收。特別要注意的是當硬件復位或控制器掉線時會自動進入復位模式,這樣就不能進行正常的CAN通信,這就要求對復位位進行監控。當發生硬件復位或控制器掉線而進入復位模式時,就要求把復位位置為0進入工作模式,這樣CAN就能正常地發送和接收了。
3.3 網絡通信規則
CAN總線為多主工作方式,網絡上任一節點均可在任意時刻主動向網絡上其它節點發送信息,而不分主從。通信方式靈活,且無需占地址等節點信息。為禁止總線沖突,CAN總線采用非破壞性總線仲裁技術,根據需要將各個節點設定為不同的優先級,并以標志符ID標定,其值越小,優先級越高。
在本系統的實際應用中,主站負責整個網絡。它向從站發送各種控制命令,從站按照來自主站的命令進行操作。主站可以選擇任意一個從站交換數據信息,任一從站一旦被選中,即可以接收來自主站的信息,也可以依據從站的命令向主站回送信息。當某一從站發生故障時,可以主動向從站發送有關信息。任一從站與主站交換信息時,必須帶上從站地址信息。
3.4 下位機軟件編程
單片機87C196NT與上位機之間的CAN通信接口程序略。單片機向上位機一直以500Kbps的波特率發生數據,當單片機接收到上位機下傳的 數據后,又把接收到的數據轉發給上位機。有多種CAN卡可選用。
結束語
將CAN現場總線應用于電力系統線路分段保護監控單元中,有利于實現電力系統中檢測的實時性和可靠性。在現有設備的基礎上,進一步提高了電網的自動化檢測和管理水平,對提高供電的可靠性、增加電網的經濟效益有著重大的意義。