??? 摘? 要: 介紹了基于專用DSP芯片ADMC328的異步電機調(diào)速系統(tǒng)" title="調(diào)速系統(tǒng)">調(diào)速系統(tǒng)中的主控部分與驅(qū)動部分之間的通訊。詳細介紹了通訊的硬件接口電路、通訊協(xié)議" title="通訊協(xié)議">通訊協(xié)議以及軟件實現(xiàn)方法,實現(xiàn)了利用DSP的同步串口" title="串口">串口進行異步通訊的方法,并確保通訊準確可靠。實驗結(jié)果證明了其可靠性。?
??? 關(guān)鍵詞: 數(shù)字信號處理器? 串行異步通訊? 交流調(diào)速系統(tǒng)
?
??? 隨著電力電子技術(shù)的不斷發(fā)展和微處理技術(shù)尤其是數(shù)字信號處理器(DSP)的出現(xiàn),基于數(shù)字控制的現(xiàn)代交流調(diào)速系統(tǒng)可以應(yīng)用復雜的控制策略,實現(xiàn)高速動態(tài)響應(yīng)功能。在以DSP為控制核心的異步電機驅(qū)動系統(tǒng)中,要實時觀測驅(qū)動系統(tǒng)在運行中的數(shù)據(jù)變量,根據(jù)需要對程序進行控制,就需要應(yīng)用DSP中的串口通訊接口與上位機" title="上位機">上位機——控制面板或者計算機系統(tǒng)進行通訊。本文針對一套基于DSP的異步電機變頻調(diào)速驅(qū)動系統(tǒng),設(shè)計了DSP與上位機系統(tǒng)通訊的硬件電路,編寫了通訊的匯編程序,實現(xiàn)了DSP與上位機的異步通訊。在調(diào)試階段,為了方便調(diào)試,在WINDOWS環(huán)境下,在PC機上利用VB編寫了通訊控制程序,實現(xiàn)了DSP與上位PC機的通訊。通過多種條件下的運行調(diào)試,證明通訊可靠,運行穩(wěn)定。?
1 變頻調(diào)速系統(tǒng)?
??? 近年來交流調(diào)速領(lǐng)域中最活躍、發(fā)展最快的是變頻調(diào)速技術(shù),它是交流調(diào)速的基礎(chǔ)和主干內(nèi)容。變頻調(diào)速對于提高電機工作效率和工作質(zhì)量以及節(jié)約能源等,都起著十分重要的作用。本文以AD公司的專用DSP芯片ADMC328為控制核心,實現(xiàn)異步電機的變頻調(diào)速。?
??? ·調(diào)速系統(tǒng)的硬件電路分為四個主要模塊:電源模塊、控制器模塊、功率模塊以及通訊模塊。?
??? 電源模塊負責為其它模塊提供相應(yīng)的電源。它的輸入是交流220V,由主控板或其它交流電源提供;輸出是三個直流電源,為逆變器提供直流300V和直流15V,為控制器部分提供直流5V。?
??? 控制器模塊的主要功能是實現(xiàn)空間矢量脈沖寬度調(diào)制(SVPWM),對直流300V母線進行電壓和電流檢測,與外界通訊。?
??? 功率模塊的實質(zhì)是一個10A/600V的三相逆變器,它受控于控制器輸出的PWM信號,為異步電動機(IM)提供三相正弦電流。?
??? 通訊模塊是變頻驅(qū)動板與主控板以及UART設(shè)備通訊的通道。通訊模塊是保證上位機與下位機準確快速聯(lián)系的重要環(huán)節(jié),是確保系統(tǒng)可靠運行的重要因素。?
??? 變頻調(diào)速系統(tǒng)的控制框圖如圖1所示。?
?
?
2 ADMCF328及其串口簡介?
??? ADMCF328芯片是美國AD(ANALOG DEVICES)公司生產(chǎn)的一種低價位、基于DSP的單片控制器,適合于控制交流感應(yīng)電機、永磁同步電機、無刷直流電機和開關(guān)磁阻電機。它包括一個20MIPS的定點DSP內(nèi)核和一整套電機控制外設(shè),適于開發(fā)快速有效的電機控制器[1]。?
??? ADMCF328提供有同步串行通訊口,支持多種串行通訊協(xié)議,并且可以在多處理器系統(tǒng)中直接互連各個處理器。每個串口包括五個引腳:?
??? SCLK (串行時鐘),?
??? RFS (接收幀同步),?
??? TFS (發(fā)送幀同步),?
??? DR (串行數(shù)據(jù)接收" title="數(shù)據(jù)接收">數(shù)據(jù)接收),?
??? DT (串行數(shù)據(jù)發(fā)送)。?
??? 串口有獨立的發(fā)送和接收部分,并且每個部分都有一個寄存器能把數(shù)據(jù)字從處理器移進或移出,雙緩沖區(qū)技術(shù)為串口服務(wù)提供了附加時間。串口可以使用外部時鐘或在內(nèi)部生成時鐘,頻率范圍寬,最小為0Hz,最大為6.144MHz。串口可以支持串行字長從3位到16位的數(shù)據(jù)傳輸。串口還可使用可以靈活控制的幀同步信號。接收和發(fā)送一個完整的數(shù)據(jù)字之后,可以產(chǎn)生一個中斷。?
??? 發(fā)送數(shù)據(jù)時,由TX寄存器實現(xiàn)TFS信號,表明傳送開始,寫入TX寄存器的每個值都會被傳送到內(nèi)部發(fā)送移位寄存器中,然后從MSB開始發(fā)送各位,每一位都是在SCLK上升沿移出的;接收數(shù)據(jù)時,接收到一個完整的字后,寫入RX寄存器,同時產(chǎn)生接收中斷。?
3 串行通訊接口電路?
??? 串行通訊接口包括數(shù)據(jù)傳輸線DT和數(shù)據(jù)接收線DR。為了保證產(chǎn)生中斷,DR必須和RFS接在一起。這樣,可以通過對串口控制寄存器(Sport Control Register)的值進行修改,來控制數(shù)據(jù)接收幀同步只對串行通信中的第一個字節(jié)有效。也就是說,將DR和RFS連在一起之后,在進行數(shù)據(jù)傳輸?shù)臅r候,在數(shù)據(jù)傳輸開始的時刻,就是第一個字節(jié)的起始位到達的時刻,RFS會對其進行判斷,產(chǎn)生一個數(shù)據(jù)接收中斷,從而達到異步通信的效果。?
??? 當需要把TTL(0V和+5V)電平轉(zhuǎn)換為UART電平(-10V和+10V)時,比如說要和PC串口(RS/232)進行通訊時,就要添加一些硬件電路。如圖2所示,使用了AD7306BR轉(zhuǎn)換電平,由圖中可以看出PC串口的3(TD)管腳即數(shù)據(jù)發(fā)送管腳,經(jīng)過AD7306BR之后,電平由-10V~+10V轉(zhuǎn)換到0~+5V連接到DSP串口的數(shù)據(jù)接收(DR)管腳;同理DSP串口的數(shù)據(jù)發(fā)送(DT)管腳經(jīng)過AD7306BR完成電平轉(zhuǎn)換接到PC串口的2(RD)管腳即數(shù)據(jù)接收管腳上。在完成電平轉(zhuǎn)換之后,還要使用HCPL2630將DSP與電平轉(zhuǎn)換電路隔離。?
?
?
4 通訊協(xié)議及軟件設(shè)計?
4.1 通訊協(xié)議?
??? ?通信協(xié)議采用異步串行通訊方式,波特率為2400bps,數(shù)據(jù)包括8位數(shù)據(jù)位、1個奇校驗位、1個低電平起始位和1個高電平停止位;變頻驅(qū)動板與主控板的通訊由3個字節(jié)組成:同步碼0XFF、命令碼和命令參數(shù);主控板為主設(shè)備,變頻驅(qū)動板為從設(shè)備,變頻驅(qū)動板接到命令后立即應(yīng)答,50ms無應(yīng)答則重發(fā)命令,1s無應(yīng)答則出錯誤報警。
??? 通訊數(shù)據(jù)格式如表1所示。?
?
?
4.2 實現(xiàn)方法?
??? 由于ADMCF328只有一個同步串口,為了實現(xiàn)通訊協(xié)議的異步串行通訊,本文采用了一種使用同步串口作為異步通訊接口的方法。將串口的同步時鐘頻率設(shè)定為通訊協(xié)議波特率(2400)的三倍(7200),這樣,命令字節(jié)中的每一位(bit)將被讀取三次,取中間一次作為正確結(jié)果,用以保證消除上升、下降沿對通訊命令讀取造成的誤差;為了保證異步通訊,硬件上要求將數(shù)據(jù)接收線DR和RFS接在一起,以便產(chǎn)生異步中斷。?
??? 由于是三倍頻,所以每一位(bit)需要發(fā)送三次(接收時亦按三個字節(jié)接收),每一個命令字節(jié)共包括11位:一個起始位、八個數(shù)據(jù)位、一個奇偶校驗位和一個停止位,所以共需33位,而串口傳輸數(shù)據(jù)的寄存器TX和RX只有32位,所以在接收數(shù)據(jù)的過程中,最后的停止位只接收2/3次,由于是三分頻,只讀取中間一部分的數(shù)據(jù),所以不影響接收的正確性;在發(fā)送數(shù)據(jù)的時候,最后停止位只能發(fā)送2/3次,因此發(fā)送一個完整的命令字節(jié)后,補發(fā)一個0XFF來補齊停止位,以保證通訊完整,和上位機正常通訊。?
??? 發(fā)送和接收數(shù)據(jù)均采用中斷方式。由于串口接收數(shù)據(jù)采用的是雙緩沖的方式,由硬件實現(xiàn)數(shù)據(jù)的收發(fā),因此不會受高級中斷的影響而使通訊失敗。只要在發(fā)數(shù)據(jù)的兩條指令前屏蔽其它中斷,一來可以保證通訊的準確性,二來又不會對PWM同步中斷造成很大影響,從而保證對電機的控制。?
4.3 軟件流程?
??? 確定了通訊方式以后,即可根據(jù)通訊協(xié)議設(shè)計通訊程序,圖3是串行異步通訊程序的流程圖。
?
?
4.4 同步與異步串行通信比較?
??? 異步通信其實是依賴于同步性的,字符到達可以不同步,但每個字符的接收要通過起始位使之同步。事實上,異步和同步通信之間的基本差別只是程度不同,前者在每個字符中都需要同步位,而后者則經(jīng)常需要一個同步字節(jié)。當效率變?yōu)轭^等重要,并且數(shù)據(jù)可以用一個精確的時間控制時,連續(xù)位流方式的同步傳送要比異步傳送優(yōu)越。然而即使完全的同步化能夠?qū)崿F(xiàn),系統(tǒng)仍然在許多方面產(chǎn)生故障,因為它需要的是不可中斷的數(shù)據(jù)流,換句話說,傳送字符串數(shù)據(jù)的技術(shù)沒有辦法將一個字符與另一個字符分離。所以,即使環(huán)境理想,如果字符不能按照指定時間到達接收方的應(yīng)用系統(tǒng)。純粹的同步是不能實現(xiàn)的[3],所以可靠準確的數(shù)據(jù)傳輸需要使用異步通信的方法,并且由于DSP速度大大提高,增加了起始位、停止位和奇偶校驗位的異步通信方式并不對數(shù)據(jù)處理造成過多的影響。因此,本文工作中采用了串行異步通信的方式。?
??? 采用這種方法的特點和實際意義如下:?
??? (1)利用同步串口實現(xiàn)了異步通信,充分利用了DSP的資源,使DSP可以對異步電機的調(diào)速控制和與上位機的通訊同時處理,節(jié)約了成本。?
??? (2)由于這套異步電機調(diào)速系統(tǒng)主要應(yīng)用于家電中,因此功率不大,線路不長,本方法采用的設(shè)定三倍頻率同步時鐘以及合適的波特率,保證了通訊抗干擾能力,使得運行可靠。?
??? 本文提出的利用ADMCF328芯片的同步串口進行串行異步通訊的方法,通過對ADMCF328芯片的同步串口進行軟件編程,實現(xiàn)了異步通訊。由于采用了三分頻的方法,讀取數(shù)據(jù)準確,雙工串行異步通訊效果良好。在驅(qū)動板與主控板連接調(diào)試之前,利用VB編寫了通訊監(jiān)控程序,通過硬件電平轉(zhuǎn)換電路使DSP與PC機之間進行通訊,收發(fā)數(shù)據(jù)準確,通訊良好,而且驅(qū)動板帶動異步電機工作,運行正常。將主控板與驅(qū)動板連接整機調(diào)試,通訊正常,電機運行正常。?
??? 總之,從軟件到硬件的實施方案,通過實驗以及應(yīng)用,證明了這個方法的可行性和可靠性。?
參考文獻?
1 ADSP-2100 Family User’s Manual, Third Edition. Analog??Devices Inc, 1995?
2 Using Serial Port0 of the ADMC331 as a UART Interface. Analog Devices Inc, 2000?
3 Mark Nelson. 串行通信開發(fā)指南. 北京:中國水利水電出版社,2000?
4 Mircevski S. DSP Application in AC Drives. Mediterranean: Electrotechnical Conference, 2000;2(10):778~781?