基于CAN總線的數(shù)據(jù)采集器的設(shè)計(jì)
現(xiàn)代工業(yè)生產(chǎn)過程一般都是連續(xù)或成批的工作,故需要嚴(yán)格的過程控制和安全措施。數(shù)據(jù)采集系統(tǒng)就是對(duì)生產(chǎn)環(huán)節(jié)的數(shù)據(jù)進(jìn)行實(shí)時(shí)采集,并對(duì)數(shù)據(jù)進(jìn)行處理,從而實(shí)現(xiàn)提供生產(chǎn)過程數(shù)據(jù)和動(dòng)態(tài)監(jiān)控等功能。在整個(gè)生產(chǎn)過程中,數(shù)據(jù)采集系統(tǒng)發(fā)揮著非常重要的作用。為此,本文給出了一種數(shù)據(jù)采集器的設(shè)計(jì)方法,本設(shè)計(jì)采用CAN(Controller Area Network,控制器局域網(wǎng)絡(luò))總線,具有智能程度高、傳輸效率高、實(shí)時(shí)性強(qiáng)、適用面廣等特點(diǎn)。
1 CAN總線簡介
CAN(Controller Area Network)為局域網(wǎng)控制總線,符合國際標(biāo)準(zhǔn)ISO11898。CAN總線最初是由德國的BOSCH公司為汽車的監(jiān)測(cè)、控制系統(tǒng)設(shè)計(jì)的,屬于總線式通訊網(wǎng)絡(luò)。CAN總線規(guī)范了任意兩個(gè)CAN節(jié)點(diǎn)之間的兼容性,包括電氣特性及數(shù)據(jù)解釋協(xié)議。CAN協(xié)議分為二層:物理層和數(shù)據(jù)鏈路層。物理層用于決定實(shí)際位傳送過程中的電氣特性。在同一網(wǎng)絡(luò)中,所有節(jié)點(diǎn)的物理層必須保持一致,但可以采用不同方式的物理層。CAN的數(shù)據(jù)鏈路層功能則包括幀組織形式、總線仲裁和檢錯(cuò)、錯(cuò)誤報(bào)告及處理、對(duì)要發(fā)送信息的確認(rèn)以及確認(rèn)接收信息并為應(yīng)用層提供接口等。
其主要特點(diǎn)是:
(1) 能夠以多主方式工作,網(wǎng)絡(luò)上的任意節(jié)點(diǎn)均可成為主節(jié)點(diǎn),并可向其它節(jié)點(diǎn)傳送信息;
(2) 非破壞性總線仲裁和錯(cuò)誤界定,總線沖突的解決和出錯(cuò)界定可由控制器自動(dòng)完成,且能區(qū)分暫時(shí)和永久性故障并自動(dòng)關(guān)閉故障節(jié)點(diǎn);
(3) CAN節(jié)點(diǎn)可被設(shè)定為不同的發(fā)送優(yōu)先級(jí)。以滿足不同的實(shí)時(shí)要求;
(4) 采用差分驅(qū)動(dòng),可在高噪聲干擾環(huán)境下使用;
(5) 通信距離可達(dá)lO km(5Kbps),速率可達(dá)1Mbps(40m以內(nèi))。
2 數(shù)據(jù)采集器的結(jié)構(gòu)原理
本文設(shè)計(jì)的數(shù)據(jù)采集器綜合考慮了各種現(xiàn)場(chǎng)需求以及線路的優(yōu)化等因素。設(shè)計(jì)時(shí)選用了專用元器件,以盡量簡化電路,提高電路的可靠性。該數(shù)據(jù)采集器電路有4路模擬量差分輸入(信號(hào)范圍為0~10 V)和2路輸出;開關(guān)量則是四路輸入和四路輸出,并有1個(gè)CAN總線通信口;CAN通信采用CANOPEN協(xié)議方式。
本數(shù)據(jù)采集器采用單片微機(jī)C8051F005作為控制核心,與CAN控制器SJA1000、CAN驅(qū)動(dòng)器82C250及兩片TLP521-4等器件共同組成具有模擬/數(shù)字量輸入輸出的接口電路。將C8051F005的P1口的全部口線同兩片TLP521-4的輸入或輸出連接,以作為開關(guān)量的數(shù)據(jù)接口;P0的全部口線則作為與CAN控制器SA1000接口的地址/數(shù)據(jù)復(fù)用總線;P2口的部分口線用于對(duì)CAN控制器SJA1000的控制。該數(shù)據(jù)采集器的結(jié)構(gòu)如圖1所示。
2.1 模擬量采集模塊的設(shè)計(jì)
模擬量的采集是本系統(tǒng)的關(guān)鍵,為了提高數(shù)據(jù)采集的精度和抗干擾性,模擬量采集模塊采用差分形式。其中4路模擬量輸入通過模擬多路開關(guān)進(jìn)行分時(shí)切換。本系統(tǒng)選用高速模擬多路開關(guān)DG529,并共用一個(gè)前置電路數(shù)據(jù)送入C8051F005的A/D轉(zhuǎn)化器進(jìn)行轉(zhuǎn)換,這種方案可以大大簡化電路結(jié)構(gòu),提高效率。具體的前置電路如圖2所示。
該前置電路采取浮動(dòng)差分形式來提高數(shù)據(jù)采集的穩(wěn)定性。先將DG529切換過來的信號(hào)送到AD620進(jìn)行阻抗匹配,之后采用高精度運(yùn)放OP07并疊加一個(gè)1.2 V的電平到信號(hào)中間,使之形成浮動(dòng)差分形式,再經(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)系,提高抗干擾能力,同時(shí)把輸入的開關(guān)量轉(zhuǎn)化為C8051F005的3.3 V的電平標(biāo)準(zhǔn)。開關(guān)量的輸出同輸入一樣仍然采用光電隔離。具體電路如圖3所示。
評(píng)論