介紹了一種通用CAN節點數據采集器的設計方法,該數據采集器采用12位精度的模數轉換器,具有4路模擬量輸入和2路輸出;其開關量為四路輸入和四路輸出,并有1個可作為通用CAN總線接口的CAN通信口用于自動控制系統中的數據采集口,并以CANOPEN協議進行通信。
0 引言
現代工業生產過程一般都是連續或成批的工作,故需要嚴格的過程控制和安全措施。數據采集系統就是對生產環節的數據進行實時采集,并對數據進行處理,從而實現提供生產過程數據和動態監控等功能。在整個生產過程中,數據采集系統發揮著非常重要的作用。為此,本文給出了一種數據采集器的設計方法,本設計采用CAN(Controller Area Network,控制器局域網絡)總線,具有智能程度高、傳輸效率高、實時性強、適用面廣等特點。
1 CAN總線簡介
CAN(Controller Area Network)為局域網控制總線,符合國際標準ISO11898。CAN總線最初是由德國的BOSCH公司為汽車的監測、控制系統設計的,屬于總線式通訊網絡。CAN總線規范了任意兩個CAN節點之間的兼容性,包括電氣特性及數據解釋協議。CAN協議分為二層:物理層和數據鏈路層。物理層用于決定實際位傳送過程中的電氣特性。在同一網絡中,所有節點的物理層必須保持一致,但可以采用不同方式的物理層。CAN的數據鏈路層功能則包括幀組織形式、總線仲裁和檢錯、錯誤報告及處理、對要發送信息的確認以及確認接收信息并為應用層提供接口等。
其主要特點是:
(1) 能夠以多主方式工作,網絡上的任意節點均可成為主節點,并可向其它節點傳送信息;
(2) 非破壞性總線仲裁和錯誤界定,總線沖突的解決和出錯界定可由控制器自動完成,且能區分暫時和永久性故障并自動關閉故障節點;
(3) CAN節點可被設定為不同的發送優先級。以滿足不同的實時要求;
(4) 采用差分驅動,可在高噪聲干擾環境下使用;
(5) 通信距離可達lO km(5Kbps),速率可達1Mbps(40m以內)。
2 數據采集器的結構原理
本文設計的數據采集器綜合考慮了各種現場需求以及線路的優化等因素。設計時選用了專用元器件,以盡量簡化電路,提高電路的可靠性。該數據采集器電路有4路模擬量差分輸入(信號范圍為0~10 V)和2路輸出;開關量則是四路輸入和四路輸出,并有1個CAN總線通信口;CAN通信采用CANOPEN協議方式。
本數據采集器采用單片微機C8051F005作為控制核心,與CAN控制器SJA1000、CAN驅動器82C250及兩片TLP521-4等器件共同組成具有模擬/數字量輸入輸出的接口電路。將C8051F005的P1口的全部口線同兩片TLP521-4的輸入或輸出連接,以作為開關量的數據接口;P0的全部口線則作為與CAN控制器SA1000接口的地址/數據復用總線;P2口的部分口線用于對CAN控制器SJA1000的控制。該數據采集器的結構如圖1所示。
2.1 模擬量采集模塊的設計
模擬量的采集是本系統的關鍵,為了提高數據采集的精度和抗干擾性,模擬量采集模塊采用差分形式。其中4路模擬量輸入通過模擬多路開關進行分時切換。本系統選用高速模擬多路開關DG529,并共用一個前置電路數據送入C8051F005的A/D轉化器進行轉換,這種方案可以大大簡化電路結構,提高效率。具體的前置電路如圖2所示。
該前置電路采取浮動差分形式來提高數據采集的穩定性。先將DG529切換過來的信號送到AD620進行阻抗匹配,之后采用高精度運放OP07并疊加一個1.2 V的電平到信號中間,使之形成浮動差分形式,再經過R7~R10的電阻網絡衰減以及運放LM258的緩沖,送到C8051F005的AIN0、AIN1進行相差之后,進行A/D轉換。二極管D1~D4可保護單片機的口線。
模擬量的輸出則直接用C8051F005的DAC轉換器再經運放放大來實現。
2.2 開關量采集模塊的設計
開關量的輸入采用光耦進行光電隔離,以隔斷前后通道的電磁聯系,提高抗干擾能力,同時把輸入的開關量轉化為C8051F005的3.3 V的電平標準。開關量的輸出同輸入一樣仍然采用光電隔離。具體電路如圖3所示。
2.3 通信模塊的結構
本數據采集器通信系統主要由CAN通訊控制器SJA1000、CAN通訊驅動電路82C250和光電隔離部分構成。通信模塊負責實現現場總線體系結構的邏輯鏈路控制(LLC)子層、媒體訪問控制(MAC)子層和物理層的功能,完成具體數據的可靠接收和發送。CAN控制器SJA1000與物理總線接口芯片82C250連接。為了保護數據采集器內部的芯片并提高抗干擾能力,在SJA1000與82C250之間加入光耦進行隔離。
考慮CAN網絡具有較高的傳輸速率,普通光耦的速度是不夠的,所以,本設計選用高速光耦(6N137)作為隔離器件,而且光耦部分電路所采用的兩個電源也必須完全隔離,否則光耦也就失去了意義。SJA1000與82C250的電路連接如圖4所示。
3 CAN通信的設計
CAN總線的通信采用CANopen協議來實現。CANopen是基于CAN串行通訊的網絡系統,CANopen規范覆蓋了應用層和通訊協議子集、程序設備的構造、推薦的電纜和接頭形式、SI單位和前綴解釋等,因而可保證不同廠家CAN控制器在通訊、聯接和具體控制以及軟件開發方面的一致性,從而給系統的使用和維護帶來極大方便,圖5是其參考模型。
在CANopen應用層中,設備通訊和應用程序對象將得到交換,所有這些對象均可通過16位索引和8位子索引進行訪問,這些對象(COB)將會被映射到一個或更多的已經預定義和配置好的幀中。圖6是CAN各協議層的訪問方式示意圖。通過對象索引,數據對象在應用層進行處理和訪問將更加方便和直接。
CAN協議具體包括如下幾個方面:
(1) 標識符
采用11位標識符,數據鏈路層與CAN2.0A相同。
(2) 網絡中的主從節點關系
一個CANopen系統必須有一個且僅有一個主節點,但可以有多個從節點(0~126),其中主節點具有啟動網絡、停止網絡、節點檢查、網絡引導等特殊功能。
(3) PD0協議
在CANopen協議中,CAN的數據信息可被看作是一種過程數據對象PDO (Process Data Ob-ject),它是設備傳送處理信息的標準方式。PDO發送端可看作為PDO生產者,而PDO接收端則可比喻成PDO的消費者,這種通訊為一點對多點的方式。
(4) SDO服務
SDO(Services Data Object服務數據對象)可提供一種獲得指定節點相關狀態數據的手段。當SDO客戶端發送一個數據請求后,服務端便發送相應的數據回應,這與原CAN協議中的遠程數據幀類似。
(5) 預定義連接集
CANopen規定了預定義的連接集,以簡化網絡的配置和使用。
(6) 發送和接收PDO
CANopen規定了相應的內存區以用于發送和接受網絡上的數據。這相當于c語言中直接對地址進行操作,因而可實現PDO數據的完全透明傳送,從而給程序編制帶來極大方便。
4 結束語
現場總線技術是自動化控制領域的一次重大變革,本文所設計的系統正是為適應這一變革所做的積極的探索。應用實踐證明,基于CAN現場總線的數據采集器不僅可靠性高,而且比通常采用PLC系統配置更為靈活,相信該系統將更加廣泛的應用于工業生產的各個方面。
編輯:jq
-
二極管
+關注
關注
147文章
9702瀏覽量
167560 -
驅動器
+關注
關注
53文章
8271瀏覽量
147060 -
CAN總線
+關注
關注
145文章
1955瀏覽量
131091
發布評論請先 登錄
相關推薦
評論