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