摘要:介紹了CAN總線和DSP TMS320F2812,提出了一種基于串行總線的運(yùn)動(dòng)控制系統(tǒng),并給出了系統(tǒng)的軟硬件設(shè)計(jì)。
1 引言
CAN(Controller Area Network)總線,屬于現(xiàn)場(chǎng)總線技術(shù)范疇,是一種有效支持分布式控制或?qū)崟r(shí)控制的串行通信局域網(wǎng)絡(luò),以半雙工的方式工作,采用基于數(shù)據(jù)的傳輸方式,消息可以在任何時(shí)刻由任何節(jié)點(diǎn)發(fā)送到總線上,并被其它所有節(jié)點(diǎn)接受、判斷后決定是否應(yīng)用這個(gè)消息。由于其具有通信速率高、開(kāi)放性好、實(shí)時(shí)性好、糾錯(cuò)能力強(qiáng)以及控制簡(jiǎn)單、傳輸可靠性高、擴(kuò)展能力強(qiáng)、系統(tǒng)成本低等特點(diǎn),已廣泛應(yīng)用于控制系統(tǒng)中的各檢測(cè)和執(zhí)行機(jī)構(gòu)之間的數(shù)據(jù)通信,是當(dāng)今自動(dòng)化領(lǐng)域中公認(rèn)為最具有應(yīng)用前景的技術(shù)之一。
運(yùn)動(dòng)控制技術(shù)是推動(dòng)新的技術(shù)革命和新的產(chǎn)業(yè)革命的關(guān)鍵技術(shù)。由于數(shù)字信號(hào)處理器具有高速運(yùn)算能力使許多復(fù)雜的控制算法和功能得以實(shí)現(xiàn)和將實(shí)時(shí)處理能力和控制的外設(shè)功能集于一身等優(yōu)點(diǎn),所以它在運(yùn)動(dòng)控制技術(shù)中越來(lái)越被廣泛應(yīng)用。本文設(shè)計(jì)了一種基于TI公司數(shù)字信號(hào)處理器TMS-320F2812的運(yùn)動(dòng)控制器,用其實(shí)現(xiàn)了數(shù)控系統(tǒng)的高速和高精度。它把計(jì)算機(jī)嵌入到運(yùn)動(dòng)控制器中,能夠獨(dú)立完成伺服電機(jī)的實(shí)時(shí)運(yùn)動(dòng)控制。此控制系統(tǒng)是應(yīng)用于生產(chǎn)現(xiàn)場(chǎng)的分布式實(shí)時(shí)控制系統(tǒng)中最底層的現(xiàn)場(chǎng)節(jié)點(diǎn)系統(tǒng)。通過(guò)PC機(jī)、CAN總線、TMS320F2812和CPLD進(jìn)行數(shù)據(jù)傳輸與控制,使伺服電機(jī)的工作更加穩(wěn)定,能更好更靈活地應(yīng)用于數(shù)控系統(tǒng)中。
2 運(yùn)動(dòng)控制系統(tǒng)的構(gòu)成
在本系統(tǒng)中,CAN總線上掛有兩個(gè)節(jié)點(diǎn):PC機(jī)和運(yùn)動(dòng)控制器。PC機(jī)通過(guò)CAN接口適配卡與CAN總線相連,而PC機(jī)和運(yùn)動(dòng)控制器通過(guò)CAN總線進(jìn)行信息交換。
2.1 總線節(jié)點(diǎn)的CAN接口電路
CAN總線系統(tǒng)的硬件電路主要由TMS320F2812、CAN總線收發(fā)器PCA82C250等芯片組成。TMS320-F2812是集成的混合信號(hào)片—卜系統(tǒng)SOC,片內(nèi)還集成了數(shù)據(jù)采集和控制系統(tǒng)中常用的模擬部件和其它數(shù)字外設(shè)及功能部件。功能部件包括16通道的ADC、兩個(gè)SCI、SPI、增強(qiáng)型CAN控制器、7個(gè)計(jì)數(shù)器/定時(shí)器、通用數(shù)字I/O端口、兩個(gè)事件管理器模塊(EVA和EVB)、看門狗定時(shí)器(WDT)等。該數(shù)字信號(hào)處理器有128K字的FLASH程序存儲(chǔ)器和18K字的RAM,執(zhí)行速度可達(dá)150MIPS。其JTAG仿真電路可提供全速、非侵入式的電路仿真,支持?jǐn)帱c(diǎn)、單步觀察點(diǎn)、運(yùn)行和停止等調(diào)試命令,支持存儲(chǔ)器和寄存器校驗(yàn)和修改等功能。
TMS320F2812中的CAN有32個(gè)郵箱,占用512字節(jié)RAM,并且所有郵箱都具有獨(dú)立的接收屏蔽寄存器,都可以配置為發(fā)送或接收郵箱,且都有一個(gè)可編程的接收屏蔽寄存器。所有進(jìn)行數(shù)據(jù)傳輸和接收濾波的協(xié)議功能都是由CAN控制器執(zhí)行的,通過(guò)DSP內(nèi)的特殊功能寄存器可配置CAN控制器訪問(wèn)接收到的數(shù)據(jù)以及傳輸數(shù)據(jù)。因此,TMS320 F2812可完成CAN總線協(xié)議的數(shù)據(jù)鏈路層和應(yīng)用層的所有功能。
圖1 DSP內(nèi)嵌CAN模塊與其驅(qū)動(dòng)器的接口電路圖
圖2 程序設(shè)計(jì)流程
圖3 CAN模塊通信流程圖
PCA82C250作為CAN控制器和物理總線間的接口,可提供對(duì)總線的差動(dòng)發(fā)送能力和對(duì)控制器的差動(dòng)接收能力,它與ISO 11898標(biāo)準(zhǔn)完全兼容,具有高速、抗瞬間干擾和保護(hù)總線能力,并可通過(guò)管腳8的接地電阻控制脈沖斜率,降低射頻干擾。CAN總線收發(fā)器PCA82C250工作電壓為5V,而TMS320-F2812的I/O口電壓為3.3V,故需由電阻R1l、R12、R13及二極管D1組成簡(jiǎn)易的電平轉(zhuǎn)換電路將TMS-320F2812與PCA82C250連接。斜率電阻輸入端RS(引腳8)允許選擇三種不同的工作方式:待機(jī)方式(VRS>0.75VCC),斜率控制方式(0.4VCC
2.2 上位機(jī)通訊卡
由于CAN總線在工業(yè)控制上的應(yīng)用越來(lái)越廣泛,很多公司都推出了支持CAN總線的接口適配卡,用戶可以通過(guò)這些接口適配卡,來(lái)運(yùn)行復(fù)雜的通信任務(wù),進(jìn)行各CAN節(jié)點(diǎn)與上位主機(jī)之間的數(shù)字通信和監(jiān)視管理。PC機(jī)與CAN總線的通訊過(guò)程,實(shí)質(zhì)是對(duì)PC-CAN內(nèi)存數(shù)據(jù)的讀(數(shù)據(jù)接收)、寫(數(shù)據(jù)發(fā)送),PC機(jī)不參與CAN總線的通訊過(guò)程,所有通訊過(guò)程由PC-CAN卡上的CAN總線控制器自動(dòng)完成。
2.3 位置、速度反饋信號(hào)處理電路
準(zhǔn)確可靠的位置和速度檢測(cè)環(huán)節(jié)是多軸運(yùn)動(dòng)控制器的主要功能之—。為此,我們采用一片CPLD來(lái)實(shí)現(xiàn)4倍頻計(jì)數(shù)電路,由于在CPLD內(nèi)的門電路和觸發(fā)器的特性完全一致。所以在相同轉(zhuǎn)速下各電機(jī)軸倍頻信號(hào)的脈沖周期可以保持一致。為抑制長(zhǎng)距離傳輸中可能引入的干擾信號(hào),輸出至驅(qū)動(dòng)器的脈沖和方向信號(hào)采用差分輸出方式。基于同樣的理由,編碼器反饋信號(hào)經(jīng)由差動(dòng)輸入進(jìn)人CPLD。
該方案與采用其它分立芯片設(shè)計(jì)的電路相比,可改善整個(gè)電路的邏輯和電氣特性,增強(qiáng)電路的抗干擾性能,從而提高整個(gè)數(shù)控系統(tǒng)的加工精度和工作的可靠性。
3 系統(tǒng)軟件設(shè)計(jì)
3.1 主PC機(jī)
主PC機(jī)主要完成人機(jī)接口任務(wù)和對(duì)其它功能模塊的調(diào)度與管理。其整個(gè)軟件結(jié)構(gòu)建立在Windows98/2000平臺(tái)上,用Visual C++等功能強(qiáng)大的編程語(yǔ)言來(lái)實(shí)現(xiàn)與之響應(yīng)的功能,可以使系統(tǒng)的結(jié)構(gòu)組織得比較清晰,便于功能的擴(kuò)展與剪裁,以運(yùn)行各種現(xiàn)有的軟件。主PC機(jī)擴(kuò)展槽中插有一塊PC-CAN總線適配卡,通過(guò)該卡PC機(jī)即可與CAN總線相連,從而實(shí)現(xiàn)數(shù)控的各功能模塊的通信。
通訊模塊向下再細(xì)化為初始化模塊、數(shù)據(jù)接收與發(fā)送模塊、實(shí)時(shí)報(bào)警4個(gè)模塊。對(duì)CAN通訊適配卡的初始化主要是初始化適配卡的各個(gè)寄存器,設(shè)置中斷向量、通訊波特率和濾波接收碼以及中斷屏蔽字等必要的參數(shù),為正常通信做準(zhǔn)備。由于上位主機(jī)所接插的CAN通訊適配卡一般都提供CAN的驅(qū)動(dòng)函數(shù),所以在上位機(jī)軟件的編制過(guò)程中,實(shí)現(xiàn)與CAN總線的通信部分可以直接調(diào)用相應(yīng)的函數(shù)讀取緩沖隊(duì)列的數(shù)據(jù)或者通過(guò)適配卡對(duì)CAN總線發(fā)送信息。在數(shù)據(jù)接收與發(fā)送模塊中,PC機(jī)通過(guò)CAN通訊適配卡接收、發(fā)送數(shù)據(jù)和控制信號(hào)。在PC機(jī)上可設(shè)置PID控制參數(shù),傳送給DSP,DSP再傳送給CPLD。PC機(jī)接收并分析從DSP反饋來(lái)的當(dāng)前各軸電機(jī)的信息(如位置、速度、加速度以及出錯(cuò)信息等)。根據(jù)事先給定情況,實(shí)時(shí)分析誤差,實(shí)現(xiàn)PID在線參數(shù)的自調(diào)整。在實(shí)時(shí)報(bào)警模塊中,對(duì)系統(tǒng)通訊過(guò)程中出現(xiàn)的一些錯(cuò)誤發(fā)出警告并進(jìn)入相應(yīng)處理程序。其程序設(shè)計(jì)流程圖如圖2所示。
在本系統(tǒng)中,主窗口上實(shí)現(xiàn)通訊的接通與關(guān)閉,位置與控制參數(shù)的在線調(diào)整及發(fā)送等。上位主機(jī)通過(guò)對(duì)CAN驅(qū)動(dòng)函數(shù)的不斷調(diào)用,從而控制DSP發(fā)送控制命令或參數(shù)設(shè)定命令給伺服電機(jī)控制模塊,驅(qū)動(dòng)伺服電機(jī)的啟停運(yùn)轉(zhuǎn);同時(shí)通過(guò)DSP接收來(lái)自伺服控制芯片的伺服電機(jī)的速度、相位、轉(zhuǎn)動(dòng)方向等各種數(shù)據(jù)及狀態(tài)信息,并進(jìn)行分析處理,然后按照系統(tǒng)的實(shí)際控制需要再給伺服控制芯片發(fā)送相應(yīng)的命令以驅(qū)動(dòng)伺服電機(jī),構(gòu)成伺服電機(jī)系統(tǒng)的閉環(huán)控制。
3.2 DSP內(nèi)嵌CAN模塊的通訊程序設(shè)計(jì)
CAN節(jié)點(diǎn)對(duì)應(yīng)的DSP運(yùn)動(dòng)控制系統(tǒng)執(zhí)行全部的實(shí)時(shí)任務(wù):圖形繪制,插補(bǔ)運(yùn)算,伺服控制等。利用DSP強(qiáng)大的運(yùn)算功能,可采用高速的插補(bǔ)算法和位置控制算法,驅(qū)動(dòng)伺服電機(jī),完成高速高精度的運(yùn)動(dòng)控制。DSP運(yùn)動(dòng)控制器通過(guò)內(nèi)嵌的CAN模塊與CAN總線連接,實(shí)現(xiàn)與PC機(jī)的數(shù)據(jù)通訊。在通訊過(guò)程中,DSP控制器采用中斷方式接收PC機(jī)傳送的控制信息與數(shù)據(jù),并實(shí)時(shí)發(fā)回伺服電機(jī)的運(yùn)行狀態(tài)信息,以實(shí)現(xiàn)系統(tǒng)的實(shí)時(shí)控制與調(diào)整。TMS320 F2812內(nèi)嵌CAN模塊的通信流程圖如圖3所示。
4 結(jié)束語(yǔ)
從CAN總線的特點(diǎn)不難看出,它較傳統(tǒng)的串行通信,在硬件上可減少走線、易于系統(tǒng)擴(kuò)充或改型,在軟件上通訊更加靈活、實(shí)時(shí)性更好、糾錯(cuò)能力更強(qiáng)。本文所述系統(tǒng)可以實(shí)現(xiàn)小到生產(chǎn)線、車間,大到工廠的信息化制造技術(shù)。這一切都表明CAN總線是高可靠性分布式實(shí)時(shí)控制系統(tǒng)的理想總線,實(shí)踐證明亦是如此。基于CAN總線的運(yùn)動(dòng)控制系統(tǒng)有廣闊的應(yīng)用前景。采用DSP TMS320 F281和CPLD作為交流伺服系統(tǒng)控制器的核心,可使系統(tǒng)控制結(jié)構(gòu)大為簡(jiǎn)化,提高系統(tǒng)的穩(wěn)定性,調(diào)試方便,易于實(shí)現(xiàn)各種較復(fù)雜的運(yùn)動(dòng)軌跡控制。
串行總線的數(shù)控系統(tǒng)具有很多優(yōu)點(diǎn):引線少、連接簡(jiǎn)單、成本較低,在大型、特大型機(jī)床/機(jī)械,或檢測(cè)點(diǎn)和控制軸(或點(diǎn))很多的情況下更加明顯。系統(tǒng)與系統(tǒng)之間、單元與單元之間容易隔離,系統(tǒng)可靠性高。故我們可以預(yù)測(cè)串行總線數(shù)控系統(tǒng)將逐漸取代并行總線數(shù)控系統(tǒng),成為數(shù)控系統(tǒng)的又一新的發(fā)展方向。