彭承榮
摘要:隨著科學(xué)技術(shù)不斷發(fā)展,技術(shù)更新日新月異。CAN總線技術(shù)憑借自身靈活等優(yōu)勢,在實(shí)踐應(yīng)用中,不僅能夠?qū)崿F(xiàn)對數(shù)據(jù)測量的高效控制,還能夠提高工業(yè)現(xiàn)場可操作性、可控制性。本文將從CAN總線技術(shù)發(fā)展及特點(diǎn)入手,從總體結(jié)構(gòu)、軟硬件角度對基于CAN總線技術(shù)智能節(jié)點(diǎn)設(shè)計(jì)進(jìn)行深入探討,最后對系統(tǒng)進(jìn)行了測試,證明該智能節(jié)點(diǎn)具有靈活、穩(wěn)定等優(yōu)勢,值得廣泛推廣。
關(guān)鍵詞:CAN總線技術(shù);智能節(jié)點(diǎn);設(shè)計(jì)
中圖分類號TP2 文獻(xiàn)標(biāo)識碼A 文章編號2095-6363(2016)06-0121-01
現(xiàn)場總線作為工業(yè)自動化領(lǐng)域發(fā)展的基礎(chǔ),能夠通過分布式控制方式,構(gòu)建工業(yè)級局域網(wǎng),在實(shí)踐應(yīng)用中,滿足各個節(jié)點(diǎn)實(shí)時(shí)數(shù)據(jù)的傳輸和通信,具有較強(qiáng)的可靠性,受到了廣泛關(guān)注。CAN總線作為現(xiàn)場總線的重要組成部分,具有高性能特點(diǎn),在航天航空、工業(yè)控制等領(lǐng)域得到了應(yīng)用。因此加強(qiáng)對CAN總線技術(shù)智能節(jié)點(diǎn)設(shè)計(jì)的研究具有非常重要的現(xiàn)實(shí)意義。
1.CAN總線技術(shù)概述
CAN總線最早出現(xiàn)在20世紀(jì)80年代,是由現(xiàn)代汽車中眾多測控儀器之間的數(shù)據(jù)交換而設(shè)計(jì)的一種支持分布式實(shí)施控制數(shù)據(jù)的通信網(wǎng)絡(luò)。它將數(shù)據(jù)傳輸機(jī)制作為基礎(chǔ),通過雙絞線、同軸電纜實(shí)現(xiàn)信息傳輸目標(biāo)。CAN總線在實(shí)際應(yīng)用的特點(diǎn)表現(xiàn)在以下幾個方面:一是多主技術(shù),網(wǎng)絡(luò)上任何一點(diǎn)都能夠在不同的時(shí)刻,主動向網(wǎng)絡(luò)上其他節(jié)點(diǎn)傳輸信息,并實(shí)現(xiàn)對優(yōu)先級的劃分,以此來滿足多元需求,提高控制力度;二是可靠性較高,節(jié)點(diǎn)出現(xiàn)錯誤時(shí),能夠自動關(guān)閉輸出功能,與總線斷開聯(lián)系,確保其他節(jié)點(diǎn)依然處于健康運(yùn)行狀態(tài);三是監(jiān)測特點(diǎn),系統(tǒng)內(nèi)部采用短幀結(jié)構(gòu),能夠有效縮短時(shí)延、降低干擾,在一定程度上降低數(shù)據(jù)錯誤率。上述優(yōu)勢成為汽車、機(jī)械及醫(yī)療等領(lǐng)域引入CAN總線的重要原因。
2.基于CAN總線技術(shù)智能節(jié)點(diǎn)的設(shè)計(jì)
2.1總體結(jié)構(gòu)設(shè)計(jì)
將CAN總線技術(shù)作為核心的系統(tǒng)中包含了不同的分布式控制系統(tǒng),由遍布整個控制系統(tǒng)中的獨(dú)立節(jié)點(diǎn),完成對系統(tǒng)主機(jī)的常規(guī)測試及控制。因此,在結(jié)構(gòu)設(shè)計(jì)中,我們對主機(jī)不需要考慮監(jiān)控底層設(shè)備,便能夠達(dá)到高性能控制及管理。通常來說,系統(tǒng)主要由主機(jī)、數(shù)據(jù)轉(zhuǎn)換器及智能節(jié)點(diǎn)3部分構(gòu)成,如圖1所示。
觀察系統(tǒng)總體結(jié)構(gòu)能夠發(fā)現(xiàn)主機(jī)與智能節(jié)點(diǎn)將CAN總線作為連接載體,其中主機(jī)選擇LabVIEW設(shè)計(jì)的檢測軟件、硬件資源共同構(gòu)成,在系統(tǒng)運(yùn)行中,能夠?qū)χ悄芄?jié)點(diǎn)進(jìn)行動態(tài)監(jiān)測,及時(shí)獲取數(shù)據(jù),并將其存儲于系統(tǒng)數(shù)據(jù)庫中。同時(shí),數(shù)據(jù)轉(zhuǎn)換器通過串口轉(zhuǎn)CAN總線,能夠?qū)崿F(xiàn)數(shù)據(jù)的高效轉(zhuǎn)換,從而實(shí)現(xiàn)轉(zhuǎn)發(fā)目標(biāo)。智能節(jié)點(diǎn)作為系統(tǒng)中數(shù)量最多的一部分,與總線相連,能夠?qū)⒉杉臄?shù)據(jù)信息發(fā)送至總線,并由總線進(jìn)行統(tǒng)一處理,它由微控制器、收發(fā)器及接口構(gòu)成。作為整個系統(tǒng)的關(guān)鍵,本文選擇STM32F107作為主控芯片,該芯片具有較強(qiáng)的ROM、RAM,尤其是針對程序量較大的嵌入式系統(tǒng)具有較好的支持,能夠顯著提升工業(yè)控制水平。收發(fā)器選擇德州儀器生產(chǎn)的SN65HVD230,該器件具有較高的速率、抗干擾能力等優(yōu)勢,在CAN總線中具有廣泛的應(yīng)用。
2.2硬件設(shè)計(jì)
一般CAN總線智能節(jié)點(diǎn)由微控制器、總線控制器及收發(fā)器構(gòu)成。針對智能節(jié)點(diǎn)系統(tǒng)中的總線部分來看,其中PDO與PDl腳分別為CANRX、CANTX引腳,為總線輸入輸出提供一定支持,在系統(tǒng)運(yùn)行中,將總線收發(fā)器與物理總線連接到一起,便能夠滿足運(yùn)行需求。
針對CAN收發(fā)器來說,本文采用SN65HVD230,憑借其高達(dá)1Mbps的差分進(jìn)行發(fā)送、接收,滿足信息發(fā)送和接受要求。由于該設(shè)備具有較強(qiáng)的短路、失地保護(hù)等功能,能夠減少系統(tǒng)運(yùn)行故障。另外,針對收發(fā)器第8引腳經(jīng)過10k電阻與PDl5連接后,能夠滿足微控制器控制要求,并隨著具體情況而發(fā)生變化。如當(dāng)PDl5處于低電情況下,系統(tǒng)將處于高速工作模式,反之則處于待機(jī)模式。另外,在硬件設(shè)計(jì)環(huán)節(jié),在CAN總線輸入端與大地之間設(shè)置防雷擊管,能夠避免雷擊的干擾。復(fù)位電路中由復(fù)位電路、上電自動復(fù)位電路構(gòu)成,提高系統(tǒng)集成度的同時(shí),還能夠增強(qiáng)其可靠性,從而促使系統(tǒng)能夠更好地發(fā)揮積極作用。
2.3軟件設(shè)計(jì)
基于CAN總線智能節(jié)點(diǎn)主程序在運(yùn)轉(zhuǎn)時(shí)具備固定的流程。詳細(xì)來說,系統(tǒng)發(fā)送方式通過查詢實(shí)現(xiàn),發(fā)送數(shù)據(jù)則通過中斷方式達(dá)到目標(biāo)。一般而言,智能節(jié)點(diǎn)主程序由系統(tǒng)、及其外設(shè)初始化等多個部分構(gòu)成。當(dāng)cAN控制器處于初始狀態(tài)時(shí),需要將控制器復(fù)位到較高的位置,才能夠訪問寄存器。因此在初始化寄存器之前,應(yīng)處于復(fù)位狀態(tài)當(dāng)中。而總線定時(shí)寄存器的初始化值應(yīng)結(jié)合控制器晶振頻率完成設(shè)計(jì)目標(biāo)。當(dāng)系統(tǒng)處于運(yùn)行狀態(tài)時(shí),針對數(shù)據(jù)發(fā)送來說,控制器能夠?qū)?shù)據(jù)發(fā)送到總線中,并由控制器自主完成,而發(fā)送主程序則需要將信息幀發(fā)送至發(fā)送緩沖區(qū),最后傳遞命令即可。而針對數(shù)據(jù)接收而言,控制器能夠從總線當(dāng)中,讀取到數(shù)據(jù)信息,完成數(shù)據(jù)信息的接收。因此,在具體設(shè)計(jì)過程中,針對CAN控制器的設(shè)計(jì),我們應(yīng)適當(dāng)提高緩存位,以此來提高系統(tǒng)運(yùn)行有效性。
2.4系統(tǒng)測試
針對系統(tǒng)測試,本文選擇了兩個智能節(jié)點(diǎn),將他們分別稱為節(jié)點(diǎn)A和節(jié)點(diǎn)B,同時(shí)設(shè)置相應(yīng)的接口板。該接口具備上文描述的輸入及輸出等功能。因此在智能節(jié)點(diǎn)設(shè)計(jì)中,我們既能夠接收信息、還能夠發(fā)送信息,更具便捷性。在測試中,我們將兩個節(jié)點(diǎn)分別置于實(shí)物當(dāng)中,連接完成后,按照如下程序進(jìn)行測試。
在輸入端,隨機(jī)選擇數(shù)據(jù)信號,測試輸出端是否能夠獲取對應(yīng)的信號。而節(jié)點(diǎn)B通過中斷按鍵向節(jié)點(diǎn)A發(fā)送數(shù)據(jù)信息,測試節(jié)點(diǎn)A能夠通過顯示模塊進(jìn)行技術(shù)。經(jīng)過測試后,我們能夠發(fā)現(xiàn)輸入端口指示燈亮,輸出端端口燈亮,由此可以證明節(jié)點(diǎn)A成功采集數(shù)據(jù),并對數(shù)據(jù)進(jìn)行處理后發(fā)送至節(jié)點(diǎn)B,同時(shí),節(jié)點(diǎn)B也能夠接受到經(jīng)過CAN總線傳輸過來的信息。綜上來看,本文設(shè)計(jì)的系統(tǒng)通信正常,能夠滿足工業(yè)控制要求,確保工業(yè)生產(chǎn)等工作處于良好的狀態(tài)中。
3.結(jié)論
本文將STM32F107微處理器作為核心,設(shè)計(jì)了CAN總線智能節(jié)點(diǎn),使得系統(tǒng)不僅具備CAN總線優(yōu)勢,且能夠有效發(fā)揮可靠性、抗干擾性等優(yōu)勢,為相關(guān)領(lǐng)域提供了極大的支持。另外,智能節(jié)點(diǎn)能夠滿足分布式節(jié)點(diǎn)測試,促使控制工作朝著智能化、網(wǎng)絡(luò)化方向發(fā)展,為CAN總線技術(shù)在工業(yè)測控領(lǐng)域中的推廣和普及奠定了堅(jiān)實(shí)的基礎(chǔ),特別是在數(shù)據(jù)處理方面更具優(yōu)勢。隨著科學(xué)技術(shù)不斷發(fā)展,我們還應(yīng)加大對CAN總線技術(shù)的研究,不斷優(yōu)化技術(shù),從而促使其積極作用得到最大限度發(fā)揮。