李自成 程善美
摘 要:介紹了CAN總線和TMS320LF2407A內(nèi)嵌CAN控制器的特點(diǎn),利用PCA82C250芯片作為物理接口實(shí)現(xiàn)了交流伺服系統(tǒng)與CAN總線的連接,并與帶CAN卡的上位機(jī)進(jìn)行通信,給出了系統(tǒng)的硬件接口電路,對(duì)伺服控制器內(nèi)的系統(tǒng)軟件和CAN通信軟件進(jìn)行了分析和設(shè)計(jì)。利用實(shí)驗(yàn)室開發(fā)出的交流伺服控制器與PC機(jī)通過CAN總線實(shí)現(xiàn)了數(shù)據(jù)的實(shí)時(shí)通信,實(shí)驗(yàn)結(jié)果表明,利用DSP自帶的CAN控制器可以方便地將單臺(tái)伺服控制器構(gòu)成為控制器局域網(wǎng)的一個(gè)智能節(jié)點(diǎn)。
關(guān)鍵詞:CAN總線;DSP;交流伺服系統(tǒng);通信
中圖分類號(hào):TP274 文獻(xiàn)標(biāo)識(shí)碼:B
文章編號(hào):1004-373X(2009)01-145-03
Communication Design of CAN Bus and AC Servo System Based on DSP
LI Zicheng1,CHENG Shanmei2
(1.School of Electrical & Information Engineering,Wuhan Institute of Technology,Wuhan,430205,China;
2.Huazhong University of Science & Technology,Wuhan,430074,China)
Abstract:The characteristics of CAN bus and CAN controller of TMS320LF2407A are proposed in this paper.AC servo- system is connected with CAN bus by PCA82C250 and communicated with host computer by CAN card.The hardware interface circuit is presented,and the designs of system software and CAN communication software are analyzed respectively.Experimental results show that single servo controller can be connected with CAN bus as an intelligent node in a control network.
Keywords:CAN bus;DSP;AC servo system;communication
CAN是一種串行總線系統(tǒng),特別適合用于網(wǎng)絡(luò)化的“智能”I/O設(shè)備中[1]。CAN總線最初是由保時(shí)捷公司開發(fā)的,主要在汽車上使用,由于其具有多主控協(xié)議、實(shí)時(shí)能力、糾錯(cuò)功能和強(qiáng)抑噪功能[2-4]。目前,為適應(yīng)網(wǎng)絡(luò)化的要求,交流伺服系統(tǒng)一般采用RS 485總線擴(kuò)展通信接口[5]。但RS 485采用主從式的通信方式,實(shí)時(shí)性差,一旦主機(jī)通信出現(xiàn)故障,影響到整個(gè)系統(tǒng)的正常運(yùn)行,特別是對(duì)于實(shí)時(shí)性和安全性要求都很高的交流伺服系統(tǒng)來說[6],這是不允許的。現(xiàn)通過對(duì)DSP芯片TMS320LF2407內(nèi)嵌的CAN控制器分析,設(shè)計(jì)了基于DSP的下位機(jī)控制器與CAN總線的硬件接口和軟件解決方案,實(shí)現(xiàn)了交流伺服控制器通過CAN接口卡與上位機(jī)的實(shí)時(shí)通信。
1 DSP的CAN控制器
TI公司的低功耗、高速DSP芯片TMS320LF2407A具有高速運(yùn)算能力和高效控制能力。其內(nèi)嵌的CAN控制器是一個(gè)完全的CAN控制器[7-9],完全支持CAN 2.0B協(xié)議,它主要有以下特點(diǎn):有6個(gè)郵箱,其數(shù)據(jù)長(zhǎng)度為0~8 B,其中接收郵箱有局域接收郵箱屏蔽寄存器,在發(fā)送出錯(cuò)或仲裁時(shí)丟失數(shù)據(jù)的情況下,有自動(dòng)重發(fā)功能、可編程的位定時(shí)器和總線錯(cuò)誤診斷功能[10]。
CAN控制器的內(nèi)部結(jié)構(gòu)圖如圖1所示。
工作過程如下:CAN控制器在接收信息時(shí),先將要接收信息標(biāo)識(shí)符與相應(yīng)接收郵箱的標(biāo)識(shí)符進(jìn)行比較,只有標(biāo)識(shí)符相同的信息才能被接收;接收信息時(shí),將數(shù)據(jù)存入郵箱,標(biāo)識(shí)符存入相應(yīng)的寄存器;接收完成后,中斷標(biāo)志位被置位。CAN控制器在發(fā)送信息時(shí),先將要發(fā)送的數(shù)據(jù)寫入郵箱,再設(shè)置發(fā)送請(qǐng)求位,發(fā)送完成后發(fā)送應(yīng)答信號(hào)和中斷標(biāo)志位被置位,如果發(fā)送失敗,發(fā)送郵箱將再次發(fā)送。
2 系統(tǒng)結(jié)構(gòu)
使用CAN總線的交流伺服系統(tǒng)結(jié)構(gòu)原理圖,如 圖2所示。
圖2 系統(tǒng)結(jié)構(gòu)圖
上位機(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ù)交換[11]。
CAN卡采用的是研華的雙端口隔離CAN總線通信卡PCL-841。由于帶有內(nèi)置的CAN控制器,841能夠提供總線仲裁及查錯(cuò)功能,可以在檢查到錯(cuò)誤時(shí)自動(dòng)重發(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是整個(gè)系統(tǒng)的控制核心,由其來實(shí)現(xiàn)矢量控制、SVPWM、數(shù)字PI等控制策略,完成速度、電流調(diào)節(jié)及PWM調(diào)制。DSP與CAN物理總線之間采用PCA82C250作為接口,它可提供對(duì)總線的差動(dòng)發(fā)送和對(duì)CAN控制器的差動(dòng)接收能力,具有較強(qiáng)的抗干擾能力,通過對(duì)其引腳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)換電路,必要時(shí)也使用隔離電路。
圖3 TMS320LF2407A與CAN驅(qū)動(dòng)接口電路
電流檢測(cè)采用兩個(gè)30 mΩ的采樣電阻檢測(cè)電機(jī)兩相電流,另一相可由三相定子電流的對(duì)稱性計(jì)算得到。先通過HCPL788J將小電流信號(hào)變換為電壓信號(hào),再經(jīng)LM 向,由脈沖數(shù)和脈沖頻率可確定角位置和轉(zhuǎn)速,由U,V,W信號(hào)可確定轉(zhuǎn)子初始位置。 3 軟件設(shè)計(jì) 3.1 系統(tǒng)軟件 系統(tǒng)軟件完成整個(gè)系統(tǒng)大部分的功能:轉(zhuǎn)速調(diào)節(jié)、電流調(diào)節(jié)、矢量變換、磁場(chǎng)定向控制、電流計(jì)算、角度及轉(zhuǎn)速計(jì)算、鍵盤和顯示、以及通過CAN與上位機(jī)通信。 系統(tǒng)軟件包括兩大部分:主程序和中斷服務(wù)子程序。主程序完成DSP系統(tǒng)初始化、運(yùn)行初始化、鍵盤/LCD控制、運(yùn)行過程的控制以及故障檢測(cè)及處理等,其中運(yùn)行初始化包括定時(shí)器和比較單元參數(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í)中斷實(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個(gè)主要部分:CAN芯片的初始化、信息的發(fā)送、信息的接收。
CAN芯片的初始化包括位定時(shí)器的設(shè)置及對(duì)郵箱進(jìn)行初始化。設(shè)置位定時(shí)器就是對(duì)寄存器BCR1,BCR2進(jìn)行設(shè)置,確定CAN控制器的通信波特率、同步跳轉(zhuǎn)寬度、采樣次數(shù)和重同步方式。初始化郵箱主要是設(shè)置郵箱的標(biāo)識(shí)符、發(fā)送的是數(shù)據(jù)幀還是遠(yuǎn)程幀、對(duì)發(fā)送數(shù)據(jù)區(qū)賦初值。
信息的發(fā)送采用查詢的方式,接收可采用中斷方式,也可采用查詢方式。流程如圖4和圖5所示。
調(diào)試時(shí),可先編寫自測(cè)試程序(MCR的ATM位 置1),然后分別調(diào)試發(fā)送和接收模塊,最后進(jìn)行收發(fā)聯(lián)調(diào),這樣可以加快調(diào)試進(jìn)程。需要注意的是,在自測(cè)試模式時(shí),不需要與CAN總線相連,接收信箱接收CAN自身的發(fā)送信箱發(fā)送的信息幀,產(chǎn)生應(yīng)答信號(hào),但是不能接收標(biāo)識(shí)符。接收信息時(shí),注意接收屏蔽使能位AME的設(shè)置:AME=0時(shí),禁止相應(yīng)的標(biāo)識(shí)符屏蔽,接收信箱的標(biāo)識(shí)符必須與被接收的信息標(biāo)識(shí)符相符才能接收;AME=1時(shí),使能相應(yīng)的標(biāo)識(shí)符屏蔽,設(shè)置局部接收屏蔽寄存器(LAM)。
圖4 發(fā)送流程圖
圖5 采用中斷方式接收流程圖
4 結(jié) 語
這里主要是在實(shí)驗(yàn)室環(huán)境下,對(duì)CAN總線在變頻器系統(tǒng)中的應(yīng)用做了研究,將TMS320LF2407A用于變頻調(diào)速系統(tǒng),充分利用DSP強(qiáng)大的運(yùn)算功能和豐富的外圍接口電路,同時(shí),將CAN總線引入到現(xiàn)場(chǎng)數(shù)據(jù)的傳輸中,從而提高了網(wǎng)絡(luò)的可靠性和容錯(cuò)能力。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)正確、可靠、擴(kuò)展性好。CAN總線抗干擾性強(qiáng),控制效果較好。CAN總線上如果有多個(gè)以2407A為控制核心的變頻調(diào)速系統(tǒng),以不同的標(biāo)識(shí)符來區(qū)別各個(gè)節(jié)點(diǎn),多節(jié)點(diǎn)DSP的硬件接口設(shè)計(jì)與單節(jié)點(diǎn)的設(shè)計(jì)完全一樣。
參考文獻(xiàn)
[1]鄔寬明.CAN總線原理和應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2001.
[2]李美玲,蕭寶瑾.基于CAN總線數(shù)控系統(tǒng)遠(yuǎn)程輸入輸出模塊的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2008,31(9):114-115.
[3]曹萬科,張?zhí)靷b,張?chǎng)?等.汽車CAN總線可視化實(shí)時(shí)性分析研究及仿真[J].系統(tǒng)仿真學(xué)報(bào),2008,20(9):2 345-2 347.
[4]蔡俊宇,徐國(guó)政,關(guān)永剛,等.基于CAN總線和ARM的變電站在線監(jiān)測(cè)裝置的研制[J].高壓電器,2006,42(6): 417-420.
[5]高德欣,張文武,楊清.雙速電機(jī)高精度測(cè)速與參數(shù)測(cè)試SCADA系統(tǒng)開發(fā)[J].電氣應(yīng)用,2007,26(2):105-108.
[6]秦憶,李葉松.現(xiàn)代交流伺服系統(tǒng)[M].武漢:華中理工大學(xué)出版社,1995.
[7]曹晨,黃聲華.CAN總線在多相永磁無刷直流電機(jī)控制中的應(yīng)用[J].微電機(jī),2005,38(2):63-65.
[8]李永東.交流電機(jī)數(shù)字控制系統(tǒng)[M].北京:機(jī)械工業(yè)出版社,2002.
[9]劉和平.TMS320LF240xDSP結(jié)構(gòu)、原理及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2002.
[10]鄭尚透,趙國(guó)軍,楊如峰,等.基于CAN總線的電梯群控系統(tǒng)的設(shè)計(jì)[J].計(jì)算機(jī)與數(shù)字工程,2006,34(10):117-119.
[11]唐太崗,曾超.基于ARM9的1553B與CAN總線轉(zhuǎn)換卡的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2008,31(9):45-47.
作者簡(jiǎn)介李自成 男,1977年出生,湖北廣水人,講師,碩士。研究方向?yàn)檫\(yùn)動(dòng)控制、計(jì)算機(jī)集成控制。
程善美 男,1966年出生,湖北潛江人,教授,博士。研究方向?yàn)殡娏﹄娮蛹半娏鲃?dòng)、智能控制技術(shù)。