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