關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 基于CAN總線的電工實驗指導(dǎo)系統(tǒng)設(shè)計

基于CAN總線的電工實驗指導(dǎo)系統(tǒng)設(shè)計

作者: 時間:2008-05-16 來源:網(wǎng)絡(luò) 收藏

引 言

在生產(chǎn)現(xiàn)場控制中,智能設(shè)備與常規(guī)電氣設(shè)備的安裝、調(diào)試與維護需要相當數(shù)量的電氣技術(shù)人員,如何高效、批量、規(guī)范地培養(yǎng)高級電氣操作人員是教儀廠商急需解決的問題。它要求設(shè)備具備通信功能,讓教師能掌握訓(xùn)練過程的動態(tài)指標,從而了解學(xué)員的實際情況,可對過程進行控制,實現(xiàn)分類。

本文通過對(控制器局域網(wǎng))協(xié)議及其應(yīng)用的研究,利用通信控制器、收發(fā)器以及增強型微控制器等元器件,研制并開發(fā)一種CAN的應(yīng)用--,在實驗室開出網(wǎng)絡(luò)化實驗教學(xué)課程,從而改變常規(guī)教學(xué)方法的不足,讓學(xué)生更加自主、靈活地完成其實驗任務(wù),并可根據(jù)自己的情況進行擴展實驗,為建立開放性實驗實訓(xùn)設(shè)施基地打下良好的基礎(chǔ),還能使學(xué)員體會到網(wǎng)絡(luò)實驗的實際價值,了解CAN控制技術(shù)的基本知識。

1 CAN網(wǎng)絡(luò)通信層的模型與協(xié)議

針對不同的應(yīng)用領(lǐng)域可選擇不同的應(yīng)用規(guī)范,對于一般的應(yīng)用領(lǐng)域,采用"命令-響應(yīng)"模式的通信協(xié)議,就可以實現(xiàn)可靠而有效的"主-從"式通信網(wǎng)絡(luò)。如果需要進行大量數(shù)據(jù)交換或通信方式靈活的CAN網(wǎng)絡(luò),則可采用一些標準的多主通信協(xié)議,如HilonB協(xié)議,或者采用CAN2.0協(xié)議中遠程幀定義。在汽車電子產(chǎn)品領(lǐng)域,通常參考或直接采用J1939等標準規(guī)范。在電力通信領(lǐng)域,則常采用DeviceNETV2.0規(guī)范,該規(guī)范己被我國采納國家標準。在智能樓宇通信領(lǐng)域,一般使用Modbus協(xié)議或延用RS-485模式的"主-從"協(xié)議。

本系統(tǒng)在建立實際CAN總線通信網(wǎng)絡(luò)時,使用CAN底層硬件來實現(xiàn)對物理層、數(shù)據(jù)鏈路層的控制。應(yīng)用CAN2.0A/B協(xié)議規(guī)定的通信檢錯等機制保證CAN總線通信網(wǎng)絡(luò)的可靠性,建立了用戶協(xié)議層的通信協(xié)議,并對網(wǎng)絡(luò)上的通信數(shù)據(jù)流進行解釋與管理。其用戶協(xié)議層(應(yīng)用層)通信協(xié)議由數(shù)據(jù)幀和遠程幀格式定義來實現(xiàn),屬于"主-從"式結(jié)構(gòu)。

2 硬件系統(tǒng)的組成與模塊硬件的

現(xiàn)場總線的實驗系統(tǒng)的硬件主要由主機、接口卡、智能節(jié)點(從機)組成。主機中有應(yīng)用程序和數(shù)據(jù)庫等文件;接口卡是CAN實現(xiàn)通信的橋梁,同時,在網(wǎng)絡(luò)中它也作為一個節(jié)點;智能節(jié)點由現(xiàn)場總線、單片機技術(shù)的數(shù)據(jù)采集與傳輸模塊以及實際操作接線裝置等組成。節(jié)點能夠在計算機的控制下對學(xué)生的電工實驗進行智能指導(dǎo)。

2.1 數(shù)據(jù)采集與傳輸模塊的

數(shù)據(jù)采集與傳輸模塊可分為5個主要部分,即:由單片機AT89S52組成的主機部分;由SJA1000、PCA82C250、光電隔離電路等組成的CAN總線控制及接口部分;由+5V基準電壓源、驅(qū)動三極管、LED指示燈、數(shù)碼管組成的電源與顯示部分;采用4片8255作為I/O口的擴展,并與操作工位后端接口等電路組成的數(shù)據(jù)轉(zhuǎn)換與采集部分;實際操作工位。

AT89S52單片機作為主機,負責對SJA1000進行初始化,通過控制SJA1000實現(xiàn)數(shù)據(jù)的接收和發(fā)送等通信,實施對實驗數(shù)據(jù)的采集,采用P1口控制動態(tài)掃描顯示與指導(dǎo)實驗相關(guān)的數(shù)據(jù)等。選用74L,S373作為地址鎖存器,用74LS138對8255、SJA1000進行片選。

2.1.1 CAN總線控制及接口部分

在從機的運行過程中,由于主控CPU需完成多項工作任務(wù),在要求具有一定的靈活性的同時,還需使系統(tǒng)具有一定的可擴展性,因此,從機中的CAN控制器選用Philips公司的SJA1000。選用PCA82C250作為CAN總線的收發(fā)器,它也是CAN協(xié)議控制器與物理層之問的接口,具有抗瞬變、抗射頻和抗電磁干擾的性能,內(nèi)部的限流電路具有電路短路時對傳送輸出級進行保護的功能。在節(jié)點(工位機)與介質(zhì)之間加入光耦電路,即SJA1000的TX0和RX0并不是直接與82C250的TXD和RXD相連,而是通過高速光耦6N137后與82C250相連。6N137為高速光隔器件,作為外線路與系統(tǒng)之問的隔離,并采用兩個完全隔離電源VCC和VDD分別對光耦兩部分電路供電,從而達到信號之間的完全隔離,這樣可有效地提高系統(tǒng)的抗干擾能力和內(nèi)部系統(tǒng)的安全性。SJA1000的ADO~AD7連接到AT89S52的P0口,CS連接到74LS138的Y4端口,Y4為0時CPU片外存儲器地址可選中SJA1000,CPU通過這些地址可對SJA1000執(zhí)行相應(yīng)的讀寫操作,SJA1000的RD、WR、ALE分別與AT89S52的對應(yīng)引腳相連,可將INT接AT89S52的INT0或INT1。AT89S52可通過中斷或查詢方式訪問SJA1000,也可將INT接AT89S52的其他端口,采用查詢方式訪問SJA1000。接口電路如圖1所示。

2.1.2 數(shù)據(jù)轉(zhuǎn)換與采集部分

1)數(shù)據(jù)轉(zhuǎn)換電路的設(shè)計

根據(jù)電氣控制原理的分析與研究,從中優(yōu)化出一種比較通用的接線方法,讓對應(yīng)的點按操作順序依次向CPU的I/O口提供一定規(guī)則的+5 V電平,即可完成采樣和數(shù)字量的轉(zhuǎn)換。學(xué)生操作工位的正面為與實際接線端子插孔,其背面為與之相連的信號線,信號線的另一端與8255的某一固定的端口相接。

2)采樣電路的設(shè)計

工位面機采用4片8255作為I/O口的擴展,并通過20 kΩ下拉電阻與操作工位后端對應(yīng)的接線端子相接。在8255初始化時,讓其工作于普通讀方式,此時,如果某端子為高電平,則在對應(yīng)的8255 I/O口可采集到高電平。如果所有接線端子均為高電平,則總電流會接近7805的最大輸出電流。因此,需采用分相、分電路的方法進行實驗指導(dǎo)操作,完成實驗的指導(dǎo)任務(wù)。 2.1.3 單片機對硬件電路各部分訪問的地址

硬件電路原理圖設(shè)計好后,其訪問地址即可根據(jù)具體的情況予以確定。本文采用P2.5~2.7口控制74LS138,分別對4片8255和SJA1000進行片選和訪問。其訪問地址如表1所示。

3 CAN總線電工實驗系統(tǒng)節(jié)點軟件

3.1 數(shù)據(jù)采集與顯示在節(jié)點中的實現(xiàn)

本文采用AT89S52單片機作為工位(節(jié)點)系統(tǒng)的控制、數(shù)據(jù)采集和顯示的核心,使用Keil uVision2集成開發(fā)環(huán)境進行軟件的開發(fā)與調(diào)試。

由于從機需要完成顯示、數(shù)據(jù)采集與傳輸?shù)裙δ?,因此至少需采?個中斷源進行程序控制,即INT0和T0。其中:INT0用于指示CAN總線數(shù)據(jù)的接收與發(fā)送等進程的外部中斷;T0控制顯示掃描時鐘等。數(shù)據(jù)采樣過程分為兩種情況:一是初始化時的自動初始采樣;二是在程序的運行過程中,當接收到數(shù)據(jù)幀時,自動執(zhí)行一次采樣。

1)顯示部分的功能與過程分析

顯示電路的功能有3種:顯示初始化成功、有關(guān)出錯和對學(xué)生實驗步驟進行指示等信息。這些信息可由用戶根據(jù)硬件結(jié)構(gòu)和軟件的需要自行定義。本文采用74LS47譯碼驅(qū)動集成電路進行驅(qū)動與顯示控制。通過軟件的運行,使P1口分別控制6個數(shù)碼管共陽端的通斷,同時,由P0口向74LS47譯碼驅(qū)動電路提供數(shù)據(jù),實現(xiàn)了顯示的動態(tài)掃描控制。初始化正常時自定義顯示為004321,正常運行時顯示課題號、相號、接線步驟標號或出錯時顯示錯誤標志號。

2)數(shù)據(jù)采集的原理與過程分析

數(shù)據(jù)采集的原理是:CPU通過其P2口的相應(yīng)引腳控制向與其對應(yīng)的分相首端子提供+5 V電平,其余接點按一定規(guī)則用信號線相連,從而使每個端子上出現(xiàn)0電平或高電平,這樣對應(yīng)端子的狀態(tài)可通過8255讀取。即按一定順序接線時,可在對應(yīng)的8255口讀到不同的采樣數(shù)據(jù)。8255的每一個端口均可讀到一個8位二進制數(shù)(1字節(jié)),將這些數(shù)據(jù)與實驗操作步驟關(guān)聯(lián),從而使每次操作得到不同的數(shù)據(jù)。本系統(tǒng)需4片8255,一次采樣可得到12個8位二進制數(shù)。

在單片機的RAM空間設(shè)置一個20字節(jié)的數(shù)組作為采集數(shù)據(jù)的存儲空間。在上電復(fù)位時,使8255均初始化為普通讀方式,并向數(shù)組中寫入初始化數(shù)據(jù)。正常運行后,每接收到一個數(shù)據(jù)幀就進行一次數(shù)據(jù)的采集。所采集的數(shù)據(jù)直接按CAN總線通信的幀格式對數(shù)組中的內(nèi)容進行更新,以備讀取與上傳。數(shù)據(jù)采集的存儲地址與內(nèi)容如表2所示。

3.2 通信軟件的設(shè)計

本文中主站采用PC15121接口卡作為接口設(shè)備,在通信方式與協(xié)議確定后,主站與從站的通信可調(diào)用該產(chǎn)品的接口函數(shù)來實現(xiàn)。從站(工位)CAN節(jié)點的控制軟件采用模塊化設(shè)計方法。主要有5個模塊:SJA1000初始化模塊、SJA1000接收數(shù)據(jù)模塊、SJA1000發(fā)送數(shù)據(jù)模塊、SJA1000錯誤處理模塊;系統(tǒng)的其他任務(wù)模塊。

3.3 智能節(jié)點程序的運行

從機的主要功能為硬件的初始化、進入正常的顯示、等待中斷事件的發(fā)生、接收數(shù)據(jù)幀、數(shù)據(jù)處理并送顯、等待接收遠程幀并返回所需的數(shù)據(jù)幀和數(shù)據(jù)的采集等。其主程序流程如圖2所示。外部中斷服務(wù)程序流程如圖3所示。

在主機程序設(shè)計中,接口程序與數(shù)據(jù)處理的算法設(shè)計是關(guān)鍵。其中,主機接口卡可作為一個智能節(jié)點,網(wǎng)絡(luò)中的數(shù)據(jù)通信主要是對該卡的操作。

4 結(jié)束語

本文對CAN總線網(wǎng)絡(luò)的軟硬件系統(tǒng)進行了分析與研究,采用了一種基于CAN總線的組網(wǎng)協(xié)議與數(shù)據(jù)傳輸方式,并將其應(yīng)用于電工實驗指導(dǎo)系統(tǒng)中,以"主一從"通信模式實現(xiàn)網(wǎng)絡(luò)通信,達到了預(yù)期目標。設(shè)備能滿足實驗環(huán)境的需要。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉