基于DSP交流伺服系統(tǒng)與CAN總線的通信設(shè)計(jì)
1 DSP的CAN控制器
TI公司的低功耗、高速DSP芯片TMS320LF2407A具有高速運(yùn)算能力和高效控制能力。其內(nèi)嵌的CAN控制器是一個完全的CAN控制器,完全支持CAN2.0B協(xié)議,它主要有以下特點(diǎn):有6個郵箱,其數(shù)據(jù)長度為0~8 B,其中接收郵箱有局域接收郵箱屏蔽寄存器,在發(fā)送出錯或仲裁時丟失數(shù)據(jù)的情況下,有自動重發(fā)功能、可編程的位定時器和總線錯誤診斷功能。
CAN控制器的內(nèi)部結(jié)構(gòu)圖如圖1所示。
工作過程如下:CAN控制器在接收信息時,先將要接收信息標(biāo)識符與相應(yīng)接收郵箱的標(biāo)識符進(jìn)行比較,只有標(biāo)識符相同的信息才能被接收;接收信息時,將數(shù)據(jù)存入郵箱,標(biāo)識符存入相應(yīng)的寄存器;接收完成后,中斷標(biāo)志位被置位。CAN控制器在發(fā)送信息時,先將要發(fā)送的數(shù)據(jù)寫入郵箱,再設(shè)置發(fā)送請求位,發(fā)送完成后發(fā)送應(yīng)答信號和中斷標(biāo)志位被置位,如果發(fā)送失敗,發(fā)送郵箱將再次發(fā)送。
2 系統(tǒng)結(jié)構(gòu)
使用CAN總線的交流伺服系統(tǒng)結(jié)構(gòu)原理圖,如圖2所示。
上位機(jī)采用帶有CAN適配卡的通用計(jì)算機(jī),上位機(jī)的主要功能是:通過CAN總線接口與DSP進(jìn)行通信,接收DSP傳來的數(shù)據(jù)進(jìn)行處理并向節(jié)點(diǎn)發(fā)送控制指令。節(jié)點(diǎn)負(fù)責(zé)數(shù)據(jù)采集、控制、執(zhí)行。上位機(jī)和節(jié)點(diǎn)之間通過CAN網(wǎng)絡(luò)實(shí)現(xiàn)數(shù)據(jù)交換。
CAN卡采用的是研華的雙端口隔離CAN總線通信卡PCL一841。由于帶有內(nèi)置的CAN控制器,841能夠提供總線仲裁及查錯功能,可以在檢查到錯誤時自動重發(fā)數(shù)據(jù),極大地降低了數(shù)據(jù)丟失的幾率,有效地保證了系統(tǒng)的可靠性,工作的波特率可達(dá)1 Mb/s。
核心控制器采用TI公司的DSP芯片TMS320LF2407A。2407A是電機(jī)專用控制芯片,將DSP的高速運(yùn)算能力和面向電機(jī)的高效控制能力集于一體,其高速性使復(fù)雜的控制策略得以實(shí)現(xiàn)。DSP是整個系統(tǒng)的控制核心,由其來實(shí)現(xiàn)矢量控制、SVPWM、數(shù)字PI等控制策略,完成速度、電流調(diào)節(jié)及PWM調(diào)制。DSP與CAN物理總線之間采用PCA82C250作為接口,它可提供對總線的差動發(fā)送和對CAN控制器的差動接收能力,具有較強(qiáng)的抗干擾能力,通過對其引腳8(Rs)的不同連接可以實(shí)現(xiàn)3種不同的工作方式:高速、斜率控制和待機(jī)方式。接口電路如圖3所示。該系統(tǒng)將該引腳通過30 kΩ電阻接地,實(shí)現(xiàn)斜率控制方式,以降低射頻干擾。因?yàn)镈SP是3.3 V供電,而82C250用5 V供電,所以需要電平轉(zhuǎn)換電路,必要時也使用隔離電路。
電流檢測采用兩個30 mΩ的采樣電阻檢測電機(jī)兩相電流,另一相可由三相定子電流的對稱性計(jì)算得到。先通過HCPL788J將小電流信號變換為電壓信號,再經(jīng)LM324進(jìn)行放大濾波,變換為O~3.3V的單極性電壓信號送到2407A的10位A/D單元進(jìn)行轉(zhuǎn)換。速度檢測采用增量式光電碼盤,分辨率為2 500 p/r,提供A,A,B,B,Z,Z,U,U,V,V,W,W信號,其中A,B正交,Z為標(biāo)志脈沖信號,U,V,W互差120°電角度。由A,B兩個脈沖序列哪個先到達(dá)可確定電機(jī)的旋轉(zhuǎn)方向,由脈沖數(shù)和脈沖頻率可確定角位置和轉(zhuǎn)速,由U,V,W信號可確定轉(zhuǎn)子初始位置。
3 軟件設(shè)計(jì)
3.1 系統(tǒng)軟件
系統(tǒng)軟件完成整個系統(tǒng)大部分的功能:轉(zhuǎn)速調(diào)節(jié)、電流調(diào)節(jié)、矢量變換、磁場定向控制、電流計(jì)算、角度及轉(zhuǎn)速計(jì)算、鍵盤和顯示、以及通過CAN與上位機(jī)通信。
系統(tǒng)軟件包括兩大部分:主程序和中斷服務(wù)子程序。主程序完成DSP系統(tǒng)初始化、運(yùn)行初始化、鍵盤/LCD控制、運(yùn)行過程的控制以及故障檢測及處理等,其中運(yùn)行初始化包括定時器和比較單元參數(shù)的初始化、轉(zhuǎn)子初始位置確定。在中斷子程序中,實(shí)現(xiàn)轉(zhuǎn)速環(huán)和電流環(huán)的控制,完成電機(jī)的矢量控制策略,實(shí)現(xiàn)轉(zhuǎn)速控制:轉(zhuǎn)速環(huán)周期為1 ms,完成轉(zhuǎn)速和位置角度的計(jì)算,計(jì)算得到的實(shí)際轉(zhuǎn)速與給定轉(zhuǎn)速的誤差通過轉(zhuǎn)速調(diào)節(jié)器得到電流Q軸分量的給定值,作為電流環(huán)的輸入;電流環(huán)由PWM定時中斷實(shí)現(xiàn),完成相電流的采樣、坐標(biāo)變換等計(jì)算,將實(shí)際值與給定值比較的誤差通過電流調(diào)節(jié)器,再進(jìn)行SVPWM脈寬調(diào)制,即可得到需要的PWM波形。
3.2 CAN通信軟件設(shè)計(jì)
CAN總線的軟件設(shè)計(jì)包括3個主要部分:CAN芯片的初始化、信息的發(fā)送、信息的接收。CAN芯片的初始化包括位定時器的設(shè)置及對郵箱進(jìn)行初始化。設(shè)置位定時器就是對寄存器BCRl,BCR2進(jìn)行設(shè)置,確定CAN控制器的通信波特率、同步跳轉(zhuǎn)寬度、采樣次數(shù)和重同步方式。初始化郵箱主要是設(shè)置郵箱的標(biāo)識符、發(fā)送的是數(shù)據(jù)幀還是遠(yuǎn)程幀、對發(fā)送數(shù)據(jù)區(qū)賦初值。
信息的發(fā)送采用查詢的方式,接收可采用中斷方式,也可采用查詢方式。流程如圖4和圖5所示。
調(diào)試時,可先編寫自測試程序(MCR的ATM位置1),然后分別調(diào)試發(fā)送和接收模塊,最后進(jìn)行收發(fā)聯(lián)調(diào),這樣可以加快調(diào)試進(jìn)程。需要注意的是,在自測試模式時,不需要與CAN總線相連,接收信箱接收CAN自身的發(fā)送信箱發(fā)送的信息幀,產(chǎn)生應(yīng)答信號,但是不能接收標(biāo)識符。接收信息時,注意接收屏蔽使能位AME的設(shè)置:AME=0時,禁止相應(yīng)的標(biāo)識符屏蔽,接收信箱的標(biāo)識符必須與被接收的信息標(biāo)識符相符才能接收;AME=1時,使能相應(yīng)的標(biāo)識符屏蔽,設(shè)置局部接收屏蔽寄存器(LAM)。
4 結(jié) 語
這里主要是在實(shí)驗(yàn)室環(huán)境下,對CAN總線在變頻器系統(tǒng)中的應(yīng)用做了研究,將TMS320LF2407A用于變頻調(diào)速系統(tǒng),充分利用DSP強(qiáng)大的運(yùn)算功能和豐富的外圍接口電路,同時,將CAN總線引入到現(xiàn)場數(shù)據(jù)的傳輸中,從而提高了網(wǎng)絡(luò)的可靠性和容錯能力。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)正確、可靠、擴(kuò)展性好。CAN總線抗干擾性強(qiáng),控制效果較好。CAN總線上如果有多個以2407A為控制核心的變頻調(diào)速系統(tǒng),以不同的標(biāo)識符來區(qū)別各個節(jié)點(diǎn),多節(jié)點(diǎn)DSP的硬件接口設(shè)計(jì)與單節(jié)點(diǎn)的設(shè)計(jì)完全一樣。