《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動(dòng)態(tài) > 基于DSP的串行通信在變頻調(diào)速系統(tǒng)中的應(yīng)用

基于DSP的串行通信在變頻調(diào)速系統(tǒng)中的應(yīng)用

2008-11-14
作者:宋文超 張春朋 林 飛 陳壽孫

??? 摘? 要: 介紹了基于專用DSP芯片ADMC328的異步電機(jī)調(diào)速系統(tǒng)" title="調(diào)速系統(tǒng)">調(diào)速系統(tǒng)中的主控部分與驅(qū)動(dòng)部分之間的通訊。詳細(xì)介紹了通訊的硬件接口電路、通訊協(xié)議" title="通訊協(xié)議">通訊協(xié)議以及軟件實(shí)現(xiàn)方法,實(shí)現(xiàn)了利用DSP的同步串口" title="串口">串口進(jìn)行異步通訊的方法,并確保通訊準(zhǔn)確可靠。實(shí)驗(yàn)結(jié)果證明了其可靠性。?

??? 關(guān)鍵詞: 數(shù)字信號(hào)處理器? 串行異步通訊? 交流調(diào)速系統(tǒ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í)時(shí)觀測驅(qū)動(dòng)系統(tǒng)在運(yùn)行中的數(shù)據(jù)變量,根據(jù)需要對程序進(jìn)行控制,就需要應(yīng)用DSP中的串口通訊接口與上位機(jī)" title="上位機(jī)">上位機(jī)——控制面板或者計(jì)算機(jī)系統(tǒng)進(jìn)行通訊。本文針對一套基于DSP的異步電機(jī)變頻調(diào)速驅(qū)動(dòng)系統(tǒng),設(shè)計(jì)了DSP與上位機(jī)系統(tǒng)通訊的硬件電路,編寫了通訊的匯編程序,實(shí)現(xiàn)了DSP與上位機(jī)的異步通訊。在調(diào)試階段,為了方便調(diào)試,在WINDOWS環(huán)境下,在PC機(jī)上利用VB編寫了通訊控制程序,實(shí)現(xiàn)了DSP與上位PC機(jī)的通訊。通過多種條件下的運(yùn)行調(diào)試,證明通訊可靠,運(yùn)行穩(wěn)定。?

1 變頻調(diào)速系統(tǒng)?

??? 近年來交流調(diào)速領(lǐng)域中最活躍、發(fā)展最快的是變頻調(diào)速技術(shù),它是交流調(diào)速的基礎(chǔ)和主干內(nèi)容。變頻調(diào)速對于提高電機(jī)工作效率和工作質(zhì)量以及節(jié)約能源等,都起著十分重要的作用。本文以AD公司的專用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),對直流300V母線進(jìn)行電壓和電流檢測,與外界通訊。?

??? 功率模塊的實(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及其串口簡介?

??? ADMCF328芯片是美國AD(ANALOG DEVICES)公司生產(chǎn)的一種低價(jià)位、基于DSP的單片控制器,適合于控制交流感應(yīng)電機(jī)、永磁同步電機(jī)、無刷直流電機(jī)和開關(guān)磁阻電機(jī)。它包括一個(gè)20MIPS的定點(diǎn)DSP內(nèi)核和一整套電機(jī)控制外設(shè),適于開發(fā)快速有效的電機(jī)控制器[1]。?

??? ADMCF328提供有同步串行通訊口,支持多種串行通訊協(xié)議,并且可以在多處理器系統(tǒng)中直接互連各個(gè)處理器。每個(gè)串口包括五個(gè)引腳:?

??? SCLK (串行時(shí)鐘),?

??? RFS (接收幀同步),?

??? TFS (發(fā)送幀同步),?

??? DR (串行數(shù)據(jù)接收" title="數(shù)據(jù)接收">數(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。串口可以支持串行字長從3位到16位的數(shù)據(jù)傳輸。串口還可使用可以靈活控制的幀同步信號(hào)。接收和發(fā)送一個(gè)完整的數(shù)據(jù)字之后,可以產(chǎn)生一個(gè)中斷。?

??? 發(fā)送數(shù)據(jù)時(shí),由TX寄存器實(shí)現(xiàn)TFS信號(hào),表明傳送開始,寫入TX寄存器的每個(gè)值都會(huì)被傳送到內(nèi)部發(fā)送移位寄存器中,然后從MSB開始發(fā)送各位,每一位都是在SCLK上升沿移出的;接收數(shù)據(jù)時(shí),接收到一個(gè)完整的字后,寫入RX寄存器,同時(shí)產(chǎn)生接收中斷。?

3 串行通訊接口電路?

??? 串行通訊接口包括數(shù)據(jù)傳輸線DT和數(shù)據(jù)接收線DR。為了保證產(chǎn)生中斷,DR必須和RFS接在一起。這樣,可以通過對串口控制寄存器(Sport Control Register)的值進(jìn)行修改,來控制數(shù)據(jù)接收幀同步只對串行通信中的第一個(gè)字節(jié)有效。也就是說,將DR和RFS連在一起之后,在進(jìn)行數(shù)據(jù)傳輸?shù)臅r(shí)候,在數(shù)據(jù)傳輸開始的時(shí)刻,就是第一個(gè)字節(jié)的起始位到達(dá)的時(shí)刻,RFS會(huì)對其進(jìn)行判斷,產(chǎn)生一個(gè)數(shù)據(jù)接收中斷,從而達(dá)到異步通信的效果。?

??? 當(dāng)需要把TTL(0V和+5V)電平轉(zhuǎn)換為UART電平(-10V和+10V)時(shí),比如說要和PC串口(RS/232)進(jìn)行通訊時(shí),就要添加一些硬件電路。如圖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è)計(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無應(yīng)答則重發(fā)命令,1s無應(yīng)答則出錯(cuò)誤報(bào)警。

??? 通訊數(shù)據(jù)格式如表1所示。?

?

?

4.2 實(shí)現(xiàn)方法?

??? 由于ADMCF328只有一個(gè)同步串口,為了實(shí)現(xiàn)通訊協(xié)議的異步串行通訊,本文采用了一種使用同步串口作為異步通訊接口的方法。將串口的同步時(shí)鐘頻率設(shè)定為通訊協(xié)議波特率(2400)的三倍(7200),這樣,命令字節(jié)中的每一位(bit)將被讀取三次,取中間一次作為正確結(jié)果,用以保證消除上升、下降沿對通訊命令讀取造成的誤差;為了保證異步通訊,硬件上要求將數(shù)據(jù)接收線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ù)的過程中,最后的停止位只接收2/3次,由于是三分頻,只讀取中間一部分的數(shù)據(jù),所以不影響接收的正確性;在發(fā)送數(shù)據(jù)的時(shí)候,最后停止位只能發(fā)送2/3次,因此發(fā)送一個(gè)完整的命令字節(jié)后,補(bǔ)發(fā)一個(gè)0XFF來補(bǔ)齊停止位,以保證通訊完整,和上位機(jī)正常通訊。?

??? 發(fā)送和接收數(shù)據(jù)均采用中斷方式。由于串口接收數(shù)據(jù)采用的是雙緩沖的方式,由硬件實(shí)現(xiàn)數(shù)據(jù)的收發(fā),因此不會(huì)受高級中斷的影響而使通訊失敗。只要在發(fā)數(shù)據(jù)的兩條指令前屏蔽其它中斷,一來可以保證通訊的準(zhǔn)確性,二來又不會(huì)對PWM同步中斷造成很大影響,從而保證對電機(jī)的控制。?

4.3 軟件流程?

??? 確定了通訊方式以后,即可根據(jù)通訊協(xié)議設(shè)計(jì)通訊程序,圖3是串行異步通訊程序的流程圖。

?

?

4.4 同步與異步串行通信比較?

??? 異步通信其實(shí)是依賴于同步性的,字符到達(dá)可以不同步,但每個(gè)字符的接收要通過起始位使之同步。事實(shí)上,異步和同步通信之間的基本差別只是程度不同,前者在每個(gè)字符中都需要同步位,而后者則經(jīng)常需要一個(gè)同步字節(jié)。當(dāng)效率變?yōu)轭^等重要,并且數(shù)據(jù)可以用一個(gè)精確的時(shí)間控制時(shí),連續(xù)位流方式的同步傳送要比異步傳送優(yōu)越。然而即使完全的同步化能夠?qū)崿F(xiàn),系統(tǒng)仍然在許多方面產(chǎn)生故障,因?yàn)樗枰氖遣豢芍袛嗟臄?shù)據(jù)流,換句話說,傳送字符串?dāng)?shù)據(jù)的技術(shù)沒有辦法將一個(gè)字符與另一個(gè)字符分離。所以,即使環(huán)境理想,如果字符不能按照指定時(shí)間到達(dá)接收方的應(yīng)用系統(tǒng)。純粹的同步是不能實(shí)現(xiàn)的[3],所以可靠準(zhǔn)確的數(shù)據(jù)傳輸需要使用異步通信的方法,并且由于DSP速度大大提高,增加了起始位、停止位和奇偶校驗(yàn)位的異步通信方式并不對數(shù)據(jù)處理造成過多的影響。因此,本文工作中采用了串行異步通信的方式。?

??? 采用這種方法的特點(diǎn)和實(shí)際意義如下:?

??? (1)利用同步串口實(shí)現(xiàn)了異步通信,充分利用了DSP的資源,使DSP可以對異步電機(jī)的調(diào)速控制和與上位機(jī)的通訊同時(shí)處理,節(jié)約了成本。?

??? (2)由于這套異步電機(jī)調(diào)速系統(tǒng)主要應(yīng)用于家電中,因此功率不大,線路不長,本方法采用的設(shè)定三倍頻率同步時(shí)鐘以及合適的波特率,保證了通訊抗干擾能力,使得運(yùn)行可靠。?

??? 本文提出的利用ADMCF328芯片的同步串口進(jìn)行串行異步通訊的方法,通過對ADMCF328芯片的同步串口進(jìn)行軟件編程,實(shí)現(xiàn)了異步通訊。由于采用了三分頻的方法,讀取數(shù)據(jù)準(zhǔn)確,雙工串行異步通訊效果良好。在驅(qū)動(dòng)板與主控板連接調(diào)試之前,利用VB編寫了通訊監(jiān)控程序,通過硬件電平轉(zhuǎn)換電路使DSP與PC機(jī)之間進(jìn)行通訊,收發(fā)數(shù)據(jù)準(zhǔn)確,通訊良好,而且驅(qū)動(dòng)板帶動(dòng)異步電機(jī)工作,運(yùn)行正常。將主控板與驅(qū)動(dòng)板連接整機(jī)調(diào)試,通訊正常,電機(jī)運(yùn)行正常。?

??? 總之,從軟件到硬件的實(shí)施方案,通過實(shí)驗(yàn)以及應(yīng)用,證明了這個(gè)方法的可行性和可靠性。?

參考文獻(xiàn)?

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?

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。